前言
早在 2008年,M1卡的安全算法就被破解,這意味著當時全球多達10億張的M1卡都存在被偽造、復制的風險,近幾年網絡媒體也針對智能鎖卡片鑰匙的安全問題做了很多現場測試。測試表明,一部分智能鎖產品使用普通M1卡進行開鎖驗證,未做加密導致可以備輕易復制,造成安全隱患。本文旨在通過簡單的幾個步驟向大家介紹更加安全的CPU加密卡的實現方式。
一、CPU 卡開鎖密鑰產生機制
1、 用 DEV_UID(16 位, 不足 16 位后面補 0)做為 3DES 加密密鑰對 4 字節卡片唯一識別碼 UID(不足 16 位后面補 0)進行 3DES 加密得到 16 位加密數據 DATA_ENC。
2、 DATA_ENC 做為 CPU 卡開鎖密鑰 UNLOCK_KEY。
注: 加密密鑰由客戶自定義, 以上加密方式只是示例。
二、 CPU 卡綁卡流程
1、
根據《CPU 卡開鎖密鑰產生機制》 , 產生開鎖密鑰
2、
;選擇卡應用 00A4 0400 09 A000000003D6D0D5FD
3、
; 得隨機數 0084 0000 08
; ; 例如卡片應用主控密鑰為(112233445566FFFFFFFFFFFFFFFFFFFF)
; ; 用卡片應用主控密鑰(112233445566FFFFFFFFFFFFFFFFFFFF) 對隨機數做 3DES 加密
; 對卡片做外部認證, 獲取更新密鑰的權限, enc 為加密的結果 0082 0000 08 enc(last,112233445566FFFFFFFFFFFFFFFFFFFF)
4、
; 得隨機數
0084 0000 08
開鎖密鑰(例如是 22222222222222222222222222222222)
; ; 先用主控密鑰(112233445566FFFFFFFFFFFFFFFFFFFF) 對(密鑰頭 5 字節+要替換的密鑰
16 字節) 加密得到 24 字節加密結果,
15300000003322222222222222222222222222222222
然后用主控密鑰(112233445566FFFFFFFFFFFFFFFFFFFF) 對(指令頭 5 字節+加密結果 24 字
節) 做 mac 計算得到 4 字節 mac 值。
; 更新開鎖密鑰
0084 0000 04
84D430011C
DATA_ENC(300000003322222222222222222222222222222222,112233445566FFFFFFFFFFFFFFFF
FFFF)
MAC(84D4 3001 1C DATA_ENC(3000000033
22222222222222222222222222222222,112233445566FFFFFFFFFFFFFFFFFFFF),112233445566FF
FFFFFFFFFFFFFFFFFF,LAST)
詳細過程如下:
隨機數: 903E12B0ABBA8019 9000
加密密鑰數據原始內容: 15300000003322222222222222222222222222222222
更新密鑰線路保護密鑰: 112233445566FFFFFFFFFFFFFFFFFFFF
加密密鑰數據明文內容: 153000000033222222222222222222222222222222228000 //如加
密數據補足 8 字節的倍數, 就后補 80000...湊足 8 字節整倍
數
加密密鑰數據密文內容: 47E16367A4F223D99131D48C0FCC7B4CA507087AF537D88B
更新密鑰命令: 84D430011C 47E16367A4F223D99131D48C0FCC7B4CA507087AF537D88B
即: 84D430011C47E16367A4F223D99131D48C0FCC7B4CA507087AF537D88B800000
計算 mac 結果: E47CC048
更新密鑰命令: 84D430011C 47E16367A4F223D99131D48C0FCC7B4CA507087AF537D88B
E47CC048三、 CPU 卡開鎖流程
1、
根據《CPU 卡開鎖密鑰產生機制》 , 產生開鎖密鑰
2、
;選擇卡應用 00A4 0400 09 A000000003D6D0D5FD
3、
; 門鎖產生 8 字節隨機數
; 用開鎖密鑰(例如 22222222222222222222222222222222) 對 8 字節隨機數加密, 得到 8 字節密文 enc
4、
; 內部認證 0088000108(8 字節隨機數)
; ; 得到 8 字節密文 enc'
; ; 比對密文結果 enc 和 enc', 比對成功, 開鎖, 比對不成功, 提示開鎖不成功
示例
0088000108 1122334455667788
9E 94 6C 69 B7 2F 0B 80 : 90 00
開鎖密鑰(例如 22222222222222222222222222222222)
對隨機數加密 1122334455667788
Enc(1122334455667788, 22222222222222222222222222222222) =9E946C69B72F0B80總結
以上示例就是今天要講的內容,本文僅僅簡單介紹了CPU卡的基礎應用方法,通過此方法企業可以在非常短的時間內實現CPU卡的應用,感謝您的關注。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
CPU卡
+關注
關注
1文章
24瀏覽量
11644 -
智能鎖
+關注
關注
18文章
1129瀏覽量
41338 -
M1卡
+關注
關注
0文章
3瀏覽量
7223
發布評論請先 登錄
相關推薦
熱點推薦
SASETalk | Z生代工程師的「立體化」安全實踐
朱利亞磐時功能安全工程師熟悉ISO26262、ISO21448,具有全智能主動懸架、線控制動、線控轉向等系統功能安全設計與認證經驗。精通Carsim+Simuli
培訓回顧 | 磐時功能安全系列課程順利啟動
近期,磐時功能安全系列培訓前兩期課程相繼圓滿舉辦,分別聚焦“功能安全工程師”和“汽車安全經理”方向,由行業資深專家針對性授課,精準匹配不同崗位的能力需求,收獲了參訓學員的高度認可。首場
什么是BSP工程師
智能門鎖。
二、嵌入式工程師
隨著嵌入式設備應用越來越廣泛,相關人才的需求也越來越大。那么相關的人才都有哪些呢?其中最主要的就是嵌入式工程師。嵌入式
發表于 01-13 06:54
硬件加密引擎在保障數據安全方面有哪些優勢呢?
1Gbps 以上)完成實時加密,確保數據傳輸不延遲。
低功耗特性:專用硬件電路的運算邏輯更精簡,相比軟件在操作系統層的復雜調度,能耗降低 50% 以上。這對依賴電池供電的物聯網終端(如智能門
發表于 11-17 06:47
芯源半導體安全芯片技術原理
聯網系統,獲取系統權限或發送虛假信息。比如,偽造智能門鎖的身份信息,可能非法打開門鎖;偽造工業傳感器身份,向控制系統發送錯誤數據,影響生產決策。?
設備固件安全威脅:設備固件可能被篡改
發表于 11-13 07:29
學習物聯網可以做什么工作?
市場需求,制定產品規劃。 系統集成工程師:負責將不同的物聯網設備和系統進行整合,實現設備之間的聯通和數據共享。 安全工程師:負責保障物聯網系統和設備的安全性,包括設備的數據加密
發表于 10-11 16:40
嵌入式工程師的進階之路
嵌入式工程師的進階之路 (一)初級工程師(0-3 年)核心技能:
單片機開發:STM32F103系列 GPIO/USART/SPI 外設驅動,能完成 LED 呼吸燈、按鍵檢測、串口通信等基礎項目
發表于 08-13 11:08
低功耗藍牙智能門鎖應用
使用場景,提供高效、便捷的后臺管理服務,在線實現授權、鑰匙分發等功能。
應用:
1、家庭用戶:通過手機APP控制管理,保障家庭安全,同時可將家庭門鎖和其他
發表于 06-25 09:47
如何維護i.MX6ULL的安全內核?
使用的是 v.LF5.15.71_2.2.0,其中包括 Yocto Kirkstone。但是,內核 5.15.71 存在許多安全漏洞:根據 cvedetails.com 為 2077。修補所有這些幾乎是不可行的,即使使用了
發表于 04-01 08:28
兩輪電動車智能藍牙無鑰匙開鎖模組
的低功耗藍牙模組。通過這一模組,用戶可以輕松實現自動開鎖與關鎖的功能,無需攜帶物理鑰匙,即可遠程操控車輛。這不僅提升了用戶的使用體驗,還大大增強了車輛的安全性。功能特點:? 高效便捷:通過BLE5.4
發表于 03-31 10:49
如何利用iptables修復安全漏洞
隨著網絡安全威脅的不斷增加,安全中心掃描越來越頻繁。尤其是在大數據安全中心的漏洞報告中,許多漏洞在生產環境中無法通過服務
在STM32微控制器中實現數據加密的方法
內存區域的訪問,進而增強系統的安全性。通過配置MPU,可以防止緩沖區溢出和其他內存相關的安全漏洞。
·
唯一ID加密:
·
· 很多STM32微控制器具有唯一標識碼(如96位ID)。可以利用這個唯一ID
發表于 03-07 07:30
智能門鎖M1卡鑰匙易被復制存在安全漏洞?資深安全工程師教你輕松升級CPU加密防復制卡
評論