一种高速低功耗的安全sd卡的通讯方法

文档序号:6340336阅读:400来源:国知局
专利名称:一种高速低功耗的安全sd卡的通讯方法
技术领域
本发明涉及一种电子设备终端的外扩存储载体的通讯方法,特别涉及一种用于个 人计算终端的可以做身份认证和数据加解密的安全SD卡(安全数码卡)的通讯方法。
背景技术
随着半导体技术和信息技术的不断发展,人们的日常工作生活越来越依赖互联 网,而开放型的互联网协议和脆软的PC桌面操作系统使得信息安全问题成为互联网应用 进步的主要障碍。尽管有各种各样的杀毒软件和安全工具,但这些安全软件主要也是基于 PC计算技术的,安全保护存在限制。因此,像网络银行这样安全性要求极高的应用,人们会借助USBKey等安全硬件设 备来登入和操作。USBKey主要用来存储数字证书,并在USBKey内部进行签名认证;同时 USBKey的密钥永远不能导出,这样保证了通信交互的安全性。近几年随着3G的发展,移动互联网迅速兴起,越来越多的人使用智能手机或PAD (平板电脑)等,通过3G或WIFI进入移动互联网。于是人们通过该些移动设备进行在线交 易时,自然也需要类似于USBKey的安全硬件。然而,现有的智能手机和PAD其一般仅设置 有SD接口,可以外扩TF卡,但很少能使用USBKey。因此很难将USBKey直接应用于移动设 备。所谓的安全数码卡(以下简称安全SD卡),或mini SD卡、MicroSD卡(TF卡),就是 在普通SD存储卡的基础上增加安全功能,主要体现在密钥产生、存储和管理,数字签名认 证、数据加解密等。现有一种安全SD卡的实现结构中,在SD卡的主控芯片上集成所述安全功能,其封 装简单、芯片工作效率高。但是,需要使用eflash工艺制造所述主控芯片,成本较高。而且, 为了跟进不断发展的NandFlash工艺,该主控芯片上的NandFlash接口也需要不断地更新; 而固件的频繁更新对SD卡的安全性会有一定影响。现在还有一种分离式的安全SD卡,其将SD卡的主控芯片与一安全芯片封装在一 起,通过专门的接口进行通信。由于,主控芯片及安全芯片是相互分离的,封装相对复杂,且 对如加解密等一些安全功能的实现会受到一定限制。但是安全芯片相对独立,可专注于安 全COS部分的实现;不需要因为SD接口兼容性和Nandflash兼容性等问题而经常更新固件 甚至硬件,因而分离式安全SD卡的安全性更好。然而,目前市场上已有的分离式安全SD卡,主要采用IS07816等低速接口作为SD 卡的主控芯片与安全芯片的接口通道,无法实现高速的加解密功能,很难满足像警务、电子 政务等对加密性能要求更高的应用。同时,使用该类安全芯片的功耗(静态功耗和工作功 耗)比较高,对于移动终端来说是严重的问题。

发明内容
本发明的目的是提供一种高速低功耗的安全SD卡的通讯方法,对分离式的安全SD卡中主控芯片与安全芯片基于SPI接口的通讯方法进行优化,以提升其加解密性能;同 时通过功耗优化方案,有效降低安全SD卡的静态及动态功耗,使其可更好地适用于移动终 端设备。为了达到上述目的,本发明的技术方案是提供一种高速低功耗的安全SD卡的通 讯方法,包含以下步骤
步骤1、通过SPI接口,对应连接主控芯片与安全芯片; 步骤2、对应连接主控芯片与存储芯片;
步骤3、定义基于所述SPI接口的所述主控芯片与安全芯片之间的命令及响应格式; 步骤4、定义基于所述命令及响应格式的所述主控芯片与安全芯片之间的信息交互方式。步骤1中,所述SPI接口分别通过主机输出/从机输入数据线MOSI,主机输入/从 机输出数据线MIS0,串行时钟线SCK,以及从机选择线SS,来对应连接作为主机的所述主控 芯片与作为从机的所述安全芯片;步骤2中,所述存储芯片(30)是Nandflash存储芯片,其 通过Nandflash接口(31)与所述主控芯片(10)连接。所述高速低功耗的安全SD卡的通讯方法,还包含步骤5
通过一电源输出线PWR,将所述主控芯片与所述安全芯片的工作电源端VDDH对应连
接;
与外部电源连接的所述主控芯片,通过所述电源输出线PWR向所述安全芯片提供工作 电源,并在所述安全芯片不工作时切断其电源,以避免静态功耗。所述高速低功耗的安全SD卡的通讯方法,还包含步骤6
通过一唤醒输出线Wakeup,将所述主控芯片与所述安全芯片的复位端RST连接; 在每个任务执行完成后,安全芯片的系统时钟被禁止;而在下一个任务开始之前,所述 主控芯片发送唤醒信号来激活该安全芯片的系统时钟;当时钟稳定以后再开始该新任务的 命令交互。步骤3中,所述命令格式包含
命令头CMD,命令头部分异或校验码M)R,任意数据Muff,命令数据DATA,以及数据部 分异或校验码XOR ;根据不同的任务需要,可依序选择其中的一些部分构成所述命令;
所述命令头CMD还依次包含有指令种类CLA,指令码INS,指令参数Pl和P2,以及后续 发送的数据长度LC或期望返回的数据长度Le ;其中所述后续发送的数据长度LC指所述命 令数据DATA的长度。所述响应格式,包含
返回数据头HEAD,返回数据DATA,状态字STATUS,数据部分和状态部分异或值M)R,以 及根据不同安全芯片选择设定的若干无效数字XX ;
根据不同的任务需要,可依序选择其中的一些部分构成所述响应;所述期望返回的数 据长度Le指所述返回数据DATA的长度。步骤4中,所述主控芯片与安全芯片通过第一交互任务通信,包含所述主控芯片 向安全芯片发送状态反馈的命令,安全芯片响应并向主控芯片返回其状态值。步骤4中,所述主控芯片与安全芯片通过第二交互任务通信,包含所述主控芯片 向安全芯片发送读操作的命令,安全芯片响应并向主控芯片返回其数据值和状态值。
步骤4中,所述主控芯片与安全芯片通过第三交互任务通信,包含所述主控芯片 向安全芯片发送写操作的命令,该命令包含需要写入的数据值;所述安全芯片响应该命令 并向主控芯片返回其状态值。步骤4中,所述主控芯片与安全芯片通过第四交互任务通信,包含
第一阶段,由所述主控芯片以所述第一交互任务方式,告知安全芯片进入加解密操作 模式;
第二阶段,主控芯片将待加密或解密处理的上层数据,分成每组长度相同的若干数据 组,并连续发送至安全芯片;所述安全芯片接收并对每组数据做加解密处理后回传给主控 芯片,再接收和处理下一组数据;
加解密后回传的数据,包含有返回数据头HEAD,返回数据DATA和若干无效数字XX。第三阶段,所述主控芯片再以所述第一交互任务方式,告知安全芯片解除加解密 操作模式。本发明所述高速低功耗的安全SD卡的通讯方法,其优点在于相比现有普通的安 全SD卡使用的IS07816接口、UART或IIC等低速接口,本发明提供的安全SD卡,对连接相 分离的主控芯片与安全芯片的高速SPI接口设计了合理有效的命令及响应格式,以及与之 配合的四种通讯方式,可实现高速的加解密,并可以将密码算法性能提升5倍以上。对于功耗优化,普通的安全SD卡通常是在安全芯片不工作时进入休眠,工作时候 通过中断唤醒,优化级别很低。与之相比,本发明通过下述优化,在工作时的平均电流可以 下降40%以上。首先,本发明在安全芯片不工作时切断其电源,因而完全没有静态功耗。同时,本发明在包含IDLE状态和执行状态的工作过程中,在每次命令交互完成 后,将安全芯片的片内时钟停掉;在后一任务开始前,再利用主控芯片提供的唤醒信号来使 能安全芯片内部的时钟,从而可以继续工作。而且,本发明中,对于安全芯片内与所执行任务不相关的模块,将关闭该模块的系 统时钟。另外,对于没有性能要求的任务,可以降低系统频率;而对于性能要求高的任务,将 提高系统频率。


图1是本发明所述高速低功耗的安全SD卡的总体结构示意图2是本发明所述高速低功耗的安全SD卡中主控芯片与安全芯片具体连接的示意
图3是本发明所述高速低功耗的安全SD卡中第一交互任务的通讯方式; 图4是本发明所述高速低功耗的安全SD卡中第二交互任务的通讯方式; 图5是本发明所述高速低功耗的安全SD卡中第三交互任务的通讯方式; 图6是本发明所述高速低功耗的安全SD卡中第四交互任务的通讯方式。
具体实施例方式以下结合

本发明的具体实施方式
。如图1所示,本发明所述高速低功耗的安全SD卡100中,集成有主控芯片10、安全芯片20和Nandflash存储芯片30。其中,主控芯片10提供安全SD卡100与外部设备的接口。该主控芯片10,通过 SPI接口 21 (串行外设接口)与所述安全芯片20连接,还通过Nandflash接口 31与所述 Nandflash存储芯片30连接。如图2所示,所述SPI接口 21具体使用4条线,来连接所述主控芯片10 (即以下 所述主机)与所述安全芯片20 (即以下所述从机)上的对应端口,包含主机输出/从机输 入数据线MOSI,主机输入/从机输出数据线MIS0,串行时钟线SCK,以及低电平有效的从机 选择线SS。参考通用的IS07816协议,定义了基于所述SPI接口 21的通讯协议,首先是其命 令及响应格式,如下表1至表3所示
表1是命令格式,表2是表1中所述命令格式的5字节的命令头CMD。该命令格式包含 5字节的命令头CMD,1字节的命令头部分异或校验码M)R,2字节的任意数据Muff,命令数 据DATA,以及数据部分异或校验码M)R。根据不同的任务需要,可依序选择其中的一些部分 构成所述命令。其中,命令头CMD依次包含有指令种类CLA (具体参考7816协议相关文档),指令 码INS (具体参考7816协议相关文档),指令参数Pl和P2,以及后续发送的数据长度LC或 期望返回的数据长度Le。该发送的数据长度LC指上述命令数据DATA的长度,即不包含命 令头中的校验码部分。该期望返回的数据长度Le中,指下述返回数据DATA的长度,不包含 返回的校验码CRC和状态字的长度。
权利要求
1.一种高速低功耗的安全SD卡的通讯方法,其特征在于,包含以下步骤 步骤1、通过SPI接口(21),对应连接主控芯片(10)与安全芯片(20); 步骤2、对应连接主控芯片(10)与存储芯片(30);步骤3、定义基于所述SPI接口(10)的所述主控芯片(10)与安全芯片(20)之间的命 令及响应格式;步骤4、定义基于所述命令及响应格式的所述主控芯片(10)与安全芯片(20)之间的信 息交互方式。
2.如权利要求1所述高速低功耗的安全SD卡的通讯方法,其特征在于,步骤1中,所 述SPI接口(21)分别通过主机输出/从机输入数据线MOSI,主机输入/从机输出数据线 MISO,串行时钟线SCK,以及从机选择线SS,来对应连接作为主机的所述主控芯片(10)与作 为从机的所述安全芯片(20);步骤2中,所述存储芯片(30)是Nandflash存储芯片,其通过 Nandflash接口(31)与所述主控芯片(10)连接。
3.如权利要求2所述高速低功耗的安全SD卡的通讯方法,其特征在于,还包含步骤5: 通过一电源输出线PWR,将所述主控芯片(10)与所述安全芯片(20)的工作电源端VDDH对应连接;与外部电源连接的所述主控芯片(10),通过所述电源输出线PWR向所述安全芯片(20) 提供工作电源,并在所述安全芯片(20)不工作时切断其电源,以避免静态功耗。
4.如权利要求2所述高速低功耗的安全SD卡的通讯方法,其特征在于,还包含步骤6 通过一唤醒输出线Wakeup,将所述主控芯片(10)与所述安全芯片(20)的复位端RST连接;在每个任务执行完成后,安全芯片(20)的系统时钟被禁止;而在下一个任务开始之 前,所述主控芯片(10)发送唤醒信号来激活该安全芯片(20)的系统时钟;当时钟稳定以后 再开始该新任务的命令交互。
5.如权利要求2所述高速低功耗的安全SD卡的通讯方法,其特征在于,步骤3中,所述 命令格式包含命令头CMD,命令头部分异或校验码XOR,任意数据Stuff,命令数据DATA,以及数据部 分异或校验码XOR ;根据不同的任务需要,可依序选择其中的一些部分构成所述命令;所述命令头CMD还依次包含有指令种类CLA,指令码INS,指令参数Pl和P2,以及后续 发送的数据长度LC或期望返回的数据长度Le ;其中所述后续发送的数据长度LC指所述命 令数据DATA的长度。
6.如权利要求5所述高速低功耗的安全SD卡的通讯方法,其特征在于,所述响应格式, 包含返回数据头HEAD,返回数据DATA,状态字STATUS,数据部分和状态部分异或值X0R,以 及根据不同安全芯片(20)选择设定的若干无效数字XX ;根据不同的任务需要,可依序选择其中的一些部分构成所述响应;所述期望返回的数 据长度Le指所述返回数据DATA的长度。
7.如权利要求6所述高速低功耗的安全SD卡的通讯方法,其特征在于,步骤4中,所述 主控芯片(10)与安全芯片(20)通过第一交互任务通信,包含所述主控芯片(10)向安全芯 片(20)发送状态反馈的命令,安全芯片(20)响应并向主控芯片(10)返回其状态值。
8.如权利要求6所述高速低功耗的安全SD卡的通讯方法,其特征在于,步骤4中,所述 主控芯片(10)与安全芯片(20)通过第二交互任务通信,包含所述主控芯片(10)向安全芯 片(20)发送读操作的命令,安全芯片(20)响应并向主控芯片(10)返回其数据值和状态值。
9.如权利要求6所述高速低功耗的安全SD卡的通讯方法,其特征在于,步骤4中,所述 主控芯片(10)与安全芯片(20)通过第三交互任务通信,包含所述主控芯片(10)向安全芯 片(20)发送写操作的命令,该命令包含需要写入的数据值;所述安全芯片(20)响应该命令 并向主控芯片(10)返回其状态值。
10.如权利要求7所述高速低功耗的安全SD卡的通讯方法,其特征在于,步骤4中,所 述主控芯片(10)与安全芯片(20)通过第四交互任务通信,包含第一阶段,由所述主控芯片(10)以所述第一交互任务方式,告知安全芯片(20)进入加 解密操作模式;第二阶段,主控芯片(10)将待加密或解密处理的上层数据,分成每组长度相同的若干 数据组,并连续发送至安全芯片(20);所述安全芯片(20)接收并对每组数据做加解密处理 后回传给主控芯片(10),再接收和处理下一组数据;加解密后回传的数据,包含有返回数据头HEAD,返回数据DATA和若干无效数字XX;第三阶段,所述主控芯片(10)再以所述第一交互任务方式,告知安全芯片(20)解除加 解密操作模式。
全文摘要
一种高速低功耗的安全SD卡的通讯方法,通过SPI接口,对应连接主控芯片与安全芯片;对应连接主控芯片与存储芯片;定义基于所述SPI接口的所述主控芯片与安全芯片之间的命令及响应格式;定义基于所述命令及响应格式的所述主控芯片与安全芯片之间的信息交互方式,实现高速加解密的同时,在安全芯片不工作时切断其电源,避免静态功耗。为了减少动态功耗,本发明还在每次任务完成后,将安全芯片的片内时钟停掉;在后一任务开始前,再利用唤醒信号来激活该时钟,从而继续工作。对于安全芯片内与所执行任务不相关的模块,将关闭该模块的系统时钟。对于没有性能要求的任务,降低系统频率;而对于性能要求高的任务,提高系统频率。
文档编号G06F21/00GK102136046SQ201010611169
公开日2011年7月27日 申请日期2010年12月29日 优先权日2010年12月29日
发明者周玉洁, 朱念好, 陈诚 申请人:上海爱信诺航芯电子科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1