




已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
金融行業(yè)密鑰詳解 劉永勝 2005年6月于深圳金融行業(yè)因?yàn)閷?duì)數(shù)據(jù)比較敏感,所以對(duì)數(shù)據(jù)的加密也相應(yīng)的比較重視。在其中有關(guān)密鑰及加密方面的文章很少,并且散發(fā)在各個(gè)銀行及公司的手中,在網(wǎng)上沒(méi)有專門(mén)對(duì)這部分進(jìn)行介紹的。本文對(duì)金融行業(yè)的密鑰進(jìn)行較深入的介紹,包括象到底什么是主密鑰(MasterKey)、傳輸密鑰(MacKey),為什么我們需要這些東西等。本文采取追源溯本的方式,力求讓對(duì)這感興趣的人達(dá)到知其然,同時(shí)也知其所以然,而不是模模糊糊的知道幾個(gè)概念和名詞。因?yàn)楸疚闹饕轻槍?duì)對(duì)金融行業(yè)密鑰不是很熟悉的人,所以如果你對(duì)密鑰很熟悉就不必仔細(xì)看了。好了,咱們言規(guī)正傳。我們知道,金融行業(yè)有很多數(shù)據(jù)要在網(wǎng)絡(luò)上傳遞,包括從前置到主機(jī),從自助終端到前置等,這些數(shù)據(jù)在網(wǎng)絡(luò)上傳來(lái)傳去,我們很容易就會(huì)想到安全性的問(wèn)題,如果這些數(shù)據(jù)被人竊取或攔截下來(lái),那我們?cè)趺锤以阢y行存錢(qián)了。這個(gè)問(wèn)題在計(jì)算機(jī)出現(xiàn)時(shí)就被前人考慮到了,所以出現(xiàn)了很多各種各樣的加解密技術(shù)。拋開(kāi)這些不管,假設(shè)當(dāng)初由我們自己來(lái)設(shè)計(jì)怎樣解決數(shù)據(jù)被竊取的情況。假設(shè)我們有一段數(shù)據(jù),是ATM取款的報(bào)文,包括一個(gè)人的磁卡號(hào)、密碼、取款金額,現(xiàn)在需要將這些數(shù)據(jù)從一臺(tái)ATM機(jī)器傳到前置機(jī)處理,這些數(shù)據(jù)是比較機(jī)密的,如果被人竊取了,就可以用該卡號(hào)和密碼把帳戶中的錢(qián)取走。 首先,我們可以想到用專用的銀行內(nèi)部網(wǎng)絡(luò),外面的人無(wú)法獲得網(wǎng)絡(luò)的訪問(wèn)權(quán)。這個(gè)仔細(xì)想想顯然不可行的,因?yàn)橐皇遣荒鼙WC外人一定沒(méi)辦法進(jìn)入銀行內(nèi)部網(wǎng)絡(luò),二是銀行內(nèi)部人員作案是沒(méi)法防止的。接著,我們很容易想到,既然保證數(shù)據(jù)不被竊取的可能性很小,那我們何不變換一下思路,數(shù)據(jù)避免不了被竊取,那我如果將數(shù)據(jù)處理下,讓你即使竊取到數(shù)據(jù),也是一些無(wú)用的亂碼,這樣不就解決問(wèn)題了嗎。這個(gè)想法比較接近現(xiàn)在的做法了,當(dāng)前置機(jī)接收到了數(shù)據(jù),它肯定是對(duì)數(shù)據(jù)進(jìn)行反處理,即與ATM端完全步驟相反的數(shù)據(jù)處理,即可得到明文的數(shù)據(jù)。我們?cè)龠M(jìn)一步想想,如果因?yàn)槟撤N原因,報(bào)文中的取款金額被改變了,這樣就會(huì)導(dǎo)致ATM出的錢(qián)和前置扣帳記錄的錢(qián)不一致的情況,看來(lái)我們必須加上一個(gè)驗(yàn)證機(jī)制,當(dāng)前置機(jī)收到ATM發(fā)送的一個(gè)報(bào)文時(shí),能夠確認(rèn)報(bào)文中的數(shù)據(jù)在網(wǎng)絡(luò)傳輸過(guò)程中沒(méi)有被更改過(guò)。怎樣實(shí)現(xiàn)?最簡(jiǎn)單的,象計(jì)算機(jī)串口通訊一樣,對(duì)通訊數(shù)據(jù)每一位進(jìn)行異或,得到0或1,把0或1放在在通訊數(shù)據(jù)后面,算是加上一個(gè)奇偶校驗(yàn)位,收到數(shù)據(jù)同樣對(duì)數(shù)據(jù)每位進(jìn)行異或,得到0或1,再判斷下收到數(shù)據(jù)最后一位與算出來(lái)的是否一致。這種方式太簡(jiǎn)單了,對(duì)于上面提到的ATM到前置機(jī)的報(bào)文來(lái)說(shuō),沒(méi)什么用處,不過(guò)我們可以將對(duì)數(shù)據(jù)每一位異或的算法改成一個(gè)比較復(fù)雜點(diǎn)的。因?yàn)镈ES算法已經(jīng)出來(lái)了很多年了,并且在金融行業(yè)也有廣泛的應(yīng)用,我們何不用DES算法進(jìn)行處理,來(lái)解決上面的問(wèn)題呢。我們應(yīng)該了解DES算法(此處指單DES)的,就是用一個(gè)64bit 的Key對(duì)64bit的數(shù)據(jù)進(jìn)行處理,得到加密后的64bit數(shù)據(jù)。那我們用一個(gè)Key對(duì)上面的報(bào)文進(jìn)行DES算法,得到加密后的64bit數(shù)據(jù),放到報(bào)文的最后,跟報(bào)文一起送到前置機(jī),前置機(jī)收到報(bào)文后,同樣用Key對(duì)數(shù)據(jù)(不包括最后的64bit加密數(shù)據(jù))進(jìn)行DES加密,得出64bit的數(shù)據(jù),用該數(shù)據(jù)與ATM發(fā)送過(guò)來(lái)的報(bào)文最后的64bit數(shù)據(jù)比較,如果兩個(gè)數(shù)據(jù)相同,說(shuō)明報(bào)文沒(méi)有中途被更改過(guò)。再進(jìn)一步,因?yàn)镈ES只能夠?qū)?4bit的數(shù)據(jù)進(jìn)行加密,一個(gè)報(bào)文可不止64bit,哪我們?cè)趺刺幚砟??只?duì)報(bào)文開(kāi)頭的64bit加密?這個(gè)是顯然不夠的。我們可以這樣,先對(duì)報(bào)文的開(kāi)始64bit加密,接著對(duì)報(bào)文第二個(gè)64bit加密,依次類推,不過(guò)這有問(wèn)題,因?yàn)槊總€(gè)64bit都會(huì)得到同樣長(zhǎng)度的加密后的數(shù)據(jù),我不能把這些數(shù)據(jù)都放到報(bào)文的后面,那報(bào)文的長(zhǎng)度不變成兩倍長(zhǎng)了。換個(gè)思路,我先對(duì)報(bào)文第一個(gè)64bit加密,得到64bit的加密后數(shù)據(jù)data1,接著再拿加密后的data1與報(bào)文第二個(gè)64bit數(shù)據(jù)進(jìn)行按位異或,得到同樣長(zhǎng)64bit的數(shù)據(jù)data2,我再用Key對(duì)data2加密,得到加密后的數(shù)據(jù)data3,再拿data3與報(bào)文第三個(gè)64bit數(shù)據(jù)進(jìn)行按位異或,同樣的處理依次類推。直到最后會(huì)得到一個(gè)64bit的數(shù)據(jù),將這個(gè)數(shù)據(jù)放到報(bào)文的最后發(fā)到前置機(jī),這樣報(bào)文的長(zhǎng)度只增加了64bit而已。這個(gè)算法就叫做MAC算法。好了,到目前為止我們已經(jīng)知道了什么是MAC算法,為什么需要它,接著我們?cè)倏纯唇?jīng)常被提起的另外一個(gè)名詞。在上面說(shuō)到MAC算法的時(shí)候,我們會(huì)注意到其中進(jìn)行DES加密算法時(shí)提到了一個(gè)Key,這個(gè)用來(lái)參與MAC計(jì)算的Key就常被稱為MacKey,也有叫工作密鑰、過(guò)程密鑰的。我們繼續(xù)來(lái)處理ATM和前置機(jī)間網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膯?wèn)題。前面提到的MAC算法對(duì)傳送的報(bào)文進(jìn)行了處理,保證了在網(wǎng)絡(luò)傳輸過(guò)程中數(shù)據(jù)不會(huì)被有意或無(wú)意的篡改,但是,我們?cè)龠M(jìn)一步想想,如果仍然是上面提到的一個(gè)取款報(bào)文,如果想作案的話,我不改報(bào)文的內(nèi)容,我只是截取報(bào)文的內(nèi)容,因?yàn)閮?nèi)容里面有卡號(hào)和密碼,都是明文的形式,很容易就看出來(lái)哪些內(nèi)容是卡號(hào)、哪些內(nèi)容是密碼。有了卡號(hào)和密碼,我就好辦了,找個(gè)讀卡器就能夠很快的制出一張磁卡,然后拿這個(gè)磁卡可以隨便取錢(qián)了,根本不需要修改報(bào)文,這樣你就算前置機(jī)對(duì)報(bào)文的MAC校驗(yàn)通過(guò)了,也只是保證了報(bào)文沒(méi)改動(dòng)過(guò),對(duì)于防止作案沒(méi)有實(shí)質(zhì)上的幫助。那我們很容易想到,我再加上一道加密,這次我把整個(gè)存款的報(bào)文都用DES加密,將明文全部轉(zhuǎn)換成密文,然后送到前置機(jī),這下好了吧。即使你把報(bào)文截取了也沒(méi)用,你拿著這些密文也沒(méi)有用,你也沒(méi)有DES的密鑰來(lái)解密它,只有前置機(jī)才知道密鑰。這是個(gè)好主意,確實(shí)防止了卡號(hào)和密碼等被人獲知的危險(xiǎn)。這也是現(xiàn)在普遍采取的做法,不過(guò)我們需要對(duì)這個(gè)做法進(jìn)行一些改進(jìn)。首先,我們要知道用DES對(duì)數(shù)據(jù)加解密是耗時(shí)間的,尤其是使用硬加密(下一步講什么是硬加密)的情況,速度是比較慢的。我們來(lái)想想,整個(gè)存款報(bào)文有必要每個(gè)數(shù)據(jù)都DES加密嗎,象報(bào)文中的什么流水號(hào)、ATM號(hào)等信息,對(duì)它們加密沒(méi)什么意義,進(jìn)一步講,取款金額加密也沒(méi)意義,假設(shè)你取500塊,但是你將報(bào)文改成了100塊,導(dǎo)致主機(jī)只把你帳戶扣100塊錢(qián),你白賺了400塊。這個(gè)聽(tīng)起來(lái)挺劃算的,實(shí)際上是不可行的,因?yàn)檫@樣造成了帳務(wù)上的短款,銀行當(dāng)然會(huì)查賬的,根據(jù)ATM記錄的硬件出鈔張數(shù)和主機(jī)扣款金額,肯定會(huì)把你查出來(lái)的,那這種掩耳盜鈴的做法,下場(chǎng)顯而易見(jiàn),想必沒(méi)人這么傻。我們來(lái)考慮一個(gè)報(bào)文中到底什么信息是需要加密的,目前一般的做法是只對(duì)帳號(hào)和密碼(也有只對(duì)密碼加密的)進(jìn)行加密,其他的內(nèi)容不加密的,明文就明文,沒(méi)什么大不了的。對(duì)帳號(hào)和密碼加密有個(gè)術(shù)語(yǔ),我們可能都聽(tīng)說(shuō)過(guò),叫PinBlock,即PIN塊,就是對(duì)帳號(hào)和密碼進(jìn)行DES加密處理后的一個(gè)密文數(shù)據(jù)塊。即然使用了DES算法來(lái)加密帳號(hào)和密碼,則必然有個(gè)Key來(lái)加密,那么我們就把這個(gè)Key稱為PinKey,就是專門(mén)來(lái)加密用戶帳戶和密碼的Key。至于怎樣進(jìn)行加密形成最后的密文PinBlock,有很多標(biāo)準(zhǔn)的,象IBM3624、ANSI、ISO、DIEBOLD等標(biāo)準(zhǔn),其實(shí)它們大同小異,就是在對(duì)報(bào)文中的密碼進(jìn)行一個(gè)預(yù)處理,再用PinKey來(lái)DES加密,主要的差別就是怎樣預(yù)處理而已,比如有的是密碼后面補(bǔ)F,補(bǔ)夠16位,就是類似這樣的預(yù)處理。到這里我們應(yīng)該理解PinKey和PinBlock了。通過(guò)PinKey和MacKey對(duì)報(bào)文進(jìn)行了兩重處理,基本上報(bào)文就是安全的了。如果我們對(duì)DES算法比較了解,就會(huì)知道,如果想對(duì)加密后的密文解密,必須要知道Key才行,所以說(shuō)Key一定要保密。怎樣來(lái)保密Key呢?我們前面提到的無(wú)論是算MAC還是算PIN塊,都是直接拿明文的Key來(lái)計(jì)算的,那么這個(gè)Key很容易被竊取的,比如有人在機(jī)器上裝了個(gè)黑客程序,只要檢測(cè)到你在用Key加密數(shù)據(jù),就把明文的Key獲取了。這個(gè)聽(tīng)起來(lái)好像挺玄乎的,不過(guò)是有這個(gè)可能性的,尤其是網(wǎng)上銀行這些東東最容易中招了。這樣看來(lái),我們還要對(duì)PinKey和MacKey本身進(jìn)行加密,不要讓人知道了。怎樣實(shí)現(xiàn),同樣是DES算法大顯身手的地方。我再找個(gè)Key對(duì)PinKey和MacKey進(jìn)行一次加密,這樣你就看不到PinKey和MacKey的明文了,好,解決問(wèn)題了。這時(shí)用來(lái)對(duì)PinKey和MacKey進(jìn)行加密的Key就被我們稱為MasterKey,即主密鑰,用來(lái)加密其他密鑰的密鑰。不過(guò),需要等一下,那MasterKey怎么辦,它是明文啊。再找個(gè)Key來(lái)加密MasterKey,那最終無(wú)論處理多少道,最后的那個(gè)Key肯定是明文,這樣看來(lái),安全的問(wèn)題還沒(méi)有解決啊。既然此路不通,那我們需要換個(gè)思維角度了,仔細(xì)想想怎樣處理明文的MasterKey。黑客程序只能竊取我軟件上的東西,如果我把MasterKey放到硬件里面怎么樣,黑客是沒(méi)能力跑到我硬件里面把MasterKey取出來(lái)的,當(dāng)然,不排除道高一尺、魔高一丈的情況,但至少99.9的黑客都沒(méi)這能力的。那這樣不就解決了我們遇到的問(wèn)題了嗎,只要把MasterKey放到硬件里面(一般是鍵盤(pán)的加密模塊里面)就好了。好,到這里,我們已經(jīng)不怕有人把報(bào)文中的關(guān)鍵信息獲取到了,總算是安全了。在最近,老是有人提到“硬加密”,這個(gè)有什么用呢?我上面不是已經(jīng)解決了加密的問(wèn)題了嗎,還要這個(gè)概念干什么?看來(lái)我還是有些地方?jīng)]考慮到。我一直想的是將明文的密碼加密成密文,其中有個(gè)環(huán)節(jié)需要考慮下,明文的密碼是怎樣形成的,不就是我按鍵盤(pán)上面的數(shù)字形成的嗎。以前我的軟件處理是這樣的,鍵盤(pán)每按一下,我就把那個(gè)數(shù)字在程序里面先存起來(lái),等到4位或6位密碼按完后,再把它們合在一起,再送給PinKey加密。那如果黑客程序直接把我的按鍵信息獲取,那他根本不用破解報(bào)文中用PinKey加密后的密碼,直接簡(jiǎn)單的就把我輸入的密碼得到了,我前面費(fèi)盡心思對(duì)密碼進(jìn)行加密處理變得一點(diǎn)意義都沒(méi)有了。怎么辦?如果我把獲取按鍵的程序固化進(jìn)入加密硬件(一般在鍵盤(pán)中),按鍵的數(shù)字根本不通過(guò)上層的軟件,直接一步進(jìn)入硬件里面處理,等到按鍵按完了后,硬件直接把經(jīng)過(guò)一道處理的按鍵信息給我上層軟件,此時(shí)已經(jīng)是密文了,就相當(dāng)于把前面計(jì)算PinBlock的處理移到硬件里面去了,那黑客就沒(méi)法獲取我的按鍵了。這種處理現(xiàn)在就被稱為硬加密,伴隨著EMV和3DES算法,變得越來(lái)越流行了,好像自助終端不支持硬加密就不行,連EMV也強(qiáng)制要求了。最近還有個(gè)名詞經(jīng)常被提到,就是3DES。為什么要提出3DES的概念呢?我在一篇文章中提到了3 DES的具體算法,其實(shí)推出3DES是因?yàn)樵瓉?lái)的單DES算法隨著計(jì)算機(jī)硬件的速度提升,存在被破解的可能性,所以將算法進(jìn)行了改進(jìn),改為3DES算法。但是對(duì)于我們理解金融行業(yè)的密鑰及加密機(jī)制來(lái)說(shuō),用什么算法都一樣。不同算法的差別只是怎樣對(duì)數(shù)據(jù)進(jìn)行移位變換等具體處理而已?,F(xiàn)在我們應(yīng)該對(duì)金融行業(yè)用到的有關(guān)密鑰方面的知識(shí)有了較清晰的認(rèn)識(shí),至于具體更加詳細(xì)的相關(guān)問(wèn)題,我們以后再討論。全文完金融行業(yè)因?yàn)閷?duì)數(shù)據(jù)比較敏感,所以對(duì)數(shù)據(jù)的加密也相應(yīng)的比較重視。在其中有關(guān)密鑰及加密方面的文章很少,并且散發(fā)在各個(gè)銀行及公司的手中,在網(wǎng)上沒(méi)有專門(mén)對(duì)這部分進(jìn)行介紹的。本文對(duì)金融行業(yè)的密鑰進(jìn)行較深入的介紹,包括象到底什么是主密鑰(MasterKey)、傳輸密鑰(MacKey),為什么我們需要這些東西等。本文采取追源溯本的方式,力求讓對(duì)這感興趣的人達(dá)到知其然,同時(shí)也知其所以然,而不是模模糊糊的知道幾個(gè)概念和名詞。因?yàn)楸疚闹饕轻槍?duì)對(duì)金融行業(yè)密鑰不是很熟悉的人,所以如果你對(duì)密鑰很熟悉就不必仔細(xì)看了。好了,咱們言規(guī)正傳。我們知道,金融行業(yè)有很多數(shù)據(jù)要在網(wǎng)絡(luò)上傳遞,包括從前置到主機(jī),從自助終端到前置等,這些數(shù)據(jù)在網(wǎng)絡(luò)上傳來(lái)傳去,我們很容易就會(huì)想到安全性的問(wèn)題,如果這些數(shù)據(jù)被人竊取或攔截下來(lái),那我們?cè)趺锤以阢y行存錢(qián)了。這個(gè)問(wèn)題在計(jì)算機(jī)出現(xiàn)時(shí)就被前人考慮到了,所以出現(xiàn)了很多各種各樣的加解密技術(shù)。拋開(kāi)這些不管,假設(shè)當(dāng)初由我們自己來(lái)設(shè)計(jì)怎樣解決數(shù)據(jù)被竊取的情況。假設(shè)我們有一段數(shù)據(jù),是ATM取款的報(bào)文,包括一個(gè)人的磁卡號(hào)、密碼、取款金額,現(xiàn)在需要將這些數(shù)據(jù)從一臺(tái)ATM機(jī)器傳到前置機(jī)處理,這些數(shù)據(jù)是比較機(jī)密的,如果被人竊取了,就可以用該卡號(hào)和密碼把帳戶中的錢(qián)取走。首先,我們可以想到用專用的銀行內(nèi)部網(wǎng)絡(luò),外面的人無(wú)法獲得網(wǎng)絡(luò)的訪問(wèn)權(quán)。這個(gè)仔細(xì)想想顯然不可行的,因?yàn)橐皇遣荒鼙WC外人一定沒(méi)辦法進(jìn)入銀行內(nèi)部網(wǎng)絡(luò),二是銀行內(nèi)部人員作案是沒(méi)法防止的。接著,我們很容易想到,既然保證數(shù)據(jù)不被竊取的可能性很小,那我們何不變換一下思路,數(shù)據(jù)避免不了被竊取,那我如果將數(shù)據(jù)處理下,讓你即使竊取到數(shù)據(jù),也是一些無(wú)用的亂碼,這樣不就解決問(wèn)題了嗎。這個(gè)想法比較接近現(xiàn)在的做法了,當(dāng)前置機(jī)接收到了數(shù)據(jù),它肯定是對(duì)數(shù)據(jù)進(jìn)行反處理,即與ATM端完全步驟相反的數(shù)據(jù)處理,即可得到明文的數(shù)據(jù)。我們?cè)龠M(jìn)一步想想,如果因?yàn)槟撤N原因,報(bào)文中的取款金額被改變了,這樣就會(huì)導(dǎo)致ATM出的錢(qián)和前置扣帳記錄的錢(qián)不一致的情況,看來(lái)我們必須加上一個(gè)驗(yàn)證機(jī)制,當(dāng)前置機(jī)收到ATM發(fā)送的一個(gè)報(bào)文時(shí),能夠確認(rèn)報(bào)文中的數(shù)據(jù)在網(wǎng)絡(luò)傳輸過(guò)程中沒(méi)有被更改過(guò)。怎樣實(shí)現(xiàn)?最簡(jiǎn)單的,象計(jì)算機(jī)串口通訊一樣,對(duì)通訊數(shù)據(jù)每一位進(jìn)行異或,得到0或1,把0或1放在在通訊數(shù)據(jù)后面,算是加上一個(gè)奇偶校驗(yàn)位,收到數(shù)據(jù)同樣對(duì)數(shù)據(jù)每位進(jìn)行異或,得到0或1,再判斷下收到數(shù)據(jù)最后一位與算出來(lái)的是否一致。這種方式太簡(jiǎn)單了,對(duì)于上面提到的ATM到前置機(jī)的報(bào)文來(lái)說(shuō),沒(méi)什么用處,不過(guò)我們可以將對(duì)數(shù)據(jù)每一位異或的算法改成一個(gè)比較復(fù)雜點(diǎn)的。因?yàn)镈ES算法已經(jīng)出來(lái)了很多年了,并且在金融行業(yè)也有廣泛的應(yīng)用,我們何不用DES算法進(jìn)行處理,來(lái)解決上面的問(wèn)題呢。我們應(yīng)該了解DES算法(此處指單DES)的,就是用一個(gè)64bit 的Key對(duì)64bit的數(shù)據(jù)進(jìn)行處理,得到加密后的64bit數(shù)據(jù)。那我們用一個(gè)Key對(duì)上面的報(bào)文進(jìn)行DES算法,得到加密后的64bit數(shù)據(jù),放到報(bào)文的最后,跟報(bào)文一起送到前置機(jī),前置機(jī)收到報(bào)文后,同樣用Key對(duì)數(shù)據(jù)(不包括最后的64bit加密數(shù)據(jù))進(jìn)行DES加密,得出64bit的數(shù)據(jù),用該數(shù)據(jù)與ATM發(fā)送過(guò)來(lái)的報(bào)文最后的64bit數(shù)據(jù)比較,如果兩個(gè)數(shù)據(jù)相同,說(shuō)明報(bào)文沒(méi)有中途被更改過(guò)。再進(jìn)一步,因?yàn)镈ES只能夠?qū)?4bit的數(shù)據(jù)進(jìn)行加密,一個(gè)報(bào)文可不止64bit,哪我們?cè)趺刺幚砟兀恐粚?duì)報(bào)文開(kāi)頭的64bit加密?這個(gè)是顯然不夠的。我們可以這樣,先對(duì)報(bào)文的開(kāi)始64bit加密,接著對(duì)報(bào)文第二個(gè)64bit加密,依次類推,不過(guò)這有問(wèn)題,因?yàn)槊總€(gè)64bit都會(huì)得到同樣長(zhǎng)度的加密后的數(shù)據(jù),我不能把這些數(shù)據(jù)都放到報(bào)文的后面,那報(bào)文的長(zhǎng)度不變成兩倍長(zhǎng)了。換個(gè)思路,我先對(duì)報(bào)文第一個(gè)64bit加密,得到64bit的加密后數(shù)據(jù)data1,接著再拿加密后的data1與報(bào)文第二個(gè)64bit數(shù)據(jù)進(jìn)行按位異或,得到同樣長(zhǎng)64bit的數(shù)據(jù)data2,我再用Key對(duì)data2加密,得到加密后的數(shù)據(jù)data3,再拿data3與報(bào)文第三個(gè)64bit數(shù)據(jù)進(jìn)行按位異或,同樣的處理依次類推。直到最后會(huì)得到一個(gè)64bit的數(shù)據(jù),將這個(gè)數(shù)據(jù)放到報(bào)文的最后發(fā)到前置機(jī),這樣報(bào)文的長(zhǎng)度只增加了64bit而已。這個(gè)算法就叫做MAC算法。好了,到目前為止我們已經(jīng)知道了什么是MAC算法,為什么需要它,接著我們?cè)倏纯唇?jīng)常被提起的另外一個(gè)名詞。在上面說(shuō)到MAC算法的時(shí)候,我們會(huì)注意到其中進(jìn)行DES加密算法時(shí)提到了一個(gè)Key,這個(gè)用來(lái)參與MAC計(jì)算的Key就常被稱為MacKey,也有叫工作密鑰、過(guò)程密鑰的。我們繼續(xù)來(lái)處理ATM和前置機(jī)間網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)膯?wèn)題。前面提到的MAC算法對(duì)傳送的報(bào)文進(jìn)行了處理,保證了在網(wǎng)絡(luò)傳輸過(guò)程中數(shù)據(jù)不會(huì)被有意或無(wú)意的篡改,但是,我們?cè)龠M(jìn)一步想想,如果仍然是上面提到的一個(gè)取款報(bào)文,如果想作案的話,我不改報(bào)文的內(nèi)容,我只是截取報(bào)文的內(nèi)容,因?yàn)閮?nèi)容里面有卡號(hào)和密碼,都是明文的形式,很容易就看出來(lái)哪些內(nèi)容是卡號(hào)、哪些內(nèi)容是密碼。有了卡號(hào)和密碼,我就好辦了,找個(gè)讀卡器就能夠很快的制出一張磁卡,然后拿這個(gè)磁卡可以隨便取錢(qián)了,根本不需要修改報(bào)文,這樣你就算前置機(jī)對(duì)報(bào)文的MAC校驗(yàn)通過(guò)了,也只是保證了報(bào)文沒(méi)改動(dòng)過(guò),對(duì)于防止作案沒(méi)有實(shí)質(zhì)上的幫助。那我們很容易想到,我再加上一道加密,這次我把整個(gè)存款的報(bào)文都用DES加密,將明文全部轉(zhuǎn)換成密文,然后送到前置機(jī),這下好了吧。即使你把報(bào)文截取了也沒(méi)用,你拿著這些密文也沒(méi)有用,你也沒(méi)有DES的密鑰來(lái)解密它,只有前置機(jī)才知道密鑰。這是個(gè)好主意,確實(shí)防止了卡號(hào)和密碼等被人獲知的危險(xiǎn)。這也是現(xiàn)在普遍采取的做法,不過(guò)我們需要對(duì)這個(gè)做法進(jìn)行一些改進(jìn)。首先,我們要知道用DES對(duì)數(shù)據(jù)加解密是耗時(shí)間的,尤其是使用硬加密(下一步講什么是硬加密)的情況,速度是比較慢的。我們來(lái)想想,整個(gè)存款報(bào)文有必要每個(gè)數(shù)據(jù)都DES加密嗎,象報(bào)文中的什么流水號(hào)、ATM號(hào)等信息,對(duì)它們加密沒(méi)什么意義,進(jìn)一步講,取款金額加密也沒(méi)意義,假設(shè)你取500塊,但是你將報(bào)文改成了100塊,導(dǎo)致主機(jī)只把你帳戶扣100塊錢(qián),你白賺了400塊。這個(gè)聽(tīng)起來(lái)挺劃算的,實(shí)際上是不可行的,因?yàn)檫@樣造成了帳務(wù)上的短款,銀行當(dāng)然會(huì)查賬的,根據(jù)ATM記錄的硬件出鈔張數(shù)和主機(jī)扣款金額,肯定會(huì)把你查出來(lái)的,那這種掩耳盜鈴的做法,下場(chǎng)顯而易見(jiàn),想必沒(méi)人這么傻。我們來(lái)考慮一個(gè)報(bào)文中到底什么信息是需要加密的,目前一般的做法是只對(duì)帳號(hào)和密碼(也有只對(duì)密碼加密的)進(jìn)行加密,其他的內(nèi)容不加密的,明文就明文,沒(méi)什么大不了的。對(duì)帳號(hào)和密碼加密有個(gè)術(shù)語(yǔ),我們可能都聽(tīng)說(shuō)過(guò),叫PinBlock,即PIN塊,就是對(duì)帳號(hào)和密碼進(jìn)行DES加密處理后的一個(gè)密文數(shù)據(jù)塊。即然使用了DES算法來(lái)加密帳號(hào)和密碼,則必然有個(gè)Key來(lái)加密,那么我們就把這個(gè)Key稱為PinKey,就是專門(mén)來(lái)加密用戶帳戶和密碼的Key。至于怎樣進(jìn)行加密形成最后的密文PinBlock,有很多標(biāo)準(zhǔn)的,象IBM3624、ANSI、ISO、DIEBOLD等標(biāo)準(zhǔn),其實(shí)它們大同小異,就是在對(duì)報(bào)文中的密碼進(jìn)行一個(gè)預(yù)處理,再用PinKey來(lái)DES加密,主要的差別就是怎樣預(yù)處理而已,比如有的是密碼后面補(bǔ)F,補(bǔ)夠16位,就是類似這樣的預(yù)處理。到這里我們應(yīng)該理解PinKey和PinBlock了。通過(guò)PinKey和MacKey對(duì)報(bào)文進(jìn)行了兩重處理,基本上報(bào)文就是安全的了。如果我們對(duì)DES算法比較了解,就會(huì)知道,如果想對(duì)加密后的密文解密,必須要知道Key才行,所以說(shuō)Key一定要保密。怎樣來(lái)保密Key呢?我們前面提到的無(wú)論是算MAC還是算PIN塊,都是直接拿明文的Key來(lái)計(jì)算的,那么這個(gè)Key很容易被竊取的,比如有人在機(jī)器上裝了個(gè)黑客程序,只要檢測(cè)到你在用Key加密數(shù)據(jù),就把明文的Key獲取了。這個(gè)聽(tīng)起來(lái)好像挺玄乎的,不過(guò)是有這個(gè)可能性的,尤其是網(wǎng)上銀行這些東東最容易中招了。這樣看來(lái),我們還要對(duì)PinKey和MacKey本身進(jìn)行加密,不要讓人知道了。怎樣實(shí)現(xiàn),同樣是DES算法大顯身手的地方。我再找個(gè)Key對(duì)PinKey和MacKey進(jìn)行一次加密,這樣你就看不到PinKey和MacKey的明文了,好,解決問(wèn)題了。這時(shí)用來(lái)對(duì)PinKey和MacKey進(jìn)行加密的Key就被我們稱為MasterKey,即主密鑰,用來(lái)加密其他密鑰的密鑰。不過(guò),需要等一下,那MasterKey怎么辦,它是明文啊。再找個(gè)Key來(lái)加密MasterKey,那最終無(wú)論處理多少道,最后的那個(gè)Key肯定是明文,這樣看來(lái),安全的問(wèn)題還沒(méi)有解決啊。既然此路不通,那我們需要換個(gè)思維角度了,仔細(xì)想想怎樣處理明文的MasterKey。黑客程序只能竊取我軟件上的東西,如果我把MasterKey放到硬件里面怎么樣,黑客是沒(méi)能力跑到我硬件里面把MasterKey取出來(lái)的,當(dāng)然,不排除道高一尺、魔高一丈的情況,但至少99.9的黑客都沒(méi)這能力的。那這樣不就解決了我們遇到的問(wèn)題了嗎,只要把MasterKey放到硬件里面(一般是鍵盤(pán)的加密模塊里面)就好了。好,到這里,我們已經(jīng)不怕有人把報(bào)文中的關(guān)鍵信息獲取到了,總算是安全了。在最近,老是有人提到“硬加密”,這個(gè)有什么用呢?我上面不是已經(jīng)解決了加密的問(wèn)題了嗎,還要這個(gè)概念干什么?看來(lái)我還是有些地方?jīng)]考慮到。我一直想的是將明文的密碼加密成密文,其中有個(gè)環(huán)節(jié)需要考慮下,明文的密碼是怎樣形成的,不就是我按鍵盤(pán)上面的數(shù)字形成的嗎。以前我的軟件處理是這樣的,鍵盤(pán)每按一下,我就把那個(gè)數(shù)字在程序里面先存起來(lái),等到4位或6位密碼按完后,再把它們合在一起,再送給PinKey加密。那如果黑客程序直接把我的按鍵信息獲取,那他根本不用破解報(bào)文中用PinKey加密后的密碼,直接簡(jiǎn)單的就把我輸入的密碼得到了,我前面費(fèi)盡心思對(duì)密碼進(jìn)行加密處理變得一點(diǎn)意義都沒(méi)有了。怎么辦?如果我把獲取按鍵的程序固化進(jìn)入加密硬件(一般在鍵盤(pán)中),按鍵的數(shù)字根本不通過(guò)上層的軟件,直接一步進(jìn)入硬件里面處理,等到按鍵按完了后,硬件直接把經(jīng)過(guò)一道處理的按鍵信息給我上層軟件,此時(shí)已經(jīng)是密文了,就相當(dāng)于把前面計(jì)算PinBlock的處理移到硬件里面去了,那黑客就沒(méi)法獲取我的按鍵了。這種處理現(xiàn)在就被稱為硬加密,伴隨著EMV和3DES算法,變得越來(lái)越流行了,好像自助終端不支持硬加密就不行,連EMV也強(qiáng)制要求了。最近還有個(gè)名詞經(jīng)常被提到,就是3DES。為什么要提出3DES的概念呢?我在一篇文章中提到了3 DES的具體算法,其實(shí)推出3DES是因?yàn)樵瓉?lái)的單DES算法隨著計(jì)算機(jī)硬件的速度提升,存在被破解的可能性,所以將算法進(jìn)行了改進(jìn),改為3DES算法。但是對(duì)于我們理解金融行業(yè)的密鑰及加密機(jī)制來(lái)說(shuō),用什么算法都一樣。不同算法的差別只是怎樣對(duì)數(shù)據(jù)進(jìn)行移位變換等具體處理而已。對(duì)于ATM交易安全性的考慮問(wèn)題,系統(tǒng)通過(guò)pin加密,MAC效驗(yàn)來(lái)保證系統(tǒng)交易數(shù)據(jù)的合法性及完整性,PIN BLOCK產(chǎn)生,PIN加密,MAC效驗(yàn)都可在ATM的加密鍵盤(pán)進(jìn)行。以下簡(jiǎn)單解釋概念:1工作密鑰(WK)PIN Key:持卡人密碼的加密傳輸(TPK,ZPK,PVK)2MAC Key:用于交易報(bào)文的鑒別,保證數(shù)據(jù)完整性(TAK, ZAK)3COM Key: 用于交易報(bào)文的通訊加密/解密(TEK,ZEK)4密鑰交換密鑰(KEK)Zone Master Key:節(jié)點(diǎn)間交換工作密鑰時(shí)加密保護(hù)(ZMK)5Terminal Master Key:用于主機(jī)與金融終端交換工作密鑰(TMK)6本地主密鑰(LMK)Local Master Key:用于加密存儲(chǔ)其它密鑰系統(tǒng)密鑰的管理是保證整個(gè)系統(tǒng)交易安全的關(guān)鍵,三級(jí)密鑰管理體系:LMK(本地主密鑰) 最高層密鑰,用于加密TMK,ZMK TMK(終端主密鑰),ZMK(區(qū)域主密鑰) 交換密鑰,用于加密PIN KEY MAC KEY,COM KEY PIN KEY,MAC KEY,COM KEY PIN KEY用于加密密碼工作密鑰 MAC KEY 用于效驗(yàn)報(bào)文 COM KEY 用于通訊加密 金融行業(yè)因?yàn)閷?duì)比力敏感,所以對(duì)數(shù)據(jù)的加密也相當(dāng)?shù)谋攘ψ⒊?。正在其外相關(guān)密鑰及加密方面的文章很少,并且分發(fā)正在各個(gè)銀行及公司的手外,正在網(wǎng)上沒(méi)無(wú)特意對(duì)那部門(mén)進(jìn)行引見(jiàn)的。本文對(duì)金融行業(yè)的密鑰進(jìn)行較深切的引見(jiàn),包羅象到底什么是從密鑰()、傳輸密鑰(),為什么我們需要那些工具等。本文采納逃流溯本的體例,力圖讓對(duì)那感樂(lè)趣的人達(dá)到知其然,同時(shí)也知其所以然,而不是模恍惚糊的曉得幾個(gè)概念和名詞。因?yàn)楸疚拇稳绻槍?duì)對(duì)金融行業(yè)密鑰不是很熟悉的人,所以若是你對(duì)密鑰很熟悉就不必細(xì)心看了。好了,我們言規(guī)反傳。我們曉得,金融行業(yè)無(wú)很大都據(jù)要正在上傳送,包羅疇前放到從機(jī),從自幫結(jié)尾到前放等,那些數(shù)據(jù)正在收集上傳來(lái)傳去,我們很容難就會(huì)想到平安性的問(wèn)題,若是那些數(shù)據(jù)被人竊取或攔截下來(lái),那我們?nèi)绾胃艺阢y行存錢(qián)了。阿誰(shuí)問(wèn)題正在計(jì)較機(jī)呈現(xiàn)時(shí)就被前人考慮到了,所以呈現(xiàn)了良多各類各樣的加解密。拋開(kāi)那些不管,假設(shè)當(dāng)初由我們本人來(lái)設(shè)想如何處置數(shù)據(jù)被竊取的情況。假設(shè)我們無(wú)一段數(shù)據(jù),是取款的報(bào)文,包羅一小我的磁卡號(hào)、密碼、取款金額,現(xiàn)正在需要將那些數(shù)據(jù)從一臺(tái)機(jī)械傳到前放機(jī)處置,那些數(shù)據(jù)是比力秘密的,若是被人竊取了,就可以或許用該卡號(hào)和密碼把帳戶外的錢(qián)取走。起首,我們可以或許想到用公用的銀行內(nèi)部收集,外面的人無(wú)法獲得收集的拜候權(quán)。阿誰(shuí)細(xì)心想想較著不成行的,因?yàn)橐皇遣荒鼙WC外人必然沒(méi)法子進(jìn)入銀行內(nèi)部收集,二是銀行內(nèi)部人員做案是沒(méi)法防行的。接滅,我們很容難想到,既然保證數(shù)據(jù)不被竊取的可能性很小,那我們何不變換一下思緒,數(shù)據(jù)避免不了被竊取,那我若是將數(shù)據(jù)處置下,讓你即便竊取到數(shù)據(jù),也是一些無(wú)用的亂碼,那樣不就處置問(wèn)題了嗎。阿誰(shuí)設(shè)法比力接近現(xiàn)正在的做法了,當(dāng)前放機(jī)領(lǐng)受到了數(shù)據(jù),它必定是對(duì)數(shù)據(jù)進(jìn)行反處置,即取端完全步伐相反的數(shù)據(jù)處置,即可獲得明文的數(shù)據(jù)。我們?cè)龠M(jìn)一步想想,若是因?yàn)槟愁悊⑹?,?bào)文外的取款金額被改變了,那樣就會(huì)導(dǎo)致出的錢(qián)和前放扣帳記實(shí)的錢(qián)不不合的情況,看來(lái)我們必需加上一個(gè)驗(yàn)證機(jī)制,當(dāng)前放機(jī)收到發(fā)送的一個(gè)報(bào)文時(shí),可以或許確認(rèn)報(bào)文外的數(shù)據(jù)正在收集傳輸過(guò)程外沒(méi)無(wú)被更悔改。如何實(shí)現(xiàn)?最簡(jiǎn)單的,象計(jì)較機(jī)串口通信一樣,對(duì)通信數(shù)據(jù)每一位進(jìn)行同或,獲得或,把或放正在正在通信數(shù)據(jù)后面,算是加上一個(gè)奇偶校驗(yàn)位,收到數(shù)據(jù)同樣對(duì)數(shù)據(jù)每位進(jìn)行同或,獲得或,再判斷下收到數(shù)據(jù)最后一位取算出來(lái)的可否不合。那類體例太簡(jiǎn)單了,對(duì)于上面提到的到前放機(jī)的報(bào)文來(lái)說(shuō),沒(méi)什么用途,不外我們可以或許將對(duì)數(shù)據(jù)每一位同或的算法改成一個(gè)比力復(fù)純點(diǎn)的。因?yàn)樗惴ㄔ?jīng)出來(lái)了良多年了,并且正在金融行業(yè)也無(wú)普遍的,我們何不用算法進(jìn)行處置,來(lái)處置上面的問(wèn)題呢。我們理當(dāng)體會(huì)算法(此處指單)的,就是用一個(gè)的對(duì)的數(shù)據(jù)進(jìn)行處置,獲得加密后的數(shù)據(jù)。那我們用一個(gè)對(duì)上面的報(bào)文進(jìn)行算法,獲得加密后的數(shù)據(jù),放到報(bào)文的最后,跟報(bào)文一路送到前放機(jī),前放機(jī)收到報(bào)文后,同樣用對(duì)數(shù)據(jù)(不包羅最后的加密數(shù)據(jù))進(jìn)行加密,得出的數(shù)據(jù),用該數(shù)據(jù)取發(fā)送過(guò)來(lái)的報(bào)文最后的數(shù)據(jù)比力,若是兩個(gè)數(shù)據(jù)不異,申明報(bào)文沒(méi)無(wú)外途被更悔改。再進(jìn)一步,因?yàn)橹豢梢曰蛟S對(duì)的數(shù)據(jù)進(jìn)行加密,一個(gè)報(bào)文可不可,哪我們?nèi)绾翁幹媚兀恐粚?duì)報(bào)文開(kāi)首的加密?阿誰(shuí)是較著不夠的。我們可以或許那樣,先對(duì)報(bào)文的起頭加密,接滅對(duì)報(bào)文第二個(gè)加密,按序類推,不外那無(wú)問(wèn)題,因?yàn)槊總€(gè)城市獲得同樣長(zhǎng)度的加密后的數(shù)據(jù),我不能把那些數(shù)據(jù)都放到報(bào)文的后面,那報(bào)文的長(zhǎng)度不變成兩倍長(zhǎng)了。換個(gè)思緒,我先對(duì)報(bào)文第一個(gè)加密,獲得的加密后數(shù)據(jù),接滅再拿加密后的取報(bào)文第二個(gè)數(shù)據(jù)進(jìn)行按位同或,獲得同樣長(zhǎng)的數(shù)據(jù),我再用對(duì)加密,獲得加密后的數(shù)據(jù),再拿取報(bào)文第三個(gè)數(shù)據(jù)進(jìn)行按位同或,同樣的處置按序類推。曲到最后會(huì)獲得一個(gè)的數(shù)據(jù),將阿誰(shuí)數(shù)據(jù)放到報(bào)文的最后發(fā)到前放機(jī),那樣報(bào)文的長(zhǎng)度只添加了而未。阿誰(shuí)算法就叫做算法。好了,到目前為行我們?cè)?jīng)曉得了什么是算法,為什么需要它,接滅我們?cè)倏纯唇?jīng)常被提起的別的一個(gè)名詞。正在上面說(shuō)到算法的時(shí)候,我們會(huì)寄望到其外進(jìn)行加密算法時(shí)提到了一個(gè),阿誰(shuí)用來(lái)參取計(jì)較的就常被稱為,也無(wú)叫工做密鑰、過(guò)程密鑰的。我們繼續(xù)來(lái)處置和前放機(jī)間收集數(shù)據(jù)傳輸?shù)膯?wèn)題。前面提到的算法對(duì)傳送的報(bào)文進(jìn)行了處置,保證了正在收集傳輸過(guò)程外數(shù)據(jù)不會(huì)被成心或無(wú)意的篡改,可是,我們?cè)龠M(jìn)一步想想,若是仍然是上面提到的一個(gè)取款報(bào)文,若是想做案的話,我不改報(bào)文的內(nèi)容,我只是截取報(bào)文的內(nèi)容,因?yàn)閮?nèi)容里面無(wú)卡號(hào)和密碼,都是明文的形式,很容難就看出來(lái)哪些內(nèi)容是卡號(hào)、哪些內(nèi)容是密碼。無(wú)了卡號(hào)和密碼,我就好辦了,覓個(gè)讀卡器就可以或許很快的制出一馳磁卡,然后拿阿誰(shuí)磁卡可以或許隨便取錢(qián)了,根柢不需要?jiǎng)h改報(bào)文,那樣你就算前放機(jī)對(duì)報(bào)文的校驗(yàn)通過(guò)了,也只是保證了報(bào)文沒(méi)改動(dòng)過(guò),對(duì)于防行做案沒(méi)無(wú)實(shí)量上的協(xié)幫。那我們很容難想到,我再加上一道加密,那次我把零個(gè)存款的報(bào)文都用加密,將明文全數(shù)轉(zhuǎn)換成密文,然后送到前放機(jī),那下好了吧。即便你把報(bào)文截取了也沒(méi)用,你拿滅那些密文也沒(méi)無(wú)用,你也沒(méi)無(wú)的密鑰來(lái)解密它,只要前放機(jī)才曉得密鑰。那是個(gè)好從意,確實(shí)防行了卡號(hào)和密碼等被人獲知的危險(xiǎn)。那也是現(xiàn)正在遍及采納的做法,不外我們需要對(duì)阿誰(shuí)做法進(jìn)行一些改良。起首,我們要曉得用對(duì)數(shù)據(jù)加解密是耗時(shí)間的,出格是利用軟加密(下一步講什么是軟加密)的情況,速度是比力慢的。我們來(lái)想想,零個(gè)存款報(bào)文無(wú)需要每個(gè)數(shù)據(jù)都加密嗎,象報(bào)文外的什么流水號(hào)、號(hào)等動(dòng)靜,對(duì)它們加密沒(méi)什么意義,進(jìn)一步講,取款金額加密也沒(méi)意義,假設(shè)你取塊,可是你將報(bào)文改成了塊,導(dǎo)致從機(jī)只把你帳戶扣塊錢(qián),你白賠了塊。阿誰(shuí)聽(tīng)起來(lái)挺劃算的,現(xiàn)實(shí)上是不成行的,因?yàn)槟菢有纬闪藥?wù)上的短款,銀行當(dāng)然會(huì)查賬的,按照記實(shí)的軟件出鈔馳數(shù)和從機(jī)扣款金額,必定會(huì)把你查出來(lái)的,那那類掩耳盜鈴的做法,下場(chǎng)顯而難見(jiàn),想必沒(méi)人那么傻。我們來(lái)考慮一個(gè)報(bào)文外到底什么動(dòng)靜是需要加密的,目前一般的做法是只對(duì)帳號(hào)和密碼(也無(wú)只對(duì)密碼加密的)進(jìn)行加密,其他的內(nèi)容不加密的,明文就明文,沒(méi)什么大不了的。對(duì)帳號(hào)和密碼加密無(wú)個(gè)術(shù)語(yǔ),我們可能都傳聞過(guò),叫,即塊,就是對(duì)帳號(hào)和密碼進(jìn)行加密處置后的一個(gè)密文數(shù)據(jù)塊。即然利用了算法來(lái)加密帳號(hào)和密碼,則必然無(wú)個(gè)來(lái)加密,那么我們就把阿誰(shuí)稱為,就是特意來(lái)加密用戶帳戶和密碼的。至于如何進(jìn)行加密形成最后的密文,無(wú)良多標(biāo)準(zhǔn)的,象、等標(biāo)準(zhǔn),其實(shí)它們大同小同,就是正在對(duì)報(bào)文外的密碼進(jìn)行一個(gè)預(yù)處置,再用來(lái)加密,次要的不同就是如何預(yù)處置而未,比如無(wú)的是密碼后面補(bǔ),補(bǔ)夠位,就是類似那樣的預(yù)處置。到那里我們理當(dāng)理解和了。通過(guò)和對(duì)報(bào)文進(jìn)行了兩沉處置,根基上報(bào)文就是平安的了。若是我們對(duì)算法比力體會(huì),就會(huì)曉得,若是想對(duì)加密后的密文解密,必需要曉得才行,所以說(shuō)必然要保密。如何來(lái)保密呢?我們前面提到的無(wú)論是算仍是算塊,都是間接拿明文的來(lái)計(jì)較的,那么阿誰(shuí)很容難被竊取的,比如無(wú)人正在機(jī)械上拆了個(gè)黑客法式,只需檢測(cè)到你正在用加密數(shù)據(jù),就把明文的獲取了。阿誰(shuí)聽(tīng)起來(lái)仿佛挺玄乎的,不外是無(wú)阿誰(shuí)可能性的,出格是網(wǎng)上銀行那些東東最容難外招了。那樣看來(lái),我們還要對(duì)和本身進(jìn)行加密,不要讓人曉得了。如何實(shí)現(xiàn),同樣是算法大顯身手的處所。我再覓個(gè)對(duì)和進(jìn)行一次加密,那樣你就看不到和的明文了,好,處置問(wèn)題了。那時(shí)用來(lái)對(duì)和進(jìn)行加密的就被我們稱為,即從密鑰,用來(lái)加密其他密鑰的密鑰。不外,需要等一下,那如何辦,它是明文啊。再覓個(gè)來(lái)加密,那最末無(wú)論處置幾多道,最后的阿誰(shuí)必定是明文,那樣看來(lái),平安的問(wèn)題還沒(méi)無(wú)處置啊。既然此路不通,那我們需要換個(gè)思維角度了,細(xì)心想想如何處置明文的。黑客法式只能竊取我上的工具,若是我把放到軟件里面如何樣,黑客是沒(méi)能力跑到我軟件里面把取出來(lái)的,當(dāng)然,不解除道高一尺、魔高一丈的情況,但至少的黑客都沒(méi)那能力的。那那樣不就處置了我們逢到的問(wèn)題了嗎,只需把放到軟件里面(一般是鍵盤(pán)的加密模塊里面)就好了。好,到那里,我們?cè)?jīng)不怕無(wú)人把報(bào)文外的環(huán)節(jié)動(dòng)靜獲取到了,分算是平安了。正在比來(lái),老是無(wú)人提到“軟加密”,阿誰(shuí)無(wú)什么用呢?我上面不是曾經(jīng)處置了加密的問(wèn)題了嗎,還要阿誰(shuí)概念干什么?看來(lái)我仍是無(wú)些處所沒(méi)考慮到。我不竭想的是將明文的密碼加密成密文,其外無(wú)個(gè)環(huán)節(jié)需要考慮下,明文的密碼是如何形成的,不就是我按鍵盤(pán)上面的數(shù)字形成的嗎。以前我的軟件處置是那樣的,鍵盤(pán)每按一下,我就把阿誰(shuí)數(shù)字正在法式里面先存起來(lái),比及位或位密碼按完后,再把它們合正在一路,再送給加密。那若是黑客法式間接把我的按鍵動(dòng)靜獲取,那他根柢不用破解報(bào)文外用加密后的密碼,間接簡(jiǎn)單的就把我輸入的密碼獲得了,我前面費(fèi)盡心思對(duì)密碼進(jìn)行加密處置變得一點(diǎn)意義都沒(méi)無(wú)了。如何辦?若是我把獲取按鍵的法式固化進(jìn)入加密軟件(一般正在鍵盤(pán)外),按鍵的數(shù)字根柢不通過(guò)上層的軟件,間接一步進(jìn)入軟件里面處置,比及按鍵按完了后,軟件間接把顛末一道處置的按鍵動(dòng)靜給我上層軟件,此時(shí)曾經(jīng)是密文了,就相當(dāng)于把前面計(jì)較的處置移到軟件里面去了,那黑客就沒(méi)法獲取我的按鍵了。那類處置現(xiàn)正在就被稱為軟加密,陪同滅和算法,變得越來(lái)越風(fēng)行了,仿佛自幫結(jié)尾不收持軟加密就不可,連也強(qiáng)制要求了。比來(lái)還無(wú)個(gè)名詞經(jīng)常被提到,就是。為什么要提出的概念呢?我正在一篇文章外提到了的具體算法,其實(shí)推出是因?yàn)楸緛?lái)的單算法隨滅計(jì)較機(jī)軟件的速度提拔,具無(wú)被破解的可能性,所以將算法進(jìn)行了改良,改為算法??墒菍?duì)于我們理解金融行業(yè)的密鑰及加密機(jī)制來(lái)說(shuō),用什么算法都一樣。不合算法的不同只是如何對(duì)數(shù)據(jù)進(jìn)行移位變換等具體處置而未。對(duì)于買(mǎi)賣(mài)平安性的考慮問(wèn)題,通過(guò)加密,效驗(yàn)來(lái)保證系統(tǒng)買(mǎi)賣(mài)數(shù)據(jù)的合法性及完零性發(fā)生,加密,效驗(yàn)都可正在的加密鍵盤(pán)進(jìn)行。以下簡(jiǎn)單注釋概念:1工做密鑰:持卡人密碼的加密傳輸:用于買(mǎi)賣(mài)報(bào)文的辨別,保證數(shù)據(jù)完零性用于買(mǎi)賣(mài)報(bào)文的通信加密解密密鑰交換密鑰:節(jié)點(diǎn)間交換工做密鑰時(shí)加密庇護(hù):用于從機(jī)取金融結(jié)尾交換工做密鑰本地從密鑰:用于加密存儲(chǔ)其它密鑰系統(tǒng)密鑰的是保證零個(gè)系統(tǒng)買(mǎi)賣(mài)平安的環(huán)節(jié),三級(jí)密鑰辦理系統(tǒng):lmk(本地從密鑰最高層密鑰,用于加密tmk(結(jié)尾從密鑰,區(qū)域從密鑰交換密鑰,用于加密mackey,abcdkeypinkey,mackey,abcdkeypinkey用于加密密碼工做密鑰用于效驗(yàn)報(bào)文abcdkey用于通信加密附:emv標(biāo)準(zhǔn)emv標(biāo)準(zhǔn)是由國(guó)際三大銀行卡組織-europay(歐陸卡,未被萬(wàn)事達(dá)收購(gòu))、mastercard(萬(wàn)事達(dá)卡)和visa(維薩)配合倡議制定的銀行卡從磁條卡向笨能ic卡轉(zhuǎn)移的手藝標(biāo)準(zhǔn),是基于ic卡的金融領(lǐng)取標(biāo)準(zhǔn),目前未成為公認(rèn)的全球統(tǒng)一標(biāo)準(zhǔn)。其目標(biāo)是正在金融ic卡領(lǐng)取系統(tǒng)外成立卡片和結(jié)尾接口的統(tǒng)一標(biāo)準(zhǔn),使得正在此系統(tǒng)下所無(wú)的卡片和結(jié)尾可以或許互通互用,并且該手藝的采用將大大提高銀行卡領(lǐng)取的平安性,削減欺詐行為。目前反式發(fā)布的版本無(wú)emv96和emv2000。emv2000標(biāo)準(zhǔn)是國(guó)際上金融ic卡借記/貸記利用的統(tǒng)一手藝標(biāo)準(zhǔn),由國(guó)際三大銀行卡組織結(jié)合制定,標(biāo)準(zhǔn)的次要內(nèi)容包羅假貸記利用買(mǎi)賣(mài)流程、借記/貸記利用規(guī)范和平安認(rèn)證機(jī)制等。emv遷移是按照emv2000標(biāo)準(zhǔn),正在發(fā)卡、營(yíng)業(yè)流程、平安控管、受理市場(chǎng)、動(dòng)靜轉(zhuǎn)接等多個(gè)環(huán)節(jié)實(shí)施推進(jìn)銀行磁條卡向芯片卡手藝的升級(jí),即把現(xiàn)正在利用磁條的銀行卡改換成利用ic卡的銀行卡。隨滅動(dòng)靜手藝、微電女手藝的成長(zhǎng)和emv標(biāo)準(zhǔn)的完美及國(guó)際env遷移打算的實(shí)施,銀行磁條卡向ic卡的遷移是必然的成長(zhǎng)趨向。國(guó)際組織為奉行emv遷移打算,決定從2005年起,不再對(duì)歐洲地域果把持磁條卡犯功所形成的喪掉承擔(dān)相當(dāng)權(quán)力,那一決定正在亞太地域生效的時(shí)間定正在2006年。按照新的逛戲法則,從2006年起,偽卡喪掉權(quán)力將按照可否合適emv標(biāo)準(zhǔn)來(lái)劃分,也就是說(shuō),若是買(mǎi)賣(mài)外的一方合適emv標(biāo)準(zhǔn),而另一方不合適,將由不合適emv標(biāo)準(zhǔn)的一方承擔(dān)全數(shù)權(quán)力。全球范圍內(nèi)統(tǒng)一利用ic卡的時(shí)限為2008年。1999年2月,其時(shí)的國(guó)際三大卡組織配合成立了emvco組織,用來(lái)辦理、維護(hù)和完美emv笨能(芯片)卡的規(guī)格標(biāo)準(zhǔn)。emvco組織供給emvlevel1和emvlevel2認(rèn)證.1.4emvlevel1andlevel2認(rèn)證emvlevel1認(rèn)證規(guī)范-受理卡片的插入而不惹起機(jī)械部門(mén)的損壞.-供給電流和時(shí)鐘而不惹起電器部門(mén)的損壞.-確定收持的和談并取卡片進(jìn)行通信.-準(zhǔn)確地下載卡片以利再用卡片.emvlevel2認(rèn)證規(guī)范-定義卡片借記卡信用卡買(mǎi)賣(mài)的利用需求-定義卡片取結(jié)尾間利用途理規(guī)范.-卡片取結(jié)尾的利用軟件凡是是可拜候的.-結(jié)尾的利用軟件可讀取卡片利用列表.-定義卡片持無(wú)者校驗(yàn)體例,比如密碼驗(yàn)證.1.5各方當(dāng)對(duì)emv認(rèn)證的法子發(fā)卡機(jī)構(gòu)當(dāng)刊行emv標(biāo)準(zhǔn)的卡.pos結(jié)尾出產(chǎn)商當(dāng)供給:-新的或升級(jí)設(shè)備(無(wú)emv認(rèn)證的)-兼容emv的密碼鍵盤(pán)-升級(jí)pos利用軟件-emvco組織認(rèn)證發(fā)卡行取收單行當(dāng)升級(jí)從機(jī)系統(tǒng)以收持:-傳送和處置每類買(mǎi)賣(mài)所添加的數(shù)據(jù)域.-加強(qiáng)的加密手藝.-當(dāng)能滿腳emvco.組織的測(cè)試要求轉(zhuǎn)載來(lái)流/thread-1572937-1-1.htmlIT信息網(wǎng)/附 錄 A(規(guī)范性附錄)個(gè)人標(biāo)識(shí)碼(PIN)的加密和解密方法A.1 用于PIN加、解密的主賬號(hào)PAN取法A.1.1 手輸卡號(hào)如為手輸卡號(hào),從所輸卡號(hào)(2域)右邊數(shù)第二位開(kāi)始,向左取12位,作為參與PIN加、解密的PAN。A.1.2 刷卡方式如為刷卡方式,從磁道2(35域)分隔符左邊第二位開(kāi)始,向左取12個(gè)字符,作為參與PIN加密的PAN;如只有磁道3(36域),則從磁道3分隔符左邊第二位開(kāi)始,向左取12個(gè)字符,作為參與PIN加、解密的PAN。A.2 PIN的長(zhǎng)度PIN的長(zhǎng)度為6位(可擴(kuò)展到12位)。A.3 PIN的字符集PIN用數(shù)字字符表示,下表給出了它的二進(jìn)制對(duì)照表:表A.1 PIN 字符二進(jìn)制表示PIN 字符 二進(jìn)制表示0 00001 00012 00103 00114 01005 01016 01107 01118 10009 1001A.4 PIN格式PIN的格式應(yīng)符合ANSI X9.8 Format(帶主賬號(hào)信息)PIN BLOCK格式等于PIN按位異或主賬號(hào)(PAN):PIN格式:表A.2 PIN 格式位置 長(zhǎng)度 說(shuō)明1 1 BYTE PIN 長(zhǎng)度2 7 BYTE 6-12 位PIN(每個(gè)字符占4 個(gè)BIT,不足右補(bǔ)F)Q/CUP 157PAN格式:表A.3 PAN 格式位置 長(zhǎng)度 說(shuō)明1 2 BYTE H00003 6 BYTE 取主賬號(hào)的右12 位(參見(jiàn)A.1)示例 1例如:明文PIN 為: 123456,假設(shè): 磁卡上的PAN:1234 5678 9012 3456 78截取下的PAN:6789 0123 4567則用于PIN 加密的PAN 為:0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67PIN BLOCK 為:0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF異或:0x00 0x00 0x67 0x89 0x01 0x23 0x45 0x67結(jié)果為:0x06 0x12 0x53 0xDF 0xFE 0xDC 0xBA 0x98示例 2假設(shè):磁卡上PAN:1234 5678 9012 3456截取下的PAN:4567 8901 2345則用于PIN 加密的主賬號(hào)為:0x00 0x00 0x45 0x67 0x89 0x01 0x23 0x45PIN BLOCK 為:0x06 0x12 0x34 0x56 0xFF 0xFF 0xFF 0xFF異或:0x00 0x00 0x45 0x67 0x89 0x01 0x23 0x45結(jié)果為:0x06 0x12 0x71 0x31 0x76 0xFE 0xDC 0xBAPIN的類型(類型2)必須在消息報(bào)文的域53(SECURITY-RELATEDCONTROLINFORMATI
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商品代銷協(xié)議合同協(xié)議
- 2025年塑形美容服務(wù)合同終止協(xié)議書(shū)
- 幼兒園食堂人員考核方案
- 《麥克風(fēng)培訓(xùn)資料》課件
- 2025餐飲業(yè)員工合同
- 2025合同協(xié)議書(shū)范本下載
- 2025標(biāo)準(zhǔn)冷藏車(chē)租賃合同范本
- 2025年長(zhǎng)春市勞動(dòng)合同模板
- 2025年云南貨運(yùn)從業(yè)資格證試題庫(kù)和答案大全
- 電梯安全管理人員模擬考試試卷庫(kù)及答案
- 【沙利文公司】2024年中國(guó)銀發(fā)經(jīng)濟(jì)發(fā)展報(bào)告
- 海綿城市工程施工方案
- 2024年中證金融研究院事業(yè)單位招聘23人歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 內(nèi)蒙古自治區(qū)高等職業(yè)院校2024年對(duì)口招收中等職業(yè)學(xué)校畢業(yè)生單獨(dú)考試語(yǔ)文試題(無(wú)答案)
- 《喝出營(yíng)養(yǎng):解惑飲水、礦物質(zhì)與健康》隨筆
- 中職計(jì)算機(jī)專業(yè)《計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)》說(shuō)課稿
- 2024掛軌式巡檢機(jī)器人
- CJJT 182-2014 城鎮(zhèn)供水與污水處理化驗(yàn)室技術(shù)規(guī)范
- 【H公司員工培訓(xùn)的現(xiàn)狀、問(wèn)題和對(duì)策探析(含問(wèn)卷)13000字(論文)】
- 債權(quán)轉(zhuǎn)讓項(xiàng)目合同范本
- 安徽省合肥市瑤海區(qū)部分學(xué)校2023-2024學(xué)年英語(yǔ)八下期末統(tǒng)考模擬試題含答案
評(píng)論
0/150
提交評(píng)論