加密/解密系统及其控制方法_2

文档序号:8925395阅读:来源:国知局
信并且发送和接收数据。面板设备914是用户界面,并且用户经由面板设备914操作液晶显示器上所显示的按钮等。通过这种操作,配置了连接至主机控制器101的扫描器设备909等的各种设置。打印单元917是具有打印设备主体、薄片进给单元和薄片排出单元的打印机,并且根据主要来自视频IF单元916的命令信息将打印数据打印在薄片上。
[0031]加密IC 102对经由加密IC 102所具有的后面要说明的SATA-1F 104等而发送和接收的数据进行加密处理和解密处理。HDD 103是存储有图像数据和各种程序的非易失性大容量存储装置,并且具有用作临时工作区域的数据区域(未示出)和例如存储有HDD 103的版本信息的系统区域(未示出)。
[0032]图2是示出图1中的加密IC 102的连接状态的框图。
[0033]参考图2,加密IC 102经由作为符合用于与外部存储装置相连接的SATA(串行高级技术附件)标准的IF的SATA-1F 104和SATA-1F 105而分别连接至主机控制器101和HD 103。加密IC 102经由调试IF 106和闪速存储器IF 108而分别连接至调试器107和闪速存储器夹具109 (加密/解密系统)。调试器107用于软件开发和故障时的验证。闪速存储器夹具109是用于连接后面要说明的闪速存储器芯片111的夹具。应当注意,在正常启动加密IC 102的情况下,不使用调试器107和闪速存储器夹具109。
[0034]加密IC 102被配置成将加密芯片110和闪速存储器芯片111封装在一个封装体中的SiP。加密芯片110例如对HDD 103中所存储的数据进行加密处理。闪速存储器芯片111存储各种数据。闪速存储器芯片111并非必须内置于加密IC 102,而且可以从外部添加至加密IC 102。
[0035]图3是示意性示出图2中的加密IC 102的内部结构的框图。
[0036]图3中的加密IC 102具有CPU 201、闪速存储器202、RAM 203、存储器控制单元204、加密/解密处理单元205、SATA装置-1F 206、SATA主机-1F 207、闪速存储器-1F 208和调试-1F 209,并且这些组件经由总线210彼此连接。加密IC 102经由SATA装置-1F206、SATA主机-1F 207、闪速存储器-1F 208和调试-1F 209分别连接至主机控制器101、HDD 103、闪速存储器夹具109和调试器107。
[0037]CPU 201执行闪速存储器202和RAM 203中所存储的诸如加密程序、伪随机程序和SATA-1F控制程序等的程序。
[0038]闪速存储器202是存储有各种程序、各种控制参数和加密用的秘密信息等的非易失性存储器。RAM 203是用作程序执行区域、临时工作区域和所生成的加密密钥所用的存储区域等的易失性存储器。存储器控制单元204控制与闪速存储器202和RAM 203的数据的输入和输出。加密/解密处理单元205例如使用作为公共密钥密码系统的AES (高级加密标准)来进行对数据的加密处理和解密处理。
[0039]图4是示出图3中的闪速存储器202和RAM 203中所存储的主要数据的图。
[0040]参考图4,闪速存储器202存储秘密信息加密程序301、数据加密程序302、秘密信息303和信息b 304,并且RAM 203存储秘密信息加密密钥305和数据加密密钥306。
[0041]秘密信息加密程序301例如使用AES对数据加密程序302和秘密信息303的一部分或全部进行加密/解密处理,并且使用信息b 304和后面要说明的信息a 410在RAM203上生成秘密信息加密密钥305。数据加密程序302例如使用AES对经由SATA-1F 104和SATA-1F 105在主机控制器101和HDD 103之间进行发送和接收的数据进行加密/解密处理,并且使用秘密信息303在RAM 203上生成数据加密密钥306。
[0042]秘密信息303是用于使加密IC 102可用的认证信息、或者是用于生成数据加密密钥306的机密性高的重要信息,并且是从经由SATA-1F 104连接至加密IC 102的主机控制器101所接收到的。
[0043]信息b 304包括位值,并且能够与后面要说明的信息a 410组合。信息b 304是从主机控制器101所接收到的,并且包括例如根据作为接收侧的各个主机控制器101、或者根据从主机控制器101的接收时刻而改变的位值。将秘密信息加密程序301和信息b 304以明文形式存储在闪速存储器202中,并且将数据加密程序302和秘密信息303以加密形式存储在闪速存储器202中。
[0044]图5是用于说明生成图4中的秘密信息加密密钥305时所需的信息a 410的生成方法的图。
[0045]参考图5,加密IC 102具有包括块A 401、块B 402和块C 403的多个功能块,并且这些功能块各自具有控制寄存器404和状态寄存器405,其中控制寄存器404和状态寄存器405各自包括包含位串的寄存器值。
[0046]控制寄存器404是用于控制硬件模块的寄存器,并且状态寄存器405是表示CPU201的运算状态的寄存器。即,构成状态寄存器405的寄存器值根据CPU 201的运算状态而改变,并且例如,构成状态寄存器405的寄存器值根据如何启动加密IC而改变。
[0047]信息a 410例如是通过在特定时间段内将从控制寄存器404的寄存器值中所选择的寄存器值Acl、Ac2和Ccl与从状态寄存器405的寄存器值中所选择的寄存器值As2、Bs2和Csl组合而生成的(信息值生成单元)。如上所述,状态寄存器405的寄存器值根据CPU201的运算状态而改变。换句话说,状态寄存器405的寄存器值根据时间的经过而改变,因而包括状态寄存器405的寄存器值的信息a 410也根据生成信息a 410的时间而改变。
[0048]图6A是示出用于生成图4中的秘密信息加密密钥305的种子值的图。
[0049]参考图6A,通过将信息a 410和信息b 304组合到一起来获得种子值501。
[0050]图6B是用于说明如何使用图6A中的种子值501来生成秘密信息加密密钥305的图。
[0051]参考图6B,时间轴502表示时间的经过,其中在时刻t = O接通加密IC 102的电源。例如,在时刻tl,将作为在时刻tl所生成的信息a 410的Xl与信息b 304彼此组合以获得种子值503,并且将所获得的种子值503输入至伪随机模块504以获得位串505 (伪随机化)。在时刻t2,将作为在时刻t2所生成的信息a 410的X2与信息b 304彼此组合以获得种子值506,并且将所获得的种子值506输入至伪随机模块504以获得位串507。之后,使用位串505和507来进行异或运算(ExOR) 508,以生成秘密信息加密密钥305 (加密密钥生成单元)。
[0052]应当注意,种子值503和506并非必须通过组合信息b 304来获得,而且信息a410单独可以构成种子值503和506。然而,在使用市场上大量流通的加密IC芯片(以下称为“量产型加密IC芯片”)的情况下,在无需组合信息b 304来生成秘密信息加密密钥305时,在任何量产型加密IC芯片中都根据同一寄存器值来生成作为时刻tl和时刻t2时的信息a 410的Xl和X2这两者,因而所获得的秘密信息加密密钥305相同,并且可以容易地再现秘密信息加密密钥305。
[0053]因此,例如,通过组合包括根据各个主机控制器101而改变的位值的信息b 304,生成针对各个加密IC芯片的秘密信息加密密钥
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1