七、从银行转账来看密码学知识

章节系列目录:点击跳转

  现在转账大多数人都是在app上转账。

  你在X银行App上转账,超过5W需要数字证书,安装数字证书之前需要验证你的身份,所以利用到人脸识别技术,如果通过,就证明了你就是你。

  然后客户端就会生成一对公私钥,而人脸识别的时候服务器会下发一个字符串,人脸认证通过后,客户端会用私钥去把这个字符串签名,然后把{你签名后的字符串,你的公钥}发送给服务器。

  私钥保存在客户端的内存,如果卸载App,下次转账超过5W要重新安装数字证书。既然保存在应用的内存中,那么只要不root的手机就没有权限获取这个应用内存里面的内容,如果是root的手机,能访问你应用内存的内容,你的私钥会被泄露,所以直接就会安装数字证书的时候被禁止。

  服务器用你的公钥去验证这个签名的字符串x和最初下发给你的字符串对比,如果一致,则保存你的公钥,说明这个确实是你的公钥没被篡改。当服务器返回确认信息后,认可了你的公钥,你的数字证书{你签名后的字符串,你的公钥}就安装成功。

  如果银行app卸载后重新安装,转账超过5W需要重新安装数字证书,你会重新生成一对公私钥,然后重复上面的操作。

(这就是数字证书的知识)

  当你想转账,发起转账请求,服务器就会生成随机对称密钥,然后将这个密钥用你的公钥加密后传送给你。

  你拿到加密后的数据用自己的私钥解密,就拿到了对称密钥。

  然后用对称密钥加密你的转账信息,然后用私钥进行签名,发送给服务端。

  服务端用你的公钥去验证,验证通过,后台进行转账相关操作。
(这就是数字签名、对称密钥配送的知识)


关注、留言,我们一起学习。

----------------------Talk is cheap, show me the code-----------------------
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页