TF卡加密芯片
基本概念
對稱算法:即傳統密碼算法,加密密鑰和解密密鑰相同。(SM1,DES)
非對稱算法:指一個加密算法的加密密鑰和解密密鑰是不一樣的,或者說不能由其中一個密鑰推導出另一個密鑰。(RSA,ECC,SM2)
數字簽名:數字簽名是指用密碼算法,對待發的數據進行加密處理,生成一段數據摘要信息附在原文上一起發送,接受方對其進行驗證,判斷原文真僞。這種數字簽名適用於對大文件的處理,對於那些小文件的數據簽名,則不預先做數據摘要,而直接將原文進行加密處理。數字簽名在PKI中提供數據完整性保護和提供不可否認性服務。
消息摘要:(Message Digest)又稱爲數字摘要(Digital Digest)。它是一個唯一對應一個消息或文本的固定長度的值,它由一個單向Hash加密函數對消息進行作用而產生。(SM3,SHA1,SHA256,MD5)
數字信封:是信息發送端用接收端的公鑰,將一個通信密鑰(即對稱密鑰)給予加密,生成一個數字信封。
雙因子認證:是指結合密碼以及實物兩種條件對用戶進行認證的方法。(PIN碼和實物key)
數字證書:即電子證書,簡稱證書。數字證書、電子證書和證書都是X.509公鑰證書的同義詞,符合ITU-T X.509 V3標準。
PKI:(Public Key Infrastructure ) 即"公鑰基礎設施",是一種遵循既定標準的密鑰管理平臺,它能夠爲所有網絡應用提供加密和數字簽名等密碼服務及所必需的密鑰和證書管理體系。
CPK:(Combined Public Key)即組合公鑰,是一種加密算法,以很小的資源,生成大規模密鑰。
SDC芯片:SD接口控制器(本芯片帶安全算法模塊,可實現SM1/DES, SM2/RSA算法)
NF芯片:nandflash大容量存儲芯片
CA:是PKI系統中通信雙方都信任的實體,被稱爲可信第三方(Trusted Third Party,簡稱TTP)。
X509:是ISO和CCITT/ITU-T的X.500標準系列中的一部分,已達到標準化的最高水平,相當穩定。
LDAP(Lightweight Directory Access Protocol):是輕量級目錄訪問協議,是X.500的一個子集。還包含兼容性的內容。
Session Key:會話密鑰處於層次化密鑰結構中的最低層,僅在一次會話中使用的密鑰。
安全SD卡採用了雙芯片的物理架構,使用SDC芯片和NF芯片封裝在一起,將移動設備SD卡和智能卡技術結合起來,實現了既支持安全功能、又帶有巨量用戶數據存儲空間的複合型設備,並且還可以實現存儲的用戶數據密文保存的應用。隨着移動互聯網的蓬勃發展,各種手機上的應用層出不窮,對移動安全的要求也越來越高。安全存儲主要是對移動終端內的數據進行保護,是移動安全的關鍵部分。
安全SD芯片簡介
安全芯片內部自帶SD控制器功能,芯片的主控由安全芯片掌管,所有內部的控制指令全部由安全芯片下發,同時安全芯片和SD控制器模塊之間額數據傳輸不再經過SPI接口,而是通過內部總線傳輸,提高了芯片的性能。
對安全SD卡內的安全芯片操作可以通過存儲通道接口進行,應用接口有兩種方式,一是單文件方式,一是多文件方式;這些文件定義爲智能SD卡接口文件(SCIF)。接口文件可預置於智能SD卡中,也可在應用通訊前進行創建。
單文件方式:在智能SD卡存儲區的根目錄上存在一個文件,終端通過這個文件建立與嵌入在智能SD卡內的安全芯片之間的數據傳輸通道,作爲應用接口用於應用通訊。
多文件方式:在智能SD卡存儲區的根目錄上存在一個文件夾,該文件夾中存在多個文件,終端通過這些文件建立與嵌入在智能SD卡內的安全芯片關聯的數據傳輸通道,作爲應用接口用於應用通訊。
實現功能:大數據量的加密存儲,安全的身份認證。
首先需要客戶端通過PIN碼的輸入獲取密鑰的使用權,PIN輸入錯誤次數超過上限就將安全SD設備鎖死。
客戶端通過服務器獲取或者自身產生的隨機數,以文件接口模式發送隨機數給安全SD設備,安全SD設備在收到此衝擊後,使用私鑰對隨機數進行數字簽名,並在客戶端下次讀取操作時返回,客戶端通過設備公鑰對設備進行簽名驗證操作,如果通過簽名驗證則認爲此公鑰和安全SD設備爲一個整體。隨後客戶端可以使用數字信封的形式將敏感數據信息加密發送。
手機支付需要芯片內有cos程序處理APDU的指令,完成相關的電子錢包的操作,這個指令通過SD接口文件完成指令的發送與響應。用戶只需要到銀行購買安全SD卡產品,在銀行櫃檯即可辦理安全SD卡和個人銀行賬戶的綁定,辦理模式和傳統的USB key是一致的。用戶在手機上安裝手機銀行客戶端軟件,即可利用此客戶端軟件登錄手機銀行,享受隨時隨地的在線金融交易。安全SD卡內裝有用戶的個人數字證書和密鑰。用戶轉賬及其他涉及資金轉移的交易,都會由安全SD卡內的安全模塊對交易數據進行簽名,確保了交易過程中的安全性,防止了騙籤、篡改交易數據等行爲。手機銀行客戶端軟件與銀行服務器之間的連接可以採用加密的通訊,杜絕交易內容在網絡傳輸中被竊聽或者篡改的可能。此應用場景需要遵守PKI體系的規範,需要給客戶端提供PKCS#11標準的接口,證書格式需要遵從X.509 v3證書的標準要求,指令傳輸需要符合智能卡支付技術規範。
實現技術分析: 通過全局鉤子來實現,屏蔽所有的複製和粘貼消息等需要屏蔽的消息。 安全芯片端實現內容: 1.SM1在40MHz ECB模式下,加密18.25MB/S,解密18.25MB/S。 2.DES在40MHz ECB模式下,加密16.25MB/S,解密16.25MB/S。 3.SM2在密鑰長度爲192bit,40MHz下,加密31次/S,解密49次/S,數字簽名61次/S,簽名驗證35次/S,密鑰對生成75次/S。 4.SM2在密鑰長度爲256bit,40MHz下,加密17次/S,解密29次/S,數字簽名35次/S,簽名驗證18次/S,密鑰對生成38次/S。 5.RSA(非CRT)在密鑰長度爲1024bit,40MHz下,數字簽名11次/S,密鑰對生成1.3S/次。 6.RSA(非CRT)在密鑰長度爲2048bit,40MHz下,數字簽名1次/S,密鑰對生成12.14S/次 7.RSA(CRT)在密鑰長度爲1024bit,40MHz下,數字簽名40次/S 8.RSA(CRT)在密鑰長度爲2048bit,40MHz下,數字簽名5次/S 工作溫度:-25℃ ~ 存儲溫度:-40℃ ~ 工作電壓:2.5V~3.6V(SD卡) ESD >4000V(HBM) 芯片內部使用CPU內部的SMPU和SOC的MPU雙重存儲保護單元模塊對芯片內部的程序存儲區域數據區進行安全保護,確保了安全算法的密鑰不出芯片。 芯片支持固件功能。固件程序可配置一塊NVM數據區作爲安全算法區,用於下載的安全算法庫。對於這塊NVM,固件可以讀、寫、執行,用戶只可執行。安全算法區是否存在、位置和大小可由固件程序進行配置。 爲了提高芯片的抗***性,芯片提供特殊的算法支持RAM 數據加密和(或)地址亂序,使RAM中數據受到保護。爲了進一步提高安全性,向用戶提供加密配置寄存器,每次復位後,用戶可根據需要設置一次該寄存器,以獲得不同的亂序結果。 芯片提供特殊的算法支持NVM數據加密和地址亂序,使NVM中的數據受到保護。如何加密由硬線邏輯決定,用戶不可干預。 純硬件實現的SM1/DES,軟硬結合實現的SM2/RSA,純軟件實現的SHA1/SM3的加密算法爲本芯片提供了對稱算法及非對稱算法,消息摘要算法,從而滿足應用層上的數據加密,解密,消息的簽名,簽名驗證,密鑰交互等功能,數字信封接收發送等功能。 支持SM1的ECB,CBC,OFB、CFB四種模式,支持DES/3DES,支持ECB/CBC模式,3DES算法支持2-KEY、3-KEY方式可配置。支持RSA(CRT,非CRT)算法1024bit,2048bit模式,支持SM2(192bit,256bit,384bit,521bit)的密鑰對生成,加密,解密,簽名,簽名驗證,密鑰對交互的基礎功能,支持SM3,SHA1,SHA256的消息摘要算法。 數據摘要的數字簽名1 用戶,管理員登陸需要PIN驗證,及超次數登陸自毀
2 客戶端發送數字信封,芯片端拆解後獲取消息內容。(雙方確認客戶端與芯片端)SM2,SM3
3 原始數據的SM1加密(保證nandflash中保存爲密文)
4 用戶模式只能通過客戶端查看存儲內容。管理員可以進行各類操作。
5 保存安全中間件,應用程序,實現自動安裝。
6 安全SD卡的其它基本功能