【24h】

Security-typed programming within dependently typed programming

机译:依赖类型编程中的安全类型编程

获取原文
获取原文并翻译 | 示例
       

摘要

Several recent security-typed programming languages, such as Aura, PCML5, and Fine, allow programmers to express and enforce access control and information flow policies. In this paper, we show that security-typed programming can be embedded as a library within a general-purpose dependently typed programming language, Agda. Our library, Aglet, accounts for the major features of existing security-typed programming languages, such as decentralized access control, typed proof-carrying authorization, ephemeral and dynamic policies, authentication, spatial distribution, and information flow. The implementation of Aglet consists of the following ingredients: First, we represent the syntax and proofs of an authorization logic, Garg and Pfenning’s BL0, using dependent types. Second, we implement a proof search procedure, based on a focused sequent calculus, to ease the burden of constructing proofs. Third, we represent computations using a monad indexed by pre- and post-conditions drawn from the authorization logic, which permits ephemeral policies that change during execution. We describe the implementation of our library and illustrate its use on benchmark examples considered in the literature.
机译:几种最新的安全类型的编程语言(例如Aura,PCML5和Fine)允许程序员表达和实施访问控制和信息流策略。在本文中,我们证明了安全类型的编程可以作为库嵌入在通用的依赖类型的编程语言Agda中。我们的库Aglet负责解决现有安全类型的编程语言的主要功能,例如分散的访问控制,类型化的带有证明的授权,临时和动态策略,身份验证,空间分布和信息流。 Aglet的实现包含以下要素:首先,我们使用从属类型表示授权逻辑Garg和Pfenning的BL0的语法和证明。其次,我们基于有重点的顺序演算来实施证明搜索程序,以减轻构造证明的负担。第三,我们使用monad表示计算,该monad由从授权逻辑得出的前后条件索引,该条件允许临时策略在执行期间发生变化。我们描述了我们库的实现,并说明了它在文献中考虑的基准示例中的使用。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号