一种数据流加密sd卡的制作方法

文档序号:6541766阅读:224来源:国知局
一种数据流加密sd卡的制作方法
【专利摘要】一种数据流加密SD卡,包括安全芯片,所述安全芯片上集成了SD存储卡从接口、多种公私钥加解密算法和分组数据加解密算法、内嵌存储器、SD或eMMC主控接口,所述安全芯片通过SD存储卡从接口与用于和SD主机连接的SD接口连接,其SD或eMMC主控接口与用于对非易失性存储器进行操作的标准SD/eMMC控制器连接;所述标准SD/eMMC控制器通过NandFlash接口与用于实现SD卡大容量存储功能的非易失性存储器连接。本发明的有益效果:加解密速度快、使用安全、成本低、存储量大。
【专利说明】—种数据流加密SD卡
【技术领域】
[0001]本发明涉及一种数据流加密SD卡。
【背景技术】
[0002]SD卡是一种存储卡的标准,被广泛地用于便携设备,特别是其microSD封装形式被广泛用于手机中。
[0003]随着移动互联网用户规模的不断扩大,移动互联通讯业务、移动金融业务以及云存储市场的快速发展,其对信息安全性的要求也在不断提高。具有流加密功能的SD卡能够很好的解决移动通讯数据的安全性、云端数据的加密存储以及金融认证业务。比如目前手机云端的资料存储通常都是以明文的方式在网络中传输,很容易泄露,即使有些做了加密,其密钥也是存储在手机上的,很容易被攻击。流加密SD卡可以做到将私钥保存在SD卡中,将公钥分发给有权限打开相关文件的用户,并且用私钥对数据加密的分组密钥进行加密。
[0004]现有方案如下:
方案1:现有SD-KEY的方案是用非标准SD卡控制器和安全芯片以及Nand Flash组成,如图1所示,安全芯片通过SPI接口或IS07816接口与非标准SD卡控制器相连,非标准SD卡控制器的SD接口连接到SD卡的信号触点上。该方案的缺点在于:1)加解密操作不在SD卡主控制芯片中运行,需要通过SPI或IS07816接口发送给安全芯片进行处理,然后返回结果,这样加解密速度比较慢,而且安全性不高,容易通过通讯线路泄露信息;2)非标准SD卡控制器芯片的价格通常是标准SD卡控制器的几十倍。
[0005]方案2:该方案是将安全单元集成到SD卡控制器中,将SD卡控制器设计成一颗安全芯片,如图2所示。该安全芯片必须同时具备SD卡控制器的Nand Flash接口和ECC纠错能力和安全芯片的所有安全特性。该方案的缺点在于:l)Nand Flash的工艺更新速度很快,对Nand Flash的ECC要求也在不断提高,基本每年都会提高,而作为安全芯片,通常安全认证的周期都比较长,设计难度大,而且难以跟上ECC的更新速度;2)SD卡控制器通常内部是不集成嵌入式Flash的,而安全芯片必须集成嵌入式Flash,用于存储程序和密钥等敏感信息。

【发明内容】

[0006]本发明提供了一种加解密速度快、使用安全、成本低、存储量大的数据流加密SD卡。
[0007]本发明采用的技术方案是:
一种数据流加密SD卡,包括安全芯片,所述安全芯片上集成了 SD存储卡从接口、多种公私钥加解密算法和分组数据加解密算法、内嵌存储器、SD或eMMC主控接口,所述安全芯片通过SD存储卡从接口与用于和SD主机连接的SD接口连接,其SD或eMMC主控接口与用于对非易失性存储器进行操作的标准SD/eMMC控制器连接;
所述标准SD/eMMC控制器通过Nand Flash接口与用于实现SD卡大容量存储功能的非易失性存储器连接。
[0008]进一步,所述安全芯片的控制步骤如下:
(1)等待SD主机的读与命令;
(2)通过判断地址范围来判断出是读命令还是写命令,是进行存储功能、数据流加密功能还是令牌应用功能;如果是存储功能写操作,则进入步骤A ;如果是存储功能读操作,则进入步骤D ;如果是流加密功能加密或解密原数据输入,则进入步骤B ;如果是流加密功能加密或解密结果读取,则进入步骤E ;如果是令牌功能命令接收,则进入步骤C ;如果是令牌功能应答获取,则进入步骤F ;
A、存储功能写操作,安全芯片首先启动其内部分组数据加解密算法引擎将将SD主机发送过来的数据进行加密,然后调用其SD或eMMC主控接口,发送写命令和数据给标准SD/eMMC控制器,由标准SD/eMMC控制器将数据写入到非易失性存储器中;
B、流加密功能加密或解密原数据输入,安全芯片启动其内部分组数据加解密算法引擎将将SD主机发送过来的数据进行加密或解密,通过判断地址来区分是加解密操作、选择哪种分组算法、哪种模式、选择不同的密钥,将加密或解密后数据保存在其内嵌存储器中;
C、令牌功能命令接收,安全芯片将SD主机发送过来的数据作为令牌功能的命令包进行处理,解析其包格式,并处理相关的令牌命令,处理完成后将结果保存在其内嵌存储器中;
D、存储功能读操作,安全芯片首先调用其SD或eMMC主控接口,发送读命令给标准SD/eMMC控制器,由标准SD/eMMC控制器将数据从非易失性存储器中读出,然后返回给安全芯片,安全芯片获取数据后启动其内部分组数据加解密算法引擎将数据进行解密,然后发送给SD主机;
E、流加密功能加密或解密结果获取,安全芯片将步骤B处理的结果发送给SD主机,如果加密或解密操作结果正确,则发送加密或解密的数据,如果加密或解密操作结果不正确,则发送SD主机在步骤B时传输的原文,用以通知SD主机加密或解密操作不正确;
F、令牌功能应答获取,安全芯片将步骤C处理结果发送给SD主机。
[0009]进一步,步骤(2)中判断数据流加密功能和令牌应用功能的访问地址范围是定义在SD卡存储地址范围内或定义在SD卡存储地址范围之外或是两种方式同时实现,如果定义在SD卡存储地址范围内时,采用创建接口文件的方式提供给SD主机访问;如果定义在SD卡存储地址范围之外时,SD主机直接对逻辑地址进行访问。
[0010]本发明所述的安全芯片是实现数据流加密SD卡的核心,安全芯片是一颗集成了SD存储卡从接口的安全芯片,该芯片应当具备的功能包括,但不限于以下功能:必须具备SD存储卡从接口功能,用于通过SD接口与SD主机进行数据交互;必须支持一种及以上公私钥加解密算法,如RSA、E⑶SA等;必须支持一种及以上分组数据加解密算法,如DES、RSA等;必须具备内嵌存储器,用于存放加解密密钥;必须具备SD或eMMC主控接口,用于访问标准SD/eMMC控制器。安全芯片与非易失性存储器之间通过串联一个标准SD/eMMC控制器,来实现对非易失性存储器的读、写、擦除、ECC校验、坏块管理、均衡擦除等。安全芯片、标准SD/eMMC控制器和非易失性存储器被封装在一张SD卡中,通过SD卡标准触点与外界通讯。
[0011]本发明所述的安全芯片等待根据读写SD主机的读写命令,通过判断是读命令还是写命令,以及读写的地址来完成相应的功能处理。处理完成了 SD卡存储功能、数据流加密功能和令牌应用功能,在同一 SD卡中实现不同功能应用,核心就是通过判断读写操作的目标地址来决定。
[0012]本发明所述的安全芯片通过存储功能写操作和存储功能读操作就可以实现SD卡加密存储功能,使得存储在非易失性存储器中的数据为密文模式,而通过SD接口传输给SD主机的数据为明文数据。
[0013]本发明所述的安全芯片通过流加密功能加密或解密原数据输入和流加密功能加密或解密结果获取的配对处理,就可以实现SD卡数据流加密功能。通过流加密功能加密或解密原数据输入操作将数据进行加密,然后通过流加密功能加密或解密结果获取将密文返回;通过流加密功能加密或解密原数据输入操作将数据进行解密,然后通过流加密功能加密或解密结果获取将明文返回。
[0014]本发明所述的安全芯片通过令牌功能命令接收和令牌功能应答获取的配对处理,可以实现对于的令牌功能,如密钥管理、签名、验签等功能。
[0015]本发明的有益效果:加解密速度快、使用安全、成本低、存储量大。
【专利附图】

【附图说明】
[0016]图1是传统方案一的结构示意图。
[0017]图2是传统方案二的结构示意图。
[0018]图3是本发明的结构示意图。
[0019]图4是本发明的安全芯片的控制流程图。
[0020]图5是本发明的一种具体应用结构示意图。
【具体实施方式】
[0021]下面结合具体实施例来对本发明进行进一步说明,但并不将本发明局限于这些【具体实施方式】。本领域技术人员应该认识到,本发明涵盖了权利要求书范围内所可能包括的所有备选方案、改进方案和等效方案。
[0022]参照图3、图4,一种数据流加密SD卡,包括安全芯片,所述安全芯片I上集成了 SD存储卡从接口、多种公私钥加解密算法和分组数据加解密算法、内嵌存储器、SD或eMMC主控接口,所述安全芯片I通过SD存储卡从接口与用于和SD主机连接的SD接口连接,其SD或eMMC主控接口与用于对非易失性存储器进行操作的标准SD/eMMC控制器2连接;
所述标准SD/eMMC控制器2通过Nand Flash接口与用于实现SD卡大容量存储功能的非易失性存储器3连接。
[0023]所述安全芯片I的控制步骤如下:
(1)等待SD主机的读与命令;
(2)通过判断地址范围来判断出是读命令还是写命令,是进行存储功能、数据流加密功能还是令牌应用功能;如果是存储功能写操作,则进入步骤A ;如果是存储功能读操作,则进入步骤D ;如果是流加密功能加密或解密原数据输入,则进入步骤B ;如果是流加密功能加密或解密结果读取,则进入步骤E ;如果是令牌功能命令接收,则进入步骤C ;如果是令牌功能应答获取,则进入步骤F ;
A、存储功能写操作,安全芯片I首先启动其内部分组数据加解密算法引擎将将SD主机发送过来的数据进行加密,然后调用其SD或eMMC主控接口,发送写命令和数据给标准SD/eMMC控制器2,由标准SD/eMMC控制器2将数据写入到非易失性存储器3中;
B、流加密功能加密或解密原数据输入,安全芯片I启动其内部分组数据加解密算法引擎将将SD主机发送过来的数据进行加密或解密,通过判断地址来区分是加解密操作、选择哪种分组算法、哪种模式、选择不同的密钥,将加密或解密后数据保存在其内嵌存储器中;
C、令牌功能命令接收,安全芯片I将SD主机发送过来的数据作为令牌功能的命令包进行处理,解析其包格式,并处理相关的令牌命令,处理完成后将结果保存在其内嵌存储器中;
D、存储功能读操作,安全芯片I首先调用其SD或eMMC主控接口,发送读命令给标准SD/eMMC控制器2,由标准SD/eMMC控制器2将数据从非易失性存储器3中读出,然后返回给安全芯片1,安全芯片I获取数据后启动其内部分组数据加解密算法引擎将数据进行解密,然后发送给SD主机;
E、流加密功能加密或解密结果获取,安全芯片I将步骤B处理的结果发送给SD主机,如果加密或解密操作结果正确,则发送加密或解密的数据,如果加密或解密操作结果不正确,则发送SD主机在步骤B时传输的原文,用以通知SD主机加密或解密操作不正确;
F、令牌功能应答获取,安全芯片I将步骤C处理结果发送给SD主机。
[0024]步骤(2)中判断数据流加密功能和令牌应用功能的访问地址范围是定义在SD卡存储地址范围内或定义在SD卡存储地址范围之外或是两种方式同时实现,如果定义在SD卡存储地址范围内时,采用创建接口文件的方式提供给SD主机访问;如果定义在SD卡存储地址范围之外时,SD主机直接对逻辑地址进行访问。
[0025]本发明所述的安全芯片I是实现数据流加密SD卡的核心,安全芯片I是一颗集成了 SD存储卡从接口的安全芯片1,该芯片应当具备的功能包括,但不限于以下功能:必须具备SD存储卡从接口功能,用于通过SD接口与SD主机进行数据交互;必须支持一种及以上公私钥加解密算法,如RSA、E⑶SA等;必须支持一种及以上分组数据加解密算法,如DES、RSA等;必须具备内嵌存储器,用于存放加解密密钥;必须具备SD或eMMC主控接口,用于访问标准SD/eMMC控制器2。安全芯片I与非易失性存储器3之间通过串联一个标准SD/eMMC控制器2,来实现对非易失性存储器3的读、写、擦除、ECC校验、坏块管理、均衡擦除等。安全芯片1、标准SD/eMMC控制器2和非易失性存储器3被封装在一张SD卡中,通过SD卡标准触点与外界通讯。
[0026]本发明所述的安全芯片I等待根据读写SD主机的读写命令,通过判断是读命令还是写命令,以及读写的地址来完成相应的功能处理。处理完成了 SD卡存储功能、数据流加密功能和令牌应用功能,在同一 SD卡中实现不同功能应用,核心就是通过判断读写操作的目标地址来决定。
[0027]本发明所述的安全芯片I通过存储功能写操作和存储功能读操作就可以实现SD卡加密存储功能,使得存储在非易失性存储器中的数据为密文模式,而通过SD接口传输给SD主机的数据为明文数据。
[0028]本发明所述的安全芯片I通过流加密功能加密或解密原数据输入和流加密功能加密或解密结果获取的配对处理,就可以实现SD卡数据流加密功能。通过流加密功能加密或解密原数据输入操作将数据进行加密,然后通过流加密功能加密或解密结果获取将密文返回;通过流加密功能加密或解密原数据输入操作将数据进行解密,然后通过流加密功能加密或解密结果获取将明文返回。
[0029]本发明所述的安全芯片I通过令牌功能命令接收和令牌功能应答获取的配对处理,可以实现对于的令牌功能,如密钥管理、签名、验签等功能。
[0030]参照图5,本发明的一种具体应用如下:
本应用中采用一颗具有SD从接口的32位的AS702安全芯片、SD卡控制器AX215和4GB非易失性存储器,AS702安全芯片具有48MHz典型工作频率,片上256K字节内嵌Flash,内嵌多种公私钥加解密算法和分组数据加解密算法,同时具有SD主控接口。本应用通过AS702来实现数据流加密4GB SD卡的实施方案。
[0031]AS702软件上通过判断地址来实现不同的功能,每种功能的地址区域划分可以有2中方式实现,这种方式主要依赖于SD卡外部主机是基于文件接口方式访问还是基于直接逻辑地址访问。
[0032]如果是基于文件接口方式访问,这需要AS702在初始化过程中通过其SD主控模块(SDI)识别存在于非易失性存储器中的文件系统,并创建一组接口文件,例如在SD卡文件系统FAT32的根目录下下创建如下一组文件:
表1流加密SD卡接口文件
文件名:文件大小I文件挪块她
【权利要求】
1.一种数据流加密SD卡,其特征在于:包括安全芯片,所述安全芯片上集成了 SD存储卡从接口、多种公私钥加解密算法和分组数据加解密算法、内嵌存储器、SD或eMMC主控接口,所述安全芯片通过SD存储卡从接口与用于和SD主机连接的SD接口连接,其SD或eMMC主控接口与用于对非易失性存储器进行操作的标准SD/eMMC控制器连接; 所述标准SD/eMMC控制器通过Nand Flash接口与用于实现SD卡大容量存储功能的非易失性存储器连接。
2.根据权利要求1所述的一种数据流加密SD卡,其特征在于:所述安全芯片的控制步骤如下: (1)等待SD主机的读与命令; (2)通过判断地址范围来判断出是读命令还是写命令,是进行存储功能、数据流加密功能还是令牌应用功能;如果是存储功能写操作,则进入步骤A ;如果是存储功能读操作,则进入步骤D ;如果是流加密功能加密或解密原数据输入,则进入步骤B ;如果是流加密功能加密或解密结果读取,则进入步骤E ;如果是令牌功能命令接收,则进入步骤C ;如果是令牌功能应答获取,则进入步骤F ; A、存储功能写操作,安全芯片首先启动其内部分组数据加解密算法引擎将将SD主机发送过来的数据进行加密,然后调用其SD或eMMC主控接口,发送写命令和数据给标准SD/eMMC控制器,由标准SD/eMMC控制器将数据写入到非易失性存储器中; B、流加密功能加密或解密原数据输入,安全芯片启动其内部分组数据加解密算法引擎将将SD主机发送过来的数据进行加密或解密,通过判断地址来区分是加解密操作、选择哪种分组算法、哪种模式、选择不同的密钥,将加密或解密后数据保存在其内嵌存储器中; C、令牌功能命令接收,安全芯片将SD主机发送过来的数据作为令牌功能的命令包进行处理,解析其包格式,并处理相关的令牌命令,处理完成后将结果保存在其内嵌存储器中; D、存储功能读操作,安全芯片首先调用其SD或eMMC主控接口,发送读命令给标准SD/eMMC控制器,由标准SD/eMMC控制器将数据从非易失性存储器中读出,然后返回给安全芯片,安全芯片获取数据后启动其内部分组数据加解密算法引擎将数据进行解密,然后发送给SD主机; E、流加密功能加密或解密结果获取,安全芯片将步骤B处理的结果发送给SD主机,如果加密或解密操作结果正确,则发送加密或解密的数据,如果加密或解密操作结果不正确,则发送SD主机在步骤B时传输的原文,用以通知SD主机加密或解密操作不正确; F、令牌功能应答获取,安全芯片将步骤C处理结果发送给SD主机。
3.根据权利要求2所述的一种数据流加密SD卡,其特征在于:步骤(2)中判断数据流加密功能和令牌应用功能的访问地址范围是定义在SD卡存储地址范围内或定义在SD卡存储地址范围之外或是两种方式同时实现,如果定义在SD卡存储地址范围内时,采用创建接口文件的方式提供给SD主机访问;如果定义在SD卡存储地址范围之外时,SD主机直接对逻辑地址进行访问。
【文档编号】G06F21/62GK103903042SQ201410113375
【公开日】2014年7月2日 申请日期:2014年3月25日 优先权日:2014年3月25日
【发明者】钱志恒, 徐功益, 罗洪昌 申请人:杭州晟元芯片技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1