CN104902138B - 加密/解密系统及其控制方法 - Google Patents

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

Info

Publication number
CN104902138B
CN104902138B CN201510100428.8A CN201510100428A CN104902138B CN 104902138 B CN104902138 B CN 104902138B CN 201510100428 A CN201510100428 A CN 201510100428A CN 104902138 B CN104902138 B CN 104902138B
Authority
CN
China
Prior art keywords
encryption
information
value
key
deciphering system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510100428.8A
Other languages
English (en)
Other versions
CN104902138A (zh
Inventor
松本昭浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN104902138A publication Critical patent/CN104902138A/zh
Application granted granted Critical
Publication of CN104902138B publication Critical patent/CN104902138B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • G06F21/725Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits operating on a secure reference time value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及一种加密/解密系统及其控制方法。该加密/解密系统能够防止加密后的数据被容易地解密。以加密形式存储用于对相对于主机设备而发送和接收的数据执行加密处理或解密处理的程序。响应于加密/解密系统启动来生成用于对所存储的程序进行解密的密钥。使用所生成的密钥来对所存储的程序进行解密,并且执行解密后的程序。

Description

加密/解密系统及其控制方法
技术领域
本发明涉及一种加密/解密系统及其控制方法和存储介质。
背景技术
传统的打印设备具有加密功能和解密功能以提高安全性。利用加密功能,对打印设备所具有的诸如HDD等的存储装置中所存储的数据进行加密,并且利用解密功能,使用所谓的加密密钥对加密后的数据进行解密。
在包括日本和美国的一些国家的政府以及具有安全意识的企业中,要求上述打印设备从基于作为产品认证制度其中之一的“日本密码模块验证制度(Japan CryptographicModule Validation Program)”的第三方机构获得认证,具体地,要求上述打印设备具有该认证计划所规定的安全等级2以上的认证。
利用IC芯片提供加密功能,并且基于提高安全方面的鲁棒性的观点,更优选利用SiP(System in a Package,系统化封装)提供加密功能,其中在该SiP中,将存储有诸如加密密钥和加密程序等的秘密信息与加密逻辑管芯(die)密封在封装体中。
通常,IC芯片具有在数据的输入和输出时使用的输入-输出IF、在故障分析时使用的调试IF以及在将加密程序存储在IC芯片内部的非易失性存储器中时使用的存储器IF,并且在一些情况下,利用调试IF或存储器IF来执行IC芯片的内部的分析。
为了可以利用IC芯片提供加密功能并且可以获得“日本加密模块验证计划”所规定的安全等级2以上的认证,即使在接入调试IF或存储器IF的情况下,也必须防止对IC芯片中所包含的信息进行分析。为了应对该情况,存在对非易失性存储器中所存储的秘密信息和加密程序的一部分或全部进行加密的方法。
例如使用作为公共密钥密码系统的AES(高级加密标准)来对非易失性存储器中所存储的秘密信息和加密程序进行加密,但是有时基于第三方通过接入调试IF或存储器IF所获得的信息,可以再现针对加密后的秘密信息和加密程序的加密密钥。因而,为了防止针对加密后的秘密信息和加密程序的加密密钥容易地被第三方再现,使用通过将加密设备所具有的加密密钥生成单元所生成的加密密钥以及以明文形式设置在寄存器中的初始输入值输入至随机数生成电路而获得的随机数来对数据进行加密(例如,参见日本特开平10-22994)。
然而,寄存器中的初始输入值是以明文形式设置的,因而在该初始输入值被窃取的情况下,加密密钥被再现,这导致加密后的数据容易地被解密。
发明内容
本发明提供能够防止加密数据容易地被解密的加密/解密系统及其控制方法以及存储介质。
因此,本发明的第一方面提供一种加密/解密系统,其与主机设备进行数据的发送和接收,所述加密/解密系统的特征在于包括:存储单元,用于以加密形式存储用于对相对于所述主机设备而发送和接收的数据进行加密处理或解密处理的程序;密钥生成单元,用于响应于所述加密/解密系统启动来生成用于对所存储的程序进行解密的密钥;解密单元,用于使用所述密钥生成单元所生成的密钥来对所存储的程序进行解密;以及执行单元,用于执行解密后的程序。
因此,本发明的第二方面提供一种加密/解密系统的控制方法,所述加密/解密系统与主机设备进行数据的发送和接收,所述控制方法包括以下步骤:存储步骤,用于以加密形式存储用于对相对于所述主机设备而发送和接收的数据进行加密处理或解密处理的程序;密钥生成步骤,用于响应于所述加密/解密系统启动来生成用于对所存储的程序进行解密的密钥;解密步骤,用于使用所述密钥生成步骤中所生成的密钥来对所存储的程序进行解密;以及执行步骤,用于执行解密后的程序。
因此,本发明的第三方面提供一种存储程序的非瞬态计算机可读存储介质,所述程序用于使计算机执行加密/解密系统的控制方法,所述加密/解密系统与主机设备进行数据的发送和接收,所述控制方法包括以下步骤:存储步骤,用于以加密形式存储用于对相对于所述主机设备而发送和接收的数据进行加密处理或解密处理的程序;密钥生成步骤,用于响应于所述加密/解密系统启动来生成用于对所存储的程序进行解密的密钥;解密步骤,用于使用所述密钥生成步骤中所生成的密钥来对所存储的程序进行解密;以及执行步骤,用于执行解密后的程序。
根据本发明,存储有用于执行加密处理或解密处理的程序,并且响应于加密/解密系统的启动而生成用于对该程序进行解密的密钥。使用所生成的密钥对加密后的程序进行解密以执行加密处理或解密处理。结果,防止了加密数据容易地被解密。
通过以下(参考附图)对典型实施例的说明,本发明的其它特征将变得明显。
附图说明
图1是示意性示出具有根据本发明实施例的加密处理设备的图像形成系统的结构的框图。
图2是示出图1中的加密IC的连接状态的框图。
图3是示意性示出图2中的加密IC的内部结构的框图。
图4是示出图3的闪速存储器和RAM中所存储的主要数据的图。
图5是用于说明生成图4中的秘密信息加密密钥时所需的信息a的生成方法的图。
图6A是示出生成图4中的秘密信息加密密钥所使用的种子值的图,并且图6B是用于说明如何使用图6A中的种子值来生成秘密信息加密密钥的图。
图7是示出作为在图6B中的时刻t1所生成的信息a的X1中的位串的图。
图8是示出对图4中的数据加密程序和秘密信息进行加密的加密处理的过程的流程图。
图9A和9B是示出执行图4中的秘密信息加密程序和数据加密程序的程序执行处理的过程的流程图。
具体实施方式
现在将参考示出本发明的实施例的附图来说明本发明。
图1是示意性示出具有根据本发明实施例的加密处理设备的图像形成系统的结构的框图。
图1中的图像形成系统具有经由网络906彼此连接的主机控制器101和主机计算机907。主机控制器101包括CPU 901、存储器控制单元902、LAN-IF单元905、读取器IF单元908、FAX-IF单元910、图像处理单元912、面板IF单元913、HDD-IF单元915和视频IF单元916,并且这些单元经由总线918彼此连接。
主机控制器101还具有ROM 903和RAM 904,其中这两者均连接至存储器控制单元902。网络906、扫描器设备909、FAX(传真)设备911、面板设备914、加密IC 102和打印单元917分别连接至LAN-IF单元905、读取器IF单元908、FAX-IF单元910、面板IF单元913、HDD-IF单元915和视频IF单元916,并且FAX设备911连接至公共电话线路919。HDD 103连接至加密IC 102。
主机控制器101例如设置在MFP(多功能打印机)中。CPU 901提供系统控制并进行运算处理,并且存储器控制单元902控制与各种存储器装置的输入和输出并控制DMA(直接存储器存取)。
ROM 903存储启动程序、各种处理程序和控制参数等。RAM 904是以DDR(双数据速率)存储器为代表的写专用存储器。
图像处理单元912针对经由LAN-IF单元905、读取器IF单元908和FAX-IF单元910所获得的图像数据执行各种类型的图像处理。扫描器设备909读取原稿并将该原稿转换成图像数据。FAX设备911经由公共电话线路919控制通信并且发送和接收数据。面板设备914是用户界面,并且用户经由面板设备914操作液晶显示器上所显示的按钮等。通过这种操作,配置了连接至主机控制器101的扫描器设备909等的各种设置。打印单元917是具有打印设备主体、薄片进给单元和薄片排出单元的打印机,并且根据主要来自视频IF单元916的命令信息将打印数据打印在薄片上。
加密IC 102对经由加密IC 102所具有的后面要说明的SATA-IF 104等而发送和接收的数据进行加密处理和解密处理。HDD 103是存储有图像数据和各种程序的非易失性大容量存储装置,并且具有用作临时工作区域的数据区域(未示出)和例如存储有HDD 103的版本信息的系统区域(未示出)。
图2是示出图1中的加密IC 102的连接状态的框图。
参考图2,加密IC 102经由作为符合用于与外部存储装置相连接的SATA(串行高级技术附件)标准的IF的SATA-IF 104和SATA-IF 105而分别连接至主机控制器101和HD 103。加密IC 102经由调试IF 106和闪速存储器IF 108而分别连接至调试器107和闪速存储器夹具109(加密/解密系统)。调试器107用于软件开发和故障时的验证。闪速存储器夹具109是用于连接后面要说明的闪速存储器芯片111的夹具。应当注意,在正常启动加密IC 102的情况下,不使用调试器107和闪速存储器夹具109。
加密IC 102被配置成将加密芯片110和闪速存储器芯片111封装在一个封装体中的SiP。加密芯片110例如对HDD 103中所存储的数据进行加密处理。闪速存储器芯片111存储各种数据。闪速存储器芯片111并非必须内置于加密IC 102,而且可以从外部添加至加密IC 102。
图3是示意性示出图2中的加密IC 102的内部结构的框图。
图3中的加密IC 102具有CPU 201、闪速存储器202、RAM 203、存储器控制单元204、加密/解密处理单元205、SATA装置-IF 206、SATA主机-IF 207、闪速存储器-IF 208和调试-IF 209,并且这些组件经由总线210彼此连接。加密IC 102经由SATA装置-IF 206、SATA主机-IF 207、闪速存储器-IF 208和调试-IF 209分别连接至主机控制器101、HDD 103、闪速存储器夹具109和调试器107。
CPU 201执行闪速存储器202和RAM 203中所存储的诸如加密程序、伪随机程序和SATA-IF控制程序等的程序。
闪速存储器202是存储有各种程序、各种控制参数和加密用的秘密信息等的非易失性存储器。RAM 203是用作程序执行区域、临时工作区域和所生成的加密密钥所用的存储区域等的易失性存储器。存储器控制单元204控制与闪速存储器202和RAM 203的数据的输入和输出。加密/解密处理单元205例如使用作为公共密钥密码系统的AES(高级加密标准)来进行对数据的加密处理和解密处理。
图4是示出图3中的闪速存储器202和RAM 203中所存储的主要数据的图。
参考图4,闪速存储器202存储秘密信息加密程序301、数据加密程序302、秘密信息303和信息b 304,并且RAM 203存储秘密信息加密密钥305和数据加密密钥306。
秘密信息加密程序301例如使用AES对数据加密程序302和秘密信息303的一部分或全部进行加密/解密处理,并且使用信息b 304和后面要说明的信息a 410在RAM 203上生成秘密信息加密密钥305。数据加密程序302例如使用AES对经由SATA-IF 104和SATA-IF105在主机控制器101和HDD 103之间进行发送和接收的数据进行加密/解密处理,并且使用秘密信息303在RAM 203上生成数据加密密钥306。
秘密信息303是用于使加密IC 102可用的认证信息、或者是用于生成数据加密密钥306的机密性高的重要信息,并且是从经由SATA-IF 104连接至加密IC 102的主机控制器101所接收到的。
信息b 304包括位值,并且能够与后面要说明的信息a 410组合。信息b 304是从主机控制器101所接收到的,并且包括例如根据作为接收侧的各个主机控制器101、或者根据从主机控制器101的接收时刻而改变的位值。将秘密信息加密程序301和信息b 304以明文形式存储在闪速存储器202中,并且将数据加密程序302和秘密信息303以加密形式存储在闪速存储器202中。
图5是用于说明生成图4中的秘密信息加密密钥305时所需的信息a 410的生成方法的图。
参考图5,加密IC 102具有包括块A 401、块B 402和块C 403的多个功能块,并且这些功能块各自具有控制寄存器404和状态寄存器405,其中控制寄存器404和状态寄存器405各自包括包含位串的寄存器值。
控制寄存器404是用于控制硬件模块的寄存器,并且状态寄存器405是表示CPU201的运算状态的寄存器。即,构成状态寄存器405的寄存器值根据CPU 201的运算状态而改变,并且例如,构成状态寄存器405的寄存器值根据如何启动加密IC而改变。
信息a 410例如是通过在特定时间段内将从控制寄存器404的寄存器值中所选择的寄存器值Ac1、Ac2和Cc1与从状态寄存器405的寄存器值中所选择的寄存器值As2、Bs2和Cs1组合而生成的(信息值生成单元)。如上所述,状态寄存器405的寄存器值根据CPU 201的运算状态而改变。换句话说,状态寄存器405的寄存器值根据时间的经过而改变,因而包括状态寄存器405的寄存器值的信息a 410也根据生成信息a 410的时间而改变。
图6A是示出用于生成图4中的秘密信息加密密钥305的种子值的图。
参考图6A,通过将信息a 410和信息b 304组合到一起来获得种子值501。
图6B是用于说明如何使用图6A中的种子值501来生成秘密信息加密密钥305的图。
参考图6B,时间轴502表示时间的经过,其中在时刻t=0接通加密IC 102的电源。例如,在时刻t1,将作为在时刻t1所生成的信息a 410的X1与信息b 304彼此组合以获得种子值503,并且将所获得的种子值503输入至伪随机模块504以获得位串505(伪随机化)。在时刻t2,将作为在时刻t2所生成的信息a 410的X2与信息b 304彼此组合以获得种子值506,并且将所获得的种子值506输入至伪随机模块504以获得位串507。之后,使用位串505和507来进行异或运算(ExOR)508,以生成秘密信息加密密钥305(加密密钥生成单元)。
应当注意,种子值503和506并非必须通过组合信息b 304来获得,而且信息a 410单独可以构成种子值503和506。然而,在使用市场上大量流通的加密IC芯片(以下称为“量产型加密IC芯片”)的情况下,在无需组合信息b 304来生成秘密信息加密密钥305时,在任何量产型加密IC芯片中都根据同一寄存器值来生成作为时刻t1和时刻t2时的信息a 410的X1和X2这两者,因而所获得的秘密信息加密密钥305相同,并且可以容易地再现秘密信息加密密钥305。
因此,例如,通过组合包括根据各个主机控制器101而改变的位值的信息b 304,生成针对各个加密IC芯片的秘密信息加密密钥305,由此可以在使用量产型加密IC芯片的情况下防止秘密信息加密密钥305相同。这样提高了安全等级。
在根据信息a 410和信息b 304生成秘密信息加密密钥305的情况下,能够进行仅改变信息b 304的秘密信息加密密钥305的无效化(归零化)。在信息b304改变的情况下,无法使用在信息b 304的变化之前所生成的秘密信息加密密钥305,因而即使例如使用秘密信息加密密钥305进行加密后的秘密信息303被丢弃,在信息b 304的变化之后加密后的秘密信息303也永不会被解密,并且这样进一步提高了安全水平。
图7是示出作为在图6B中的时刻t1所生成的信息a 410的X1中的位串的图。在该图中,X1_normal 601与在正常启动加密IC 102时所生成的信息a 410相对应,并且X1_debug602与在使用调试器107启动加密IC 102时所生成的信息a 410相对应。
如上所述,由于在存在两种以上的用以启动加密IC 102的方式的情况下构成状态寄存器405的寄存器值根据如何启动加密IC 102而改变,因此构成包括状态寄存器405的寄存器值的信息a 410的位值也根据如何启动加密IC 102而改变。例如,如图7所示,X1_normal 601和X1_debug 602具有不同的位603~606。
即,可以通过改变用以启动加密IC 102的方式来改变信息a 410,因而可以改变通过组合信息a 410所生成的秘密信息加密密钥305。这样提高了秘密信息加密密钥305的安全等级。
图8是示出对图4中的数据加密程序302和秘密信息303进行加密的加密处理的过程的流程图。
利用加密IC 102所具有的CPU 201来执行图8的加密处理。
参考图8,CPU 201使用图5的生成方法来生成作为时刻t1和t2时的信息a410的X1和X2(步骤S701),并且判断加密IC 102是否连接至主机控制器101(步骤S702)。
作为步骤S702中的判断的结果,在加密IC 102连接至主机控制器101的情况下(步骤S702中为“是”),CPU 201从主机控制器101接收秘密信息303和信息b 304(步骤S703)。
然后,CPU 201将通过使X1和信息b 304组合到一起所获得的种子值503输入至伪随机模块504以获得位串505,将通过使X2和信息b 304组合到一起所获得的种子值506输入至伪随机模块504以获得位串507,并且使用所获得的位串505和507来进行异或运算(ExOR)508以生成秘密信息加密密钥305(步骤S704)。
然后,CPU 201使用所生成的秘密信息加密密钥305对数据加密程序302和秘密信息303进行加密处理(步骤S705),并且判断该加密处理是否已完成(步骤S706)。
作为步骤S706中的判断的结果,在加密处理尚未完成的情况下(步骤S706中为“否”),处理返回至步骤S705,并且在加密处理已完成的情况下(步骤S706中为“是”),CPU201将加密后的数据加密程序302、秘密信息303和用于生成秘密信息加密密钥305的信息b304存储在闪速存储器202(步骤S707)中,并且终止本处理。
另一方面,作为步骤S702中的判断的结果,在加密IC 102没有连接至主机控制器101的情况下(步骤S702中为“否”),CPU 201在无需从主机控制器101接收秘密信息303和信息b 304的情况下立即终止本处理。
根据图8的加密处理,由于使用X1和X2来生成秘密信息加密密钥305(步骤S704),其中X1和X2是使用从状态寄存器405的根据时间的经过而改变的多个寄存器值中所选择的寄存器值来生成的信息a 410(步骤S701),因此启动加密IC 102的第三方难以在与时刻t1和t1不同的时刻使用相同的寄存器值来生成信息a 410,并且这样使得难以进行秘密信息加密密钥305的再现。结果,防止了加密后的数据加密程序302和秘密信息303容易地被第三方解密。
此外,根据图8的加密处理,通过将信息a 410与信息b 304组合来生成秘密信息加密密钥305(步骤S704),但构成信息b 304的位值例如根据各个主机控制器101而改变,因而可以生成加密IC芯片特有的秘密信息加密密钥305,从而使得更难进行秘密信息加密密钥305的再现并由此进一步提高安全等级。
此外,根据图8的加密处理,由于通过将信息a 410与信息b 304组合来生成秘密信息加密密钥305(步骤S704),因此可以使秘密信息加密密钥305无效(归零)并且进一步提高安全等级。
图9A和9B是示出执行图4中的秘密信息加密程序301和数据加密程序302的程序执行处理的过程的流程图。
利用加密IC 102所具有的CPU 201来执行图9A和9B的程序执行处理。
参考图9A,首先,CPU 201使用图5的生成方法来生成作为时刻t1和t2时的信息a410的X1和X2(步骤S801)。
接着,CPU 201通过将使X1与闪速存储器202中存储的信息b 304组合所获得的种子值503输入至伪随机模块504来获得位串505,通过将使X2与闪速存储器202中存储的信息b 304组合所获得的种子值506输入至伪随机模块504来获得位串507,并且使用所获得的位串505和507来进行异或运算(ExOR)508以生成秘密信息加密密钥305(步骤S802)。
状态寄存器405的寄存器值在相同时刻表示相同值,因而时刻相同的步骤S701和步骤S801中所生成的X1和X2相同,并且步骤S704和步骤S802中所生成的秘密信息加密密钥305也相同。因而,能够使用步骤S802中所生成的秘密信息加密密钥305对使用步骤S704中所生成的秘密信息加密密钥305进行加密后的数据加密程序302和秘密信息303进行解密。
然后,CPU 201使用步骤S802中所生成的秘密信息加密密钥305对数据加密程序302和秘密信息303(已使用步骤S704中所生成的秘密信息加密密钥305对这两者进行了加密)执行解密处理,在RAM 203上展开解密后的数据加密程序302和秘密信息303(步骤S803),并且判断解密处理是否完成(步骤S804)。
作为步骤S804中的判断的结果,在解密处理没有完成的情况下(步骤S804中为“否”),处理返回至步骤S803,并且在解密处理完成的情况下(步骤S804中为“是”),CPU 201使用在RAM 203上进行解密且展开的秘密信息303来生成数据加密密钥306(步骤S805),并且判断是否建立与主机控制器101的连接(步骤S806)。
作为步骤S806中的判断的结果,在要建立与主机控制器101的连接的情况下(步骤S806中为“是”),建立主机控制器101和HDD 103之间的通信,以使得可以接收来自主机控制器101的命令。
另一方面,作为步骤S806中的判断的结果,在不建立与主机控制器101的连接的情况下(步骤S806中为“否”),与是否存在来自主机控制器101的命令请求无关地,立即终止本处理。
之后,CPU 201判断主机控制器101是否请求了命令(步骤S807),并且在主机控制器101请求了命令的情况下(步骤S807中为“是”),CPU 201判断所请求的命令是否是用以从HDD 103的系统区域读取系统信息的系统相关命令、或者用以将系统信息写入HDD 103的系统区域的系统相关命令(步骤S808)。
作为步骤S808的结果,在所请求的命令是系统相关命令的情况下(步骤S808中为“是”),由于系统信息采用明文形式并且进行加密的必要性不大,因此CPU 201在无需对该系统信息进行加密(未加密)的情况下(步骤S809),将该系统信息以明文形式原样发送至主机控制器101或HDD 103(步骤S814),直到该发送完成为止(步骤S817中为“是”)。
另一方面,作为步骤S808中的判断的结果,在所请求的命令不是系统相关命令的情况下(步骤S808中为“否”),CPU 201判断所请求的命令是用以从HDD 103的数据区域读取数据信息的读取相关命令还是用以将数据信息写入HDD 103的数据区域的写入相关命令(步骤S810)。
作为步骤S810中的判断的结果,在所请求的命令是读取相关命令的情况下,CPU20从HDD 103读取密文数据(步骤S811),使用数据加密密钥306对该密文数据进行解密(步骤S812),并且将解密后的数据发送至主机控制器101(步骤S815),直到该发送完成为止(步骤S818中为“是”)。
作为步骤S810中的判断的结果,在所请求的命令是写入相关命令的情况下,CPU201使用数据加密密钥306对从主机控制器101所接收到的数据进行加密(步骤S813),并且将加密后的数据发送至HDD 103(步骤S816),直到该发送完成为止(步骤S819中为“是”)。
在发送完成之后(步骤S817中为“是”、步骤S818中为“是”或步骤S819中为“是”)停止向加密IC 102的电源供给的情况下(步骤S820中为“是”),本处理结束,并且在没有停止加密IC 102的电源供给的情况下(步骤S820中为“否”),CPU 201再次执行步骤S807及其后续步骤的处理。
根据图9A和9B的程序执行处理,与图8的加密处理相同,使用X1和X2来生成秘密信息加密密钥305(步骤S802),其中X1和X2是使用从状态寄存器405的根据时间的经过而改变的多个寄存器值中所选择的寄存器值来生成的信息a 410(步骤S801),并且使用秘密信息加密密钥305对数据加密程序302和秘密信息303进行解密处理(步骤S803)。如上所述,启动加密IC 102的第三方难以在与时刻t1和t2不同的时刻使用相同的寄存器值来生成信息a410,并且这样使得难以进行秘密信息加密密钥305的再现。结果,防止了加密后的秘密信息303容易地被解密。
此外,根据图9A和9B的程序执行处理,由于除非对秘密信息303进行解密否则无法生成数据加密密钥306(步骤S805),防止了第三方对使用HDD103中所存储的数据加密密钥306而加密后的加密数据进行分析。
应当注意,可以在启动加密IC 102时生成秘密信息加密密钥305(t1=t2=0)。即,由于响应于加密IC 102启动来生成用于对数据加密程序302和秘密信息303进行解密的秘密信息加密密钥305(步骤S801~S803),因此排除了在数据加密程序302和秘密信息303的加密和解密之间第三方对数据加密程序302和秘密信息303进行解密的可能性。
其它实施例
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
尽管已经参考典型实施例说明了本发明,但是应该理解,本发明不限于所公开的典型实施例。所附权利要求书的范围符合最宽的解释,以包含所有这类修改、等同结构和功能。
本申请要求2014年3月6日提交的日本专利申请2014-043834的优先权,在此通过引用包含其全部内容。

Claims (9)

1.一种加密/解密系统,其与主机设备进行数据的发送和接收,所述加密/解密系统包括:
存储单元,用于以加密形式存储用于对相对于所述主机设备而发送和接收的数据进行加密处理或解密处理的程序,
其特征在于,还包括:
密钥生成单元,用于响应于所述加密/解密系统启动来生成用于对所存储的程序进行解密的密钥;
解密单元,用于使用所述密钥生成单元所生成的密钥来对所存储的程序进行解密;以及
执行单元,用于执行解密后的程序,
其中,所述加密/解密系统包括多个启动方式,以及
所述密钥生成单元生成密钥所使用的信息值根据启动所述加密/解密系统的多个方式而改变。
2.根据权利要求1所述的加密/解密系统,其中,还包括:
第一寄存器,其被配置成包括至少一个寄存器值;
第二寄存器,其被配置成包括至少一个寄存器值;
选择单元,用于从构成所述第一寄存器的至少一个寄存器值中选择至少一个第一寄存器值,并且从构成所述第二寄存器的至少一个寄存器值中选择至少一个第二寄存器值;以及
信息值生成单元,用于生成包括所选择的第一寄存器值和所选择的第二寄存器值的组合的信息值,
其中,所述密钥生成单元基于所述信息值生成单元所生成的信息值来生成所述密钥。
3.根据权利要求2所述的加密/解密系统,其中,还包括组合单元,所述组合单元用于将所述信息值与其它信息值组合。
4.根据权利要求3所述的加密/解密系统,其中,所述其它信息值包括明文。
5.根据权利要求2所述的加密/解密系统,其中,在从所述加密/解密系统启动起经过了第一时间段时,所述信息值生成单元生成信息值,并且在从所述加密/解密系统启动起经过了第二时间段时,所述信息值生成单元生成信息值。
6.根据权利要求5所述的加密/解密系统,其中,所述密钥生成单元还包括运算处理单元,所述运算处理单元用于通过对所述信息值生成单元在经过了所述第一时间段时以及在经过了所述第二时间段时所生成的两个信息值分别进行伪随机化,来对所述两个信息值进行运算处理。
7.根据权利要求6所述的加密/解密系统,其中,所述运算处理单元对所述两个信息值进行异或运算。
8.根据权利要求2所述的加密/解密系统,其中,所述第一寄存器的寄存器值和所述第二寄存器的寄存器值这两者根据时刻而改变。
9.一种加密/解密系统的控制方法,所述加密/解密系统与主机设备进行数据的发送和接收,所述控制方法包括以下步骤:
存储步骤,用于以加密形式存储用于对相对于所述主机设备而发送和接收的数据进行加密处理或解密处理的程序,
其特征在于,还包括:
密钥生成步骤,用于响应于所述加密/解密系统启动来生成用于对所存储的程序进行解密的密钥;
解密步骤,用于使用所述密钥生成步骤中所生成的密钥来对所存储的程序进行解密;以及
执行步骤,用于执行解密后的程序,
其中,所述加密/解密系统包括多个启动方式,以及
所述密钥生成步骤生成密钥所使用的信息值根据启动所述加密/解密系统的多个方式而改变。
CN201510100428.8A 2014-03-06 2015-03-06 加密/解密系统及其控制方法 Active CN104902138B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2014043834A JP6265783B2 (ja) 2014-03-06 2014-03-06 暗号化/復号化システム及びその制御方法、並びにプログラム
JP2014-043834 2014-03-06

Publications (2)

Publication Number Publication Date
CN104902138A CN104902138A (zh) 2015-09-09
CN104902138B true CN104902138B (zh) 2018-07-03

Family

ID=54017644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510100428.8A Active CN104902138B (zh) 2014-03-06 2015-03-06 加密/解密系统及其控制方法

Country Status (3)

Country Link
US (1) US20150254477A1 (zh)
JP (1) JP6265783B2 (zh)
CN (1) CN104902138B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104716954A (zh) * 2015-03-17 2015-06-17 广东高云半导体科技股份有限公司 带有片上用户非易失性存储器的可编程逻辑器件
US10216963B2 (en) * 2016-12-12 2019-02-26 Anaglobe Technology, Inc. Method to protect an IC layout
CN106644129B (zh) * 2016-12-26 2019-11-12 西安石油大学 一种可排除主观误差及虚假数据的油品温度测量装置及方法
KR20190075363A (ko) * 2017-12-21 2019-07-01 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 메모리 모듈
JP7195803B2 (ja) * 2018-07-31 2022-12-26 キヤノン株式会社 情報処理方法、情報処理システム、およびプログラム
JP7195802B2 (ja) 2018-07-31 2022-12-26 キヤノン株式会社 情報処理方法、情報処理システム、および通信装置
CN109241770B (zh) * 2018-08-10 2021-11-09 深圳前海微众银行股份有限公司 基于同态加密的信息值计算方法、设备及可读存储介质
RU2730397C2 (ru) * 2019-01-23 2020-08-21 Федеральное государственное бюджетное образовательное учреждение высшего образования "Тамбовский государственный технический университет" (ФГБОУ ВО "ТГТУ") Устройство шифрованной передачи сообщений с малым временем старения информации
US11722295B2 (en) * 2020-04-30 2023-08-08 Musarubra Us Llc Methods, apparatus, and articles of manufacture to securely audit communications

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1505311A (zh) * 2002-11-15 2004-06-16 ���µ�����ҵ��ʽ���� 程序更新方法及服务器
US6910094B1 (en) * 1997-10-08 2005-06-21 Koninklijke Philips Electronics N.V. Secure memory management unit which uses multiple cryptographic algorithms
CN101084505A (zh) * 2004-11-12 2007-12-05 索尼计算机娱乐公司 用于保护数据处理和传送安全的方法和设备
CN103577768A (zh) * 2012-08-06 2014-02-12 三星电子株式会社 管理用于数据的安全存储的密钥的方法及其设备

Family Cites Families (70)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4924513A (en) * 1987-09-25 1990-05-08 Digital Equipment Corporation Apparatus and method for secure transmission of data over an unsecure transmission channel
US5483598A (en) * 1993-07-01 1996-01-09 Digital Equipment Corp., Patent Law Group Message encryption using a hash function
JPH1022994A (ja) * 1996-07-04 1998-01-23 Hitachi Ltd 暗号化装置および復号化装置、暗号化方法および復号化方法、ならびにそれらを用いた通信システム
US5991414A (en) * 1997-09-12 1999-11-23 International Business Machines Corporation Method and apparatus for the secure distributed storage and retrieval of information
US6393568B1 (en) * 1997-10-23 2002-05-21 Entrust Technologies Limited Encryption and decryption system and method with content analysis provision
MXPA01010913A (es) * 1999-04-30 2002-05-06 Thomson Licensing Sa Metodo y aparato para procesar datos de audio digitalmente codificados.
US7430670B1 (en) * 1999-07-29 2008-09-30 Intertrust Technologies Corp. Software self-defense systems and methods
JP3801833B2 (ja) * 2000-02-14 2006-07-26 株式会社東芝 マイクロプロセッサ
US20110173247A1 (en) * 2000-03-30 2011-07-14 Hubbard Edward A Massively Distributed Processing System Architecture, Scheduling, Unique Device Identification and Associated Methods
JP4552294B2 (ja) * 2000-08-31 2010-09-29 ソニー株式会社 コンテンツ配信システム、コンテンツ配信方法、および情報処理装置、並びにプログラム提供媒体
US7349987B2 (en) * 2000-11-13 2008-03-25 Digital Doors, Inc. Data security system and method with parsing and dispersion techniques
SG143064A1 (en) * 2001-02-16 2008-06-27 Sony Corp Data processing method and its apparatus
JP3864247B2 (ja) * 2001-10-19 2006-12-27 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワークシステム、端末装置、情報の配信方法及び復号方法
JP4291970B2 (ja) * 2001-12-20 2009-07-08 富士通株式会社 暗号処理装置
US8225290B2 (en) * 2003-02-11 2012-07-17 V. i. Laboratories, Inc. Systems and methods for regulating execution of computer software
US7725740B2 (en) * 2003-05-23 2010-05-25 Nagravision S.A. Generating a root key for decryption of a transmission key allowing secure communications
US20040252973A1 (en) * 2003-06-10 2004-12-16 Samsung Electronics Co., Ltd. System and method for audio/video data copy protection
US7272228B2 (en) * 2003-06-12 2007-09-18 International Business Machines Corporation System and method for securing code and ensuring proper execution using state-based encryption
GB2404487A (en) * 2003-07-31 2005-02-02 Sony Uk Ltd Access control for digital storage medium content
CN1871568B (zh) * 2003-08-26 2010-04-28 松下电器产业株式会社 程序执行设备
CN100356342C (zh) * 2003-11-18 2007-12-19 株式会社瑞萨科技 信息处理装置
US7325115B2 (en) * 2003-11-25 2008-01-29 Microsoft Corporation Encryption of system paging file
WO2005052769A1 (ja) * 2003-11-28 2005-06-09 Matsushita Electric Industrial Co.,Ltd. データ処理装置
EP1695174A1 (en) * 2003-12-17 2006-08-30 Matsushita Electric Industrial Co., Ltd. Methods and apparatuses for distributing system secret parameter group and encrypted intermediate key group for generating content encryption and decryption deys
US7343588B2 (en) * 2004-01-30 2008-03-11 International Business Machines Corporation Method of generating and utilizing debug history
JP4559794B2 (ja) * 2004-06-24 2010-10-13 株式会社東芝 マイクロプロセッサ
US8100324B1 (en) * 2004-07-27 2012-01-24 Stamps.Com Inc. Systems and methods for facilitating replacement of computer-based value-bearing items
JP2006107274A (ja) * 2004-10-07 2006-04-20 Matsushita Electric Ind Co Ltd ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム
US7509250B2 (en) * 2005-04-20 2009-03-24 Honeywell International Inc. Hardware key control of debug interface
JP2006304167A (ja) * 2005-04-25 2006-11-02 Sony Corp キー生成方法およびキー生成装置
US20060280300A1 (en) * 2005-06-08 2006-12-14 Fernando Rossini Cryptographic system
US8397081B2 (en) * 2005-06-22 2013-03-12 Freescale Semiconductor, Inc. Device and method for securing software
US20070237325A1 (en) * 2006-02-01 2007-10-11 Gershowitz Michael N Method and apparatus to improve security of cryptographic systems
JP4823717B2 (ja) * 2006-02-28 2011-11-24 株式会社日立製作所 暗号通信システム、端末状態管理サーバ、暗号通信方法、および端末状態管理方法
IL174494A0 (en) * 2006-03-22 2007-07-04 Nds Ltd Period keys
GB2438434B (en) * 2006-05-23 2011-07-27 Nissan Motor Mfg Security systems
JP2008085986A (ja) * 2006-08-30 2008-04-10 Ricoh Co Ltd データ変換装置と電子装置とデータ変換方法
US20080288782A1 (en) * 2007-05-18 2008-11-20 Technology Properties Limited Method and Apparatus of Providing Security to an External Attachment Device
JP4912921B2 (ja) * 2007-02-27 2012-04-11 富士通セミコンダクター株式会社 セキュアプロセッサシステム、セキュアプロセッサ及びセキュアプロセッサシステムの制御方法
US20080226069A1 (en) * 2007-03-14 2008-09-18 Encrypted Shields Pty Ltd Apparatus and Method for Providing Protection from Malware
US8045195B2 (en) * 2007-03-16 2011-10-25 Oki Data Corporation Image forming apparatus and image forming system
US8594322B2 (en) * 2007-07-10 2013-11-26 Stmicroelectronics S.R.L. Encoding/decoding apparatus
JP2009064184A (ja) * 2007-09-05 2009-03-26 Fujitsu Ltd 送受信方法、送受信システム、中央装置及びプログラム
US8205095B2 (en) * 2007-11-02 2012-06-19 Nvidia Corporation Method and system for remotely debugging a failed computer machine
US20090132666A1 (en) * 2007-11-15 2009-05-21 Shahriar Rahman Method and apparatus for implementing a network based debugging protocol
JP2009157584A (ja) * 2007-12-26 2009-07-16 Hitachi Ltd 計算機システム、ストレージシステム、及びリモートコピー方法
US7870434B2 (en) * 2008-02-29 2011-01-11 Freescale Semiconductor, Inc. Method and apparatus for masking debug resources
JP5118543B2 (ja) * 2008-04-11 2013-01-16 パナソニック株式会社 Avデータ送信装置、avデータ受信装置及びavデータ送受信システム
US7970597B2 (en) * 2008-05-15 2011-06-28 Springsoft, Inc. Event-driven emulation system
US8484486B2 (en) * 2008-08-06 2013-07-09 Silver Spring Networks, Inc. Integrated cryptographic security module for a network node
US8200908B2 (en) * 2009-02-06 2012-06-12 Freescale Semiconductor, Inc. Method for debugger initiated coherency transactions using a shared coherency manager
JP5458657B2 (ja) * 2009-05-01 2014-04-02 ソニー株式会社 情報処理装置、鍵更新方法、及びプログラム
JP5164939B2 (ja) * 2009-07-04 2013-03-21 株式会社エヌ・ティ・ティ・ドコモ 移動通信方法及び無線基地局
EP2479721A4 (en) * 2009-09-15 2014-11-19 Ntt Docomo Inc DEVICE AND METHOD FOR ESTIMATING THE DISTRIBUTION OF THE NUMBER OF HOME MEMBERS
US9282083B2 (en) * 2009-10-06 2016-03-08 Hewlett-Packard Development Company, L.P. Encryption system and method
IL204565A0 (en) * 2010-03-17 2010-11-30 Nds Ltd Data expansion using an approximate method
JP5647332B2 (ja) * 2010-04-12 2014-12-24 インターデイジタル パテント ホールディングス インコーポレイテッド ブートプロセスでのリリースの段階化された制御
US8645714B2 (en) * 2010-05-25 2014-02-04 Via Technologies, Inc. Branch target address cache for predicting instruction decryption keys in a microprocessor that fetches and decrypts encrypted instructions
US8842832B2 (en) * 2010-12-27 2014-09-23 Electronics And Telecommunications Research Institute Method and apparatus for supporting security in muliticast communication
US8601268B2 (en) * 2011-03-17 2013-12-03 Id Security, Llc Methods for securing transactions by applying crytographic methods to assure mutual identity
EP2506176A1 (en) * 2011-03-30 2012-10-03 Irdeto Corporate B.V. Establishing unique key during chip manufacturing
US8855304B2 (en) * 2011-06-23 2014-10-07 Infosys Limited System and method for generating session keys
US8990554B2 (en) * 2011-06-30 2015-03-24 Verizon Patent And Licensing Inc. Network optimization for secure connection establishment or secure messaging
US20140222504A1 (en) * 2011-07-10 2014-08-07 Blendology Limited Electronic data sharing device and method of use
JP5710460B2 (ja) * 2011-12-16 2015-04-30 株式会社東芝 暗号化鍵生成装置およびプログラム
JP5953867B2 (ja) * 2012-03-26 2016-07-20 富士ゼロックス株式会社 プログラム、及びプログラム保護装置
US8843765B2 (en) * 2012-10-10 2014-09-23 Broadcom Corporation Key derivation system
US9252952B2 (en) * 2012-12-20 2016-02-02 Lockheed Martin Corporation Gesture-based encryption methods and systems
US8837717B1 (en) * 2013-03-15 2014-09-16 John R. Thorpe Non-retained message system
US9215064B2 (en) * 2013-10-21 2015-12-15 Adobe Systems Incorporated Distributing keys for decrypting client data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910094B1 (en) * 1997-10-08 2005-06-21 Koninklijke Philips Electronics N.V. Secure memory management unit which uses multiple cryptographic algorithms
CN1505311A (zh) * 2002-11-15 2004-06-16 ���µ�����ҵ��ʽ���� 程序更新方法及服务器
CN101084505A (zh) * 2004-11-12 2007-12-05 索尼计算机娱乐公司 用于保护数据处理和传送安全的方法和设备
CN103577768A (zh) * 2012-08-06 2014-02-12 三星电子株式会社 管理用于数据的安全存储的密钥的方法及其设备

Also Published As

Publication number Publication date
JP6265783B2 (ja) 2018-01-24
JP2015170952A (ja) 2015-09-28
CN104902138A (zh) 2015-09-09
US20150254477A1 (en) 2015-09-10

Similar Documents

Publication Publication Date Title
CN104902138B (zh) 加密/解密系统及其控制方法
US8209535B2 (en) Authentication between device and portable storage
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
WO2018090763A1 (zh) 一种终端主密钥的设置方法和装置
EP2917867B1 (en) An improved implementation of robust and secure content protection in a system-on-a-chip apparatus
CN110889123B (zh) 一种认证方法及密钥对的处理方法、装置与可读存储介质
TWI253266B (en) Method and apparatus for augmenting authentication in a cryptographic system
CN103678174A (zh) 数据安全方法、存储装置和数据安全系统
CN109309566B (zh) 一种认证方法、装置、系统、设备及存储介质
CN106101150A (zh) 加密算法的实现方法和系统
CN107124277A (zh) 一种基于国家商用密码算法的硬拷贝控制系统
CN105191332B (zh) 用于在未压缩的视频数据中嵌入水印的方法和设备
JPWO2007132518A1 (ja) マスタ機器及びデータ処理システム
CN110740036A (zh) 基于云计算的防攻击数据保密方法
CN115603891A (zh) 自主可控的密文数据安全计算方法和系统
CN115865448A (zh) 一种数据自加密装置和方法
JP2001111539A (ja) 暗号鍵生成装置および暗号鍵伝送方法
JP6636006B2 (ja) 暗号化/復号化システム及びその制御方法、並びにプログラム
JP2006060793A5 (zh)
CN106850234A (zh) 一种成像装置与驱动程序之间的安全认证方法
TWI675578B (zh) 加解密系統、加密裝置、解密裝置和加解密方法
US11005651B2 (en) Method and terminal for establishing security infrastructure and device
CN109361511A (zh) 数据传输方法、网络设备及计算机存储介质
CN104035890A (zh) 基于静态随机存储器的可编程门阵列芯片加密方法及系统
JPH08139718A (ja) 暗号装置およびそれを利用した端末間通信方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant