Enforcing access control over data streams
计算机专业英语

计算机专业英语1、 is the ________model for .NET-based applications. (data access)A、data miningB、data achieveC、data processD、data access2、____________, such as those supplied for OLE DB and ODBC, allow you to use d ata libraries designed for earlier data access technologies.A、Bridge providersB、Native providersC、D、3、__________, such as the SQL Server and Oracle providers, typically offer perfo rmance improvements due, in part, to the fact that there is one less layer of abstraction.A、Native providersB、Bridge providersC、D、4、if we want to retrieve data from the database with SQL,we should use the comand ofA、sel_ectB、upd_ateC、del_eteD、ins_ert5、In SQL,______causes an object (a table, for example) to be created within the dat abase.A、ALTERB、dropC、createD、TRUNCATE第二题、多项选择题(每题2分,5道题共10分)1、Database connection ________allows an application to reuse an existing connecti on from a pool instead of repeatedly establishing a new connection with the database.A、poolingB、pondC、connectionD、link2、Security is usually enforced through __________________.A、data storingB、auditingC、encryptionD、access controlE、data retrieving3、 relies on the services of .NET data providers.There areA、ConnectionB、CommandC、DataReaderD、Data Adapter4、The core of SQL is formed by a command language that allows the ________ and per forming management and administrative functions.A、retrieval of dataB、ins_ertion of dataC、updating of dataD、deletion of dataE、process of data5、The types (classes, structs, enums, and so on) associated with each .NET data provider a re located in their own namespaces are:A、System.Data.SqlClient. Contains the SQL Server .NET Data Providertypes.B、System.Data.OracleClient. Contains the Oracle .NET Data ProviderC、System.Data.OleDb. Contains the OLE DB .NET Data Provider types.D、System.Data.Odbc. Contains the ODBC .NET Data Provider types.E、System.Data. Contains provider-independent types such as the DataSet and DataTable.第三题、判断题(每题1分,5道题共5分)1、DBMS are categorized according to the database model that they support.正确错误2、A computer database relies upon DBMS to organize the storage of data.正确错误3、All of these databases can not take advantage of indexing to increase their speed.正确错误4、Database security denotes the system, processes, and procedures that protect a database software from unintended activity.正确错误5、Enforcing security is one of the major tasks of the DBA.正确第一题、单项选择题(每题1分,5道题共5分)1、A ________is a set of rules that controls the interaction of different devices in a network or internetwork.A、modelB、protocolC、dialogD、query2、A(n) ________is a connecting device that only regenerates the signal.A、hubB、repeaterC、routerD、switch3、Whereas a repeater operates only in the physical layer of the OSI model, a bridge operat es in both the physical layer and the ________ layer of the OSI model.A、Transport LayerB、Network LayerC、data-linkD、Physical Layer4、A(n) ________ is usually a computer installed with the necessary software and al lows two networks, each with a completely different set of protocols, to communicate.A、hubB、gatewayC、switchD、router5、The distinction between the two terms gateway and ________ is disappearing. They are now used interchangeably.A、hubB、routerC、swtichD、gateway第二题、多项选择题(每题2分,5道题共10分)1、The equipment ______.A、manipulates digital information internally in serial formB、manipulates digital information internally in word unitsC、transfers the number of bits in parallelD、transfers the number of bits in serial form2、DTE is ______.A、Digital T-carrierB、data terminal equipmentC、satelliteD、the last piece of equipment that belonged to the subscriber in a data link system3、There are AB_ between the DTEs.A、the modemB、communications equipmentC、digital-to-analog converterD、will be replaced by an upd_ated standard4、__________provides transparent transfer of data between end users, providing reliable data transfer servicesto the upper layers.A、The Transport LayerB、Session LayerC、Presentation LayerD、Application Layer正确错误TCP means it is on the network layer and IP means it is on the transport layer separatel正确错误The four topologies in common use are star, router, ring and hub.正确错误Three techniques have been adopted for use of the medium access control in the LANs.正确错误Control token is the only way of controlling access to a shared transmission medium.正确错误A BC DTo access a page on the WWW, one needs a ________A BC D3、_____ is an architectural framework.A、httpB、wwwC、ftpD、dns4、_____ is built around hypertext and hypermedia.A、DNSB、HTTPC、The WebD、FTP5、__________is a network protocol used to transfer data from one computer to ano ther through a network such as the Internet.A、SMTPB、HttpC、DNSD、FTP第二题、多项选择题(每题2分,5道题共10分)1、Hypermedia include ( )A、soundsB、video clipsC、textD、flashE、vidoeF、images2、The World Wide Web also subsumes previous Internetinformation systems such as ( ).A、GopherB、TelnetC、FTPD、Ftp3、The Internet carries various information resources and services, such as ______________________________ and the inter-linked hypertext documentsA、electronic mailB、online chatC、file transferD、file sharingE、online gamingF、talking4、The World Wide Web is a huge set of ________, linked by hyperlinks and URLs.A、interlinked documentsB、imagesC、flashD、all kinds of dataE、pages5、The web browsers which is normal used, such as________________.A、Internet ExplorerB、FirefoxC、Apple SafariD、OpraE、ICQ第三题、判断题(每题1分,5道题共5分)1、Because the Internet is made up of many diverse computers, so together they work like one world-wide computer system.正确错误2、The World Wide Web ties the information together into a big collection of interactive mu ltimedia resources.正确错误3、The surfing is you can sel_ect paths to browse online resource.正确错误If a person read a hypermedia document about mobilephones, then he might sel正确错误Previously the Web provides a wealth of additional capabilities.正确错误A BC DAccording to Intel,there are _____________A BC DA companyˊs ability to deploy and support customer-orientedA BC D4、When most people think of opening a Web business,the first thing that springs to mind is selling products or ____________online.A、qualityB、servicesC、consciousnessD、5、A Web site is often more effective as a(n) _______tool than a selling tool.A、PoliticB、TechnicalC、MarketingD、Electronical第二题、多项选择题(每题2分,5道题共10分)1、which is the type of electronic commerce in the following choiceA、B2BB、B2CC、C2C2、Electronic commerce that is conducted between businesses is referred to as business-to-b usiness orA、C2CB、C2BC、B2BD、e-commerce3、Electronic commerce that is conducted between businesses and consumers, on the other han d, is referred to asA、B2CB、C2CC、B2BD、e-commerce4、Electronic commerce may be defined as the entire set of processes that suport _____________activities on a(n) ________ and involve information analysis.A、commercial,networkB、society,humanC、personal,society5、Electronic payments include ___________________.A、digital currenciesB、credit card paymentsC、electronic checksD、cash payment第三题、判断题(每题1分,5道题共5分)1、Online shopping is the process consumers go through to purchase products or services ove r the Internet.正确错误2、In general, shopping has always catered to middle class and upper class women.正确错误3、Electronic money is also called digital cash or electronic token正确错误4、Online content providers make money in two ways:advertisements and selling.正确错误5、Designers of online shops should consider the effects of information load.正确错误A BC DAnti-Virus protects your computer from viruses byA BC D3、A virus is a _________ .A、beastB、computerC、bad manD、program4、In 2000, the number of viruses topped ( ).A、500B、1000C、7500D、500005、The Whale will create ( ) different versions of itself when it infects files.A、30B、31C、32D、33第二题、多项选择题(每题2分,5道题共10分)1、( )is a type of executable file .A、COM fileB、TXT fileC、JPG fileD、EXE file2、Similar to viruses, you can also find malicious code in ( ).A、Trojan HorsesB、wormsC、logic bombsD、Microsoft Word Documents3、( ) maybe a certain cause that some viruses infect upon.A、a dayB、a timeC、an external event on your PCD、a counter within the virus4、If a virus simply reproduce and have no cause for an attack phase, but it will still ( ) without your permission.A、stealing storageB、pilfer CPU cyclesC、del_ete filesD、play music5、which is the threat to computer security in the following choices ?A、Computer CriminalsB、Computer CrimeC、earthquakeD、Human Errors第三题、判断题(每题1分,5道题共5分)1、Computer security is a branch of technology known as information security as applied to computers.正确错误2、Michelangelo is a file sector.正确错误3、Computer virus is remote from us.正确错误4、Computer virus may affect the your phisical health .正确错误5、The author thinks that understanding how an attacker approaches your computer system can help you protect it 正确错误。
华三路由器软件升级指南

Oracle数据库连接的failover配置

Failover的连接配置刘伟以下内容参考了官方文档。
这里的failover,是指应用发起一个数据库连接以后,如果工作过程中该连接所连到的实例发生了故障,连接可以自动切换到正常节点,从而最小化对业务的影响。
根据Oracle的介绍,我们有两种连接方式可以实现数据库连接的failover: TAF和FCF 1. TAFTAF的全称是Transparent Application Failover,即透明应用故障切换。
按照官方文档的描述,TAF让Oracle Net将一个失效的连接从故障点转移到另一个监听上,用户能使用这个新的连接来继续未完成的工作。
TAF可以配置为使用client端的(Transparent Network Substrate)TNS连接字符串来连接,或者使用server端的服务。
如果两种方式同时使用,则使用server端的服务配置。
TAF可以工作在两种模式下:session failover和select failover。
前者在failover时会重建失败的连接,后者则能够继续进程中未完成的查询(如果failover前一个session正在从一个游标中获取数据,则新的session将在相同的snapshot下重新运行select语句,并返回余下的行)。
如果failover时,session执行了DML操作且未提交,则failover后,若不执行rollback 回滚而执行新的操作,将会收到一条错误信息ORA-25402: transaction must roll back TAF在dataguard中使用,可以自动进行failover一个典型的使用了TAF的TNS连接串如下:NEWSDB =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = rac2-vip)(PORT = 1521))(LOAD_BALANCE = yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = dyora)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 180)(DELAY = 5))))2. FCFFCF全称是Fast Connect Failover,快速连接故障切换。
运行程序提示access violation at address的解决方法

ess836556F8(004096da).Readofaddress836556F8 (00401000)”。作为一个Delphi程序开发者
,遇到这种错误的机会比其他用户更多(^_^)。 一旦Windows要在它被分配的存储区之外写数据信息,它 就会覆盖其他程序甚至操作系统的命令
或数据。一旦发生了这种情况,操作系统将会瘫痪或者 以某种形式关闭,你必须重新启动计算机。例如,在 WindowsNT/2000下一个程序遇到这种
y:=10/Zero; except onE:EZeroDividedo MessageDlg(’不能用0做除数!’,mtError,
[mbOK],0); E.free.////Accessviolation错误将会出现 end; 5.检索一个空字符串 一个空字符串
删除工作。因为默认情况下,所有的窗体(自动创建的) 都属于Application对象。当一个应用程序结束时,它释放 了Application对象
,也就释放了所有窗体。例如,如果你在程序开始时自 动创建了两个窗体(Form1/Unit1和Form2/Unit2),下面 的代码就会导致Acc
essviolation错误的出现: unitUnit1; ... usesunit2; ... procedureTForm1.
致Accessviolation。 如果你在Debugger选项窗口使“StoponDelphiExceptions” 生效,那么就会弹出下
面的信息: ThemessagestatesthattheEAccessViolationhasoccurred.TheE AccessVi
olationistheexceptionclassforinvalidmemoryaccesserrors. 这是你在设计程序时将会看到
SANGFOR_AC_v11.0版本_外置日志中心日志迁移测试指导书

测试指导书SANGFOR_AC_v11.0版本_外置日志中心日志迁移测试指导书深信服科技有限公司目录1 介绍 (3)1.1 文档目的 (3)2 需求背景 (3)3 实现方式 (3)4 测试环境 (3)4.1 测试条件 (3)5 测试过程 (3)6 测试效果 (12)7 注意事项 (12)1 介绍1.1 文档目的为了方便快速达到功能测试效果,减少现场测试出现问题机率。
2 需求背景客户自己的服务器上安装并使用了我司的外置日志中心,最早安装时,日志和附件可能都保存在C盘某路径下,后续日志增多,C盘存储不够,客户想将所有日志迁移到新的磁盘或新的外置服务器上使用,保证新旧日志不受影响。
3 实现方式1.通过重装DC程序实现快速迁移2.通过修改DC配置文件路径实现快速迁移4 测试环境4.1 测试条件一台安装了AC11.0外置日志中心的服务器,并有空闲可供迁移的磁盘。
5 测试过程方法1.保留日志重装外置日志中心程序(推荐)1.客户原来日志存放在C盘DClog下,现在由于C盘存储不够,想全部迁移到服务器上的D盘下面2. 直接选择卸载外置日志中心程序3.卸载的时候,选择保留数据4.卸载完成后,在之前的日志保存路径下可以看到保留下来的日志5.重装外置日志中心程序,重新选择新的存储路径6.将旧日志迁入到新的路径下即可将原C盘下的DClog下的所有文件夹迁移到新的D盘目录的DClog下即可。
1.停掉外置日志中心所有服务2.修改日志中心配置文件中的路径信息一共修改三个配置文件:第一个,/外置日志中心程序安装路径/mysql_path.ini第二个,/外置日志中心程序安装路径/dc/config/sys_config.js第三个,/外置日志中心程序安装路径/ldb/bin/mdb.ini3. 将旧日志迁移到新的路径下4.启动外置日志中心所有服务日志迁移后,旧的日志可以正常查询,新的日志可以正常同步查询。
如图,迁移后,旧日志可以正常查询,说明迁移成功。
fcc请求数据规则 -回复

fcc请求数据规则-回复Federal Communications Commission (FCC) is an independent agency in the United States government that is responsible for regulating communication by radio, television, wire, satellite, and cable across the nation. The agency plays a crucial role in shaping the rules and guidelines that govern the use of these communication mediums. In this article, we will delve into the data rules that the FCC enforces and explore how they impact various aspects of communication in the United States.1. What is the FCC's role in data regulation?The FCC has a multifaceted role when it comes to data regulation. Its primary responsibility is ensuring that data transmitted through various communication channels comply with regulatory requirements. The agency's data rules cover a wide range of areas, including privacy protection, net neutrality, broadband access, data usage transparency, and cybersecurity.2. Privacy protection and data securityThe FCC recognizes the importance of safeguarding personalinformation and has implemented rules to protect consumer privacy. These regulations require service providers to obtain consumer consent before collecting or sharing their personal data. Additionally, the rules enforce the proper handling and security of data to prevent unauthorized access or breach. By setting standards for privacy protection and data security, the FCC ensures that consumers' personal information remains confidential and secure.3. Net neutrality and data equalityNet neutrality is a fundamental principle that ensures all internet traffic is treated equally, without discrimination or preference given to certain data packets or services. The FCC's net neutrality rules aim to prevent internet service providers from blocking or throttling specific websites or services. These regulations promote fair and open access to information and prevent any undue influence or control over what internet users can access or use. By upholding net neutrality, the FCC ensures that data equality prevails, allowing for a level playing field for all online services and content.4. Broadband access and bridging the digital divideAccess to high-speed internet is crucial in the modern world, as it facilitates communication, education, entertainment, commerce, and more. The FCC plays a pivotal role in ensuring all Americans have access to affordable broadband service. The agency enforces rules to promote broadband deployment in underserved areas and subsidize internet access for low-income households. By bridging the digital divide, the FCC aims to empower communities and individuals to fully participate in the digital age, regardless of their location or economic circumstances.5. Data usage transparency and consumer rightsThe FCC mandates that service providers be transparent about their data usage policies. They require companies to disclose information regarding data caps, throttling practices, and any other practices that may impact user experience or access. This information allows consumers to make informed decisions about their choice of service provider and ensures that they are aware of any potential limitations or conditions imposed on their data usage.6. Cybersecurity and data protectionIn an era where cyber threats are ever-present, the FCC recognizes the importance of ensuring the security and integrity of communication systems and networks. The agency works to set standards and guidelines for telecommunications providers to protect their infrastructure from cyber attacks and breaches. By implementing cybersecurity measures and encouraging best practices, the FCC helps safeguard sensitive data, preventing potential disruptions or compromises that could have far-reaching consequences for individuals and businesses alike.In conclusion, the FCC's data rules are essential in ensuring the privacy, equality, transparency, accessibility, and security of communication data and services in the United States. By enforcing regulations in these areas, the agency plays a crucial role in protecting consumer rights, promoting fair competition, and fostering an environment that encourages innovation, growth, and connectivity.。
datarule用法 -回复

datarule用法-回复Data rules are an essential component of data governance and management. They are a set of guidelines or instructions that define how data should be collected, stored, processed, and utilized within an organization. In this article, we will explore the concept of data rules, their importance, and how they can be implemented effectively.1. Introduction to Data Rules (100-150 words)Data rules, also known as data governance rules or data management rules, are predefined guidelines that determine how data should be managed within an organization. These rules are typically developed based on industry standards, legal requirements, and organizational policies and objectives. Data rules help ensure data quality, consistency, and integrity, and they play a crucial role in maintaining data accuracy and reliability.2. The Importance of Data Rules (200-250 words)Data rules are essential for organizations for several reasons. First, they help maintain data quality by defining data validation criteria and ensuring that data is accurate, complete, and consistent. This is particularly important when dealing with sensitive data orregulatory compliance.Second, data rules facilitate data integration and interoperability. By defining standard formats, naming conventions, and data element definitions, organizations can ensure that data can be easily aggregated, exchanged, and analyzed across different systems or departments.Third, data rules enhance data security and privacy. By specifying access controls, encryption requirements, and data handling procedures, organizations can minimize the risk of unauthorized access or data breaches.Additionally, data rules support data governance initiatives by providing a framework for data stewardship and accountability. With well-defined data rules, organizations can assign responsibilities, establish data ownership, and enforce compliance with data management practices.3. Developing Data Rules (300-350 words)Developing effective data rules involves several steps. Firstly, organizations need to understand their data requirements andobjectives. This includes identifying the types of data they collect, their intended use, and any regulatory or legal obligations they must adhere to.Next, organizations need to conduct a data audit to assess the current state of their data. This involves identifying data sources, evaluating data quality, and determining any data gaps or inconsistencies.Based on this analysis, organizations can then define their data rules. This involves determining specific data requirements, such as data formats, data validation rules, data retention policies, and data access controls. Organizations should also consider industry standards, best practices, and legal requirements when developing these rules.Once the data rules are defined, organizations should communicate and document them clearly. This ensures that all stakeholders, including data owners, data stewards, and data users, understand and adhere to the rules.4. Implementing and Enforcing Data Rules (300-350 words)Implementing data rules involves integrating them into the organization's data management processes and systems. This may involve updating data entry forms, database schemas, data integration workflows, and data governance policies.To enforce data rules effectively, organizations should consider implementing data quality controls and monitoring mechanisms. This can involve conducting regular data audits, performing data profiling, and establishing data validation and cleansing processes.Organizations should also provide training and education to employees on data rules, emphasizing the importance of data quality and compliance. This can help raise awareness and ensure that employees understand and follow the rules in their day-to-day data handling activities.Additionally, organizations should establish a data governance framework that includes roles, responsibilities, and procedures for data management. This ensures that the enforcement of data rules is part of a broader governance structure and that data-related decisions are made in a coordinated and consistent manner.5. Reviewing and Updating Data Rules (200-250 words)Data rules should be periodically reviewed to ensure that they remain relevant and effective. As technology, business needs, and regulatory requirements change, data rules may need to be updated or revised. Organizations should have a process in place to evaluate and modify data rules as needed.Regular data quality assessments, user feedback, and audits can provide insights into the strengths and weaknesses of existing data rules. By reviewing these findings, organizations can identify areas for improvement and make necessary changes to the rules.Conclusion (100-150 words)Data rules are crucial for effective data governance and management. They help ensure data quality, consistency, and compliance, and enable organizations to make informed decisions based on reliable and accurate data. Developing, implementing, and enforcing data rules requires a systematic approach that involves understanding data requirements, defining rules, integrating them into processes, and monitoring their adherence.Regular review and updating are necessary to keep the rules aligned with changing business needs and technological advancements. By establishing robust data rules, organizations can unlock the full potential of their data assets and drive better business outcomes.。
锐捷S5760交换机操作手册

1.2
1.4
2
1.4.1 Ping ..........................................................................................................................14 1.4.2 Traceroute..................................................................................................................15 基本功能维护与故障排查 ...............................................................................................................17 2.1 以太网接口维护...................................................................................................................17 2.1.1 端口协商...................................................................................................................17 2.1.2 流控设置...................................................................................................................17 2.1.3 端口状态监控............................................................................................................18 2.2 常见故障处理一:端口 LINK 状态异常 ................................................................................20 2.2.1 故障说明...................................................................................................................20 2.2.2 诊断流程...................................................................................................................20 常见故障二:端口丢包/错帧, 或 ping 包延迟大 ...................................................................21 2.3.1 故障说明...................................................................................................................21 2.3.2 诊断流程...................................................................................................................21 常见故障三:光模块无法 link-up 或出现大量 CRC ...............................................................22 2.4.1 故障现象...................................................................................................................22 2.4.2 诊断流程...................................................................................................................22 2.5 二层转发功能维护 ...............................................................................................................23 2.5.1 查看 MAC 地址表 .....................................................................................................23 2.5.2 常见故障排查............................................................................................................23 硬件转发功能维护与故障排查 ........................................................................................................24 3.1 3.2 底层命令简介 ......................................................................................................................24 基本命令 .............................................................................................................................24 3.2.1 L2 部分 .....................................................................................................................26 3.2.2 L3 部分 .....................................................................................................................28 3.3 PCL 部分 .............................................................................................................................30 3.3.1 ACL 应用 ..................................................................................................................31 3.3.2 端口安全...................................................................................................................33 3.3.3 Arp-check..................................................................................................................35 4 / 70
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Enforcing Access Control Over Data StreamsBarbara Carminati,Elena FerrariDICOM,University of InsubriaVarese,Italy{barbara.carminati,elena.ferrari}@uninsubria.it Kian Lee TanNational University of Singapore,Singapore tankl@.sgABSTRACTAccess control is an important component of any computational sy-stem.However,it is only recently that mechanisms to guard against unauthorized access for streaming data have been proposed.In this paper,we study how to enforce the role-based access control model proposed by us in[5].We design a set of novel secure operators, that basicallyfilter out tuples/attributes from results of the corre-sponding(non-secure)operators that are not accessible according to the specified access control policies.We further develop an ac-cess control mechanism to enforce the access control policies based on these operators.We show that our method is secure according to the specified policies.Categories and Subject DescriptorsD.4.6[Security and Protection]:Access controls;H.2.7[Database Administration]:Security,integrity,and protectionGeneral TermsSecurityKeywordsData stream,Security,Access control1.INTRODUCTIONData stream management systems(DSMSs)have been increas-ingly used to support a wide range of real-time applications(e.g., battlefield and network monitoring,telecommunications,financial monitoring,sensor network,and so on).In many of these appli-cations,there is a need to protect sensitive streaming data from unauthorized accesses.For example,in battlefield monitoring,the positions of soldiers should only be accessible to the battleground commanders.Even if data are not sensitive,it may still be of com-mercial value to restrict their accesses.For example,in afinan-cial monitoring service,stock prices are delivered to paying clients based on the stocks they have subscribed to.Hence,there is a need to integrate access control mechanisms into DSMSs.Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on thefirst page.To copy otherwise,to republish,to post on servers or to redistribute to lists,requires prior specific permission and/or a fee.SACMAT’07,June20-22,2007,Sophia Antipolis,France.Copyright2007ACM978-1-59593-745-2/07/0006...$5.00.Many access control models have been designed for traditional database systems[7].However,these cannot be readily adapted to data stream applications.First,the long-running queries over unbounded data streams means that access control enforcement is data-driven(i.e.,triggered whenever data arrive).This implies that it is computationally expensive to enforce access control.Second, as data are streaming,temporal constraints(e.g.,sliding windows) become more critical.Third,operators are typically shared across multiple queries.Hence,access control can hardly be enforced at data stream or operator levels.In[5],we proposed a role-based access control model based on the Aurora model[2].Objects to be protected are essentially views(or rather queries)over data streams. The model supports two types of privileges-Read privilege for op-erations such as Filter,Map,BSort,and Aggregate privileges for operations such as Min,Max,Count,Avg and Sum.In addition, to deal with the intrinsic temporal dimension of data streams,two temporal constraints have been introduced-general constraints, that allow access to data during a given time bound,and window constraints,that support aggregate operations over the data within a specified time window.The work in[5]largely presents the formal semantics of the model,and shows how access control policies can be specified.However,it does not consider access control enforce-ment.In this paper,we build on the access control model in[5],and ad-dress how to enforce access control under the Aurora data stream prototype.Aurora query processing exploits a data-flow paradigm, modeling queries as a loop-free direct graph of operations(i.e., boxes).Users specify queries by adding boxes to the graph.In such a model,an access request is therefore a request to add a box in a graph.Thus,unlike conventional RDBMSs,our access con-trol mechanism operates at query definition time,and hence avoids run-time overhead.Whenever a user tries to insert a box in a graph, the reference monitor checks the authorization catalogs to verify whether the access can be partially or totally granted,or should be denied.In case of partially authorized access request,the speci-fied query is rewritten in such a way that it accesses only autho-rized data.To realize our access control mechanism,we design a set of novel secure operators(namely,Secure Read,Secure View,Secure Join and Secure Aggregate)thatfilter out from the results of the corresponding(non-secure)operators those tuples/attributes that are not accessible according to the access con-trol policies.We believe that this is a major extension to[5],since our secure operators together with the query rewriting mechanism are the essential components to integrate a reference monitor into a data stream engine.Recently,Lindner and Meier also looked at the problem of se-curing data streams[8],and proposed a Owner extended RBAC (OxRBAC)security model to protect data stream from unautho-rized accesses.Besides an object level security model that restricts accesses to objects(schemas,catalogs,queries,streams),there isa data level security model to protect data access.The basic ideaof the data level security is to apply a newly designed operator,called SECFILTER,at the query output stream tofilter out out-put tuples that do not conform to the access control rules.This“post-processing”approach means that many wasted computations are performed.Moreover,as noted in[8],it is possible for a userto remain“connected”to an output stream though he/she may notreceive any output tuples(e.g.,because his/her access rights havebeen revoked).This is not desirable.Finally,because the pro-posed framework is non-intrusive,SECFILTER cannot handle cer-tain queries that involve output streams obtained from aggregating data over multiple streams.The remainder of this paper is organized as follows.In the nextsection,we provide some background to this work.In Section3,wepresent a set of secure operators derived from the Aurora algebra.Section4presents the access control mechanism to enforce accesscontrol in Aurora.Section5presents some formal results.Finally, we conclude the paper with directions for future work in Section6.2.BACKGROUNDIn this section,wefirst review the Aurora data model,querymodel and algebra.Then,we review the access control model in[5].2.1Aurora query model and algebraWe adopt the Aurora data stream model and algebra[2].We havecast our work in the Aurora framework as it is relatively mature(in comparison with the other stream processing systems[3,6]).Moreover,Aurora has been successfully transferred to the com-mercial domain(i.e.,the StreamBase engine[9]),and redesignedwith distributed functionalities(i.e.,Borealis[1]).Aurora data model.A stream consists of an append-only sequence of tuples with the same schema.In addition to standard attributesA1,...,A n the stream schema contains an additional attribute,de-noted as ts.Attribute ts stores the time of origin of the corre-sponding tuple,thus it can be exploited to monitor stream attributesvalues over time.Aurora query model.The Aurora query processor exploits a data-flow paradigm-queries are modeled as a loop-free direct graph ofoperations(called boxes),where tuplesflow through all the oper-ations defined in the graph(called network).Figure2(b)in Sec-tion4.2illustrates an example of Aurora network with two in-put streams,namely Health and Position,where Health ispassed through two different boxes(i.e.,Filter and Map)beforebeing joined with Position.Aurora algebra.The Aurora algebra consists of a set of operators to be applied on data streams.The Filter box,like a relational selection,applies several distinct selections at the same time on astream,and output tuples that satisfy the predicates.The Filtersyntax is:Filter(P1,...,P n)(S),where P1,...,P n are predi-cates over stream S.The result consists of n+1different streamsS1...S n,where each stream S j contains those tuples of S satis-fying predicate P j,j∈{1,...,n}.Moreover,tuples that do not satisfy any predicate among P1,...,P n are returned in an addi-tional stream S n+1.In this paper,we do not consider the(n+1)th stream by simply assuming that these tuples are deleted.Moreover, if the predicates are omitted then all the tuples in the input stream are returned.Another operator,the Map box,can be considered as a gener-alized projection operator.Instead of projecting the value of an attribute A i,it projects the result of an arbitrary function applied on it.The syntax of Map is the following:Map(A i=F i,...A j=F j)(S),where A i,...,A j are a subset of the attributes of S, and F i,...F j are arbitrary functions over the input stream.1A further operator is Bsort,which sorts the tuples of a stream. Aurora also provides an aggregate operator,i.e.,Aggregate box, that computes,according to a sliding window-based approach,an aggregate over data streams.The Aggregate operator receives as input both the size of the window and an integer,called here-after step,specifying how to advance the window when it slides. The simplified syntax used throughout the paper is the following: Aggregate(Op,s,i)(S),where OP is a pair(F,A)such that F is either an SQL-style aggregate operation or a Postgres-style user-defined function,A is the attribute of S on which F has to be com-puted,whereas s and i are the size and step,respectively. Aurora also supports a binary Join operator,where the join predicate P is specified as input.More precisely,the syntax of this operator is Join(P)(S1,S2).A further operator is the Resample box,which can be helpful to align pairs of streams.Finally,we also have the Union box,which is used to merge a set of streams,hav-ing a common schema,into a unique output stream.2.2An access control model for data streams In this section we summarize the main characteristics of the ac-cess control model proposed in[5]and introduce the definitions we need throughout the paper.We refer the interested reader to[5]for a full description of the model and its semantics.The access control model in[5]is a role-based model specif-ically tailored to the protection of data streams.Privileges sup-ported by the model are of two different types that correspond to the two different classes of operations provided by the Aurora al-gebra(see Section2.1):a read privilege,that authorizes a user to apply the Filter,Map and Bsort and Aggregate box on a data stream,that is,all operations that require to read tuples from the data stream.Additionally,it authorizes to apply the Union, Join and Resample box if the read privilege is granted on both the operand streams.The other class of privileges supported by our model,called aggregate privileges,corresponds to ag-gregate functions allowed by Aurora and are provided to grant a user the authorization to perform an aggregate operations without accessing all the tuples over which the operation is computed.As introduced in Section2.1,Aurora supports both SQL-style aggre-gate operations and Postgres-style user-defined functions.To be as system independent as possible,in the following we consider as ag-gregate functions only the standard SQL-style functions.Thus,the aggregate privileges are:min,max,count,avg,and sum. Privileges can be specified for whole streams,as well as for a subset of their attributes and/or tuples,where the set of authorized tuples is specified by defining a set of conditions on their attributes values.Additionally,the model allows the Security Administra-tor(SA)to restrict the exercise of the read privilege only to a subset of a joined stream.To model such a variety of granular-ity levels,we borrow some ideas from how access control is en-forced in traditional RDBMSs,where different granularity levels are supported through views.The idea is quite simple:define a view satisfying the access control restrictions and grant the access on the view instead of on base relations.In a RDBMS,a view is defined by means of a CREATE VIEW statement,where the SE-LECT clause of the query defining the view specifies the autho-rized attributes,the FROM clause specifies a list of relations/views, and the WHERE clause states conditions on attributes’values.We 1In the paper,for simplicity,we assume that F is the identity func-tion.subject protection object priv gtc wtc streams attributes expressions size step Captain Position Pos,SID Position.Platoon=self.Platoon read---Captain Position Pos,SID Position.Platoon=self.Platoon∧read[TAction start(a),TAction end(a)]--Pos≥Target(a)-δ∧Pos≤Target(a)+δ--Soldiers Position Pos Pos≥Target(a)-δ∧Pos≤Target(a)+δavg[TAction start(a),TAction end(a)]11 Doctor Health Heart,SID Position.Platoon=self.Platoon read---Doctor Health,Heart,SID Position.SID=Health.SID∧read[TAction start(a),TAction end(a)]--Position Pos≥Target(a)-δ∧Pos≤Target(a)+δTable1:Examples of access control policies for data streamsadopt the same idea to specify protection objects to which an access control policy applies.However,since a standard query language for data streams has not yet emerged,we give a language inde-pendent representation of protection objects.Basically,we model a protection object by means of three components,which corre-sponds to the SELECT,FROM and WHERE clauses of an SQL statement.The formal definition of protection object specification is given below.Definition1.(Protection object specification)[5].A protec-tion object specification p obj is a triple(STRs,ATTs,EXPs), where:•STRs is a set of names or identifiers of streams{S1,...,S n};•ATTs denotes a set of attributes A1,...,A l,where A j,j∈{1,...,l},belongs to the schema of the stream resultingfrom the Cartesian product(S1×···×S n)of the streams inSTRs.If ATTs is equal to symbol‘*’,it denotes all the at-tributes belonging to the schema of the stream resulting from(S1×···×S n).•EXPs is a boolean formula,built over predicates of the form:A i⊕value or A i⊕A j,where A i,A j are attributes belong-ing to the schema of the Cartesian product(S1×···×S n),⊕is a comparison operator of the Aurora algebra,and valueis a value compatible with the domain of A i.If EXPs isempty,it denotes all the tuples in(S1×···×S n).2 Given a protection object specification p obj,we use the dot notation to refer to its components.Note that,the format of protection object specifications does not allow the SA to specify the read privilege for a view consisting of the union of more data streams because we assume that the Union operation is authorized if the requesting user has the read privi-lege on the two operand streams.The access control model in[5]also allows the SA to specify two different types of temporal constraints,that is,general and window-based constraints.Constraints of thefirst kind state limitations on the time during which users can exercise privileges on protection objects.They are expressed in the form:[begin, end],where begin and end are the lower and upper bounds of the interval,begin≤end,and end can assume the infinite value.2The begin and end values can be explicitly specified by the SA or can be returned by a predefined set of system functions SF.For instance,we assume a function TAction start(), which returns the time when a given action starts,and a function TActionend()that returns the time when a given action ends.Since by definition a stream always contains a temporal information,i.e.,the timestamp ts,a general time constraint gtc identifies all and only those tuples satisfying the predicate:ts≥begin∧ts≤end. 2We assume that begin and end values are specified by means of an SQL-like syntax.The other class of constraints is related to window-based aggregate operators supported by the Aurora algebra.A window is speci-fied by two information:the window’s size and the advance step.A window time constraint wtc can therefore be defined by a pair: [size,step],denoting the minimum size and step allowed in a window-based operation.The value0for size and/or step denotes that the corresponding aggregate operation can be performed with any size and/or step.The formal definition of access control policies for data streams is given below.Definition2.(Access control policy for data streams)[5].An access control policy for data streams is a tuple:(sbj,obj,priv, gtc,wtc),where:sbj is a role,obj is a protection object spe-cification defined according to Definition1,priv∈{read,min, max,count,avg,sum}is an access privilege,gtc is a general time constraint,and wtc is a window time constraint.2 Given an access control policy acp we denote with acp.sbj, acp.obj,acp.priv,acp.gtc and acp.wtc the sbj,obj, priv,gtc,and wtc components,respectively.We assume that all the specified access control policies are stored into a unique au-thorization catalog,called SysAuth.SysAuth contains a diffe-rent tuple for each access control policy,whose attributes store the access control policy components,as illustrated by the following example.E XAMPLE 2.1.Here and in what follows we consider the mili-tary domain presented in[2]as running example.In this scenario, stream data are used to monitor positions and health conditions of platoon’s soldiers.Hereafter,we consider two data streams, namely,Position and Health,with the following schemas: Position(ts,SID,Pos,Platoon),Health(ts,SID, Platoon,Heart,BPressure),where the SID and Platoon attributes store soldier’s and platoon’s identifiers,respectively,both in the Position and Health streams,the Pos attribute con-tains the soldier position,the Heart attribute stores the heart beats,whereas the BPressure attribute contains the soldier’s blood pressure value.An example of SysAuth catalog referring to the Position and Health streams is given in Table1.In particular,thefirst policy grants captains the read privi-lege on the position and id of soldiers belonging to their platoons, where this condition is modeled as a predicate(i.e.,Position. Platoon=self.Platoon).3The second access control policy authorizes captains to read the id and position of soldiers not be-longing to their platoons,but whose position is near to the target of action a,that is,whose positions distance at mostδfrom action a target’s position(Pos≥Target(a)-δ∧Pos≤Target(a)+δ).4 3We assume that each user has an associated profile,i.e.,a set of attributes modeling his/her characteristics,like for instance the pla-toon one belongs to.4We assume a function Target()that returns the position of the target of a given action.Additionally,this privilege is granted only during the time of action a .By the third policy soldiers are allowed to compute the average of the positions of soldiers that are close to the target of action a .Moreover,this policy states that the average can be computed only during the action time and with windows of minimum 1hour and with 1as minimum step.Finally,the fourth access control policy states that a doctor is authorized to monitor the heart beats only of those soldiers be-longing to his/her platoon,whereas,the fifth policy grants a doctor the possibility of monitoring the heart beats of all soldiers (not only those belonging to his/her platoons)but only if the soldier position is near to the target of action a and only during the action time.3.SECURE OPERATORSIn this section,we present a set of operators,derived from those of the Aurora algebra to keep into account the specified access con-trol policies.The operators basically prune from the results of the corresponding Aurora operators those tuples/attributes that are not accessible according to the specified access control policies.These operators are the basis of the access control mechanism described in Section 4.2.The first operator,called Secure view ,takes as input a stream and an access control policy and returns the “view”of the stream that can be accessed according to the policy.This view may con-tain only selected attributes and/or tuples of the input stream.The view is represented by the corresponding expression in the Aurora algebra.Definition 3.(Secure view).Let S be a stream,and acp be an access control policy such that acp .obj.STRs =S .Let Attr (S )be the set of attributes belonging to S ’s schema.The Secure view,Sec View ,of S wrt policy acp is defined as follows:Sec View (S,acp )=Map(att)(Filter(P)(S ))where:att =Attr (S )∩acp .obj .ATTs if acp .obj .ATTs =∗Attr (S )otherwise P =⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩acp .obj .EXPS if acp .obj .EXPs is not empty P ∧(ts ≥acp .gtc .begin ∧ts ≤acp .gtc .end )if acp .gtc is not null nullif acp .obj .EXPs is empty and acp .gtc is null2Based on the Sec View operator we can define the Sec Read operator,which takes as input a user u and a data stream S and returns the view of S over which u can exercise the read privilege,according to the policies in SysAuth .Note that,since more than one policy can apply to the same user on the same stream (referring for instance to different attributes and/or with different conditions over tuples)the result of Sec Read is actually a set of views,each of which denoted by the corresponding expression in the Aurora algebra.Definition 4.(Secure read).Let S be a stream and u be a user.Let Role(u)be the set of roles u is authorized to play,and let P ol (S,u )be the set of read access control policies specified for S and which apply to u ,that is,P ol (S,u )={acp ∈SysAuth |acp .obj.STRs =S ,acp .sbj ∩Role(u)=∅,acp .priv =read }.The Secure read operator,Sec Read ,is defined as follows:Sec Read (S,u )=acp j ∈P ol (S,u ){Sec View (S,acp j )}.2E XAMPLE 3.1.Let us consider the access control policies in-troduced in Table 1,assuming that there exists a user,say Paul,belonging to platoon X and authorized to play only the captain role.Moreover,we assume that action a is not currently taking place.In this case,only the first policy is applicable to Paul,which authorizes Paul to access position and id of soldiers belonging to his platoon.This is exactly the view,hereafter called AuthV iew ,obtained by the evaluation of Sec Read (Position ,Paul).In-deed,according to Definition 4,AuthV iew is defined as the union of the views returned by the Secure view operator,for each po-licy in P ol (Position ,Paul).P ol (Position ,Paul)consists of the first and the second access control policy of Table 1,say acp 1and acp 2.Thus,AuthV iew consists of the union of Sec View (Position ,acp 1)and Sec View (Position ,acp 2).According to Definition 3,Sec View (Position ,acp 1)returns the follow-ing Aurora expression:Map(Pos,SID)(Filter(Position.Platoon=X)(Position))(denoted in what follows as V iew 1).In contrast,Sec View (Position ,acp 2)is given by:Map(Pos,SID)(Filter(Position.Platoon =X ∧Pos ≥Target(a)-δ∧Pos ≤Target(a)+δ∧ts ≥TAction start(a)∧ts ≤TAction end(a))(Position)).However,we assume that if an action is not currently taking place the evaluation of Target(),TAction start(),and TAction end()for that action re-turns null.Thus,all the predicates referring to these functions in the Filter operator above null,and therefore no tuples are selected by the Filter operator.Thus,the view of Position stream on which Paul has the read privilege consists only of V iew 1,that is,all the positions and ids of soldiers belonging to his platoon. Our access control model allows one to specify policies for ag-gregate privileges.We therefore need to define a further operator,called Secure aggregate ,which,given an aggregate operation over a stream S and a user u ,considers the policies specified over S for the requested aggregate operation that apply to u and returns the result of the aggregate operation only over the “view”autho-rized by these policies.As for the previously defined operators,the view may actually be a set of views,each of which denoted by an expression of the Aurora algebra.Since in the case of aggregate operations both policies and operation requests may have some as-sociated temporal constraints (i.e.,the window size and the step),these may be considered when determining the result of Secure ag-gregate.Definition 5.(Secure aggregate).Let S be a stream,u be a user,Op be an aggregate operator consisting of an SQL-like ag-gregate function,Op.F ,and an attribute of S ,Op.A .Let s and i be two natural numbers,and let P ol agg (S,u )be the set of ac-cess control policies in SysAuth granting u the Op.F privilege over attribute Op.A ,that is,P ol agg (S,u )={acp ∈SysAuth |acp .obj.STRs =S ,Op.A ∈acp .obj.ATTs ,acp .sbj ∩Role(u)=∅,acp .priv =Op.F }.The Secure aggregate operator,Sec Aggr is defined as follows:Sec Aggr (S,Op,s,i,u )=acp j ∈P ol agg (S,u ){Aggregate (Op ,max size ,max step )(Map(Op.A )(Filter(P)(S )))}where:max size =max(acp j .wtc.size ,s ),max step =max(acp j .wtc.step ,i ),andP =⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎩acp j .obj .EXPS if acp j .obj .EXPs is not empty P ∧(ts ≥acp j .gtc .begin ∧ts ≤acp j .gtc .end )if acp j .gtc is not null nullif acp j .obj .EXPs is empty and acp j .gtc is nullE XAMPLE 3.2.Suppose that a user authorized to play only the soldier role,say Alice,is interested in the average position of sol-diers calculated with windows of5hours and5as step.Moreover, let us assume that action a is taking place,whose target has posi-tion1000,whose starting time is105000,whereas ending time is infinite,since the action has not ended yet.According to the access control policies in Table1,since Alice’srole is soldier,she is only authorized to perform avg operations on the Pos attribute of those tuples referring to soldiers that are close to the target of action a.Moreover,the average can be per-formed with at minimum a window of size1hour and1as step. Let us consider the view returned by the Secure aggregate oper-ator.In this case,P ol agg(Position,Alice)consists only of thethird access control policy.Thus,Sec Aggr(Position,(Avg, Pos),Alice,5,5)is equal to Aggregate((Avg,Pos),5,5)(Map( Pos)(Filter(Pos≥1000-δ∧Pos≤1000+δ∧ts≥105000∧ts≤∞)(Position))),since5is the maximum step(i.e, size)between the step(i.e,size)specified in the access control po-licy and the required one.Thus,the Secure aggregate operatorconsiders only the Pos attribute of those tuples in the Position stream satisfying predicate:Pos≥1000-δ∧Pos≤1000+δ,that is,tuples near to the target of a,and:ts≥105000∧ts≤∞,that is,tuples generated during action a.Then,only for those values,it calculates the average with windows of size5hours and with5as step.The last operator we need to define,called Secure join is used to manage join operations.Indeed,according to our access con-trol model,we can specify policies that apply to the join of two or more streams,by authorizing the access only to selected attributes and/or tuples in the joined stream.These policies are those that have more than one stream in the obj.STRs component.Sim-ilarly to Sec Aggr,the Secure join operator returns the set of “views”over the joined stream corresponding to the authorized at-tributes and tuples.Definition6.(Secure join).Let S1and S2be two streams,P a join predicate over S1and S2,and u be a user.The Secure join operator,Sec Join,is defined as follows:Sec Join(S1,S2,P,u)=Sec Read(Join(P)(S1,S2),u).2E XAMPLE 3.3.Consider a user,say Rick,who is authorized to play only the role doctor and belongs to platoon X.Suppose that Rick is interested to know the position,id,and health informa-tion of those soldiers which are across some border k(modeled as Pos≥k).Since the position of a soldier is stored in the Position stream,whereas health information is in the Health stream,he needs to perform a join of the Position and Health streams,and selecting only those tuples which refer to soldiers whose position satisfies the condition above.According to the access control policies in Table1,this operation is possible only during action a and only for those tuples referring to soldiers whose positions are near to the action’s target.Let us assume that action a is not currently undergoing,and see how the Secure join operator evaluates over the requested query,that is,Sec Join (Position,Health,(Position.SID=Health.SID∧Pos ≥k),Rick).According to Definition6,the above expressionfirst generates the joined stream,say S3,resulting from Join( Position.SID=Health.SID∧Pos≥k)(Position, Health).Then,it passes S3to the Secure read operator,with the aim of generating the corresponding authorized view for Rick.Sec Read(S3,Rick)considers the set of access control policies P ol(S3,Rick)which consists only of the last access control policy of Table1,say acp5.By Definition4,this implies that Sec Read returns the view generated by Sec View(S3,acp5),that is,the tu-ples returned by the evaluation of the following Aurora expression: Map(Heart,SID)(Filter(Position.SID=Health.SID ∧Pos≥k∧ts≥null∧ts≤null∧Pos≥null-δ∧Pos≤null +δ)(Position,Health)).Since the last predicate in the above Filter operator evaluates null,no tuples are selected,thus the authorized view is empty. Note that the Aurora algebra defines a further binary operator, that is,Resample.However this operator is defined as a semijoin, thus we omit the definition of Sec Resample since it is very sim-ilar to Definition6.We recall moreover that,in our access control model we assume that a policy cannot be specified on a view result-ing from the union of two or more streams.This is due to the fact that we assume that a user can perform the union of two streams only if he/she has the read privilege over them.For this reason, we do not need to define the Secure union operator.4.ACCESS CONTROL ENFORCEMENT ONA REAL DATA-STREAM PROTOTYPE:AURORAIn this section,we introduce an access control mechanism en-forcing the access control policies presented in Section2.2,by con-sidering Aurora as the reference target.Enforcing access control having as target the Aurora query model(cfr.Section2.1)im-plies to regulate whether a user can(or cannot)insert a box into a graph.As an example,consider the access control policy stat-ing that a captain can read position of soldiers belonging to his/her platoons,whereas he/she cannot access the position of other pla-toon’s soldiers.Whenever a captain tries to apply a Filter box to the Position stream,the access control mechanism must en-force the access control policy by limiting the Filter operation only to those tuples referring to soldiers belonging to captain’s pla-toon.According to the Aurora query model,access control enforce-ment can therefore be applied at query definition time.The access control mechanism starts up whenever a user requests to apply a box.If the user is not authorized to perform the operation denoted by the box,the access is denied.In case the user is partially autho-rized,the access control module rewrites the query in terms of the allowed operations,otherwise if the operation denoted by the box can be fully authorized,the reference monitor does not make any modification to the user query.In the next sections wefirst introduce how we represent access requests,then we show how the secure operators introduced in Sec-tion3can be exploited for access control enforcement.4.1Access requestsAccording to the Aurora query model,an access request is equiv-alent to the request of a user to apply a box to one or more streams. Thus,an access request can be modeled in terms of three compo-nents:(i)the user submitting the access request;(ii)the stream(s) on which he/she requires to apply the box;(iii)the operator corre-sponding to the box to be inserted.We can therefore formalize an access request R as a triple(u,Objs,p),where u is the(identifier of the)requesting user,p is the Aurora operation that u requires to execute on the objects(i.e.,streams)specified in Objs.Before introducing the access control mechanism,we need to illustrate how streams are modeled in Objs.According to the Au-rora query model a user is able to apply a box to one or more input。