交易平台基本密钥处理流程(SJL05加密机)
為什么80%的碼農都做不了架構師?>>> ??
????在平時的工作中,很少接觸安全這塊內容,最近需要自己獨立完成安全這塊內容,在開發中遇到的問題會在下面的理解中得到相應的解決。
????在交易平臺中,基于安全考慮會對傳輸中的報文進行加密處理,用到最多的是MAC校驗、PIN加密。
????MAC校驗保證數據的完整性,PIN加密保證個人信息的安全性(即你輸入的密碼用PIN進行保護)。
------------------------------------------------------------------------------------------------------------------
首先需要明確三點的是:
??????? 1:除加密機之外所有看到的密鑰全是以密文形式存在。
??????? 2:當你傳輸索引或加密機加密后的密鑰密文給加密機時,加密機會自動找到與之對就應的密鑰明文,進行相應的操作(如加密或解密)
??????? 3:加密與解密操作中是應用密鑰的明文(加密機真正計算MAC、PIN時所用的密鑰)。
前提:加密機有一頂層密鑰(LMK)(用與加密其他密鑰的密鑰),通過多人分段輸入來進行設置。可以認為此密鑰安全。
場景:
??????? 1)平臺則
??????????????? 1:平臺與平臺之間一般會有一個BMK(用于平臺之間進行工作密鑰(MACKEY,PINKEY)的自動分發),受加密機LMK保護。此密鑰以索引或是通過加密機LMK加密后的密文形式出現在應用數據庫中。
??????????????? 2:工作密鑰通過應用程序發起簽到交易向服務器方獲得,服務方返回的工作密鑰是以通過BMK加密之后的密文形式出現。當應用程序接收到工作密鑰密文時,需對工作密鑰密文進行檢驗(checkvalue)。
??????????????????????? 為進一步保護工作密鑰,將工作密鑰由BMK加密的密文轉換成以LMK加密的密文存儲在應用數據庫中。
??????????????? 3:應用程序發起交易(余額查詢)根據相應的要求,進行MAC、PIN的組包。
????????????????????????? MAC:根據要求組MACBLOCK,傳MACKBLOCK、MAC密鑰密文 得到MAC。
????????????????????????? PIN:根據要求是否需要帳號,傳帳號、PIN密鑰密文得PIN。
??????????????? 4:程序程序做的就是計算MAC、驗證MAC、PIN轉換操作來完成報文的傳遞。
???? 2)終端測
??????????????? 1:終端與平臺之間一般會有一個TMK。
??????????????????????? TMK 與BMK的作用基本上相同,之后的處理過程相同,請參考慮平臺則說明。
-------------------------------------------------------------------------------------------------------------------
????寫的非常好的參考文件:http://www.360doc.com/content/14/0217/15/15841745_353246743.shtml???????
關于checkvalue生成與校驗:
????引用:http://www.bctest.com/wtjd-show.asp?id=2370
1)銀聯直聯終端測試中,在POS終端簽到的應答報文中,62域是如何規定的?
????? 62域長度應為24或40個字節。對于單倍長密鑰算法:前12個字節為PIN的工作密鑰的密文,后12個字節為MAC的工作密鑰的密文。(其中,前8個字 節是密文,后4個字節是checkvalue;用前8個字節解出的明文做key,對8個字節00做單倍長密鑰算法,取結果的前四位與checkvalue 的值比較應該是一致的)。
????? 對于雙倍長密鑰算法:前20個字節為PIN的工作密鑰的密文,后20個字節為MAC的工作密鑰的密文。(其中,“PIN工作密鑰”前16個字節是密文,后 4個字節是checkvalue;用前16個字節解出明文做key,對8個字節00做雙倍長密鑰算法,取結果的前四位與checkvalue 的值比較應該是一致的;“MAC工作密鑰”前8個字節是密文,再8個字節是二進制零,后4個字節是checkvalue;用前8個字節解出明文做key, 對8個字節00做單倍長密鑰算法,取結果的前四位與checkvalue 的值比較應該是一致的)。
????????????????????
?
轉載于:https://my.oschina.net/3pgp/blog/200485
總結
以上是生活随笔為你收集整理的交易平台基本密钥处理流程(SJL05加密机)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ThinkPHP框架搭建网站
- 下一篇: java出现no XXX in java