woc,明天就要考信息安全了,可是網上竟然沒有PMI的資料。
共享一個。。。
以下摘自PPT。
權限管理基礎設施PMI
PKI體系通過身份證書實現了對證書持有者的身份認證,但網絡服務中的訪問授權不僅依賴於用戶的身份,還依賴於用戶的權限,X.509 v4提出了權限管理基礎設施(Privilege Management Infrastructure,PMI)來管理用戶的權限屬性,支持訪問控制授權。
PMI使用屬性證書來實現用戶身份與權限屬性的綁定,第三方屬性權威機構(Attribute Authority,AA)負責屬性證書的申請、簽發、維護和撤銷,管理着屬性證書的整個生命週期。
證書字段
X.509 v4定義的PMI屬性證書包含以下信息:
版本號:屬性證書使用了哪個版本的X.509標準;
有效期:包括屬性證書的生效時間和失效時間;
序列號:AA爲該屬性證書分配的唯一序列號,證書被撤消時該序列號將被放入CRL中;
簽名算法標識符:AA所使用的簽名算法;
發佈者名稱;
發佈者的唯一標識符;
證書持有者標識:通常使用PKI證書序列號;
證書持有者的屬性信息;
擴展信息;有關該證書或證書持有者的附加說明;
發佈者的數字簽名。
證書數據結構
AttributeCertificate ::= SEQUENCE {
acinfo AttributeCertificateInfo,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING
}
AttributeCertificateInfo ::= SEQUENCE {
version AttCertVersion, --version is v2,
holder Holder,
issuer AttCertIssuer,
signature AlgorithmIdentifier,
serialNumber CertificateSerialNumber,
attrCertValidityPeriod AttCertValidityPeriod,
attributes SEQUENCE OF Attribute,
issuerUniqueID UniqueIdentifier OPTIONAL,
extensions Extensions OPTIONAL
}
holder字段爲證書擁有者標識,可選用3種不同的語法選項之一,定義如下:
Holder ::= SEQUENCE {
baseCertificateID [0] IssuerSerial OPTIONAL,
– 證書擁有者的PKI證書的發佈者和序列號
entityName [1] GeneralNames OPTIONAL,
– 證書擁有者的實體或角色名
objectDigestInfo [2] ObjectDigestInfo OPTIONAL
– 用於認證證書擁有者的信息
holder字段選項:
若使用baseCertificateID選項,則holder字段值必須與該用戶PKC中的發佈者和證書序列號相同。
若使用entityName選項,則holder字段值必須與該用戶PKC中的證書持有者的名稱或subjectAltName擴展字段中的證書持有者別名相同。顯然,這兩種選項都是與用戶的PKC相關聯的,服務提供者可通過對應的PKC確定用戶身份,無法實現匿名性。
若使用objectDigestInfo選項,則是通過在holder字段寫入一個對象的Hash值,將該對象與AC關聯起來,用於認證證書擁有者,這爲AC與PKC之間的分離提供了可能。