{"title":"Using first-order logic to reason about policies","authors":"Joseph Y. Halpern, Vicky Weissman","doi":"10.1109/CSFW.2003.1212713","DOIUrl":null,"url":null,"abstract":"A policy describes the conditions under which an action is permitted or forbidden. We show that a fragment of (multi-sorted) first-order logic can be used to represent and reason about policies. Because we use first-order logic, policies have a clear syntax and semantics. We show that further restricting the fragment results in a language that is still quite expressive yet is also tractable. More precisely, questions about entailment, such as 'May Alice access the file?', can be answered in time that is a low-order polynomial (indeed, almost linear in some cases), as can questions about the consistency of policy sets. We also give a brief overview of a prototype that we have built whose reasoning engine is based on the logic and whose interface is designed for nonlogicians, allowing them to enter both policies and background information, such as 'Alice is a student', and to ask questions about the policies.","PeriodicalId":283743,"journal":{"name":"16th IEEE Computer Security Foundations Workshop, 2003. Proceedings.","volume":"226 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2003-06-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"220","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"16th IEEE Computer Security Foundations Workshop, 2003. Proceedings.","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/CSFW.2003.1212713","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 220
Abstract
A policy describes the conditions under which an action is permitted or forbidden. We show that a fragment of (multi-sorted) first-order logic can be used to represent and reason about policies. Because we use first-order logic, policies have a clear syntax and semantics. We show that further restricting the fragment results in a language that is still quite expressive yet is also tractable. More precisely, questions about entailment, such as 'May Alice access the file?', can be answered in time that is a low-order polynomial (indeed, almost linear in some cases), as can questions about the consistency of policy sets. We also give a brief overview of a prototype that we have built whose reasoning engine is based on the logic and whose interface is designed for nonlogicians, allowing them to enter both policies and background information, such as 'Alice is a student', and to ask questions about the policies.