PBOC/EMV之DDA(動態資料認證)

來源:互聯網
上載者:User

轉載請註明出處

作者:小馬

 

前一篇文章講了SDA,DDA的步驟可以這樣理解:先執行SDA,再執行DDA特有的步驟. 所以這篇文章主要講這個特有的步驟.正是這個特有的步驟,使得DDA不僅具有SDA的功能(保證卡片上的資料在個人化後不會被修改),還可以防止卡片被複製偽造.

 

第一步,取IC公開金鑰

 

在SDA階段取得的發卡行公開金鑰,在DDA時還有一個用途,就是恢複IC卡公開金鑰. 可以用下面的公式表示:

發卡行公開金鑰+IC卡密鑰憑證+RSA演算法=IC卡公開金鑰

 

IC卡密鑰憑證是終端在讀資料階段從卡裡讀出來的, 是一串密文資料,類似如下:

* Tag 9F46 ICC Public Key Certificate * - Len 50 * - Value 79 DE 85 4F 1F 84 9E 8B 42 9D 72 6A 8B 93 F0 E9  *  83 06 B7 7F A8 78 67 26 B4 F6 25 6B ED 87 9F 2C  *  24 52 24 DD 93 1C A8 0D 44 D8 C6 A5 5E 6D A9 BB  *  E5 F3 E2 7F 65 98 28 E4 2D 27 A1 7C 33 49 88 83  *  34 D7 46 3C 0C 6E C7 BA 93 D6 27 65 44 FB BF C5  

 

第二步,取簽名的動態資料

終端首先發起內部認證命令給卡片, 命令的資料域是DDOL中指明的資料, DDOL是卡片在讀資料階段返回給終端的,告訴終端自己需要哪些終端資料來產生簽名的動態資料. 舉例如下:

* Tag 9F49 Dynamic Data Authentication Data (DDOL)*   - Len   15*   - Value 9F 02 06 9F 03 06 9F 1A 02 95 05 5F 2A 02 9A 03 *       9C 01 9F 37 04

 

要注意9F37(終端不可預知數)是DDOL的必備項.

 

卡片用終端送來的DDOL中的資料,加上自己產生的動態資料(比如ATC),用IC卡私密金鑰(注意這個, 這個私密金鑰放在安全存貯地區,是不可複製的)產生一個密文資料,這個資料叫做簽名的Live App資料. 然後卡片把這個資料通過內部認證返回給終端.

 

第三步,驗證雜湊值

用公式可表示如下:

IC卡公開金鑰+動態簽名的應用資料+RSA=資料A

資料A也包括兩部分,一部分我把它叫A1,另一部分叫雜湊結果A

 

終端用A1加上DDOL指定的資料,用指定的雜湊演算法計算一個雜湊結果B.

A和B比較,如果相等,則DDA成功,否則失敗.

 

前面一開始說到,DDA可以防止複製卡片, 從上面一系列的流程可以看出, 即使你複製一張卡,SDA可以通過(因為靜態資料都是一樣的),但是由於IC卡私密金鑰的安全性,動態簽名的驗證是肯定失敗的.

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.