1、什么是密钥?

密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥。

2、密钥的分类

密钥分为两种:对称密钥与非对称密钥。

对称密钥,即信息的发送方和接收方使用同一个密钥去加密和解密数据。它的最大优势是加/解密速度快,适合于对大数据量进行加密,但密钥管理困难。

非对称密钥,需要使用不同的密钥来分别完成加密和解密操作,一个公开发布,即公开密钥,另一个由用户自己秘密保存,即私用密钥。信息发送者用公开密钥去加密,而信息接收者则用私用密钥去解密。公钥机制灵活,但加密和解密速度却比对称密钥加密慢得多。

备注:密钥(secret key)—— 秘密的钥匙;私钥(private key)—— 私有的钥匙;公钥(public key)—— 公开的钥匙。

3、密钥的应用场景

非对称密钥加密技术采用一对匹配的密钥进行加密、解密,具有两个密钥,一个是公钥一个是私钥。无论是公钥还是私钥,本质都是密钥,都是用来加密数据的,但是其应用场景不同。

3.1、公钥加密:保护数据,不被外人知道

为发送一份保密报文,发送者必须使用接收者的公共密钥对数据进行加密,一旦加密,只有接收方用其私人密钥才能加以解密。

3.2、私钥加密:验证身份,确保文件来做本人,非他人冒充,起到数字签名的作用。

如果一个用户用自己的私人密钥对数据进行了处理,别人可以用他提供的公共密钥对数据加以处理。由于仅仅拥有者本人知道私人密钥,这种被处理过的报文就形成了一种电子签名,一种别人无法产生的文件。数字证书中包含了公共密钥信息,从而确认了拥有密钥对的用户的身份。

数字签名的作用是可以证明:文件来源于可靠,非篡改和伪造。可以看下面的场景:秦始皇想要发一道圣旨给驻守边塞的公子扶苏,但是又担心圣旨在下放过程中,被人篡改和伪造,那么皇帝可以拿出密钥对圣旨进行加密。等圣旨传到扶苏手上之后,他可以使用天下人共知的公钥进行解密,如果能解密成功,那么可以证明此圣旨的确出自父皇之手。秦皇自己的秘钥与公布出来公钥是一对的,其他人即便伪造了圣旨,也无法逃脱公钥的法眼。

4、数字证书

在非对称密钥加密技术中,如何确保公钥不被冒充?可以使用数字证书可以确保公钥不被冒充。

数字证书是经过权威机构(CA)认证的公钥,通过查看数字证书,可以知道该证书是由那家权威机构签发的,证书使用人的信息,使用人的公钥。它有以下特点:

1、由专门的机构签发的数字证书才安全有效。

2、签发数字证书是收费的。

3、不会被冒充,安全可信。

4、数字证书有使用期限,过了使用期限,证书变为不可用。CA也可以在试用期内,对证书进行作废操作。

5、CA的公钥已经集成到操作系统中了。

生成数字证书的流程的如下:

1、持有人将公钥以及身份信息发送给权威机构。

2、权威机构负责对持有人的身份进行验证,确保公钥和持有人的信息准确无误。

3、权威机构使用自己私钥对持有人公钥进行数字签名,生成数字证书。

4、为了确保证书不被篡改,权威机构对数字证书进行hash计算(指纹算法),生成摘要(指纹),使用自己的私钥对摘要进行数字签名,放到数字证书中。

5、对持有人收费。

5、数字证书的使用过程

Tom计划给Jim写密信,他先生成数字证书,有了数字证书后,给Jim写信时额外地附上数字证书。

Jim收信后,用CA的公钥解密数字证书中的数字签名(CA公钥存在根证书中,根证书是绝对信任的),得到数字签名的原文,再计算数字证书的hash值,对比得到的hash值和得到的数字签名原文,即可验证该数字证书是否可信任。若验证通过了,说明该数字证书上的信息是可信的,进而得到Tom的真实公钥,用Tom的真实公钥来验证Tom的数字签名,若验证通过,则可以确认该信件是Tom发出的了。

标签: none

添加新评论