Understanding SPKISDSI using first-order logic
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Understanding SPKI/SDSI Using First-Order Logic Ninghui Li John C.Mitchell
Department of Computer Science,Stanford University
Gates4B,Stanford,CA94305-9045
ninghui.li,jcm@
Abstract
SPKI/SDSI is a language for expressing distributed ac-cess control policy,derived from SPKI and SDSI.We pro-
vide afirst-order logic(FOL)semantics for SDSI,and show that it has several advantages over previous semantics.For example,the FOL semantics is easily extended to additional
policy concepts and gives meaning to a larger class of ac-cess control and other policy analysis queries.We prove that the FOL semantics is equivalent to the string rewriting
semantics used by SDSI designers,for all queries associ-ated with the rewriting semantics.We also provide a FOL
semantics for SPKI/SDSI and use it to analyze the design of SPKI/SDSI.This reveals some problems.For example, the standard proof procedure in RFC2693is semantically
incomplete.In addition,as noted before by other authors, authorization tags in SPKI/SDSI are algorithmically prob-lematic,making a complete proof procedure unlikely.We
compare SPKI/SDSI with,which is a language in the Role-based Trust-management framework that can be viewed as an extension of SDSI.The constraint feature of ,based on Constraint Datalog,provides an alternative mechanism that is expressively similar to SPKI/SDSI tags,
semantically natural,and algorithmically tractable.
1Introduction
In1996,Rivest and Lampson[26]proposed a new public-key infrastructure,called the Simple Distributed Se-curity Infrastructure(SDSI),featuring the use of linked lo-cal names.Concurrently,Ellison et al.developed the Simple Public Key Infrastructure(SPKI),which empha-sizes delegation of authorization.In1997,the two efforts were merged,leading to a system called SPKI/SDSI.The standard reference on SPKI/SDSI is RFC2693[6],with a later paper[4],whose authors include several designers of SPKI/SDSI,providing certificate chain reduction algo-rithms for SPKI/SDSI,clearer descriptions of many fea-tures,and certain minor design changes.SPKI/SDSI can be viewed as a trust-management(TM)language.Trust man-
agement is an approach to access control in decentralized distributed systems with access control decisions based on
policy statements made by multiple principals.In general,a TM language has a syntax for specifying policy statements
and queries,together with a semantic relation.Given a set of policy statements and a query,the relation means that follows from.When arises from an ac-
cess request,means that access is allowed in.
In SPKI/SDSI,policy statements take the form of name-
definition certificates(name certs),authorization certificates (auth certs),and Access Control List(ACL)entries.Prin-cipals are identified with public keys,and each principal has its own name spaces for names.A local name,which is identified by a principal and an identifier,is bound to a set of principals that we call the members of the local name.Only the principal can issue name certs that determine mem-bers of the local name.Principal can define
to include a principal,a local name,or a linked local name (also called an extended name).We use SDSI to refer to the sub-language of SPKI/SDSI that just has name certs,also called4-tuples.Auth certs and ACL entries,also called5-tuples,originally came from SPKI.In a5-tuple,the issuing principal grants certain authorization to a subject,which can be a principal,a local name,an extended name,or a thresh-old subject.The issuing principal also specifies whether the subject can further delegate the authorization it receives in a5-tuple.
A set of SPKI/SDSI statements defines a policy,and
many properties of a policy are of interest to its authors and users.The most basic query is whether a policy al-lows a principal to access a resource.However,it may also be important to determine safety and availability properties of a policy[21],such as whether a resource owner still has some guarantees about who can access their resources af-ter delegating limited authority to other principals.RFC 2693does not explicitly specify a class of queries that can be made against a policy,but provides operational rules for producing new5-tuples from existing5-tuples.The5-tuple reductions implicitly define a class of access queries for