移动计算中函数式语言的程序现金流安全.docxVIP

移动计算中函数式语言的程序现金流安全.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
移动计算中函数式语言的程序现金流安全 1 程序信息流安全 随着网络的发展,支持代码移动的语言(例如concurrentml和faile)也开始普及。这些语言允许程序代码以函数的形式传输到网络并在目标主机上运行,这使移动计算应用程序的编程更方便、更灵活。同时,与单进程系统相比,移动计算系统之间的主机互联和资源共享使程序信息的安全性更加紧迫。例如,由特定公司开发的股票开算分析软件由客户端程序和服务器程序组成。客户端程序在你的个人计算机上运行,服务器程序在公司的服务器上运行。根据应用需求,客户端程序接收服务器程序发送的移动代码,并将其放在你的个人计算机上运行。接收的移动代码是从计算机接收的私有信息,并根据你的情况给出投资建议。在操作过程中,我会通过网络发送信息来改进软件。如果软件被错误或恶意窃取,公司将使用传唤信息窃取其个人信息。我们怎样才能确保软件不披露用户的个人信息?这是程序信息流的典型安全问题。这项工作中研究的程序信息流安全是指保护程序数据的机密性,即确保程序运行中处理的重要数据的机密性可靠。用户不能通过收到的输出数据和其他信息来获取或检测程序中的重要数据(例如用户密码)。 常规的安全保护措施(访问控制,加密技术,防火墙等)对计算系统中的数据机密性无法提供可靠的保护,这是因为这些措施无法控制程序运行时不同安全级别数据之间的相互影响(例如程序的公共可见输出数据受程序中高安全级别输入数据的影响,从而泄露高安全级别数据). 为克服这些常规安全措施的不足,近些年,基于语言的技术在信息流安全领域开始得到应用,并且取得了良好的效果.例如Cornell大学研究的Jif(Java+information flow)和Vincent Simonet的Flow Caml系统.它们是通过静态类型检查来保证Java语言(或OCaml语言)的单进程程序信息流安全.具体的做法是在普通类型(例如Int)上增加安全标识,该标识描述了它所作用数据的安全级别.数据的安全级别通常由程序员根据具体应用问题和用户要求预先定义.程序信息流安全在编译阶段通过类型检查来实施,信息流安全类型系统可以保证良类型程序都具有如下的安全性质:高安全级别输入数据的变化不会引起低安全级别输出数据的变化.文献中将这种安全性质称作无干扰性.在只考虑程序输出可能泄密的情况下,如果程序具有无干扰性,我们就说程序是信息流安全的. 尽管这些研究的编程语言类型系统能有效地保证程序信息流安全,但它们只限于单机单进程系统.为保证移动计算系统中的程序信息流安全,在Cornell大学Zdancewic工作(函数式语言λsec的单进程程序信息流安全)的基础上,本文根据移动计算系统的结构特征,通过对函数式语言λsec进行扩充,加入通讯原语,将其扩展成移动计算语言MobileML,并针对一个简单的移动计算模型,给出了描述程序信息流安全的无干扰性定义,设计了相应的信息流类型系统,用以静态检查保证MobileML语言程序信息流安全. 本文的第2节介绍信息流安全模型;第3节给出MobileML语言的语法;第4节定义该语言的操作语义;第5节详细地描述了子定型关系和保证程序信息流安全的定型规则;第6节阐明该类型系统的可靠性和安全性;第7节是相关研究的比较和结论. 2 单进程的无干扰性 通常移动计算系统所涉及的数据和用户属于不同的安全级别.为描述方便,本文所给的例子和分析方法均采用两级安全模型:高安全级别(High)和低安全级别(Low).数据的安全级别反映数据的机密等级.机密数据属于高安全级别,公共数据属于低安全级别.用户的安全级别反映用户的权限.高级别用户能观察任何数据,低级别用户只能观察Low级别类型的数据.虽然本文采用两级安全模型,但所介绍的信息流类型系统方法很容易推广到格模型. 描述程序信息流安全的无干扰性在不同的计算模型中有着不同的定义.单进程模型中的无干扰性定义很简单,以函数式语言为例,由于单个进程通常可看作是闭函数(不含自由变量的函数)的应用,所以函数的参数相当于输入,函数的返回值相当于输出.这样,描述单进程程序信息流安全的无干扰性要求低安全级别的函数返回值不依赖于高安全级别的函数输入参数.移动计算模型中的输入和输出的定义较为复杂,输入不仅包括表示进程的函数的参数,还包括其他途径获得的数据:从通讯信道上接收的数据和该函数中的自由变量绑定的数据.类似地,输出指的是函数返回值和向信道上发送的数据.这样,描述移动计算程序信息流安全的无干扰性要求低安全级别的函数返回值和公共信道上的发送数据不依赖于高安全级别的函数输入参数和其他途径获得的高安全级别输入数据.它的形式化定义将在第6节详细介绍. 如果程序不具有无干扰性,那么它不是信息流安全的,运行时可能会引起泄密(窃密者通常都是低级别用户).一个简单的例子如下(本文例子均

文档评论(0)

lgjllzx + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档