android中的数字签名技术

数字签名利用非对称加密技术和消息摘要技术来保证信息的安全可靠。发送方需要提供签名文件和数字证书,接收者才可以解密出对应的数据。数字证书同样也可以认为是一个数字签名,只不过签名的内容是消息发送方的公钥。与普通数字签名不同的是,数字证书中签名者不是随随便便一个普通的机构,而是要有一定公信力的机构,签发证书的机构叫做CA(Certification Agency)。

CA会使用自己的私钥对消息发送者的公钥进行签名,生成的就是数字证书,这个证书是可以通过CA的公钥解密的,CA的公钥是对外所有人开放的,如此别人拿到消息发送方的数字证书就相当于拿到了消息发送方的公钥,这样做的目的是保证发送方自己的公钥是对外人是可见的,但是别人却无法伪造,因为数字证书是CA的私钥签名后生成的。所以CA必须是一个具有公信力的机构,它控制着所有相关公司的数字证书发放。

一段信息的加密和解密过程如下:

发送方:

(1)拥有一对自己的公私钥

(2)需要CA机构对自己的公钥进行签名,生成数字证书(由于公钥是固定的,所以不用每次重新生成,在有效期内都可用)

(3)对要发送的原始数据提取消息摘要(sha算法)

(4)利用自己的私钥对消息摘要进行加密生成数字签名(rsa加密)

(5)提供自己的原始数据,消息摘要,数字签名以及数字证书给接收方

接收方:

(1)通过原始数据计算出消息摘要,对比接收的消息摘要,判断数据是否被篡改(sha算法)

(2)利用CA公钥解密数字证书,获取发送方的公钥

(3)利用发送方的公钥解密数字签名(rsa解密),获取解密后的消息摘要

(4)对比接收的消息摘要和解密后的消息摘要是否一致,判断消息摘要是否被篡改

(5)CA证书的可靠性–>消息摘要的可靠性–>数据的可靠性

由上可知,CA证书的可靠安全确保了后面数据的可靠与安全。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值