安全 SD 卡技术手册
Mobile:(+86)137 1829 1752
Mail:helinyong@wisectech.com.cn
2
目录
1 概述........................................................................... 3
1.1 基本概念 ....................................................................... 3
1.2 符号定义 ....................................................................... 3
2
原理 ....................................................................... 4
2.1 第一代安全 SD 芯片 .............................................................. 4
2.2 第二代安全 SD 芯片 .............................................................. 5
2.3 冲击-响应双因子认证 ............................................................ 6
3 应用场景 ....................................................................... 6
3.1 手机支付 ....................................................................... 6
3.2 移动电子政务 ................................................................... 7
3.3 版权管理 ....................................................................... 7
3.4 移动终端数据保护 ............................................................... 7
4 规格参数 ....................................................................... 8
4.1 性能方面 ....................................................................... 8
4.2 硬件方面 ....................................................................... 8
5 安全体系 ....................................................................... 8
5.1 安全机制 ....................................................................... 8
5.2 安全算法 ....................................................................... 9
6 芯片应用场景扩展 ............................................................... 9
6.1 射频安全 SD卡 .................................................................. 9
6.2 安全 SD_NFC 卡 .................................................................. 9
6.3 EMI 加密模块 .................................................................... 9
附录: ............................................................................. 9
1 概述
1.1 基本概念
对称算法:即传统密码算法,加密密钥和解密密钥相同。(SM1,DES)
非对称算法:指一个加密算法的加密密钥和解密密钥是不一样的,或者说不能由其中一个
密钥推导出另一个密钥。(RSA,ECC,SM2)
数字签名:数字签名是指用密码算法,对待发的数据进行加密处理,生成一段数据摘要信
息附在原文上一起发送,接受方对其进行验证,判断原文真伪。这种数字签名适用于对大文
件的处理,对于那些小文件的数据签名,则不预先做数据摘要,而直接将原文进行加密处理。
数字签名在 PKI 中提供数据完整性保护和提供不可否认性服务。
消息摘要:(Message Digest)又称为数字摘要(Digital Digest)。它是一个唯一对应一
个消息或文本的固定长度的值,它由一个单向 Hash 加密
对消息进行作用而产生。
(SM3,SHA1,SHA256,MD5)
数字信封:是信息发送端用接收端的公钥,将一个通信密钥(即对称密钥)给予加密,生成
一个数字信封。
双因子认证:是指结合密码以及实物两种条件对用户进行认证的方法。(PIN 码和实物 key)
数字证书:即电子证书,简称证书。数字证书、电子证书和证书都是 X.509 公钥证书的同
义词,符合 ITU-T X.509 V3 标准。
1.2 符号定义
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:会话密钥处于层次化密钥结构中的最低层,仅在一次会话中使用的密钥。
4
2 设计原理
安全 SD 卡采用了双芯片的物理架构,使用 SDC芯片和 NF 芯片封装在一起,将移动设备 SD卡和智
能卡技术结合起来,实现了既支持安全功能、又带有巨量用户数据存储空间的复合型设备,并且还可以
实现存储的用户数据密文保存的应用。随着移动互联网的蓬勃发展,各种手机上的应用层出不穷,对移
动安全的要求也越来越高。安全存储主要是对移动终端内的数据进行保护,是移动安全的关键部分。
2.1 第一代安全 SD 芯片
安全 SD 卡,为移动应用客户带来更加安全的移动存储解决
,第一代安全 SD 芯片主要应用领域
集中在认证功能,被称为 SD-key 芯片,它们的主要应用场景是针对金融领域的移动支付。第一代 SD-key
芯片的内部结构是由三颗芯片构成,SD控制器,安全芯片,Flash 存储。芯片的主控制是由 SD 控制器
完成,安全芯片作为一个从属芯片,只是实现一部分具体功能。这样的结构在对数据进行加密存储时具
有很大的局限性。具体如下:
首先:存储过程复杂,无法做到通用软件文档透明加解密: 一代 SD-key 在对文件做加密存储时必
须调用芯片的 API 接口指令,首先调用加密 API把数据经芯片加密后回传上层应用软件,上层软件再调
用存储 API把数据保存到存储内。通用的软件只有改底层驱动才能做到 API 的调用,所以大多数的软件
是无法做到透明加解密的,只有专用的软件才能由软件供应商修改存储模式,实现透明加解密。
其次:加解密速度低,SD 控制器与安全芯片的通讯接口为 SPI 串口,SD-key 芯片中 SPI 的速度最
大为 1MB/s,加密存储过程中经过多次的 API 调用,实际的读写速度大约在 200KB 左右,远远满足不了
存储速度的要求。安全 SD 卡不仅具有认证 key的功能同时在芯片架构上对数据加密存储做了结构性的
优化。
5
2.2 第二代安全 SD 芯片
安全芯片内部自带 SD控制器功能,芯片的主控由安全芯片掌管,所有内部的控制指令全部由安全
芯片下发,同时安全芯片和SD控制器模块之间额数据传输不再经过SPI接口,而是通过内部总线传输,
提高了芯片的性能。
对安全 SD 卡内的安全芯片操作可以通过存储通道接口进行,应用接口有两种方式,一是单文件方
式,一是多文件方式;这些文件定义为智能 SD卡接口文件(SCIF)。接口文件可预置于智能 SD 卡中,
也可在应用通讯前进行创建。
单文件方式:在智能 SD 卡存储区的根目录上存在一个文件,终端通过这个文件建立与嵌入在智能
SD 卡内的安全芯片之间的数据传输通道,作为应用接口用于应用通讯。
多文件方式:在智能 SD卡存储区的根目录上存在一个文件夹,该文件夹中存在多个文件,终端通
过这些文件建立与嵌入在智能 SD 卡内的安全芯片关联的数据传输通道,作为应用接口用于应用通讯。
手机,PAD端
卡端
手机及PAD应用框图
各类应用+应用组件(JAVA)
操作系统(Linux)
安全接口库
(CSP/PKCS11/DLL)
(SDIO驱动)
(SD/MiniSD/MICRO SD)
C/C++库集与Android运行库
SDIF固件驱动(标准读写,私有读写)
安全算法模块(SM1,SM2)
FTL存储管理
NFC固件驱动(BCH纠正校验)
NandFlash芯片
(三星,镁光,东芝)
SDC芯片
SD
协
议
私钥,证书存储,组/拆信封
6
实现功能:大数据量的加密存储,安全的身份认证。
2.3 冲击-响应双因子认证
首先需要客户端通过 PIN 码的输入获取密钥的使用权,PIN 输入错误次数超过上限就将安全 SD 设
备锁死。
客户端通过服务器获取或者自身产生的随机数,以文件接口模式发送随机数给安全 SD 设备,安全
SD 设备在收到此冲击后,使用私钥对随机数进行数字签名,并在客户端下次读取操作时返回,客户端通
过设备公钥对设备进行签名验证操作,如果通过签名验证则认为此公钥和安全 SD 设备为一个整体。随
后客户端可以使用数字信封的形式将敏感数据信息加密发送。
3 应用场景
3.1 手机支付
手机支付需要芯片内有 cos 程序处理 APDU 的指令,完成相关的电子钱包的操作,这个指令通过 SD
接口文件完成指令的发送与响应。用户只需要到银行购买安全 SD 卡产品,在银行柜台即可办理安全 SD
卡和个人银行账户的绑定,办理模式和传统的 USB key 是一致的。用户在手机上安装手机银行客户端软
件,即可利用此客户端软件登录手机银行,享受随时随地的在线金融交易。安全 SD 卡内装有用户的个
人数字证书和密钥。用户转账及其他涉及资金转移的交易,都会由安全 SD 卡内的安全模块对交易数据
进行签名,确保了交易过程中的安全性,防止了骗签、篡改交易数据等行为。手机银行客户端软件与银
行服务器之间的连接可以采用加密的通讯,杜绝交易内容在网络传输中被窃听或者篡改的可能。此应用
场景需要遵守 PKI 体系的
,需要给客户端提供 PKCS#11 标准的接口,证书格式需要遵从 X.509 v3
证书的标准要求,指令传输需要符合智能卡支付技术规范。
7
3.2 移动电子政务
宽带与 3G 网络的普及,使在公务旅途乃至家庭中办公具有了网络传输的保证,因此也自然地引出
了摆脱工位束缚进行“全天候”办公、提高时间利用效率的需求。移动互联网、移动内联网乃至移动物
联网的推广,是采用便携设备在移动状态下进行业务具备了可实现性。Iphone/ipad/GalaxyTab 等移动
终端设备渐渐成为主流,其便捷的使用方式也日益吸引着企业用户尝试将其应用到工作相关的领域。通
过安全 SD 卡中身份认证的功能实现移动设备到服务器上的挂接,利用卡中签名的功能实现对公共文件
的修改,批复等日常办公中的操作。
3.3 版权管理
对于安全SD卡内的文件要求只能被查看,不能复制,删除的操作,维护资料创作者的合法权益不受
损害,数字版权管理是随着电子信息在互联网上的广泛传播而发展起来的一种新技术。数字版权管理的
核心技术是内容与设备的绑定,通过加密和认证技术对内容的流转进行控制。
客户端软件实现内容:(保存于客户端并运行于客户端)
1. 文件浏览。(用户模式只有打开功能,没有复制,粘贴,写后无保存确认,需要软件屏蔽此类消息)
2. 使用权限管理部分(管理员模式 用户模式)
3. 通过 SDIO 的私有操作完成消息传输(数字信封模式)
4. 浏览的数据需要内存保护。(或者使用客户端解密)
5. 安全算法中间件的实现(CSP/PKCS#11/DLL)。
6. SD 接口驱动层及相关私有读写的实现。
实现技术分析:
通过全局钩子来实现,屏蔽所有的复制和粘贴消息等需要屏蔽的消息。
安全芯片端实现内容:
1. 用户,管理员登陆需要 PIN 验证,及超次数登陆自毁
2. 客户端发送数字信封,芯片端拆解后获取消息内容。(双方确认客户端与芯片端)
SM2,SM3
3. 原始数据的 SM1 加密(保证 nandflash 中保存为密文)
4. 用户模式只能通过客户端查看存储内容。管理员可以进行各类操作。
5. 保存安全中间件,应用程序,实现自动安装。
6. 安全 SD 卡的其它基本功能
3.4 移动终端数据保护
移动终端内部存储用户的通讯录、短信、银行账号、口令、通话
,照片,视频等用户隐私信息。
移动终端的便携性特点,经常随身携带,被盗和丢失现象极其严重,如果这些信息被他人非法获得,很
可能给用户造成直接的经济损失。移动终端存在的安全隐患可能会威胁到个人隐私、私有财产甚于国家
安全。安全 SD卡可以生成和存放安全密钥,实现对个人隐私数据的加密保护。使用安全 SD 卡需要通过
8
输入正确的口令获取密钥的使用权。如果多次输入错误的口令,安全 SD 卡会锁定,这种机制可以有效
防止猜测口令的攻击。对集团用户,可以建立管理中心,提供安全 SD 卡的解锁功能,这样,在保证数
据隐私性的同时,也保证了数据的可用性。此应用场景可以使用 CPK 体系下完成,使用标识认证的方式
完成身份确认。
4 规格参数
4.1 性能方面
SM1 在 40MHz ECB 模式下,加密 18.25MB/S,解密 18.25MB/S。
DES 在 40MHz ECB 模式下,加密 16.25MB/S,解密 16.25MB/S。
SM2 在密钥长度为 192bit,40MHz 下,加密 31 次/S,解密 49 次/S,数字签名 61 次/S,签名验证
35 次/S,密钥对生成 75 次/S。
SM2 在密钥长度为 256bit,40MHz 下,加密 17 次/S,解密 29 次/S,数字签名 35 次/S,签名验证
18 次/S,密钥对生成 38 次/S。
RSA(非 CRT)在密钥长度为 1024bit,40MHz 下,数字签名 11 次/S,密钥对生成 1.3S/次。
RSA(非 CRT)在密钥长度为 2048bit,40MHz 下,数字签名 1 次/S,密钥对生成 12.14S/次
RSA(CRT)在密钥长度为 1024bit,40MHz 下,数字签名 40 次/S
RSA(CRT)在密钥长度为 2048bit,40MHz 下,数字签名 5 次/S
4.2 硬件方面
工作温度:-25℃ ~85℃
存储温度:-40℃ ~125℃
工作电压:2.5V~3.6V(SD 卡)
ESD >4000V(HBM)
5 安全体系
5.1 安全机制
芯片内部使用 CPU 内部的 SMPU 和 SOC 的 MPU 双重存储保护单元模块对芯片内部的程序存储区域数
据区进行安全保护,确保了安全算法的密钥不出芯片。
芯片支持固件功能。固件程序可配置一块 NVM 数据区作为安全算法区,用于下载的安全算法库。对
于这块 NVM,固件可以读、写、执行,用户只可执行。安全算法区是否存在、位置和大小可由固件程序
进行配置。
为了提高芯片的抗攻击性,芯片提供特殊的算法支持 RAM 数据加密和(或)地址乱序,使 RAM 中数
据受到保护。为了进一步提高安全性,向用户提供加密配置寄存器,每次复位后,用户可根据需要设置
一次该寄存器,以获得不同的乱序结果。
芯片提供特殊的算法支持 NVM数据加密和地址乱序,使 NVM 中的数据受到保护。如何加密由硬线逻
辑决定,用户不可干预。
9
5.2 安全算法
纯硬件实现的 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 的消息摘要算法。
6 芯片应用场景扩展
6.1 射频安全 SD卡
利用 SDC 芯片内部的 TypeA 接口,将天线和 SDC 芯片与 NF 芯片及射频前端的模拟芯片一同封
装在一起,可以实现射频安全 SD 卡,可以完成部分手机的近场支付功能。
6.2 安全 SD_NFC 卡
利用 SDC 芯片内部的 SWP 接口,将 SWP 接口封装到标准 SD 卡接口上未使用的引脚上,外接的
CLF 射频前端模块可以设计到移动存储设备上,可以完成全部手机的近场支持的需求。
6.3 EMI 加密模块
使用 SDC 芯片为一个加密模块,使用 EMI 接口将 SDC 芯片作为一个外扩的 RAM 使用,外部的
host 设备通过地址和指令对加密模块操作,完成对称及非对称的算法实现。
附录:
数据摘要的数字签名