支付安全_数字签名
数字签名是什么
数字签名(又称公钥数字签名)是只有信息的发送者才能产生的别 人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发 送信息真实性的一个有效证明。数字签名是非对称密钥加密技术与 数字摘要技术的应用。
生活中的数据签名
相信我们都写过信,在写信的时候落款处总是要留下自己的名字, 用来表示写信的人是谁。我们签的这个字就是生活中的签名。
注意: 在网络中传输数据时候,给数据添加一个数字签名,表示是谁 发的数据,而且还能证明数据没有被篡改。OK,数字签名的主 要作用就是保证了数据的有效性(验证是谁发的)和完整性 (证明信息没有被篡改)。
基本原理
张三有两把钥匙,一把是公钥,另一把是私钥。张三把公钥送给他 的朋友们----铁蛋、幺妹、李四----每人一把。
幺妹要给张三写一封保密的信。她写完后用张三的公钥加密,就可 以达到保密的效果。
张三收信后,用私钥解密,就看到了信件内容。这里要强调的是, 只要张三的私钥不泄露,这封信就是安全的,即使落在别人手里, 也无法解密。
张三给幺妹回信,决定采用"数字签名"。他写完后先用Hash函数, 生成信件的摘要(digest)。
张三使用私钥,对这个摘要加密,生成"数字签名"(signature)。 幺妹收信后,取下数字签名,用张三的公钥解密,得到信件的摘要。由此证明,这封信确实是张三发出的。幺妹再对信件本身使用 Hash函数,将得到的结果,与上一步得到的摘要进行对比。如果两者一致,就证明这封信未被修改过。
1.数字签名主要解决_______问题。数据被篡改问题
支付安全_数字证书
为什么需要数字证书
复杂的情况出现了。李四想欺骗幺妹,他偷偷使用了幺妹的电脑, 用自己的公钥换走了张三的公钥。此时,幺妹实际拥有的是李四的 公钥,但是还以为这是张三的公钥。因此,李四就可以冒充张三, 用自己的私钥做成"数字签名",写信给幺妹,让幺妹用假的张三公钥进行解密。
后来,幺妹感觉不对劲,发现自己无法确定公钥是否真的属于张三。她想到了一个办法,要求张三去找"证书中心"(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对张三的公钥和一些相关信息一起加密,生成"数字证书"(Digital Certificate)。
理解数据证书
比如说我们的毕业证书,任何公司都会承认。为什么会承认?因为 那是国家发得,大家都信任国家。也就是说只要是国家的认证机 构,我们都信任它是合法的。
原理
为了解决公钥的信任问题,张三和幺妹找一家认证公司(CA Catificate Authority),把公钥进行认证,证书中心用自己的私 钥,对A的公钥和一些相关信息一起加密,生成“数字证书”(Digital Certificate)
幺妹如果获取到证书,证书可以用CA的公钥(认证中心信用背书) 进行解密,会得到发公钥人的信息,以及他的公钥,此时这个A的公钥是可信的。
所以张三给幺妹发送信息的时候,就会带上签名,和证书一并发送 给到互联网上,幺妹接收到消息的时候,先用CA发布的公钥解密数 字证书,得到张三的公钥,用张三的公钥解密签名,得到摘要,幺妹在用hash算法得到消息的摘要,对两个摘要对比,如果相等,说明消息在网络上没有被不法分子修改。
1.数字证书解决____,可以防止黑客伪造公钥。公钥不信任问题
支付项目_功能演示
首页
我的订单
订单详情页
支付工程准备_创建支付工程
新建工程
注意: JDK版本选择8。
组件选择