执行安全启动的片上系统、使用该片上系统的图像形成装置及其方法_3

文档序号:8548103阅读:来源:国知局
器可以被划分为第一启动加载器和第二启动加载器。
[0123]如上所述,片上系统100可以按各种形式实施并执行安全启动。上述示范性实施例可以与其它示范性实施例中的至少一个组合在一起改变。与这些示范性实施例有关的图和描述被省略。
[0124]图7是详细图示出片上系统的示例的视图。参考图7,除了第一存储器110、第二存储器120、CPU 130、第三存储器140以及总线150以外,片上系统100还可以包括DDR控制器185和各种电路155、160、165、170、175和180。在图7中,第一存储器110通过使用掩模ROM来实施,而第二存储器120通过使用SRAM来实施。第三存储器140通过使用EFUSE存储器来实施。第三存储器140可以存储用于选择加密密钥的设定值(密钥1、2和3)以及用于设定是否执行安全启动的指定值(掩模ROM)。
[0125]电路155、160、165、170、175和180中的每一个可以例如是寄存器、逻辑电路以及复用器。第一电路155包括第一寄存器155-1。CPU 130可以使用第一电路155来控制通过外部端口对CPU的访问。具体而言,第一电路155向CPU 130输入与在第一寄存器155-1寄存的值相对应的JTAG_EN信号。
[0126]也就是说,如果生成启动事件,则第四电路170输出相对于通过外部引脚输入的值和通过第三存储器140输入的指定值执行的OR运算的结果。启动事件包括片上系统100或其中安装了片上系统的装置(例如,电子装置)被开启的事件。如果将要执行安全启动,贝IJ‘I’可以被记录在第三存储器140上。因此,第四电路170输出‘I’。第四电路170的输出值被输入到第二电路160和第三电路165。
[0127]第二电路160和第三电路165分别包括第二寄存器160_1和第三寄存器165_1,以控制对第一存储器110的访问。将被输入到第二电路160的第四电路170的输出值‘I’被反转。因此,‘0’被输入到第二电路160。第二电路160输出使用OR门相对于输入值‘0’和第二寄存器160-1的存储值执行的OR运算的值。因为在初始状态下‘0’可以被记录在第二寄存器160-1上,所以第二电路160最终向第一电路155输出‘O’。
[0128]第一电路155包括第一寄存器155-1。第一电路155包括复用器,用于选择性地输出存储在第一寄存器155-1中的值或外部值。如果从第二电路160输入‘0’,则第一电路155向CPU 130输出用于禁止对CPU的访问的信号。因此,通过外部端口对CPU的访问可以被限制一段预定时间,即,期间在具有SOC 100的装置被开启之后执行安全启动的时间。
[0129]如果装置被开启,则CPU 130识别根据存储在第三存储器140中的设定值或通过外部引脚输入的输入值指定的存储器。如果所指定的存储器是第一存储器110,则CPU 130在第一寄存器155-1中存储用于禁止对CPU的访问的第一值(例如,‘I’ )。
[0130]如果系统配备(例如,至少对解密的数据的解密和认证)完成,则CPU 130在第一寄存器155-1中存储用于启用对CPU的访问的第二值(例如,‘0’ )。第二电路160的第二寄存器160-1的存储值也可以被改变。
[0131]具体而言,如果系统配备完成,则CPU 130在第二寄存器160-1上记录用于禁止对第一存储器110的访问的控制值(例如,‘I’),并且阻止第一存储器110的所有区域的数据被读出。如果第二寄存器160-1的存储值被改为‘I’,则第二电路160的输出值被改为‘I,。
[0132]CPU 130在第三寄存器165-1上记录用于将对第一存储器110的访问改为对第二存储器120的访问的控制值(例如,‘I’)。在这种情况下,当CPU 130访问第一存储器110时,对第一存储器110的访问被自动改为对第二存储器120的访问。因为解密的代码被预先复制到第二存储器120中,所以CPU 130可以使用相同代码。
[0133]第四电路170可以包括OR门,用于提供通过外部引脚或第三存储器140输入的指定值。CPU 130可以根据通过第四电路170输入的指定值确定是否执行安全启动。
[0134]复用器175向总线150选择性地输入从第二存储器120或第二电路160输出的值。
[0135]闪存启动加载器(flash boot loader) 180是指用于存储启动加载器的闪速存储器。当执行正常启动时,闪存启动加载器180加载存储在非易失性存储器200中的专用启动加载器。CPU 130使用闪存启动加载器180执行正常启动。
[0136]DDR控制器185是控制外部DDR存储器400的数据读/写(R/W)的控制器。如上所述,片上系统100可以按各种形式来实施,并且可以与非易失性存储器200和DDR存储器300—起使用。片上系统100的详细配置并不限于图7中所图示的,并且可以具体体现为其它各种形式。将参考附图详细解释片上系统100的另一示范性实施例。
[0137]图8是图示出存储在第一存储器110中的数据的布局的示例的视图。参考图8,第一存储器110存储认证代码910、安全启动加载器标头920和第一启动加载器930。
[0138]认证代码910可以根据各种加密算法(例如,DES、TDES、AES、SEED、RSA、ARIA等)来加密和存储。例如,认证代码910可以如上所述根据诸如HMAC-SHA256、HMAC-SHA1以及HMAC-MD5的认证算法来加密(例如,使用诸如DES、TDES、AES、SEED、RSA、ARIA等的加密方法来加密)和存储。
[0139]安全启动加载器标头920可以包括电子签名信息、偏移值、大小、天气信息以及用户ID。安全启动加载器标头920可以用诸如DES方法、TDES方法、AES方法、SEED算法、RSA方法以及ARIA算法的各种加密算法之一来加密和存储。
[0140]为了内部安全,第一启动加载器930可以被加密并按加密的状态存储。
[0141]在图8中,为了内部安全,启动加载器930可以被设定为根据多个NOP( S卩,无操作)指令起动。
[0142]图9是图示出片上系统100的存储器映射940的示例的视图。参考图9,专用启动加载器被存储在第一存储器110的特定地址中。专用启动加载器可以用于正常启动。
[0143]如果执行安全启动,则CPU 130可以将存储在非易失性存储器200中的第一启动加载器加载到(第二存储器120的)寄存器的区域191或第二存储器120的特定区域192中。CPU 130使用加密密钥来解密第一启动加载器,并且将解密的第一启动加载器复制到第二存储器120的特定区域121中。第二存储器120可以设有一个或多个区域,诸如数据可从其读取或写入其的用于读取/写入的RW片段122和通用区域123。
[0144]如上所述,片上系统100可以使用各种内部存储器来处理外部非易失性存储器200的加密的数据。
[0145]电子装置的制造商或使用电子装置的服务提供者可能希望在电子装置中安全地存储他/她自己的秘密密钥。秘密密钥可以用于各种目的。例如,秘密密钥可以用于加密内核的一些或全部区域或者创建在电子装置和制造商之间或在电子装置和服务供应商之间的安全的通信信道。片上系统100的第一存储器I1或第三存储器140可以通过使用OTP存储器来实施并且可以存储上述秘密密钥。
[0146]根据上述各种示范性实施例的片上系统100可以用于各种种类的电子装置。例如,片上系统可以用于图像形成装置,诸如打印机、多功能外设、传真机或扫描仪。
[0147]根据示范性实施例,图像形成装置可以包括各种可消耗单元(例如,馈纸器、充电单元、激光扫描单元、显影单元、传送单元、定影单元、纸张放电单元、扫描单元以及扫描电机)和控制器。控制器使用可消耗单元来执行图像形成作业。如果CRUM(客户可替换单元监视)芯片被安装在可消耗单元中,则控制器可以根据图像形成作业来更新记录在CRUM芯片上的数据。
[0148]控制器可以包括非易失性存储器(例如,非易失性存储器200)和片上系统(例如,片上系统100)。非易失性存储器可以在其上记录加密的数据。如果图像形成装置被开启,则片上系统使用存储在非易失性存储器中的加密的数据来执行安全启动,并且如果安全启动完成,则片上系统根据用户命令来控制图像形成装置。
[0149]图10是图示出图像形成装置的示例的框图。参考图10,图像形成装置1000包括控制器1100、存储装置1200、用户接口 1300、通信单元1400、电源1500以及多个可消耗单元 1600-1 到 1600-no
[0150]存储装置1200可以包括硬盘驱动(HDD)或其它存储装置(例如,固态驱动(SSD)、存储器设备等)。存储装置1200不必通过使用内部存储器来实施,并且可以通过使用可拆卸地安装在图像形成装置1000上的外部存储器来实施。
[0151]用户接口 1300可以从用户接收各种选择命令。用户接口 1300可以包括显示面板和至少一个按钮。在这种情况下,显示面板可以通过使用触摸屏来实施。至少一个按钮可以实施为触摸屏的一部分。用户接口 1300可以提供各种Π屏幕,并且用户可以通过直接触摸Π屏幕或操纵用户接口 1300的按钮来输入各种用户命令。
[0152]通信单元1400可以通过网络或局域网(LAN)连接到外部设备,并且可以接收数据和命令。也就是说,通信单元1400可以通过本地接口连接到主机PC (个人计算机),或者可以通过网络以有线或无线方式连接到多个外部设备。美国的IEEE 802.11标准、欧洲的超LAN标准或日本的MMAC-PC标准可以用作无线通信标准。除了这些,各种通信方法,诸如W1-F1、蓝牙、紫蜂或近场频率通信(NFC),可以用于通信。
[0153]电源1500将电力供应给图像形成装置1000的每一个元件(例如,控制器1100和多个可消耗单元1600-1到1600-n)。具体而言,电源1500从外部源接收公共AC电力(AC_IN),使用诸如变压器、逆变器以及整流器的元件将其转换为适合于每个元件的电势的DC电源,并输出DC电力(DC_OUT)。
[0154]控制器1100包括片上系统100和非易失性存储器200。因此,如果图像形成装置1000被开启,则控制器1100执行安全启动。可以如上所述(例如,如以上联系图5-图6所述的)按各种方法执行安全启动。以上已经描述了执行安全启动的片上系统100及其操作,从而省略冗余的解释。
[0155]如果启动完成,则控制器1100根据通过通信单元1400连接到图像形成装置的外部设备的数据和命令,或通过用户接口 1300输入的用户选择命令,来控制图像形成装置的总体操作。
[0156]具体而言,如果在安装于主机PC中的打印机驱动器或应用中运行打印命令,则主机PC的打印机驱动器通过按预定的打印机语言转换相应的文档来生成打印数据。控制器1100通过通信单元1400接收这样的打印数据。控制器1100使用半色调表将打印数据转换为由‘0’和‘I’组成的位图图像,并且控制多个可消耗单元1600-1到1600-n在纸张上打印位图图像。
[0157]各种种类的可消耗单元1600-1到1600-n可以根据图像形成装置100的种类来提供。如果图像形成装置是激光多功能外设,则可消耗单元1600-1到1600-n可以是馈纸器、充电单元、激光扫描单元、显影单元、传送单元、定影单元、纸张放电单元、扫描单元以及扫描电机。可消耗单元1600-1到1600-n中的至少一些可以包括CRUM芯片1610-1到1610_n。
[0158]CRUM芯片1610-1到1610_n可以通过仅使用存储器来实施,或者可以通过包括存储器和CPU来实施。CRUM芯片1610-1到1610_n可以具有与控制器1100分开的OS(操作系统),并且可以使用OS由它们自身执行初始化。CRUM芯片1610-1到1610_n相对于控制器1100执行认证,并且如果认证成功,则CRUM芯片1610-1到1610_n可以执行加密数据通信。CRUM芯片1610-1到1610-n可以按各种形式来实施。
[0159]图11是详细图示出CRUM芯片的示例的框图。参考图11,CRUM芯片1610包括OS存储器1611、非易失性存储器1612、易失性存储器1613、CPU1614、密码(crypto)单元1615、篡改检测器1616以及接口 1617。虽然未图示,但是CRUM芯片1610可以包括用于输出时钟信号的时钟单元和用于生成用于认证的随机值的随机值生成器。然而,一些元件可以被删除,并可以被包括在另一元件中。密码单元1615可以是集成电路、处理器、现场可编程门阵列、可编程逻辑单元和/或用于根据这里公开的本总体发明构思的示范性实施例执行密码技术(例如,加密数据和/或解密数据)的任何适当的设备。篡改检测器1616可以是集成电路、传感器、处理器、现场可编程门阵列、可编程逻辑单元和/或用于根据如这里公开的本总体发明构思的示范性实施例检测与可消耗单元(例如,第一可消耗单元1600-1、第二可消耗单元1600-2等)的篡改的任何适当的设备。接口 1617可以是用于向例如包括片上系统100的主控制器1100(例如,如图10中所图示的)发送数据和从该主控制器1100接收数据的任何适当的通信接口。
[0160]OS存储器1611存储操作系统(OS)以驱动可消耗单元1600-1到1600-n。非易失性存储器1612可以存储关于可消耗单元(例如,可消耗单元1600-1到1600-n中的任何一个)和CRUM芯片(例如,第一 CRUM芯片1610-1到1610_n中的任何一个或多个)的一个或多个数据和程序。具体而言,非易失性存储器1612可以存储电子签名信息、一个或多个加密程序代码、可消耗单元的状态信息(例如,调色剂剩余信息、更换时间信息、剩余将打印的副本份数)、唯一信息(例如,制造商信息、制造日期信息、序号、产品型号名称)以及售后服务信息。CPU 1614可以将存储在非易失性存储器1612中的程序和数据加载到易失性存储器1613中,并且可以使用它们。
[0161]密码单元1615支持加密算法,并且可以使得CPU 1614相对于设在图像形成装置中的控制器1100执行认证,或者执行加密通信(例如,经由接口 1617)。具体而言,密码单元1615可以使用上述各种加密算法执行认证或加密数据通信。
[0162]篡改检测器1616用来保护和/或防止各种物理攻击尝试。也就是说,篡改检测器1616检测和保护可消耗单元(例如,可消耗单元1600-1到1600-n中的任何一个)免于篡改。具体而言,篡改检测器1616监视操作环境,诸如电压、温度、压力、光亮以及频率,并且如果有诸如Decap (即,解封装CRUM芯片1610以确定其如何操作)的尝试或任何其它篡改活动,则篡改检测器1616删除或物理地阻止数据(例如,存储在易失性存储器1613、非易失性存储器1612和/或Ο/S存储器1611中的数据)。在这种情况下,篡改检测器1616可以包括单独的电源。
[0163]通过提供如上所述的密码单元1615和篡改检测器1616,使用硬件和软件两者的系统数据安全是可能的。
[0164]接口 1617经由有线和/或无线通信链路将CPU 1614和控制器1100相互连接。具体而言,接口 1617可以通过使用串行接口或有线和/或无线接口来实施。
[0165]如上所述,片上系统100可以被安装在图像形成装置中并可以执行安全启动。因此,片上系统可以减少和/或防止未经授权的人改变启动过程或攻击可消耗单元(例如,可消耗单元1600-1到1600-n中的任何一个)的数据。片上系统100还可以在除了图像形成装置以外的各种电子装置中安装和使用。
[0166]如上所述,片上系统100最初使用第一存储器110,并且随后使用第二存储器120执行操作。重要的信息,诸如与初始化有关的各种数据、用于解密代码的加密密钥以及启动代码等,可以被存储在第一存储器110中。因此,当使用第一存储器110完成时,需要通过禁止对第一存储器110的访问来减少和/或防止第一存储器110的数据被改变,或第一存储器110的数据被泄漏。为此,如联系图7所述的,可以在片上系统100中额外配备第二电路160和第三电路165。然而,片
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1