




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 銀行常用加密算法介紹銀行常用加密算法介紹 2011.5 加密過程解釋加密過程解釋 l什么是加密? 是以某種特殊的算法改變原有的信息數據,使得未授權的用戶即使獲得了已處理的信息,但因不知解密的方法,仍然無法了解信息的內容。在密碼學中,加密是將明文信息隱匿起來,使之在缺少特殊信息時不可讀。雖然加密作為通信保密的手段已經存在了幾個世紀,但是只有那些對安全要求特別高的組織和個人才會使用它。在20世紀70年代中期,強加密(Strong Encryption)的使用開始從政府保密機構延伸至公共領域,并且目前已經成為保護許多廣泛使用系統的方法,比如因特網電子商務、手機網絡和銀行自動取款機等. l加密作用
2、加密可以用于保證安全性,但是其它一些技術在保障通信安全方面仍然是必須的,尤其是關于數據完整性和信息驗證;例如,信息驗證碼(MAC)或者數學簽名。另一方面的考慮是為了應付流量分析。名名 詞詞 解解 釋釋l密鑰(KEY) 密鑰是一種參數,它是在明文轉換為密文或將密文轉換為明文的算法中輸入的數據.l主密鑰(MMK) 相當于密鑰鑰匙,該密鑰主要起到解密下發密鑰,不參與具體數據加解密。l工作密鑰(DK) 參加具體工作的密鑰,該密鑰通過報文傳送下發到本地,通過主密鑰解密后,還原成真正的密鑰,再具體參與數據的加解密。lPIK 參與密鑰加密的工作密鑰lMAK 用于生成交易報文合法性驗證數據(MAC)的密鑰名詞
3、解釋名詞解釋lPIN block PIN 格式塊l對稱算法 對稱式加密就是加密和解密使用同一個密鑰,通常稱之為“Session Key ”這種加密技術目前被廣泛采用,如美國政府所采用的DES加密標準就是一種典型的“對稱式”加密法.l非對稱算法 非對稱加密算法需要兩個密鑰:公開密鑰(publickey)和私有密鑰(privatekey)。公開密鑰與私有密鑰是一對,如果用公開密鑰對數據進行加密,只有用對應的私有密鑰才能解密;如果用私有密鑰對數據進行加密,那么只有用對應的公開密鑰才能解密。因為加密和解密使用的是兩個不同的密鑰,所以這種算法叫作非對稱加密算法。 DES 加密算法加密算法l數據加密算法(
4、Data Encryption Algorithm,DEA)是一種對稱加密算法,很可能是使用最廣泛的密鑰系統,特別是在保護金融數據的安全中,最初開發的DEA是嵌入硬件中的。通常,自動取款機(Automated Teller Machine,ATM)都使用DEA。它出自IBM的研究工作,IBM也曾對它擁有幾年的專利權,但是在1983年已到期后,處于公有范圍中,允許在特定條件下可以免除專利使用費而使用。1977年被美國政府正式采納。lDES的原始思想可以參照二戰德國的恩格瑪機,其基本思想大致相同。傳統的密碼加密都是由古代的循環移位思想而來,恩格瑪機在這個基礎之上進行了擴散模糊。但是本質原理都是一樣
5、的。現代DES在二進制級別做著同樣的事:替代模糊,增加分析的難度。 lDES 使用一個 56 位的密鑰以及附加的 8 位奇偶校驗位,產生最大 64 位的分組大小。這是一個迭代的分組密碼,使用稱為 Feistel 的技術,其中將加密的文本塊分成兩半。使用子密鑰對其中一半應用循環功能,然后將輸出與另一半進行“異或”運算;接著交換這兩半,這一過程會繼續下去,但最后一個循環不交換。DES 使用 16 個循環,使用異或,置換,代換,移位操作四種基本運算。 3DES 加密算法加密算法l3DES又稱Triple DES,是DES加密數據的一種模式,它使用3條56位的密鑰對 ,數據進行三次加密。數據加密標準(
6、DES)是美國的一種由來已久的加密標準,它使用對稱密鑰加密法,并于1981年被ANSI組織規范為ANSI X.3.92。DES使用56位密鑰和密碼塊的方法,而在密碼塊的方法中,文本被分成64位大小的文本塊然后再進行加密。比起最初的DES,3DES更為安全。 l3DES(即Triple DES)是DES向AES過渡的加密算法(1999年,NIST將3-DES指定為過渡的加密標準),是DES的一個更安全的變形。它以DES為基本模塊,通過組合分組方法設計出分組加密算法,其具體實現如下:設Ek()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密文,這樣, 設E
7、k()和Dk()代表DES算法的加密和解密過程,K代表DES算法使用的密鑰,P代表明文,C代表密表,這樣, 3DES加密過程為:C=Ek3(Dk2(Ek1(P) 3DES解密過程為:P=Dk1(EK2(Dk3(C) 數據傳輸安全控制的基本要求數據傳輸安全控制的基本要求數據傳輸安全控制要求包括以下五個方面: a) 密鑰管理機制:在技術上實施嚴格和可靠的密鑰分配過程。 b) 個人標識碼(PIN)的加密及轉換機制:不允許 PIN 的明碼在通信線路上和人工可操作的存儲媒體上出現。 c) 對交易報文作來源正確性鑒別的機制(MAC)。 d) 所有入網機構采用硬件加密裝置。 e) 點對點的數據加解密網絡機制
8、。 數據加密傳輸環境的基本要求數據加密傳輸環境的基本要求 報文數據由入網機構進入CUPS前應已被加密。入網機構從CUPS中得到的報文數據也是加密數據。網絡中CUPS的加密機與各入網機構加密機組成了一個點對點的數據加解密網絡。CUPS與各聯網入網機構分別約定數據密鑰。各層次密鑰簡介各層次密鑰簡介各層密鑰的結構、生成方法、加密解密對象、存儲地點、長度、被保護方式等表示如上:密鑰的產生密鑰的產生l主密鑰的產生 主密鑰用人工方式輸入。主密鑰由三部分構成,分別由三個人掌管。為了保證輸入的正確性,每一部分的密鑰必須輸入兩次,且兩次輸入必須一致,否則輸入失敗。在三個人分別輸入三部分密鑰后,加密機作奇偶校驗檢
9、查。奇偶校驗正確時,加密機產生主密鑰。主密鑰必須儲存在硬件加密機中,受硬件設備的保護。一旦硬件加密機受到非授權的操作,主密鑰會自動銷毀。l成員主密鑰(MMK)的產生 MMK由CUPS和入網機構各自產生一部分,分別輸入到雙方的加密機中合成MMK。 也可由雙方商定MMK的產生辦法。l數據密鑰的產生 PIK與MAK統稱為數據密鑰,由硬件加密機中的隨機發生器產生。密鑰產生后,硬件加密機將檢查密鑰的有效性。弱密鑰和半弱密鑰將被剔除。 CUPS的加密機產生數據密鑰,入網機構接收和儲存CUPS發來的數據密鑰。當入網機構需要新密鑰的時侯,必須向CUPS發出密鑰重置申請報文。密鑰保存示意圖密鑰保存示意圖 成員密
10、鑰一般通過設備管理員輸入到端機的密碼鍵盤中,PIN密鑰、MAC密鑰通過密鑰申請交易,主機從加密機中取得傳送到端機主機前置機負責密鑰處理 加密機主密鑰成員密鑰PIN密鑰MAC密鑰自助設備成員密鑰PIN密鑰MAC密鑰PIN的加密和解密的加密和解密 當報文經受理方進入銀行卡網絡時,持卡人的個人標識碼(PIN)已經用受理方的PIK加密。CUPS將PIN用受理方的PIK解密后,立即用發卡方的PIK加密,再發往發卡方。 PIN 是以 64 位二進制數參與加密和解密運算的, PIN 的明碼在這個數中的分布, 稱為PIN數據塊。在CUPS和入網機構之間,PIN數據塊符合ISO 9564-1 BankingPe
11、rsonal Identification Number Management and Security,其格式如下圖所示: 注1:C控制碼 B0000 注2:NPIN 的長度(4-bit) 注3:P4-bit 二進制 PIN 的數碼 注4:P/F4-bit 二進制 PIN 的數碼 / FILLER 注5:4-bit B1111(FILLER) PIN BLOCK PIN的格式應符合ISO公布的ANSI X9.8標準中PIN的兩種格式之一: ANSI X9.8 格式(不帶主賬號信息) 明文PIN 123456, 則PIN BLOCK 為0 x06 0 x12 0 x34 0 x56 0 xFF
12、 0 xFF 0 xFF 0 xFFPIN BLOCK ANSIX9.8 格式(帶主賬號信息) PIN BLOCK為PIN按位異或主賬號(PAN)。 PAN格式如下表所示: PIN 明文:123456 磁卡上的PAN:1234 5678 9012 3456 78 截取下的PAN:6789 0123 4567 則用于PIN加密的PAN為:0 x00 0 x00 0 x67 0 x89 0 x01 0 x23 0 x45 0 x67 則PIN BLOCK 為: 0 x06 0 x12 0 x34 0 x56 0 xFF 0 xFF 0 xFF 0 xFF 異或: 0 x00 0 x00 0 x67
13、 0 x89 0 x01 0 x23 0 x45 0 x67 結果為:0 x06 0 x12 0 x53 0 xDF 0 xFE 0 xDC 0 xBA 0 x98 PIN的加密方法的加密方法 將根據上述步驟生成的PIN BLOCK輸入到硬件加密機中,并與存儲在硬件加密機中的PIK用單倍長密鑰算法或雙倍長密鑰算法計算,即可得到PIN的密文。聯機報文聯機報文 MAC 的計算方法的計算方法 報文來源正確性鑒別(MAC-Message Authentication Code)是一種判別報文來源是否正確,以及報文在發送途中是否被篡改的計算方法。 MAC算法取自于ISO8731-1992 Approve
14、d Algorithms for Authentication。 MAC 報文域的選擇報文域的選擇 MAC域的選擇采用系統約定的方式,MAC算法采用密文塊鏈接(CBC)的模式。 參與MAC計算的數據元集,一般包括以下數據域: 具有唯一性的數據域(流水號、日期、時間等) 表征報文特征的數據域(報文類型、交易種類等) 交易相關數據域(卡號、金額、應答碼等) MAC 字符的選擇字符的選擇 對所選擇的MAC報文域,應進一步作字符處理。除去一些冗余信息,以提高MAC的質量。處理方法 如下: a) 帶長度值的域在計算 MAC 時應包含其長度值信息; b) 在域和域之間插入一個空格; c) 所有的小寫字母轉
15、換成大寫字母; d) 除了字母(A-Z),數字(0-9),空格,逗號(,)和點號(.)以外的字符都刪去; e) 刪去所有域的起始空格和結尾空格; f) 多于一個的連續空格,由一個空格代替。 MAB組成塊組成塊MAB計算.txt,函數是一個cb8583報文處理mac的例子。MAC 塊塊(MAB)的構成的構成 數據從報文中選擇出來后,經MAC字符選擇處理,然后構成MAB(Message Authentication Block)。構成MAB的方法是: 將MAC字符選擇處理后的數據按64bit劃分成64bit的塊,一直劃分到數據的最后一塊,它的位數小于或等于64bit,不滿64bit時補二進制0。單
16、倍長密鑰算法(單倍長密鑰算法(X9.9 CBC) 將MAB中的每8個字節分為一組(最后一組如不足8個字節,則右補0X00),用MAK作為單倍長密鑰 依次進行如下操作: a) 進行單倍長密鑰運算; b) 將運算結果與后一組 8 個字節的 MAB 異或,結果取代后一組,繼續進行操作。對最后一組進行單倍長密鑰運算,得出 8 個字節的加密值。 但有一點需要注意,由于有可能在重置PIN密鑰時,新產生的PIN密鑰是128字節的雙倍長密鑰,因此此時計算請求和應答報文中的MAC值都應采用雙倍長密鑰算法。MAC X9.19計算方法計算方法 密鑰長度:雙倍長MBK:整個傳輸報文體加密過程:將MAB中的每8個字節分
17、為一組(最后一組如不足8個字節,則右補0X00),用MAK1為雙倍長密鑰的前半部分,MAK2為雙倍長密鑰的后半部分。 依次進行如下操作: a) 利用MAK1進行單倍長密鑰運算; b) 將運算結果與后一組 8 個字節的 MAB 異或,結果取代后一組,繼續進 行操作。對最后一組進行雙倍長密鑰運算,得出 8 個字節的加密值。 X9.19算法的例子算法的例子JSDFun.java中getMACstr是一個9.19計算的例子。WEB 自助中的應用自助中的應用密碼鍵盤介紹: 目前我們的密碼鍵盤的結構: 主密鑰區 (0-15) 工作密鑰區(0-15) 支持算法3DES算法密碼鍵盤支持函數密碼鍵盤支持函數更新
18、密鑰重置密鑰加密數據解密數據取PIN數據取明文字符WEB 應用上的調用應用上的調用lselectmainkey:function(o)o.undef(),selectmainkeyover,lselectworkkey:function(o)o.undef(),selectworkkeyover,lupdatemainkey:function(o)o.undef(),updatemainkeyover,dataobject,lupdateworkkey:function(o)o.undef(),updateworkkeyover,dataobject,linputpin:function(o)
19、o.undef(),inputpinover,inputnotify,lgetpin:function(o)o.undef(),getpinover,lencrypt:function(o)o.undef(),encryptover,dataobject,ldecrypt:function(o)o.undef(),decryptover,dataobject,linputdata:function(o)o.undef(),inputdataover,inputnotify,lcloseinput:function(o)o.undef(),closeinputoverWEB上的密鑰申請流程上的密鑰申請流程JAVA 常用類庫介紹常用類庫介紹Kits.jar(加密類相關函數)rtl.kits.crypt.des.Des rtl.kits.crypt.des.TripleDesCrypter rtl.kits.crypt.CryptHelper DES算法工具使用算法工具使用DES算法工具使用算法工具使用DES算法工具使用算法工具使用ECB(Electronic Code Book)ECB(Electronic Code Book) 在 ECB 模式中,每塊明文都是獨立于其他塊加密的。雖然這樣
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山東省泰安市肥城市2024-2025學年度下學期期中考試六年級歷史試題統編版(五四學制)(無答案)
- 果凍項目運營管理方案(范文參考)
- 2024年農作物種子繁育員職業資格考試目標分析試題及答案
- 模具設計的生命周期管理試題及答案
- 老年人安全用藥與護理
- 2024年體育經紀人資格考試分析與試題及答案
- 救生員考試全面解析試題及答案
- 切削工具在模具設計中的應用試題及答案
- 游泳救生員體能訓練與評估試題及答案
- 模具設計師資格考試趨勢預測試題及答案
- 茶百道結業試題及答案
- 2025屆安徽省合肥市高三二模語文試題(解析版)
- 2025年濮陽職業技術學院高職單招語文2019-2024歷年真題考點試卷含答案解析
- 農田水土保持的技術與治理策略研究試題及答案
- 2024農業考試重要措施試題及答案
- 甲亢病人護理講課
- 2025年安徽滁州中鹽東興鹽化股份有限公司招聘筆試參考題庫含答案解析
- 2024年陜西高中學業水平合格考試化學試卷真題(含答案詳解)
- 2025年金麗衢十二校高三語文第二次模擬聯考試卷附答案解析
- 廣東省深圳市福田區2023-2024學年六年級下學期英語期中試卷(含答案)
- 國際貿易實務與案例教程題庫及答案
評論
0/150
提交評論