前言
早在 2008年,M1卡的安全算法就被破解,這意味著當時全球多達10億張的M1卡都存在被偽造、復(fù)制的風險,近幾年網(wǎng)絡(luò)媒體也針對智能鎖卡片鑰匙的安全問題做了很多現(xiàn)場測試。測試表明,一部分智能鎖產(chǎn)品使用普通M1卡進行開鎖驗證,未做加密導(dǎo)致可以備輕易復(fù)制,造成安全隱患。本文旨在通過簡單的幾個步驟向大家介紹更加安全的CPU加密卡的實現(xiàn)方式。
一、CPU 卡開鎖密鑰產(chǎn)生機制
1、 用 DEV_UID(16 位, 不足 16 位后面補 0)做為 3DES 加密密鑰對 4 字節(jié)卡片唯一識別碼 UID(不足 16 位后面補 0)進行 3DES 加密得到 16 位加密數(shù)據(jù) DATA_ENC。
2、 DATA_ENC 做為 CPU 卡開鎖密鑰 UNLOCK_KEY。
注: 加密密鑰由客戶自定義, 以上加密方式只是示例。
二、 CPU 卡綁卡流程
1、
根據(jù)《CPU 卡開鎖密鑰產(chǎn)生機制》 , 產(chǎn)生開鎖密鑰
2、
;選擇卡應(yīng)用 00A4 0400 09 A000000003D6D0D5FD
3、
; 得隨機數(shù) 0084 0000 08
; ; 例如卡片應(yīng)用主控密鑰為(112233445566FFFFFFFFFFFFFFFFFFFF)
; ; 用卡片應(yīng)用主控密鑰(112233445566FFFFFFFFFFFFFFFFFFFF) 對隨機數(shù)做 3DES 加密
; 對卡片做外部認證, 獲取更新密鑰的權(quán)限, enc 為加密的結(jié)果 0082 0000 08 enc(last,112233445566FFFFFFFFFFFFFFFFFFFF)
4、
; 得隨機數(shù)
0084 0000 08
開鎖密鑰(例如是 22222222222222222222222222222222)
; ; 先用主控密鑰(112233445566FFFFFFFFFFFFFFFFFFFF) 對(密鑰頭 5 字節(jié)+要替換的密鑰
16 字節(jié)) 加密得到 24 字節(jié)加密結(jié)果,
15300000003322222222222222222222222222222222
然后用主控密鑰(112233445566FFFFFFFFFFFFFFFFFFFF) 對(指令頭 5 字節(jié)+加密結(jié)果 24 字
節(jié)) 做 mac 計算得到 4 字節(jié) mac 值。
; 更新開鎖密鑰
0084 0000 04
84D430011C
DATA_ENC(300000003322222222222222222222222222222222,112233445566FFFFFFFFFFFFFFFF
FFFF)
MAC(84D4 3001 1C DATA_ENC(3000000033
22222222222222222222222222222222,112233445566FFFFFFFFFFFFFFFFFFFF),112233445566FF
FFFFFFFFFFFFFFFFFF,LAST)
詳細過程如下:
隨機數(shù): 903E12B0ABBA8019 9000
加密密鑰數(shù)據(jù)原始內(nèi)容: 15300000003322222222222222222222222222222222
更新密鑰線路保護密鑰: 112233445566FFFFFFFFFFFFFFFFFFFF
加密密鑰數(shù)據(jù)明文內(nèi)容: 153000000033222222222222222222222222222222228000 //如加
密數(shù)據(jù)補足 8 字節(jié)的倍數(shù), 就后補 80000...湊足 8 字節(jié)整倍
數(shù)
加密密鑰數(shù)據(jù)密文內(nèi)容: 47E16367A4F223D99131D48C0FCC7B4CA507087AF537D88B
更新密鑰命令: 84D430011C 47E16367A4F223D99131D48C0FCC7B4CA507087AF537D88B
即: 84D430011C47E16367A4F223D99131D48C0FCC7B4CA507087AF537D88B800000
計算 mac 結(jié)果: E47CC048
更新密鑰命令: 84D430011C 47E16367A4F223D99131D48C0FCC7B4CA507087AF537D88B
E47CC048
三、 CPU 卡開鎖流程
1、
根據(jù)《CPU 卡開鎖密鑰產(chǎn)生機制》 , 產(chǎn)生開鎖密鑰
2、
;選擇卡應(yīng)用 00A4 0400 09 A000000003D6D0D5FD
3、
; 門鎖產(chǎn)生 8 字節(jié)隨機數(shù)
; 用開鎖密鑰(例如 22222222222222222222222222222222) 對 8 字節(jié)隨機數(shù)加密, 得到 8 字節(jié)密文 enc
4、
; 內(nèi)部認證 0088000108(8 字節(jié)隨機數(shù))
; ; 得到 8 字節(jié)密文 enc'
; ; 比對密文結(jié)果 enc 和 enc', 比對成功, 開鎖, 比對不成功, 提示開鎖不成功
示例
0088000108 1122334455667788
9E 94 6C 69 B7 2F 0B 80 : 90 00
開鎖密鑰(例如 22222222222222222222222222222222)
對隨機數(shù)加密 1122334455667788
Enc(1122334455667788, 22222222222222222222222222222222) =9E946C69B72F0B80
總結(jié)
以上示例就是今天要講的內(nèi)容,本文僅僅簡單介紹了CPU卡的基礎(chǔ)應(yīng)用方法,通過此方法企業(yè)可以在非常短的時間內(nèi)實現(xiàn)CPU卡的應(yīng)用,感謝您的關(guān)注。
-
CPU卡
+關(guān)注
關(guān)注
1文章
24瀏覽量
11397 -
智能鎖
+關(guān)注
關(guān)注
18文章
1081瀏覽量
40050 -
M1卡
+關(guān)注
關(guān)注
0文章
3瀏覽量
7033
發(fā)布評論請先 登錄
兩輪電動車智能藍牙無鑰匙開鎖模組
如何利用iptables修復(fù)安全漏洞
hyper-v復(fù)制,Hyper-V 復(fù)制的操作步驟

微軟Outlook曝高危安全漏洞
FB08 1對7 U盤拷貝格式化機——高效數(shù)據(jù)復(fù)制工具

中軟高科身份證讀取及M1卡讀寫二合一機具開發(fā)文檔
安芯半導(dǎo)體推出新一代低成本高性能防復(fù)制加密芯片RJGT28E16

對稱加密技術(shù)有哪些常見的安全漏洞?
TF卡的安全性與加密技術(shù)
物聯(lián)網(wǎng)系統(tǒng)的安全漏洞分析
如何使用 IOTA?分析安全漏洞的連接嘗試

評論