首页 / 专利库 / 电脑编程 / 算法 / 一种认证方法及密钥对的处理方法、装置与可读存储介质

一种认证方法及密钥对的处理方法、装置与可读存储介质

阅读:326发布:2021-06-08

专利汇可以提供一种认证方法及密钥对的处理方法、装置与可读存储介质专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种认证方法及密钥对的处理方法、装置与可读存储介质,属于信息安全技术领域。该方法用于待认证装置与上位机之间的安全认证,在待认证装置内以密文公钥与密文私钥的形式存储密钥对,该方法包括:(1)上位机发送认证 请求 ;(2)待认证装置基于密文私钥与当前配置数据及固有器件参数,解密生成当前私钥;并将待验证数据与密文公钥发送给上位机,待验证数据为以当前私钥为密码生成;(3)上位机将密文公钥解密生成公钥,并基于公钥与待验证数据是否匹配,进行认证。将安全认证所需的密钥对以密文形式存储,且至少让私钥的加密与待认证装置的物理参数进行 捆 绑,能有效地提高第三方暴 力 破解成本,可广泛应用于通信与认证设备领域中。,下面是一种认证方法及密钥对的处理方法、装置与可读存储介质专利的具体信息内容。

1.一种认证方法,用于待认证装置与上位机之间的安全认证,其特征在于,所述待认证装置包括当前可配置器件及存储有密文私钥、密文公钥与当前配置数据的当前存储器;所述密文私钥由密钥对中的私钥、存储在加密时的装置存储器内的配置数据及该装置上的可配置器件的固有器件参数一起经加密生成,所述密文公钥由所述密钥对中的公钥经另一加密处理装置加密生成;所述认证方法包括以下步骤:
所述上位机向所述待认证装置发送认证请求
所述待认证装置响应于所述认证请求,基于所述密文私钥与所述当前配置数据及所述当前可配置器件的固有器件参数,解密生成当前私钥;并将待验证数据与所述密文公钥发送给所述上位机,所述待验证数据为以所述当前私钥为密码对目标数据进行计算生成;
所述上位机将所述密文公钥解密生成公钥,并基于所述公钥与所述待验证数据是否匹配,进行安全认证。
2.根据权利要求1所述的安全认证方法,其特征在于:
所述待验证数据为以所述当前私钥为密码对目标数据进行加密生成或经签名生成。
3.根据权利要求1或2所述的安全认证方法,其特征在于:
所述密文私钥的加密生成方法包括以下步骤:(1)利用对称算法混合运算加密时的配置数据与固有器件参数,生成第一密文数据;(2)利用对称算法对所述第一密文数据与所述密钥对中的私钥进行混合运算,生成所述密文私钥;
所述密文私钥的解密方法包括以下步骤:(1)利用对称算法混合运算所述当前配置数据与所述当前可配置器件的固有器件参数,生成第二密文数据;(2)利用对称算法对所述第二密文数据与所述密文私钥进行混合运算,生成所述当前私钥。
4.根据权利要求1至3任一项权利要求所述的安全认证方法,其特征在于:
待认证装置包括安全芯片及受控于所述安全芯片的辅助芯片,所述密文私钥与所述密文公钥存储在所述安全芯片的可编程存储器内,配置数据存储在所述辅助芯片的可编程存储器内;
所述安全芯片通过加密方式从所述辅助芯片处获取配置数据。
5.根据权利要求4所述的安全认证方法,其特征在于,所述通过加密方式从所述辅助芯片处获取配置数据的步骤包括:
所述安全芯片响应于所述认证请求,向所述辅助芯片发送配置数据获取请求;
所述辅助芯片响应于所述配置数据获取请求,将由配置数据经对称加密生成的第三密文数据发送给所述安全芯片;
所述安全芯片利用事先存储的对称密钥对所述第三密文数据进行解密,而获取配置数据。
6.一种密钥对的处理方法,其特征在于,包括以下步骤:
接收步骤,通过通信线路接收外部装置所发送的密文公钥,所述密文公钥由所述密钥对中的公钥经加密生成;
获取步骤,获取当前处理装置上的可配置器件的固有器件参数与存储在所述当前处理装置内的配置数据;
加密步骤,利用加密算法基于所述获取步骤所获取的数据与所述密钥对中的私钥进行加密计算,生成密文私钥;
存储步骤,以所述密文公钥及所述密文私钥的形式在所述当前处理装置内存储所述密钥对。
7.根据权利要求6所述的密钥对的处理方法,其特征在于,加密生成所述密文私钥的方法包括以下步骤:
利用对称算法混合运算所述配置数据与所述固有器件参数,生成第一密文数据;
利用对称算法对所述第一密文数据与所述私钥进行混合运算,生成所述密文私钥。
8.根据权利要求6或7所述的密钥对的处理方法,其特征在于,包括密钥对生成步骤与发送步骤;
所述密钥对生成步骤包括在所述当前处理装置中运行密钥对生成算法,生成所述密钥对;
所述发送步骤包括将所述密钥对中的所述公钥发送给所述外部装置。
9.一种密钥对的处理方法,其特征在于,所述密钥对以密文公钥及密文私钥的形式存储;所述密文公钥为所述密钥对中的公钥经加密生成,所述密文私钥由所述密钥对中的私钥与配置数据及固有器件参数经加密生成,所述配置数据存储在加密时的处理装置内,所述固有器件参数为该加密时的处理装置上的可配置器件的固有器件参数;
所述处理方法包括以下步骤:
基于读取当前处理装置中的可配置器件的固有器件参数及存储在所述当前处理装置内的配置数据,对所述密文私钥进行解密,生成私钥。
10.根据权利要求9所述的密钥对的处理方法,其特征在于:
所述密文私钥的加密生成方法包括以下步骤:(1)利用对称算法混合运算加密时的处理装置上的配置数据与可配置器件的固有器件参数,生成第一密文数据;(2)利用对称算法对所述第一密文数据与所述密钥对中的私钥进行混合运算,生成所述密文私钥;
所述密文私钥的解密方法包括以下步骤:(1)利用对称算法混合运算所述当前处理装置上的配置数据与可配置器件的固有器件参数,生成第二密文数据;(2)利用对称算法对所述第二密文数据与所述密文私钥进行混合运算,生成私钥。
11.根据权利要求9或10所述的密钥对的处理方法,其特征在于:
以解密生成的私钥为密码,对目标数据进行加密或签名,生成待验证数据;
向目标设备发送所述密文公钥与所述待验证数据。
12.一种密钥对的处理装置,其特征在于,包括:
存储单元,用于以密文公钥及密文私钥的形式存储所述密钥对;所述密文公钥为所述密钥对中的公钥经加密生成;所述密文私钥由所述密钥对中的私钥与存储在加密时的处理装置内的配置数据及该处理装置上的可配置器件的固有器件参数经加密计算生成;
解密单元,用于读取所述处理装置中的可配置器件的固有器件参数及存储在其内的配置数据,对所述密文私钥解密生成私钥。
13.一种密钥对的处理装置,包括处理器与存储器,所述存储器存储有计算机程序,其特征在于,所述计算机程序被所述处理器执行时能实现权利要求6至11任一项权利要求所述的密钥对的处理方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有用于对密钥对进行处理的计算机程序,当所述计算机程序被执行时,能实现权利要求6至11所述的密钥对的处理方法。

说明书全文

一种认证方法及密钥对的处理方法、装置与可读存储介质

技术领域

[0001] 本发明涉及安全认证技术领域,具体地说,涉及一种认证方法及密钥对的处理方法、装置与计算机可读存储介质。

背景技术

[0002] 在安全认证等安全防范领域中,为了面向诸如家庭自动化、工业联网、配件与耗材验证、医疗、移动等物联网(IoT)市场提供可靠的安全防护,许多厂商都采用了具有加密对策和安全认证功能的芯片来有效地为那些由MCU或MPU在软件内运行加密/解密算法的系统提供卓越的保密性、数据完整性和身份验证功能。
[0003] 其中,安全防范的意义在于防止产品开发商的产品因为没有进行安全防范而被第三方公司破解,同时防止开发商的终端平台被第三方配件产品入侵而造成用户或者厂商的巨大损失,例如,公开号为CN108804953A的专利文献所公开的耗材芯片及公告号为CN106295376A的专利文献所公开的通信系统。用于安全防范的安全芯片在结构上通常包括控制内核单元、易失性存储单元、非易失性存储单元、高速硬件算法单元及I/O接口等基本单元。其中,控制内核单元主要用于芯片内部控制和运算;易失性存储单元主要用于存储临时性的数据;非易失性存储单元用于存储BOOT程序及芯片内部软件数据;高速硬件算法单元用于复杂安全认证算法的硬件实现;I/O接口用于安全芯片与上位机的通讯连接。其内部一般都有物理/软件加密设计以保护片内程序,无法用编程器直接读取芯片内部的程序。然而,第三方破解公司可以通过芯片逆向工程获取芯片整体的设计线路,同时利用各种手段理解安全芯片的实现原理,例如应用能量分析攻击或者借助专用设备、自制设备通过芯片设计上的漏洞或软件缺陷,突破芯片的加密防护提取芯片内部的关键信息数据。
[0004] 对于一般安全芯片而言,通常仅只使用物理加密技术干扰芯片逆向的难度,或者软件加密保护芯片内部信息。出于这些和其他原因,存在对安全防范所涉及的密钥对进行加密保护的需求。此外,也存在对由安全芯片所构建的安全认证装置的结构进行改进,以进一步提高信息安全。

发明内容

[0005] 本发明的主要目的是提供一种认证方法及密钥对的处理方法、装置与计算机可读存储介质,以提高信息安全。
[0006] 为了实现上述主要目的,本发明提供的认证方法用于待认证装置与上位机之间的安全认证,待认证装置包括当前可配置器件及存储有密文私钥、密文公钥与当前配置数据的当前存储器;密文私钥由密钥对中的私钥、存储在加密处理时的装置存储器内的配置数据及该装置上的可配置器件的固有器件参数一起经加密生成,密文公钥由密钥对中的公钥经另一加密处理装置加密生成;认证方法包括以下步骤:
[0007] 上位机向待认证装置发送认证请求
[0008] 待认证装置响应于认证请求,基于密文私钥与当前配置数据及当前可配置器件的固有器件参数,解密生成当前私钥;并将待验证数据与密文公钥发送给上位机,所述待验证数据为以所述当前私钥为密码对目标数据进行计算生成;
[0009] 上位机将密文公钥解密生成公钥,并基于公钥与待验证数据是否匹配,进行安全认证。
[0010] 在该认证方法中,不直接存储认证所需的密钥对,而是将该密钥对中的私钥与公钥分别加密成密文私钥与密文公钥之后再存储至待认证装置的存储器内,且密文公钥不在待认证装置中进行加密,而是由公钥加密用上位机进行加密之后再存储至待认证装置的芯片的可编程存储器内,并在认证过程中的解密由存储在具有前述公钥加密用算法的终端上位机内的解密算法进行解密处理;对于私钥,在其加解密过程中均利用了待验证装置上的配置数据与可配置器件的固定器件参数,即将待认证装置上的物理参数与内部数据信息进行绑处理,且配置数据与可配置器件的位置可以为多处,即只有在加解密两个时间点上的待认证装置一致的情况下,才能获取所需后续数据处理所需的私钥,提高整体芯片的破解难度,从而有效避免第三方公司的暴破解成本。
[0011] 具体的方案为待验证数据为以当前私钥为密码对目标数据进行加密生成或经签名生成。
[0012] 优选的方案为密文私钥的加密生成方法包括以下步骤:(1)利用对称算法混合运算加密时的配置数据与固有器件参数,生成第一密文数据;(2)利用对称算法对第一密文数据与密钥对中的私钥进行混合运算,生成密文私钥;密文私钥的解密方法包括以下步骤:(1)利用对称算法混合运算当前配置数据与当前可配置器件的固有器件参数,生成第二密文数据;(2)利用对称算法对第二密文数据与密文私钥进行混合运算,生成当前私钥。该加解密算法的计算量小。
[0013] 优选的方案为待认证装置包括安全芯片及受控于安全芯片的辅助芯片,密文私钥与密文公钥存储在安全芯片的可编程存储器内,配置数据存储在辅助芯片的可编程存储器内;安全芯片通过加密方式从辅助芯片处获取该配置数据。将获取认证所需的私钥的解密生成所需的密文私钥与配置数据分开存储,并对应地存储在两个芯片的存储单元中,并基于安全芯片与上位机进行通信与数据传输;在需与上位机进行认证行为时,安全芯片从辅助芯片处通过加密方式获取由配置数据加密成的密文数据,并解密出配置数据,从而与存储在安全芯片内的密文私钥及所读取的可配置器件的固有器件参数一起进行解密计算,即基于双芯片设计,即使其中一个芯片被破解,也难以获取全部解密所需的数据,以提高芯片破解成本,有效地提高了信息安全。
[0014] 进一步的方案为通过加密方式从辅助芯片处获取配置数据的步骤包括:(1)安全芯片响应于认证请求,向辅助芯片发送配置数据获取请求;(2)辅助芯片响应于配置数据获取请求,将由配置数据经对称加密生成的第三密文数据发送给安全芯片;(3)安全芯片利用事先存储的对称密钥对第三密文数据进行解密,而获取配置数据。采用对称算法进行加解密,能有效地减少计算量。
[0015] 进一步的方案为辅助芯片是通用芯片。采用通用芯片构建辅助芯片,能有效地降低设备成本,即可利用现有安全芯片产品进行改造构建,有效地降低成本。
[0016] 优选的方案为,密文公钥、密文私钥与配置数据存储在芯片的可编程存储器内。
[0017] 为了实现上述主要目的,本发明提供密钥对的处理方法包括以下步骤:
[0018] 接收步骤,通过通信线路接收外部装置所发送的密文公钥,所述密文公钥由密钥对中的公钥经加密生成;
[0019] 获取步骤,获取当前处理装置上的可配置器件的固有器件参数与存储在当前处理装置内的配置数据;
[0020] 加密步骤,利用加密算法基于获取步骤所获取的配置数据、固有器件参数与密钥对中的私钥进行加密计算,生成密文私钥;
[0021] 存储步骤,以密文公钥及密文私钥的形式在当前处理装置内存储该密钥对。
[0022] 在该处理方法中,将该密钥对中的私钥与公钥分别加密成密文私钥与密文公钥之后再存储,且对私钥的加密过程中利用了当前处理装置上的配置数据与可配置器件的固定器件参数,即将该处理装置上的物理参数与内部数据信息进行捆绑处理,即只有在加解密装置一致的情况下,才能获取所需后续数据处理所需的私钥,提高整体芯片的破解难度,从而有效避免第三方公司的暴力破解成本;此外,由于对公钥的加密由外部装置执行,公钥加密算法可拷贝至不终端设备中而在解密出私钥之后进行多种计算,例如原厂验证等。
[0023] 具体的方案为加密生成密文私钥的方法包括以下步骤:(1)利用对称算法混合运算配置数据与固有器件参数,生成第一密文数据;(2)利用对称算法对第一密文数据与私钥进行混合运算,生成密文私钥。该加密算法所需计算量小。
[0024] 优选的方案为该处理方法包括包括密钥对生成步骤与发送步骤;密钥对生成步骤包括在当前处理装置中运行密钥对生成算法,生成所述密钥对;发送步骤包括将密钥对中的公钥发送给外部装置。
[0025] 为了实现上述主要目的,本发明提供密钥对的处理装置包括处理器与存储器,存储器存储有计算机程序,计算机程序被处理器执行时能实现上述任一技术方案所描述的密钥对处理方法。
[0026] 为了实现上述主要目的,本发明提供计算机可读存储介质存储有用于对密钥对进行处理的计算机程序,当该计算机程序被执行时,能实现上述任一技术方案所描述的密钥对处理方法。
[0027] 为了实现上述主要目的,本发明提供一种密钥对的处理方法,该密钥对以密文公钥及密文私钥的形式存储;密文公钥为密钥对中的公钥经加密生成,密文私钥由密钥对中的私钥与配置数据及固有器件参数经加密生成,配置数据存储在加密时的处理装置存储器内,固有器件参数为该加密时的处理装置上的可配置器件的固有器件参数;处理方法包括基于读取当前处理装置中的可配置器件的固有器件参数及存储在当前处理装置内的配置数据,对密文私钥进行解密,生成私钥。
[0028] 由于密文私钥的加解密过程中均基于加密时的处理装置上的配置数据与可配置器件的固有器件参数,即将该处理装置的物理参数与内部数据进行捆绑处理,即只有在加解密设备一致的情况下,才能获取所需后续数据处理所需的私钥,从而增加了整体芯片的破解难度。
[0029] 具体的方案为密文私钥的加密生成方法包括以下步骤:(1)利用对称算法混合运算加密时的处理装置上的配置数据与可配置器件的固有器件参数,生成第一密文数据;(2)将第一密文数据与密钥对中的私钥基于对称算法进行混合运算,生成密文私钥;密文私钥的解密方法包括以下步骤:(1)利用对称算法混合运算当前处理装置上的配置数据与可配置器件的固有器件参数,生成第二密文数据;(2)利用对称算法对第二密文数据与密文私钥进行混合运算,生成前述私钥。该加解密算法所需计算量小。
[0030] 优选的方案为以解密生成的私钥为密码,对目标数据进行加密或签名,生成待验证数据;向目标设备发送密文公钥与所述待验证数据。以更好地进行验证。
[0031] 为了实现上述主要目的,本发明提供的密钥对处理装置包括存储装置与解密装置;存储单元用于以密文公钥及密文私钥的形式存储密钥对;密文公钥为密钥对中的公钥经加密生成;密文私钥由密钥对中的私钥与存储在加密时的处理装置内的配置数据及该处理装置上的可配置器件的固有器件参数经加密计算生成;解密单元用于读取处理装置中的可配置器件的固有器件参数及存储在其内的配置数据,对密文私钥解密生成私钥。
[0032] 具体的方案为密文私钥的加密生成方法包括以下步骤:(1)利用对称算法混合运算加密时的处理装置上的配置数据与可配置器件的固有器件参数,生成第一密文数据;(2)利用对称算法第一密文数据与密钥对中的私钥进行混合运算,生成密文私钥;密文私钥的解密方法包括以下步骤:(1)利用对称算法混合运算处理装置上的配置数据与可配置器件的固有器件参数,生成第二密文数据;(2)利用对称算法对第二密文数据与密文私钥进行混合运算,生成当前私钥。
[0033] 为了实现上述主要目的,本发明提供密钥对的处理装置包括处理器与存储器,存储器存储有计算机程序,计算机程序被处理器执行时能实现上述任一技术方案所描述的密钥对处理方法。
[0034] 为了实现上述主要目的,本发明提供计算机可读存储介质存储有用于对密钥对进行处理的计算机程序,当该计算机程序被执行时,能实现上述任一技术方案所描述的密钥对处理方法。附图说明
[0035] 图1为本发明实施例1中安全认证方法的工作流程图
[0036] 图2为本发明实施例1中安全认证系统的电路原理结构框图
[0037] 图3为本发明实施例1中安全芯片的电路原理结构框图;
[0038] 图4为本发明实施例1中密钥对生成单元的电路原理结构框图;
[0039] 图5为本发明实施例1中密钥对生成方法的工作流程图;
[0040] 图6为本发明实施例1中密文私钥的加解密方法的工作流程图;
[0041] 图7为本发明实施例2中安全认证系统的电路原理结构框图;
[0042] 图8为本发明实施例2中辅助芯片的电路原理结构框图;
[0043] 图9为本发明实施例2中安全芯片在密文私钥解密过程中的工作流程图;
[0044] 图10为本发明实施例2中辅助芯片在密文私钥解密过程中的工作流程图。

具体实施方式

[0045] 以下结合实施例及其附图对本发明作进一步说明。
[0046] 实施例1
[0047] 对于耗材类产品,例如数据线、电池、医疗耗材等,在其与手机、车辆、医疗设备等终端设备配合使用时,会进行厂商认证,以确保使用原厂产品,以避免使用非原装耗材而产生不匹配等问题。在进行原装耗材的认证过程中,终端上位机会从装入其内的耗材上读取验证所需的密钥对,以进行安全认证;密钥对通常在于耗材出厂时生成,在耗材销售及使用过程中,需避免密钥对被第三方破解所获取,以免被用于非原装耗材上。
[0048] 参见图1及图2,本发明认证方法用于待认证装置11与终端上位机10之间的身份等安全认证,待认证装置11与终端上位机10一起构成本实施例中的安全认证系统,该认证方法具体包括认证请求步骤S11、解密步骤S12及认证步骤S13。
[0049] 如图2及图3所示,待认证装置11包括安全芯片2,该安全芯片2包括主控单元20、易失性存储单元21、可编程存储单元22、可配置器件23、I/O接口24、通信单元25、密钥对生成单元3、私钥加解密单元4及多个算法单元。其中,主控单元20主要用于芯片内部的控制与运算,以协调统筹密钥对的生成、私钥加密等工作,可选用但不限于MCU内核单元;易失性存储单元21主要用于存储临时性的数据,例如芯片程序运行中产生的数据,可选用但不限于SRAM;可编程存储器22用于存储程序认证所需的密钥数据等,可选用但不限于Flash、MTP及EEPROM等;密钥生对成单元3用于生成验证用密钥对;可配置器件23可以是但不局限于基本线路单元、Fues、Rom等,配置器件23可以为多个,所选用可配置器件的固定器件参数数值将根据芯片不同而不同,确定后将无法被更改;I/O接口24与通信单元25用于与终端上位机10或者与加密上位机进行通信,以交换数据,例如将密钥对生成单元3所生成密钥对中的公钥传输给加密时的上位机进行加密,并接收该加密上位机所输出的密文公钥,该密文公钥为加密上位机基于存储在其内的加密算法对私钥进行加密计算所生成的密文数据,及将验证所需的密文公钥与待验证数据发送给终端上位机10;私钥加解密单元4用于对密钥对生成单元3所生成密钥对中的私钥进行加密而生成密文私钥,及用于将密文私钥解密而获取前述私钥。多个算法单元具体包括算法单元261、算法单元262等,用于加密、解密、签名等复杂计算。在本实施例中,加密上位机为生产制造该待认证装置时所用的公钥加密装置,终端上位机10为存储有加密上位机上加密公钥所用的加解密算法,与加密上位机可以是同一台设备,也可以是不同一台设备,且终端上位机10的数量可以为多台。
[0050] 如图4所示,密钥对生成单元3包括随机数生成模30(Random)、点乘模块31(Point Mult)、求模模块32(Mod)及算法模块33。其中,随机数生成模块30用于生成真随机数,求模模块31用于对数据进行求模操作,点乘模块32用于对数据执行点乘操作,算法模块33负责运算加密数据。
[0051] 如图5所示,密钥对生成单元3生成密钥对的过程具体包括以下步骤:
[0052] 生成步骤S21:随机数生成模块30生成两组真随机数。
[0053] 加密步骤S22:以生成步骤S21所生成的两组真随机数中的一组作为算法模块的密钥,另一组作为明文数据,利用算法模块33进行加密计算;并以算法模块33加密计算出的密文数据为明文数据,以随机数生成模块30所生成的一组真随机数为加密密钥,循环地执行两次以上;
[0054] 求模步骤S23:利用求模模块32对加密步骤S22的最终轮所获取的数据进行求模操作,得到密钥对中的私钥ks;
[0055] 点乘步骤S24:运用点乘模块32,带入椭圆曲线G点求得公钥kg。椭圆曲线参数为有T(p,a,b,G,n,h),p、a、b用于确定一条椭圆曲线,G为基点,n为点G的阶,h是椭圆曲线上所有点的个数m与n相除的整数部分。椭圆曲线包括但不局限于256k1、256r1等。
[0056] 在本实施例中,算法模块33的算法可选用但不限于AES、DES、3DES、RSA算法。对于密钥对的生成方法可以采用现有技术中方法进行生成,并不局限于本实施例中的方法。
[0057] 在本发明中,对于在安全芯片2内生成用于后续安全认证的密钥对,不直接存储在可编程存储器22内,而是将该密钥对中的私钥ks与公钥kg分别加密成密文私钥与密文公钥之后,再存储至可编程存储器22内。该密钥对的加密方法包括公钥加密步骤S31与私钥加密步骤S32,即为本发明密钥对的处理方法实施例,如图6所示,具体处理过程如下:
[0058] 公钥加密步骤S31,利用加密算法,对密钥对中的公钥kg进行加密,生成密文公钥。
[0059] 在安全芯片2内生成公钥kg与私钥ks后,通过I/O接口24或通信单元25将公钥kg输出给加密上位机,该加密上位机运用存储在其内的加密算法,将公钥kg加密成密文公钥,并输出给安全芯片2并存储在可编程存储器22内。
[0060] 其中,加密上位机的数量可以为一个,而终端上位机的数量可以为多个,加密上位机在利用软件对公钥kg进行加密后,加密算法与加密密钥在复制至终端上位机10上并在后续使用过程中保持一致存储。
[0061] 私钥加密步骤S32,获取当前处理装置上的可配置器件的固有器件参数与存储在当前处理装置内的配置数据;并利用加密算法将配置数据、固有器件参数及密钥对中的私钥加密生成密文私钥。在本实施中,当前处理装置为待认证装置11。具体包括获取步骤S321与加密步骤S322。私钥的加密工作在出厂时就完成。
[0062] 获取步骤S321,从可编程存储器22内的指定存储区域处读取配置数据,及读取指定可配置器件23的固有器件参数。
[0063] 其中,可配置器件23可以是但不局限于基本线路单元、Fues、Rom等,所选用可配置器件的固定器件参数数值将根据芯片不同而不同,确定后将无法被更改,例如,固定器件参数可以选用其中一个上拉电阻的阻值或者某一器件的产品型号等,也可以选用多个器件作为可配置器件,以利用它们的固定器件参数作为加解密所使用的数据。对于配置数据可为在指定存储区域处所存储的数据,也可为特定的数据,还可以为存储在多个存储区域内的数据。
[0064] 加密步骤S322,利用加密算法将配置数据、固有器件参数及密钥对中的私钥ks加密生成密文私钥。
[0065] (1)利用对称算法混合运算获取步骤S321所读取的配置数据与固有器件参数,生成第一密文数据。在本实施例中为以可配置器件的固有器件参数为加密密钥,以配置数据为明文进行加密计算。
[0066] (2)将加密生成的第一密文数据与密钥对中的私钥ks进行异或操作,生成密文私钥。
[0067] (3)将得到的由密文公钥与密文私钥组成的密钥密文数据写入可编程存储单元22内。即在本实施例中,在待认证装置,将认证所需的密钥对以密文私钥及密文公钥的形式在可编程存储单元22内进行存储,而不是直接在可编程存储单元22内存储密钥对生成单元3所直接生成的密钥对。
[0068] 与该密钥对的处理方法相对应的密钥对处理装置实施例,在本实施例中为包括处理器与存储器,存储器内存储有计算机程序,当该计算机程序被处理器执行时,能实现上述处理方法的步骤。
[0069] 当需要在终端上位机10与待认证装置11之间进行安全认证时,该安全认证包括但不限于身份认证、签名及数据加解密等,该认证方法包括认证请求步骤S41、解密步骤S42及认证步骤S43,具体过程如下:
[0070] 认证请求步骤S41,终端上位机10向待认证装置11发送认证请求。
[0071] 解密步骤S42,待认证装置11响应于终端上位机10所发送的认证请求,基于密文私钥与当前配置数据及当前可配置器件的固有器件参数,解密生成当前私钥;并将待验证数据与密文公钥发送给终端上位机10,待验证数据为以当前私钥为密码对目标数据进行计算生成。具体包括读取步骤S421、解密步骤S422、计算步骤S23及发送步骤S424。
[0072] 读取步骤S421,从当前待认证装置11的可编程存储器22内读取当前配置数据与密文私钥,并读取指定配置器件的固有器件参数。
[0073] 解密步骤S422,利用对称算法混合运算所读取的当前配置数据与当前可配置器件的固有器件参数,生成第二密文数据;将第二密文数据与密文私钥进行异或操作,生成当前私钥。
[0074] 计算步骤S23,利用解密生成的当前私钥为密码对目标数据进行计算,生成携带有该私钥信息的待验证数据。该计算方法可以选用但不限于以当前私钥为密码进行对前述目标数据进行加密计算,或者以当前私钥为密码对前述目标数据进行签名,目标数据可以是任何一段文字数据或者数字数据等。对于目标数据,优选为随机数据,该随机数据可以为随机数生成模块所生成的一组数据,或者随机地从存储单元中所读取的一组数据。
[0075] 发送步骤S424,将存储在可编程存储器22内的密文公钥与计算步骤S423所生成待验证数据一同通过I/O接口24或通信单元25一起发送给终端上位机10。在该发送步骤中,可以同步发送密文公钥与待验证数据,也可不同步发送。
[0076] 认证步骤S43,终端上位机10将密文公钥解密生成公钥,并基于解密生成的公钥与前述待验证数据是否匹配,进行身份认证。
[0077] 对可编程存储单元22中的配置数据,可同时放置多处存储区域。
[0078] 在上述加密步骤S322与解密步骤S422中,对两个数据进行“异或操作”,其为基于对称算法混合运算中的一种,在本发明中对该两步骤的加密与解密计算中优选但不局限于异或操作。
[0079] 在上述认证方法中,其中将密文私钥解密生成私钥的过程构成本实施例中的密钥对的处理方法。且在该处理方法中,为了区分密钥加密时所用的处理装置与当前解密时所用的处理装置,将加密时的处理装置定为加密时的处理装置,对于解密时的处理装置为当前处理装置,在本实施例中为当前待认证装置,其所存储的配置数据定为当前配置数据,固有器件参数为当前可配置器件的固有器件参数。
[0080] 与密钥对解密过程的密钥对处理方法相对应的密钥对处理装置包括存储单元与解密单元。
[0081] 其中,存储单元由本实施例中可编程存储器22构建,用于以密文公钥及密文私钥的形式存储密钥对;该密文公钥为密钥对中的公钥经加密生成;密文私钥由密钥对中的私钥与存储在加密时的处理装置内的配置数据及该处理装置上的可配置器件的固有器件参数经加密生成。密文私钥的加密生成方法如上述加密时密钥对处理方法,在此不再赘述。
[0082] 解密单元由本实施例中的密文私钥解密单元4所构建,用于读取处理装置中的可配置器件的固有器件参数及存储在其内的配置数据,对密文私钥解密生成私钥。对于解密算法,在上述处理方法的描述中已进行详细描述,在此不再赘述。
[0083] 本实施通过在芯片内部设置私钥加解密模块,当芯片初始生产时通过私钥加密模块对新生成的私钥和可配置器件的固有器件参数以及可编程存储器内预先设置的配置数据进行混合运算,最终得到的数据写入可编程存储器中;当芯片正常工作时,芯片通过私钥加解密模块将可编程存储器中的密文数据、配置数据和可配置器件的固有器件参数进行混合运算得到私钥,对待加密或者签名数据进行加密或签名处理。
[0084] 实施例2
[0085] 在本实施例中,主要为对与上述实施例1的不同之处进行描述,具体为上述用于加解密密文私钥中所用配置数据的存储位置与方式进行描述。
[0086] 如图7所示,在待认证装置11内增设一颗受安全芯片2控制的辅助芯片6。如图8所示,附件芯片6包括MCU内核单元60、易失性存储单元61、非易失性存储单元62、I/O接口64及一个以上的硬件算法单元631。MCU内核单元60主要用于芯片内部控制和运算,通常为MSP430、CORTEX-M0等通用的MCU内核;易失性存储单元61主要用于存储临时性的数据,例如硬件算法模块的输入数据或芯片程序运行中产生的数据,具体选用SRAM;非易失性存储单元62包含ROM和FLASH,其中,ROM用于存储BOOT程序,FLASH用于存储芯片内部软件数据;硬件算法单元631用于安全认证算法的硬件实现,例如AEA,AES,DES等加解密模块;I/O接口64用于辅助芯片6与安全芯片2间的通讯连接。辅助芯片6可采用加密芯片或者通用芯片进行构建,在本实施例中,具体采用通用芯片进行构建,以降低成本。
[0087] 在本实施例中,在安全芯片2与辅助芯片6中的硬件算法单元均包括对称硬件算法单元。
[0088] 在工作过程中,将配置数据存储至辅助芯片6的非易失性存储单元62内,而安全芯片2用于密文私钥及密文公钥,并在安全芯片2与终端上位机10之间构建出用于通信的通信链路12,以利用I/O接口进行通讯,及在安全芯片2与辅助芯片6之间构建用于通信的通信链路13,以利用I/O接口进行通讯;即在本实施例中,附件芯片3只与安全芯片2耦合连接而进行通讯,且辅助芯片6的工作状态受控于安全芯片2,即在二者间形成主从工作关系,从而构成双芯片工作模式。
[0089] 在下述描述中,在密文私钥的加解密过程如下:
[0090] 如图9及图10所示,为安全芯片2与辅助芯片6在密文私钥加解密过程中的工作流程图,具体如下:
[0091] 步骤S61,安全芯片2通过I/O接口24接收终端上位机10所发送的认证请求。
[0092] 安全芯片2在上电后,对各单元模块进行初始化,而进入正常工作工作状态,并通过I/O接口24与终端上位机10进行通讯。同时,也对辅助芯片6进行上电,以对其各单元进行初始化,且辅助芯片6在完成上电后将进入休眠模式,而处于待机状态,直至安全芯片对其发送唤醒指令。即在正常状态下,安全芯片2处于工作状态,并能独立地与终端上位机10进行通信,而辅助芯片6处于休眠模式的待机状态以节省功耗。
[0093] 在需进行安全身份认证时,终端上位机10将通过I/O接口24向安全芯片2发送安全认证请求,具体以指令的形式发送。
[0094] 步骤S62,安全芯片2基于接收到由终端上位机10所发送的认证请求,向辅助芯片6发送密钥获取请求。
[0095] 安全芯片2在接收到终端上位机10所发送的安全身份认证请求时,首先需唤醒处于休眠状态的辅助芯片6,并向辅助芯片6发起会话请求,并在两者间构建出加密的通信模式,以通过加密的通信方式从辅助芯片6处获取安全身份认证所需的密钥数据中的安全密钥。
[0096] 具体为向辅助芯片6发送唤醒指令,该唤醒指令用于唤醒处于休眠状态的所述辅助芯片,辅助芯片6在收到唤醒指令并完成初始化后,将从休眠状态进入工作状态,并向安全芯片2发送“就绪”信号,并正式开始加密通讯,具体为利用事先存储在两个芯片的非易失性存储单元内的对称密钥在两者之间构建出用于传输加密数据的加密通道。
[0097] 当安全芯片2在接收辅助芯片6所发送针对唤醒指令所发出的响应信息后,在本实施例中为接收到前述的就绪信号后,生成第一随机数,并利用预先存储在安全芯片2内的事先约定好的对称密钥,对该第一随机数进行加密处理,获取第四密文数据,并将该第四密文数据发送给辅助芯片6。其中,“就绪”信号可以为二者间之间约定高电平或低电平等多种形式信号,或者为一个预先约定的字节数据,例如0XA0,即辅助芯片6响应于所接收到的唤醒指令而向安全芯片2发送一个规定的字节数据“0XA0”表示工作就绪,其构成本实施例中的响应信息。
[0098] 辅助芯片6利用预先存储在其内的事先约定好的对称密钥,对第四密文数据进行解密处理,获取该第一随机数,从而可以利用在两者中所临时存储的第一随机数在两个芯片间构建出以该第一随机数为临时对称密钥的加密通道,即以临时生成的第一随机数为明文进行加密。
[0099] 在本实施例中,第一随机数为一组随机数,在生成之后,存储在易失性存储单元21内。在本步骤中,对称加密算法选用AES,其密钥为双方事先约定好。
[0100] 步骤S63,安全芯片接收辅助芯片6响应于密钥获取请求所发送的第三密文数据,该第三密文数据为由存储在辅助芯片的非易失存储单元62的特定存储区域内的配置数据经加密生成。
[0101] 辅助芯片6利用解密所获取的第一随机数作为对称密钥,将存储在其非易失性存储单元62内的配置加密成第三密文数据,即以配置数据为明文,而解密出的随机数原文作为加密密钥,并将该第三密文数据发送给安全芯片2。即在本实施例中,第三密文数据为由存储在辅助芯片6的非易失性存储单元62内的配置数据经加密而成。在本实施例中,非易失性存储单元62选用FLASH;在本步骤中,对称加密算法选用AES,其密钥为双方事先约定好。
[0102] 步骤S64,对所接收到的第三密文数据进行解密处理,并基于解密所获取的配置数据进行密文私钥的加解密计算,以将私钥加密成密文私钥或者将密文私钥解密成私钥。
[0103] 在本实施例中,加解密算法可以选用但不限于AES、DES、3DES、ECC、RSA等。
[0104] 在本本实施例中,可在现有安全芯片的基础上,通过增设一块通常由通用芯片所构建的辅助芯片,且该辅助芯片受控于安全芯片而与安全芯片构成主从工作关系,将加解密所需中的配置数据存储于辅助芯片6中。安全芯片可以单独完成和上位机的常规通信,以进行数据交换;当和上位机发生安全认证行为时,安全芯片从辅助芯片通过加密方式获取配置数据。这种双芯片设计,即使安全芯片或者辅助芯片被单独破解,攻击者都无法得到全部的密钥数据。使芯片破解难度加大,破解成本增加。
[0105] 在本发明中,基本思路是不在芯片内部直接存储密钥对,通过可配置器件的固有器件参数和可编程存储器内所存储配置数据对密钥生成模块生成的私钥加密,通过上位机使用加密算法对公钥数据进行加密,最后加密后的数据存储于芯片的可编程存储单元中。同时将物理芯片和内部信息数据进行捆绑,提高第三方公司暴力破解成本。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈