1. 公钥基础设施
公开密钥基础建设(英语:Public Key Infrastructure,缩写:PKI),又称公开密钥基础架构、公钥基础建设、公钥基础设施、公开密码匙基础建设或公钥基础架构,是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。
密码学上,公开密钥基础建设借着数字证书认证机构(CA)将用户的个人身份跟公开密钥链接在一起。对每个证书中心用户的身份必须是唯一的。链接关系通过注册和发布过程创建,取决于担保级别,链接关系可能由 CA 的各种软件或在人为监督下完成。
PKI 的确定链接关系的这一角色称为注册管理中心(Registration Authority,RA)。RA确保公开密钥和个人身份链接,可以防抵赖。在微软的公开密钥基础建设之下,注册管理中心(RA)又被叫做从属数字证书认证机构(Subordinate CA)。
可信赖的第三者(Trusted third party,TTP)也常被用来指证书中心。PKI有时被错误地拿来代表公开密钥密码学或公开密钥算法。
1.1. 历史
1976 年 Whitfield Diffie、Martin Hellman|Hellman、Ron Rivest、Adi Shamir 和 Leonard Adleman 等人相继公布了安全密钥交换与非对称密钥算法后,整个通信方式为之改变。随着高速电子数字通信的发展,用户对安全通信的需求越来越强。
密码协议在这种诉求下逐渐发展,造就新的密码原型。全球互联网发明与扩散后,认证与安全通信的需求也更加严苛。光商务理由便足以解释一切。时在网景工作的 Taher ElGamal 等人发展出传输安全层协议,包含了密钥创建、服务器认证等。公开密钥基础建设的架构因此浮现。
厂商和企业家察觉了其后的广大市场,开始设立新公司并启动法律认知与保护。美国律师协会项目发行了一份对公开密钥基础建设操作的可预见法律观点的详尽分析,随后,多个美国州政府与其他国家的司法单位开始制定相关法规。消费者团体等则提出对隐私、访问、可靠性的质疑,也被列入司法的考虑中。
被制定的法规实有不同,将公开密钥基础建设的机制转换成商务操作有实际上的问题,远比许多先驱者所想的缓慢。
21世纪的前几年才慢慢发觉,密码工程没那么容易被设计与实践,某些存在的标准某方面甚至是不合宜的。
公开密钥基础建设的厂商发现了一个市场,但并非九零年代中期所预想的那个市场,这个市场发展得缓慢而且以不同的方式前进。公开密钥基础建设并未解决所期待的问题,某些厂商甚至退出市场。公开密钥基础建设最成功的地方是在政府部门,目前最大的公开密钥基础建设是美国防卫信息系统局 (Defense Information Systems Agency,DISA)的共同访问卡(Common access Cards)方案。
1.2. 目的与机能
公开密钥基础建设的设置使得未联系的电脑用户可以提出认证,并使用公钥证书内的公钥信息加密给对方。解密时,每个用户使用自己的私密密钥解密,该密钥通常被通行码保护。大致而言,公开密钥基础建设由客户端软件、服务端软件、硬件、法律合约与保证、操作程序等组成。签署者的公钥证书也可能被第三者使用,用来验证由该签署者签署的数字签名。
通常,公开密钥基础建设协助参与者对话以达成机密性、消息完整性、以及用户认证,而不用预先交换任何秘密信息。然而互通连成员间的公开密钥基础建设受制于许多现实问题,例如不确定的证书撤销、证书中心发行证书的条件、司法单位规范与法律的变化、还有信任。
1.3. 组成要素
PKI 的组成要素主要有: 用户(使用PKI的人或机构);认证机构(Certification Authority,CA)(颁发证书的人或机构);仓库(保存证书的数据库)。用户和认证机构称之为实体。
用户是使用 PKI 的人,使用 PKI 的人又分为两种:一种是向认证机构(CA)注册自己公钥的人,另一种是希望使用已注册公钥的人。
认证机构是对证书进行管理的人或机构。认证机构进行这几种操作:代用户生成密钥对(当然可以由用户自己生成);对注册公钥的用户进行身份验证;生成并颁发证书;作废证书。另外,对公钥注册和用户身份验证可以由注册机构(Registration Authority,RA)来完成。
仓库(repository)是存放证书的数据库。仓库也叫证书目录。
1.4. 典型的用途
大部分企业级的公钥基础建设系统,依赖由更高端级的证书中心发行给低端证书中心的证书,而层层构筑而成的证书链,来创建某个参与者的身份识别证书的合法性。这产生了不只一个电脑且通常涵盖多个组织的证书层次结构,涉及到多个来源软件间的合作。因此公开的标准对公钥基础建设相当重要。这个领域的标准化多由互联网工程工作小组的 PKIX 工作群完成。
企业公钥基础建设通常和企业的数据库目录紧密结合,每个员工的公钥内嵌在证书中,和人事资料一起存储。今日最先进的目录科技是轻量目录访问协议(Lightweight Directory Access Protocol,LDAP)。事实上,最常见的证书格式 X.509 的前身 X.500 是用于 LDAP 的前置处理器的目录略图。
1.5. 其他方案
1.5.1. 信任网络
信任网络(Web of trust)是处理公钥如何跨越时间、空间提供公众认证的另类的方式,它使用自我签署的证书和第三者证词。论及信任网络,并非暗指单一信任网络或共同信任点的存在,而可能是多个不同互连的信任网络。这类实现如 PGP 和 GnuPG。因为 PGP 和其实现允许电子邮件数字签名使用于自我发行的公钥,这相对更容易实现个人的信任网络。
信任网络的其中一个优点是它可与被某群体完全信赖的公钥基础建设证书中心协同。
1.5.2. 简易公开密钥基础建设
另一个未处理公钥认证信息的方案是简易公开密钥基础建设(Simple public key infrastructure,SPKI),它发展出三个独立的功用以免去 X.509 和 PGP 信任网络的复杂。简易公开密钥基础建设并不链接个人与密钥,正因密钥才是真正“说话”的角色。SPKI 未使用任何信任的概念,正如验证方同时也是发行者。这被称为‘授权环’(authorization loop)。
1.6. PKI 应用
1.6.1. 安全性
网络服务面临的安全性议题有二:一是网络与设备上的安全议题,另一是信息的安全议题。 网络服务可以穿过传统的网络保护机制,同时网络服务也可以携带筹载物(payload),还可以与企业内部应用程序沟通,如此等于大开安全之门。因此在网络安全问题上,可能会面临假身份问题,以及利用无效的SQL语法、LDAP或是XPath作攻击,另外,攻击者也可以使用 XML 的拒绝服务攻击(DoS)来瘫痪网络连线。另外,在内容安全议题上,由于传递的是XML明码,因此极易被有心人给窥视,因此网络服务也需对其传递内容进行保护,以免泄漏重要信息。
1.6.2. 证书应用风险规划
电子证书主要目的为让网络交易双方创建信赖关系,其法律效力在于内含之数字签名,而非证书本身;证书只在确认此数字签名的正确性与用户身份真实性。电子证书内含密码学技术,且由具公信力的CA所核发,其安全性不置可否。然而,若将证书与其他应用一起使用,例如同时作为企业内部管理的功能,则必须考虑可能造成的风险。
企业在应用电子证书时,应有完整的风险规划,例如证书的选择、CA的选择、了解证书应用范围的限制、了解证书服务契约之赔偿责任、利用各项功能或机制(如黑名单机制、在线证书状态查询等)控制交易风险等。如此,才能在不逾越证书使用范围的法律效力下,适度做好交易风险控管,达到证书最终目的。
1.6.3. 对一般电脑用户的
PKI对我们日常生活有何影响呢?最主要看用户对信息安全的需求程度而定;换句话说,只要对“资料身份识别”、“交易资料完整”、“交易不可否认”或“保密”等其中之一有所需求,就可以使用PKI。
以社区管理为例,管理委员会挨家挨户向住户发送通知单或收取管理费,相当耗费时间与人力;如果以e-mail或在线缴费就方便多了。住户透过网络运用电子证书缴费,就是使用 PKI 当中的“身份识别”与“交易不可否认”等功能–在整个过程中,管理委员会就能够依证书识别用户的身份,而用户也不能否认其缴费动作。
PKI的应用范围不仅于此,例如目前流行的网络银行或网络下单等服务,都必须仰赖PKI机制并配合使用电子签名所给予之法律地位,以确保交易双方交易记录的存在(“交易资料完整”与“交易不可否认”)与身份确认,使业者与消费者的权益都受到保障、以及利用网络达到安全传递信息的目的。
日常生活中会接触到的PKI应用还包括网络报税、高速公路收费自动化智能卡、电子邮件加密签名、上网购物、与大楼门禁系统等。