4.4.1 锁与钥匙的密码学实现
2025年08月10日
4.4.1 锁与钥匙的密码学实现
与其他的访问控制机制不同,锁与钥匙具有动态的特点。访问控制列表是静态的,必须人为进行修改。而锁与钥匙会因响应系统的约束、增加条目的通用指令或其他任何因素而发生改变,不需要手工修改。
锁与钥匙的密码学实现是由Gifford提出的。客体o由一个密钥加密,主体拥有解密密钥。为了访问客体,主体对客体进行解密。系统实现了一种名为or-access的方法,允许n个主体访问数据。该方法使用n个不同密钥对数据的n个副本进行加密,每个主体拥有一个密钥。此时,客体o用o′表示,o′=(E1(o),…,En(o))。
系统也可以实现and-access方法,n个主体的访问请求同时发生才不拒绝访问。使用n个密钥进行迭代加密,每个主体拥有一个密钥。客体用o′表示,o′=E1(…(En(o))…)。
例4-8 IBM370系统为每一个进程分配一个访问密钥,并且为每一个页面分配一个存储密钥及一个提取比特。如果提取比特被清零,则只允许读访问。如果提取比特置1且访问密钥是0,则该进程可对任意页面进行写操作。如果不是上述情况,且访问密钥与特定页面的存储密钥匹配,则进程可对该页面进行写操作。如果访问密钥不是0,也不与存储密钥匹配,则进程不能访问该页面。