基于可变参数的芯片内部总线加扰装置和加扰方法与流程

文档序号:15151593发布日期:2018-08-10 21:09阅读:580来源:国知局

本发明涉及一种芯片内部总线加扰装置,特别是一种基于可变参数的芯片内部总线加扰装置和加扰方法。



背景技术:

包含密码算法的安全芯片需要存储和处理密钥、密文等敏感信息,这些敏感信息通过芯片内部总线在cpu、安全协处理器、存储器之间传输。芯片内部信号特别是芯片内部总线上传输的地址信号、数据信号和控制信号容易成为攻击者的探测目标,攻击者可以通过剖片的方法除去芯片的电路保护层,利用物理探针在安全芯片运行时刻获取芯片内部总线上传输的信号,进而分析出攻击者感兴趣的敏感信息。总线加扰可以给芯片内部总线上传输的信号增加干扰成分,改变cpu、安全协处理器、存储器相互之间通信时芯片内部总线上地址信号、数据信号和控制信号的比特值,增加攻击者的探测和窜改难度,达到保护安全芯片中敏感信息的目的。目前已有总线加扰装置在安全芯片中应用,现有的总线加扰装置包括信号加扰去扰模块、芯片内部总线和加扰管理模块,其中加扰管理模块与信号加扰去扰模块连接,信号加扰去扰模块与芯片片内总线连接。现有总线加扰装置基于固定密钥,如果攻击者获取到此固定密钥,就会降低片内总线加扰装置的安全性,另一方面,固定密钥的使用不利于安全芯片在不同运行模式下采用安全等级有差异的总线加扰策略。



技术实现要素:

本发明的目的在于提供一种基于可变参数的芯片内部总线加扰装置和加扰方法,解决现有芯片内部总线加扰装置的安全等级不能适应攻击者由于采用新的攻击设备和攻击手段而形成的不断提高的攻击能力的问题。

本发明的技术解决方案如下:

一种基于可变参数的芯片内部总线加扰装置,包括:信号加扰去扰模块、芯片内部总线和加扰管理模块,其特点在于还包括可变密钥更新模块、密钥选择模块和cpu阶段控制模块;所述的密钥选择模块包括固定密钥存储单元、可变密钥存储单元、轮式循环移位器和选通器,所述的可变密钥更新模块包括随机数生成器、可变密钥生成器和可变密钥分发器;

所述的cpu阶段控制模块的输出端和所述的加扰管理模块的输入端连接,所述的加扰管理模块的第一输出端和所述的密钥选择模块的输入端连接,加扰管理模块的第二输出端与所述的可变密钥更新模块的输入端连接,所述的随机数生成器的输出端和可变密钥生成器的输入端连接,可变密钥生成器的输出端与可变密钥分发器的输入端连接,可变密钥更新模块的输出端与所述的可变密钥存储单元的输入端连接,该可变密钥存储单元的第一输出端与选通器的第二输入端连接,可变密钥存储单元的第二输出端与所述的轮式循环移位器的第一输入端连接,该轮式循环移位器的输出端与所述的选通器的第三输入端连接,所述的固定密钥存储器的输出端与选通器的第一输入端连接,该选通器的输出端与所述的信号加扰去扰模块的输入端连接,芯片内部总线的端口与所述的信号加扰去扰模块的第一端口连接,该信号加扰去扰模块的第二端口连接存储器总线端口,所述的芯片内部总线的输出端与所述的轮式循环移位器的第二输入端连接。

利用上述芯片内部总线加扰装置的加扰方法,该方法包括下列步骤:

1)安全芯片上电启动之后,cpu阶段控制模块通过指令物理地址判断出安全芯片的运行阶段,并发送给加扰管理模块;

2)在安全芯片的启动阶段,所述的加扰管理模块接受所述的cpu阶段控制模块的安全芯片的运行阶段,所述的加扰管理模块把加密密钥策略的编码经第一输出端发送给所述的密钥选择模块;该密钥选择模块根据收到的编码经选通器按下列规则选通:

①当收到不使用加密密钥的编码,所述的选通器将32位0比特序列发送给所述的加扰去扰模块;

②当收到使用固定加密密钥的编码,所述的选通器将固定加密密钥发送给加扰去扰模块;

③当收到使用可变密钥的编码,所述的选通器将可变密钥存储单元的可变密钥发送给加扰去扰模块;

④当收到使用节拍时变加密密钥的编码,所述的可变密钥存储单元将可变密钥发送给轮式循环移位器,芯片内部总线经输出端口将总线时钟传输到所述的轮式循环移位器,所述的轮式循环移位器通过总线时钟驱动加密密钥循环向右移位,并将移位后的结果作为密钥通过所述的选通器发送给信号加扰去扰模块;

3)所述的加扰管理模块同时将可变密钥生成指令经第二输出端发送给所述的可变密钥更新模块,可变密钥更新模块中的随机数发生器产生5组32位随机数发送给可变密钥生成器,可变密钥生成器选择2或3组随机数,进行异或操作生成可变密钥,并发送给可变密钥分发器,可变密钥分发器将可变密钥分发到密钥选择模块的可变密钥存储单元;

4)所述的信号加扰去扰模块根据选通器发来的密钥按照低位对齐的方式与存储器总线端口发来的信号进行异或操作,并将结果发送给所述的芯片内部总线实施加扰;

5)芯片内部总线的输出信号,首先发送到信号加扰去扰模块,在信号加扰去扰模块内部按照低位对齐的方式与选通器输出的密钥进行异或操作,所述的信号加扰去扰模块再将结果发送给所述的存储器总线端口实施去扰。

所述的轮式循环移位器的工作过程是:在每一个总线时钟的上升沿,所述的轮式循环移位器中的加密密钥向右移动1位,最右端移出的数据位填充到轮式循环移位器的最左端数据位。

本发明的技术效果如下:

1)使用本发明进行安全芯片内部总线加扰,可以在不同运行阶段采用有差异的密钥,便于区分不同运行阶段的安全等级。

2)不仅每次启动后可以变换密钥,轮式循环移位器的使用可以在每个时钟周期采用不同的密钥进行加扰。

3)本发明加扰装置提高了安全芯片内部总线上数据通信内容的安全性。

附图说明

图1是本发明基于可变参数的芯片内部总线加扰装置的结构示意图。

具体实施方式

下面结合实施例和附图对本发明作进一步说明,但不应以此限制本发明的保护范围。

先请参阅图1,图1是本发明基于可变参数的芯片内部总线加扰装置的结构示意图。由图可见,本发明基于可变参数的芯片内部总线加扰装置,包括:信号加扰去扰模块、芯片内部总线和加扰管理模块,还包括可变密钥更新模块、密钥选择模块和cpu阶段控制模块;所述的密钥选择模块包括固定密钥存储单元、可变密钥存储单元、轮式循环移位器和选通器,所述的可变密钥更新模块包括随机数生成器、可变密钥生成器和可变密钥分发器。

所述的cpu阶段控制模块的输出端和所述的加扰管理模块的输入端连接,所述的加扰管理模块的第一输出端和所述的密钥选择模块的输入端连接,加扰管理模块的第二输出端与所述的可变密钥更新模块的输入端连接,所述的随机数生成器的输出端和可变密钥生成器的输入端连接,可变密钥生成器的输出端与可变密钥分发器的输入端连接,可变密钥更新模块的输出端与所述的可变密钥存储单元的输入端连接,该可变密钥存储单元的第一输出端与选通器的第二输入端连接,可变密钥存储单元的第二输出端与所述的轮式循环移位器的第一输入端连接,该轮式循环移位器的输出端与所述的选通器的第三输入端连接,所述的固定密钥存储器的输出端与选通器的第一输入端连接,该选通器的输出端与所述的信号加扰去扰模块的输入端连接,芯片内部总线的端口与所述的信号加扰去扰模块的第一端口连接,,所述的存储器总线的端口与所述的信号加扰去扰模块的第二端口连接,所述的芯片内部总线的输出端与所述的轮式循环移位器的第二输入端连接。

利用上述芯片内部总线加扰装置的加扰方法,包括下列步骤:

1)安全芯片上电启动之后,cpu阶段控制模块通过指令物理地址判断出安全芯片的运行阶段,并发送给加扰管理模块;

2)在安全芯片的启动阶段,所述的加扰管理模块接受所述的cpu阶段控制模块的安全芯片的运行阶段,所述的加扰管理模块把加密密钥策略的编码经第一输出端发送给所述的密钥选择模块;该密钥选择模块根据收到的编码经选通器按下列规则选通:

①当收到不使用加密密钥的编码,所述的选通器将32位0比特序列发送给所述的加扰去扰模块;

②当收到使用固定加密密钥的编码,所述的选通器将固定加密密钥发送给加扰去扰模块;

③当收到使用可变密钥的编码,所述的选通器将可变密钥存储单元的可变密钥发送给加扰去扰模块;

④当收到使用节拍时变加密密钥的编码,所述的可变密钥存储单元将可变密钥发送给轮式循环移位器,芯片内部总线经输出端口将总线时钟传输到所述的轮式循环移位器,所述的轮式循环移位器通过总线时钟驱动加密密钥循环向右移位,并将移位后的结果作为密钥通过所述的选通器发送给信号加扰去扰模块;

3)所述的加扰管理模块同时将可变密钥生成指令经第二输出端发送给所述的可变密钥更新模块,可变密钥更新模块中的随机数发生器产生5组32位随机数发送给可变密钥生成器,可变密钥生成器选择2或3组随机数,进行异或操作生成可变密钥,并发送给可变密钥分发器,可变密钥分发器将可变密钥分发到密钥选择模块的可变密钥存储单元;

4)所述的信号加扰去扰模块根据选通器发来的密钥按照低位对齐的方式与存储器总线端口发来的信号进行异或操作,并将结果发送给所述的芯片内部总线实施加扰;

5)芯片内部总线的输出信号,首先发送到信号加扰去扰模块,在信号加扰去扰模块内部按照低位对齐的方式与选通器输出的密钥进行异或操作,所述的信号加扰去扰模块再将结果发送给所述的存储器总线端口实施去扰。

所述的轮式循环移位器的工作过程是:在每一个总线时钟的上升沿,所述的轮式循环移位器中的加密密钥向右移动1位,最右端移出的数据位填充到轮式循环移位器的最左端数据位。

实验表明,本发明可以根据不同运行阶段采用有差异的密钥,便于区分不同运行阶段的安全等级。不仅每次启动后可以变换密钥,轮式循环移位器的使用可以在每个时钟周期采用不同的秘钥进行加扰。本发明加扰装置提高了安全芯片中总线上数据通信内容的安全性。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。比如将存储器总线端口替换为cpu端口或安全协处理器端口,或者增加与cpu端口或安全协处理器端口配套的密钥选择模块。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1