cdxy.me
Footprints on Cyber Security and Python

数字签名

数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。

签名

•签名是非对称加密的一种应用,使用私钥加密数据,就是对数据的签名

•签名是将数据通过运算后得到签名信息,被签名的数据发生任何改变哪怕这种改变非常细微,也无法获得同样的签名信息。

验签名

•验签名的过程就是使用公钥对私钥加密的数据解密并验证的过程

•验签名将被签名数据用相同的运算法则得到签名信息后与原有签名信息进行比较

 

散列算法/文摘算法/Hash

 

•就是把任意长度的输入(又叫做预映射),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。

 

 

常用算法

•SHA-1 , SHA-256、MD5 , MD2

特点

•无法反向执行散列算法恢复最初的明文

•得到的摘要不会告诉任何关于最初明文的信息

•同一明文用同一散列算法,生成后的值唯一

 

PKI

•PKI(Public KeyInfrastructure)即”公钥基础设施”,是一种遵循既定标准的密钥管理平台

•简单地说,PKI技术就是利用公钥理论和技术建立的提供信息安全服务的基础设施。

 

认证机构CA

 

•CA是PKI的核心执行机构,是PKI的主要组成部分,通常称它为认证中心。

•从广义上讲,认证中心还应该包括证书申请注册机构RA(Registration Authority),它是数字证书的申请注册、证书签发和管理机构。

 

密钥备份及恢复

 

•密钥备份及恢复是密钥管理的主要内容,用户由于某些原因将解密数据的密钥丢失,从而使已被加密的密文无法解开。

•为避免这种情况的发生,PKI提供了密钥备份与密钥恢复机制:当用户证书生成时,加密密钥即被CA备份存储(备份在KM);当需要恢复时,用户只需向CA提出申请,CA就会为用户自动进行恢复。

 

密钥和证书的更新

 

•一个证书的有效期是有限的,这种规定在理论上是基于当前非对称算法和密钥长度的可破译性分析,在实际应用中是由于长期使用同一个密钥有被破译的危险,因此,为了保证安全,证书和密钥必须有一定的更换频度。

•PKI对已发的证书必须有一个更换措施,这个过程称为“密钥更新或证书更新”。

 

证书历史档案 

 

•从以上密钥更新的过程,我们不难看出,经过一段时间后,每一个用户都会形成多个旧证书和至少一个当前新证书。

•这一系列旧证书和相应的私钥就组成了用户密钥和证书的历史档案。记录整个密钥历史是非常重要的。例如,某用户几年前用自己的公钥加密的数据或者其他人用自己的公钥加密的数据无法用现在的私钥解密,那么该用户就必须从他的密钥历史档案中,查找到几年前的私钥来解密数据。

 

客户端软件 

 

•为方便客户操作,解决PKI的应用问题,在客户装有客户端软件,以实现数字签名、加密传输数据等功能。

•客户端软件还负责在认证过程中,查询证书和相关证书的撤消信息以及进行证书路径处理、对特定文档提供时间戳请求等。

 

交叉认证

 

•交叉认证就是多个PKI域之间实现互操作。

•交叉认证实现的方法有多种:一种方法是桥接CA,即用一个第三方CA作为桥,将多个CA连接起来,成为一个可信任的统一体。

•另一种方法是多个CA的根CA(RCA)互相签发根证书,这样当不同PKI域中的终端用户沿着不同的认证链检验认证到根时,就能达到互相信任的目的。