经由定时质询响应的供应认证转让专利

申请号 : CN201610991619.2

文献号 : CN106739528B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : J·P·瓦德S·D·潘欣

申请人 : 惠普发展公司有限责任合伙企业

摘要 :

在示例性实施方式中,打印机供应盒包括用以接收定时质询并通过质询响应来实现盒的认证的微控制器。该质询响应是在落在预期时间窗内的质询响应时间内提供的。

权利要求 :

1.一种可替换供应设备,包括:CPU和存储器,存储器存储基本密钥;

专用于响应于密码定时质询的专用硬件质询逻辑,所述专用硬件质询逻辑被配置成:基于参数计算响应,所述参数包括计算计数、与基本密钥相关的会话密钥、和随机种子;以及在特定质询响应时间内提供所述响应;

其中,所述计算计数影响所述响应的质询响应时间;

其中,所述专用硬件质询逻辑将执行等于计算计数或周期的次数的质询计算,并且其中第一计算使用随机种子和会话密钥来产生输出,并且每个后续计算使用前一次计算的输出;以及其中,所述计算的最后输出在特定质询响应时间内提供所述响应。

2.如权利要求1所述的设备,其中所述存储器进一步包括表征数据,用以根据所述计算计数来提供质询响应时间应落入的预期时间窗口。

3.如权利要求2所述的设备,其中所述表征数据被使用数字签名来保护。

4.如权利要求2或3所述的设备,其中所述表征数据使得:对于给定计算计数x,预期时间窗口y能够通过斜率截距公式y=mx+b来确定。

5.如权利要求1-3中任一项所述的设备,其中所述计算包括定义被优化以在所述专用硬件质询逻辑上快速地运行的操作序列的基本函数。

6.如权利要求1-3中任一项所述的设备,其中,虽然一个或多个操作数随着所述计算的每次迭代而改变,但所述计算本身并不改变。

7.一种打印供应盒,包括:

前述权利要求中任一项所述的设备;以及电接触,用于将信号载送到主机设备控制器,从而促进打印供应盒的认证。

8.一种认证系统,包括:

主机设备;以及

权利要求1-5中任一项所述的可替换供应设备,其中,所述主机设备被配置成:

发布密码定时质询;

从可替换供应设备接收质询响应;

确定质询响应时间;以及

使用质询响应和质询响应时间认证可替换供应设备。

9.如权利要求8所述的认证系统,其中,为了确定质询响应时间,主机设备被配置成:通过在发布密码定时质询时开始定时序列,且一旦可替换供应设备完成质询响应并向主机设备返回质询响应就停止所述定时序列,来测量质询响应时间。

10.一种打印系统,包括如权利要求8或9所述的认证系统。

11.一种认证方法,包括:

响应于密码定时质询:

通过可替换供应设备基于参数来计算响应,所述参数包括计算计数、与基本密钥相关的会话密钥、和随机种子;以及通过可替换供应设备在特定质询响应时间内提供所述响应;

其中,所述计算计数影响所述响应的质询响应时间。

12.如权利要求11所述的方法,包括:通过主机设备发布密码定时质询;

在主机设备处从可替换供应设备接收质询响应;

确定质询响应时间;以及

使用质询响应和质询响应时间认证可替换供应设备。

13.如权利要求12所述的方法,其中,确定质询响应时间包括:通过在发布密码定时质询时开始定时序列,且一旦可替换供应设备完成质询响应并向主机设备返回质询响应就停止所述定时序列,来测量质询响应时间。

说明书 :

经由定时质询响应的供应认证

[0001] 本申请是申请日为2013年8月30日,申请号为201380079229.2并且发明名称为“经由定时质询响应的供应认证”申请的分案申请。

背景技术

[0002] 许多系统具有系统的运行所必备的可替换部件。可替换部件常常是包含随着系统的每次使用而被耗减的可消耗材料的设备。此类系统可包括例如使用可替换电池的蜂窝电话、从可替换供应设备分配药物的医疗系统、从可替换供应盒分配流体(例如,墨)或调色剂的打印系统等。验证可替换供应设备是来自合法制造商的可信设备可以帮助系统用户避免与有缺陷和/或伪造设备的非故意使用相关联的问题。

附图说明

[0003] 现在将参考附图以示例的方式描述本实施例,在所述附图中:
[0004] 图1示出了图示出适合于认证可替换供应设备的示例性通用认证系统的部件的框图;
[0005] 图2示出了存储在可替换供应设备上的表征数据的示例;
[0006] 图3示出了体现为喷墨式打印系统的认证系统的示例;
[0007] 图4示出了示例性喷墨式打印供应盒的透视图;
[0008] 图5示出了示例性供应认证过程的流程图。
[0009] 遍及各图,相同的参考标号指定相似但不一定相同的元件。

具体实施方式

[0010] 如上所述,验证可替换供应设备的可信性以便在某些系统中使用可以帮助系统用户避免与有缺陷和/或仿造设备的非故意使用相关联的问题。例如,在采用可消耗调色剂或墨盒的打印系统中,无意中用仿造墨盒替换该墨盒可以导致范围从质量差的打印输出到可损坏打印系统的有泄漏墨盒的各种问题。
[0011] 对可替换设备进行认证的在先方法包括采用涉及到使用在可替换设备(例如,可消耗墨和/或调色剂盒)和主机设备(例如,打印机)上的智能卡或安全微控制器所知的秘密密钥的强认证。如果可替换设备可以向由主机发出的质询提供证明其包含适当密钥的响应,则主机将推断该设备是原始制造商的,并且然后对该设备进行认证。这种认证方法的一个弱点是其依赖于系统保存秘密密钥的能力。如果攻击者可以从主机或可替换设备恢复一个或者多个密钥,则它可以将被盗密钥储存在智能卡或微控制器中,使得其然后产生将如同那些设备是来自原始制造商的可信设备一样地对质询进行响应的可替换设备。典型地,一旦一个或者密钥受到损坏,则可以用在廉价的标准微控制器上运行的固件来模拟不可信(即,伪造)可替换设备的质询响应及其它功能。
[0012] 在本文中公开了一般地通过定时质询响应来提供可替换系统设备的稳健认证的认证系统和供应认证过程。诸如打印机之类的主机向被附加到可替换设备(诸如可消耗墨或调色剂盒)的安全微控制器发出密码定时质询。该质询请求可消耗设备(即,在可消耗设备上的微控制器)基于由主机/打印机供应的数据执行许多数学运算。打印机监视可消耗设备要完成任务所花费的时间量,并独立地验证由设备提供的响应。如果该响应和在计算响应的同时经历的时间两者都满足打印机的预期,则打印机将断定设备是可信设备。如果响应或在计算响应的同时经历的时间(或两者)不满足打印机的预期,则打印机将会断定该设备不是可信设备。
[0013] 来自质询的数学运算是由具体地针对此类运算设计的专用硬件逻辑在可消耗设备的微控制器内执行的。专用逻辑能够比另外可以由执行固件的标准微控制器实现的明显更快地通过执行数学计算来实现质询响应。因此,其中微控制器包括(一个或多个)被盗密钥的非可信/伪造可替换设备可能能够实现正确的质询响应。然而,此类伪造设备不能在主机设备预期的时间帧内实现质询响应。
[0014] 在示例性实施方式中,打印机供应盒包括用以接收定时质询并通过在落在预期时间窗内的质询响应时间内提供质询响应来启用盒的认证的微控制器。在另一实施方式中,盒还包括将响应于定时质询而执行数学计算的微控制器上的专用硬件逻辑。执行数学计算在预期时间窗内产生质询响应。
[0015] 在另一示例性实施方式中,可替换供应设备包括微控制器。该微控制器与主机设备一起导出会话密钥,并从主机设备接收指定随机种子、会话密钥以及计算周期的时间相关质询。可替换设备还包括将执行质询计算等于该计算周期的次数的微控制器内的专用逻辑,其中,第一计算使用随机种子和会话密钥来产生输出,并且每个后续计算使用前一次计算的输出。
[0016] 在另一示例性实施方式中,一种认证系统包括主机设备、被集成到主机设备中的控制器以及可在控制器上执行以发布密码定时质询并在供应设备在落于预期时间窗内的质询响应时间内提供质询响应时对供应设备进行认证的认证算法。
[0017] 在另一示例性实施方式中,一种认证系统包括具有控制器和存储器的打印机。该认证系统还包括存储在存储器中且可在控制器上执行以发出密码定时质询并在盒在预期时间窗内提供对应于预期响应的质询响应时对打印供应盒进行认证的认证算法。
[0018] 在另一示例性实施方式中,非临时处理器可读介质存储表示指令,在指令在被处理器执行时促使处理器识别供应设备,并向该供应设备发布密码定时质询。该定时质询请求对包括会话密钥、随机种子以及计算计数的数据执行数学计算。该指令还促使处理器在质询响应时间内从供应设备接收质询响应,并在质询响应与预期响应匹配且质询响应时间落在预期时间窗内时对供应设备进行认证。
[0019] 示例实施方式
[0020] 图1示出了图示出适合于认证可替换供应设备的示例性通用认证系统的部件的框图。认证系统100包括主机设备102和可替换供应设备104。主机设备102包括通常包括标准计算系统的部件的控制器106,所述部件诸如处理器(CPU)108、存储器110、固件以及用于控制认证系统100的一般功能并与供应设备104通信并控制供应设备104的其它电子装置。存储器110可以包括易失性(即,RAM)和非易失性(例如,ROM、硬盘、软盘、CD-ROM等)存储器部件,其包含以算法、程序模块、数据结构、JDF等形式提供计算机/处理器可读编码指令和/或数据的存储的非临时计算机/处理器可读介质。供应设备104包括微控制器112(即,智能卡),其还包括处理器(CPU)114和存储器116。
[0021] 一般地,在主机设备102上电时,主机设备102和供应设备104使用标准密码算法118通过标准密码技术建立安全通信。例如,执行密码算法118(即,在处理器108上),主机设备102可以请求供应设备104的唯一ID 120并通过密码关系来确定设备的“基本密钥”122。
使用基本密钥122,主机设备和供应设备可以导出使得能够实现用于当前通信交换的安全通信的秘密“会话密钥”124。主机设备102每当其被上电时且每当安装了新供应设备104时以这种方式确定基本密钥122。基本密钥122保持相同且不改变。然而,每当在主机设备102与供应设备104之间进行通信交换时导出新的且不同的会话密钥124。
[0022] 在一个实施例中,存储器110包括可在控制器106的处理器108上执行以确定可替换供应设备104的可信性的认证算法126。供应设备104在其对由认证算法126发出的密码定时质询128正确地进行响应时且当其对质询的响应130是在预期时间窗内完成时被确定为是可信的。因此,其质询响应130值正确但其质询响应时间131并未落在预期时间窗内的供应设备104被确定为是不可信的。同样地,其质询响应时间131落在预期时间窗内但其质询响应130值不正确的供应设备104被确定为是不可信的。因此,供应设备104的可信性取决于其在落在预期时间窗内的质询响应时间131(即,它要提供响应130所花费的时间)内提供对密码定时质询128的正确响应130。
[0023] 由主机设备102上的认证算法126发出的密码定时质询128包括用以执行结合了某些质询参数的特定数学计算的请求。该数学计算将被执行特定次数。密码定时质询128包括或伴随有这些质询参数,这些质询参数包括导出的会话密钥、由控制器106在主机设备102上生成的随机种子号以及指示将执行计算的次数的计算计数或周期。数学计算使用该会话密钥并开始对随机种子号的运算。每次计算的结果或输出被反复地反馈到下一计算直至已达到计算计数为止。数学计算的最后结果或输出提供质询响应130,其将是在特定质询响应时间131内实现或计算的。由认证算法126例如通过在发布质询时开始定时序列且一旦供应设备104完成质询响应130并向主机设备102返回质询响应130就停止该定时序列来测量质询响应时间131。质询响应时间131是临时值,其在某些实施方式中可在与由主机确定的时间窗的比较之前或期间暂时地驻留于主机设备102上的存储器110的易失性部件中和/或处理器108内。主机102上的认证算法126确定质询响应130和质询响应时间131是否是正确的(即,预期的),并且然后因此对供应设备104进行认证。
[0024] 仍参考图1,供应设备104上的微控制器112包括用于从密码定时质询128执行数学计算的专用硬件质询逻辑132。专用质询逻辑132在微控制器112上被特别地设计并制造成最佳地执行特定数学算法。在一个示例性实施方式中,数学计算包括定义被优化以在专用逻辑132中非常快速地运行的操作序列的基本函数。该数学计算或函数被迭代许多次,每次迭代的输出是到下一次迭代的输入的一部分。因此,虽然一个或多个操作数随着数学计算的每次迭代而改变,但数学计算本身并不改变。另外,伴随定时质询128的质询参数值可随着每个定时质询128而改变。由认证算法126向供应设备104发布的每个定时质询128可具有用于会话密钥的不同值、由控制器106在主机设备102上生成的随机种子号以及计算计数或周期。因此,针对每个定时质询128,由质询参数值来确定质询响应130和质询响应时间131。更具体地,会话密钥、随机种子以及计算计数全都影响质询响应值130,而计算计数还通过经由专用质询逻辑132改变数学计算的迭代次数而影响质询响应时间131。
[0025] 如上所述,认证算法126确定质询响应130和质询响应时间131是否是正确或预期的。这是通过将质询响应130和响应时间131与正确或预期值相比较而完成的。在不同实施方式中,算法126以不同方式确定正确或预期值。在一个实施方式中,例如,算法126检索并访问存储在供应设备104上的表征数据134。可以用数字签名来保护表征数据134并使用标准密码操作来验证。表征数据134根据与定时质询128一起提供的计算计数来提供质询响应时间131应落入的预期时间窗。因此,在如图2中所示的一个示例中,表征数据134可以包括将不同计算计数值与不同时间窗相关联的数据表。仅仅以示例的方式,此类关联可能指示对于10,000的计算计数(即,其中将执行数学计算10000次)而言,预期质询响应时间131将落在50-55毫秒的时间窗内。在另一示例中,可能通过诸如斜率截距公式y=mx+b之类的数学关系来提供表征数据134。因此,对于给定计算计数值x而言,可以确定预期时间y。然后可以由主机102上的认证算法126例如通过使用预期时间y,+/-5%来确定时间窗。
[0026] 在另一示例性实施方式中,认证算法126通过向主机设备控制器106上的专用参考逻辑136发布密码定时质询128来确定用于质询响应130的正确或预期值。控制器106上的参考逻辑136对供应设备104上的专用硬件逻辑132进行镜像,并且因此在控制器106上被特别地设计并制造成最佳地从定时质询128执行数学计算。因此,当认证算法126向供应设备104发布定时质询128时,其还向参考逻辑136发布定时质询128。参考逻辑136以与上文关于供应设备104上的专用硬件逻辑132所讨论的相同方式从质询执行数学计算。响应于定时质询128,参考逻辑136完成质询并在参考时间内提供参考响应。可以将参考响应时间窗定义成例如在参考时间的某个百分比(例如,+/-5%、+/-10%)内。认证算法126然后可以使用参考响应和参考响应时间窗作为预期值以与质询响应130和质询响应时间131相比较。如果质询响应130与参考响应匹配且质询响应时间131落在参考响应时间窗内,则算法126确定供应设备104是可信设备。
[0027] 图3示出了体现为喷墨式打印系统300的认证系统100的示例。一般地,打印系统300包括与一般认证系统100相同或类似的部件,并且关于可替换喷墨式供应盒的认证以相同或类似方式运行。在示例性实施方式中,喷墨式打印系统300包括具有控制器106的打印引擎302、安装组件304、体现为墨供应盒306的一个或多个可替换供应设备104以及向喷墨式打印系统300的各种电气部件提供电力的一个或多个电源308。打印系统300另外包括介质传送组件310。
[0028] 图4示出了表示可替换供应设备104的示例性喷墨式供应盒306的透视图。除一个或多个打印头312之外,喷墨盒306包括微控制器112、一组电接触400以及墨(或其它流体)供应室402。在一些实施方式中,盒306可具有储存一个色彩的墨的供应室402,并且在其它实施方式中,其可具有每个储存不同色彩的墨的许多室402。电接触400可以从控制器106向打印头312上的喷嘴314载送电信号以引起液滴的喷射。电接触400还在控制器106与微控制器112之间载送电信号以促进喷墨式打印系统300内的盒306的认证。在一个示例性实施方式中,微控制器112位于被打印头312共享的硅基板上。在另一示例性实施方式中,微控制器112作为独立智能卡位于盒306上的别处。微控制器112类似于且包括在图1中示出并在上文讨论的微控制器112的相同一般部件(在图4中并未全部示出)。因此,盒306上的微控制器
112包括存储器116和专用质询逻辑132,其以与上文关于图1和2的认证系统100所讨论的相同的一般方式运行。
[0029] 参考图3和4,打印头312通过多个孔口或喷嘴314朝着打印介质316喷射墨或其它流体的液滴从而打印到打印介质316上。打印介质316可以是任何类型的适当片材或卷材,诸如纸张、卡片材料、透明体、聚脂薄膜、聚酯、胶合板、泡沫板、织物、帆布等。可以将打印头312配置成以多种方式通过喷嘴314喷射墨。例如,热喷墨打印头通过使电流通过加热元件以产生热并将发射室内的墨的一小部分蒸发而从喷嘴喷射液滴。气泡迫使墨滴通过喷嘴
314。在另一示例中,压电喷墨打印头使用压电材料致动器来产生迫使墨滴从喷嘴出来的压力脉冲。喷嘴314通常沿着打印头312布置成一列或者多列或阵列,使得墨从喷嘴314的适当定序的喷射促使字符、符号和/或其它图形或图像随着喷墨盒306和打印介质316相对于彼此移动而被打印在打印介质316上。
[0030] 安装组件304将喷墨盒306相对于介质传送组件310定位,并且介质传送组件310将打印介质316相对于喷墨盒306定位。因此,在喷墨盒306与打印介质316之间的区域中邻近于喷嘴314定义打印区318。在一个实施方式中,打印引擎302是扫描式打印引擎302。同样地,安装组件304包括用于使喷墨盒306相对于介质传送组件310移动以扫描打印介质316的托架。在另一实施方式中,打印引擎302是非扫描式打印引擎302。同样地,安装组件304将喷墨盒306相对于介质传送组件310固定在规定位置处,而介质传送组件310将打印介质316相对于喷墨盒306定位。
[0031] 如上文关于图1的认证系统100所述,控制器106通常包括标准计算系统的部件,诸如处理器(CPU)108、存储器110、固件及其它电子装置。在图3的喷墨式打印系统300中,控制器106同样地采用此类部件以便控制打印系统300的一般功能并用于与喷墨盒306、安装组件304以及介质传送组件310通信并对其进行控制。因此,控制器106从诸如计算机之类的主机系统接收数据320,并临时地将数据320存储在存储器110中。通常,数据320被沿着电子、红外、光学或其它信息传输路径发送到喷墨式打印系统300。数据320表示例如要打印的文档和/或文件。同样地,数据320形成用于喷墨式打印系统300的打印作业,包括一个或多个打印作业命令和/或命令参数。使用数据320,控制器106控制喷墨盒306从喷嘴314喷射墨滴。因此,控制器106定义在打印介质316上形成字符、符号和/或其它图形或图像的喷射墨滴的图案。喷射墨滴的图案由来自数据320的打印作业命令和/或命令参数确定。
[0032] 除管理喷墨式打印系统300的一般打印功能之外,控制器106执行认证算法126以确定喷墨式供应盒306是否是可信设备。打印系统300上的此认证过程与上文关于图1的一般认证系统100所述的过程类似。图5是打印系统300或其它认证系统100上的示例性认证过程500的流程图,其确定诸如喷墨式供应盒306之类的可替换供应设备104是否是可信设备。过程500与上文关于图1-4所讨论的示例性实施方式相关联,并且在此类实施方式的相关讨论中可以发现在过程500中示出的步骤的细节。可将过程500的步骤体现为算法,该算法包括存储在诸如图1和3的存储器110之类的非临时计算机/处理器可读介质上的编程指令。在不同的示例中,通过由处理器、诸如图1和3的处理器108进行此类编程指令的读取和执行来实现过程500的步骤的实施方式。过程500可包括多于一个实施方式,并且过程500的不同实施方式可不采用在图5的流程图中提出的每个步骤。因此,虽然在流程图内按照特定顺序提出了过程500的步骤,但其提出顺序并不意图是关于实际上可实现各步骤的顺序或关于是否可实现所有步骤的限制。例如,过程500的一个实施方式可能是通过执行许多初始步骤而不执行一个或多个后续步骤来实现的,而过程500的另一实施方式可能是通过执行所有步骤而实现的。
[0033] 现在主要参考图1、3和5,认证过程500在块502处开始,在那里,所示的第一步骤将识别可替换供应设备。识别可替换供应设备通常在主机设备上电或向主机设备插入新的供应设备时发生,诸如当打印系统被开启时或者当在打印系统中替换墨或调色剂打印供应盒时。当在每个打印作业开始时对供应设备上电时,也可以识别可替换供应设备。认证过程500在块504处继续,在那里发布密码定时质询。该定时质询被从诸如打印设备之类的主机设备发布并被发送到诸如打印供应盒之类的供应设备。定时质询包括用以执行涉及到某些质询参数的特定数学计算的请求,所述质询参数包括在主机设备与供应设备之间导出的会话密钥、由主机设备生成的随机种子号以及指示将执行计算的次数的计算计数或周期。在发布定时质询时,主机设备可开始定时序列以监视接收质询响应要花费的时间量,如在块
506处所示。
[0034] 在一些实施方式中,还可将定时质询发送到主机设备上的参考逻辑,如在块508处所示。当定时质询被发送到主机设备上的参考逻辑时,在一定量的经历参考时间内从该逻辑接收参考响应,如在块510处所示。在块512处,可通过包括一定百分比的围绕参考时间的范围来确定参考时间窗。例如,可将参考时间窗确定成是参考时间,参考时间的加或减5%。在一些实施方式中,作为向主机设备上的参考逻辑发送定时质询的替换,主机设备检索并访问存储在供应设备上的表征数据,如块514处所示。在另一实施方式中,可将表征数据硬编码到主机设备的存储器中。表征数据包括用于从供应设备接收质询响应的预期时间窗,其与不同计算计数值相关联。
[0035] 如块516处所示,认证过程500包括从供应设备接收质询响应。该质询响应是在可以例如通过主机设备上的时间测量确定的某个质询响应时间内接收到的。过程500在块518处通过将质询响应与预期响应相比较而继续。预期响应可以是从主机设备上的参考逻辑接收到的参考响应。在块520处,还将质询响应时间与预期响应时间窗相比较以确定质询响应时间是否落在预期时间窗内。该预期时间窗可以是参考时间窗或者从存储在供应设备上或别处的表征数据检索的预期时间窗。
[0036] 认证过程500在块522处继续,当来自供应设备的质询响应与预期值匹配且质询响应时间落在预期时间窗内时主机设备认证供应设备。在过程500的块524处,当质询响应并未与预期值匹配或者质询响应时间落在预期时间窗外面或两者时,主机设备确定供应设备并不是可信的。