3. 属性证书
PMI使用属性证书表示和容纳权限信息,对权限生命周期的管理是通过管理证书的生命周期实现的。属性证书是一种轻量级的数据体,这种数据体不包含公钥信息,只包含证书持有人ID、发行证书ID签名算法、有效期、属性等信息等。属性证书的申请、签发、注销、 验证流程对应着权限的申请、发放、撤销和使用验证的过程。
相比较,公钥证书是将一个标识和公钥绑定,以此表明用户的身份;而属性证书( AC)则是将一个标识和一个角色、权限、或者属性通过数字签名进行绑定,以此表明用
户的角色、权限或者属性。和公钥证书一样,AC能被分发和存储或缓存在非安全的分布式环境中,具有不可伪造、防窜改的特性。同时,属性证书的分发以及应用具有如下特点:
1)独立的发行机构
由于把属性信息从身份信息中分离出来,单独制作成属性证书,这样属性授权过程较为独立,且对应用有针对性。在实践中,属性证书颁发机构和用户公钥证书颁发机构独立建设。
2)属性证书与用户证书相关
属性证书基于用户身份颁布,属性证书不单独使用,在验证用户身份时将查找用户公钥证书,即属性证书和公钥证书建立关联关系。
3)同一个身份可以有多个属性证书
一个系统中,每个用户仅设置一个合法身份,但是属性证书则灵活得多,同一个身份根据应用的需要可以分发多个属性证书。
4)存储方式灵活
属性证书可以分发给用户,由用户存储在磁盘上或者USBKEY上,或者委托给系统进行统一存储和管理而不必分发给用户。由系统托管属性证书时,应用系统根据用户的身份直接从属性库中获得用户相应的属性证书,不需要建立相应的协议,属性证书的使用和变更对用户是透明的。
5)时效短
属性证书的有效期根据用户属性来设置,而不必和用户公钥证书一样的有效期。由于用户属性,如临时进出机房权限,可以很短,因此可在颁发属性证书时设置很短的有效期。由此带来的好处是系统属性证书撤销列表方面的维护开销较小。
6)基于属性实施访问控制
应用属性证书后,在存取控制方面不再基于用户身份,取而代之的是基于其拥有属性来决定其对某一资源或服务是否拥有访问权。这样应用程序中访问控制规则可以简单地被定义成按属性来决定访问权。这种方式相对更简单、更易理解,并且更易维护。