ATSHA204A-MAHDA-T国产替代加密芯片
ATSHA204A-MAHDA-T是一款用于固件版權保護,防抄板仿克隆的加密芯片。包含16個密鑰存儲區用于安全存儲密鑰。同時提供OTP區用于存儲用戶固定信息。
MODSEMI的MOD208加密芯片,無論是硬件,還是指令API軟件,做到了完美兼容ATSHA204A-MAHDA-T。包括密鑰slot配置,認證指令,以及驅動方式。壓力測試比ATSHA204A更加穩定,可靠性非常好.
--ATSHA204A與MOD208加密芯片兼容性指令列表對比---
| 安全命令 | 說明 | ATSHA204A | MOD208加密芯片 |
| DeriveKey | 從目標密鑰或父密鑰獲取目標密鑰值。 | 支持 | 支持 |
| DevRev | 返回加密芯片版本信息。 | 支持 | 支持 |
| GenDig | 通過隨機數或輸入種子和密鑰產生數據保護摘要。 | 支持 | 支持 |
| HMAC | 利用 HMAC/SHA-256 計算密鑰和其他內部數據響應 | 支持 | 支持 |
| CheckMac | 驗證其他 CryptoAuthentication 芯片計算的 MAC。 | 支持 | 支持 |
| Lock | 禁止加密芯片分區的后續更新。 | 支持 | 支持 |
| MAC | 利用 SHA-256 從密鑰和其他內部數據計算應答。 | 支持 | 支持 |
| Nonce | 生成 32-byte 隨機數和內部存儲臨時數據值即 tempkey。 | 支持 | 支持,且支持真隨機 |
| Pause | 可選地將一個以外所有共享總線的定芯片送入待機狀態。 | 支持 | 支持 |
| Random | 生成隨機數。 | 支持 | 支持 |
| Read | 從芯片讀 4 字節,可使用或不使用身份認證和加密。 | 支持 | 支持 |
| SHA | 計算任何用途的 SHA256 摘要。 | 支持 | 支持 |
| UpdateExtra | 在配置分區鎖定后,更新配置分區內的字節 84 或 85。 | 支持 | 支持 |
| Write | 寫 4 或 32 字節到芯片,有或無認證與加密。 | 支持 | 支持 |
ATSHA204A-MAHDA-T 為UDFN8(或稱DNF8)封裝,MOD208同樣提供UDNF8封裝規格,也提供SOP8封裝。
密鑰配置和認證代碼完全兼容:
while (1) {printf("--> 按下按鈕開始配置MOD208加密芯片...");while (LL_GPIO_IsInputPinSet(KEY_S2_GPIO_Port, KEY_S2_Pin) == 1);printf("OK\r\n");delay_ms(1000);for (I2C_BusIdx = 0; I2C_BusIdx < MAX_I2C_BUSES; I2C_BusIdx++) {printf("------------------- START -------------------\r\n\r\n");printf("********* 當前處理第 %02u 片加密芯片 *********\r\n", I2C_BusIdx);// 初始化 CryptoAuthlib 加密庫,申請 "堆 Heap" 內存,用于存放相關對象實例cryptoauthlib_init();if (atcab_read_serial_number(sn) != SUCCESS) {printf("--> 讀取序列號失敗,請核對芯片型號是否與程序相符合...\r\n\r\n");} else {printf("--> 當前芯片序列號: 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X 0x%02X\r\n", sn[0], sn[1], sn[2], sn[3], sn[4], sn[5], sn[6], sn[7], sn[8]);}// Provision the device with the configuration and shared secret data #if IP_PROTECTION_LOAD_CONFIGif (device_provision(CRYPTOAUTH_DEVICE_AUTH_KEY_SLOT) != SUCCESS) {printf("--> 加密芯片配置失敗...\r\n");printf("--> 檢查設備然后復位重試...\r\n");}#endif// Initialize the time for the authentication to performg_auth_interval_msec = (rand() % AUTHENTICATION_RANGE_MSEC) + AUTHENTICATION_MIN_MSEC;// Forcing to do Authentication at the startg_do_auth = true;if (authenticate_application() == NOT_AUTHENTICATED) {printf("--> 加密芯片驗證失敗,1秒后重試...\r\n\r\n");delay_ms(1000);}總結
以上是生活随笔為你收集整理的ATSHA204A-MAHDA-T国产替代加密芯片的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [自建题库]c认证初级
- 下一篇: 企业wifi安全管家,贴身又暖心的wif