imtoken官网下载1.0安卓|pki体系
一篇文章带您读懂公钥基础设施(PKI )体系 - 知乎
一篇文章带您读懂公钥基础设施(PKI )体系 - 知乎首发于问我学院切换模式写文章登录/注册一篇文章带您读懂公钥基础设施(PKI )体系问我学院问我学院,专注计算机信息,区块链,人工智能和大数据等技术研究公钥基础设施(Public Key Infrastructure, PKI)是典型的密码应用技术。在 PKI 系统中, 由证书认证机构(Certification Authority, CA)签发数字证书、绑定 PKI 用户的身份信息和公钥。 PKI 依赖方(Relying Party)预先存储有自己所信任的根 CA 自签名证书,,用来验证与之通信的 PKI 用户的证书链,,从而可信地获得该用户的公钥、用于各种安全服务。PKI 的发展简史1978 年, L. Kohnfelder 首次提出证书的概念;1988 年,第一版本的 X.509 标准推出,发展至 2005 年的版本 3 标准;1995 年,IETF 成立 PKIX 工作组,将 X.509 标准用于 Internet, 2013 年,,IETF PKIX 工作组结束工作任务。经过多年的技术研究, PKI 技术已经有了长足的进展、广泛的应用, 在全球的信息系统中发挥了重要的安全支撑作用。身份认证技术身份认证技术是保护信息安全的第一道屏障,其核心技术是信息安全保障体系,也是最基本的环节。它的基本思路:经过验证用户所具有的属性,来判断用户身份是否真实。根据不同的标准身份认证技术,分为四种类型。依据认证消息的不同性质,分为以下三种类型:一是物理介质认证是通过被验证方出据其持有的物理介质来身份认证,包括信用卡和令牌卡等;二是秘密知识验证是通讯两方应用一同拥有的秘密信息来身份认证,如口令、个人识别码等;三是实体特征验证一方面是实体具有的物理特性,如硬盘的序列号等,另一方面是个体的生物学特性,如指纹和声音等。依据待认证的实体与实体之间的相关性,共有单、双向两种认证。单向系统中被验证方必须信任验证方,由被验证方向验证方提供认证信息,双向系统中两方必须互相为对方提供自己的身份证实信息,来相互验证。根据认证对象分为实体身份认证和信息身份认证。前者主要用于鉴别实体的真实身份,后者主要是用于消息传递过程中的不可抵赖性、完整性和新鲜性。根据双方的信任关系分为无仲裁认证和有仲裁认证两类。无仲裁认证体系里,进行消息传递的两方一起抵御敌方的进攻,而且都信任对方。在有仲裁认证系统中,通信过程中任意一方均有作弊的可能性,两方均不信任对方,如果出现纠纷的现象,则由可信的第三方进行仲裁。 当前广泛应用的主要有:基于口令的验证方法,基于生物特征识别的验证,基于 PKI 技术的验证等。在身份认证系统实际的设计及应用过程中,设计者经常同时使用多种认证机制,使两种及以上的认证方法相互配置,达到认证过程更加安全可靠的目标。常用的身份认证方法基于口令的身份认证技术口令分为两种:静态口令和动态口令。前者为过去常用的方式,它的原理为系统有一个认证服务器。服务器提前保存每一个用户的一组信息,即用户名 ID 和密码 PW,当用户要求访问系统时,用户在客户机或终端上输入用户名和密码。系统将用户输入的用户名和密码与认证服务器内保存的合法用户的用户名和密码信息对进行匹配,如果匹配成功,则证明该用户为合法用户,允许用户访问系统资源,反之用户身份没有通过验证,系统拒绝用户登录和访问。静态口令的优点是方便使用,操作特别简单,成本低,运行速度快,但还有诸多安全隐患,例如易被盗取和冒充、窥探等。动态口令是为处理静态口令或许会出现的安全隐患而产生的。动态口令亦称一次性口令,采用一次性使用口令的方法,用户每次使用动态口令牌生成动态密码,因为只有合法用户才能使用动态令牌,所以认证服务器可以通过验证密码来认证用户,保证了用户身份的安全性。动态口令分为同步和异步认证技术,其中同步认证技术有基于时间和基于事件两种方式;异步认证技术则是基于“挑战-应答”的认证技术。例如用基于时间同步认证技术时,若用户端和服务器端的时间未能一致,用户就可能无法登录系统。基于生物特征的身份认证技术基于生物特征识别的身份认证,是指用户特有的生物特征的使用,例如虹膜,指纹,声纹认证技术。基于生物特征识别的身份认证,基本上被认为最值得信任的认证方法,几乎找不到两个人会拥有一样的生物特性,用户信息是独一无二和无法替代的,用户也就不可能被假冒。其中,指纹身份认证系统经过剖析、抽取和留存指纹的全部及部分特征,将用户的指纹与事先留存的指纹进行比对,用于验证用户身份的真实性。声纹身份认证是预先将说话人的语音波形保存起来,根据语音波形中反映说话人的声道和发音特征的语音参数,将待识别的语音信号与之进行比较来识别说话人的身份。 但是,生物特征识别技术还不完全成熟,其稳定性和准确性还不够高,例如指纹识别时,如果用户手指有污渍或受伤指纹改变,则系统不能正如通常情况一样识别出用户的指纹信息,则用户被系统拒绝访问。另外因为生物特征认证系统的研发成本投入高,而市场应用比较少,现阶段还无法广泛推广。基于 PKI 的身份认证技术PKI 即为公钥基础设施,是一种遵循公钥密码理论和技术为电子商务等提供普适性安全服务平台的基础设施。其基本原理是:第三方权威机构—身份认证中心 CA,将用户所持有的公开密钥与其身份信息(如名称、电话等)结合在一起。在两者相结合之前,由身份认证中心 CA 证实用户身份的真实性,而后身份认证中心 CA 给用户及其公开密钥捆绑的证书签名,则签名证书有效。每个用户均拥有一对公钥和私钥,其中公钥在网络中是公开的,用于文件发送时对信息进行加密;私钥是保密的,只归用户所有,用于对文件信息进行解密和签名。当准备发送消息时,发送方使用接收方的公开密钥加密要传输的数据,接收方得到数据后用其所持有的私有密钥来解密灵气,这样,用户可以在 PKI 服务平台安全通信。基于 PKI 的身份认证技术选用公开密钥技术,数字签名具有不可复制性,且数据得到完整和保密的保护。PKI 采用数字证书方式,由第三方可信任机构CA 颁发数字证书,同时存储在 USB Key、IC 智能卡等独立设备中,不在网络上传输,无需在线查询数字证书,即可证明用户的身份,能够扩展用户扩大服务范围,可以为大用户群服务。PKI 技术提供数字证书的恢复和撤销机制,如果用户的数字证书丢失或用户信息改变等情况,可以对恢复或撤销数字证书,防止数字证书被窃取或被恶意盗用。基于 PKI 的身份认证技术具有灵活性、可扩展性。PKI 相关技术对称密钥加密技术对称加密技术,即专用密钥加密技术或单钥密码技术,加密密钥与解密密钥一致,发送方与接收方用同一组的公私密钥对加密或者解密信息。数据加密的一个关键要求是有相同的密钥才能解密。因为通信双方共享密钥,如果密钥丢失或泄露,那么获取密钥的人就可以加密或者解密数据,所以为保证消息的机密性必须保障密钥的安全。目前经常使用的对称加密算法有 DES、AES 等。这种算法比较简单且计算量比较小,对网络开放、从而能够效率高地加密。同时存在的缺点,一是通讯双方基于通过非面对面的方式协商一个共同的密钥,因此不能保证协商过程的安全性。二是通讯双方每次进行数据传输时都使用惟一密钥,这使得对称加密技术在开放型的网络中需要使用和生成大量的密钥,对于密钥的管理就成为用户的很大负担。三是对称加密算法只能对数据进行加解密,保证数据的机密性,但无法验 证通讯双方的真实身份,不能确定数据的完整性。非对称密钥加密技术非对称密钥加密技术,由公钥和私钥形成一个密钥对,其中公钥向公众公开,私钥归密钥持有人单独保管。通讯双方使用非对称密钥对数据进行加密和解密时,必须使用相互匹配的公钥和私钥。这种算法包括 RSA,PKCS 等。它有两种方式:一种是发送方用接收方的公钥来加密信息,接收方用其私钥解密信息,这样接收方可以收到多个发送方传来的加密数据,且此加密数据只有接收方一个用户可以解读;另一种即发送方利用自身的私钥加密信息,接收方用对方公钥解密信息,这样一个信息有可能被多个接收方解密。非对称密钥加密技术的优点是简化了密钥的发放及管理的过程,支持数字签名等安全认证技术,缺点是加密和解密的计算过程特别复杂,运行数据加密和解密的速度比较慢。在实际应用中,经常同时使用两种加密技术,解决数据加解密过程里的各种问题。消息摘要这种算法的核心特点:一是不使用密钥进行加密;二是如果需要得到相同的曾加密过的密文数据,要满足两个条件,使用同一个消息摘要算法和提供同一个原文数据;三是经加密完成的数据是无法被逆向解密的。消息摘要算法的适应范围很广,主要包括分布式网络等。输入不同长度的原文数据经过同一个消息摘要算法计算,所得到的消息摘要的长度是一样的,即消息摘要的长度不因输入的原文数据的多或少而改变。然而不同的算法都有各自固定长度,如 MD5 算法为 128 个比特位,SHA-1 为 192和 256 比特位。普遍认为消息摘要算法的安全程度与计算出消息摘要的长度成正比,即摘要越长算法越安全。消息摘要的内容看似有随机性,实质并不是随机的。这可以通过多次输入不同的原文数据来检验经消息摘要算法计算的结果是否相同来论证,通常输入的原始数据不同得到的消息摘要就不相同,如果真的具有随机性,那么每次输入相同的原文数据,得到的消息摘要应该不相同,每次得到的消息摘要都是不可重现的,但是,事实并非如此,经同一消息摘要计算的同一原文数据得到的相同的消息摘要,也就是说消息摘要并不是真正随机的。同时,两份原文数据内容基本相似,得到的消息摘要却相差很大。消息摘要应用的是单向函数,只能将原文数据计算出消息摘要,但是不能依据消息摘要逆向得到原文数据,甚至是找不到原文数据任何相关信息。如果尝试强力攻击,倒推计算消息摘要,判断与已有的消息摘要是否相同,得到的相关信息是数以万计的可能的消息中的一个,因此强力攻击方法是不可取的。消息摘要算法对构造数字签名方案起到重要作用,通过它计算得到的消息摘要与原文数据紧密相关,改动原文数据就会使消息摘要发生改变,并用它始终是固定长度,比原文数据简短很多。消息摘要与原文数据是单向的一对一关系,对数据的消息摘要进行签名大大提高了签名效率。数字证书接收方利用发送方的公钥解密对方的数字签名,来验证信息是否是由发送方所提供,但却无法证实发送方与其所声明的数据的拥有者是一致的。同时,虽然公钥是公开的,但是不排除有安全漏洞,数字签名有可能被伪造。目前主要是采用签发数字证书来解决以上问题。数字证书实际上是由认证中心颁发的包含证书持有人的真实身份信息、公开密钥信息等信息一段数据。而且其功能与日常用的居民身份证相似,身份认证机构签发的数字签名可以保障数字证书信息的真实性。数字证书持有者有一个仅为本人所有的私钥,用它对要传输的信息进行签名,或对接收到的信息进行解密;同时由本人公开一个公钥,共享给有通信需要的一组用户,用来对信息进行加密和验证签名。通常,数字证书的颁发流程是用户在向身份认证中心提出申请前,必须生成自己的一对密钥,然后将包含本人身份信息和公钥的申请发送给认证中心。认证中心首先对用户提供的相关相信进行核实,这个过程中要执行关键的步骤来确认该申请是用户本人发送的,而后认证中心向申请用户颁发数字证书,证书中储存用户名称、公钥等相关信息,数字签名信息。持有数字证书的用户就可以进行数据传输、网上银行等相关的活动。颁发数字证书的机构是一个可信任的第三方独立机构,因颁发机构授权的领域不同,证书的类型和用处也各不一样,而且各类证书的可信度级别也大相径庭。 数字证书有以下三个特点:它是 PKI 体系的元件。PKI 体系所提供的所有安全服务都是以数字证书为应用主体的,系统运行过程中的各个步骤都离不开数字证书,可以说数字证书是 PKI 的核心组件。数字证书具有权威性。它是由权威的、可信赖的和公正的第三方身份认证中心 CA 颁发的认证中心 CA 为特定的应用网络和用户提供身份认证服务,负责验证公钥的合法性,证明用户是证书的合法持有者,同时,签发、分配、储存、更新和删除证书。数字证书不仅装载用户的公钥而且证明用户身份。 目前数字证书的格式普遍遵循 X.509V3 国际标准,证书包括证书的版本号、序列号、算法、命名规则通常采用 X.500 格式、有效日期、名称、公钥信息、数字证书颁发者标识符。 X.509V3 数字证书包括扩展标识符、关键程度指示器和扩展字段值。数字证书扩展包括密钥信息、政策信息等。数字签名数字签名就是数据的发送方用密码算法加密一段数据,处理生成一段符加数据同原始数据一起发送给接收方。数字签名用来证明发送方数据的真实性。因为公钥是对一定范围的用户公开的,所以多个人可以用公钥加密数据,接收方可以利用数字签名确认发送方的身份。在密码系统安全的情况下,接收方可以通过此方法鉴定发送方的真实身份。数字签名保证传输数据的完整性,防止数据发送方的身份被伪造,防止数据在传输过程中被第三方采取非法手段进行截获、修改、转发,虽然不能保证绝对不会被第三方修改数据,但是通过这种方法使第三方读取数据变得非常困难。数字签名确保交易的不可抵赖性。应用数字签名后,发送方无法不承认曾传输过数据,数据的接收方能够用数字签名来证明数据的发送方。杂凑值数字签名杂凑函数具有单向性、强无碰撞性、求第二原像不可行性。任意长度的数据经过 Hash 算法加密压缩,都会生成一个指定长度的杂凑值。杂凑值数字签名的过程是:一是用 Hash 算法加密原文数据,生成固定长度的杂凑值;二是用发送方自己的私钥加密该杂凑值生成数字签名,传输给接收方;三是接收方用发送方的公钥解密第二步生成的数字签名,反向计算获得第一步生成的杂凑值,用同一种 Hash 算法永计算数据,获得另一个杂凑值,对比两个值,如果相同,说明该数据就是发送方签名后发送给接收方的,否则,就不是发送方所传送的数据,不能信任。私钥签名私钥签名利用非对称加密算法的私钥加密原文数据,它是一种对整体消息的签名,适用于小文件信息。首先发送方用自己的私钥对数据进行加密处理,生成数字签名,再把原文数据与生成的数字签名相捆绑共同传输给接收方,因为接收方拥有发送方对外公开的与其相匹配的公钥,用这个公钥解密收到的信息,然后比较解密后的数据与捆绑中的原文数据,由此来证明接收方收到的数据确实是其所声称的发送方所提供的。数字信封发送方使用对称密钥加密数据,然后使用收件方的公钥加密对称密钥,产生一个数字信封,发送到收件方。因为匹配的公私密钥对对应一个固定的用户的数字信封,所以只有指定的接收者可以打开数字信封,用获得的密钥对解密数字信封 ,得到原文数据。数字信封具有非常高的安全性。一是数字信封的打包,用收件方的公钥加密要传输的信息,只能是收件方的私钥将该信息复原;二是数字信封的拆解,即利用私钥将经过加数据解密。数字信封能够保障真实和完整的传输数据。因为数字信封的功能接近于生活中使用的普通信封,它用密码加密技术保护数据,规定指定的接收方能够解密数据,获得原文数据。数字信封结合对称密钥加密技术的高效性、安全性,克服该技术发放密钥过程的复杂性,结合非对称密钥加密技术的灵活性,避免该技术对数据进行加密需要非常长时间的困扰,保证数据传输的完整性、真实性、高效性。基于 PKI 的数字证书身份认证体系PKI 体系的组成PKI 利用公钥技术和数字证书建立一个安全域,在此环境内,PKI 主要负责管理加密密钥,其中包括密钥的更新、恢复;负责发布数字证书,包括证书的生成、更新和撤销等。如果 PKI 体系有需求与其他安全域建立互联的信任关系,可以通过交叉认证等形式建立联系。PKI 将硬件系统、软件系统及安全策略结合形成一个完整的安全机制,无论发送方在什么地点什么身份,都以证书为最根本的信任依据,在此基础上双方进行各种通讯活动。PKI 系统由认证机构 CA、注册机构 RA、数字证书库、密钥备份及恢复系统、证书撤销系统、密钥更新机制等组成。认证机构 CA:它是数字证书的颁布机关,也是 PKI 体系的核心,是具有权威性、公正性的第三方机构。认证机构 CA 首先确认申请证书的申请用户身份,然后将要颁发的证书的主体与公钥捆绑在一起,生成数字证书,从而使申请用户与一对公钥和私钥建立对应关系。注册机构 RA:它负用来收用户的申请,审核用户的真实身份,符合颁发证书条件的用户可以被颁布数字证书,否则将不能获得数字证书。数字证书库:集中储存已经颁发的证书和公钥,用户可以方便地在证书库中查询其他证书等相关信息。数字证书库的存放方式为目录服务器、关系数据库等。通常用的是 LDAP 目录。密钥备份及恢复系统:它是密钥管理体系的核心,如果用户不小心丢失数据的解密密钥,则无法解密曾经加密的数据。这个系统能够解决此类问题。在数字证书生成的同时,认证机构 CA 备份了加密密钥,并将它储存在数字证书库中,当用户因丢失密钥等原因需要重新找回密钥时,可以向认证机构 CA 提出申请,CA 为用户恢复密钥。证书撤销系统:因为用户丢失密钥,或者是用户的身份有所变化,证书超出有效期限,证书就要做相应的更新,产生新的证书,撤销原来旧的证书。证书撤销处理系统作为 PKI 体系中不可或缺的组成部分,要求 PKI 体系为证书撤销系统提供一整套管理机制。 证书自生成之后,PKI 系统会自动检查证书是否要超出有效期限,每过一段时间自动更新证书,在到期之前,CA 会启动更新程序,新生成一个证书,然后撤销过期的证书。应用接口(API):PKI 体系为用户提供通讯和使用等安全服务,它对应用接口的安全要求也非常的高。性能高的应用接口系统,能够满足 PKI 体系的各种功能的实现,如用户对证书的查询,涉及撤销证书的一些信息等,应用接口系统能够保证在安全、可靠的前提下使 PKI 体系和它的各种应用程序运行良好。PKI 体系主要提供认证、完整性和机密性三种主要的安全服务。认证——向一个实体确认另一个实体确实是他自己。完整性——向一个实体确保数据没有被有意或者无意地修改。机密性——向一个实体保障只有接收者,没有任何人可以解密数据的关键部分。PKI 体系必须为用户提供安全和透明的服务,用户不必考虑 PKI 体系中的证书是怎样生成、更新、撤销及恢复的,密钥是如何管理的,只要用户自己能够方便地获得数字签名即可。CA 证书CA 概述认证中心 CA 是权威的、可信赖的和公正的第三方机构,专门负责产生、颁发和管理数字证书,为参与网上交易等活动的用户提供安全服务。认证中心CA 颁发的数字证书内包括用户的名称等有关身份的信息,并且这些信息与数字证书库内的公开密钥是一一对应的,当用户向注册中心 RA 提出申请,其身份等相关信息通过审核,CA 为用户颁发证书,由此拥有数字证书的用户与用户的公钥和私钥、有关用户身份的信息与数字证书中心建立了合法的联系,用户和数字证书的真实性一致。CA 是 PKI 体系的关键组成部分,向用户颁发和管理各种应用的数字证书。认证中心 CA 的主要功能包括证书的申请、审批、颁发、查询、更新和撤销,及管理撤销证书列表。CA 的组成部分,以及各部分的主要功能:证书签发系统用该系统的私钥和加密算法,将用户申请时提供的个人信息和用户的公钥捆绑在要颁发的数字证书内。密钥管理系统它负责密钥的生成、存储、撤销、恢复、更新及查询。注册审计系统当用户向认证中心提出申请颁发或恢复数字证书等请求时,注册审计系统负责注册和审核用户的相关身份信息,审核和提交用户的请求,提供证书管理统计功能。证书 CRL 发布系统证书 CRL 发布系统负责发布认证中心 CA 的信息,对外发布的时间是有固定间隔的。CA 信任模型它是不同 PKI 域的用户之间建立的信任关系,实现相互认证,在各个用户之间建立信任路径的模型。PKI 信任模型是建立 PKI 体系的首要问题。PKI 信任模型能够有效解决用户的信任起点在哪里,以及这种信任在 PKI 系统中是如何被传递的有关问题。同一个 PKI 系统的信任模型,会因为有不同的 CA 体系结构而有不同的构建方案。PKI 的信任模型有以下五种类型。严格层次信任模型,模型中所有结点都信任唯一的根 CA,每个结点必须保存根 CA 中心的公钥,从根 CA 到认证结点仅有一条信任路径。当用户之间需要通信时,必须先通过根 CA 来验证双方的公钥证书。这样的信任模型适用于独立、分层的企业应用,难以用于不同组织的企业之间。其优点是证书路径是单向的、路径短,易于扩展。缺点是如果根 CA 发生故障,整个信任模型将被毁坏,而且目前还没有较好的技术来解决这个难题。网状信任模型,信任模型中有许多个 CA,任意一个 CA 都有权对其它的 CA进行认证,任意两个 CA 可以相互认证。网状信任模型适用于没有层级关系或动态变化的通信机构之间,但是对于特定的 CA 不一定能适合认证某一个 CA,且两个 CA 之间的信任路径可能会有许多条,所以构建信任路径要比层次模型复杂,在构建信任路径时要应用优化措施。网状信任模型中的 CA 都是独立的,没有级别之分,没有根 CA,当信任传递的需求量增大时,可以随时新增多个 CA,通过在交叉认证关系来实现信任路径的增多。其优点是每个根 CA 都是独立的,某个根 CA 的安全性被破坏不会影响到其它根 CA 的相互信任,相互认证的路径的灵活的可变的。其缺点是从用户端到根 CA 的认证路径是不确定的,有多种可选择的路径,因此寻址相对困难些。选择一个正确的路径后,放弃其它可选择的路径,有时可能陷入无止境的循环寻址路径里。混合信任模型,就是将层次、网状信任等模型结合在一起。在这种信任模型中,每一个层次结构都有根 CA,任意两个根 CA 之间必须建立交叉认证,且有一个对应的交叉证书,用于两个层次结构之间的相互认证。如果不是层次结构的根 CA 之间的交叉认证关系不复杂,可以在两者之间构建简单的认证路径。但是,在混合信任模型中,每新增一个域,域和域之间建立的交叉认证书的数量是以平方的数量级递增的,当应用实体需要大规模的扩展域时,根 CA 之间的交叉认证会越来越大和复杂。信任列表模型,这种模型向客户端系统提供可信任根 CA 的公开密钥,认证证书直接或者间接地与可信任根 CA 相连。这种模型应用的实例,如我们所用的浏览器中下载应用的各种证书。这种模型的优点是相互操作的步骤简单和方便,但是存在许多不容忽视的安全问题,举个常见的实例,我们使用的浏览器会事先安装一些可信任根 CA 的公钥,用户就会默认这些公钥都是可信任的,但是如果其中有一个根 CA 是这安全的,整个浏览器的安全性将遭到破坏。当一个根 CA 的公开密钥的安全性已经被破坏,或者根 CA 的公开密钥所对应的私有密钥已经被泄露,我们是无法将数以万计的浏览器废止已被破坏的根 CA 的密钥的。CA 的功能检验申请者的身份。当证书申请者将包含其真实身份、申请证书的目的和用途等相关信息的注册申请提交给认证中心 CA 后,CA 负责审查申请者的注册信息,确认其身份的真实性和可靠性。保障颁布私有密钥的安全性。认证中心 CA 所颁布的私有密钥必须是由硬件生成,而不是单纯由软件生成的,同时为提高私钥的安全性,私钥的长度尽量长,降低被破译的风险,且不禁止私钥通过网络传输或在计算机内存中保存,必须由独立的介质保存。管理证书。保障颁发证书名称、序号、CA 标识对于每个证书都是对应的,且均具有是唯一性,不会出现 CA 标识和证书序号重复的情况。隔固定的时间检查证书的有效期,及时更新过期的证书,撤销已经作废的证书。发布已经作废的证书列表。维护作废证书列表,为用户提供在线查询服务,防止交易中的安全问题。全程监控颁发的证书,并记录每个证书的日志,作为交易发生纠纷时的仲裁依据。密钥是在认证中心 CA 的安全可信任硬件设备中生成的,并存储在独立的密钥库中,用户的私钥也是存储在特定的独立的存储设备中,密钥不会在网络中出现,而是以密文的方式出现在证书中。用户身份认证流程用户将包括用户的名称、身份证号、联系电话等个人信息提交给注册机构RA,RA 审核用户信息的真实性,及判断用户申请注册的原因是否符合审核条件,审核通过后 RA 将个人信息提交给认证中心 CA,认证中心 CA 确定申请用户的身份符合其安全策略,CA 向密钥管理设备申请生成用户的公钥和私钥,生成的公钥和私钥存储在密钥库中,用以用户丢失证书后恢复密钥,CA 向用户颁发证书,用户的私钥封装在数字证书的载体中,例如 USB Key 设备中。用户得到数字证书后,就可以在身份认证中心 CA 所信任的系统中使用。首先,CA 为其信任的应用系统颁发证书,然后在用户端安装 CA 的客户端,当用户向应用系统提出访问请求时,客户端将用户证书信息传输给 CA 的认证模块,系统会判断用户的数字证书与系统的证书是否是由同一个认证中心 CA 颁发的,如果是同一个 CA 颁发的证书,认证模块为其生成一个随机数 M 作为“挑战”,将 M 传送给客户端;客户端利用用户的私有密钥对随机数 M 进行数字签名,数字签名的结果为 A,用户端将 A 提交给认证模块;认证模块在 LDAP 目录中查询到用户的数字证书,获取该数字证书中的公钥,用该公钥对用户端传送来的数字签名 M 进行解密,结果为 m,其为认证模块为用户生成的随机数 M,如果 M 等于 m,证明用户的身份认证成功,用户可以访问电子政务系统;否则,该用户为非法用户,拒绝其访问系统。小结随着电子信息技术的快速发展,信息安全问题得到了人们重视,其中 PKI 技术可以依据多个计算机用户的需求提供多样的安全服务,从而使计算机在具体应用过程中的真实性、完整性、机密性等多方面的优势能够得到保障,促进计算机技术的发展,使其能够更好的为人们服务。目前流行的区块链项目大多都使用到了 PKI 技术去对用户进行认证,例如 Hyperledger Fabric、SimpleChain、ImcoreChain 等。下面是一个很常见的区块链的项目架构的设计图我们都知道,CA 是 PKI 的核心,上图中的 CA 实际上就是使用 PKI 体系搭建的一个权威证书服务中心服务。原文链接:http://www.wenwoha.com/blog_detail-10.html支持平台:链眼社区http://www.chaineye.info椭圆曲线(原木姜子科技)http://www.gingernet.vip/ 发布于 2021-06-03 12:34数字签名PKI赞同 561 条评论分享喜欢收藏申请转载文章被以下专栏收录问我学院专注软硬件开发,测试和运维平台技术文
5分钟让你知道什么是PKI - 知乎
5分钟让你知道什么是PKI - 知乎切换模式写文章登录/注册5分钟让你知道什么是PKI再见尼克国家一级退堂鼓表演艺术家前言Public Key Infrastructure(PKI),中文叫做公开密钥基础设施,也就是利用公开密钥机制建立起来的基础设施。但是如果这么解释起来,到底是个什么东西,大家想必是没办法理解的。现在大家的很多重要活动都是通过网络进行的,那么与之俱来的安全问题就显得非常重要。同时很多安全保障机制都是基于PKI的,如果你因为各种原因(考试?提案?好奇?)想知道各种PKI是什么。那么通过这篇文章,绝对让你5分钟知道什么是PKI。PKI不好理解的原因是,这个概念包括了很多不同的技术和知识,同时又因为这个概念很庞大,让人感觉无从下手。但是,这个概念其实没有看起来那么复杂,让我们开始说明吧!第1分钟 - PKI的核心是身份证明书的发行PKI的主要目的是用来发行“身份证明书”,网络上因为大家不能见面,所以伪造身份是非常容易的事情。因为要在网络上验明正身,所以这个网络身份证明书就变得很重要了。相互通信的时候,如果能相互确认身份证明书,那么我们就知道自己是在跟对的人通信。但是,自己做的身份证明书是不能拿来作为证明的,就像生活中,如果公民身份证可以私人合法制作的话,那么身份证也就没啥可信度了。网络世界中,我们需要一个信得过的发证机关来发行身份证明书,同时自己要好好保管自己的身份证明书,就像派出所给你发了公民身份证,自己要好好保管一样。PKI的世界里,这个身份证明书,被叫做“证明书”。发行“证明书”的机关叫做“认证机关”。还有一个就是统一管理证明书的证书“档案库”。这三个东西加起来,就是PKI的主要构成要素。第2分钟 - 构成PKI的要素只有三个就像之前提到的,一般来说,构成PKI的主要要素就是下面三个概念证明书认证机关证书库说到底,PKI指的是证明书的制作和分发的一种机制。在这个机制的保障前提下,进行可信赖的网络通信。即安全的网路通信保障机制。实际上,证明书是被存放在硬盘或者IC卡里面的。证明书的文件构造是一种叫做 X.509 的协议规定的。另一方面,认证机关也其实就是一个网络应用程序。证书库因为某些原因,其实也就是文件系统而已,在网络上将证书存放在一起。这些东西,可以通过下载来获取。或者,因为某些原因,证书直接分发,从而省去了证书库这个环节。第3分钟 - 证明书里面的密钥一旦利用了证明书确认了身份的同时,通信的加密也就可以实现了。为什么呢?证明书里面包含了用来加密的密钥。比如说,你要和一个自称比尔的男人通信。这个自称比尔的男人,会在通信的最开始,通过网络将证明书发给你,那么通过这个证明书,就证实了他就是比尔。然后,你用这个“证明书中的密钥”,将你要发送给比尔的内容进行加密,然后发送给比尔。用“证明书中的密钥”加密过的内容,只能用比尔自己才有的另一个“私人的密钥”才能解密。这样的话,如果你发送给比尔的内容被他人窃取的话,他人也无法解密。只要比尔自己好好保管好自己才有的“私人的密钥”,那么如果有人拿着比尔的“证明书中的密钥”想要胡作非为的话,那就是不可能的。因为用“证明书中的密钥”加密过的内容,只有比尔自己才有的“私人的密钥”才能解密。所以这么一来,PKI提供的证明书可以用来 身份确认 和 通信加密。同时实现了这两个重要的功能。第4分钟 - 什么是“公开密钥”,什么是“私有密钥”对于比尔来说,只要保证本人的那个“私人的密钥”不被盗走,包含在“证明书里的密钥”给多少人都没有关系。也就是说,想跟比尔通信的人,必须要有比尔的证明书,要用比尔“证明书里的密钥”对通信内容进行加密。为了能让其他人可以方便的获取比尔的证明书,证书库就显得有必要了。在PKI机制中,放在“证明书里面的密钥”可以被任意自由分发,这里的“证明书里的密钥”被叫做“公开密钥(Public Key)”。与此相对,本人保管的那个“私人的密钥”就要做“私有密钥(Private Key)”。就像前文提到的,公开密钥是放在证明书里面的,所有用什么样的方式去分发证明书都没有关系。放到U盘里给别人,或者放到网上让人任意下载,或者用邮件发送,都是可以的。第5分钟 - “拿什么去信任你?我的证明书”先前说到,用包含在证明书里的公开密钥去给通信内容加密,这个过程大家已经知道。但是PKI提供的证明书真的可以被信任吗?说到底,证明书也就是普通的文件而已。不像货币那样,本身有着特殊的材质或者物理上的防伪措施。这么想是完全对的,因为实际上,认证机关所用的证书生成器说到底也就是一个软件而已,如果搞到这个软件,谁都可以发行证明书。所以说,在技术上,伪造证明书是非常简单的。所谓假的证明书,比如说有一个所谓的“比尔的证明书”,但是里面含有的公开密钥是史提芬的公开密钥。那么,别人发给比尔的信息,史蒂芬可以解密,反而比尔自己不能解密。这样看来,这个认证机关就至关重要了,认证机关的可信度,直接与证书的可信度挂钩,也就是与整个PKI机制的可信度息息相关。关于认证机关的权威性和可信度的问题,其实是一个社会基础设施建设的话题了。在很多国家认证机关都是由政府在主导建设,常常被视作一个社会性基础设施的一个环节。如同建设各种社会机构,比如医院,银行,学校等等。(译者案:日本关于这些基础概念的文章都写的非常通俗易懂,如何去让小白都可以去理解一个非常复杂的概念,这是日本人写技术文章特别专注的,很值得大家学习)译者博客:Nic's Utopia原文出处:5分で絶対に分かるPKI编辑于 2021-05-31 16:47网络安全信息安全PKI赞同 46050 条评论分享喜欢收藏申请
什么是PKI 体系(数字证书种类)_pki体系-CSDN博客
>什么是PKI 体系(数字证书种类)_pki体系-CSDN博客
什么是PKI 体系(数字证书种类)
最新推荐文章于 2023-03-16 17:17:07 发布
西京刀客
最新推荐文章于 2023-03-16 17:17:07 发布
阅读量1.8w
收藏
42
点赞数
6
分类专栏:
区块链
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/inthat/article/details/112955419
版权
区块链
专栏收录该内容
111 篇文章
45 订阅
订阅专栏
文章目录
一、什么是PKIPKI 基本组件数字证书分类
二、参考
一、什么是PKI
PKI 是 Public Key Infrastructure 的缩写,中文叫做公开密钥基础设施,也就是利用公开密钥机制建立起来的基础设施。
PKI 是 Public Key Infrastructure 的缩写,其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间戳服务等)实现通信中各实体的身份认证、完整性、抗抵赖性和保密性。
PKI 既不是一个协议,也不是一个软件,它是一个标准,在这个标准之下发展出的为了实现安全基础服务目的的技术统称为 PKI。
百度百科:
PKI(Public Key Infrastructure)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。 一个机构通过采用PKI 框架管理密钥和证书可以建立一个安全的网络环境。PKI 主要包括四个部分:X.509 格式的证书(X.509 V3)和证书废止列表CRL(X.509 V2);CA 操作协议;CA 管理协议;CA 政策制定。
CA中心——CA系统——数字证书
CA 中心管理并运营 CA 系统,CA 系统负责颁发数字证书。 专门负责颁发数字证书的系统称为 CA 系统,负责管理并运营 CA 系统的机构称为 CA 中心。所有与数字证书相关的各种概念和技术,统称为 PKI(Public Key Infrastructure)。
PKI 的本质是把非对称密钥管理标准化。
数字证书:解决公钥与用户映射关系问题;CA:解决数字证书签发问题;KMC:解决私钥的备份与恢复问题;双证书机制:「签名证书及私钥」只用于签名验签,「加密证书及私钥」只用于加密解密。LDAP:解决数字证书查询和下载的性能问题,避免 CA 中心成为性能瓶颈。CRL(证书作废列表) 和 OSCP(在线证书状态协议):方便用户快速获得证书状态。RA:方便证书业务远程办理、方便证书管理流程与应用系统结合。电子认证服务机构:保证 CA 系统在数字证书管理方面的规范性、合规性和安全性。
PKI 基本组件
完整的 PKI 系统必须具有数字证书、认证中心(CA)、证书资料库、证书吊销系统、密钥备份及恢复系统、PKI 应用接口系统等构成部分。
组件描述数字证书包含了用于签名和加密数据的公钥的电子凭证,是PKI的核心元素认证中心(CA)数字证书的申请及签发机关,CA必须具备权威性证书资料库存储已签发的数字证书和公钥,以及相关证书目录,用户可由此获得所需的其他用户的证书及公钥证书吊销列表(CRL)/OCSP在有效期内吊销的证书列表,在线证书状态协议OCSP是获得证书状态的国际协议密钥备份及恢复为避免因用户丢失解密密钥而无法解密合法数据的情况,PKI提供备份与恢复密钥的机制。必须由可信的机构来完成。并且,密钥备份与恢复只能针对解密密钥,签名私钥不能够作备份PKI应用接口(API)为各种各样的应用提供安全、一致、 可信的方式与PKI交互,确保建立起来的网络环境安全可靠,并降低管理成本
数字证书分类
二、参考
PKI 体系概述 参考URL: https://www.jianshu.com/p/46a911bd49a7 PKI体系简介 参考URL: https://www.cnblogs.com/precedeforetime/p/13390761.html
优惠劵
西京刀客
关注
关注
6
点赞
踩
42
收藏
觉得还不错?
一键收藏
打赏
知道了
0
评论
什么是PKI 体系(数字证书种类)
文章目录一、什么是PKIPKI 基本组件数字证书分类二、参考一、什么是PKIPKI 是 Public Key Infrastructure 的缩写,中文叫做公开密钥基础设施,也就是利用公开密钥机制建立起来的基础设施。PKI 是 Public Key Infrastructure 的缩写,其主要功能是绑定证书持有者的身份和相关的密钥对(通过为公钥及相关的用户身份信息签发数字证书),为用户提供方便的证书申请、证书作废、证书获取、证书状态查询的途径,并利用数字证书及相关的各种服务(证书发布,黑名单发布,时间
复制链接
扫一扫
专栏目录
HTTPS学习笔记:(3)一文彻底了解PKI与证书
不积跬步,无以至千里;不积小流,无以成江海!
12-13
3376
1. PKI
PKI(public key infrastructure)的目标是实现不同成员在不见面的情况下进行安全通信,采用的模型是基于证书颁发机构( certification authority或certificate authority, CA)签发
的证书。PKI体系结构如下图所示:
订阅人:指那些需要证书来提供安全服务的团体。
登记机构:主要是完成一些证书签发的相关管理工作。可以...
PKI加密项目源码下载
07-10
PKI加密源码
参与评论
您还未登录,请先
登录
后发表或查看评论
PKI详解
appdeveloperxg的博客
02-03
1万+
PKI详解
一、什么是PKI?
官方定义:PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。PKI技术是一种遵循既定标准的密钥管理平台,它的基础是加密技术,核心是证书服务,支持集中自动的密钥管理和密钥分配,能够为所有的网络应用提供加密和数字签名等密码服务及所需要的密钥和证书管理体系。
通俗理解:PKI就是利用公开密钥理论和技术建立提供安全服务的、具有通用性的基础设施.
PKI体系(公钥基础设施)
weixin_33714884的博客
09-20
2350
转载出处http://blog.sina.com.cn/s/blog_afd4c4ef0102w20n.html 定义公钥基础设施PKI(Public Key Infrastructure),是一种遵循既定标准的密钥管理平台,它能够为所有网络应用提供加密和数字签名等密码服务及所必需的密钥和证书管理体系,简单来说,PKI就是利用公钥理论和技术建立的提供安全服务的基础设施。PKI...
PKI体系系列一
weixin_42579622的博客
03-05
666
PKI体系系列文档是密码学中所用到的相关公钥算法及应用。主要介绍公钥加解密、数字签名、双重签名、证书等相关内容,本文档主要介绍了PKI体系中的公钥加解密部分的内容,后续会不断更新~欢迎大家一起讨论学习~
PKI 体系概述
云上笛暮
12-10
3756
CA中心——CA系统——数字证书
CA 中心管理并运营 CA 系统,CA 系统负责颁发数字证书。
专门负责颁发数字证书的系统称为 CA 系统,负责管理并运营 CA 系统的机构称为 CA 中心。所有与数字证书相关的各种概念和技术,统称为 PKI(Public Key Infrastructure)。
传统密码学
换位加密法;
替换加密法;
现代密码学加密基元
加密基元就是一些基础的密码学算法,通过它们才能够构建更多的密码学算法、协议、应用程序。
说明:
散列函数(散列(hash)、指纹.
PKI 简介
苏木川的博客
03-16
2020
PKI 全称为 Public Key Infrastructure,中文翻译为公钥基础设施,是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。
pki体系总结
m0_73429317的博客
11-11
2476
pki体系的最完整详细总结,思路清晰。
CA证书结构和验证原理
Tomhex的博客
01-19
1258
CA证书结构
PKI体系快速介绍
测试开发的成长点滴
07-19
2614
首先,PKI(PublicKeyInfrastructure)是一个体系。公钥基础设施是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。PKI体系是计算机软硬件、权威机构及应用系统的结合。它为实施电子商务、电子政务、办公自动化等提供了基本的安全服务,从而使那些彼此不认识或距离很远的用户能通过信任链安全地交流。—百度百科说白了,PKI还是提供了彼此身份确认的服务,确保通信的安全。...
PKI认证体系原理及应用
10-05
PKI认证体系原理,对PKI体系及应用的简要说明
PKI/CA与数字证书技术大全
12-06
从网络上找到这PKI/CA与数字证书技术大全和PKI原理与技术两部分内容,汇总一下,供大家一起学习PKI相关知识
基于PKI的匿名数字证书系统的研究
01-19
本文提出一个在现行的PKI体系中发布匿名数字证书的方案,并依据此方案构建了一个匿名数字证书系统。 0 引言 目前在Internet上广泛使用基于公共密钥的身份机制,公钥基础设施PKI(Public KeyInfrastructure)...
基于区块链的PKI数字证书系统.pdf
12-11
基于区块链的PKI证书系统,讲述如何将区块链技术应用到PKI证书的管理当中,利用区块链不可篡改的特性,来构建高安全的、可溯源的PKI证书管理体系。
一种集成化的PKI数字证书验证安全增强方案
04-30
近年来,PKI数字证书服务出现了多次安全事件:CA机构由于攻击等原因签发虚假的TLS服务器数字证书,将攻击者的公钥绑定在被攻击网站的域名上。因此,研究人员提出了多种PKI数字证书验证安全增强方案,用于消除虚假...
通信与网络中的基于PKI的匿名数字证书系统的研究
10-20
本文提出一个在现行的PKI体系中发布匿名数字证书的方案,并依据此方案构建了一个匿名数字证书系统。 0 引言 目前在Internet上广泛使用基于公共密钥的身份认证机制,公钥基础设施PKI(Public ...
什么是群、什么是阿贝尔群(abel群、阿贝尔群也称为交换群或可交换群)、群论入门
热门推荐
西京刀客
01-25
4万+
文章目录什么是群什么是阿贝尔群群论入门参考
什么是群
中文名:群
外文名:group
含 义:数学概念
什么是阿贝尔群
中文名:阿贝尔群
外文名:Abel Group
别 称:交换群或可交换群
阿贝尔群以挪威数学家尼尔斯·阿贝尔命名。
群论入门
五次方程(三)群论入门 隐藏在根与系数关系中的秘密
参考URL: https://www.bilibili.com/video/BV1Wb41187wA?from=search&seid=13543561021966465460
参考
五次方程为
trc20和erc20、OMNI有什么区别
西京刀客
01-09
3万+
文章目录一、USDT三种链类型Omni、ERC20、TRC20的区别二、参考
一、USDT三种链类型Omni、ERC20、TRC20的区别
关于USDT:大家都知道它是入场的币种之一,由Tether公司发行的基于美元1:1挂钩的稳定币。
USDT的三种形式是:
基于比特币网络的Omni-USDT,货币地址是BTC地址,货币被带到BTC网络;
这是最开始USDT发行方式,基于Omni协议发行的加密货币,可以简单理解为基于比特币的USDT。
根据以太坊ERC20协议的ERC20-USDT,货币地址是ET
数字证书PKI体系架构?此架构有何特点?请说明除了此架构还有哪些架构
最新发布
05-25
数字证书PKI体系架构是一种基于公钥密码学的安全体系结构,用于为数字通信提供安全保障。该架构包含以下组成部分:
1. 证书颁发机构(CA):负责颁发数字证书,验证证书请求者的身份,并证明其公钥的合法性。
2. 注册机构(RA):负责为证书请求者进行身份验证和身份确认,并将验证结果提交给CA。
3. 数字证书:包括用于验证数字签名的公钥和证书持有者的身份信息。
4. 证书撤销列表:包含所有已撤销的数字证书。
PKI体系架构的主要特点是:
1. 安全性高:采用公钥密码学技术,保证了通信的机密性、完整性和可靠性。
2. 可扩展性好:支持多种不同类型的数字证书和证书颁发机构,可以适应不同规模的网络环境。
3. 管理和维护方便:数字证书可以通过证书撤销列表进行管理,并且可以通过吊销过期或被撤销的证书来保证安全性。
除了PKI体系架构,还有其他的安全体系结构,如:
1. Kerberos安全体系结构:用于身份认证和密钥分配,主要应用于局域网等小范围的网络环境。
2. SAML安全体系结构:用于Web单点登录和单点注销,主要应用于企业内部和跨组织的Web应用程序。
3. OAuth安全体系结构:用于授权和身份验证,主要应用于Web应用程序和移动应用程序。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
西京刀客
CSDN认证博客专家
CSDN认证企业博客
码龄13年
区块链领域新星创作者
941
原创
330
周排名
334
总排名
520万+
访问
等级
2万+
积分
16万+
粉丝
3802
获赞
682
评论
1万+
收藏
私信
关注
热门文章
python pip安装的包放在哪里(site-packages目录的位置)
64365
开放api接口平台:appid、appkey、appsecret
55317
linux命令-查看当前目录当前目录剩余空间以及目录文件大小和个数(pg清理大数据量表)
55265
Maven 继承父工程时的relativePath标签解析(重要)
54580
git-github 子模块仓库更新(git submodule)/git中submodule子模块的添加、使用和删除
54238
分类专栏
Starknet
付费
14篇
Hibernate JPA
付费
11篇
Spring Security
付费
8篇
预言机(Oracle)
付费
7篇
Injective Protocol
付费
10篇
Linux C/C++
176篇
云原生(Cloud Native)、云计算、虚拟化
27篇
Docker
16篇
Kubernetes(k8s)
7篇
OpenStack
3篇
eBPF
5篇
零知识证明
5篇
Go
95篇
gRPC
1篇
golang常用库(Go Repositories)
30篇
Rust
27篇
Rust常用库
1篇
数据库、nosql(redis、es、mongodb)
22篇
MongoDB
5篇
Java后台
83篇
Java并发编程
15篇
Python
95篇
快速上手Django
19篇
web前端/桌面前端/js/ts/ui设计/
74篇
区块链
111篇
智能合约
5篇
NFT
6篇
智能合同漏洞
3篇
区块链游戏之黑暗森林
1篇
Solana(SOL)
3篇
NEAR
12篇
以太坊
8篇
Uniswap
安全相关
52篇
Spring全家桶
37篇
软件架构/技术选型
83篇
cuda编程
1篇
分布式存储
12篇
并发测试
4篇
ETL工具
11篇
牛油果
2篇
其它
32篇
android
2篇
CI/DI
3篇
QT
1篇
ACM-POJ
2篇
网络
10篇
构建工具
7篇
开发工具
111篇
最新评论
python报错:ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+
m0_55324400:
大佬级回复
Spring Security OAuth2如何自定义返回的 Token 信息
CSDN-Ada助手:
哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)使用更多的站内链接;(2)提升标题与正文的相关性。
Linux获取进程(系统启动时间和运行时间)运行时间
CSDN-Ada助手:
哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)使用更多的站内链接;(2)增加除了各种控件外,文章正文的字数;(3)提升标题与正文的相关性。
JSON-RPC 快速开始
CSDN-Ada助手:
哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)使用更多的站内链接;(2)提升标题与正文的相关性。
Akash,全球首个去中心化云计算
楠西様:
那如果是安全上网,如何做到有收益的?需要贡献什么?
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
python创建和上传自己的PyPI库
web3之Spacemesh(SMH)
Spring Security-快速开始(Spring Security 身份认证流程)
2024
03月
10篇
02月
32篇
01月
32篇
2023年111篇
2022年253篇
2021年282篇
2020年215篇
2019年62篇
2018年23篇
2017年1篇
2014年2篇
2013年37篇
2012年1篇
2011年20篇
目录
目录
分类专栏
Starknet
付费
14篇
Hibernate JPA
付费
11篇
Spring Security
付费
8篇
预言机(Oracle)
付费
7篇
Injective Protocol
付费
10篇
Linux C/C++
176篇
云原生(Cloud Native)、云计算、虚拟化
27篇
Docker
16篇
Kubernetes(k8s)
7篇
OpenStack
3篇
eBPF
5篇
零知识证明
5篇
Go
95篇
gRPC
1篇
golang常用库(Go Repositories)
30篇
Rust
27篇
Rust常用库
1篇
数据库、nosql(redis、es、mongodb)
22篇
MongoDB
5篇
Java后台
83篇
Java并发编程
15篇
Python
95篇
快速上手Django
19篇
web前端/桌面前端/js/ts/ui设计/
74篇
区块链
111篇
智能合约
5篇
NFT
6篇
智能合同漏洞
3篇
区块链游戏之黑暗森林
1篇
Solana(SOL)
3篇
NEAR
12篇
以太坊
8篇
Uniswap
安全相关
52篇
Spring全家桶
37篇
软件架构/技术选型
83篇
cuda编程
1篇
分布式存储
12篇
并发测试
4篇
ETL工具
11篇
牛油果
2篇
其它
32篇
android
2篇
CI/DI
3篇
QT
1篇
ACM-POJ
2篇
网络
10篇
构建工具
7篇
开发工具
111篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
打赏作者
西京刀客
你的鼓励将是我创作的最大动力
¥1
¥2
¥4
¥6
¥10
¥20
扫码支付:¥1
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
探索PKI——十分钟带你认识什么是PKI_pki框架-CSDN博客
>探索PKI——十分钟带你认识什么是PKI_pki框架-CSDN博客
探索PKI——十分钟带你认识什么是PKI
最新推荐文章于 2024-03-02 23:30:46 发布
m0_63906055
最新推荐文章于 2024-03-02 23:30:46 发布
阅读量730
收藏
1
点赞数
文章标签:
密码学
今日,在《探索PKI:构建数字世界的安全基石》篇章中,我们将首先探索“什么是PKI?”这一基础性的核心问题。
1
PKI的起源和定义
1
起源
谈起PKI的起源,简单来说,可以追溯到20世纪70年代末,当时密码学家Whitfield Diffie和Martin Hellman在于1976年共同发表的论文《New Directions in Cryptography》中提出了公钥密码学的概念,这一论文标志着公钥密码学的诞生,同时,这也是PKI的核心概念之一。
Diffie和Hellman的工作为信息安全领域带来了重大突破,并为后来的PKI和现代加密算法的发展奠定了基础。
2
定义
PKI,即Public Key Infrastructure,翻译过来也就是指公钥基础设施。
概括而言,PKI是一个安全框架和体系结构,用于建立、管理和分发公钥,并提供安全和可信赖的通信和数据传输。它是基于非对称加密算法的一种广泛应用的加密技术框架,通过数字证书和证书颁发机构(Certificate Authority, CA)来实现身份验证和信任。
简单来说,PKI并不单指某项技术,而是作为“基础设施”存在,里面包括创建、管理、存储、分发和撤销数字证书所需的硬件、软件、人员、策略和程序等。
打个比方,假设你想向一个陌生人发送一封信,但你不确定这封信会不会在运输路上被拆封,或者无法送到正确的人手上,那么你就需要找到一家可信的邮局,这便是PKI所扮演的角色。
在这家“邮局”里,它能够为你提供以下服务:
(1)身份验证:你的信封上会附上你的身份信息,这样收信人可以确认你是合法的发件人。(类似地,PKI为参与通信的人提供CA机构颁发的数字证书,用于证明其身份的可信性。)
(2)加密通信:邮局会将你信封中的信件加密,只有收件人可以解开。(使用PKI的非对称加密算法,通信中的数据也会被加密,只有合法的接收方能够解密内容。)
(3)数字签名:邮局会在信封上盖上你的名字,在收信人那里验证你的真实性。(使用PKI的数字签名,可以对通信数据进行签名,以确保通信内容在传输过程中没有被篡改。)
2
PKI的功能和作用
从这一比喻中,我们也就看出了PKI的功能和作用:
一方面解决的是在安全通信方面的问题,通俗来讲就是“上锁”,首先确保数据完整性和机密性,PKI依赖于非对称加密算法,能够使用公钥和私钥对来进行加密和解密,以确保传输的数据既保密又完整。在这一密钥对中,公钥可以公开分享,而私钥必须保密保存。通过使用公钥对数据进行加密,只有相应私钥的持有者才能解密数据。
其次,使用PKI签名机制可以实现不可否认性,即发送方无法否认数据的发送,因为其私钥是唯一可以生成相应签名的机构。
另一方面是确保公钥的真实性和身份验证的可信赖性,也就是发“身份证”。PKI能够通过CA机构来验证和认证实体的身份。同时,检查数字证书中的身份信息和签名,数字证书中包含了公钥、持有者身份信息以及由证书颁发机构签发的数字签名,能够用于验证证书的真实性,从而确认通信方是否合法,并且确保通信过程中的数据不被篡改。
此外,PKI 还提供其他功能,如数字签名、证书吊销、交叉认证等,以支持安全的电子商务、数字身份验证和信息保护。
(关于什么是公钥与私钥、CA机构和数字证书,在后续的文章中我们会详细进行介绍。)
到这里,我们基本上对于PKI是什么以及是干什么的有了一个大致的了解,正如前文所言,PKI并非单一实体,而是一套架构,那么再细致拆分来看,哪些组件组成了PKI体系架构?
3
PKI体系架构的组件有哪些?
对于这一问题,网络上的介绍基本上都大同小异,基本上都包括有终端实体、证书注册机构、证书颁发机构和证书存储库、证书吊销列表这四大关键部分,以下为更为细致具体的体系架构组件介绍:
1
证书颁发机构(CA)
CA是负责颁发、管理和撤销数字证书的可信实体。它验证证书请求者的身份,并发行数字证书,使用自己的私钥对证书进行签名,以提供信任。
2
注册机构(RA)
RA 是一个可选的部件,协助CA进行实体身份验证、证书请求处理和颁发证书。RA可以充当CA的前端,并负责管理实体信息、认证流程、身份验证以及颁发与证书发行相关的操作。
3
证书存储库
证书存储库是用于存储和维护已颁发的证书的地方。它可以是物理存储设备或分布式数据库,用于存储、检索和分发数字证书以及验证相关证书的状态。
4
证书撤销列表(CRL)
CRL是由CA签名的作废证书列表,记录所有已吊销、失效或不再信任的数字证书。验证方可以从CRL中检查证书的吊销状态。
5
在线证书状态协议(OCSP)
OCSP是一种实时查询检查证书状态的协议。它可以用于验证证书的有效性消息,通过查询OCSP服务器获取验证结果,而无需下载整个CRL。
6
证书目录
证书目录是一个公开可访问的目录服务,用于存储和分发数字证书及其相关信息。它提供了一种集中化的方式,让验证方可以查询和获取所需的证书。
7
策略管理机构(PMA)
PMA负责制定、制定更新和管理 PKI 的策略和标准。它确保PKI的操作符合规定的安全标准和策略,包括证书颁发、身份验证和密钥管理等方面。
8
密钥备份和恢复
密钥备份和恢复机制用于安全地备份和管理密钥对,以防止密钥丢失或损坏,并提供可靠的密钥恢复过程。
9
密钥历史记录
记录密钥生成、证书颁发、证书吊销等操作的日志和历史记录,用于审计和追踪操作的合法性和有效性。
10
数字签名
用于验证证书的完整性和真实性,以及为数据提供不可否认性和数据完整性。
11
交叉认证
交叉认证允许不同PKI系统之间的互信和互操作,确保证书在不同PKI环境中的有效性和可信度。
交叉认证是指在不同的认证机构之间建立互相信任关系的过程。它扩展了认证机构域之间的信任,允许它们互相验证彼此颁发的证书。
交叉认证通常涉及两种操作:
建立信任关系:两个认证机构(如贸易伙伴拥有的CA)之间进行双边交叉认证,安全地交换验证密钥。这些验证密钥用于验证证书上的签名。为了完成此操作,每个认证机构都会在一份称为"交叉证书"的证书中签署另一个认证机构的验证密钥。
验证证书的可信度:这是频繁执行的操作。客户端软件通过进行所谓的“信任链”来验证由交叉认证认证机构签署的用户证书。信任链就是追踪到需要验证其他用户证书的认证机构密钥的交叉证书验证列表。在遍历交叉证书链时,每个交叉证书必须被检查以确保其仍然可信任。用户证书必须能够被撤销,因此需要交叉证书以支持吊销操作。
在交叉认证中,建立信任关系的操作并不经常执行,而验证证书的可信度则非常频繁。通过建立和维护这种互相信任的电子关系,不同的认证机构可以共享信任并相互验证证书的有效性。交叉认证在大型分布式组织或需要在不同地理区域使用多个认证机构的情况下特别有用。
12
客户端软件
PKI的架构中还涉及与上述组件进行安全交互的客户端软件。这包括用于生成密钥对、提交证书请求、验证证书和执行加密操作的客户端应用程序。
13
终端实体
终端实体是指使用PKI系统来获得和使用数字证书的最终用户。终端实体可以是个人、组织或设备。他们通过生成密钥对、向注册机构或证书颁发机构提交证书请求,并使用颁发的数字证书来进行身份验证、加密通信和数字签名。
终端实体在PKI中非常重要,因为他们直接受益于PKI的安全机制,同时也负责合理地使用和保护它们所持有的证书和密钥对。
综上所述,这些组件共同构成了一个完整的PKI架构,实现了安全的身份验证、加密通信和数据保护。它们相互关联,共同工作,确保了PKI系统的安全性和可信度。
了解了PKI体系架构的组成,那么,在具体的应用当中,PKI又是如何工作的?
4
PKI的工作原理和过程
1
工作原理
谈起PKI的工作原理,用一句话来概括那就是:基于非对称算法实现加密、解密、数字签名和验证功能,并使用数字证书作为信任和验证实体的机制,确保通信的保密性、数据的完整性和身份的真实性。
在这里面最重要的就是基于非对称算法的密钥对,也就是公钥与私钥以及数字证书。
想象一下,假如A想要通过互联网向B发送一条加密消息。确保这种交换安全的一种方法是使用PKI。如果A选择使用PKI,他们首先需要B的公钥才能发送消息。公钥使任何用户能够加密指定实体的信息。解密公钥的唯一方法是使用其各自的私钥。
首先,B向A提供了他们的公钥。然后,A使用此密钥来加密他们想要发送的消息、数据或数字材料。加密并发送后,B可以使用其私钥解密并访问该信息。这是PKI的非对称加密的过程。(关于对称加密和公钥加密在后续的文章中会作具体介绍。)
然而,这通常不足以保护两个实体之间的数字对话。
需要建立其他系统来验证所涉及的实体或用户的身份——这些系统能够确认发送给他们的公钥属于其预期的接收者。如果没有额外的安全措施,实体可能会与冒充他人的用户进行敏感数据交换。这样的结果将破坏整个互动的安全性、保密性和信心。这就是数字证书的“用武之地”。
数字证书基本上是一段独特的代码或大量数字,表明Web服务器受到称为证书颁发机构的独立来源的信任。证书颁发机构充当两个实体间都信任的中间人。它确认每个实体确实是它所说的那个实体,然后将每个实体的公钥提供给另一个实体。
以上便是PKI的基本工作原理。
2
工作过程
一般而言,PKI的工作过程可以概括为以下步骤:
(1)生成密钥对:首先,实体(例如用户、服务器或设备)生成一对密钥,这对密钥包括公钥和私钥。公钥用于加密信息,私钥用于解密信息。
(2)证书签发请求(CSR):实体向认证机构(CA)提交证书签发请求(CSR)。CSR中包含实体的公钥和其他身份信息。
(3)证书颁发:CA收到CSR后,对实体的身份进行验证,并使用自己的私钥对实体的公钥和身份信息进行数字签名。这样生成的数字签名和实体的公钥一起形成了证书。
(4)证书分发和存储:CA将颁发的数字证书分发给实体,并将其存储在公共目录或证书库中。实体可以通过公共目录或其他方式获取需要验证的数字证书。
(5)证书验证:当实体需要验证其他实体的数字证书时,它使用颁发机构的公钥来验证证书的合法性和完整性。实体使用CA的公钥解密数字签名,并比对解密结果与证书中的摘要信息。如果验证成功,就可以信任该证书。
(6)安全通信:通过使用公钥加密和私钥解密的方式,实体可以在通信过程中保证信息的机密性和完整性。发送方使用接收方的公钥加密消息,接收方使用自己的私钥解密消息。
(7)证书更新和吊销:证书只在一定的有效期内有效,过期后需要更新。如果一个实体的私钥泄漏或身份信息发生变化,相关的证书可能会被吊销,不再被信任。
5
PKI的信任机制
说来说去,其实PKI的核心就是为了构建一个可信的数字世界,那么,PKI的信任机制是怎样的?
具体来看,PKI的信任机制是建立在可信的CA机构和数字证书的使用基础上的,主要包括以下三部分:
1
信任链:
PKI中的信任链由根证书、中间证书和终端证书组成。根证书由最高级别的认证机构颁发,中间证书由根证书颁发,而终端证书由中间证书颁发。
验证方可以通过逐级验证每个证书的签名,确保所有证书都是由受信任的CA签发的,从而建立信任。
(1)根证书:PKI的信任链的起点是根证书,它是由受信任的认证机构(CA)直接颁发,并且在PKI信任机制中具有最高的信任级别。根证书的公钥通常内置在操作系统、浏览器或其他应用程序中,用户可以信任这些根证书,从而信任由其签发的证书。
(2)中间证书:中间证书由根证书颁发机构签发,用于构建信任链。中间证书可以继续签发其他证书,包括终端证书。通过验证中间证书的信任,验证方可以间接信任终端证书的真实性。
(3)终端证书:终端证书是由中间证书颁发机构签发给最终实体的证书。终端证书包含实体的身份信息和公钥,并由中间证书的私钥进行签名。验证方可以通过验证终端证书的签名和信任链的完整性来验证证书的真实性。
2
证书撤销列表:
在上文的PKI架构组件部分已有作介绍。简单来说,CRL是由证书颁发机构维护的包含已吊销或失效的证书信息的列表。CRL包含吊销证书的序列号、吊销原因和吊销日期等信息。
验证方可以通过下载和检查CRL来确认要验证的证书是否在CRL中,以判断证书的有效性。
3
在线证书状态协议:
OCSP是一种实时查询证书状态的协议,通过与OCSP服务器通信来获取特定证书的状态。
验证方可以向OCSP服务器发送证书状态请求,以以获取证书的有效性信息。OCSP响应会明确告知证书的状态,如有效、吊销或过期。
通过信任链、CRL和OCSP等机制,PKI实现了对数字证书的有效性和真实性的确认。验证方可以跟随信任链来验证证书的签发机构和根证书的信任。同时,验证方可以通过检查CRL和OCSP来确定证书是否处于有效状态。
这些信任机制组成了PKI的信任框架,从而确保了通信的安全性、身份认证的可靠性和数据的完整性。
6
PKI的应用场景有哪些?
讲完了PKI的定义与作用和工作原理,那么PKI的应用场景在哪里?
用一句来说的话,那便是“当你需要信任的时候,就需要PKI。”
具体来看,一些常见的PKI应用场景包括:
安全通信:PKI用于加密和解密通信内容,确保数据的保密性和完整性。它可以用于安全电子邮件、虚拟专用网络(VPN)、网站加密通信(HTTPS)、安全即时通信等。
数字签名:PKI提供数字签名机制,用于验证文件的来源和完整性。它可以应用于电子合同、电子文档签名、数字版权保护等场景。
身份认证与访问控制:PKI可用于身份验证和授权,确保只有经过授权的用户能够访问敏感资源。它可以支持单点登录(SSO)、远程访问控制、网络身份认证等。
数字证书和加密密钥管理:PKI用于生成、发布、存储和撤销数字证书,以及管理加密密钥。它能够提供对证书和密钥的安全分发、更新和吊销机制。
电子商务和金融安全:PKI在电子商务和金融领域中起着重要的作用,包括在线支付、交易认证、电子票据、电子商务平台安全等方面。
物联网安全:PKI可用于物联网设备身份验证、安全通信和数据加密等场景,确保物联网系统的安全性和隐私保护。
从更具体的应用场景来看,此前,Entrust有进行详细介绍:
传统应用场景包括——
·用于公共网站和服务的SSL证书
·用于私有网络和虚拟专用网络(VPN)
·用于基于公共云的应用程序和服务
·用于基于私有云的应用程序
·邮件安全
·企业用户身份认证
·设备身份认证
·基于私有云的身份认证
·文件/消息签名
·代码签名
还有一些新兴的应用场景——·基于云的服务·消费者移动设备·物联网(IoT)·面向消费者的移动应用程序·BYOD政策和内部移动设备管理·电子商务
这些新兴的应用案例涉及到新技术和新趋势的应用领域。PKI可帮助确保这些应用的安全和可信性,例如通过为云服务提供身份验证和加密,维护物联网设备的安全性,保护移动应用程序和移动设备中的数据,以及为电子商务提供机密性和完整性保护等。一言以蔽之,随着不断发展的商业模式越来越依赖电子交易和数字文档,并且越来越多的互联网感知设备连接到企业网络,公钥基础设施的作用不再局限于安全电子邮件、用于物理访问的智能卡等孤立系统或加密的网络流量。如今的PKI预计将支持复杂生态系统中大量的应用程序、用户和设备。随着政府和行业数据安全法规更加严格,主流操作系统和业务应用程序比以往任何时候都更加依赖组织PKI 来保证信任。7写在最后关于PKI还有许多更深入的细节和应用,在本文中我们只是浅尝辄止,探索了PKI的冰山一角。作为一个广泛而复杂的领域,PKI涉及的概念、技术、协议和实践都非常丰富,其覆盖范围远远超出了这篇“简介性”的文章。在后续的文章中,我们将持续提供更多关于PKI的知识和信息,深入探讨PKI的不同方面,不限于数字证书的生成和管理、证书颁发机构的角色、密钥管理和验证流程等。我们还将介绍PKI在不同行业和应用中的具体应用案例,以及面临的挑战和解决方案。
优惠劵
m0_63906055
关注
关注
0
点赞
踩
1
收藏
觉得还不错?
一键收藏
知道了
0
评论
探索PKI——十分钟带你认识什么是PKI
一言以蔽之,随着不断发展的商业模式越来越依赖电子交易和数字文档,并且越来越多的互联网感知设备连接到企业网络,公钥基础设施的作用不再局限于安全电子邮件、用于物理访问的智能卡等孤立系统或加密的网络流量。在后续的文章中,我们将持续提供更多关于PKI的知识和信息,深入探讨PKI的不同方面,不限于数字证书的生成和管理、证书颁发机构的角色、密钥管理和验证流程等。当实体需要验证其他实体的数字证书时,它使用颁发机构的公钥来验证证书的合法性和完整性。验证方可以通过验证终端证书的签名和信任链的完整性来验证证书的真实性。
复制链接
扫一扫
密码学——基本概念
CCC_B的博客
02-28
363
在计算机和通信技术发达的现代社会,密码已经成为防止信息被篡改,盗取等方面不可或缺的技术。可应用于:本人身份认证,网上交易加密和认证。保证文件不被篡改的电子签名。电子邮件的加密等等领域。
密码学之椭圆曲线
CCC_B的博客
02-28
531
椭圆曲线是曲线中的一种, x和y坐标满足方程y3a1xya3yx3a2x2a4xa5y3a1xya3yx3a2x2a4xa5y3x3axby3x3axb这个方程就是所谓的Weierstrass方程Weierstrass方程Weierstrass方程。
参与评论
您还未登录,请先
登录
后发表或查看评论
详解:PKI技术、CA证书技术
11-25
PKI的体系结构涉及实现各种相互依赖的技术和流程,以便可以颁发,验证,续订和撤销证书。
什么是CA证书?
CA证书的工作原理
CA证书工具和设置
PKI工作原理和组织安全指南
lavin1614
11-01
699
PKI工作原理和组织安全指南
一、了解PKI
公钥基础结构是我们在网络世界中日常生活的关键部分。它可以保护一切,从浏览器中的登录凭据到我们通过电子邮件共享的敏感数据,一应俱全。这种PKI运作方式的明细公钥基础结构是网络安全所固有的,好比一个保护壳,里面兜住了许多需要保护的东西。可以说,PKI是使网络安全工作的要素之一。
公钥基础结构(PKI)通常被称为一种网络安全技术或框架,但不仅限于此。你或许知道该术语与加密有关,但是你知道它实际上的主要作用或者工作方式吗?
首先我们来了解一下PKI是什么?
简
PKI体系具体流程图解,通俗易懂,很有用
08-05
PKI体系具体流程图解,通俗易懂,很有用
PKI基本原理
11-06
PKI基本原理 培训资料
PKI详解
热门推荐
appdeveloperxg的博客
02-03
1万+
PKI详解
一、什么是PKI?
官方定义:PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。PKI技术是一种遵循既定标准的密钥管理平台,它的基础是加密技术,核心是证书服务,支持集中自动的密钥管理和密钥分配,能够为所有的网络应用提供加密和数字签名等密码服务及所需要的密钥和证书管理体系。
通俗理解:PKI就是利用公开密钥理论和技术建立提供安全服务的、具有通用性的基础设施.
PKI 简介
苏木川的博客
03-16
2020
PKI 全称为 Public Key Infrastructure,中文翻译为公钥基础设施,是一组由硬件、软件、参与者、管理政策与流程组成的基础架构,其目的在于创造、管理、分配、使用、存储以及撤销数字证书。
PKI 体系概述
云上笛暮
12-10
3756
CA中心——CA系统——数字证书
CA 中心管理并运营 CA 系统,CA 系统负责颁发数字证书。
专门负责颁发数字证书的系统称为 CA 系统,负责管理并运营 CA 系统的机构称为 CA 中心。所有与数字证书相关的各种概念和技术,统称为 PKI(Public Key Infrastructure)。
传统密码学
换位加密法;
替换加密法;
现代密码学加密基元
加密基元就是一些基础的密码学算法,通过它们才能够构建更多的密码学算法、协议、应用程序。
说明:
散列函数(散列(hash)、指纹.
PKI基础知识
萧剑轻歌的博客
07-18
4793
PKI基础知识
PKI概念
所有提供公钥加密和数字签名服务的系统都可叫做PKI系统
PKI的定义
PKI是一种遵循标准的利用公钥理论和技术建立的提供安全服务的基础设施(基础设施的概念??)
主要功能
保密性
完整性
真实性
抗抵赖
PKI组件
公钥证书(由可信实体签名的电子记录,记录将公私钥对所有者的身份捆绑在一起)
证书撤销列表(CRL)(通常由同一个发证实体签名。当公钥的所有者丢失私钥,或者改换姓名时,需要将原有的证书作废)
认证机构(CA)(一个可信实体,发放和作废公钥证书,并对各作废证书列表签名)
PKI/CA与数字证书技术大全
12-06
从网络上找到这PKI/CA与数字证书技术大全和PKI原理与技术两部分内容,汇总一下,供大家一起学习PKI相关知识
PKI.rar_PKI
09-14
自己做的关于PKI的学习内容讲义。是PowerPoint演示文稿。
基于springboot的Netty的SSL加密PKI认证通信
04-01
采用springboot的基于Netty的SSL加密PKI认证通信,里面模拟了Netty的客户端和服务端的证书认证规则,同时分为单向认证和双向认证,信任证书链并对RA颁发的证书来进行验签,实现了双向和单向加密通信,保障了数据的安全,代码稳定运行,适合做教学案例,开发模块指引,项目代码整合。
PKI.zip_PKI
09-23
pki 功能文档,对初学者有很大帮助,可以了解pki的相关功能
一种基于PKI的Web单点登录方案
04-24
本文提出了一种基于PKI的Web单点登录方案,用户可以安全有效的实现"一次登录,自由切换"。给出了方案的总体模型,详细地分析了登录流程。采用双向认证,保证用户和认证服务器的合法身份。使用两级授权机制和SSO代理,降低单点登录系统和Web应用的耦合。并提出了一种基于系统日志的单点登出管理
裴蜀定理(Bézout’s identity)
最新发布
m0_73887414的博客
03-02
854
这个定理的意义在于,我们可以用两个整数的线性组合来表示它们的最大公约数。这在数论和密码学中有着重要的应用,特别是在密码学中的一些加密算法中,例如 RSA 算法中的密钥生成过程。这个算法在数论和密码学中被广泛应用,因为它不仅提供了最大公约数的值,还提供了满足裴蜀定理的。这个结论在密码学中有着重要的应用,特别是在求解模逆元(Modular Inverse)的过程中。裴蜀定理的证明通常使用扩展欧几里得算法,这是一种递归算法,可以计算出最大公约数以及相应的。的线性组合,使得它们的和等于它们的最大公约数。
浅谈密码学
想你依然心痛的博客
02-24
7827
密码学作为一门研究信息安全的学科,扮演着保护我们数字化生活的重要角色。在当今信息时代,我们的个人和商业数据面临着越来越多的威胁,如黑客攻击、数据泄露等。而密码学的出现为我们提供了一种科学的方法,能够确保我们的信息在传输和存储过程中不被未授权的人访问和篡改。本文将简要介绍密码学的基本原理和应用领域,以及其在保护数字化生活中的重要性。通过了解密码学的基础知识,我们将能更好地保护个人隐私和敏感信息,建立一个安全可信的网络环境。密码学是研究编制密码和破译密码的技术科学。
2024022701-信息安全(二)——密码学
qq_24428851的博客
02-27
1477
密码学(Cryptology):研究信息系统安全保密的科学。密码编码学(Cryptography):研究对信息进行编码,实现对信息的隐蔽。密码分析学(Cryptanalytics) :研究加密消息的破译或消息的伪造。消息被称为明文(Plaintext)。用某种方法伪装消息以隐藏它的内容的过程称为加密(Encrtption),被加密的消息称为密文(Ciphertext),而把密文转变为明文的过程称为解密(Decryption)。密码算法:用于加密和解密的数学函数。
什么是公钥基础设施(PKI)?
01-23
公钥基础设施(PKI)是一种安全基础设施,它集合了机构、系统(包括硬件和软件)、人员、程序、策略和协议,利用公钥概念和技术来实施和提供安全服务。PKI系统通过颁发和管理公钥证书的方式为终端用户提供服务。
PKI的主要作用是通过加密技术和数字签名来保证信息的安全。它使用公钥加密技术来加密和解密数据,同时使用数字证书来验证身份和确保数据的完整性。PKI系统由多个组成部分组成,包括公钥加密技术、数字证书、证书颁发机构(CA)和注册机构(RA)。
公钥基础设施的工作原理如下:
1. 用户生成一对密钥,包括公钥和私钥。
2. 用户将公钥发送给证书颁发机构(CA)。
3. CA对用户的身份进行验证,并使用自己的私钥对用户的公钥进行数字签名。
4. CA将数字签名和用户的公钥一起打包成数字证书,并将其发送给用户。
5. 用户在通信过程中使用自己的私钥进行加密和签名,接收方使用发送方的公钥进行解密和验证。
通过使用公钥基础设施,用户可以确保通信的机密性、完整性和身份验证。PKI广泛应用于各种领域,包括电子商务、电子邮件***?
3. PKI在哪些领域得到了广泛应用?
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
m0_63906055
CSDN认证博客专家
CSDN认证企业博客
码龄2年
暂无认证
0
原创
191万+
周排名
215万+
总排名
1010
访问
等级
5
积分
0
粉丝
1
获赞
0
评论
4
收藏
私信
关注
热门文章
探索PKI——十分钟带你认识什么是PKI
730
SSL证书是什么(全面解析))
281
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
SSL证书是什么(全面解析))
2023年2篇
目录
目录
最新文章
SSL证书是什么(全面解析))
2023年2篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
深入理解PKI - 知乎
深入理解PKI - 知乎切换模式写文章登录/注册深入理解PKI俞凡通信行业技术专家安全始终是网络通信的核心议题,PKI提供了一组标准的网络安全组件,可以为通信双方提供加密、完整性保护、认证等安全基础设施。原文: Public Key Infrastructure (PKI)
Jacek Dylag@Unsplash
由于用户名和密码不足以验证用户的身份,因此PKI(公钥基础设施,Public Key Infrastructure)提供了一组角色、策略、硬件、软件和流程,为一系列网络活动(如电子商务、网上银行、实时转账以及加密电子邮件)增强信息的安全传输。
作为人类,我们可以通过外表、身材、声音、眼睛的颜色、发型等很容易识别出不同的人。然而,随着贸易的发展,识别成本逐渐增加。有时候,双方对彼此的了解都很少,因此如何建立人与人之间的信任就成了重要问题。过去,互联网世界很少考虑安全问题,核心通信协议本身就不安全。因此,如何对彼此身份进行认证对网络安全来说至关重要。认证技术是保护信息安全的第一道屏障,其基本思想是在允许用户访问系统或资源之前对用户或设备进行验证。
公钥基础设施(Public Key Infrastructure, PKI)是一种典型的加密应用技术,为广泛的应用程序提供公钥加密和数字签名服务,以建立值得信任的网络环境。PKI包含对应的软件、加密技术和服务,因此可以作为组织的网络安全架构,支持包括互联网、内网和外网上的安全事务。
在PKI系统中,证书颁发机构(CA, Certificate Authority)颁发数字证书,并将用户身份信息(用户名、电话号码、地址等)链接到公钥。每个用户标识必须是唯一的,每个用户都有一对公钥和私钥。
发送方用接收方的公钥对要传输的数据进行加密。
接收方用持有的私钥解密数据。
主要服务
身份验证(Authentication) —— 验证用户的身份完整性保护(Integrity) —— 确保数据没有被其他用户有意或无意的修改。有两种技术可以保证数据的完整性: 数字签名和消息认证码(Message Authentication Code, DES-CBC-MAC或HMAC-MD5)机密性(Confidentiality) —— 向用户保证他们是唯一一个解密数据的接收者不可否认性(Non-Repudiation) —— 确保信息发送方提供了发送证明,而接收方获取到了发送方的身份证明,这样双方以后都不能否认处理过信息
PKI组件
图片来源: https://en.wikipedia.org/wiki/Public_key_infrastructure
PKI管理加密密钥和数字证书的颁发,并提供密钥管理(密钥更新、密钥恢复、密钥授权等)、证书管理(证书生成、证书更新、证书撤销等)和策略管理。因此,组织可以通过证书级或直接交叉认证与其他域建立信任关系。在实际应用中,可以将硬件系统、软件系统和安全策略相结合,形成一套完整的安全机制,使用户能够以数字证书为基础使用。
证书颁发机构(CA, Certificate Authority) —— PKI系统的核心组件。用于确认申请数字证书的用户身份,并生成带有公钥的数字证书。这样,一对公钥和私钥之间就建立了对应关系。注册中心(RA, Registration Authority) —— 负责接收用户申请,检查用户真实身份,只接收符合数字证书签发条件的用户中央目录(Central Directory) —— 已颁发证书和公钥的集中存储,用户可以方便的查询所有已颁发证书和其他相关信息。验证机构(VA, Validation Authority) —— 当用户身份发生变化、解密密钥丢失或证书超过有效期时,将生成新的数字证书,旧证书将被撤销。因此,检查证书是否超过有效期是PKI系统不可缺少的一部分,如果超期,则通知CA启动证书更新程序,生成新的证书,并吊销过期证书。证书管理系统(Certificate Management System) —— 这是管理系统的另一个核心功能。系统可以将加密密钥备份并保存在中心目录中,当解密密钥丢失时,证书颁发机构将为用户恢复密钥。应用接口(Application Interface) —— 为用户提供满足PKI系统各种功能实现的安全服务。公钥(Public Key) —— 和用户身份关联的带签名的电子纪录。证书撤销列表(CRLs, Certificate Revocation lists) —— 当公钥所有者丢失私钥或更改用户身份信息时,必须撤销证书,通常由相同的签发实体签署。依赖方(Relying party) —— 接收包括证书和签名在内的信息,使用公钥对客户端进行认证和授权,并与客户端建立加密通信的个人或组织。终端用户(End-User) —— 需要访问资源的安全主体(用户、应用程序、服务、防火墙和组)。
图片来源: 微软
流程
级别1 — 数据加密
为保证数据传输的保密性,简单有效的方法是对传输数据进行加密。无论使用什么加密算法,目的都是要能最大限度保证只有通信双方才能读取数据。
对称加密(Symmetric Encryption)
加密密钥=解密密钥缺陷: 如何传输加密密钥才能避免被窃取的危险?此外,无法验证服务器的身份信息常用算法有DES、3DES、AES、TDEA、Blowfish、RC4、RC5、SM1、SM4、IDEA
非对称加密(Asymmetric Encryption)
需要两个密钥: 一个公钥和一个私钥公钥和私钥之间建立对应关系如果数据使用公钥加密,则相应的私钥只能用于解密数据该机制目的是为了实现保密信息的交换。发送方使用公钥对要传输的数据进行加密,接收方使用私钥对数据进行解密。在这种情况下,发送方使用接收方的公钥对机密信息进行签名,接收方使用自己的私钥对数据签名进行验证常用的非对称加密算法: RSA、Elgamal、背包(Knapsack)算法、Rabin、DH、椭圆曲线加密算法(ECC)缺点: 可以解决密钥被窃取的问题,但仍然不能验证服务器的身份信息
事实上,只要合理使用这两种方法,一般都可以完成加解密的过程。只要密钥不被截获,就能在一定程度上保证数据的保密性。只要需要传递密钥,就不难看出这一过程中的致命问题,那就是密钥被拦截的风险。由于私钥不需要传递,因此非对称加密可以减少密钥在传输过程中被截获的风险。但是这种传播仍然存在问题,如果第三方更改或删除密文,甚至用公钥替换新的加密数据,该怎么办?这里没有办法进行区分。
非对称加密看起来安全,但非常耗时并且消耗资源。在实际应用中,仍然会使用对称加密。两种算法都能满足安全目的和标准。对称加密用于传输大量数据,非对称加密用于传输对称加密密钥。此外,非对称加密也可用于少量数据传输。
级别2 — 单向加密数据
为了保证数据完整性,最简单的方法就是利用单向加密特性。由于单向加密是不可逆的,所以加密后的密文是唯一的,即称为摘要(digest)。密文和摘要同时发送到接收端。密文不会立即被解密,相反,需要使用相同的单向加密方法对密文进行加密,以获得摘要。接收方比较两个摘要,如果一致,就意味着数据没有被修改。如果不一致,则意味着数据可能被篡改或发生了错误。
数据完整性问题也可以解决,但有一个问题,双方都必须检查哈希值,因为黑客可以用相应的数据替换哈希值。因此,在哈希值比较过程中,可以对单向加密做一点优化,以保证算法的完整性。每次使用哈希算法生成摘要时,可以在单向加密之前向字段添加固定的字符串,但并不传输这一字符串。接收方同样添加固定字符串来解密摘要以进行验证,这被称为消息验证码(MAC)。只要这一固定字符串不被泄露,消息认证码就是安全有效的。当然,它并不完美,仍然有MAC传输的问题。发送方可以拒绝接收方发送的MAC。而且,接收方可以向发送方发送欺诈信息。
级别3 — 数字签名
对称和非对称加密 — 数据保密
单向哈希 — 数据完整性
数字签名 — 数据可靠性
这是一种验证固定字符串消息、公钥或私钥生成的签名的真实性的机制。数字签名使用加密哈希函数计算消息的哈希值,并使用发送方私钥对哈希值进行加密,这个过程就像发送方在消息上签名一样。接收方可以验证发送方消息签名的真实性。接收方拥有发送方的公钥,并使用公钥解密数据签名以获得消息的哈希值。接收方计算哈希值并比较结果,只有验证结果一致,消息才能被验证。
级别4 — 数字证书
证书由证书颁发机构和注册中心颁发,包含公共信息和发送方的签名,因此用户知道通信对端是正确的用户,并且消息在传递之后不会被修改。
版本(Version) — 确定证书使用的标准版本,该版本可能影响证书中指定的信息。
序列号(Serial number) — 为证书分配的序列号,以区别于其他证书。
签名算法标识符(Signature Algorithm Identifier) — 用于标识CA签名证书时使用的算法。
颁发机构(Issuer Authority) — 证书颁发机构(CA)。
有效期限(Validity period) — 有效期通过开始日期和结束日期表示。
实体名称(Subject Name) - 公钥可以被证书识别的实体的名称。
公钥信息(Public Key information) — 算法标识符指定密钥所属的公钥以及所有相关的密钥参数。
签名值(Signature Value) — 证书颁发机构的签名。
参考文献
AD FS OpenID Connect/OAuth Concepts
Certificate revocation list - Wikipedia
Identity Federation Using Multidomain Authentication in PKI
Public Key Infrastructure: An Enhanced Validation Framework
Ldapwiki: Public Key Infrastructure
Public key infrastructure - Wikipedia
What is PKI? A Public Key Infrastructure Definitive Guide
What is PKI? And how it secures just about everything online
What is PKI?
Public Key Infrastructure
What is PKI(Public Key Infrastructure)?
Public Key Infrastructure - GeeksforGeeks
Cryptography: Public Key Infrastructure(PKI)
What is Public Key Infrastructure(PKI)? | Venafi
PKI | What is PKI? | PKI Management | Role of Certificates in PKI
你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术工作,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。
微信公众号:DeepNoMind
[1] 网络安全: https://twitter.com/jinlow_blogger/status/1580022516751667200
[2] Public Key Infrastructure: https://en.wikipedia.org/wiki/Public_key_infrastructure
[3] DES-CBC-MAC: https://en.wikipedia.org/wiki/CBC-MAC
[4] HMAC-MD5: https://learn.microsoft.com/en-us/dotnet/api/system.security.cryptography.hmacmd5?view=netframework-4.8
[5] AD FS OpenID Connect/OAuth Concepts: https://learn.microsoft.com/en-us/windows-server/identity/ad-fs/development/ad-fs-openid-connect-oauth-concepts
[6] Certificate revocation list - Wikipedia: https://en.wikipedia.org/wiki/Certificate_revocation_list
[7] Identity Federation Using Multidomain Authentication in PKI: https://www.diva-portal.org/smash/get/diva2:872471/FULLTEXT02
[8] Public Key Infrastructure: An Enhanced Validation Framework: https://www.scirp.org/journal/paperinformation.aspx?paperid=103117
[9] Ldapwiki: Public Key Infrastructure: https://ldapwiki.com/wiki/Public%20Key%20Infrastructure
[10] Public key infrastructure - Wikipedia: https://en.wikipedia.org/wiki/Public_key_infrastructure
[11] What is PKI? A Public Key Infrastructure Definitive Guide: https://www.keyfactor.com/resources/what-is-pki
[12] What is PKI? And how it secures just about everything online: https://www.csoonline.com/article/3400836/what-is-pki-and-how-it-secures-just-about-everything-online.html
[13] What is PKI?: https://cpl.thalesgroup.com/faq/public-key-infrastructure-pki/what-public-key-infrastructure-pki
[14] Public Key Infrastructure: https://www.tutorialspoint.com/cryptography/public_key_infrastructure.htm
[15] What is PKI(Public Key Infrastructure)?: https://www.ssh.com/academy/pki#:~:text=Public%20Key%20Infrastructure%20%28PKI%29%20is,a%20particular%20user%20or%20device.
[16] Public Key Infrastructure - GeeksforGeeks: https://www.geeksforgeeks.org/public-key-infrastructure
[17] Cryptography: Public Key Infrastructure(PKI): https://freemanlaw.com/pki-cryptography
[18] What is Public Key Infrastructure(PKI)? | Venafi: https://www.venafi.com/education-center/pki/how-does-pki-work
[19] PKI | What is PKI? | PKI Management | Role of Certificates in PKI: https://www.appviewx.com/education-center/pki
本文由 mdnice 多平台发布发布于 2023-10-09 09:55・IP 属地北京程序员赞同添加评论分享喜欢收藏申请
PKI加密体系加密过程及原理_pki体系具体流程图解,通俗易懂,很有用-CSDN博客
>PKI加密体系加密过程及原理_pki体系具体流程图解,通俗易懂,很有用-CSDN博客
PKI加密体系加密过程及原理
最新推荐文章于 2024-03-04 19:02:14 发布
不执着。
最新推荐文章于 2024-03-04 19:02:14 发布
阅读量8.7k
收藏
50
点赞数
12
分类专栏:
笔记
文章标签:
web安全
安全
网络
算法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_48816383/article/details/116495235
版权
笔记
专栏收录该内容
3 篇文章
0 订阅
订阅专栏
文章目录
前言一、基本相关概念1.信息安全CIA三要素2.密码学基本相关概念密钥加/解密算法
3.数字签名/数字证书4.CA/RA机构
二、PKI体系1.第一层级:数据加密与密钥保密(加密传输,保证数据的保密性)2.第二层级:单向加密数据,保证数据的完整性(消息认证码)3.数字签名:消息认证与身份认证4.数字证书:身份认证——不可抵赖性
总结
前言
本文依据自己的工作经验总结,参考相关文献文档简述PKI加密体系的加密过程及原理。
一、基本相关概念
注:PKI全称公钥基础设施,主要用于保障数据传输交换过程诸如完整性、保密性等安全需求。在进行PKI加密体系学习前,我们需要先了解几个关键的名词。
1.信息安全CIA三要素
一般而言,我们讲的信息安全三要素是指:保密性、完整性、可用性。这并不是说信息安全只有这三个点,其实还有诸如:有效性、真实性、不可抵赖性等等(当然这些特性其实从某种角度而言可以归纳进入三要素之中,可看作是更细分的特性)。而这些就是信息安全需要保障的。PKI体系主要偏向保障了数据的保密性、完整性、不可抵赖性和真实性等。 通常我们对网络安全、信息安全、数据安全等称呼的认知都是认为他们是相同的,其实他们之间是存在范围上或者层级上的不一样的,当然他们需要保障的特性是具有相通性的,这里我们不做说明,后面的描述我将统一采用数据安全来的描述方式。
2.密码学基本相关概念
密钥
密钥就是“钥匙”。是加解密过程使用的钥匙,可以理解为锁门关门所使用的“钥匙”,从功能上讲这是相似的。数学上这是一个解开函数的已知量,例如:x+5=y,这里这个“5”就是密钥。加密过程就是知道x计算出y,解密就是知道y反推出x。需要特别指出的是,实际上加密与解密的密钥可以是相同的也可以是不同的,即知道加密的密钥与加密后的密文是不一定能计算出原文的(知道y与5计算不出x),至于原理,那就是数学的魅力了。 这里的举例只是便于理解,实际过程使用的数学函数是不会这么简单的,例如AES使用的核心数学原理是伽罗瓦域,RSA的核心数学原理大素数的难分解性,欧拉定理等,我国的SM2就利用了椭圆曲线算法。
加/解密算法
对称加密 简单的说,对称加密就是加密与解密使用同一个密钥。 非对称加密 与对称加密相对应的,非对称加密就是加密与解密使用两个完全不同无关联不能相互推导且相互之间唯一的一对密钥。也就是说这种加密算法是会产生两个密钥的(通常称之为一对密钥),这一对密钥中的两个密钥(通常称之为公钥与私钥)相互之间不同,除加解密之外无其他关联,无法相互推导而出,能且只能相互加解密(公钥加密的只有对应的私钥能够解密,私钥加密的只有对应公钥能够解密,公钥只能解密对应私钥加密的数据,私钥只能解密对应公钥加密的数据) 关于这一对公私钥,谁是公钥谁是私钥,是没有标准要求的,只有一个区分:对外公开的就是公钥,不对外公开的,自己要完美保密的就是私钥。是的没有看错,通常情况下公钥是需要且必要对外公开的,具体的我们后文会有提及。
不可逆(单向)加密(散列函数hash、消息摘要、杂凑函数) 这一类加密算法是比较特殊,但其实应用比较广泛的加密算法。其特点是,一旦加密无法解密,密文唯一(即不同字符的数据原文加密后的密文是不同的,不会出现一致的密文),通常密文长度固定(不管原文长度如何,加密后都是统一固定长度)。与前面两种加密不同的是这种加密实现的主要保障目的是完整性、不可抵赖性。
加/解密算法按照不同维度会有多种分类方式,每种分类又会有多种不同的类型,例如按照加密方式可分为流加密算法、分组加密算法....按照用途又可以分为密钥协商算法、加密算法等等。这里我们不做详细说明,感兴趣的可以自行百度作为了解。 密码学的历史是比较悠久的,整个学科也很复杂,从早期的古典密码(核心理论是替代和置换,如经典的凯撒密码),到现在普谝使用的PKI体系。形成了一个较为庞大的学科体系,感兴趣的可以自行百度作为了解,这里我们只针对PKI关联紧密的做一些简单的说明。 这里提一个目前公用的密码学中的原则:柯克霍夫原则(Kerckhoffs's principle)即柯克霍夫这个人提出的理论。他认为“即使密码系统的任何细节已为人悉知,只要密匙未泄漏,它也应是安全的。”基于这个原则,算法是可以公开的,并且部分人认为应该公开,让所有人去攻击,这样都无法攻破的算法才是安全的算法,我们只需要保证每次使用的密钥的安全保密即可。
3.数字签名/数字证书
数字签名:与物理世界签名的作用本质上是一样的,只不过签名方式不通。数字签名就是一串字符串,通常是对数据(已知数据)用私钥加密,因为私钥只有发送者自己知道,且其解密方式有且只有用对应的公钥解解密,所以能够判定该加密数据是发送者发送的,就产生了“签名”的效果。 数字证书:数字证书则是为证明数字签名的真实有效不可抵赖而产生的。在上述的数字签名过程中有一个逻辑上的问题:我们要验证签名的真实性需要用发送者签名时使用的私钥其对应的公钥来解密,查看能否解密,解密后数据正确与否,以此来判断;然而公钥是公开的,我们无法验证我们拿到的公钥就一定是正确的;且发送者也可以随时抵赖说我们使用的公钥并不是他们的公钥(因为私钥是绝对保密的,我们无法证明)。这个时候就需要权威机构发布证明文件(类似于派出所发放身份证),这个文件就是数字证书。 数字证书本身也是会有签名证明该证书是该权威机构发放的(防伪造),验证使用的公钥也是可以造机构公网拿到的。当然,我们可以说拿到的数字证书的也不一定是可信的,验证数字证书用的公钥也不一定是可信的(简单的说就是这个机构也不是一定可信的),它和数字签名一样存在逻辑问题。数字证书的可信度是需要建立在“你总是需要信任一个人”的理论上面的,这就像如果你不信任法院、公安局等机构,那么一切都是徒劳的,是无法做到完全可信的。当然拿到的验证证书使用的公钥需要保证正确,这就像生活中总有骗子冒充执法人员诈骗一样,这就只能自己睁大眼了,一定需要从官方获取并得到准确认证。
4.CA/RA机构
CA(证书机构): 就是上文提到的审核、发放、撤销、管理数字证书的机构,“公安局”的存在。证书机构CA是PKI的信任基础,它管理公钥的整个生命周期,其作用包括:发放证书、规定证书的有效期和通过发布证书废除列表(CRL)确保必要时可以废除证书。 RA(注册机构): 可以理解为CA的下级机构(“派出所”)。注册机构RA提供用户和CA之间的一个接口,它获取并认证用户的身份,向CA提出证书请求。它主要完成收集用户信息和确认用户身份的功能。这里指的用户,是指将要向认证中心(即CA)申请数字证书的客户,可以是个人,也可以是集团或团体、某政府机构等。注册管理一般由一个独立的注册机构(即RA)来承担。它接受用户的注册申请,审查用户的申请资格,并决定是否同意CA给其签发数字证书。注册机构并不给用户签发证书,而只是对用户进行资格审查。当然,对于一个规模较小的PKI应用系统来说,可把注册管理的职能由CA来完成,而不设立独立运行的RA。但这并不是取消了RA的相关功能,而是将其作为CA的一项功能而已。PKI国际标准推荐由一个独立的RA来完成注册管理的任务,可以增强应用系统的安全。
二、PKI体系
出于方便理解的目的,以下采用由浅入深,层层加码的方式说明整个PKI体系(由最初的加密传输到最后的整个体系)。
1.第一层级:数据加密与密钥保密(加密传输,保证数据的保密性)
要保证数据传输得保密性,最直接简单有效的方式就是对传输数据进行加密。无论采用什么加密算法,只要能够最大化得保证只有通信双方可读,就算是完成了任务。这里我们主要使用对称与非对称加密两种方式,事实上这两种方式只要运用合理基本上都可以完成这个工作。在这里我们首先以对称加密举例。如图: 这个过程相对简单,只需要双方用约定好的算法与密钥加解密即可完成加密传输的工作,在能保证密钥不泄露得情况下,数据得保密性也是能够得到一定的保障得;但是不难看出,这个过程中存在着一个致命得问题:密钥的保密问题。在对称加密的方式下,这个问题是无法完全解决的,只要有传输就有截取的风险。要降低这个风险,方法其实有很多,在这里我们只谈PKI体系的方法。如图: 从上图中不难看出,我们利用了非对称加密的特性来解决密钥传输容易被截取的风险。在这个过程中,除了双方各自的私钥以外,其他的加密过程都是可以公开的,但是没有私钥就无法获取数据内容。私钥也不用做任何的传输(如果可以,保存在脑子里都行),降低或者避免了截取的风险。这个过程做一下文字描述:A需要给B发送消息时,使用B的公钥加密,然后通过网络传输,整个密文只有B能够用自己的私钥解开,其他人都不行,包括A。B需要给A发送消息同理。这个过程中需要双方共同约定使用的算法,并各自生成一对公私钥。 上述的加密体系过程,我们基本解决了保密的问题,但是这样的传输依然存在问题。例如:虽然第三方(黑客)无法解密我们的数据,但是可以更改,删除。由于这个过程中的公钥是公开的,所以黑客截取数据后虽然无法打开,但它可以选择修改密文,甚至直接替换一段新的用公钥加密的数据,在发送放行,作为接收方,是没有办法进行区分的。于是我们就需要进阶第二层级。 从上述的内容,我们可以感知到似乎非对称加密更为保险,因为密钥的安全性更高。单从算法的安全性而言,对称与非对称都是可以达到安全目的与标准的,非对称的优势在于密钥的安全性。但是实际中我们依然大量的在使用对称加密。原因在于非对称加解密耗时长、速度慢,占用资源多,只适合对少量数据进行加密,而这些刚好是对称加密的优势所在。所以实际上这个体系我们通常是对称与非对称同时使用。即:大量数据的传输利用对称加密,然后使用非对称加密的方式传输对称加密的密钥,当然,如果是小数据的传输也可以直接使用非对称加密方式。
2.第二层级:单向加密数据,保证数据的完整性(消息认证码)
在前面的加密过程中我们基本解决了数据保密问题,但是那无法保证数据完整性(正确性),即无法确保数据没有被篡改。当然,只要传输过程存在,被截取的风险就存在,也就存在被修改的风险,这个数据安全传输通道的问题,加密无法解决;但是加密可以曲线救国,既然无法避免被截取篡改的风险,那我们换个角度,只要接收方能够分辨识别出来收到的消息有没有篡改,我们就能避免被假消息干扰了。实现分辨收到的数据有没有被篡改就需要利用单向加密的特性:唯一存在、不可逆。 我们知道单向加密是不可逆的,而且加密密文是唯一的(理论上,至于为什么说理论上,我们在结尾的时候再提到。)即:任何差异的明文加密后的密文是不会重复的,且无法从密文反推出明文。利用这个特点,我们就能有效的分辨出收到的密文数据是否被修改过了。来说说过程:首先,我们用前面的步骤将数据加密成为密文,然后,我们再将密文进行单向加密得到一个摘要,再将密文与摘要同时发送给接收方。接收方接收数据后,先不做密文数据的解密,而是拿出密文数据用同样的单向加密方式对密文数据加密,也得到一个摘要,将这个摘要与接收到的摘要对比,一致即表示密文数据未被修改,可进行解密读取数据,不一致则标识密文数据存在异常,我们就不再做解密了,因为这个数据信息可能是错误的,被篡改的。 hash过程并不一定要密文hash,也可以采用明文hash,对应的解密时就是先解密出明文后在对明文hash然后对比。
如下图(图中单向加密以hash为例描述): 到此,我们算是解决了完整性的问题,但是解决完整性的这个过程还是存在一个问题,我们需要在优化一下。我们使用的单向加密的算法一般而言不是只有通信双方可知的,也就是说,通信双方可以hash校验,黑客也可以把hash值都替换掉改成他所修改的数据的对应hash值,这样我们就无法校验了。当然我们可以选择锉刀算法保密,但这就又增加了风险(需要保密的内容越多风险越大),我们需要尽量做到保密的内容最小化,但信息数据依然安全。所以,这个hash对比摘要的过程我们还需要利用单向加密的唯一性特点做一点优化,以达到不需要保密单向加密的算法也可保证完整性的目的。这个方法就是:“加盐”——产生消息认证码(MAC) 所谓“加盐”就是我们每一次使用算法生产摘要的时候,都在加密前的字段里固定加入一段数据,但这段字符串不参与传输,接收方验证的时候也同样加入该数据得到摘要用于校验。而这个固定数据我们常称之为key(与密钥相同的英文称呼)。在这种方式之下得到的这个验证摘要就叫做消息认证码(MAC)。一般情况下这个key是不丢失或泄露,那么这个消息验证码就是安全有效的。但是这里和对称加密一样存在一个key如何传输给对方的问题,然而这里我们不能在同样使用非对称算法解决了,因为在这里我们不仅是要保证key不被知道,还要保证key是正确的完整的,否则之后的所有校验就都是形同虚设了。于是我们就进阶第三层级。 消息认证码的过程其实已经有了一定的身份认证的功能效果了,因为key是只有双方知道的,所以验证能成功就可以证明消息是对方发送了。当然这个身份认证还不够完善,比如他还存在key的传输问题、发送方可以抵赖、发送方没法防范接收方栽赃等问题。
3.数字签名:消息认证与身份认证
要解决身份验证的问题,我们就需要一个标签。就像生活中的指纹、字迹等一样。这个标签需要唯一且无法被模仿伪造。回想前面的整个加密传输过程,满足这个条件的有一个——对称加密的私钥:唯一不重复,且除了发送方不会被其他人知道(虽然严格的说也存在保存不善的可能)。数字签名就是利用这个特性。 在上述第二步的时候,我们hash后,就准备了直接传输。在这里,我们缓一缓再做个数字签名。 数数字签名往往在说有加密的措施完成之后进行。我们将第二步中想要进行加盐操作生成MAC消息认证码的操作换一下。将密文+未加盐摘要拿出来,对摘要用发送方私钥加密(或者对要发送的密文+摘要私钥加密),然后发送。这样接收方收到消息后,先用发送方公钥解密。拿到摘要加密文,这个过程可以确认发送人不可伪造且摘要消息未被修改(若是整体就验证了整体未被修改),然后就重复之前的验证,到此为止PKI过程中的整个加密传输过程完整了起来。 加密保证传输过程信息的不泄露、对称加密解决了密钥的保密安全、单向加密(hash等)保证了验证消息的完整、数字签名验证了消息的可靠性 到此为止,从加密传输的过程中讲我们可以认为安全了。但是来了,整个过程中我们都在谈论技术、流程、工具的安全、保证、验证,忽略了一个重要因素——人。人才是最不可控的因素。就像前面提到的私钥我们说理论上不会被人知道,理论上也存在泄露可能,这都是因为人。记在脑子里都说不定啥时候说梦话泄露。甚至还会出现矢口否认,你拿到的公钥不是我的公钥,或者就真的被骗了拿到了一个错误的公钥,或者就故意拿个错的公钥栽赃,所以我们需要一个保证来对此负责,或者说及时止损,一旦发现可能泄露,停止信任。产生的影响也需要有人负责,这个时候就需要一个公正机构了。这个机构就是CA/RA,产生的认证物品就是:数字证书
4.数字证书:身份认证——不可抵赖性
数字证书本身类似于公安局发放的身份证:认证“我就是我”,以公安局的公信力、权威为保证、监督。 数字简单来讲就是一个小的文件,这个文件中通常包含认证方的信息(“公安局”CA/RA)、被认证人的信息及有限期限、以上所有内容的核实方式。 在通信双方通信时附上改证书作为校验就到达了解决“人”的不可控问题,或者说得到了一个保证以及明确的分责标准。 数字证书的标准现在通常使用X.509,其包含的内容如下: 版本 识别用于该证书的 X.509 标准的版本,这可以影响证书中所能指定的信息。迄今为止,已定义的版本有三个。 序列号 发放证书的实体有责任为证书指定序列号,以使其区别于该实体发放的其它证书。此信息用途很多。例如,如果某一证书被撤消,其序列号将放到证书撤消清单 (CRL) 中。 签名算法标识符 用于识别 CA 签写证书时所用的算法。 签发人机构 签写证书的实体的 X.500 名称。它通常为一个 CA。 使用该证书意味着信任签写该证书的实体(注意:有些情况下(例如根或顶层 CA 证书),签发人会签写自己的证书)。 有效期 每个证书均只能在一个有限的时间段内有效。该有效期以起始日期和时间及终止日期和时间表示,可以短至几秒或长至一世纪。所选有效期取决于许多因素,例如用于签写证书的私钥的使用频率及愿为证书支付的金钱等。它是在没有危及相关私钥的条件下,实体可以依赖公钥值的预计时间。 主体名 证书可以识别其公钥的实体名。此名称使用 X.500 标准,因此在Internet中应是唯一的。它是实体的特征名 (DN),例如:CN=Java Duke,OU=Java Software Division,O=Sun Microsystems Inc,C=US(这些指主体的通用名、组织单位、组织和国家)。 主体公钥信息 这是被命名实体的公钥,同时包括指定该密钥所属公钥密码系统的算法标识符及所有相关的密钥参数。 签名值 证书签发机构对证书的签名。
总结
PKI整体思路:首先利用加密(对称/非对称)保证数据信息的保密性,同时利用非对称的加密手段确保密钥的安全保密,增强数据信息的保密性>>然后利用单向加密保证数据的完整性,同时利用非对称的加密手段增强完整性的保证(哈希加盐),也提供身份验证(数字签名)的能力>>最后通过权威机构(RA/CA)发布数字证书提供完整的身份认证以及不可抵赖性。这样就形成了一个完整的数据信息安全保证与通信双方可信赖的完整链条。 值得注意的是: 1、保密是相对的:总会有被破解的时候,破解成本与所获利益是成反比的;数据信息也是有保密时效性的。 2、数据信息的保密过程中需要保密的环节及信息越多,泄露的风险越大。 3、PKI体系需要基于信任,权威结构的公信力。 4、PKI只是解决数据通信的安全,数据存储的安全是另外的领域。 5、任何的技术和流程都存在泄露风险;人,是最不确定、不可控的因素。
优惠劵
不执着。
关注
关注
12
点赞
踩
50
收藏
觉得还不错?
一键收藏
知道了
0
评论
PKI加密体系加密过程及原理
文章目录前言一、基本相关概念1.信息安全CIA三要素2.密码学基本相关概念密钥加/解密算法3.数字签名/数字证书4.CA/RA机构二、PKI体系1.第一层级:数据加密与密钥保密(加密传输,保证数据的保密性)2.第二层级:单向加密数据,保证数据的完整性(消息认证码)3.数字签名:消息认证与身份认证4.数字证书:身份认证——不可抵赖性前言本文依据自己的工作经验,参考相关文献文档简述PKI加密体系的加密过程及原理。一、基本相关概念注:PKI全称公钥基础设施,主要用于保障数据传输交换过程诸如完整性、保密.
复制链接
扫一扫
专栏目录
PKI体系具体流程图解,通俗易懂,很有用
08-05
PKI体系具体流程图解,通俗易懂,很有用
Windows2012 要远程登录,你需要具有通过远程桌面服务进行登录的权限.
dahaidao的专栏
03-03
1万+
直接说正题。。。
远程连接win2012系统时,提示:要远程登录,你需要具有通过远程桌面服务进行登录的权限。默认情况下,远程桌面用户组的成员有这项权限。如果你所属的组没有这项权限,或者远程桌面用户组中已经删除了这项权限,那么需要手动为你授予这一权限。
提示如下:
解决办法:
gpedit进入策略组:计算机配置->Windows设置->安全设置->本地策略->用户权限分配,
找
参与评论
您还未登录,请先
登录
后发表或查看评论
PKI(公、私钥加密,数字签名、数字证书)技术理解
与君共勉
11-17
2240
网络安全、数通必学知识-------PKI :Public Key Infrastructure 公钥基础设施通过加密技术和数字签名保证信息的安全公钥加密技术、数字证书、CA、RA。
PKI和CA 介绍
热门推荐
从菜鸟到菜菜鸟
03-06
6万+
公钥基础设施(Public Key Infrastructure,简称PKI)是目前网络安全建设的基础与核心,是电子商务安全实施的基本保障,因 此,对PKI技术的研究和开发成为目前信息安全领域的热点。本文对PKI技术进行了全面的分析和总结,其中包括PKI组成、证书认证机构CA、PKI应 用、应用编程接口和PKI标准等,并对CA的开发做了简要分析。本文对PKI,特别是CA的开发、应用...
HTTPS加密协议详解(三):PKI 体系
nb1253587023的博客
06-26
375
pki
公钥基础设施PKI
程序袁小黑
09-04
3861
(1)PKI概念
PKI是对一整套安全基础设施的通称,这套安全基础设施以公钥密码技术为基础,并遵循一系列标准。加密技术是基础,证书服务是核心。PKI支持集中、自动的密钥管理和密钥分配,不但可以为所有的网络应用提供加密及数字签名等服务,而且还可以为这些密码服务提供所需要的密钥和证书管理体系。
(2) PKI组成
公钥基础设施PKI由认证机构CA、注册审批机构RA、证书库CR、密钥
PKI工作原理
Jian Sun_的博客
01-16
1万+
1. PKI是什么?
简而言之,公钥基础结构(PKI)是一个系统,用于保护不同计算机系统之间的通信。
2. PKI为保护通信有两件事
身份验证:确保另一方是你要与之通信的合法服务器或者个人。
信息加密:确保没有其他方可以阅读你的通信甚至篡改你的通信。
3.SSL使用PKI做两件事:
1. 你的浏览器会验证它是否已连接到正确服务器。
2. 在你的浏览器和Web服务器之间传递的所有数据均已加密。
4. PKI通过验证用户和服务器进行工作
i. Web客户端(例如)连接到 Web服务器以获取服务
网络安全——身份认证与PKI原理
Yushiba972的博客
10-17
4832
文章总结了网络安全中PKI系统的组成以及特点、运作机制,并介绍了RADIUS协议、Kerberos协议、SSL协议三大身份认证协议。
【加密算法】PKI技术
qq_22744093的博客
09-06
367
PKI技术是一种利用公钥密码算法为基础的加密和数字签名技术,它提供了一种安全可靠的方式来存储、管理和验证数字证书。PKI技术通过数字证书实现,数字证书是数字签名的一种形式,用于在公共网络上对数据进行身份验证和加密保护。
PKI详解
polarday的博客
05-08
2523
应用场景
公钥密码算法一般包括加解密、数字签名两种使用模型,在加解密模型中,Alice想要和Bob通信,需要用Bob的公钥对明文进行加密。这里就存在一个问题,如何判断某个公钥是Bob的公钥呢?如果存在攻击者自行生成公私钥对并谎称是Bob的公钥,那么攻击者就可以窃听到属于Alice和Bob的秘密信息,Bob反而不能解密这些信息。
PKI概念
PKI(Public Key Infrastructure)通过数字证书,可以很好的解决上述的公钥归属问题,PKI中文译为公钥基础设施,是基于公钥密码学建立起的一种普遍使
加密原理及PKI基础
12-17
介绍现代密码体系及常见各类加密算法基本原理;同时简介了PKI基础 现代密码、对称/非对称密码、分组密码、序列密码、DES、RSA、Hash、PKI
加密通信过程演化以及PKI 体系结构
08-07
加密通信过程的演化,数字证书的产生,数字证书内容以及数字证书在加密通信中应用过程详解,PKI的体系结构。
JavaPGP及PKI加密
04-17
3,PGP可针对文本及文件加密解密,而PKI暂时只针对文本,日后再补充针对文件的; 4,由于本人使用的是jdk1.7的JCE(Java Cryptography Extension),因此下载的同学们需要找相应的兼容的JCE; 5,把JCE两个Jar复制到...
浅析PKI加密解密 OpenSSL
10-27
本篇文章是对PKI加密解密 OpenSSL进行了介绍,需要的朋友参考下
php pki加密技术(openssl)详解
10-27
本篇文章是对php中的pki加密技术(openssl)进行了详细的分析介绍,需要的朋友参考下
网络安全(黑客)自学
annebab的博客
02-28
2348
在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。当然,产生这样的疑惑并不奇怪,毕竟网络安全这个专业在2017年才调整为国家一级学科,而且大众对于网络安全的认知度不高,了解最多的可能就是个人信息泄露或者社区经常宣传的国家反诈APP。所以,如果你对网络安全感兴趣,即使没有天生的特质也可以一试,很多人都是在学习网络安全的过程中慢慢锻炼的。到此为止,大概1个月的时间。
网络安全(黑客)技术——自学2024
最新发布
dhaoiusufdhjef的博客
03-04
1225
在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。当然,产生这样的疑惑并不奇怪,毕竟网络安全这个专业在2017年才调整为国家一级学科,而且大众对于网络安全的认知度不高,了解最多的可能就是个人信息泄露或者社区经常宣传的国家反诈APP。所以,如果你对网络安全感兴趣,即使没有天生的特质也可以一试,很多人都是在学习网络安全的过程中慢慢锻炼的。到此为止,大概1个月的时间。
网络安全(黑客)——2024自学
S18374的博客
03-02
1451
当我们谈论网络安全时,我们正在讨论的是保护我们的在线空间,这是我们所有人的共享责任。网络安全涉及保护我们的信息,防止被未经授权的人访问、披露、破坏或修改。
【Web安全靶场】sqli-labs-master 21-37 Advanced-Injection
likinguuu的博客
02-28
1181
【Web安全靶场】sqli-labs-master 21-37 Advanced-Injection
PKI及SSL协议分析实验原理分析
04-27
PKI(Public Key Infrastructure)是一种公钥基础设施,它为互联网上的通信提供了安全保障。PKI中的一对公私钥对可以用于数字签名、加密和认证等安全功能。
SSL(Secure Sockets Layer)协议是一种基于加密的安全协议,主要用于在Internet上的数据传输安全。SSL协议的主要作用是保证数据传输的机密性、完整性和认证性。
SSL协议的实现需要使用PKI建立安全通信渠道。在SSL协议中,服务器端和客户端之间的交互流程如下:
1. 服务器端向证书颁发机构(CA)申请数字证书;
2. CA对服务器端的身份进行验证,然后签发数字证书;
3. 客户端向服务器端发送请求;
4. 服务器端返回数字证书;
5. 客户端对数字证书进行验证;
6. 客户端生成随机数并用服务器端的公钥加密,发送给服务器端;
7. 服务器端使用私钥解密随机数,并使用该随机数生成对称加密密钥;
8. 服务器端使用对称加密密钥加密数据,发送给客户端;
9. 客户端使用对称加密密钥解密数据。
通过上述流程,SSL协议实现了安全通信的目的。其中,PKI的作用主要体现在数字证书的生成、验证和管理等方面。
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
不执着。
CSDN认证博客专家
CSDN认证企业博客
码龄4年
暂无认证
7
原创
104万+
周排名
215万+
总排名
2万+
访问
等级
105
积分
11
粉丝
30
获赞
6
评论
148
收藏
私信
关注
热门文章
PKI加密体系加密过程及原理
8765
域名、IP地址、MAC地址的简述及其相互间的联系
6098
DHCP服务器,IP分发(获取)过程简述及常见安全攻防
3374
TCP/IP协议简述(OSI7层模型与TCP/IP协议)
3160
DNS服务器,域名解析过程简述及常见安全点
975
分类专栏
TCP/IP
1篇
笔记
3篇
最新评论
TCP/IP协议简述(OSI7层模型与TCP/IP协议)
weixin_75110594:
DHCP服务器,IP分发(获取)过程简述及常见安全攻防
抓手:
写的好啊,原创不易必须支持一下
DHCP服务器,IP分发(获取)过程简述及常见安全攻防
不执着。:
加油,加油,感谢支持。
DHCP服务器,IP分发(获取)过程简述及常见安全攻防
盼盼编程:
原创不易,博主加油
常规安全测试项及方法——移动应用基础版
大家一起学编程(python):
999
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
TCP/IP协议简述(OSI7层模型与TCP/IP协议)
DNS服务器,域名解析过程简述及常见安全点
域名、IP地址、MAC地址的简述及其相互间的联系
2021年7篇
目录
目录
分类专栏
TCP/IP
1篇
笔记
3篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
添加红包
祝福语
请填写红包祝福语或标题
红包数量
个
红包个数最小为10个
红包总金额
元
红包金额最低5元
余额支付
当前余额3.43元
前往充值 >
需支付:10.00元
取消
确定
下一步
知道了
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝
规则
hope_wisdom 发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
0
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。
余额充值
什么是PKI | 公钥基础结构 | DigiCert
什么是PKI | 公钥基础结构 | DigiCert
')
//check if OneTrust is allowing "Personalized Experience Cookies" (i.e., Adobe Target) to load
var adobeTargetOneTrustGroup = "PE";
function isAdobeTargetAllowed(adobeTargetOneTrustGroup) {
var OptanonConsentCookie = document.cookie.match(/OptanonConsent=.*;/);
return (OptanonConsentCookie && decodeURIComponent(OptanonConsentCookie[0]).includes(adobeTargetOneTrustGroup + ":1"));
}
if (isAdobeTargetAllowed(adobeTargetOneTrustGroup)) {
//Adobe Target prehiding snippet
;(function(win, doc, style, timeout) {
var STYLE_ID = 'at-body-style';
function getParent() {
return doc.getElementsByTagName('head')[0];
}
function addStyle(parent, id, def) {
if (!parent) {
return;
}
var style = doc.createElement('style');
style.id = id;
style.innerHTML = def;
parent.appendChild(style);
}
function removeStyle(parent, id) {
if (!parent) {
return;
}
var style = doc.getElementById(id);
if (!style) {
return;
}
parent.removeChild(style);
}
addStyle(getParent(), STYLE_ID, style);
setTimeout(function() {
removeStyle(getParent(), STYLE_ID);
}, timeout);
}(window, document, "body {opacity: 0 !important}", 3000));
}
数字信任解决方案
购买
洞见
合作伙伴
支持
Contact Us
Language
Contact us
返回
choose your language
英语
西班牙语
荷兰语
德语
法语
意大利语
中文(简体)
中文(繁体)
日语
韩语
葡萄牙语
返回
与支持代表线上交谈
与技术支持人员线上交谈 >
与验证人员线上交谈 >
与销售人员线上交谈 >
中国
+86 400 842 8401
向销售人员发送电子邮件 向支持人员发送电子邮件
RECOMMENDED LINKS
证书对比
DigiCert® Trust Lifecycle Manager
DigiCert® IoT Trust Manager
DigiCert® Document Trust Manager
DigiCert® Software Trust Manager
DigiCert® DNS Trust Manager
返回
大规模保护、更新、监测并控制互联设备
立即下载
数字信任:
企业IT、PKI与身份
DigiCert® Trust Lifecycle Manager
网站与服务器
DigiCert® CertCentral TLS/SSL Manager
DigiCert® DNS Trust Manager
代码与软件
DigiCert® Software Trust Manager
文档与签名
DigiCert® Document Trust Manager
IoT与互联设备
DigiCert® IoT Trust Manager
Matter计划IoT设备认证
适用于开发人员的DigiCert+Mocana
立即在一个平台中管理PKI与证书风险
预防停机
证书生命周期管理
私有PKI服务
集成与优势
立即在一个平台中管理PKI与证书风险
预防停机
证书生命周期管理
私有PKI服务
集成与优势
管理证书生命周期的更智能的方法
颁发与安装
检查与修复
续订与自动化
分配与委托
适用于CI/CD& DevOps的持续签名
确保代码完整性
实现软件签名工作流程的自动化
集中管理密钥与权限
简化并强制执行合规性
安全、灵活的全球签名
建立加密唯一身份
受信任的远程身份验证(RIV)
直观的Adobe和DocuSign集成
灵活的工作流程选项
从芯片注入到现场全过程受信任
医疗IoT
家居与消费者IoT
工业IoT
智慧城市IoT
运输IoT
不妥协的设备安全性
嵌入式信任
自动化的设备管理
集中控制
加快安全应用程序开发
不限定操作系统和处理器的开发
灵活的足迹
任何语言
发布活动
PKI领域30年来最重大的事项
观看网络研讨会
2022版TLS/SSL最佳实践指南
立即下载
2022版TLS/SSL最佳实践指南
立即下载
网络研讨会
管控设备、身份和证书扩散
立即观看
如何建立DevOps将实际采用的签名策略
获取指南
从全球角度管理文档签名与规则
立即下载
大规模保护、更新、监测并控制互联设备
立即下载
大规模保护、更新、监测并控制互联设备
立即下载
大规模保护、更新、监测并控制互联设备
立即下载
返回
管理行业最佳证书的2022年最佳实践指南
了解更多信息
DigiCert TLS/SSL证书
Secure Site Pro TLS/SSL
购买
Secure Site TLS/SSL
购买
基本款TLS/SSL
购买
通配符TLS/SSL
购买
多域名TLS/SSL
购买
证书对比
对比
DigiCert Smart Seal
购买
Verified Mark Certificates
购买
欧盟合格证书(QTSP)
申请
PSD2证书
学习
代码签名证书
购买
客户端(S/MIME)证书
购买
文档签名证书
购买
比较最受信任的证书:
Secure Site Pro TLS/SSL证书
Secure Site TLS/SSL证书
基本款TLS/SSL证书
通配符TLS/SSL证书
多域名(UCC/SAN)TLS/SSL证书
强大的一体式网站安全
优先验证与支持
恶意软件扫描服务
漏洞与PCI扫描
持续的CT日志监测
DigiCert Smart Seal
行业领先的安全赔付金额
数字优先企业的选择
优先验证与支持
恶意软件扫描
DigiCert Smart Seal
领先的安全赔付金额
安全、灵活、必要的证书
屡获殊荣的支持服务
99%的浏览器兼容性
可在OA、EV中提供
DigiCert Basic Seal
灵活、功能强大且易于添加
适用于所有DigiCert OV证书
保护主域名
保护无限子域名
多域名。灵活的选项。
适用于所有DigiCert OV和EV证书
保护多达250个子域名
统一通信证书(UCC)
SAN(使用者可选名称)证书
当今最先进的信任签章
赢得客户信任
提高转化率
83%的消费者喜欢的功能
被消费者评为“最现代”
开始发送客户可信任的电子邮件
通过DMARC降低网络钓鱼风险
在客户的收件箱中实现可视化验证
提高电子邮件的开启率
符合欧盟标准、合格且受到信任
QWAC(合格Web身份验证证书)
eIDAS合格电子签名证书
eIDAS合格电子印章证书
瑞士ZertES证书
荷兰PKIoverheid证书
Netherlands PKIoverheid Certificates
前量子时期是做准备的时期
仅由Secure Site Pro证书提供
预览您的量子准备情况
有效期前和有效期后的混合证书
提供完整的文档
实现PSD2合规性
DigiCert是欧盟合格信任服务提供商(QTSP)
合格TLS/SSL证书
e-Seal和QSealC证书
进行代码签名并保护软件
保护您的IP
可用的OV或EV证书
可选时间戳和密钥库
支持HSM
确保业务安全的客户端证书
使用S/MIME加密电子邮件
启用双因素身份验证
管理对网络资产的访问
用于领先工作流程的受信任的文档签名
建立具有法律约束力的身份
在全球受信任
提供个人或组织证书
管理行业最佳证书的2022年最佳实践指南
立即下载
用于行业最佳证书的最新最佳实践
立即下载
获取已帮助数千家企业改进证书管理的清单
立即下载
获取已帮助数千家企业改进证书管理的清单
立即下载
获取2022版TLS/SSL最佳实践指南
立即下载
获取2022版TLS/SSL最佳实践指南
立即下载
了解DigiCert Smart Seal如何在整个客户之旅中获胜
查看数据
了解VMC可如何同时助力于IT、风险管理与市场营销
获取指南
唯一拥有全球影响力和本地专业知识的合格信任服务提供商
观看视频
请查看PQC工具包文档
查看文档
实现PSD2合规性所需的所有内容
立即下载
大规模管理代码签名、密钥和策略以提升信任
获取指南
网络研讨会
管控设备、身份和证书扩散
立即观看
从全球角度管理文档签名规则
立即下载
返回
网络研讨会
管控设备、身份和证书扩散
立即观看
洞察力
DigiCert 实验室
数字信任的 4 个要素
合规案例
零信任: 数字信任的关键
真实世界的数字信任
浏览这些页面,了解 DigiCert 如何帮助组织建立、管理和扩展数字信任,以解决实际问题。
博客
公关与新闻
活动
Ponemon 研究所报告
看看我们的全球后量子研究揭示了世界在为量子计算做准备的竞赛中的现状。
了解更多 >
返回
建立于信任的合作关系
立即观看
DigiCert合作伙伴网络
DigiCert 合作伙伴计划
DigiCert 合作伙伴门户网站
DigiCert技术合作伙伴计划
集成合作伙伴目录
行业和联盟领导
CI+ 伙伴关系
强大的合作伙伴关系在全球提供数字信任:
企业
中小企业
政府
技术联盟
联合体
Cloud Service Providers
建立于信任的合作关系
数字信任解决方案为Acmetek创造了新机会
立即观看
返回
联系我们的支持团队
美洲
1.877.438.8776(美国和加拿大免费)
1.520.477.3102
1.801.701.9601(西班牙语)
1.800.579.2848(仅限企业)
1.801.769.0749(仅限企业)
欧洲、中东、非洲
+44.203.788.7741
亚太、日本
+61.3.9674.5500
向销售人员发送电子邮件> 向支持人员发送电子邮件>
支持
支持
PKI支持
联系我们
资源
博客
文档
API文档
知识库
常见问答与解答
什么是SSL证书?
什么是SSL、TLS和HTTPS?
DV、OV和EV SSL证书之间有什么区别?
TLS/SSL如何发挥作用
工具
工具:SSL Install Diagnostic
工具:Certificate Utility for Windows
工具:CSR创建程序
工具:检查CSR
工具:SSL证书安装说明
联系我们的支持团队
技术支持聊天 >
验证聊天 >
销售聊天 >
中国
+86 400 842 8401
向销售人员发送电子邮件 向支持人员发送电子邮件
向销售人员发送电子邮件
向支持人员发送电子邮件
数字信任
什么是PKI?
从海底到太空的边缘,PKI建立了信任。在DigiCert,
我们帮助你在整个生态系统中管理和扩展它。
这就是现实世界中的数字信任。
了解更多信息
什么是PKI?
什么是专用PKI?
PKI用例
常见问题与解答
安全问题
密码已不再行之有效
您的信息与您的任何企业资产一样重要。为您最有价值的系统和数据添加更多重的安全性已经不再是可选项—这已经成为了必选项。您可以通过PKI采用先进的身份验证和加密方法来降低网络风险。
什么是PKI?
公钥基础结构(PKI)是流程、技术和策略的系统,能让您对数据进行加密和签名。您可以颁发对用户、设备或服务进行身份验证的数字证书。这些证书可为公共Web页面和专用系统创建安全连接,其中专用系统包括您的虚拟专用网络(VPN)、内部Wi-Fi、Wiki页面,以及其他支持MFA的服务。有疑问?
访问PKI常见问题与解答
什么是专用PKI?
专用PKI能让您利用通常由公共可信的CA所维护的中间根来颁发您自己的专用SSL证书。这能让您根据独特需求定制证书,并为内部流程按需部署证书。
了解更多信息
常见的PKI用例
保护Web页面
加密文件
对电子邮件进行身份验证和加密
对连接到无线网络的节点进行身份验证
对VPN连接进行身份验证
PKI不仅能用于Web安全
尽管存在常见的误解,但PKI提供重要的身份验证措施,因此非常匹配爆炸式增长的IoT领域。
可定制
数字证书的尺寸可以扩大或缩小以适应任何类型的设备
可扩展
PKI易于扩展,因此您可以有效地管理大量证书
具有竞争力
IoT证书具有成本效益,并且大量采购价格更优惠
相关资源
白皮书
构建可扩展的PKI的5个步骤
英语
下载
博客系列
如何构建可扩展的PKI 访谈系列
英语
立即阅读
白皮书
PKI—物联网安全解决方案
英语
下载
有关于PKI的疑问?
请询问我们的PKI架构师团队。
Company size (# of employees):*
1 - 10
10 - 50
50 - 200
200 - 500
500 - 1000
1000 - 5000
5000 - 10000
國家:*
巴布亚新几内亚
柬埔寨
哈萨克斯坦
巴拉圭
巴哈马群岛
所罗门群岛
Montserrat
马里
马绍尔群岛
Guadeloupe
巴拿马
Bonaire, Sint Eustatius and Saba
Virgin Islands, British
Iran, Islamic Republic of
Tanzania, United Republic of
阿根廷
Lao People's Democratic Republi
塞舌尔
Congo, Democratic Republic of
伯利兹
赞比亚
巴林
Congo
几内亚比绍
纳米比亚
科摩罗联盟
Faroe Islands
芬兰
Netherlands Antilles
格鲁吉亚
Saint Kitts and Nevis
也门
厄立特里亚
波多黎各
Aruba
马达加斯加
象牙海岸
利比亚
South Georgia and the South Sandwich Islands
瑞典
Cocos (Keeling) Islands
马拉维
安道尔
Saint Helena, Ascension and Tristan da Cunha
列支敦士登
波兰
保加利亚
约旦
突尼斯
Wallis and Futuna Islands
Channel Islands
图瓦卢
阿拉伯联合酋长国
肯尼亚
French Polynesia
吉布提
黎巴嫩
阿塞拜疆
捷克
毛利塔尼亚
Saint Lucia
Guernsey
Mayotte
Virgin Islands, US
以色列
圣马力诺
澳大利亚
塔吉克斯坦
Myanmar
喀麦隆
直布罗陀
塞浦路斯
Ascension Island
Northern Mariana Islands
马来西亚
冰岛
阿曼
亚美尼亚
加蓬
巴西
Korea, Republic of
Turks and Caicos Islands
阿尔及利亚
Jersey
斯洛文尼亚
安提瓜和巴布达
哥伦比亚
厄瓜多尔
瓦努阿图
United States Minor Outlying Islands
洪都拉斯
Saint Barthelemy
瑙鲁
海地
阿富汗
布隆迪
俄罗斯联邦
新加坡
French Guiana
American Samoa
Christmas Island
Martinique
Sint Maarten
Saint Pierre and Miquelon
吉尔吉斯斯坦
Reunion
不丹
罗马尼亚
Falkland Islands (Malvinas)
多哥
菲律宾
Holy See (Vatican City State)
乌兹别克斯坦
Pitcairn
津巴布韦
British Indian Ocean Territory
黑山
多米尼克
印度尼西亚
贝宁
安哥拉
Korea, Democratic People's Republic of
东帝汶
Brunei Darussalam
葡萄牙
New Caledonia
格林纳达
Cayman Islands
拉脱维亚
蒙古
摩洛哥
危地马拉
圭亚那
伊拉克
智利
尼泊尔
Isle of Man
乌克兰
加纳
Anguilla
印度
加拿大
马尔代夫
土耳其
中国台湾
特立尼达和多巴哥
Bermuda
Heard and McDonald Islands
Aland Islands
中非共和国
牙买加
秘鲁
土库曼斯坦
斐济
Tokelau
中国香港特别行政区
美国
几内亚
乍得
索马里
圣多美和普林西比
泰国
赤道几内亚
基里巴斯
哥斯达黎加
Saint Martin (French part)
越南
科威特
尼日利亚
克罗地亚
Syrian Arab Republic
Cook Islands
斯里兰卡
乌拉圭
Timor-Leste
英国
萨摩亚
利比里亚
委内瑞拉
Burkina Faso
斯威士兰
Saint Vincent and Grenadines
帕劳
爱沙尼亚
Niue
莫桑比克
萨尔瓦多
摩纳哥
Guam
莱索托
Palestinian
汤加
Western Sahara
Bolivia, Plurinational State of
匈牙利
南苏丹
白俄罗斯
Curacao
毛里求斯
阿尔巴尼亚
Norfolk Island
塞内加尔
Moldova, Republic of
埃塞俄比亚
埃及
塞拉利昂
马耳他
沙特阿拉伯
佛得角
巴基斯坦
科索沃
冈比亚共和国
爱尔兰
卡塔尔
斯洛伐克
法国
立陶宛
塞尔维亚
波斯尼亚和黑塞哥维那
尼日尔
卢旺达
Macedonia, the former Yugoslav Republic of
French Southern Territories
孟加拉
巴巴多斯
尼加拉瓜
博茨瓦纳
Macao
多米尼加共和国
墨西哥
乌干达
密克罗尼西亚
苏里南
Greenland
日本
瑞士
Bouvet Island
西班牙
希腊
新西兰
奥地利
荷兰
比利时
挪威
中国
卢森堡
丹麦
南非
意大利
Svalbard and Jan Mayen Islands
德国
State & Province
Australian Capital Territory
New South Wales
Northern Territory
Queensland
South Australia
Tasmania
Victoria
Western Australia
Acre
Alagoas
Amazonas
Amapa
Bahia
Ceara
Distrito Federal
Espirito Santo
Goias
Maranhao
Minas Gerais
Mato Grosso do Sul
Mato Grosso
Para
Paraiba
Pernambuco
Piaui
Parana
Rio de Janeiro
Rio Grande do Norte
Rondonia
Roraima
Rio Grande do Sul
Santa Catarina
Sergipe
Sao Paulo
Tocantins
Andhra Pradesh
Arunachal Pradesh
Assam
Bihar
Chandigarh
Chhattisgarh
Daman and Diu
Delhi
Dadra and Nagar Haveli
Goa
Gujarat
Himachal Pradesh
Haryana
Jharkhand
Jammu and Kashmir
Karnataka
Kerala
Lakshadweep
Maharashtra
Meghalaya
Manipur
Madhya Pradesh
Mizoram
Nagaland
Odisha
Punjab
Puducherry
Rajasthan
Sikkim
Tamil Nadu
Tripura
Uttar Pradesh
Uttarakhand
West Bengal
Alberta
British Columbia
Manitoba
New Brunswick
Newfoundland and Labrador
Nova Scotia
Northwest Territories
Nunavut
Ontario
Prince Edward Island
Quebec
Saskatchewan
Yukon Territories
Alaska
Alabama
Arkansas
Arizona
California
Colorado
Connecticut
District of Columbia
Delaware
Florida
格鲁吉亚
Guam
Hawaii
Iowa
Idaho
Illinois
Indiana
Kansas
Kentucky
Louisiana
Massachusetts
Maryland
Maine
马绍尔群岛
Michigan
Minnesota
Missouri
Mississippi
Montana
North Carolina
North Dakota
Nebraska
New Hampshire
New Jersey
New Mexico
Nevada
New York
Ohio
Oklahoma
俄勒冈州
Pennsylvania
波多黎各
Rhode Island
South Carolina
South Dakota
Tennessee
Texas
Utah
弗吉尼亚
Vermont
Washington
Wisconsin
West Virginia
Wyoming
Clare
Cavan
Cork
Carlow
Dublin
Donegal
Galway
Kildare
Kilkenny
Kerry
Longford
Louth
Limerick
Leitrim
Laois
Meath
Monaghan
Mayo
Offaly
Roscommon
Sligo
Tipperary
Waterford
Westmeath
Wicklow
Wexford
Baja California
Baja California Sur
Chihuahua
Colima
Campeche
Coahuila
Chiapas
Federal District
Durango
Guerrero
Guanajuato
Hidalgo
Jalisco
Mexico State
Mexico City
Michoacán
Morelos
Nayarit
Nuevo Leon
Oaxaca
Puebla
Queretaro
Quintana Roo
Sinaloa
San Luis Potosi
Sonora
Tabasco
Tlaxcala
Tamaulipas
Veracruz
Yucatan
Zacatecas
Beijing
Tianjin
Hebei
Shanxi
Nei Mongol
Liaoning
Jilin
Heilongjiang
Shanghai
Jiangsu
Zhejiang
Anhui
Fujian
Jiangxi
Shandong
Henan
Hubei
Hunan
Guangdong
Guangxi
Hainan
Chongqing
Sichuan
Guizhou
Yunnan
Xizang
Shaanxi
Gansu
Qinghai
Ningxia
Xinjiang
中国台湾
中国香港特别行政区
Macao
Agrigento
Alessandria
Ancona
Aosta
Ascoli Piceno
L'Aquila
Arezzo
Asti
Avellino
Bari
Bergamo
Biella
Belluno
Benevento
Bologna
Brindisi
Brescia
Barletta-Andria-Trani
Bolzano
Cagliari
Campobasso
Caserta
Chieti
Carbonia-Iglesias
Caltanissetta
Cuneo
Como
Cremona
Cosenza
Catania
Catanzaro
Enna
Forli-Cesena
Ferrara
Foggia
Florence
Fermo
Frosinone
Genoa
Gorizia
Grosseto
Imperia
Isernia
Crotone
Lecco
Lecce
Livorno
Lodi
Latina
Lucca
Monza and Brianza
Macerata
Messina
Milan
Mantua
Modena
Massa and Carrara
Matera
Naples
Novara
Nuoro
Ogliastra
Oristano
Olbia-Tempio
Palermo
Piacenza
Padua
Pescara
Perugia
Pisa
Pordenone
Prato
Parma
Pistoia
Pesaro and Urbino
Pavia
Potenza
Ravenna
Reggio Calabria
Reggio Emilia
Ragusa
Rieti
Rome
Rimini
Rovigo
Salerno
Siena
Sondrio
La Spezia
Syracuse
Sassari
Savona
Taranto
Teramo
Trento
Turin
Trapani
Terni
Trieste
Treviso
Udine
Varese
Verbano-Cusio-Ossola
Vercelli
Venice
Vicenza
Verona
Medio Campidano
Viterbo
Vibo Valentia
HONEYPOTFIELDHTMLNAME
通过提供我的个人信息并点击提交,我同意接收有关DigiCert产品和服务的邮件,并且我同意DigiCert及其附属公司根据DigiCert的隐私政策处理我的数据。
提交
常见问题与解答
什么是PKI?
公钥基础结构(PKI)是流程、技术和策略的系统,能让您对数据进行加密和/或签名。您可以颁发对用户、设备或服务进行身份验证的数字证书。这些证书可用于公共Web页面和专用内部服务(例如,用于对连接到您的VPN、Wiki、Wi-Fi的设备进行身份验证)
为什么我的组织应该使用PKI?
通过使用公钥基础结构(PKI),您可以大幅提高网络的安全级别。三个主要优势使其成为可能:
身份验证:验证身份以确保只有经授权的用户和设备才能访问服务器。
加密:使用证书创建加密的会话,以使信息能够私密地传输。
数据完整性:确保设备和服务器之间来回传输的任何消息或数据均未被更改。
如何使用PKI?
PKI的常见用例包括但不限于:
保护Web页面
加密文件
使用S/MIME对电子邮件消息进行身份验证和加密
对连接到无线网络的节点进行身份验证
对与您的VPN的连接进行身份验证
使用TLS相互身份认证以对与包含企业数据的网站和服务的连接进行身份验证
什么是端到端加密?
端到端加密是指在您的设备上加密消息,然后在收件人的设备上进行解密。这意味着没有第三方可以拦截您的敏感数据。
什么是CA?
证书颁发机构(CA)是可信任的第三方,CA验证申请数字证书的组织的身份。在验证了组织的身份之后,CA会颁发证书并将组织的身份与公钥相绑定。数字证书可以信任,因为它已经链接至CA的根证书。
什么是数字证书?
数字证书证明持有者的身份。就像驾照一样,证书是由受信任的第三方颁发的,不能伪造,并包含识别信息.
什么是公钥和私钥,它们之间有何关系?
公钥和私钥用于加密和解密信息。只有私钥才能解密由公钥加密的信息。该密钥对被称为非对称加密技术(因为加密是使用不同的密钥完成的)。这两个密钥在数学上是相关的,但是无法使用一个密钥去决定另一个密钥。
什么是公共根和专用根?
在把身份绑定到公钥时,根证书提供签名。这是您识别证书是否有效以及您是否应该信任它的方式。
DigiCert是否提供公共PKI和专用PKI解决方案?
简短的回答是,提供。DigiCert提供公共PKI和专用PKI解决方案,以及平台和RESTful API,使您能够自动化证书管理并自定义PKI工作流程。您可能只与商业CA合作购买过公共SSL证书。如果将此作为您唯一的参考点,您可能会认为专用证书的费用与公共证书类似——但情况并非如此。使用DigiCert颁发专用数字证书的成本仅是公共证书成本的一小部分。
安全工程师和管理员有时会错误地认为,托管的专用PKI会限定某些证书配置文件。他们认为自己将只能访问由CA/浏览器论坛批准的证书配置文件。然而,DigiCert可以为您提供您所需要的任何证书配置文件。这些证书配置文件不必是SSL/TLS证书配置文件——甚至不必是X.509。
什么是MPKI?
托管PKI(MPKI)是CA提供的一种解决方案,能让您启动证书流程的自动化并自定义PKI工作流程。一旦贵组织达到了需要大量证书的阶段,就能从简化证书管理的MPKI解决方案中受益。
我们应该建立内部CA(建)还是使用托管CA(买)?
您可以使用内部CA保护您的内部服务(例如VPN、WiFi、Wiki等)。各类组织通常使用Microsoft CA来开展此项工作。然而,建立并维护内部CA可能既昂贵又耗时。在做出决定之前,您需要仔细考虑每一项的费用。许多CA提供托管解决方案,能够为您节省建立内部PKI所涉及的某些硬件、软件和人员成本。
什么是证书策略?
证书策略(CP)是用于确定PKI的不同参与者及其角色和职责的文档。CP指定了一些做法,例如如何使用证书,如何选择证书名称,如何生成密钥以及更多内容。通常在X.509证书的字段中指定关联的CP。如需了解有关CP的详细信息,请查看最新的参考文档(RFC 3647): https://tools.ietf.org/html/rfc3647
什么是密钥存储,我们应该如何处理密钥存储?
密钥存储,通常称为密钥存档,指安全地存储私钥以防止其丢失。为了满足FIPS要求并确保最高等级的安全性,我们建议您使用硬件安全模块(HSM)存储密钥。
什么是HSM?
HSM是用于安全密钥存储的基于加密硬件的选项。HSM的实体位置往往在本地,并且需要内部资源进行维护。这可能会耗费大量成本,但也确实存在价格相对较低的选择。例如,Microsoft Azure Key Vault在微软的云端HSM中提供密钥的安全存储。如果您的组织规模较小,或者没有足够的资源购买并维护自己的HSM,那么Microsoft Azure Key Vault是一个可行的解决方案。一些公共CA,包括DigiCert, 提供与Microsoft Azure的集成。
我如何开始建立PKI?
首先,您需要考虑自己的需求和目前所使用的技术,从而对您的环境进行评估。我们建议您采取以下五个步骤来启动工作:
识别无法讨价还价的网络安全风险
精确定位PKI能够降低的网络安全风险
制定公共PKI和专用PKI的正确组合
决定是建(内部CA)还是买(托管CA)
确定如何将证书自动发送到设备
如果您需要帮助,请发送电子邮件至enterprise@digicert.com联系我们的PKI架构师。
最受信任的高保障度TLS/SSL、PKI、IoT 与签名解决方案的全球提供商。
相关资源
公共关系/新闻
博客
媒体库
什么是PKI?
什么是SSL, TLS和HTTPS?
公司
简介
人才招聘
活动
领导团队
历史
联系我们
我的账户
知识库
文档
支持
开发人员
常见问题与解答
所有产品
更改日志
网站签章
解决方案
自动化解决方案
ServiceNow解决方案
加密解决方案
CI/CD解决方案
安全电子邮件解决方案
代码解决方案
设备解决方案
文档解决方案
CI-Plus解决方案
版权所有©2023 DigiCert,Inc.。保留所有权利。
法律知识库
WebTrust审核
使用条款
隐私政策
辅助功能
Cookie设置
公钥基础设施_百度百科
设施_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心公钥基础设施播报讨论上传视频包括硬件、软件、人员、策略和规程的集合收藏查看我的收藏0有用+10本词条由“科普中国”科学百科词条编写与应用工作项目 审核 。公钥基础设施是一个包括硬件、软件、人员、策略和规程的集合,用来实现基于公钥密码体制的密钥和证书的产生、管理、存储、分发和撤销等功能。PKI体系是计算机软硬件、权威机构及应用系统的结合。它为实施电子商务、电子政务、办公自动化等提供了基本的安全服务,从而使那些彼此不认识或距离很远的用户能通过信任链安全地交流。 [1]中文名公钥基础设施外文名Public Key Infrastructure英文简称PKI组 成公开密钥密码技术、数字证书等目录1PKI的发展2PKI系统组成3相关标准4信任模型5安全服务▪身份认证▪数据完整性▪数据保密性▪数据公正性▪不可抵赖性▪时间戳服务▪数字签名PKI的发展播报编辑美国的PKI建设过程经历了1996年之前的无序、1996—2002年间以FBCA为核心的体系搭建、2003之后策略管理和体系建设并举的三个阶段。1996年以前,很多政府部门自建PKI系统,例如美国邮政服务部门、社会安全部门、美国国防部、能源部、美国商标与知识产权局等。1996年美国提出联邦桥接计划,2001年正式公布,计划最终建立一个覆盖美国80个机构、19个部的PKI以保护电子政府的通信安全。 [2]美国联邦PKI体系主要由联邦的桥认证机构(Federal Bridge CA,FBCA)、首级认证机构(Principal CA,PCA)和次级认证机构(Subordinate CA,SCA)等组成。联邦PKI的体系结构中没有采用根CA,而采用了首级CA。 [2]这是因为在美国,信任域的结构是多种多样的,美国联邦PKI体系结构可以支持分级(树状)维构、网状结构和信任列表等。联邦的桥CA是联邦PKI体系中的核心组织,是不同信任域之间的桥梁,主要负责为不同信任域的首级CA颁发交叉认证的证书,建立各个信任域的担保等级与联邦CA的担保等级之间的映射关系,更新交叉认证证书,发布交叉认证证书注销黑名单。但是联邦的桥CA不要求一个机构在与另一个机构发生信任关系时必须述循联邦PKI所确定的这种映射关系,而是可以采用它认为合适的映射关系确定彼此之间的信任。 [2]欧洲在PKI基础建设方面也成绩显著。已颁布了93/1999EC法规,强调技术中立、隐私权保护、国内与国外相互认证以及无歧视等原则。为了解决各国PKI之间的协同工作问题,它采取了一系列措施:积极资助相关研究所、大学和企业研究PKI相关技术;资助PKI互操作性相关技术研究,并建立CA网络及其顶级CA。并于2000年10月成立了欧洲桥CA指导委员会,于2001年3月23日成立了欧洲桥CA。 [2]我国的PKI技术从1998年开始起步,政府和各有关部门对PKI产业的发展给予了高度重视。2001年PKI技术被列为“十五”863计划信息安全主题重大项目,并于同年10月成立了国家863计划信息安全基础设施研究中心。国家电子政务工程中明确提出了要构建PKI体系。我国已全面推动PKI技术研究与应用。2004年8月28日,十届全国人大常委会第十一次会议28日表决通过了电子签名法,规定电子签名与手写签名或者盖章具有同等的法律效力。这部法律的诞生极大地推动了我国的PKI建设。 [2]1998年国内第一家以实体形式运营的上海CA中心(SHECA)成立,此后,PKI技术在我国的商业银行、政府采购以及网上购物中得到了广泛应用。国内的CA机构大致可分为区域型、行业型、商业型和企业型四类,并出现了得安科技、创原世纪、国创科技、吉大正元、国瑞数码等一批PKI服务提供商。 [2]PKI系统组成播报编辑一个典型的PKI系统包括PKI策略、软硬件系统、证书机构CA、注册机构RA、证书发布系统和PKI应用等。PKI安全策略建立和定义了一个组织信息安全方面的指导方针,同时也定义了密码系统使用的处理方法和原则。它包括一个组织怎样处理密钥和有价值的信息,根据风险的级别定义安全控制的级别。 [1]证书机构CA证书机构CA是PKI的信任基础,它管理公钥的整个生命周期,其作用包括:发放证书、规定证书的有效期和通过发布证书废除列表(CRL)确保必要时可以废除证书。 [1]注册机构RA注册机构RA提供用户和CA之间的一个接口,它获取并认证用户的身份,向CA提出证书请求。它主要完成收集用户信息和确认用户身份的功能。这里指的用户,是指将要向认证中心(即CA)申请数字证书的客户,可以是个人,也可以是集团或团体、某政府机构等。注册管理一般由一个独立的注册机构(即RA)来承担。它接受用户的注册申请,审查用户的申请资格,并决定是否同意CA给其签发数字证书。注册机构并不给用户签发证书,而只是对用户进行资格审查。因此,RA可以设置在直接面对客户的业务部门,如银行的营业部、机构认识部门等。当然,对于一个规模较小的PKI应用系统来说,可把注册管理的职能由认证中心CA来完成,而不设立独立运行的RA。但这并不是取消了PKI的注册功能,而只是将其作为CA的一项功能而已。PKI国际标准推荐由一个独立的RA来完成注册管理的任务,可以增强应用系统的安全。 [1]证书发布系统证书发布系统负责证书的发放,如可以通过用户自己,或是通过目录服务器发放。目录服务器可以是一个组织中现存的,也可以是PKI方案中提供的。 [1]PKI的应用PKI的应用非常广泛,包括应用在web服务器和浏览器之间的通信、电子邮件、电子数据交换(EDI)、在Internet上的信用卡交易和虚拟私有网(VPN)等。 [1]通常来说,CA是证书的签发机构,它是PKI的核心。众所周知,构建密码服务系统的核心内容是如何实现密钥管理。公钥体制涉及一对密钥(即私钥和公钥),私钥只由用户独立掌握,无须在网上传输,而公钥则是公开的,需要在网上传送,故公钥体制的密钥管理主要是针对公钥的管理问题,较好的方案是数字证书机制。相关标准播报编辑PKI的标准可分为两个部分:一类用于定义PKI,而另一类用于PKI的应用,下面主要介绍定义PKI的标准。ASN.1基本编码规则的规范——X.209(1988)。ASN.1是描述在网络上传输信息格式的标准方法。它有两部分:第一部分(ISO 8824/ITU X.208)描述信息内的数据、数据类型及序列格式-也就是数据的语法;第二部分(ISO8825/ITU X.209)描述如何将各部分数据组成消息,也就是数据的基本编码规则。这两个协议除了在PKI体系中被应用外,还被广泛应用于通信和计算机的其他领域。目录服务系统标准——X.500(1993)。X.500是一套已经被国际标准化组织(ISO)接受的目录服务系统标准,它定义了一个机构如何在全局范围内共享其名字和与之相关的对象。X.500是层次性的.其中的管理域(机构、分支、部门和工作组)可以提供这些域内的用户和资源信息。在PKI体系中,X.500被用来标识一个实体。该实体可以是机构、组织、个人或一台服务器。X.500被认为是实现目录服务的最佳途径,但X.500的实现需要较大的投资,并且比其他方式速度慢;但其优势是具有信息模型、多功能和开放性。 [3]LDAP轻量级目录访问协议一LDAP V3。LDAP规范(RFCl487)简化了笨重的X.500目录访问协议,并且在功能性、数据表示、编码和传输方面部进行了相应的修改,1997年.LDAP第3版本成为互联网标准。IDAP V3已经在PKI体系中被广泛应用于证书信息发布、CRL。信息发布、CA政策以及与信息发布相关的各个方面。数字证书标准 X.509(1 993)。X.5(19是南国际电信联盟(ITU—T)制定的数字证书标准、在X.500确保用户名称唯一性的基础上.X.509为X.500用户名称提供了通信实体的鉴别机制并规定了实体鉴别过程中广泛适用的证书语法和数据接口。X.509的最初版本公布于l 988年,由用户公开密钥和用户标识符组成此外还包括版本号、证书序列号、CA标识符、签名算法标识、签发者名称、证书有效期等信息。这一标准的最新版本是X.509 V3,该版数字证书提供了一个扩展信息字段.用来提供更多的灵活性及特殊应用环境下所需的信息传送。OCSP在线证书状态协议。OCSP(OnIine Certificate Status Protocol)是IETF颁布的用于检查数字证书在某一交易时刻是否仍然有效的标准。该标准提供给PKI用户一条方便快捷的数字证书状态查询通道.使PKI体系能够更有效、更安全地在各个领域中被广泛应用。PKCS系列标准。PKCS是南美RSA数据安全公司及其合作伙伴制定的一组公钥密码学标准,其中包括证书申请、证书更新、证书作废表发布、扩展证书内容以及数字签名、数字信封的格式等方面的一系列相关协议。 [3]信任模型播报编辑实际网络环境中不可能只有一个CA.多个认证机构之间的信任关系必须保证原有的PKI户不必依赖和信任专一的CA,否则将无法进行扩展、管理和包含。 信任模型建立的目的是确保一个认证机构签发的证书能够被另一个认证机构的用户所信任。常见的信任模型包括以下四种:严格层次信任模型严格层次信任模型是一个以主从CA关系建立的分级PKl结构,它可以描绘为一棵倒转的树,在这棵树上,根代表一个对整个PKI域内的所有实体都有特别意义的CA:根CA,在根CA的下面是多层子CA,与非CA的PKI实体相对应的树叶通常被称作终端用户。在严格层次信任模型中,上层CA为下层颁发证书,所有的实体都信任根CA,以根CA作为信任点。信任关系是单向的,上层CA可以而且必须认证下层CA,但下层CA不能认证上层CA,根CA通常不直接为终端用户颁发证书而只为子CA颁发证书。两个不同的终端用户进行交互时,双方都提供自己的证书和数字签名,通过根CA来对证书进行有效性和真实性的认证。只要找到一条从根CA到一个证书的认证路径,就可以实现对证书的验证。 [4]分布式信任模型与严格层次信任模型中的所有实体都信任唯一CA相反,分布式信任模型把信任分布在两个或多个CA上,在分布式信任模型中,CA间存在着交叉认证。因为存在多个信任点,单个CA安全性的削弱不会影响到整个PKI。因此该信任模型具有更好的灵活性但其路径发现比较困难,因为从终端用户到信任点建立证书的路径是不确定的。 [4]以用户为中心的信任模型在以用户为中心的信任模型中,每个用户自己决定信任哪些证书和拒绝哪些证书,没有可信的第三方作为CA,用户就是自己的根CA。通常,用户的信任对象一般为关系密切的用户。以用户为中心的信任模型具有安全性高和用户可控性强的优点.但是其使其范闱较小,因为要依赖用户自身的行为和决策能力,这在技术水平较高的群体中是可行的,而在一般的群体中是不现实的。 [4]交叉认证模型交叉认证是一种把以前无关的CA连接在一起的机制.可以使得它们各自终端用户之间的安全通信成为可能.有两种类型的交叉认证:域内交叉认证和域间交叉认证。 [4]安全服务播报编辑PKI的应用非常广泛,其为网上金融、网上银行、网上证券、电子商务、电子政务等网络中的数据交换提供了完备的安全服务功能。PKI作为安全基础设施,能够提供身份认证、数据完整性、数据保密性、数据公正性、不可抵赖性和时间戳六种安全服务。身份认证由于网络具有开放性和匿名性等特点,非法用户通过一些技术手段假冒他人身份进行网上欺诈的门槛越来越低,从而对合法用户和系统造成极大的危害。身份认证的实质就是证实被认证对象是否真实和是否有效的过程,被认为是当今网上交易的基础。在PKI体系中,认证中心(Certification Authority,CA)为系统内每个合法用户办一个网上身份认证,即身份证。 [2]数据完整性数据的完整性就是防止非法篡改信息,如修改、复制、插入、删除等。在交易过程中,要确保交易双方接收到的数据与原数据完全一致,否则交易将存在安全问题。如果依靠观察的方式来判断数据是否发生过改变,在大多数情况下是不现实的。在网络安全中,一般使用散列函数的方法(Hash函数,也称密码杂凑函数)来保证通信时数据的完整性。通过Hash算法我们将任意长度的数据通过变换为长度固定的数字摘要(消息认证码,MAC),并且原始数据中任何一位的改变都将会在相同的计算条件下产生截然不同的数字摘要。这一特性使得人们很容易判断原始数据是否发生非法篡改,从而很好地保证了数据的完整性和准确性。PKI系统主要采用的散列算法有SHA一1和MD一5。 [2]数据保密性数据的保密性就是对需要保护的数据进行加密,从而保证信息在传输和存储过程中不被未授权人获取。在PKl系统中,所有的保密性都是通过密码技术实现的。密钥对分为两种,一种称作加密密钥对,用作加解密;另一种称作签名密钥对,用作签名。一般情况下,用来加解密的密钥对并不对实际的大量数据进行加解密,只是用于协商会话密钥,而真正用于大量数据加解密的是会话密钥。 [2]在实际的数据通信中,首先发送方产生一个用于实际数据加密的对称算法密钥,此密钥被称为会话密钥,用此密钥对所需处理的数据进行加密。然后,发送方使用接收方加密密钥对应的公钥对会话密钥进行加密,连同经过加密处理的数据一起传送给接收方。接收方收到这些信息后,首先用自己加密密钥对中的私钥解密会话密钥,然后用会话密钥对实际数据进行解密。 [2]数据公正性PKI中支持的公正性是指数据认证。也就是说,公证人要证明的是数据的正确性,这种公正取决于数据验证的方式,与公正服务和一般社会公证人提供的服务是有所不同的。在PKI中,被验证的数据是基于对原数据Hash后数字摘要的数字签名、公钥在数学上的正确性和私钥的合法性。 [2]不可抵赖性不可抵赖性保证参与双方不能否认自己曾经做过的事情。在PKI系统中,不可抵赖性来源于数字签名。由于用户进行数字签名的时候.签名私钥只能被签名者自己掌握,系统中的其他实体不能做出这样的签名,因此,在私钥安全的假设下签名者就不能否认自己做出的签名。保护签名私钥的安全性是不可抵赖问题的基础。 [2]时间戳服务时间戳也叫安全时间戳,是一个可信的时间权威,使用一段可以认证的数据来表示。PKl中权威时间源提供的时间并不需要正确,仅仅需要用户作为一个参照“时间”,以便完成基于PKI的事务处理,如时间A发生在时间B的前面等。一般的PKI系统中都设置一个时钟统一PKI时间。当然也可以使用时间官方事件源所提供的时间,其实现方法是从网中这个时钟位置获得安全时间,要求实体在需要的时候向这些权威请求在数据上盖上时间戳。一份文档上的时间戳涉及对时间和文档内容的哈希值的签名,权威的签名提供了数据的真实性和完整性。一个PKI系统中是否需要实现时间戳服务,完全依照应用的需求来决定。 [2]数字签名由于单一的、独一无二的私钥创建了签名,所以在被签名数据与私钥对应的实体之间可以建立一种联系,这种联系通过使用实体公钥验证签名来实现。如果签名验证正确,并且从诸如可信实体签名的公钥证书中知道了用于验证签名的公钥对应的实体,那么就可以用数字签名来证明被数字签名数据确实来自证书中标识的实体。因此,PK的数字签名服务分为两部分:签名生成服务和签名验证服务。签名生成服务要求能够访问签名者的私钥,由于该私钥代表了签名者,所以是敏感信息,必须加以保护。如果被盗,别人就可以冒充签名者用该密钥签名。因此,签名服务通常是安全应用程序中能够安全访问签名私钥的那一部分。相反,签名验证服务要开放一些,公钥一旦被可信签名者签名,通常就被认为是公共信息。验证服务接收签名数据、签名、公钥或公钥证书,然后检查签名对所提供的数据是否有效。它返回验证成功与否的标识。 [5]新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000PKI体系简介-腾讯云开发者社区-腾讯云
系简介-腾讯云开发者社区-腾讯云孟斯特PKI体系简介关注作者腾讯云开发者社区文档建议反馈控制台首页学习活动专区工具TVP最新优惠活动文章/答案/技术大牛搜索搜索关闭发布登录/注册首页学习活动专区工具TVP最新优惠活动返回腾讯云官网孟斯特首页学习活动专区工具TVP最新优惠活动返回腾讯云官网社区首页 >专栏 >PKI体系简介PKI体系简介孟斯特关注发布于 2023-10-19 17:18:093680发布于 2023-10-19 17:18:09举报文章被收录于专栏:code人生code人生PKI系统简介PKI(Public Key Infrastructure,公钥基础设施)是一种密码学框架,用于安全地管理数字证书、公钥和私钥,以确保通信和数据的机密性、完整性和身份验证。PKI建立在公钥密码学的基础上,通过数字证书颁发机构(CA)和相关组件来实现安全通信和身份验证。以下是对PKI体系的详细介绍:PKI的组件PKI体系包括以下主要组件:1.数字证书颁发机构(CA):CA是PKI的核心组件,负责验证用户的身份并颁发数字证书。数字证书包含用户的公钥和身份信息,并由CA签名,以确保证书的合法性。2.注册机构(RA):RA是CA的合作伙伴,负责验证用户的身份和审核证书请求。RA通常处理与用户的直接接触,将身份验证结果传递给CA。3.证书吊销列表(CRL):CRL是CA维护的列表,包含吊销的数字证书的信息。当用户的数字证书被吊销,其信息将被添加到CRL中,以通知其他用户不再信任该证书。4.数字证书:数字证书包含用户的公钥和身份信息,以及CA的数字签名。这些证书用于身份验证、加密和数字签名。5.公钥基础设施目录(PKID):PKID是一个全局目录服务,用于存储和分发公钥、证书和CRL。这有助于用户查找和获取其他用户的证书。6.用户:用户是PKI体系的最终参与者,他们使用数字证书来进行身份验证、加密和数字签名。PKI的运作方式PKI体系的运作方式可以分为以下步骤:1.注册:用户向CA或RA提交数字证书请求,并提供必要的身份信息。2.身份验证:CA或RA对用户的身份信息进行验证,以确保其合法性。3.证书颁发:如果身份验证成功,CA将为用户生成数字证书,包含用户的公钥和身份信息,并对证书进行数字签名。4.证书发布:CA将颁发的数字证书发布到PKID或其他适当的目录服务中,以便其他用户访问。5.证书更新:数字证书通常具有有限的有效期,用户需要定期更新证书以保持其有效性。6.吊销:如果用户的私钥泄漏或其他原因,用户的数字证书需要吊销。CA将吊销信息发布到CRL中。7.证书使用:用户使用数字证书进行身份验证、加密通信和数字签名。PKI的应用领域PKI体系在各个领域都有广泛的应用,包括但不限于:1.SSL/TLS加密:PKI用于保护Web浏览器与服务器之间的安全通信,通过HTTPS协议加密数据传输。2.电子邮件安全:PKI用于电子邮件的加密和数字签名,以确保邮件的机密性和完整性。3.VPN和远程访问:PKI用于虚拟专用网络(VPN)和远程访问的安全性,以确保远程用户的身份验证和数据保护。4.数字文档签名:PKI用于生成数字签名,以验证文档的完整性和来源。5.身份验证:PKI用于用户的身份验证,包括物理门禁系统、电子政府服务等。PKI的安全性PKI体系的安全性取决于CA的可信性和数字证书的保护。CA必须受到信任,否则PKI体系的整个安全性都会受到威胁。此外,用户必须妥善保护其私钥,并定期更新其数字证书以保持安全性。扩展PKCS#12(Public-Key Cryptography Standards #12)是一种密码学协议和文件格式,用于安全地存储和传输个人身份、数字证书、私钥和敏感数据。PKCS#12协议的主要目标是确保这些信息的机密性和完整性。以下是对PKCS#12协议的详细介绍:PKCS#12文件的结构PKCS#12(Public-Key Cryptography Standards #12)是一种密码学协议和文件格式,用于安全地存储和传输个人身份、数字证书、私钥和敏感数据。它的目标是提供一种通用的方式,以便用户可以将其数字身份和相关的密钥材料安全地保存在一个文件中,并在需要的时候方便地将其导入不同的应用程序和系统。以下是对PKCS#12协议的详细介绍:PKCS#12文件的结构PKCS#12文件是一个二进制文件,通常以.p12或.pfx扩展名保存。它的内部结构包括以下部分:1.个人证书:这是用户的数字证书,包括用户的公钥和身份信息。数字证书通常由受信任的证书颁发机构(CA)签发,用于身份验证和数字签名。2.私钥:用户的私钥用于解密数据、生成数字签名和进行身份验证。私钥通常与相关的数字证书关联,以确保数字签名的有效性。3.根证书:PKCS#12文件可以包含一个或多个受信任的根证书,用于验证用户的数字证书的合法性。这些根证书通常用于建立信任链,以确保数字证书的有效性。4.附加证书链:除了根证书外,PKCS#12文件还可以包含用户的数字证书链,以便验证方能够验证用户的数字证书。这有助于建立完整的信任链。5.敏感数据:PKCS#12文件还可以包含用户的敏感数据,如密钥材料、配置信息、访问令牌等。6.密码保护:为了确保PKCS#12文件的安全性,通常需要设置一个密码。这个密码通过密钥派生函数(如PBKDF2)生成一个加密密钥,用于加密和解密PKCS#12文件中的敏感数据。PKCS#12的应用PKCS#12在各种应用领域中广泛应用,包括但不限于:1.数字身份验证:PKCS#12文件用于安全存储用户的数字证书和私钥,以进行身份验证,例如,通过SSL/TLS协议或虚拟专用网络(VPN)访问。2.数据加密:用户的私钥可以用于加密数据,以确保数据的机密性。只有拥有私钥的用户才能解密数据。3.数字签名:用户的私钥用于生成数字签名,以验证数据的完整性和来源。这在电子文档签名、电子邮件签名和数字交易中广泛使用。4.电子邮件安全:PKCS#12文件可以用于安全地存储和传输加密和签名所需的证书和私钥,以确保电子邮件的机密性和完整性。5.移动设备安全:PKCS#12文件可以在移动设备上存储数字身份和私钥,以用于移动应用程序的安全身份验证和数据保护。安全性和密码学保护PKCS#12文件的密码保护是其安全性的关键。密码通常是用户自行设置的,经过密钥派生函数生成一个加密密钥,用于加密和解密PKCS#12文件中的敏感数据。选择强密码和定期更改密码对于保护PKCS#12文件至关重要。声明:本作品采用署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)[1]进行许可,使用时请注明出处。Author: mengbin[2]
blog: mengbin[3]
Github: mengbin92[4]
cnblogs: 恋水无意[5]References[1] 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0): https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh
[2] mengbin: mengbin1992@outlook.com
[3] mengbin: https://mengbin.top
[4] mengbin92: https://mengbin92.github.io/
[5] 恋水无意: https://www.cnblogs.com/lianshuiwuyi/本文参与 腾讯云自媒体分享计划,分享自微信公众号。原始发表:2023-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除存储安全加密数据协议本文分享自 孟斯特 微信公众号,前往查看如有侵权,请联系 cloudcommunity@tencent.com 删除。本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!存储安全加密数据协议评论登录后参与评论0 条评论热度最新登录 后参与评论推荐阅读LV.关注文章0获赞0目录PKI系统简介PKI的组件PKI的运作方式PKI的应用领域PKI的安全性扩展PKCS#12文件的结构PKCS#12文件的结构PKCS#12的应用安全性和密码学保护References相关产品与服务对象存储对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。免费体验产品介绍产品文档COS新用户专享存储包低至1元,新老同享存储容量低至0.02元/GB/月,立即选购!
领券社区专栏文章阅读清单互动问答技术沙龙技术视频团队主页腾讯云TI平台活动自媒体分享计划邀请作者入驻自荐上首页技术竞赛资源技术周刊社区标签开发者手册开发者实验室关于社区规范免责声明联系我们友情链接腾讯云开发者扫码关注腾讯云开发者领取腾讯云代金券热门产品域名注册云服务器区块链服务消息队列网络加速云数据库域名解析云存储视频直播热门推荐人脸识别腾讯会议企业云CDN加速视频通话图像分析MySQL 数据库SSL 证书语音识别更多推荐数据安全负载均衡短信文字识别云点播商标注册小程序开发网站监控数据迁移Copyright © 2013 - 2024 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有 深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档Copyright © 2013 - 2024 Tencent Cloud.All Rights Reserved. 腾讯云 版权所有登录 后参与评论00
PKI(HTTPS)体系详解 - precedeforetime - 博客园
PKI(HTTPS)体系详解 - precedeforetime - 博客园
会员
周边
新闻
博问
AI培训
云市场
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式 ...
退出登录
注册
登录
precedeforetime
PKI(HTTPS)体系详解
PKI是什么
百度百科:
PKI是Public Key Infrastructure的首字母缩写,翻译过来就是公钥基础设施;PKI是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。
X.509标准中,为了区别于权限管理基础设施(Privilege Management Infrastructure,简称PMI),将PKI定义为支持公开密钥管理并能支持认证、加密、完整性和可追究性服务的基础设施]。这个概念与第一个概念相比,不仅仅叙述PKI能提供的安全服务,更强调PKI必须支持公开密钥的管理。也就是说,仅仅使用公钥技术还不能叫做PKI,还应该提供公开密钥的管理。因为PMI仅仅使用公钥技术但并不管理公开密钥,所以,PMI就可以单独进行描述了而不至于跟公钥证书等概念混淆。X.509中从概念上分清PKI和PMI有利于标准的叙述。然而,由于PMI使用了公钥技术,PMI的使用和建立必须先有PKI的密钥管理支持。也就是说,PMI不得不把自己与PKI绑定在一起。当我们把两者合二为一时,PMI+PKI就完全落在X.509标准定义的PKI范畴内。根据X.509的定义,PMI+PKI仍旧可以叫做PKI,而PMI完全可以看成PKI的一个部分。
PKI 既不是一个协议,也不是一个软件,它是一个标准,在这个标准之下发展出的为了实现安全基础服务目的的技术统称为 PKI。
PKI的组成部分
百度百科:
PKI(Public Key Infrastructure)公钥基础设施是提供公钥加密和数字签名服务的系统或平台,目的是为了管理密钥和证书。一个机构通过采用PKI 框架管理密钥和证书可以建立一个安全的网络环境。PKI 主要包括四个部分:X.509 格式的证书(X.509 V3)和证书废止列表CRL(X.509 V2);CA 操作协议;CA 管理协议;CA 政策制定。一个典型、完整、有效的PKI 应用系统至少应具有以下五个部分:
1) 认证中心CA CA 是PKI 的核心,CA负责管理PKI 结构下的所有用户(包括各种应用程序)的证书,把用户的公钥和用户的其他信息捆绑在一起,在网上验证用户的身份,CA 还要负责用户证书的黑名单登记和黑名单发布,后面有CA 的详细描述。
2) X.500 目录服务器 X.500 目录服务器用于发布用户的证书和黑名单信息,用户可通过标准的LDAP 协议查询自己或其他人的证书和下载黑名单信息。
3) 具有高强度密码算法(SSL) 的安全WWW服务器 Secure socket layer(SSL)协议最初由Netscape 企业发展,现已成为网络用来鉴别网站和网页浏览者身份,以及在浏览器使用者及网页服务器之间进行加密通讯的全球化标准。
4) Web(安全通信平台) Web 有Web Client 端和Web Server 端两部分,分别安装在客户端和服务器端,通过具有高强度密码算法的SSL协议保证客户端和服务器端数据的机密性、完整性、身份验证。
5) 自开发安全应用系统 自开发安全应用系统是指各行业自开发的各种具体应用系统,例如银行、证券的应用系统等。
完整的PKI 包括认证政策的制定(包括遵循的技术标准、各CA 之间的上下级或同级关系、安全策略、安全程度、服务对象、管理原则和框架等)、认证规则、运作制度的制定、所涉及的各方法律关系内容以及技术的实现等。
作为WEB开发者其实只需要关注pki组成部分中的后三部分,高强度密码算法SSL目前已经包含在https中,下面对https有专门的讲解;web安全通信平台可以理解为我们的浏览器和服务器,即可以建立https连接的两个端点;自开发安全应用系统即是我们开发的支持pki验证的系统。
HTTPS 详解
HTTP VS HTTPS
使用HTTP有以下风险:
窃听风险(eavesdropping): 通信使用明文(不加密),内容可能会被窃听
篡改风险(tampering):不验证通信方的身份,因此有可能遭遇伪装
冒充风险(pretending):无法证明报文的完整性,所以有可能已遭篡改
当然,相对于HTTPS的安全性更高,HTTP也有自己的优势,即性能更好。
简单来说,HTTPS比HTTP增加了SSL握手和对于传输数据加密解密的过程,握手部分的耗时差不多为建立TCP连接耗时的3倍到6倍(取决于数字证书的加密强度),另外对于传输数据的加密解密也会占用设备一部分的性能。
HTTPS/HTTP的区别和联系
HTTPS = HTTP+SSL / TLS
对称加密和非对称加密
对称加密
所谓的“对称加密技术”,意思就是说:“加密”和“解密”使用相同的密钥。就好比用 7zip 或 WinRAR 创建一个带密码(口令)的加密压缩包。当你下次要把这个压缩文件解开的时候,你需要输入同样的密码。在这个例子中,密 码/口令就如同刚才说的“密钥”。
缺陷:对称加密的密钥如何传输,第一次传输的时候肯定是明文,那么对称密钥还是会存在被窃取的风险,以及客户端如何确认服务端的身份。
对称加密经典算法:AES,DES,3DES,TDEA,Blowfish,RC5,IDEA。
非对称加密
百度百科
非对称加密算法需要两个密钥:公开密钥(public key)和私有密钥(private key)。
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法。
非对称加密算法实现机密信息交换的基本过程是:甲方生成一对密钥并将其中的一把作为公用密钥向其 它方公开;得到该公用密钥的乙方使用该密钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另 一把专用密钥对加密后的信息进行解密。另一方面,甲方可以使用乙方的公钥对机密信息进行签名后再发送 给乙方;甲方再用自己的私匙对乙方发送回来的数据进行验签。
非对称加密经典算法:RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)。
缺陷:非对称加密可以解决对称加密被窃取的问题,但依然无法验证服务器的身份信息。
非对称加密被劫持情况
对称加密和非对称加密算法效率对比
对称加密(AES):
AES加密的时间与被加密文件的大小正线性增长,加密1G的文件大概需要4分多钟,加密速度较快。
加密后的文件大小是原始文件大小的两倍。
解密文件所需时间是加密时间的两倍(这个应该是加密文件是原始文件大小两倍造成的)。
非对称加密(RSA):
RSA加密算法加密时间很短,基本可以忽略不计。但是,在解密时,RSA显的比较慢,解密时间与解密文件 的大小呈现线性增长趋势。加密1M的文件大概需要5秒,但是解密却需要4分钟。
加密后的文件与原始文件的大小基本相同。
解密的效率远低于加密效率,按照这个时间去计算,加密1G的文件需要1分钟,但是解密却需要65小时。
AES和RSA加密算法效率对比
CA 认证
无论是对称加密还是非对称加密,都遗留了一个问题没有解决,那就是如何证明我们访问的网站就是我们要访问的网站,而不是他人伪造的,即中间人攻击和信息抵赖的问题,这里就用到了CA证书。
百度百科
CA认证,即电子认证服务 ,是指为电子签名相关各方提供真实性、可靠性验证的活动。
证书颁发机构(CA, Certificate Authority)即颁发数字证书的机构。是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信任的第三方,承担公钥体系中公钥的合法性检验的责任。
CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户合法拥 有证书中列出的公开密钥。CA机构的数字签名使得攻击者不能伪造和篡改证书。在SET交易中,CA不仅对持 卡人、商户发放证书,还要对获款的银行、网关发放证书。
CA是证书的签发机构,它是PKI的核心。CA是负责签发证书、认证证书、管理已颁发证书的机关。它要制 定政策和具体步骤来验证、识别用户身份,并对用户证书进行签名,以确保证书持有者的身份和公钥的拥有 权。
CA 也拥有一个证书(内含公钥)和私钥。网上的公众用户通过验证 CA 的签字从而信任 CA ,任何人都可以得到 CA的证书(含公钥),用以验证它所签发的证书。
如果用户想得到一份属于自己的证书,他应先向 CA 提出申请。在 CA 判明申请者的身份后,便为他分配一个公钥,并且 CA 将该公钥与申请者的身份信息绑在一起,并为之签字后,便形成证书发给申请者。
如果一个用户想鉴别另一个证书的真伪,他就用 CA 的公钥对那个证书上的签字进行验证,一旦验证通过,该证书就被认为是有效的。
为保证用户之间在网上传递信息的安全性、真实性、可靠性、完整性和不可抵赖性,不仅需要对用户的 身份真实性进行验证,也需要有一个具有权威性、公正性、唯一性的机构,负责向电子商务的各个主体颁发 并管理符合国内、国际安全电子交易协议标准的电子商务安全证,并负责管理所有参与网上交易的个体所需 的数字证书,因此是安全电子交易的核心环节。
解决上述身份验证问题的关键是确保获取的公钥途径是合法的,能够验证服务器的身份信息,为此需要引入权威的第三方机构CA(如沃通CA)。CA 负责核实公钥的拥有者的信息,并颁发认证"证书",同时能够为使用者提供证书验证服务,即PKI体系(PKI基础知识)。
基本的原理为,CA负责审核信息,然后对关键信息利用私钥进行"签名",公开对应的公钥,客户端可以利用公钥验证签名。CA也可以吊销已经签发的证书,基本的方式包括两类 CRL 文件和 OCSP。CA使用具体的流程如下:
1. 服务方S向第三方机构CA提交公钥、组织信息、个人信息(域名)等信息并申请认证;
2. CA通过线上、线下等多种手段验证申请者提供信息的真实性,如组织是否存在、企业是否合法,是否拥有域名的所有权等;
3. 如信息审核通过,CA会向申请者签发认证文件-证书。
证书包含以下信息:申请者公钥、申请者的组织信息和个人信息、签发机构CA的信息、有效时间、证书序列号等信息的明文,同时包含一个签名;
签名的产生算法:首先,使用散列函数计算公开的明文信息的信息摘要,然后,采用CA的私钥对信息摘要进行加密,密文即签名;
4. 客户端 C 向服务器 S 发出请求时,S 返回证书文件;
5. 客户端 C 读取证书中的相关的明文信息,采用相同的散列函数计算得到信息摘要,然后,利用对应CA的公钥解密签名数据,对比证书的信息摘要,如果一致,则可以确认证书的合法性,即公钥合法;
6. 客户端然后验证证书相关的域名信息、有效时间等信息;
7. 客户端会内置信任CA的证书信息(包含公钥),如果CA不被信任,则找不到对应 CA的证书,证书也会被判定非法。
8. 在这个过程注意几点:
a.申请证书不需要提供私钥,确保私钥永远只能服务器掌握;
b.证书的合法性仍然依赖于非对称加密算法,证书主要是增加了服务器信息以及签名;
c.内置 CA 对应的证书称为根证书,颁发者和使用者相同,自己为自己签名,即自签名证书(为什么说"部署自签SSL证书非常不安全")
d.证书=公钥+申请者与颁发者信息+签名;
即便有人截取服务器证书,再发给客户端,想冒充服务器,也无法实现。因为证书和url的域名是绑定的。
免费获取CA证书的几种方式
从相关商业机构申请,以阿里云为例:
使用证书工具生成(Keytool或者Openssl): 详见实操部分
SSL/TLS的联系与区别
SSL/TLS的背景
1994年,NetScape 公司设计了 SSL 协议的1.0版,但是未发布。
1995年,NetScape 公司发布 SSL 2.0版,很快发现有严重漏洞。
1996年,SSL 3.0 版问世,得到大规模应用。
1999年,互联网标准化组织 ISOC 接替 NetScape 公司,发布了 SSL 的升级版 TLS 1.0 版。
2006年和2008年,TLS 进行了两次升级,分别为 TLS 1.1 版和 TLS 1.2 版。最新的变动是2011年 TLS 1.2的修订版。
对于二者的关系,可以说是同一事物在不同时期的表现。TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2 为SSL 3.3。
SSL(Secure Socket Layer,安全套接字层)
SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层,SSL记录协议层(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。SSL握手协议层(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算 法、交换加密密钥等。
SSL协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。
SSL协议的握手流程:
以上工作流程分为五步:
第一步,爱丽丝给出协议版本号、一个客户端生成的随机数1(Client random),以及客户端支持的加密方法。
第二步,鲍勃确认双方使用的加密方法,并给出数字证书、以及一个服务器生成的随机数2(Server random)。
第三步,爱丽丝确认数字证书有效,然后生成一个新的随机数3(Premaster secret),并使用数字证书中的公钥,
加密这个随机数,发给鲍勃。同时依据三个随机数根据指定算法生成对称密钥。另如果开启了双向认证,那么在这一步客户端会将自己的证书的发送给服务器。
第四步,鲍勃使用自己的私钥,获取爱丽丝发来的随机数(即Premaster secret)。服务器开始根据约定的加密方
法,使用前面的三个随机数,生成"对话密钥"(session key),用来加密接下来的整个对话过程。
第五步,爱丽丝和鲍勃用对话密钥将对话加密后开始传输。
TLS(Transport Layer Security Protocol,传输层安全协议)
是IETE(工程任务组)指定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本,也用于在两个通信应用程序之间提供保密性和数据完整性。
该协议也由两部分组成:TLS记录协议(TLS Record)和TLS握手协议(TLS Handshake)。
TLS与SSL的差异:
1)版本号:TLS记录格式与SSL记录格式相同,但版本号的值不同,TLS的版本1.0使用的版本号为SSLv3.1。
2)报文鉴别码:SSLv3.0和TLS的MAC算法及MAC计算的范围不同。TLS使用RFC-2104定义的HMAC算 法。SSLv3.0使用了相似的算法,两者差别在于SSLv3.0中,填充字节与密钥之间采用的是连接运算,而HMAC算法 采用的异或运算。但是两者的安全程度是相同的。
3)伪随机函数:TLS使用了称为PRF的伪随机函数来将密钥扩展成数据块,是更安全的方式。
4)报警代码:TLS支持几乎所有的SSLv3.0报警代码,而且TLS还补充定义了很多报警代码,如解密失败(decryption_failed)、记录溢出(record_overflow)、未知CA(unknown_ca)、拒绝访问(access_denied)等。
5)密文族和客户证书:SSLv3.0和TLS存在少量差别,即TLS不支持Fortezza密钥交换、加密算法和客户证书。
6)certificate_verify和finished消息:SSLv3.0和TLS在用certificate_verify和finished消息计算MD5和SHA-1散列码时,计算的输入有少许差别,但安全性相当。
7)加密计算:TLS和SSLv3.0在计算主密值(master secret)时采用的方式不同。
8)填充:用户数据加密之前需要增加的填充字节。在SSL中,填充后的数据长度哟啊达到密文快长度的最 小整数倍。而在TLS中,填充后的数据长度可以是密文块长度的任意整数倍(但填充的最大长度为255字节),这 种方式可以防止基于对报文长度进行分析的攻击。
TLS的主要增强内容:
TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善。TLS在SSL v3.0的基础上,提供了以下增加内容:
1)更安全的MAC算法
2)更严密的警报
3)“灰色区域”规范的更明确的定义
TLS对于安全性的改进:
1)对于消息认证使用密钥散列法:TLS使用“消息认证代码的密钥散列法”(HMAC),当记录在开放的网络(如因特网)上传送时,该代码确保记录不会被变更。SSLv3.0还提供键控消息认证,但HMAC比SSLv3.0使用(消息认证代码)MAC功能更安全。
2)增强的伪随机功能(PRF):PRF生成密钥数据。在TLS中,HMAC定义PRF。PRF使用两种散列算法保 证其安全性。如果任一算法暴露了,只要第二种算法未暴露,则数据仍然是安全的。
3)改进的已完成消息验证:TLS和SSLv3.0都对两个端点提供已完成的消息,该消息认证交换的消息没有 被变更。然而,TLS将此已完成消息基于PRF和HMAC值之上,这也比SSLv3.0更安全。
4)一致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换的证书类型。
5)特定警报消息:TLS提供更多的特定和附加警报,以指示任一会话端点检测到的问题。TLS还对何时应 该发送某些警报进行记录。
综上所述,SSL和TLS 没有本质区别,二者的工作流程基本一致,只是TLS在SSL的基础上对于安全性做了一些增强。
双向认证和单向认证
单向认证是指客户端根据服务器传过来的证书信息校验服务器的合法性,上文的SSL握手流程就是单向认证。
服务器的合法性包括:
1.证书是否过期。
2.发行服务器证书的CA是否可靠。
3.发行者证书的公钥能否正确解开服务器证书的"发行者的数字签名"。
4.服务器证书上的域名是否和服务器的实际域名相匹配。
如果合法性验证没有通过,则浏览器会给用户一个警告提示访问网站不安全,让用户选择是继续访问还是终止访问。
服务器合法性通过,以淘宝为例:
服务器合法性校验不通过,原因是这个证书是自己签发,CA不受信:
双向认证是在单向认证的基础上,增加了一步服务器校验客户端证书的动作,这一步骤存在于SSL握手流程的第三步。一般在对用户身份信息比较敏感的网站上会使用,比如银行系统的U盾,以及此次龙湾项目的PKI登陆。如果服务器校验客户端证书成功,则正常访问,如果失败,浏览器则会直接提示无法访问该网站。
服务器获取客户端证书:
服务器校验客户端证书失败(服务器开启了强制校验,没有证书或者证书不符合):
服务器证书和客户端证书的区别与联系
服务器证书和客户端证书没有本质区别,都是一个包含公钥和私钥的文件。但是并不建议二者交换使用,在上文的单向认证中的服务器合法性中会校验服务器证书上的域名和服务器的实际域名是否相匹配,而这个域名信息是服务器证书里面独有的,客户端证书中独有的信息是则是用户身份信息,如果二者交换使用,浏览器会提示服务器证书域名不匹配,那么该服务器证书则会不受信,也就失去了使用服务器证书的意义。
服务器证书和客户端证书如何建立信任关系
在了解这个问题过程中我曾经进入一个误区,以为服务器校验客户端证书是依赖于将每一个客户端证书的公钥导入服务器证书的证书库(即服务器证书文件)中。
而实际上服务器校验客户端证书是否合法是取决于服务器证书是否信任客户端证书的证书链。也可以理解为服务器证书信任颁发客户端证书的CA。在操作层面这个建立这个信任关系也是将签发客户端证书的CA的公钥导入服务器证书,但从原理层面来说,相较于上面的误区,信任证书链的话只需要导入一次CA的公钥即可,而不用单独将每个客户端证书的公钥导入服务器证书。
我在开发过程中,甲方只给我一个服务器证书,并没有给客户端证书,为了模拟测试只能自己签发客户端证书,但自己签发的证书没有CA信息通过校验证书链肯定是不行的,这时候只能使用上面的导入客户端公钥的办法了,即先将自己生成的客户端证书中的公钥导出,然后将该公钥导入服务器证书中使服务器证书信任该公钥,这一点可以看后面的操作部分。
另外还有一点就是校验客户端证书时并没有做业务层面的判断,假如某CA签发了N个客户端证书,而服务器证书又信任这个CA的证书链,那么对于服务器证书来说,这些客户端证书是没有任何区别(因为都是受信的),如果想建立证书与用户之间的关系,还需要在代码层面来操作。
关于服务器证书和客户端证书建立信任关系的讨论
证书链
百度百科:
证书链(certificate chain)
证书链可以有任意环节的长度,所以在三节的链中,信任锚证书CA 环节可以对中间证书签名;中间证书的所有者可以用自己的私钥对另一个证书签名。CertPath API 可以用来遍历证书链以验证有效性,也可以用来构造这些信任链。
Web 浏览器已预先配置了一组浏览器自动信任的根 CA 证书。来自其他证书授权机构的所有证书都必须附带证书链,以检验这些证书的有效性。证书链是由一系列 CA 证书发出的证书序列,最终以根 CA 证书结束。
证书最初生成时是一个自签名证书。自签名证书是其签发者(签名者)与主题(其公共密钥由该证书进行验证的实体)相同的证书。如果拥有者向 CA 发送证书签名请求 (CSR),然后输入响应,自签名证书将被证书链替换。链的底部是由 CA 发布的、用于验证主题的公共密钥的证书(回复)。链中的下一个证书是验证 CA 的公共密钥的证书。通常,这是一个自签名证书(即,来自 CA、用于验证其自身的公共密钥的证书)并且是链中的最后一个证书。
在其他情况下,CA 可能会返回一个证书链。在此情况下,链的底部证书是相同的(由 CA 签发的证书,用于验证密钥条目的公共密钥),但是链中的第二个证书是由其他 CA 签发的证书,用于验证您向其发送了 CSR 的 CA 的公共密钥。然后,链中的下一个证书是用于验证第二个 CA 的密钥的证书,依此类推,直至到达自签名的根证书。因此,链中的每个证书(第一个证书之后的证书)都需要验证链中前一个证书的签名者的公共密钥。
Windows系统中的证书链:
服务器证书、中间证书与根证书在一起组合成一条合法的证书链,证书链的验证是自下而上的信任传递的过程。
二级证书结构存在的优势:
a.减少根证书结构的管理工作量,可以更高效的进行证书的审核与签发;
b.根证书一般内置在客户端中,私钥一般离线存储,一旦私钥泄露,则吊销过程非常困难,无法及时补救;
c.中间证书结构的私钥泄露,则可以快速在线吊销,并重新为用户签发新的证书;
d.证书链四级以内一般不会对 HTTPS 的性能造成明显影响。
证书链有以下特点:
a.同一本服务器证书可能存在多条合法的证书链。因为证书的生成和验证基础是公钥和私钥对,如果采用相同的公钥和私钥生成不同的中间证书,针对被签发者而言,该签发机构都是合法的 CA,不同的是中间证书的签发机构不同;
b.不同证书链的层级不一定相同,可能二级、三级或四级证书链。 中间证书的签发机构可能是根证书机构也可能是另一个中间证书机构,所以证书链层级不一定相同。
证书格式
根据不同的服务器以及服务器的版本,我们需要用到不同的证书格式,就市面上主流的服务器来说,大概有以下格式:
DER/CER,文件是二进制格式,只保存证书,不保存私钥。
CRT,可以是二进制格式,可以是文本格式,与DER格式相同,不保存私钥。
PEM,一般是文本格式,可保存证书,可保存私钥。
PFX/P12,二进制格式,同时包含证书和私钥,一般有密码保护。
JKS,二进制格式,同时包含证书和私钥,一般有密码保护。
DER
该格式是二进制文件内容,Java 和 Windows 服务器偏向于使用这种编码格式。
OpenSSL 查看:
openssl x509 -in certificate.der -inform der -text -noout
转换为 PEM:
openssl x509 -in cert.crt -inform der -outform pem -out cert.pem
PEM
Privacy Enhanced Mail,一般为文本格式,以 -----BEGIN----- 开头,以-----END----- 结尾。中间的内容是BASE64 编码。这种格式可以保存证书和私钥,有时我们也把PEM 格式的私钥的后缀改为 .key 以区别证书与私钥。具体你可以看文件的内容。这种格式常用于 Apache和 Nginx服务器。
OpenSSL 查看:
openssl x509 -in certificate.pem -text -noout
转换为 DER:
openssl x509 -in cert.crt -outform der -out cert.der
CRT
Certificate 的简称,有可能是 PEM 编码格式,也有可能是 DER 编码格式。如何查看请参考前两种格式。
PFX/P12
Predecessor of PKCS#12,这种格式是二进制格式,且证书和私钥存在一个 PFX 文件中。一般用于 Windows上的 IIS 服务器,window上可以直接安装。改格式的文件一般会有一个密码用于保证私钥的安全。
OpenSSL 查看:
openssl pkcs12 -in for-iis.pfx
转换为 PEM:
openssl pkcs12 -in for-iis.pfx -out for-iis.pem -nodes
JKS/KEYSOTRE/TRUSTSTORE
Java Key Storage,这是 JAVA的专属格式,利用 JAVA 的一个叫 keytool 的 工具可以进行格式转换。一般用于 Tomcat 服务器。
实操部分
生成证书
自己签发证书可以通过JDK自带的工具Keytool或者Linux上的openssl来进行,二者都很容易百度到相关资料,本文只对keytool方式进行简单讲解。
生成服务器证书
keytool -genkey -v -alias tomcat -keyalg RSA -keystore
F:\baidu\keystore\tomcat.keystore -validity 36500
-alias 证书别名,可选,任意,但建议取有意义的值
-keyalg 生成证书所使用的算法
-keystore 生成的证书文件保存位置
-validity 证书有效期,36500表示100年,默认值是90天
注意:
名字与姓氏即为服务器的域名或者ip,如果是合法机构签发的证书,域名或者ip匹配不上会提示不受信,虽然我们自己签发的证书本来就是不受信的,但还是建议这里填有意义的域名或者ip。
密钥库口令需要记住,无论是配置https还是向密钥库中添加信任的公钥时都会用到。
生成客户端证书
keytool -genkey -v -alias mykey -keyalg RSA -storetype PKCS12 -keystore
F:\baidu\keystore\client.key.p12
生成证书后在windows系统中可以直接双击文件进行安装。
让服务器信任客户端证书
将客户端证书导出为一个单独的CER文件。
keytool -export -alias mykey -keystore F:\baidu\keystore\client.key.p12 -storetype
PKCS12 -storepass password -rfc -file F:\baidu\keystore\client.key.cer
注:password为客户端证书的密码,即第一步生成服务器证书时的密钥库口令。
将CER文件导入到服务器的证书库。
让客户端信任服务器证书
把服务器证书导出为CER文件,在windows中可以直接双击安装.cer文件。
keytool -keystore F:\baidu\keystore\\tomcat.keystore -export -alias tomcat -file
F:\baidu\keystore\tomcat.cer
Windows 系统中查看已安装的证书
Win+R 打开运行窗口,输入certmgr.msc
如果上文中生成的客户端证书(文件扩展名为.p12)成功安装,那么在个人证书可以看到,如果没有,则可能默认证书没有安装到个人证书文件夹下,可以重新安装一遍并在证书安装位置时手动将其修改为"个人",如下是我的系统中安装的证书:
对于自己签发的证书,颁发给和颁发者都是相同的(这两个值就是生成客户端证书时填入的名字和姓氏),而对于CA签发的则是不同的,下图中的第一个证书是我在阿里云上申请的免费的证书,可以看到颁发者是商业机构。
对于这些证书可以通过右键来导出公钥或者私钥(如果有并且允许导出),导出私钥时会提示输入密钥库的密码。
单机 TOMCAT 配置HTTPS
修改 server.xml 配置文件
在server.xml中增加
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="D:\services\apache-tomcat-8.5.34\cert\1618145_www.showsouth.top_tomcat\1618145_www.showsouth.top.pfx" keystoreType="PKCS12" keystorePass="xxxxxx" URIEncoding="UTF-8"/> 属性 描述 clientAuth 如果设为true,表示Tomcat要求所有的SSL客户出示安全证书,对SSL客户进行身份验证 keystoreFile 指定keystore文件的存放位置,可以指定绝对路径,也可以指定相对于 keystorePass 指定keystore的密码,如果此项没有设定,在默认情况下,Tomcat将使用“changeit”作为默认密码。 sslProtocol 指定套接字(Socket)使用的加密/解密协议,默认值为TLS,用户不应该修改这个默认值。 ciphers 指定套接字可用的用于加密的密码清单,多个密码间以逗号(,)分隔。如果此项没有设定,在默认情况下,套接字可以使用任意一个可用的密码。 启动tomcat,访问对应的url: 另因为我的这个阿里云申请的证书是授权给www.showsouth.top的这个域名,然后为了校验通过,修改本机hosts文件,将www.showsouth.top映射到127.0.0.1。 分以下几种情况访问: 1.域名和证书内域名匹配: 访问https://www.showsouth.top:8443 , 如下,可以看到浏览器提示安全(firefox的提示更加友好),如果是自己生成的证书,即便二者匹配,浏览器也会提示不安全。 2.域名和证书内域名不匹配: 访问https://127.0.0.1:8443,firefox会提示服务器域名与证书中的域名不匹配的警告信息(这个提示信息只有Firefox有,chrome没有,只会提示网站不安全),让用户选择是否继续访问。 通过以上两种访问方式,即可以验证上文提到的服务器合法性的第四条。 继续选择访问之后会地址栏会提示不安全,如下: 3:以HTTP访问(可选): 开启HTTPS后,对于HTTP请求有以下三种处理方式: a.仅以https访问,关闭http; b.https/http同时都可以访问; c.http端口依然开放,但将所有的http请求重定向至https。 POSTMAN 访问HTTPS请求 单向认证 postman访问的接口如果是单向认证并且证书可以成功校验通过,则https或者http对于用户来说没有区别,但如果使用了https并且服务器证书不受信,则postman会直接报错,如下,这种情况可以通过在设置种关闭ssl证书校验解决。 双向认证 postman配置双向认证比较麻烦,需要将客户端证书分离成公钥和私钥,格式貌似只支持pem格式,然后再设置的证书选项中配置即可。 Spring Boot 配置HTTPS springboot配置https讲三种方式,第一种是springboot原生的配置文件配置,第二种和第三种都是通过代码配置,但分别针对tomcat容器和jetty容器。第一种和第二种springboot官方文档都有详细讲解,下面会直接引用官方文档内容,jetty容器的会单独贴代码。 通过Spring Boot 配置文件配置HTTPS spring boot官方文档 配置https 核心配置: server.port=8443 server.ssl.key-store=classpath:tomcat.keystore server.ssl.key-store-password=123456 server.ssl.keyStoreType=PKCS12 server.ssl.client-auth=want (仅双向认证时需要) 可选配置(意思就是我也不是很懂): server.ssl.trust-store=classpath:tomcat.keystore server.ssl.trust-store-password=123456 server.ssl.protocol= server.ssl.enabled=false server.ssl.key-password= server.ssl.ciphers= server.ssl.enabled-protocols= server.ssl.trust-store-provider= server.ssl.key-alias= server.ssl.key-store-provider= server.ssl.key-store-type= server.ssl.trust-store-type= 核心配置的各参数含义可以参考单机tomcat配置中的各参数含义理解。 主要讲下核心配置中的server.ssl.client-auth=want,这个参数有在双向认证时需要配置,其有两个值need和want(后文中的needClientAuth/wantClientAuth 含义与这两个值相同)。下面分别讲解: need:开启双向认证,强制验证客户端证书。如果用户没有证书或者拒绝提供用户证书(浏览器层面的操作),则SSL连接会直接断开,浏览器显示效果与服务器校验客户端证书失败(服务器开启了强制校验,没有证书或者证书不符合)的第二张图相同,必须在用户提供证书的前提下才能和服务器建立SSL连接。 want:开启双向认证,但校验客户端证书的操作是可选的,如果用户没有证书或拒绝提供证书,SSL连接依然进行,但在服务器端读到的客户端证书为空。 使用配置文件配置HTTPS的优点是简单,并且不用对代码进行改动。缺点是通过配置文件配置对于HTTP/HTTPS仅能二选一,如果需要同时开启HTTP和HTTPS,则必须要通过代码层面配置。 Using configuration such as the preceding example means the application no longer supports a plain HTTP connector at port 8080. Spring Boot does not support the configuration of both an HTTP connector and an HTTPS connector through application.properties. If you want to have both, you need to configure one of them programmatically. We recommend using application.properties to configure HTTPS, as the HTTP connector is the easier of the two to configure programmatically. See the spring-boot-sample-tomcat-multi-connectors sample project for an example. Spring boot tomcat 容器代码配置同时支持HTTP和HTTPS 在配置文件中配置https,同上,然后在代码中添加支持http的配置。 代码如下: /** * 配置一个TomcatEmbeddedServletContainerFactory bean * * @return */ @Bean public EmbeddedServletContainerFactory servletContainer() { TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory() { @Override protected void postProcessContext(Context context) { SecurityConstraint securityConstraint = new SecurityConstraint(); securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); securityConstraint.addCollection(collection); context.addConstraint(securityConstraint); } }; tomcat.addAdditionalTomcatConnectors(initiateHttpConnector()); return tomcat; } /** * 让我们的应用支持HTTP是个好想法,但是需要重定向到HTTPS, * 但是不能同时在application.properties中同时配置两个connector, * 所以要以编程的方式配置HTTP connector,然后重定向到HTTPS connector * * @return Connector */ private Connector initiateHttpConnector() { Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); connector.setScheme("http"); // http端口 connector.setPort(8080); connector.setSecure(false); // https端口 connector.setRedirectPort(7443); return connector; } } 结合单机tomcat配置https的配置文件,可以看到配置HTTP或者HTTPS连接的核心都是Connector,下面的jetty容器配置的核心也是添加多个Connector。 Spring Boot Jetty 容器同时配置HTTP和HTTPS 使用jetty配置时就没有结合配置文件使用了,而是直接在Spring Boot启动类中添加两个Connector,分别支持HTTP和HTTPS。 代码如下: @Bean public JettyEmbeddedServletContainerFactory jettyEmbeddedServletContainerFactory( JettyServerCustomizer jettyServerCustomizer) { JettyEmbeddedServletContainerFactory factory = new JettyEmbeddedServletContainerFactory(); factory.addServerCustomizers(jettyServerCustomizer); return factory; } @Bean public JettyServerCustomizer jettyServerCustomizer() { return server -> { // Tweak the connection config used by Jetty to handle incoming HTTP // connections final QueuedThreadPool threadPool = server.getBean(QueuedThreadPool.class); threadPool.setMaxThreads(500); threadPool.setMinThreads(50); List //创建HTTP Connector ServerConnector connector = new ServerConnector(server); //HTTP port connector.setPort(ServerSetting.getPort()); connectors.add(connector); if (ServerSetting.getApiType().equals(ApiTypeEnum.SERVICE.getValue()) && ServerSetting.getPkiServerRun()) { // 创建HTTPS Connector,以下各参数和单机tomcat中各参数含义相同 SslContextFactory sslContextFactory = new SslContextFactory(); sslContextFactory.setKeyStorePath(ServerSetting.getKeystoreFilePath()); sslContextFactory.setKeyStorePassword(ServerSetting.getKeystorePassword()); sslContextFactory.setWantClientAuth(ServerSetting.getWantClientAuth()); HttpConfiguration config = new HttpConfiguration(); config.setSecureScheme(HttpScheme.HTTPS.asString()); config.addCustomizer(new SecureRequestCustomizer()); ServerConnector sslConnector = new ServerConnector( server, new SslConnectionFactory(sslContextFactory, HttpVersion.HTTP_1_1.asString()), new HttpConnectionFactory(config)); // HTTPS port sslConnector.setPort(ServerSetting.getHttpsPort()); connectors.add(sslConnector); } server.setConnectors(connectors.toArray(new Connector[]{})); }; } 最后说一个小问题,Spring Boot启动时会先读取 application.properties中的端口server.port及协议配置,如果没有,则默认以HTTP 8080端口启动,这意味着上面的Jetty容器的配置方式在启动时日志会提示以8080端口初始化,日志如下: 2019-01-04 12:14:37 CST INFO [main] org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainerFactory.getEmbeddedServletContainer(JettyEmbeddedServletContainerFactory.java:149) - Server initialized with port: 8080 这个是正常的,但如果在代码中进行的相应的端口配置,则会自动覆盖上面的初始化配置。 从如下日志中可以看到代码中设置的端口及协议重新初始化: 2019-01-04 11:42:16 CST INFO [main] org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:266) - Started ServerConnector@5ab0260{HTTP/1.1}{0.0.0.0:8083} 2019-01-04 11:42:16 CST INFO [main] org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:266) - Started ServerConnector@6603902b{SSL-HTTP/1.1}{0.0.0.0:8443} 2019-01-04 11:42:16 CST INFO [main] org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainer.start(JettyEmbeddedServletContainer.java:121) - Jetty started on port(s) 8083 (http/1.1), 8443 (ssl-http/1.1, http/1.1) JAVA 代码读取客户端证书信息 在双向认证开启并且服务器信任客户端证书的前提下,在服务端是可以通过代码来读取客户端证书信息的,通过debug可以看出证书信息是保存在request对象中,如下图示例: 此次开发过程中用户信息是保存在证书的CN字段中,具体情况依据证书的不同有区别,但都会保存在这个X509Certificate对象中。 完整代码如下: String scheme = request.getScheme(); if (scheme.equalsIgnoreCase(HttpScheme.HTTP.asString())) { response.sendError(401, "当前请求只允许使用HTTPS方式,请联系管理员"); return; } X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate"); if (certs == null) { LOG.info("从request对象中未获取到证书信息"); response.sendError(401, "证书不存在或者未选择证书!请插入数字证书,重启浏览器后再点击访问!"); return; } X509Certificate gaX509Cert = certs[0]; gaX509Cert.checkValidity(new Date()); ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(gaX509Cert.getEncoded()); CertificateFactory cf = CertificateFactory.getInstance("X.509"); X509Certificate newGaX509Cert = (X509Certificate) cf.generateCertificate(byteArrayInputStream); byteArrayInputStream.close(); String dn = newGaX509Cert.getSubjectDN().toString(); LOG.info("证书DN项包括姓名、身份证号码等信息:" + dn); String cn = dn.substring(3, dn.indexOf(',')); String[] nameAndCid = cn.split(" "); String name = nameAndCid[0]; String cid = nameAndCid[1]; 参考: 一篇文章看明白 HTTP,HTTPS,SSL/TSL 之间的关系 参考: HTTPS加密协议详解(三):PKI 体系(沃通Wosign证书官网FAQ,链接放不了,有兴趣可以自己直接进官网看) 书有未曾经我读,事无不可对人言 posted on 2020-07-28 14:04 precedeforetime 阅读(8275) 评论(0) 编辑 收藏 举报 会员力量,点亮园子希望 刷新页面返回顶部 导航 博客园 首页 新随笔 联系 订阅 管理 公告 Powered by: 博客园 Copyright © 2024 precedeforetime Powered by .NET 8.0 on Kubernetes