SSL-数字签名-数字信封-数字证书
常见数字证书类型

常见数字证书类型1 数字证书1.1 概述 数字证书就是互联⽹通讯中标志通讯各⽅⾝份信息的⼀串数字,提供了⼀种在Internet上验证通信实体⾝份的⽅式,数字证书不是,⽽是⾝份认证机构盖在数字⾝份证上的⼀个章或印(或者说加在数字⾝份证上的⼀个签名)。
它是由权威机构——CA机构,⼜称为证书授权(Certificate Authority)中⼼发⾏的,⼈们可以在⽹上⽤它来识别对⽅的⾝份。
2 证书格式2.1 证书格式分类分为2⼤类:密钥库(含私钥,也可能有公钥)和公钥证书(仅含公钥)2.1.1 密钥库⽂件格式【Keystore】格式 : JKS扩展名 : .jks/.ks描述 : 【Java Keystore】密钥库的Java实现版本,provider为SUN特点 : 密钥库和私钥⽤不同的密码进⾏保护格式 : JCEKS扩展名 : .jce描述 : 【JCE Keystore】密钥库的JCE实现版本,provider为SUN JCE特点 : 相对于JKS安全级别更⾼,保护Keystore私钥时采⽤TripleDES格式 : PKCS12扩展名 : .p12/.pfx描述 : 【PKCS #12】个⼈信息交换语法标准特点 : 1、包含私钥、公钥及其证书2、密钥库和私钥⽤相同密码进⾏保护格式 : BKS扩展名 : .bks描述 : Bouncycastle Keystore】密钥库的BC实现版本,provider为BC特点 : 基于JCE实现格式 : UBER扩展名 : .ubr描述 : 【Bouncycastle UBER Keystore】密钥库的BC更安全实现版本,provider为BC2.2.2 证书⽂件格式【Certificate】格式 : DER扩展名 : .cer/.crt/.rsa描述 : 【ASN .1 DER】⽤于存放证书特点 : 不含私钥、⼆进制格式 : PKCS7扩展名 : .p7b/.p7r描述 : 【PKCS #7】加密信息语法标准特点 : 1、p7b以树状展⽰证书链,不含私钥2、p7r为CA对证书请求签名的回复,只能⽤于导⼊格式 : CMS扩展名 : .p7c/.p7m/.p7s描述 : 【Cryptographic Message Syntax】特点 : 1、p7c只保存证书2、p7m:signature with enveloped data3、p7s:时间戳签名⽂件格式 : PEM扩展名 : .pem描述 : 【Printable Encoded Message】特点 : 1、该编码格式在RFC1421中定义,其实PEM是【Privacy-Enhanced Mail】的简写,但他也同样⼴泛运⽤于密钥管理2、ASCII⽂件3、⼀般基于base 64编码格式 : PKCS10扩展名 : .p10/.csr描述 : 【PKCS #10】公钥加密标准【Certificate Signing Request】特点 : 1、证书签名请求⽂件2、ASCII⽂件3、CA签名后以p7r⽂件回复格式 : SPC扩展名 : .pvk/.spc描述 : 【Software Publishing Certificate】特点 : 微软公司特有的双证书⽂件格式,经常⽤于代码签名,其中1、pvk⽤于保存私钥2、spc⽤于保存公钥2.3 常⽤证书⽂件格式 CA中⼼普遍采⽤的规范是X.509[13]系列和PKCS系列,其中主要应⽤到了以下规范:2.3.1 X.509(1993) X.509是由国际电信联盟(ITU-T)制定的数字证书标准。
数字证书的工作原理

数字证书的工作原理数字证书的工作原理是公钥密码机制,简而言之就是通过“私钥签名、公钥验签”规则运行签名验签运算,保证电子文件内容不被篡改。
公钥密码机制让数字证书具备了唯一性和私密性,从而成为网络身份识别和通讯信息加密的利器。
数字证书同时具备网络身份识别和通讯信息加密的功能,从用途来看,可分为签名证书和加密证书:签名证书主要用于对用户信息进行签名,以保证信息的不可否认性;加密证书主要用于对用户传送的信息进行加密,以保证信息的真实性和完整性。
因此,数字证书具备四种基本特性:真实、机密、完整、抗抵赖。
数字证书就是一种确保身份真实与交易数据私密、完整、不可篡改、不可抵赖的产品。
什么是数字证书?数字证书是互联网通讯中标志通讯各方身份信息的一串数字,由CA机构即证书授权(Certificate Authority)中心发行,它提供了一种在网络上验证通信实体身份的方式。
什么是CA机构?CA机构是获得工信部《电子认证服务许可证》的机构,作为独立第三方为用户提供电子认证服务,包括数字证书申请、签发、更新、撤销、查询及签名验证等服务。
数字证书可以为用户提供哪些保障?数字证书服务在业内通常被称为“安全认证”。
也就是说,数字证书带来的“安全认证”是确保网络交易过程安全的一种技术手段,能保障交易双方的身份真实性、电子协议的机密性和真实性、操作行为的抗抵赖性以及电子签约的法律有效性,但与交易内容完全无关。
数字证书的特性使它成为创建真实可信、安全合法网络环境的一项重要手段,可用于多种加密用途,如身份识别,加密传输、数字签名、数字信封等。
按照细分功能和使用场景,数字证书可分为个人证书、企业证书、服务器证书(即SSL证书)、设备证书、代码签名证书、文档签名证书、场景证书等。
广泛应用于电子银行、第三方支付、在线合同签署、无纸化办公、网站安全认证等领域,多层次、全场景保护用户信息安全。
密码学中的数字证书

密码学中的数字证书密码学中的数字证书数字证书是由权威公正的第三方机构即CA中心签发的,以数字证书为核心的加密技术可以对网络上传输的信息进行加密和解密、数字签名和签名验证,确保网上传递信息的机密性、完整性,以及交易实体身份的真实性,签名信息的不可否认性,从而保障网络应用的安全性。
数字证书采用公钥密码体制,即利用一对互相匹配钥(私钥),用它进行解密和签名;同时拥有一把公共密钥(公钥)并可以对外公开,用于加密和验证签名。
当发送一份保密文件时,发送方使用接收方的公钥对数据加密,而接收方则使用自己的私钥解密,这样,信息就可以安全无误地到达目的地了,即使被第三方截获,由于没有相应的私钥,也无法进行解密。
通过数字的手段保证加密过程是一个不可逆过程,即只有用私有密钥才能解密。
在公开密钥密码体制中,常用的一种是RSA体制。
用户也可以采用自己的私钥对信息加以处理,由于密钥仅为本人所有,这样就产生了别人无法生成的文件,也就形成了数字签名。
采用数字签名,能够确认以下两点:(1)保证信息是由签名者自己签名发送的,签名者不能否认或难以否认;(2)保证信息自签发后到收到为止未曾作过任何修改,签发的文件是真实文件。
数字证书可用于:发送安全电子邮件、访问安全站点、网上证券、网上招标采购、网上签约、网上办公、网上缴费、网上税务等网上安全电子事务处理和安全电子交易活动。
证书遵循的标准-X.509证书的格式遵循X.509标准。
X.509是由国际电信联盟(ITU-T)制定的数字证书标准。
为了提供公用网络用户目录信息服务,ITU于1988年制定了X.500系列标准。
其中X.500和X.509是安全认证系统的核心,X.500定义了一种区别命名规则,以命名树来确保用户名称的唯一性;X.509则为X.500用户名称提供了通信实体鉴别机制,并规定了实体鉴别过程中广泛适用的证书语法和数据接口,X.509称之为证书。
X.509给出的鉴别框架是一种基于公开密钥体制的鉴别业务密钥管理。
数字证书介绍

数字证书介绍数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。
它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。
数字证书又称为数字标识(Digital Certificate,Digital Identity),标识某一主体(个人、单位、服务器、智能终端等)的身份信息。
信息系统的用户或设备需要使用数字证书来表明自己的身份,并用其进行信息加密、电子签名等相关操作。
通俗地讲,数字证书就是个人、单位或相关设备的电子身份证。
数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。
最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
数字证书还有一个重要的特征就是只在特定的时间段内有效。
1.1数字证书的特点●安全性(1)为了避免传统数字证书方案中,由于使用不当造成的证书丢失等安全隐患,支付宝创造性的推出双证书解决方案:支付宝会员在申请数字证书时,将同时获得两张证书,一张用于验证支付宝账户,另一张用于验证会员当前所使用的计算机。
(2)第二张证书不能备份,会员必须为每一台计算机重新申请一张。
这样即使会员的数字证书被他人非法窃取,仍可保证其账户不会受到损失。
(3)支付盾是一个类似于U盘的实体安全工具,它内置的微型智能卡处理器能阻挡各种的风险,让您的账户始终处于安全的环境下。
目前保证电子邮件安全性所使用的方式是数字证书。
●唯一性(1)支付宝数字证书根据用户身份给予相应的网络资源访问权限(2)申请使用数字证书后,如果在其他电脑登录支付宝账户,没有导入数字证书备份的情况下,只能查询账户,不能进行任何操作,这样就相当于您拥有了类似“钥匙”一样的数字凭证,增强账户使用安全。
数字证书介绍

数字证书介绍数字证书就是互联网通讯中标志通讯各方身份信息的一串数字,提供了一种在Internet上验证通信实体身份的方式,数字证书不是数字身份证,而是身份认证机构盖在数字身份证上的一个章或印(或者说加在数字身份证上的一个签名)。
它是由权威机构——CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。
数字证书又称为数字标识(Digital Certificate,Digital Identity),标识某一主体(个人、单位、服务器、智能终端等)的身份信息。
信息系统的用户或设备需要使用数字证书来表明自己的身份,并用其进行信息加密、电子签名等相关操作。
通俗地讲,数字证书就是个人、单位或相关设备的电子身份证。
数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。
最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
数字证书还有一个重要的特征就是只在特定的时间段内有效。
1.1数字证书的特点●安全性(1)为了避免传统数字证书方案中,由于使用不当造成的证书丢失等安全隐患,支付宝创造性的推出双证书解决方案:支付宝会员在申请数字证书时,将同时获得两张证书,一张用于验证支付宝账户,另一张用于验证会员当前所使用的计算机。
(2)第二张证书不能备份,会员必须为每一台计算机重新申请一张。
这样即使会员的数字证书被他人非法窃取,仍可保证其账户不会受到损失.(3)支付盾是一个类似于U盘的实体安全工具,它内置的微型智能卡处理器能阻挡各种的风险,让您的账户始终处于安全的环境下。
目前保证电子邮件安全性所使用的方式是数字证书。
●唯一性(1)支付宝数字证书根据用户身份给予相应的网络资源访问权限(2)申请使用数字证书后,如果在其他电脑登录支付宝账户,没有导入数字证书备份的情况下,只能查询账户,不能进行任何操作,这样就相当于您拥有了类似“钥匙”一样的数字凭证,增强账户使用安全。
数字证书是什么,为什么要用数字证书?

数字证书是什么,为什么要用数字证书?数字证书是什么?数字证书就是互联网通讯中标志通讯各方身份信息的一系列数据,提供了一种在Internet上验证身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。
它是由一个权威机构-----CA机构,又称为证书授权(Certificate Authority)中心发行的,人们可以在网上用它来识别对方的身份。
数字证书是一个经证书授权中心数字签名的包含公开密钥拥有者信息以及公开密钥的文件。
最简单的证书包含一个公开密钥、名称以及证书授权中心的数字签名。
一般情况下证书中还包括密钥的有效时间,发证机关(证书授权中心)的名称,该证书的序列号等信息,证书的格式遵循ITUT X.509国际标准。
一个标准的X.509数字证书包含以下内容:证书的版本信息;证书的序列号,每个证书都有一个唯一的证书序列号;证书所使用的签名算法;证书的发行机构名称,命名规则一般采用X.500格式;证书的有效期,现在通用的证书一般采用UTC时间格式,它的计时范围为1950-2049;证书所有人的名称,命名规则一般采用X.500格式;证书所有人的公开密钥;证书发行者对证书的签名。
为什么要用数字证书基于Internet网的电子商务系统技术使在网上购物的顾客能够极其方便轻松地获得商家和企业的信息,但同时也增加了对某些敏感或有价值的数据被滥用的风险。
买方和卖方都必须对于在因特网上进行的一切金融交易运作都是真实可靠的,并且要使顾客、商家和企业等交易各方都具有绝对的信心,因而因特网(Internet)电子商务系统必须保证具有十分可靠的安全保密技术,也就是说,必须保证网络安全的四大要素,即信息传输的保密性、数据交换的完整性、发送信息的不可否认性、交易者身份的确定性。
1、信息的保密性交易中的商务信息均有保密的要求。
如信用卡的帐号和用户名被人知悉,就可能被盗用,订货和付款的信息被竞争对手获悉,就可能丧失商机。
因此在电子商务的信息传播中一般均有加密的要求。
比较数字签名与数字信封

作业:1、试比较数字签名与数字信封公钥密码体制在实际应用中包含数字签名和数字信封两种方式。
数字签名是指用户用自己的私钥对原始数据的哈希摘要进行加密所得的数据。
信息接收者使用信息发送者的公钥对附在原始信息后的数字签名进行解密后获得哈希摘要,并通过与自己用收到的原始数据产生的哈希哈希摘要对照,便可确信原始信息是否被篡改。
这样就保证了数据传输的不可否认性。
数字信封的功能类似于普通信封。
普通信封在法律的约束下保证只有收信人才能阅读信的内容;数字信封则采用密码技术保证了只有规定的接收人才能阅读信息的内容。
数字信封中采用了单钥密码体制和公钥密码体制。
信息发送者首先利用随机产生的对称密码加密信息,再利用接收方的公钥加密对称密码,被公钥加密后的对称密码被称之为数字信封。
在传递信息时,信息接收方要解密信息时,必须先用自己的私钥解密数字信封,得到对称密码,才能利用对称密码解密所得到的信息。
这样就保证了数据传输的真实性和完整性。
2、举例说明数字证书的应用现有持证人甲向持证人乙传送数字信息,为了保证信息传送的真实性、完整性和不可否认性,需要对要传送的信息进行数字加密和数字签名,试阐述其传送过程。
(1)甲准备好要传送的数字信息(明文)。
(2)甲对数字信息进行哈希(hash)运算,得到一个信息摘要。
(3)甲用自己的私钥(SK)对信息摘要进行加密得到甲的数字签名,并将其附在数字信息上。
(4)甲随机产生一个加密密钥(DES密钥),并用此密钥对要发送的信息进行加密,形成密文。
(5)甲用乙的公钥(PK)对刚才随机产生的加密密钥进行加密,将加密后的DES 密钥连同密文一起传送给乙。
(6)乙收到甲传送过来的密文和加过密的DES密钥,先用自己的私钥(SK)对加密的DES密钥进行解密,得到DES密钥。
(7)乙然后用DES密钥对收到的密文进行解密,得到明文的数字信息,然后将DES密钥抛弃(即DES密钥作废)。
(8)乙用甲的公钥(PK)对甲的数字签名进行解密,得到信息摘要。
一文看懂HTTPS、证书机构(CA)、证书、数字签名、私钥、公钥

⼀⽂看懂HTTPS、证书机构(CA)、证书、数字签名、私钥、公钥说到https,我们就不得不说tls/ssl,那说到tls/ssl,我们就不得不说证书机构(CA)、证书、数字签名、私钥、公钥、对称加密、⾮对称加密。
这些到底有什么⽤呢,正所谓存在即合理,这篇⽂章我就带你们捋⼀捋这其中的关系。
对称加密对称加密是指双⽅持有相同的密钥进⾏通信,加密速度快,但是有⼀个安全问题,双⽅怎样获得相同的密钥?你总不能总是拿着U盘把密钥拷贝给对⽅吧。
常见的对称加密算法有DES、3DES、AES等⾮对称加密⾮对称加密,⼜称为公开密钥加密,是为了解决对称加密中的安全问题⽽诞⽣,⼀个称为公开密钥(public key),即公钥,另⼀个称为私钥(private key),即私钥。
但是它的加密速度相对于对称加密来说很慢。
公钥(public key)是对外开放的,私钥(private key)是⾃⼰拥有的。
公钥(public key)加密的数据,只能⽤私钥(private key)解密。
私钥(private key)加密的数据,只能⽤公钥(public key)解密。
信息安全问题在信息安全性问题中,我们常常要做到三点才能保证信息的安全:1. 信息的保密性2. 信息的完整性3. ⾝份识别信息的保密性(加密算法)信息的保密性我们可以使⽤对称加密和⾮对称加密来完成,使⽤对称加密来完成,速度相对⾮对称加密很快,但是存在⼀个安全问题,密钥如何传递?由此通⽤的⽅法是使⽤⾮对称加密+对称加密来完成。
客户端使⽤公钥对对称加密的密钥进⾏加密,然后传递给服务端,服务端使⽤私钥进⾏解密确认密钥,开始传输数据。
信息的完整性(数字签名)信息传输的途中,我们的信息很有可能被第三⽅劫持篡改,所以我们需要保证信息的完整性,通⽤⽅法是使⽤散列算法如SHA1,MD5将传输内容hash⼀次获得hash值,即摘要。
客户端使⽤服务端的公钥对摘要和信息内容进⾏加密,然后传输给服务端,服务端使⽤私钥进⾏解密获得原始内容和摘要值,这时服务端使⽤相同的hash算法对原始内容进⾏hash,然后与摘要值⽐对,如果⼀致,说明信息是完整的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
u 公匙与私匙 用途: 主要用于非对称加密体系,加密和解密用不同的秘匙 公匙: PublicKey,是公开的,不需要保密 私匙: PrivateKey, 是自己的,需要保密 包含: 1 对密匙和 1 组相对的加密/解密算法 示例:RSA、Elgamal、背包算法、Rabin、D-‐H、ECC(椭圆曲线加密算法) 原理:
图 4 数字签名示意图 1)Alice 准备了一份合同 M; 2)Alice 用摘要算法计算出该合同 M 的消息摘要 MD; 3)Alice 用自己的私钥对消息摘要 MD 进行加密,该密文 S 就是数字签名; 4)Alice 将合同 M 和合同的数字签名 S,一起传送到给接受者 Bob; 5)Bob 收到 Alice 的合同 M 及合同的数字签名 S; 6)Bob 用 Alice 公钥解密合同签名 S,得到 Alice 计算的合同摘要 MD; 7)Bob 采用相同摘要算法对收到的合同重新计算消息摘要 MD'; 8)Bob 比较 MD 与 MD'是否相等? 9)如结果相等,根据摘要算法的特性表明合同在传输过程中未被篡改。 同时由于非对称加密算法的特性可以断定合同确实是 Alice 发送的,因为用 Alice 公钥能解密成功的数据只有 Alice 用她自己私钥对其进行加密才能产 生,而她的私钥其它人是无法获取的。
继续进行) 证书是否过期,发行服务器证书的 CA 是否可靠,发行者证书的公钥能否正确解开 服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名 相匹配。 4) 客户端产生一个随机数用于后面通讯的“预主密码”,用服务器公钥对其加密,将其传 给服务器。 u 若服务器要求客户的身份认证(可选),客户端可以建立一个随机数然后对其进行
发送方: 原文 -‐-‐(加密-‐乙的公匙) -‐-‐ 密文 – 发送 接收方: 密文 -‐-‐(解密-‐乙的私匙) -‐-‐ 原文 – 处理
2. 数字信封 1)数字信封是一种非对称密码算法和对称密码算法组合应用, 2)其目的是: 用于通信双方间的安全文件交换。 3)下面的例子将详细介绍 Alice 如何利用数字信封将合同安全地传送给 Bob。见图示:
加密、消息摘要、数字签名、数字信封和 SSL 通信过程
1. 对称加密与非对称加密
n 对称加密 包含:1 个秘匙和 1 组相对的加密/解密算法 示例:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK、AES 原理: 发送方:原文 -‐-‐(加密)-‐-‐ 密文 – 发送 接收方:密文 -‐-‐(解密)-‐-‐ 原文 – 处理
6. SSL 通讯过程(单向认证、双向认证)
1) 客户端的浏览器向服务器发送请求: 客户端 SSL 协议的版本号,加密算法的种类,产生的随机数,及其他通讯所需要 的各种信息。
2) 服务器向客户端响应请求: SSL 协议的版本号,加密算法的种类,随机数以及其他相关信息,同时服务器自
己的证书。 3) 客户端利用服务器信息验证服务器的合法性(没有通过,通讯将断开;验证通过,将
Base64 编码的证书: 证书中没有私钥,BASE64 编码格式的证书文件,也以 cer 作为证书文件后缀名。
n 证书分类
广义上可分为:个人数字证书、单位数字证书、单位员工数字证书、服务器证书、VPN 证书、WAP 证书、
代码签名证书和表单签名证书。 u 服务器证书
5. 鲍勃给苏珊回信,决定采用 "数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)
6. 然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(signature)。
以下是一个很好例子
1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。
2. 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。
3. 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果
4. 鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露, 这封信就是安全的,即使落在别人手里,也无法解密。
服务器证书被安装于服务器设备上,用来证明服务器的身份和进行通信加密。服务器证书可以用来防
止欺诈钓鱼站点。譬如 SSL 证书
u 电子邮件证书
电子邮件证书可以用来证明电子邮件发件人的真实性。它并不证明数字证书上面 CN 一项所标识的证
书所有者姓名的真实性,它只证明邮件地址的真实性。
n 文件格式
数字证书文件格式(cer 和 pfx)的区别:
带有私钥的证书: 由 PKCS#12 标准定义,包含了公钥和私钥的二进制格式的形式,以 pfx 作为后缀名。
二进制编码的证书: 证书中没有私钥,DER 编码二进制格式的证书文件,以 cer 作为证书文件后缀名。
数字信封过程示意图
1)Alice 准备了一份合同 M; 2)Alice 生成一个随机数; 3)Alice 选用该随机数作为密钥对合同 M 进行对称加密,生成密文合同; 4)Alice 选用 Bob 公钥对随机数进行非对称加密,生成数字信封; 5)Alice 将密文合同和信封一起发送给 Bob; 6)Bob 接受 Alice 发送的密文合同和信封; 7)Bob 选用自己的私钥对信封进行解密,得到对称密钥(随机数); 8)Bob 使用该对称密钥(随机数)对密文合同进行对称解密,得到合同 M。
4. 数字签名 1)数字签名实际上是非对称密码算法和消息摘要算法的一种组合应用; 2)其目的是: 保证信息是由签名者自己签名发送的,签名者不能否认或难 以否认;保证信息自签发后到收到为止未曾作过任何修改; 3)下面的例子将详细介绍 Alice 如何对一份合同 M 进行数字签名,同时 Bob 又是如何来验证她所签的合同。见图示:
u 个人证书
客户端证书主要被用来进行身份验证和电子签名。
l 数字指纹 vs. 数字签名 vs. 数字证书
数字指纹,也称为消息摘要,根据消息内容使用特定的 Hash 算法生成。 非绝对安全,因为消息可能被截获并换成其他有同样数字指纹的消息。 数字签名,弥补了数字指纹的弱点。它用消息发送者的私匙加密数字指纹, 生成数字签名。消息接收者用消息发送者的公匙解密数字指纹。 数字签名的弱点是用于解密数字指纹的公匙。 数字证书用于解决数字签名的这一弱点。证书包含消息发送者的电子邮箱地 址、名字和公匙,及用于唯一标识消息发送者的其他信息。由有公信力的 CA 证明证书的完整性。 CA 为消息发送者提供私匙,用于加密数字指纹;同时 CA 向消息接收者提 供包含证书颁发机构的公匙证书。
5. 数字证书 n 证书格式:
目前普遍采用的是 X.509V3 国际标准,X.509 数字证书包含以下一些内容: 版本信息;唯一证书序列号;签名算法;发行机构名称(X.500 格式);证书的有效期;证书所
有人的名称(X.500 格式);证书所有人的公开密钥;证书发行者对证书的签名。
数据签名,将这个含有签名的随机数和客户自己的证书,及加密过的“预主密 码”一起传给服务器。 u 若服务器要求客户的身份认证,服务器须检验客户证书和签名随机数的合法性: 具体的合法性验证过程包括:客户的证书使用日期,客户证书的 CA 是否可靠, 发行 CA 的公钥能否解开客户证书的发行 CA 的数字签名,客户的证书是否 在证书废止列表(CRL)中。 5) 服务器和客户端用相同的主密码即“通话密码”,一个对称密钥用于 SSL 协议的安 全数据通讯的加解密通讯。 6) 客户端向服务器端发出信息,指明后面的数据通讯将主密码为对称密钥,同时通知服 务器客户端的握手过程结束。 7) 服务器向客户端发出信息,指明后面的数据通讯将主密码为对称密钥,同时通知客户 端服务器端的握手过程结束。 8) SSL 的握手部分结束,SSL 安全通道的数据通讯开始,客户和服务器开始使用相同 的对称密钥进行数据通讯,同时进行通讯完整性的检验。
按照此方式,您无须通过网络发送密码就可以向服务器证明您知道密码。
n 消息摘要 采用单向 Hash 函数将需加密的明文"摘要"成一串 128bit 的密文,这一 串密文亦称为数字指纹(Finger Print)。 1)它是一个唯一对应一个消息或文本的固定长度的值; 2)它由一个单向 Hash 加密函数对消息进行作用而产生; 3)可以检查消息是否被修改,保证消息的完整性。
3)哈希函数单向特征和输出数据长度固定的特征使得它可以生成消息或者数据。 特点:
1)哈希表是根据设定的哈希函数 H(key)和处理冲突方法将一组关键字映射到一个 有限的地址区间上,并以关键字在地址区间中的象作为记录在表中的存储位置,这 种表称为哈希表或散列,所得存储位置称为哈希地址或散列地址。 2)通过将单向数学函数(有时称为“哈希算法”)应用到任意数量的数据所得到 的固定大小的结果。如果输入数据中有变化,则哈希也会发生变化。哈希可用于许
多操作,包括身份验证和数字签名。也称为“消息摘要”。 包含:典型的哈希算法包括 MD2、MD4、MD5 和 SHA-‐1。 计算方法:
MD5 一种符合工业标准的单向 128 位哈希方案,由 RSA Data Security, Inc. 开 发。 各种“点对点协议(PPP)”供应商都将它用于加密的身份验证。哈希方案是 一种以结果唯一并且不能返回到其原始格式的方式来转换数据(如密码)的方法。 质询握手身份验证协议(CHAP) 使用质询响应并在响应时使用单向 MD5 哈希法。
3. 消息摘要(也称为数字摘要,数字指纹) n Hash 算法 概念:
1)哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的 二进制值称为哈希值。一般用于快速查找和加密算法。 2)哈希(Hash)算法,即散列函数。它是一种单向密码体制,即它是一个从明文到密文 的不可逆的映射,只有加密过程,没有解密过程。同时,哈希函数可以将任意长度的输 入经过变化以后得到固定长度的输出。