没有合适的资源?快使用搜索试试~ 我知道了~
首页RJMU401安全芯片编程手册VersionA_v3.5.0.pdf
资源详情
资源评论
资源推荐

RJMU401 安全芯片编程手册 Runjet
1
RJMU401 安全芯片编程手册
功能
存储器
— 8KB ROM
— 18K RAM
— 128~550KB的FLASH存储器
— 采用小端存储格式
— 采用软内核技术,防止外部对其进行扫
描
时钟、复位和电源管理
— 1.6V~5.5V供电
— 内置32 MHz高速RC振荡器,支持3/4分
频,获得
8M工作频率
— 内置多功能时钟发生电路
— 内置32 KHz低功耗RC振荡器
多种密码算法
— 对称算法:DES/3DES、AES、SM1、SM4
— 非对称算法:RSA、SM2
— 摘要算法:SM3、SHA-256
封装
VSOP8L
SSOP20L
安全特性
—
存储总线检测功能,防FIA攻击
— 抗EMA/DEMA攻击
— 硬件CRC16/32电路校验
— 硬件真随机发生器
— 防篡改检测电路
外围接口
— 1路智能卡接口,符合ISO7816标准,支
持T=0/T=1协议
— 1路SPI主从接口

RJMU401 安全芯片编程手册 Runjet
2
目录
1 概述
.................................................................................................................................................
4
2 SPI 接口
............................................................................................................................................
4
2.1 接口说明
...............................................................................................................................
4
2.2 返回状态字
..........................................................................................................................
4
2.3 SPI
指令格式
.........................................................................................................................
5
2.4 SPI
操作基本流程图
.............................................................................................................
5
2.5
安全芯片
SPI
引脚说明
.......................................................................................................
6
2.6 SPI
操作状态机制
.................................................................................................................
6
3
加密功能
.........................................................................................................................................
6
3.1 AES 功能
................................................................................................................................
6
3.1.1 指令说明
...................................................................................................................
7
3.1.2 加载 AES 密钥
...........................................................................................................
7
3.1.3 AES 加解密
.................................................................................................................
8
3.2 DES/TDES 功能
......................................................................................................................
8
3.2.1 DES/TDES 指令
...........................................................................................................
9
3.2.2 装载 DES/TDES 密钥流程
.........................................................................................
9
3.2.3 DES/TDES
加解密
.....................................................................................................
10
3.3 RSA
功能
..............................................................................................................................
10
3.3.1 RSA
各操作指令码
..................................................................................................
11
3.3.2 RSA
产生密钥对
......................................................................................................
12
3.3.3
获取
RSA
模数
N
和私钥
........................................................................................
12
3.3.4 装载 RSA 密钥对
....................................................................................................
13
3.3.5 RSA 加解密
..............................................................................................................
13
3.4 SM1 功能
.............................................................................................................................
14
3.4.1 SM1 各操作指令码
.................................................................................................
14
3.4.2 轮数和密钥长度配置
.............................................................................................
14
3.4.3 装载 SM1 密钥对
...................................................................................................
15
3.4.4 SM1 加解密
.............................................................................................................
16
3.5 SM2
功能
.............................................................................................................................
16
3.5.1 SM2
各操作指令码
.................................................................................................
16
3.5.2
产生
SM2
密钥对
...................................................................................................
18
3.5.3
获取
SM2
密钥对
...................................................................................................
19
3.5.4
装载
SM2
密钥对
....................................................................................................
19
3.5.5 SM2 加解密
.............................................................................................................
20
3.5.6 SM2 签名
.................................................................................................................
20
3.5.7 SM2 验签
.................................................................................................................
21
3.5.8 SM2 设置 UID
..........................................................................................................
21
3.5.9 SM2 读 UID
..............................................................................................................
22
3.6 SM3/SHA256 功能
..............................................................................................................
22
3.6.1 SM3/SHA256 操作指令码
.......................................................................................
23
3.6.2 SM3/SHA256
哈希计算
...........................................................................................
23
3.7 SM4
功能
.............................................................................................................................
24

RJMU401 安全芯片编程手册 Runjet
3
3.7.1 SM4 各操作指令码
.................................................................................................
24
3.7.2 装载 SM4 密钥
........................................................................................................
24
3.7.3 SM4 加解密
.............................................................................................................
25
4 其他操作接口指令
.......................................................................................................................
26
4.1 获取芯片 ID
.......................................................................................................................
26
4.2 软复位 RJMU401 芯片
......................................................................................................
26
4.3
获取随机数指令
................................................................................................................
26
4.4
系统复原
............................................................................................................................
27
4.5
读版本号
............................................................................................................................
27
4.6
数据存储
............................................................................................................................
27
4.6.1
数据存储操作码
.....................................................................................................
27
4.6.2 擦除指令
..................................................................................................................
28
4.6.3 读数据指令
.............................................................................................................
28
4.6.4 写数据指令
.............................................................................................................
29
5 安全芯片操作注意事项
...............................................................................................................
30
5.1 指令执行注意事项
............................................................................................................
30
5.2 芯片操作注意事项
............................................................................................................
30
6 附录
...............................................................................................................................................
31
附录
A
........................................................................................................................................
31

RJMU401 安全芯片编程手册 Runjet
4
1
概述
RJMU401 安全芯片是一个基于 32 位 RISC 处理器的 SOC 芯片,具备高处理能力、高安
全性、低功耗、低成本等特点。该芯片可用于
SIM
卡芯片,支持无线支付应用,也可以用
于金融卡。
该芯片采用
ARM SC100
核,使用
AHB+APB
总线结构的
SOC
,内置定时器、终端控制器、
系统控制器等完备的安全机制,同时内置多种加密算法,支持对称加密算法
DES/3DES
、
AES
、
国密
SM1
、国密
SM4;
非对称加密算法
RSA
、国密
SM2;
摘要算法国密
SM3
、
SHA-256
,除此
之外芯片内设计有频率安全探测器,以保证芯片在非正常工作条件下的操作安全。芯片内置
大容量 ROM、SRAM 以及 Flash 存储器,能够满足复杂操作系统以及应用程序开发的需求。
芯片支持多种对外通讯接口,包括 ISO7816-3、SPI。
RJMU401 安全芯片提供 AES、DES/3DES、RSA、SM1、SM2、SM3/SHA256、SM4 等加密
算法。支持 ISO7816 和 SPI 接口通信,片上自带 512k 字节的片上 eflash 存储空间,可根据用
户命令完成相应的数据存储、密钥生成及加解密等操作。
2 SPI
接口
2.1 接口说明
芯片采用 SPI 接口进行通信,单包数据最大为 1024Byte,通信数据依从高字节在前,低
字节在后顺序进行通信,在端口连接上除须连接 SPI 传统四根线外,还需要连接一根 Ready
信号线(从机的 PIN4/PIN13 管脚,默认情况下使用 PIN13),当 Ready 线为高电平时表示可
以对从机进行数据的发送和接收。
通过 SPI 接口向芯片发送相关指令与数据,芯片解析指令,并调用相关函数进行加解密
操作,当操作完成后响应 2Byte 字节来指示芯片状态或指示需要取走的数据长度。通过 SPI
接口操作
RJMU401
加密芯片的操作过程见具体章节详细介绍,以及附录
A
的
SPI
操作示例
代码。
2.2 返回状态字
SPI
操作过程中返回状态字节说明如下:
---
异常状态返回
6A00
接收到的数据
CRC32
校验错误
6B00
SM2 的私钥、R、S 大于基点的阶
6C00
SM2 验签错误
6D00
认证失败
6E00
指令错误
6F00
进行加解密的数据长度不符合规范
---正常状态返回

RJMU401 安全芯片编程手册 Runjet
5
9A00
指令解析正确
9000
芯片相关函数操作正确,无结果数据产生
---有待接收数据返回
xxxx
若不为上述状态字节,则表示有待接收数据,主机可通过 SPI
接口接收相应的数据。【1】
注:1、【1】单包接收数据最大长度不应超过 1024 字节
2.3 SPI 指令格式
RJMU401 芯片可使用 SPI 接口进行密钥传输及加解密数据指令操作及密文和明文的传输。
其主要的交互格式由下面格式来定义:
主机发送
主机接收
命令头
CMD
状态字
SW1 +
状态字
SW2
命令头 CMD
状态字 SW1 + 接收数据 DATA1
命令头 CMD+带 CRC32 校验数据 DATA1
状态字 SW1 + 状态字 SW2
命令头
CMD+
带
CRC32
校验数据
DATA1
状态字
SW1 +
状态字
SW2(
数据
DATA2
的长
度
) +
接收数据
DATA2
注:以上格式表示的是单次指令操作所使用到的格式,该格式不代表具体的操作流程,
SW1
和 SW2 的长度为两字节。
RJMU401 安全芯片 SPI 指令 CMD 由 6 字节组成,其格式如下:
字段名
CLA
INS
P1
P2
P3
P4
说明
类别
指令码
参数 1
参数 2
参数 3
参数 4
注:指令码 INS 表示加解密类型,P1、P2 指定同一算法下不同操作类型,如密钥生成、密
钥获取、密钥装载以及加解密等具体操作过程,具体操作细节请参见每个功能的描述章节。
2.4 SPI 操作基本流程图
RJMU401 安全芯片通过 SPI 指令建立与用户之间的交互,发送 CMD 指令后,安全芯片
每完成一个操作后,都会返回一个状态,根据该状态来确定下一步操作,0x9A00 表示命令
码 CMD 解析成功,0x9000 表示单次 CMD 操作执行结束并且操作成功。
其操作一般流程图如下所示:
剩余31页未读,继续阅读















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0