在比利时,我们拥有政府颁发的电子身份证 (eID)。它们可以由智能卡读卡器读取。卡上有两张证书,一张用于签名,一张用于认证。
我想分发我的公钥。我可以使用我的 eID 来签署我的证书,以便让用户知道它确实是我的公钥吗?这会是一种安全且被接受的方式吗?
感谢您的想法和帮助。
在比利时,我们拥有政府颁发的电子身份证 (eID)。它们可以由智能卡读卡器读取。卡上有两张证书,一张用于签名,一张用于认证。
我想分发我的公钥。我可以使用我的 eID 来签署我的证书,以便让用户知道它确实是我的公钥吗?这会是一种安全且被接受的方式吗?
感谢您的想法和帮助。
从技术上讲,你可以用你的电子身份证签署任何你想要的东西。任何拥有您证书的人都可以根据您的公钥验证签名并验证证书路径(假设验证者认为 Citizen Root CA 认为是有效的Trust Anchor)。
但是,出于多种原因,使用您的 eID 签署另一个证书并不是一个好的做法。
首先,它不尊重 X.509 标准。我的意思是,如果您使用您的 eID 密钥签署证书,则该证书的验证将被任何符合 X.509 的验证器拒绝。我至少看到两个原因:
而且这些对证书的限制只反映了证书颁发规则,也就是所谓的认证政策。证书政策是一份文件,表明证书颁发机构如何颁发证书(例如如何验证证书持有者的身份,证书中包含哪些信息,证书的可接受和禁止用途......)。
eID 认证政策可在此处获得:http ://repository.eid.belgium.be/downloads/citizen/en/CPS_CitizenCA.pdf
第 4.5.1 节公民义务说:
仅将证书用于符合 CPS 的合法和授权目的。
这意味着即使一个签名在技术上是有效的,这个签名的值也从属于根据策略对您的证书的授权使用。换句话说,使用您的 eID 卡签署证书在技术上是可行的,但由于此使用未经策略授权,因此该证书在 Citizen CA 上下文中没有价值。
但请注意,除了创建新的公钥之外,您不直接使用您的eID 公民签名证书吗?