加密/解密系统及其控制方法
【技术领域】
[0001]本发明涉及一种加密/解密系统及其控制方法和存储介质。
【背景技术】
[0002]传统的打印设备具有加密功能和解密功能以提高安全性。利用加密功能,对打印设备所具有的诸如HDD等的存储装置中所存储的数据进行加密,并且利用解密功能,使用所谓的加密密钥对加密后的数据进行解密。
[0003]在包括日本和美国的一些国家的政府以及具有安全意识的企业中,要求上述打印设备从基于作为产品认证制度其中之一的“日本密码模块验证制度(Japan CryptographicModule Validat1n Program) ”的第三方机构获得认证,具体地,要求上述打印设备具有该认证计划所规定的安全等级2以上的认证。
[0004]利用IC芯片提供加密功能,并且基于提高安全方面的鲁棒性的观点,更优选利用SiP (System in a Package,系统化封装)提供加密功能,其中在该SiP中,将存储有诸如加密密钥和加密程序等的秘密信息与加密逻辑管芯(die)密封在封装体中。
[0005]通常,IC芯片具有在数据的输入和输出时使用的输入-输出IF、在故障分析时使用的调试IF以及在将加密程序存储在IC芯片内部的非易失性存储器中时使用的存储器IF,并且在一些情况下,利用调试IF或存储器IF来执行IC芯片的内部的分析。
[0006]为了可以利用IC芯片提供加密功能并且可以获得“日本加密模块验证计划”所规定的安全等级2以上的认证,即使在接入调试IF或存储器IF的情况下,也必须防止对IC芯片中所包含的信息进行分析。为了应对该情况,存在对非易失性存储器中所存储的秘密信息和加密程序的一部分或全部进行加密的方法。
[0007]例如使用作为公共密钥密码系统的AES (高级加密标准)来对非易失性存储器中所存储的秘密信息和加密程序进行加密,但是有时基于第三方通过接入调试IF或存储器IF所获得的信息,可以再现针对加密后的秘密信息和加密程序的加密密钥。因而,为了防止针对加密后的秘密信息和加密程序的加密密钥容易地被第三方再现,使用通过将加密设备所具有的加密密钥生成单元所生成的加密密钥以及以明文形式设置在寄存器中的初始输入值输入至随机数生成电路而获得的随机数来对数据进行加密(例如,参见日本特开平10-22994)ο
[0008]然而,寄存器中的初始输入值是以明文形式设置的,因而在该初始输入值被窃取的情况下,加密密钥被再现,这导致加密后的数据容易地被解密。
【发明内容】
[0009]本发明提供能够防止加密数据容易地被解密的加密/解密系统及其控制方法以及存储介质。
[0010]因此,本发明的第一方面提供一种加密/解密系统,其与主机设备进行数据的发送和接收,所述加密/解密系统的特征在于包括:存储单元,用于以加密形式存储用于对相对于所述主机设备而发送和接收的数据进行加密处理或解密处理的程序;密钥生成单元,用于响应于所述加密/解密系统启动来生成用于对所存储的程序进行解密的密钥;解密单元,用于使用所述密钥生成单元所生成的密钥来对所存储的程序进行解密;以及执行单元,用于执行解密后的程序。
[0011]因此,本发明的第二方面提供一种加密/解密系统的控制方法,所述加密/解密系统与主机设备进行数据的发送和接收,所述控制方法包括以下步骤:存储步骤,用于以加密形式存储用于对相对于所述主机设备而发送和接收的数据进行加密处理或解密处理的程序;密钥生成步骤,用于响应于所述加密/解密系统启动来生成用于对所存储的程序进行解密的密钥;解密步骤,用于使用所述密钥生成步骤中所生成的密钥来对所存储的程序进行解密;以及执行步骤,用于执行解密后的程序。
[0012]因此,本发明的第三方面提供一种存储程序的非瞬态计算机可读存储介质,所述程序用于使计算机执行加密/解密系统的控制方法,所述加密/解密系统与主机设备进行数据的发送和接收,所述控制方法包括以下步骤:存储步骤,用于以加密形式存储用于对相对于所述主机设备而发送和接收的数据进行加密处理或解密处理的程序;密钥生成步骤,用于响应于所述加密/解密系统启动来生成用于对所存储的程序进行解密的密钥;解密步骤,用于使用所述密钥生成步骤中所生成的密钥来对所存储的程序进行解密;以及执行步骤,用于执行解密后的程序。
[0013]根据本发明,存储有用于执行加密处理或解密处理的程序,并且响应于加密/解密系统的启动而生成用于对该程序进行解密的密钥。使用所生成的密钥对加密后的程序进行解密以执行加密处理或解密处理。结果,防止了加密数据容易地被解密。
[0014]通过以下(参考附图)对典型实施例的说明,本发明的其它特征将变得明显。
【附图说明】
[0015]图1是示意性示出具有根据本发明实施例的加密处理设备的图像形成系统的结构的框图。
[0016]图2是示出图1中的加密IC的连接状态的框图。
[0017]图3是示意性示出图2中的加密IC的内部结构的框图。
[0018]图4是示出图3的闪速存储器和RAM中所存储的主要数据的图。
[0019]图5是用于说明生成图4中的秘密信息加密密钥时所需的信息a的生成方法的图。
[0020]图6A是示出生成图4中的秘密信息加密密钥所使用的种子值的图,并且图6B是用于说明如何使用图6A中的种子值来生成秘密信息加密密钥的图。
[0021]图7是示出作为在图6B中的时刻tl所生成的信息a的Xl中的位串的图。
[0022]图8是示出对图4中的数据加密程序和秘密信息进行加密的加密处理的过程的流程图。
[0023]图9A和9B是示出执行图4中的秘密信息加密程序和数据加密程序的程序执行处理的过程的流程图。
【具体实施方式】
[0024]现在将参考示出本发明的实施例的附图来说明本发明。
[0025]图1是示意性示出具有根据本发明实施例的加密处理设备的图像形成系统的结构的框图。
[0026]图1中的图像形成系统具有经由网络906彼此连接的主机控制器101和主机计算机907。主机控制器101包括CPU 901、存储器控制单元902、LAN-1F单元905、读取器IF单元908、FAX-1F单元910、图像处理单元912、面板IF单元913、HDD-1F单元915和视频IF单元916,并且这些单元经由总线918彼此连接。
[0027]主机控制器101还具有ROM 903和RAM 904,其中这两者均连接至存储器控制单元902。网络906、扫描器设备909、FAX (传真)设备911、面板设备914、加密IC 102和打印单元917分别连接至LAN-1F单元905、读取器IF单元908、FAX-1F单元910、面板IF单元913、HDD-1F单元915和视频IF单元916,并且FAX设备911连接至公共电话线路919。HDD 103连接至加密IC 102。
[0028]主机控制器101例如设置在MFP (多功能打印机)中。CPU 901提供系统控制并进行运算处理,并且存储器控制单元902控制与各种存储器装置的输入和输出并控制DMA (直接存储器存取)。
[0029]ROM 903存储启动程序、各种处理程序和控制参数等。RAM 904是以DDR(双数据速率)存储器为代表的写专用存储器。
[0030]图像处理单元912针对经由LAN-1F单元905、读取器IF单元908和FAX-1F单元910所获得的图像数据执行各种类型的图像处理。扫描器设备909读取原稿并将该原稿转换成图像数据。FAX设备911经由公共电话线路919控制通
信并且发送和接收数据。面板设备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芯片的秘密信息加密密钥
305,由此可以在使用量产型加密IC芯片的情况下防止秘密信息加密密钥305相同。这样提高了安全等级。
[0054]在根据信息a 410和信息b 304生成秘密信息加密密钥305的情况下,能够进行仅改变信息b 304的秘密信息加密密钥305的无效化(归零化)。在信息b304改变的情况下,无法使用在信息b 304的变化之前所生成的秘密信息加密密钥305,因而即使例如使用秘密信息加密密钥305进行加密后的秘密信息303被丢弃,在信息b 304的变化之后加密后的秘密信息303也永不会被解密,并且这样进一步提高了安全水平。
[0055]图7是示出作为在图6B中的时刻tl所生成的信息a 410的Xl中的位串的图。在该图中,Xl_normal 601与在正常启动加密IC 102时所生成的信息a 410相对应,并且Xl_debug 602与在使用调试器107启动加密IC 102时所生成的信息a 410相对应。
[0056]如上所述,由于在存在两种以上的用以启动加密IC 102的方式的情况下构成状态寄存器405的寄存器值根据如何启动加密IC 102而改变,因此构成包括状态寄存器405的寄存器值的信息a 410的位值也根据如何启动加密IC 102而改变。例如,如图7所示,Xl_normal 601 和 Xl_debug 602 具有不同的位 603 ?606。
[0057]S卩,可以通过改变用以启动加密IC 102的方式来改变信息a 410,因而可以改变通过组合信息a 410所生成的秘密信息加密密钥305。这样提高了秘密信息加密密钥305的安全等级。
[0058]图8是示出对图4中的数据加密程序302和秘密信息303进行加密的加密处理的过程的流程图。
[0059]利用加密IC 102所具有的CPU 201来执行图8的加密处理。
[0060]参考图8,CPU 201使用图5的生成方法来生成作为时刻tl和t2时的信息a410的Xl和X2 (步骤S701),并且判断加密IC 102是否连接至主机控制器101 (步骤S702)。
[0061]作为步骤S702中的判断的结果,在加密IC 102连接至主机控制器101的情况下(步骤S702中为“是”),CPU 201从主机控制器101接收秘密信息303和信息b 304 (步骤
5703)ο
[0062]然后,CPU 201将通过使Xl和信息b 304组合到一起所获得的种子值503输入至伪随机模块504以获得位串505,将通过使X2和信息b 304组合到一起所获得的种子值506输入至伪随机模块504以获得位串507,并且使用所获得的位串505和507来进行异或运算(ExOR) 508以生成秘密信息加密密钥305 (步骤S704)。
[0063]然后,CPU 201使用所生成的秘密信息加密密钥305对数据加密程序302和秘密信息303进行加密处理(步骤S705),并且判断该加密处理是否已完成(步骤S706)。
[0064]作为步骤S706中的判断的结果,在加密处理尚未完成的情况下(步骤S706中为“否”),处理返回至步骤S705,并且在加密处理已完成的情况下(步骤S706中为“是”),CPU201将加密后的数据加密程序302、秘密信息303和用于生成秘密信息加密密钥305的信息b 304存储在闪速存储器202 (步骤S707)中,并且终止本处理。
[0065]另一方面,作为步骤S702中的判断的结果,在加密IC 102没有连接至主机控制器101的情况下(步骤S702中为“否”),CPU 201在无需从主机控制器101接收秘密信息303和信息b 304的情况下立即终止本处理。
[0066]根据图8的加密处理,由于使用Xl和X2来生成秘密信息加密密钥305 (步骤
5704),其中Xl和X2是使用从状态寄存器405的根据时间的经过而改变的多个寄存器值中所选择的寄存器值来生成的信息a 410(步骤S701),因此启动加密IC 102的第三方难以在与时刻tl和tl不同的时刻使用相同的寄存器值来生成信息a 410,并且这样使得难以进行秘密信息加密密钥305的再现。结果,防止了加密后的数据加密程序302和秘密信息303容易地被第三方解密。
[0067]此外,根据图8的加密处理,通过将信息a 410与信息b 304组合来生成秘密信息加密密钥305 (步骤S704),但构成信息b 304的位值例如根据各个主机控制器101而改变,因而可以生成加密IC芯片特有的秘密信息加密密钥305,从而使得更难进行秘密信息加密密钥305的再现并由此进一步提高安全等级。
[0068]此外,根据图8的加密处理,由于通过将信息a 410与信息b 304组合来生成秘密信息加密密钥305 (步骤S704),因此可以使秘密信息加密密钥305无效(归零)并且进一步提尚安全等级。
[0069]图9A和9B是示出执行图4中的秘密信息加密程序301和数据加密程序302的程序执行处理的过程的流程图。
[0070]利用加密IC 102所具有的CPU 201来执行图9A和9B的程序执行处理。
[0071]参考图9A,首先,CPU 201使用图5的生成方法来生成作为时刻tl和t2时的信息a 410 的 Xl 和 X2 (步骤 S801)。
[0072]接着,CPU 201通过将使Xl与闪速存储器202中存储的信息b 304组合所获得的种子值503输入至伪随机模块504来获得位串505,通过将使X2与闪速存储器202中存储的信息b 304组合所获得的种子值506输入至伪随机模块504来获得位串507,并且使用所获得的位串505和507来进行异或运算(ExOR) 508以生成秘密信息加密密钥305 (步骤
5802)ο
[0073]状态寄存器405的寄存器值在相同时刻表示相同值,因而时刻相同的步骤S701和步骤S801中所生成的Xl和X2相同,并且步骤S704和步骤S802中所生成的秘密信息加密密钥305也相同。因而,能够使用步骤S802中所生成的秘密信息加密密钥305对使用步骤S704中所生成的秘密信息加密密钥305进行加密后的数据加密程序302和秘密信息303进行解密。
[0074]然后,CPU 201使用步骤S802中所生成的秘密信息加密密钥305对数据加密程序302和秘密信息303 (已使用步骤S704中所生成的秘密信息加密密钥305对这两者进行了加密)执行解密处理,在RAM 203上展开解密后的数据加密程序302和秘密信息303 (步骤
5803),并且判断解密处理是否完成(步骤S804)。
[0075]作为步骤S804中的判断的结果,在解密处理没有完成的情况下(步骤S804中为“否”),处理返回至步骤S803,并且在解密处理完成的情况下(步骤S804中为“是”),CPU 201使用在RAM 203上进行解密且展开的秘密信息303来生成数据加密密钥306 (步骤S805),并且判断是否建立与主机控制器101的连接(步骤S806)。
[0076]作为步骤S806中的判断的结果,在要建立与主机控制器101的连接的情况下(步骤S806中为“是”),建立主机控制器101和HDD 103之间的通信,以使得可以接收来自主机控制器101的命令。
[0077]另一方面,作为步骤S806中的判断的结果,在不建立与主机控制器101的连接的情况下(步骤S806中为“否”),与是否存在来自主机控制器101的命令请求无关地,立即终止本处理。
[0078]之后,CPU 201判断主机控制器101是否请求了命令(步骤S80
7),并且在主机控制器101请求了命令的情况下(步骤S807中为“是”),CPU 201判断所请求的命令是否是用以从HDD 103的系统区域读取系统信息的系统相关命令、或者用以将系统信息写入HDD103的系统区域的系统相关命令(步骤S808)。
[0079]作为步骤S808的结果,在所请求的命令是系统相关命令的情况下(步骤S808中为“是”),由于系统信息采用明文形式并且进行加密的必要性不大,因此CPU 201在无需对该系统信息进行加密(未加密)的情况下(步骤S809),将该系统信息以明文形式原样发送至主机控制器101或HDD 103 (步骤S814),直到该发送完成为止(步骤S817中为“是”)。
[0080]另一方面,作为步骤S808中的判断的结果,在所请求的命令不是系统相关命令的情况下(步骤S808中为“否”),CPU 201判断所请求的命令是用以从HDD 103的数据区域读取数据信息的读取相关命令还是用以将数据信息写入HDD 103的数据区域的写入相关命令(步骤S810)。
[0081]作为步骤S810中的判断的结果,在所请求的命令是读取相关命令的情况下,CPU20从HDD 103读取密文数据(步骤S811),使用数据加密密钥306对该密文数据进行解密(步骤S812),并且将解密后的数据发送至主机控制器101 (步骤S815),直到该发送完成为止(步骤S818中为“是”)。
[0082]作为步骤S810中的判断的结果,在所请求的命令是写入相关命令的情况下,CPU201使用数据加密密钥306对从主机控制器101所接收到的数据进行加密(步骤S813),并且将加密后的数据发送至HDD 103(步骤S816),直到该发送完成为止(步骤S819中为“是”)。
[0083]在发送完成之后(步骤S817中为“是”、步骤S818中为“是”或步骤S819中为“是”)停止向加密IC 102的电源供给的情况下(步骤S820中为“是”),本处理结束,并且在没有停止加密IC 102的电源供给的情况下(步骤S820中为“否”),CPU 201再次执行步骤S807及其后续步骤的处理。
[0084]根据图9A和9B的程序执行处理,与图8的加密处理相同,使用Xl和X2来生成秘密信息加密密钥305 (步骤S802),其中Xl和X2是使用从状态寄存器405的根据时间的经过而改变的多个寄存器值中所选择的寄存器值来生成的信息a 410 (步骤S801),并且使用秘密信息加密密钥305对数据加密程序302和秘密信息303进行解密处理(步骤S803)。如上所述,启动加密IC 102的第三方难以在与时刻tl和t2不同的时刻使用相同的寄存器值来生成信息a 410,并且这样使得难以进行秘密信息加密密钥305的再现。结果,防止了加密后的秘密信息303容易地被解密。
[0085]此外,根据图9A和9B的程序执行处理,由于除非对秘密信息303进行解密否则无法生成数据加密密钥306 (步骤S805),防止了第三方对使用HDD103中所存储的数据加密密钥306而加密后的加密数据进行分析。
[0086]应当注意,可以在启动加密IC 102时生成秘密信息加密密钥305 (tl = t2 = O)。SP,由于响应于加密IC 102启动来生成用于对数据加密程序302和秘密信息303进行解密的秘密信息加密密钥305 (步骤S801?S803),因此排除了在数据加密程序302和秘密信息303的加密和解密之间第三方对数据加密程序302和秘密信息303进行解密的可能性。_7] 其它实施例
[0088]本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
[0089]尽管已经参考典型实施例说明了本发明,但是应该理解,本发明不限于所公开的典型实施例。所附权利要求书的范围符合最宽的解释,以包含所有这类修改、等同结构和功會K。
[0090]本申请要求2014年3月6日提交的日本专利申请2014-043834的优先权,在此通过引用包含其全部内容。
【主权项】
1.一种加密/解密系统,其与主机设备进行数据的发送和接收,所述加密/解密系统的特征在于包括: 存储单元,用于以加密形式存储用于对相对于所述主机设备而发送和接收的数据进行加密处理或解密处理的程序; 密钥生成单元,用于响应于所述加密/解密系统启动来生成用于对所存储的程序进行解密的密钥; 解密单元,用于使用所述密钥生成单元所生成的密钥来对所存储的程序进行解密;以及 执行单元,用于执行解密后的程序。2.根据权利要求1所述的加密/解密系统,其中,还包括: 第一寄存器,其被配置成包括至少一个寄存器值; 第二寄存器,其被配置成包括至少一个寄存器值; 选择单元,用于从构成所述第一寄存器的至少一个寄存器值中选择至少一个第一寄存器值,并且从构成所述第二寄存器的至少一个寄存器值中选择至少一个第二寄存器值;以及 信息值生成单元,用于生成包括所选择的第一寄存器值和所选择的第二寄存器值的组合的信息值, 其中,所述密钥生成单元基于所述信息值生成单元所生成的信息值来生成所述密钥。3.根据权利要求2所述的加密/解密系统,其中,还包括组合单元,所述组合单元用于将所述信息值与其它信息值组合。4.根据权利要求3所述的加密/解密系统,其中,所述其它信息值包括明文。5.根据权利要求2所述的加密/解密系统,其中,在从所述加密/解密系统启动起经过了第一时间段时以及经过了第二时间段时,所述信息值生成单元生成所述信息值。6.根据权利要求5所述的加密/解密系统,其中,所述密钥生成单元还包括运算处理单元,所述运算处理单元用于通过对所述信息值生成单元在经过了所述第一时间段时以及在经过了所述第二时间段时所生成的两个信息值分别进行伪随机化,来对所述两个信息值进行运算处理。7.根据权利要求6所述的加密/解密系统,其中,所述运算处理单元对所述两个信息值进行异或运算。8.根据权利要求2所述的加密/解密系统,其中,所述加密/解密系统是以两种方式启动的,以及 所述信息值根据启动所述加密/解密系统的方式而改变。9.根据权利要求2所述的加密/解密系统,其中,所述第一寄存器的寄存器值和所述第二寄存器的寄存器值中的至少一个根据时刻而改变。10.一种加密/解密系统的控制方法,所述加密/解密系统与主机设备进行数据的发送和接收,所述控制方法包括以下步骤: 存储步骤,用于以加密形式存储用于对相对于所述主机设备而发送和接收的数据进行加密处理或解密处理的程序; 密钥生成步骤,用于响应于所述加密/解密系统启动来生成用于对所存储的程序进行解密的密钥; 解密步骤,用于使用所述密钥生成步骤中所生成的密钥来对所存储的程序进行解密;以及 执行步骤,用于执行解密后的程序。
【专利摘要】本发明涉及一种加密/解密系统及其控制方法。该加密/解密系统能够防止加密后的数据被容易地解密。以加密形式存储用于对相对于主机设备而发送和接收的数据执行加密处理或解密处理的程序。响应于加密/解密系统启动来生成用于对所存储的程序进行解密的密钥。使用所生成的密钥来对所存储的程序进行解密,并且执行解密后的程序。
【IPC分类】H04N1/23, H04N1/44
【公开号】CN104902138
【申请号】CN201510100428
【发明人】松本昭浩
【申请人】佳能株式会社
【公开日】2015年9月9日
【申请日】2015年3月6日
【公告号】US20150254477