POS主密鑰與工作密鑰關聯詳解


以下是針對POS的卡交易的一種密鑰邏輯記錄:

一、密鑰介紹

交易主密鑰:加載到Pos機中,用於驗證工作密鑰是否合法等;

工作密鑰:包括PIN密鑰、MAC密鑰、磁道密鑰,用於加密密碼、MAC、磁道信息。在信息上送到服務端前加密。

加載的順序是,先加載主密鑰,再加載工作密鑰。如果二者不匹配,在加載過程中會報錯。

二、主密鑰加載邏輯

我們要加載兩部分的密鑰到POS機中,主密鑰一般是由有銀聯認可資質的服務商下發的。下發的主密鑰可能有兩種形式,密文或者明文。

如果是密文,服務商會額外提供一個解密用的密鑰。例如交易主密鑰:E51D9047310F731798CF74AF483931B3712C8C734B2E669E(密文),如果將交易主密鑰密文解密,請用服務商提供的解密密鑰“31313131313131313131313131313131”對交易主密鑰的前32位進行解密,得到明文1CF88AB5D64F314F9EF237FBD99E29CD。對明文再用8個字節的0x003DES加密,得到的是712C8C734B2E669E。最後得到的這個值就是交易主密鑰的後16位,所以驗證是成功的。如果不等,則驗證是失敗的。

當我們驗證完交易主密鑰,並正確後,就往下做工作密鑰的加載。

二、工作密鑰加載邏輯                                    

         工作密鑰也由服務商下發,POS端獲取工作密鑰(一般爲密文),如果以以下作爲例子,如:

         PIN密鑰:C1DDD6ED1CAB0F57ABD1CEC0370AB1C1 checkValue:AE103AE98D332DCB

 MAC密鑰:9FBAC976C9257C5B1BAF05AFAD30DFFE checkValue:0D71EFC36C294171

 磁道密鑰:7603E9E0EE8E8FE5DAB80C29B692DB86    checkValue:3F5480EB4F2A29EE  

        加解密密鑰:交易主密鑰明文——這個就是主密鑰必須先加載的原因

驗證方法:

PIN密鑰——對PIN密鑰密文用密鑰(交易主密鑰明文)做解密,得到明文C7D50808A7DFFE62B9943B45A4C77FC7。再對明文用8字節0x003DES加密,得到AE103AE98D332DCB。與checkvalue相等。

與checkvalue相等,則驗證通過,可正常加載到POS機上,如果不等,則驗證不通過,報錯。

三、POS交易

當主密鑰和工作密鑰都成功加載後,在做交易,比如刷卡消費時,加載到pos的密鑰,會將你的卡信息加密,然後再上傳到服務端,避免你的信息外泄。

 

四、總結流程

流程是這樣的:

(1)獲取交易主密鑰(密文)->解密得到明文->加載交易主密鑰到POS。

(2)用交易主密鑰明文驗證工作密鑰的合法性,合法即可加載到POS。

(3)以上都成功後,可以做卡交易。

發佈了48 篇原創文章 · 獲贊 139 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章