des與3des算法分析課件_第1頁
des與3des算法分析課件_第2頁
des與3des算法分析課件_第3頁
des與3des算法分析課件_第4頁
des與3des算法分析課件_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

銀行常用加密算法介紹

2011.5銀行常用加密算法介紹加密過程解釋什么是加密?是以某種特殊的算法改變原有的信息數(shù)據(jù),使得未授權(quán)的用戶即使獲得了已處理的信息,但因不知解密的方法,仍然無法了解信息的內(nèi)容。在密碼學中,加密是將明文信息隱匿起來,使之在缺少特殊信息時不可讀。雖然加密作為通信保密的手段已經(jīng)存在了幾個世紀,但是只有那些對安全要求特別高的組織和個人才會使用它。在20世紀70年代中期,強加密(StrongEncryption)的使用開始從政府保密機構(gòu)延伸至公共領(lǐng)域,并且目前已經(jīng)成為保護許多廣泛使用系統(tǒng)的方法,比如因特網(wǎng)電子商務、手機網(wǎng)絡和銀行自動取款機等.

加密作用

加密可以用于保證安全性,但是其它一些技術(shù)在保障通信安全方面仍然是必須的,尤其是關(guān)于數(shù)據(jù)完整性和信息驗證;例如,信息驗證碼(MAC)或者數(shù)學簽名。另一方面的考慮是為了應付流量分析。加密過程解釋什么是加密?名詞解釋密鑰(KEY)

密鑰是一種參數(shù),它是在明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文的算法中輸入的數(shù)據(jù).主密鑰(MMK)

相當于密鑰鑰匙,該密鑰主要起到解密下發(fā)密鑰,不參與具體數(shù)據(jù)加解密。工作密鑰(DK)

參加具體工作的密鑰,該密鑰通過報文傳送下發(fā)到本地,通過主密鑰解密后,還原成真正的密鑰,再具體參與數(shù)據(jù)的加解密。PIK

參與密鑰加密的工作密鑰MAK

用于生成交易報文合法性驗證數(shù)據(jù)(MAC)的密鑰名詞解釋密鑰(KEY)名詞解釋PINblock

PIN格式塊對稱算法

對稱式加密就是加密和解密使用同一個密鑰,通常稱之為“SessionKey”這種加密技術(shù)目前被廣泛采用,如美國政府所采用的DES加密標準就是一種典型的“對稱式”加密法.非對稱算法

非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數(shù)據(jù)進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數(shù)據(jù)進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。

名詞解釋PINblockDES加密算法數(shù)據(jù)加密算法(DataEncryptionAlgorithm,DEA)是一種對稱加密算法,很可能是使用最廣泛的密鑰系統(tǒng),特別是在保護金融數(shù)據(jù)的安全中,最初開發(fā)的DEA是嵌入硬件中的。通常,自動取款機(AutomatedTellerMachine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾對它擁有幾年的專利權(quán),但是在1983年已到期后,處于公有范圍中,允許在特定條件下可以免除專利使用費而使用。1977年被美國政府正式采納。DES的原始思想可以參照二戰(zhàn)德國的恩格瑪機,其基本思想大致相同。傳統(tǒng)的密碼加密都是由古代的循環(huán)移位思想而來,恩格瑪機在這個基礎(chǔ)之上進行了擴散模糊。但是本質(zhì)原理都是一樣的?,F(xiàn)代DES在二進制級別做著同樣的事:替代模糊,增加分析的難度。DES使用一個56位的密鑰以及附加的8位奇偶校驗位,產(chǎn)生最大64位的分組大小。這是一個迭代的分組密碼,使用稱為Feistel的技術(shù),其中將加密的文本塊分成兩半。使用子密鑰對其中一半應用循環(huán)功能,然后將輸出與另一半進行“異或”運算;接著交換這兩半,這一過程會繼續(xù)下去,但最后一個循環(huán)不交換。DES使用16個循環(huán),使用異或,置換,代換,移位操作四種基本運算。

DES加密算法數(shù)據(jù)加密算法(DataEncryption3DES加密算法3DES又稱TripleDES,是DES加密數(shù)據(jù)的一種模式,它使用3條56位的密鑰對,數(shù)據(jù)進行三次加密。數(shù)據(jù)加密標準(DES)是美國的一種由來已久的加密標準,它使用對稱密鑰加密法,并于1981年被ANSI組織規(guī)范為ANSIX.3.92。DES使用56位密鑰和密碼塊的方法,而在密碼塊的方法中,文本被分成64位大小的文本塊然后再進行加密。比起最初的DES,3DES更為安全。3DES(即TripleDES)是DES向AES過渡的加密算法(1999年,NIST將3-DES指定為過渡的加密標準),是DES的一個更安全的變形。它以DES為基本模塊,通過組合分組方法設計出分組加密算法,其具體實現(xiàn)如下:設Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密文,這樣,設Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密表,這樣,

3DES加密過程為:C=Ek3(Dk2(Ek1(P)))3DES解密過程為:P=Dk1((EK2(Dk3(C)))3DES加密算法3DES又稱TripleDES,是DES數(shù)據(jù)傳輸安全控制的基本要求數(shù)據(jù)傳輸安全控制要求包括以下五個方面:a)密鑰管理機制:在技術(shù)上實施嚴格和可靠的密鑰分配過程。b)個人標識碼(PIN)的加密及轉(zhuǎn)換機制:不允許PIN的明碼在通信線路上和人工可操作的存儲媒體上出現(xiàn)。c)對交易報文作來源正確性鑒別的機制(MAC)。d)所有入網(wǎng)機構(gòu)采用硬件加密裝置。e)點對點的數(shù)據(jù)加解密網(wǎng)絡機制。數(shù)據(jù)傳輸安全控制的基本要求數(shù)據(jù)傳輸安全控制要求包括以下五個方數(shù)據(jù)加密傳輸環(huán)境的基本要求

報文數(shù)據(jù)由入網(wǎng)機構(gòu)進入CUPS前應已被加密。入網(wǎng)機構(gòu)從CUPS中得到的報文數(shù)據(jù)也是加密數(shù)據(jù)。網(wǎng)絡中CUPS的加密機與各入網(wǎng)機構(gòu)加密機組成了一個點對點的數(shù)據(jù)加解密網(wǎng)絡。CUPS與各聯(lián)網(wǎng)入網(wǎng)機構(gòu)分別約定數(shù)據(jù)密鑰。數(shù)據(jù)加密傳輸環(huán)境的基本要求各層次密鑰簡介各層密鑰的結(jié)構(gòu)、生成方法、加密解密對象、存儲地點、長度、被保護方式等表示如上:各層次密鑰簡介各層密鑰的結(jié)構(gòu)、生成方法、加密解密對象、存儲地密鑰的產(chǎn)生主密鑰的產(chǎn)生主密鑰用人工方式輸入。主密鑰由三部分構(gòu)成,分別由三個人掌管。為了保證輸入的正確性,每一部分的密鑰必須輸入兩次,且兩次輸入必須一致,否則輸入失敗。在三個人分別輸入三部分密鑰后,加密機作奇偶校驗檢查。奇偶校驗正確時,加密機產(chǎn)生主密鑰。主密鑰必須儲存在硬件加密機中,受硬件設備的保護。一旦硬件加密機受到非授權(quán)的操作,主密鑰會自動銷毀。成員主密鑰(MMK)的產(chǎn)生

MMK由CUPS和入網(wǎng)機構(gòu)各自產(chǎn)生一部分,分別輸入到雙方的加密機中合成MMK。也可由雙方商定MMK的產(chǎn)生辦法。數(shù)據(jù)密鑰的產(chǎn)生

PIK與MAK統(tǒng)稱為數(shù)據(jù)密鑰,由硬件加密機中的隨機發(fā)生器產(chǎn)生。密鑰產(chǎn)生后,硬件加密機將檢查密鑰的有效性。弱密鑰和半弱密鑰將被剔除。CUPS的加密機產(chǎn)生數(shù)據(jù)密鑰,入網(wǎng)機構(gòu)接收和儲存CUPS發(fā)來的數(shù)據(jù)密鑰。當入網(wǎng)機構(gòu)需要新密鑰的時侯,必須向CUPS發(fā)出密鑰重置申請報文。密鑰的產(chǎn)生主密鑰的產(chǎn)生密鑰保存示意圖

成員密鑰一般通過設備管理員輸入到端機的密碼鍵盤中,PIN密鑰、MAC密鑰通過密鑰申請交易,主機從加密機中取得傳送到端機主機前置機負責密鑰處理

加密機主密鑰成員密鑰PIN密鑰MAC密鑰自助設備成員密鑰PIN密鑰MAC密鑰密鑰保存示意圖主機前置機加密機自助設備PIN的加密和解密

當報文經(jīng)受理方進入銀行卡網(wǎng)絡時,持卡人的個人標識碼(PIN)已經(jīng)用受理方的PIK加密。CUPS將PIN用受理方的PIK解密后,立即用發(fā)卡方的PIK加密,再發(fā)往發(fā)卡方。PIN是以64位二進制數(shù)參與加密和解密運算的,PIN的明碼在這個數(shù)中的分布,稱為PIN數(shù)據(jù)塊。在CUPS和入網(wǎng)機構(gòu)之間,PIN數(shù)據(jù)塊符合《ISO9564-1Banking—PersonalIdentificationNumberManagementandSecurity》,其格式如下圖所示:

注1:C-控制碼%B0000

注2:N-PIN的長度(4-bit)注3:P-4-bit二進制PIN的數(shù)碼注4:P/F-4-bit二進制PIN的數(shù)碼/FILLER

注5:4-bit%B1111(FILLER)PIN的加密和解密當報文經(jīng)受理方進入銀行卡網(wǎng)絡時,PINBLOCKPIN的格式應符合ISO公布的ANSIX9.8標準中PIN的兩種格式之一:

——ANSIX9.8格式(不帶主賬號信息)

明文PIN123456,則PINBLOCK為0x060x120x340x560xFF0xFF0xFF0xFFPINBLOCKPIN的格式應符合ISO公布的ANPINBLOCK——ANSIX9.8格式(帶主賬號信息)

PINBLOCK為PIN按位異或主賬號(PAN)。

PAN格式如下表所示:

PIN明文:123456

磁卡上的PAN:123456789012345678

截取下的PAN:678901234567

則用于PIN加密的PAN為:0x000x000x670x890x010x230x450x67

則PINBLOCK為:0x060x120x340x560xFF0xFF0xFF0xFF

異或:0x000x000x670x890x010x230x450x67

結(jié)果為:0x060x120x530xDF0xFE0xDC0xBA0x98PINBLOCK——ANSIX9.8格式(帶主賬號PIN的加密方法

將根據(jù)上述步驟生成的PINBLOCK輸入到硬件加密機中,并與存儲在硬件加密機中的PIK用單倍長密鑰算法或雙倍長密鑰算法計算,即可得到PIN的密文。PIN的加密方法將根據(jù)上述步驟生成的PINBLOCK聯(lián)機報文MAC的計算方法

報文來源正確性鑒別(MAC-MessageAuthenticationCode)是一種判別報文來源是否正確,以及報文在發(fā)送途中是否被篡改的計算方法。

MAC算法取自于《ISO8731-1992ApprovedAlgorithmsforAuthentication》。

聯(lián)機報文MAC的計算方法報文來源正確性鑒別(MAMAC報文域的選擇

MAC域的選擇采用系統(tǒng)約定的方式,MAC算法采用密文塊鏈接(CBC)的模式。參與MAC計算的數(shù)據(jù)元集,一般包括以下數(shù)據(jù)域:

——具有唯一性的數(shù)據(jù)域(流水號、日期、時間等)

——表征報文特征的數(shù)據(jù)域(報文類型、交易種類等)

——交易相關(guān)數(shù)據(jù)域(卡號、金額、應答碼等)MAC報文域的選擇MAC域的選擇采用系統(tǒng)約定的方式MAC字符的選擇

對所選擇的MAC報文域,應進一步作字符處理。除去一些冗余信息,以提高MAC的質(zhì)量。處理方法如下:

a)帶長度值的域在計算MAC時應包含其長度值信息;

b)在域和域之間插入一個空格;

c)所有的小寫字母轉(zhuǎn)換成大寫字母;

d)除了字母(A-Z),數(shù)字(0-9),空格,逗號(,)和點號(.)以外的字符都刪去;

e)刪去所有域的起始空格和結(jié)尾空格;

f)多于一個的連續(xù)空格,由一個空格代替。

MAC字符的選擇對所選擇的MAC報文域,應進一步作MAB組成塊MAB計算.txt,函數(shù)是一個cb8583報文處理mac的例子。MAB組成塊MAB計算.txt,MAC塊(MAB)的構(gòu)成

數(shù)據(jù)從報文中選擇出來后,經(jīng)MAC字符選擇處理,然后構(gòu)成MAB(MessageAuthenticationBlock)。構(gòu)成MAB的方法是:將MAC字符選擇處理后的數(shù)據(jù)按64bit劃分成64bit的塊,一直劃分到數(shù)據(jù)的最后一塊,它的位數(shù)小于或等于64bit,不滿64bit時補二進制0。MAC塊(MAB)的構(gòu)成數(shù)據(jù)從報文中選擇出來后,經(jīng)單倍長密鑰算法(X9.9CBC)

將MAB中的每8個字節(jié)分為一組(最后一組如不足8個字節(jié),則右補0X00),用MAK作為單倍長密鑰依次進行如下操作:

a)進行單倍長密鑰運算;

b)將運算結(jié)果與后一組8個字節(jié)的MAB異或,結(jié)果取代后一組,繼續(xù)進行操作。對最后一組進行單倍長密鑰運算,得出8個字節(jié)的加密值。

但有一點需要注意,由于有可能在重置PIN密鑰時,新產(chǎn)生的PIN密鑰是128字節(jié)的雙倍長密鑰,因此此時計算請求和應答報文中的MAC值都應采用雙倍長密鑰算法。單倍長密鑰算法(X9.9CBC)將MAB中的每8個MACX9.19計算方法密鑰長度:雙倍長MBK:整個傳輸報文體加密過程:將MAB中的每8個字節(jié)分為一組(最后一組如不足8個字節(jié),則右補0X00),用MAK1為雙倍長密鑰的前半部分,MAK2為雙倍長密鑰的后半部分。依次進行如下操作:

a)利用MAK1進行單倍長密鑰運算;

b)將運算結(jié)果與后一組8個字節(jié)的MAB異或,結(jié)果取代后一組,繼續(xù)進行操作。對最后一組進行雙倍長密鑰運算,得出8個字節(jié)的加密值。MACX9.19計算方法密鑰長度:雙倍長X9.19算法的例子JSDFun.java中g(shù)etMACstr是一個9.19計算的例子。X9.19算法的例子JSDFun.javaWEB自助中的應用密碼鍵盤介紹:目前我們的密碼鍵盤的結(jié)構(gòu):主密鑰區(qū)(0-15)

工作密鑰區(qū)(0-15)

支持算法3DES算法WEB自助中的應用密碼鍵盤介紹:密碼鍵盤支持函數(shù)更新密鑰重置密鑰加密數(shù)據(jù)解密數(shù)據(jù)取PIN數(shù)據(jù)取明文字符密碼鍵盤支持函數(shù)更新密鑰WEB應用上的調(diào)用selectmainkey:[function(o){o.undef()},'selectmainkeyover'],selectworkkey:[function(o){o.undef()},'selectworkkeyover'],updatemainkey:[function(o){o.undef()},'updatemainkeyover','dataobject'],updateworkkey:[function(o){o.undef()},'updateworkkeyover','dataobject'],inputpin: [function(o){o.undef()},'inputpinover','inputnotify'],getpin: [function(o){o.undef()},'getpinover'],encrypt: [function(o){o.undef()},'encryptover','dataobject'],decrypt: [function(o){o.undef()},'decryptover','dataobject'], inputdata: [function(o){o.undef()},'inputdataover','inputnotify'],closeinput: [function(o){o.undef()},‘closeinputover']WEB應用上的調(diào)用selectmainkey:[functWEB上的密鑰申請流程WEB上的密鑰申請流程JAVA常用類庫介紹Kits.jar(加密類相關(guān)函數(shù))rtl.kits.crypt.des.Desrtl.kits.crypt.des.TripleDesCrypterrtl.kits.crypt.CryptHelperJAVA常用類庫介紹Kits.jar(加密類相關(guān)函數(shù))DES算法工具使用DES算法工具使用DES算法工具使用DES算法工具使用DES算法工具使用DES算法工具使用ECB(ElectronicCodeBook)ECB(ElectronicCodeBook)ECB(ElectronicCodeBook)

在ECB模式中,每塊明文都是獨立于其他塊加密的。雖然這樣做比較高效(可以并行執(zhí)行多個數(shù)據(jù)塊的加密),但這種方法有一個很大的問題。例如,在ECB模式中,對相同明文塊的加密總是產(chǎn)生相同的密文塊,這為某些類型的密碼分析攻擊打開了方便之門。ECB方式通常被認為不適合保護敏感數(shù)據(jù)。ECB(ElectronicCodeBook)在CBC(CipherBlockChaining)CBC(CipherBlockChaining)CBC(CipherBlockChaining)

在CBC模式中,文本塊是連續(xù)加密的,在加密當前明文塊之前,用前一次塊加密的結(jié)果修改當前明文塊。這個過程改進了加密的一些特征(例如,相同的明文塊不會產(chǎn)生相同的密文塊),但是由于其加密過程是連續(xù)的,CBC方式不支持加密的并行化。CBC方式使用一個稱作初始化向量(InitializationVector,IV)的附加文本來開始鏈接過程。IV用于修改被加密的第一個明文塊。CBC(CipherBlockChaining)CFB(CipherFeedback)CFB(CipherFeedback)CFB(CipherFeedback)

在CFB模式中,先加密前一個塊,然后將得到的結(jié)果與明文相結(jié)合產(chǎn)生當前塊,從而有效地改變用于加密當前塊的密鑰。這里密鑰的值是不斷變化的,這個過程與流加密類似,但是性能則遠不如流加密。與CBC方式一樣,這里要使用一個初始化向量作為加密過程的種子。

CFB(CipherFeedback)在CFOFB(OutputFeedback)OFB(OutputFeedback)OFB(OutputFeedback)

在OFB方式中,使用一個種子或IV來開始加密過程。加密種子后,將加密結(jié)果與明文塊結(jié)合產(chǎn)生密文。之后被加密的種子再度被加密,如此重復此過程,直到遍及全部明文。同樣,結(jié)果類似于流加密。

OFB(OutputFeedback)在OFB

銀行常用加密算法介紹

2011.5銀行常用加密算法介紹加密過程解釋什么是加密?是以某種特殊的算法改變原有的信息數(shù)據(jù),使得未授權(quán)的用戶即使獲得了已處理的信息,但因不知解密的方法,仍然無法了解信息的內(nèi)容。在密碼學中,加密是將明文信息隱匿起來,使之在缺少特殊信息時不可讀。雖然加密作為通信保密的手段已經(jīng)存在了幾個世紀,但是只有那些對安全要求特別高的組織和個人才會使用它。在20世紀70年代中期,強加密(StrongEncryption)的使用開始從政府保密機構(gòu)延伸至公共領(lǐng)域,并且目前已經(jīng)成為保護許多廣泛使用系統(tǒng)的方法,比如因特網(wǎng)電子商務、手機網(wǎng)絡和銀行自動取款機等.

加密作用

加密可以用于保證安全性,但是其它一些技術(shù)在保障通信安全方面仍然是必須的,尤其是關(guān)于數(shù)據(jù)完整性和信息驗證;例如,信息驗證碼(MAC)或者數(shù)學簽名。另一方面的考慮是為了應付流量分析。加密過程解釋什么是加密?名詞解釋密鑰(KEY)

密鑰是一種參數(shù),它是在明文轉(zhuǎn)換為密文或?qū)⒚芪霓D(zhuǎn)換為明文的算法中輸入的數(shù)據(jù).主密鑰(MMK)

相當于密鑰鑰匙,該密鑰主要起到解密下發(fā)密鑰,不參與具體數(shù)據(jù)加解密。工作密鑰(DK)

參加具體工作的密鑰,該密鑰通過報文傳送下發(fā)到本地,通過主密鑰解密后,還原成真正的密鑰,再具體參與數(shù)據(jù)的加解密。PIK

參與密鑰加密的工作密鑰MAK

用于生成交易報文合法性驗證數(shù)據(jù)(MAC)的密鑰名詞解釋密鑰(KEY)名詞解釋PINblock

PIN格式塊對稱算法

對稱式加密就是加密和解密使用同一個密鑰,通常稱之為“SessionKey”這種加密技術(shù)目前被廣泛采用,如美國政府所采用的DES加密標準就是一種典型的“對稱式”加密法.非對稱算法

非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數(shù)據(jù)進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數(shù)據(jù)進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。

名詞解釋PINblockDES加密算法數(shù)據(jù)加密算法(DataEncryptionAlgorithm,DEA)是一種對稱加密算法,很可能是使用最廣泛的密鑰系統(tǒng),特別是在保護金融數(shù)據(jù)的安全中,最初開發(fā)的DEA是嵌入硬件中的。通常,自動取款機(AutomatedTellerMachine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾對它擁有幾年的專利權(quán),但是在1983年已到期后,處于公有范圍中,允許在特定條件下可以免除專利使用費而使用。1977年被美國政府正式采納。DES的原始思想可以參照二戰(zhàn)德國的恩格瑪機,其基本思想大致相同。傳統(tǒng)的密碼加密都是由古代的循環(huán)移位思想而來,恩格瑪機在這個基礎(chǔ)之上進行了擴散模糊。但是本質(zhì)原理都是一樣的?,F(xiàn)代DES在二進制級別做著同樣的事:替代模糊,增加分析的難度。DES使用一個56位的密鑰以及附加的8位奇偶校驗位,產(chǎn)生最大64位的分組大小。這是一個迭代的分組密碼,使用稱為Feistel的技術(shù),其中將加密的文本塊分成兩半。使用子密鑰對其中一半應用循環(huán)功能,然后將輸出與另一半進行“異或”運算;接著交換這兩半,這一過程會繼續(xù)下去,但最后一個循環(huán)不交換。DES使用16個循環(huán),使用異或,置換,代換,移位操作四種基本運算。

DES加密算法數(shù)據(jù)加密算法(DataEncryption3DES加密算法3DES又稱TripleDES,是DES加密數(shù)據(jù)的一種模式,它使用3條56位的密鑰對,數(shù)據(jù)進行三次加密。數(shù)據(jù)加密標準(DES)是美國的一種由來已久的加密標準,它使用對稱密鑰加密法,并于1981年被ANSI組織規(guī)范為ANSIX.3.92。DES使用56位密鑰和密碼塊的方法,而在密碼塊的方法中,文本被分成64位大小的文本塊然后再進行加密。比起最初的DES,3DES更為安全。3DES(即TripleDES)是DES向AES過渡的加密算法(1999年,NIST將3-DES指定為過渡的加密標準),是DES的一個更安全的變形。它以DES為基本模塊,通過組合分組方法設計出分組加密算法,其具體實現(xiàn)如下:設Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密文,這樣,設Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密表,這樣,

3DES加密過程為:C=Ek3(Dk2(Ek1(P)))3DES解密過程為:P=Dk1((EK2(Dk3(C)))3DES加密算法3DES又稱TripleDES,是DES數(shù)據(jù)傳輸安全控制的基本要求數(shù)據(jù)傳輸安全控制要求包括以下五個方面:a)密鑰管理機制:在技術(shù)上實施嚴格和可靠的密鑰分配過程。b)個人標識碼(PIN)的加密及轉(zhuǎn)換機制:不允許PIN的明碼在通信線路上和人工可操作的存儲媒體上出現(xiàn)。c)對交易報文作來源正確性鑒別的機制(MAC)。d)所有入網(wǎng)機構(gòu)采用硬件加密裝置。e)點對點的數(shù)據(jù)加解密網(wǎng)絡機制。數(shù)據(jù)傳輸安全控制的基本要求數(shù)據(jù)傳輸安全控制要求包括以下五個方數(shù)據(jù)加密傳輸環(huán)境的基本要求

報文數(shù)據(jù)由入網(wǎng)機構(gòu)進入CUPS前應已被加密。入網(wǎng)機構(gòu)從CUPS中得到的報文數(shù)據(jù)也是加密數(shù)據(jù)。網(wǎng)絡中CUPS的加密機與各入網(wǎng)機構(gòu)加密機組成了一個點對點的數(shù)據(jù)加解密網(wǎng)絡。CUPS與各聯(lián)網(wǎng)入網(wǎng)機構(gòu)分別約定數(shù)據(jù)密鑰。數(shù)據(jù)加密傳輸環(huán)境的基本要求各層次密鑰簡介各層密鑰的結(jié)構(gòu)、生成方法、加密解密對象、存儲地點、長度、被保護方式等表示如上:各層次密鑰簡介各層密鑰的結(jié)構(gòu)、生成方法、加密解密對象、存儲地密鑰的產(chǎn)生主密鑰的產(chǎn)生主密鑰用人工方式輸入。主密鑰由三部分構(gòu)成,分別由三個人掌管。為了保證輸入的正確性,每一部分的密鑰必須輸入兩次,且兩次輸入必須一致,否則輸入失敗。在三個人分別輸入三部分密鑰后,加密機作奇偶校驗檢查。奇偶校驗正確時,加密機產(chǎn)生主密鑰。主密鑰必須儲存在硬件加密機中,受硬件設備的保護。一旦硬件加密機受到非授權(quán)的操作,主密鑰會自動銷毀。成員主密鑰(MMK)的產(chǎn)生

MMK由CUPS和入網(wǎng)機構(gòu)各自產(chǎn)生一部分,分別輸入到雙方的加密機中合成MMK。也可由雙方商定MMK的產(chǎn)生辦法。數(shù)據(jù)密鑰的產(chǎn)生

PIK與MAK統(tǒng)稱為數(shù)據(jù)密鑰,由硬件加密機中的隨機發(fā)生器產(chǎn)生。密鑰產(chǎn)生后,硬件加密機將檢查密鑰的有效性。弱密鑰和半弱密鑰將被剔除。CUPS的加密機產(chǎn)生數(shù)據(jù)密鑰,入網(wǎng)機構(gòu)接收和儲存CUPS發(fā)來的數(shù)據(jù)密鑰。當入網(wǎng)機構(gòu)需要新密鑰的時侯,必須向CUPS發(fā)出密鑰重置申請報文。密鑰的產(chǎn)生主密鑰的產(chǎn)生密鑰保存示意圖

成員密鑰一般通過設備管理員輸入到端機的密碼鍵盤中,PIN密鑰、MAC密鑰通過密鑰申請交易,主機從加密機中取得傳送到端機主機前置機負責密鑰處理

加密機主密鑰成員密鑰PIN密鑰MAC密鑰自助設備成員密鑰PIN密鑰MAC密鑰密鑰保存示意圖主機前置機加密機自助設備PIN的加密和解密

當報文經(jīng)受理方進入銀行卡網(wǎng)絡時,持卡人的個人標識碼(PIN)已經(jīng)用受理方的PIK加密。CUPS將PIN用受理方的PIK解密后,立即用發(fā)卡方的PIK加密,再發(fā)往發(fā)卡方。PIN是以64位二進制數(shù)參與加密和解密運算的,PIN的明碼在這個數(shù)中的分布,稱為PIN數(shù)據(jù)塊。在CUPS和入網(wǎng)機構(gòu)之間,PIN數(shù)據(jù)塊符合《ISO9564-1Banking—PersonalIdentificationNumberManagementandSecurity》,其格式如下圖所示:

注1:C-控制碼%B0000

注2:N-PIN的長度(4-bit)注3:P-4-bit二進制PIN的數(shù)碼注4:P/F-4-bit二進制PIN的數(shù)碼/FILLER

注5:4-bit%B1111(FILLER)PIN的加密和解密當報文經(jīng)受理方進入銀行卡網(wǎng)絡時,PINBLOCKPIN的格式應符合ISO公布的ANSIX9.8標準中PIN的兩種格式之一:

——ANSIX9.8格式(不帶主賬號信息)

明文PIN123456,則PINBLOCK為0x060x120x340x560xFF0xFF0xFF0xFFPINBLOCKPIN的格式應符合ISO公布的ANPINBLOCK——ANSIX9.8格式(帶主賬號信息)

PINBLOCK為PIN按位異或主賬號(PAN)。

PAN格式如下表所示:

PIN明文:123456

磁卡上的PAN:123456789012345678

截取下的PAN:678901234567

則用于PIN加密的PAN為:0x000x000x670x890x010x230x450x67

則PINBLOCK為:0x060x120x340x560xFF0xFF0xFF0xFF

異或:0x000x000x670x890x010x230x450x67

結(jié)果為:0x060x120x530xDF0xFE0xDC0xBA0x98PINBLOCK——ANSIX9.8格式(帶主賬號PIN的加密方法

將根據(jù)上述步驟生成的PINBLOCK輸入到硬件加密機中,并與存儲在硬件加密機中的PIK用單倍長密鑰算法或雙倍長密鑰算法計算,即可得到PIN的密文。PIN的加密方法將根據(jù)上述步驟生成的PINBLOCK聯(lián)機報文MAC的計算方法

報文來源正確性鑒別(MAC-MessageAuthenticationCode)是一種判別報文來源是否正確,以及報文在發(fā)送途中是否被篡改的計算方法。

MAC算法取自于《ISO8731-1992ApprovedAlgorithmsforAuthentication》。

聯(lián)機報文MAC的計算方法報文來源正確性鑒別(MAMAC報文域的選擇

MAC域的選擇采用系統(tǒng)約定的方式,MAC算法采用密文塊鏈接(CBC)的模式。參與MAC計算的數(shù)據(jù)元集,一般包括以下數(shù)據(jù)域:

——具有唯一性的數(shù)據(jù)域(流水號、日期、時間等)

——表征報文特征的數(shù)據(jù)域(報文類型、交易種類等)

——交易相關(guān)數(shù)據(jù)域(卡號、金額、應答碼等)MAC報文域的選擇MAC域的選擇采用系統(tǒng)約定的方式MAC字符的選擇

對所選擇的MAC報文域,應進一步作字符處理。除去一些冗余信息,以提高MAC的質(zhì)量。處理方法如下:

a)帶長度值的域在計算MAC時應包含其長度值信息;

b)在域和域之間插入一個空格;

c)所有的小寫字母轉(zhuǎn)換成大寫字母;

d)除了字母(A-Z),數(shù)字(0-9),空格,逗號(,)和點號(.)以外的字符都刪去;

e)刪去所有域的起始空格和結(jié)尾空格;

f)多于一個的連續(xù)空格,由一個空格代替。

MAC字符的選擇對所選擇的MAC報文域,應進一步作MAB組成塊MAB計算.txt,函數(shù)是一個cb8583報文處理mac的例子。MAB組成塊MAB計算.txt,MAC塊(MAB)的構(gòu)成

數(shù)據(jù)從報文中選擇出來后,經(jīng)MAC字符選擇處理,然后構(gòu)成MAB(MessageAuthenticationBlock)。構(gòu)成MAB的方法是:將MAC字符選擇處理后的數(shù)據(jù)按64bit劃分成64bit的塊,一直劃分到數(shù)據(jù)的最后一塊,它的位數(shù)小于或等于64bit,不滿64bit時補二進制0。MAC塊(MAB)的構(gòu)成數(shù)據(jù)從報文中選擇出來后,經(jīng)單倍長密鑰算法(X9.9CBC)

將MAB中的每8個字節(jié)分為一組(最后一組如不足8個字節(jié),則右補0X00),用MAK作為單倍長密鑰依次進行如下操作:

a)進行單倍長密鑰運算;

b)將運算結(jié)果與后一組8個字節(jié)的MAB異或,結(jié)果取代后一組,繼續(xù)進行操作。對最后一組進行單倍長密鑰運算,得出8個字節(jié)的加密值。

但有一點需要注意,由于有可能在重置PIN密鑰時,新產(chǎn)生的PIN密鑰是128字節(jié)的雙倍長密鑰,因此此時計算請求和應答報文中的MAC值都應采用雙倍長密鑰算法。單倍長密鑰算法(X9.9CBC)將MAB中的每8個MACX9.19計算方法密鑰長度:雙倍長MBK:整個傳輸報文體加密過程:將MAB中的每8個字節(jié)分為一組(最后一組如不足8個字節(jié),則右補0X00),用MAK1為雙倍長密鑰的前半部分,MAK2為雙倍長密鑰的后半部分。依次進行如下操作:

a)利用MAK1進行單倍長密鑰運算;

b)將運算結(jié)果與后一組8個字節(jié)的MAB異或,結(jié)果取代后一組,繼續(xù)進行操作。對最后一組進行雙倍長密鑰運算,得出8個字節(jié)的加密值。MACX9.19計算方法密鑰長度:雙倍長X9.19算法的例子JSDFun.java中g(shù)etMACstr是一個9.19計算的例子。X9.19算法的例子JSDFun.javaWEB自助中的應用密碼鍵盤介紹:目前我們的密碼鍵盤的結(jié)構(gòu):主密鑰區(qū)(0-15)

工作密鑰區(qū)(0-15)

支持算法3DES算法WEB自助中的應用密碼鍵盤介紹:密碼鍵盤支持函數(shù)更新密鑰重置密鑰加密數(shù)據(jù)解密數(shù)據(jù)取PIN數(shù)據(jù)取明文字符密碼鍵盤支持函數(shù)更新密鑰WEB應用上的調(diào)用selectmainkey:[function(o){o.undef()},'selectmainkeyover'],selectworkkey:[function(o){o.undef()},'selectworkkeyover'],updatemainkey:[function(o){o.undef()},'updatemainkeyover','dataobject'],updatework

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論