前言
一牺弹、公鑰加密
假設(shè)一下浦马,我找了兩個數(shù)字时呀,一個是1,一個是2晶默。我喜歡2這個數(shù)字退唠,就保留起來,不告訴你們(私鑰)荤胁,然后我告訴大家瞧预,1是我的公鑰。
我有一個文件仅政,不能讓別人看垢油,我就用1加密了。別人找到了這個文件圆丹,但是他不知道2就是解密的私鑰啊滩愁,所以他解不開,只有我可以用
數(shù)字2辫封,就是我的私鑰硝枉,來解密。這樣我就可以保護數(shù)據(jù)了倦微。
我的好朋友x用我的公鑰1加密了字符a妻味,加密后成了b,放在網(wǎng)上欣福。別人偷到了這個文件责球,但是別人解不開,因為別人不知道2就是我的私鑰拓劝,
只有我才能解密雏逾,解密后就得到a。這樣郑临,我們就可以傳送加密的數(shù)據(jù)了栖博。
二、私鑰簽名
如果我用私鑰加密一段數(shù)據(jù)(當然只有我可以用私鑰加密厢洞,因為只有我知道2是我的私鑰)仇让,結(jié)果所有的人都看到我的內(nèi)容了,因為他們都知
道我的公鑰是1犀变,那么這種加密有什么用處呢妹孙?
我的好朋友x說有人冒充我給他發(fā)信。怎么辦呢获枝?我把我要發(fā)的信蠢正,內(nèi)容是c,用我的私鑰2省店,加密嚣崭,加密后的內(nèi)容是d笨触,發(fā)給x,再告訴他
解密看是不是c雹舀。他用我的公鑰1解密芦劣,發(fā)現(xiàn)果然是c。
這個時候说榆,他會想到虚吟,能夠用我的公鑰解密的數(shù)據(jù),必然是用我的私鑰加的密签财。只有我知道我得私鑰串慰,因此他就可以確認確實是我發(fā)的東西。
這樣我們就能確認發(fā)送方身份了唱蒸。這個過程叫做數(shù)字簽名邦鲫。當然具體的過程要稍微復(fù)雜一些。用私鑰來加密數(shù)據(jù)神汹,用途就是數(shù)字簽名庆捺。
總結(jié):公鑰和私鑰是成對的,它們互相解密屁魏。
公鑰加密滔以,私鑰解密。(RSA)
私鑰數(shù)字簽名蚁堤,公鑰驗證醉者。
三、簽名驗簽服務(wù)器工作大概流程
原文進行hash披诗,得到hash值,個人用自己的私鑰對hash值加密得到一個簽名值立磁,將自己的原文呈队,簽名值,公鑰證書發(fā)送給銀行唱歧,銀行用根證書驗證對方的公鑰證書是否有效宪摧,有效取出公鑰證書中的公鑰來,將個人發(fā)來的簽名值進行解密颅崩,得到hash值几于,將原文進行hash得到一個hash值,進行對比
四沿后、個人見解
- 現(xiàn)在國內(nèi)網(wǎng)銀基本上用的都是公鑰解密沿彭,私鑰簽名加密,稱之為不對稱加密。銀行U盾簽名驗簽的過程是:1.申請U盾尖滚,銀行核實信息喉刘,并將相關(guān)信息綁定U盾瞧柔,再將U盾(內(nèi)含私鑰、公鑰)下發(fā)給用戶睦裳。銀行保留證書的公鑰信息或用戶自行將公鑰證書導(dǎo)入到銀行服務(wù)器中造锅,并與用戶綁定。2.用戶在網(wǎng)銀做交易廉邑,和銀行之間交互的業(yè)務(wù)數(shù)據(jù)請求稱為報文原文哥蔚,用戶使用U盾簽名,用私鑰將報文原文加密蛛蒙,并將加密后的密文和原文一起發(fā)送到銀行肺素。3.銀行的驗簽服務(wù)器收到信息后,根據(jù)原文及用戶信息宇驾,找到用戶的公鑰倍靡,再根據(jù)公鑰,密文课舍,原文去驗證簽名是否正確(用公鑰解密塌西,并與原文比較),驗證通過則繼續(xù)這次交易筝尾,驗證不通過將認定為不合規(guī)交易捡需,終止交易。銀行通過數(shù)字簽名保證了數(shù)據(jù)的完整性和安全性(任何修改原文或密文的行為會導(dǎo)致驗簽不通過)筹淫,同時也保證了交易的來源確定性站辉,私鑰只有U盾持有者有。
- 一般證書是否合法驗證三方面信息:1损姜、證書是否是合法CA機構(gòu)頒發(fā)饰剥,技術(shù)上來說就是驗證上級CA2、證書的有效期是否正確摧阅,一般證書有效期是一年汰蓉,取服務(wù)器時間對比證書中的過期時間來比較即可3、證書是否在證書黑名單-吊銷列表CRL中棒卷,CRL由CA中心簽發(fā)一般24小時更新一次通過以上驗證后說明證書是有效的數(shù)字簽名是否有效顾孽,這就是密碼學(xué)的原理了,目前銀行使用的非對稱密碼標準是國密SM2橢圓曲線算法標準比规。