一种手机安全协处理芯片的制作方法

文档序号:7821410阅读:143来源:国知局
一种手机安全协处理芯片的制作方法
【专利摘要】本发明公开了一种手机安全协处理芯片,包括设置于芯片基板上的密钥对产生模块、随机序列发生器模块、公钥存储单元、私钥存储单元、随机序列存储单元、签名模块、随机数签名值存储单元、编码模块、向量存储模块、总控制器模块和参数存储单元。芯片由于采用硬件实现签名过程,所产生的私钥也无法被应用获取,因此可以保证通信的安全。本芯片也可单独使用,用来替代软件方式签名,增强签名的安全性。所述芯片可以作为单独的硬件,来实现签名功能;还可以作为指纹认证的后续模块,与指纹认证模块一起使用来实现整个认证流程的安全,也即手机本地认证和通信认证安全;此模块还可以在各种应用之间实现“密码共享”--共用私钥分享公钥。
【专利说明】一种手机安全协处理芯片

【技术领域】
[0001]本发明公开了一种手机安全协处理芯片,涉及手机安全认证【技术领域】。

【背景技术】
[0002]公私钥密码体系是一种非对称密码技术,有别于传统的对称密码技术。公私钥密码体系加密和解密过程使用不同的密码算子,即公钥和私钥对。该项技术广泛应用于互联网加密、签名等安全方面。本发明所对应的芯片是实现手机安全认证的核心模块。
[0003]公私钥密码体系广泛应用于通信、加密、认证等领域,但大部分应用是软件实现;硬件的实现较少,特别是用于手机安全认证方面的实现。指纹认证技术的发展,特别是随着各大厂商推出指纹手机的尝试,设备安全及安全支付越来越成为人们关注的焦点,迫切需要一体化的硬件实现来保证安全。例如华为2014年9月I日推出的Mate7指纹手机。该手机采用的指纹技术将指纹特征存储于CPU的保护区域,解决了手机本地认证的问题;但业务安全及通信安全认证仍然由具体应用来完成,华为的方案中必须通过支付宝认证体系来保障业务安全及通信安全。
[0004]现有技术中的常用方案虽然能解决很多问题,但在特定的场合,特别是作为移动设备的手机上,存在安全隐患。①软件实现的公私钥密码体系存在被破解的可能,尤其是用在移动场合,比如私钥被盗取;②现有指纹手机的指纹认证方案无法保证通信和业务安全,软件方式实现的通信和业务安全也存在被破解可能,指纹手机采用的指纹认证技术只解决了本机认证的问题,也即证明本手机是通过指纹认证的人合法拥有的,现有的技术中,在指纹认证完毕之后,手机应用与服务器的通信认证,指纹模块不再参与,而交由具体应用来实现,就存在被破解的可能。因此通信和业务安全也必须通过硬件的过程来实现,也就是硬件产生随机数和签名值。


【发明内容】

[0005]本发明所要解决的技术问题是:针对现有技术的缺陷,提供一种手机安全协处理芯片,用硬件方式实现了公私钥密码体系、随机序列产生和签名的过程,用来解决手机与应用的安全通信及认证难题。芯片由于采用硬件实现签名过程,所产生的私钥也无法被应用获取,因此可以保证通信的安全。
[0006]本发明为解决上述技术问题采用以下技术方案:
一种手机安全协处理芯片,包括设置于芯片基板上的密钥对产生模块、随机序列发生器模块、公钥存储单元、私钥存储单元、随机序列存储单元、签名模块、随机数签名值存储单元、编码模块、向量存储模块、总控制器模块和参数存储单元,其中,
所述密钥对产生模块用以产生公钥和私钥,密钥对产生模块通过引脚分别与公钥存储单元、私钥存储单元相连接,将产生的公钥和私钥分别存储至公钥存储单元和私钥存储单元;
所述随机序列发生器模块用以产生随机数序列,随机序列发生器模块通过引脚与随机序列存储单元相连接,将产生的随机数序列存储至随机序列存储单元内;
所述签名模块用以计算签名值,它的输入引脚分别和私钥存储单元、随机序列存储单元相连接,它的输出引脚和随机数签名值存储单元相连接;
所述随机数签名值存储单元用以存储签名值,它的输出引脚与公钥存储单元的输出引脚一同和编码模块相连接;
所述编码模块用以对二进制字节码进行转码,编码模块的输出引脚与向量存储模块相连接;
所述向量存储模块用以用来存储芯片内的参数及模块间产生的数据,并实现芯片的外部读取;
所述总控制器单元通过外部输入的参数以实现控制其他模块运行,外部输入参数存储至参数存储单元,并进一步发送至向量存储模块。
[0007]作为本发明的进一步优选方案,所述密钥对产生模块中通过RSA算法或者DSA算法产生公钥和私钥,使用1024、2048和3072三种位数的秘钥位数。
[0008]作为本发明的进一步优选方案,所述随机序列发生器模块产生的随机序列长度包括1、2、4、8四种。
[0009]作为本发明的进一步优选方案,所述编码模块中的编码类型包括BASE64编码或HEX编码。
[0010]作为本发明的进一步优选方案,向量存储模块中,所述模块间产生的数据包括随机数、公钥、签名值以及各个模块所选择的算法种类、密钥长度。
[0011]作为本发明的进一步优选方案,所述总控制器单元中还设置有一个时钟序列发生器。
[0012]作为本发明的进一步优选方案,所述签名模块中,计算签名值的过程为:首先对随机数序列数据计算哈希值,然后用私钥对哈希值进行加密,其中,哈希算法的选择包括shaU sha-256、sha-512和MD5 ;哈希值的加密使用RSA算法。
[0013]本发明还公开了一种基于所述手机安全协处理芯片的工作方法,具体步骤包括: 步骤一、总控制器单元依次控制密钥对产生模块、公钥存储单元、编码模块和向量存储单元按时钟序列顺序执行,产生公钥和私钥;
步骤二、总控制器单元依次控制随机序列发生器模块、随机序列存储单元、私钥存储单元、签名模块、随机数签名存储单元、编码模块和向量存储单元按时钟序列顺序执行,使用已有公钥和私钥对进行签名;
步骤三、控制参数输入,应用读取存储向量进行反编码,再由应用后台验证签名值是否正确,完成认证流程。
[0014]本发明采用以上技术方案与现有技术相比,具有以下技术效果:本发明所发明的芯片不是对指纹识别芯片的取代,而是对指纹认证技术的强化;同时,本芯片也可单独使用,用来替代软件方式签名,增强签名的安全性。所述芯片可以作为单独的硬件,来实现签名功能;还可以作为指纹认证的后续模块,与指纹认证模块一起使用来实现整个认证流程的安全,也即手机本地认证和通信认证安全;此模块还可以在各种应用之间实现“密码共享”一共用私钥分享公钥。

【专利附图】

【附图说明】
[0015]图1是本发明的结构模块示意图。

【具体实施方式】
[0016]下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
[0017]下面结合附图对本发明的技术方案做进一步的详细说明:
本发明的结构模块示意图如图1所示,采用结构示意图和模块图,结合输入、输出及模块间处理流程来说明本芯片作用,以及本芯片是如何从硬件方面保证通信认证安全的。
[0018]—、芯片构成模块说明
图1中各个模块的引线,细引线代表的是输入位(0,1,Mt),输入单个控制信号;粗引线代表的是数据流,是多位输入输出。控制信号输入部分引线可组合在一起,形成二进制序列。比如1-2位,就有4种组合00,01,10,11,分别代表数字0,1,2,3。
[0019]模块I为密钥对产生模块,用来产生公钥和私钥。卜2位用于算法选择,共可支持4种算法,建议2种算法00对应RSA、01对应DSA ;3_4位用于密钥位数(长度)选择,支持4种位数,建议使用1024、2048和3072三种位数,3072位RSA保密年限至2040年,足够用于实践了 ;5位用于控制;引线7输出公钥;引线8输出私钥。目前,市场上已有基于RSA的单独的硬件加密产品,但没有参数输入功能;考虑到整个芯片的作用和尺寸,本发明在具体实施中建议对现有的产品进行定制。
[0020]模块2,随机序列发生器模块,用来产生随机数序列。1-2位用于指定产生的随机数序列长度,建议1、2、4、8这4种长度,当为00位模式也即是对应1,此时就是单个随机数;引线7用于产生输出随机数序列;位5用于控制。目前,市场上已有随机数产生器芯片组件,可进行定制。
[0021]模块3,公钥存储单元,用来存储公钥。用于存储模块I产生的公钥,公钥存储单元是只读的(Read only),也就是除了直接上游的模块,其他模块不可以写入数据;下游模块(包括直接下游)只能读取;芯片外部不可以读这个模块。
[0022]模块4,私钥存储单元,用来存储私钥。用于存储模块I产生的私钥,私钥存储单元是只读的(Read only),也就是除了直接上游的模块,其他模块不可以写入数据;直接下游模块只能读取;芯片外部不可以读这个模块;且此数据只能供模块6使用。
[0023]模块5,随机序列存储单元,用来存储随机数序列。用于存储随机数序列模块产生的随机数,只读模块,数据沿着引线流动,但不可修改。
[0024]模块6,签名模块,用来计算签名值。签名过程是首先对数据计算哈希(Hash)值,然后用私钥对哈希值进行加密。引线I输入私钥;引线2输入随机数序列;位3-4用于哈希算法选择,共支持四种,建议使用shal、sha-256、sha-512和MD5 ;对哈希值进行加密(也即产生最终的签名值)使用RSA算法,位5-6用于控制签名结果的长度,建议使用1024、2048和3072三种位数;引线7用于签名值输出;位8用于信号控制。目前,网银证书常用的是SHAlWithRSA和MD5WithRSA,分别是采用SHAl计算哈希值然后采用RSA加密得出签名值和采用MD5计算哈希值然后采用RSA加密得出签名值。目前,该组件尚无硬件实现,需要进行发明。
[0025]模块7,随机数签名值存储单元,用来存储签名值。存储只读的随机数签名值。
[0026]模块8,编码模块,用来对二进制字节码进行转码。因公钥和签名值均是二进制序列,最终要输出到芯片外部,为应用程序读取,经过编码才便于读取。引线I用于输入公钥;引线2用于输入签名值;位3用于编码类型选择建议选择BASE64或HEX ;位5用于信号控制;引线7输出编码后的公钥;引线8输出编码后的随机数签名值。此模块实现起来较为简单。
[0027]模块9,向量存储模块,用来存储各种参数及模块间产生的部分数据。此模块是只读模块,用来存储可供外部应用直接读取的数据。包含随机数、公钥、签名值以及各个模块所选择的算法种类、密钥长度等。共同构成了一个多元组(也即向量)。芯片外部对芯片内部的数据访问,都是通过访问这个存储模块来完成的。其他模块外部均不可访问。
[0028]模块10,总控制器模块,用来控制其他模块运行。该模块是此芯片的神经中枢,用来控制各个模块的运行,使得数据按部就班的在组件之间流动;该模块包含一个时钟序列发生器。
[0029]模块11,参数存储单元,用来存储外部输入的参数。外部输入的参数(本示意图中有20个位)均存储在这个存储单元中,最终会存入模块9。
[0030]二、芯片运行过程芯片运行过程包括2种:
一是产生公钥和私钥对的过程,包含重新生成公钥和私钥对。
[0031]模块10总控制芯片控制产生公钥和私钥的过程;由芯片外部发出产生新公钥和私钥对的命令。模块1、3、8、9按时钟序列顺序执行。
[0032]二是使用已有公钥和私钥对进行签名的过程。
[0033]模块10总控制芯片控制产生签名过程;由芯片外部发出签名过程的命令。模块2、5、4、6、7、8、9按时钟序列顺序执行。
[0034]三、外部读取
外部从模块9向量存储器中读取数据。开发一套API方便读取。
[0035]本发明所公开的手机安全协处理芯片,由具体应用通过控制接口发出产生公钥和私钥对以及签名的指令,同时控制参数输入;应用读取存储向量,进行反编码,然后由应用后台验证签名值是否正确,从而完成整个认证流程。
[0036]上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
【权利要求】
1.一种手机安全协处理芯片,其特征在于:包括设置于芯片基板上的密钥对产生模块、随机序列发生器模块、公钥存储单元、私钥存储单元、随机序列存储单元、签名模块、随机数签名值存储单元、编码模块、向量存储模块、总控制器模块和参数存储单元,其中, 所述密钥对产生模块用以产生公钥和私钥,密钥对产生模块通过引脚分别与公钥存储单元、私钥存储单元相连接,将产生的公钥和私钥分别存储至公钥存储单元和私钥存储单元; 所述随机序列发生器模块用以产生随机数序列,随机序列发生器模块通过引脚与随机序列存储单元相连接,将产生的随机数序列存储至随机序列存储单元内; 所述签名模块用以计算签名值,它的输入引脚分别和私钥存储单元、随机序列存储单元相连接,它的输出引脚和随机数签名值存储单元相连接; 所述随机数签名值存储单元用以存储签名值,它的输出引脚与公钥存储单元的输出引脚一同和编码模块相连接; 所述编码模块用以对二进制字节码进行转码,编码模块的输出引脚与向量存储模块相连接; 所述向量存储模块用以用来存储芯片内的参数及模块间产生的数据,并实现芯片的外部读取; 所述总控制器单元通过外部输入的参数以实现控制其他模块运行,外部输入参数存储至参数存储单元,并进一步发送至向量存储模块。
2.如权利要求1所述的一种手机安全协处理芯片,其特征在于:所述密钥对产生模块中通过RSA算法或者DSA算法产生公钥和私钥,使用1024、2048和3072三种位数的秘钥位数。
3.如权利要求1或2所述的一种手机安全协处理芯片,其特征在于:所述随机序列发生器模块产生的随机序列长度包括1、2、4、8四种。
4.如权利要求3所述的一种手机安全协处理芯片,其特征在于:所述编码模块中的编码类型包括BASE64编码或HEX编码。
5.如权利要求1所述的一种手机安全协处理芯片,其特征在于:向量存储模块中,所述模块间产生的数据包括随机数、公钥、签名值以及各个模块所选择的算法种类、密钥长度。
6.如权利要求1所述的一种手机安全协处理芯片,其特征在于:所述总控制器单元中还设置有一个时钟序列发生器。
7.如权利要求1所述的一种手机安全协处理芯片,其特征在于,所述签名模块中,计算签名值的过程为:首先对随机数序列数据计算哈希值,然后用私钥对哈希值进行加密,其中,哈希算法的选择包括shal、sha-256、sha-512和MD5 ;哈希值的加密使用RSA算法。
8.一种基于权利要求6所述手机安全协处理芯片的工作方法,其特征在于,具体步骤包括: 步骤一、总控制器单元依次控制密钥对产生模块、公钥存储单元、编码模块和向量存储单元按时钟序列顺序执行,产生公钥和私钥; 步骤二、总控制器单元依次控制随机序列发生器模块、随机序列存储单元、私钥存储单元、签名模块、随机数签名存储单元、编码模块和向量存储单元按时钟序列顺序执行,使用已有公钥和私钥对进行签名; 步骤三、控制参数输入,应用读取存储向量进行反编码,再由应用后台验证签名值是否正确,完成认证流程。
【文档编号】H04L9/32GK104363099SQ201410710412
【公开日】2015年2月18日 申请日期:2014年11月27日 优先权日:2014年11月27日
【发明者】张先利 申请人:南京泽本信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1