CN116134441A - 使用由安全设备汲取的电流进行认证 - Google Patents

使用由安全设备汲取的电流进行认证 Download PDF

Info

Publication number
CN116134441A
CN116134441A CN202180061767.3A CN202180061767A CN116134441A CN 116134441 A CN116134441 A CN 116134441A CN 202180061767 A CN202180061767 A CN 202180061767A CN 116134441 A CN116134441 A CN 116134441A
Authority
CN
China
Prior art keywords
current
command
supply
component
security device
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.)
Pending
Application number
CN202180061767.3A
Other languages
English (en)
Inventor
小詹姆斯·霍华德·埃利斯
扎卡瑞·N·费斯特尔
蒂莫西·约翰·拉德马赫
詹尼弗·托普米勒·威廉姆斯
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.)
Lexmark International Inc
Original Assignee
Lexmark International 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 Lexmark International Inc filed Critical Lexmark International Inc
Priority claimed from PCT/US2021/049491 external-priority patent/WO2022056019A1/en
Publication of CN116134441A publication Critical patent/CN116134441A/zh
Pending legal-status Critical Current

Links

Images

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • 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/73Protecting 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 by creating or determining hardware identification, e.g. serial numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

公开了一种用于确定成像设备中的部件的真实性的方法。本公开的实施例提供了一种方法,该方法用于设备使用电子认证方案来认证第二设备,同时通过使用除了通过共享总线传输的信息之外的信息作为认证参数,克服了与在执行认证时通过通信总线发送数据相关联的漏洞。实施例利用当芯片响应于命令而执行操作时由芯片从电源汲取的电流作为认证参数。

Description

使用由安全设备汲取的电流进行认证
相关申请的交叉引用
本申请根据美国法典第35条119(e)款要求提交日期为2020年9月8日且标题为“Authentication Using Current Drawn by Security Device”的第63/075,482号美国临时申请的优先权和权益。
背景
1.公开领域
本公开总体上涉及认证方案,并且更具体地涉及使用由安全设备汲取的电流作为用于认证安全设备的认证参数的认证方案。
2.相关技术的描述
在一些成像设备中,使用与消耗供应品(consumable supply items)相关联的电子认证方案来提供安全性。消耗供应品可以包含与位于成像设备中的控制器通信的集成电路芯片或安全设备。在这样的布置中,控制器可以通过向消耗供应品发送验证质询(verification challenge)并确定消耗品是否正确地响应验证质询来检查消耗供应品的真实性(authenticity)。通过控制器从供应品接收到对质询的正确响应来验证真实性。否则,如果供应品没有正确地响应,则该供应品可能被检测为复制品或伪造品,并且可以采取适当的动作以防止使用未经授权的供应品,以便优化成像设备的性能和/或防止损坏成像设备。然而,这种认证方案的安全性可能容易受到逆向工程攻击或“黑客攻击”。例如,通过通信总线传输的数据可能存在被攻击者监测和解密的风险,从而允许攻击者对供应品的安全设备的设计进行逆向工程。此外,供应品的安全设备的数字逻辑网表可能被攻击者使用先进的硅成像设备进行逆向工程,这可以允许攻击者制造能够产生与真实设备的响应相同的响应的复制或伪造设备。因此,许多形式的黑客攻击可以暴露认证方案的细节,允许未授权的制造商开发出可以绕过和/或覆盖认证过程的伪造供应品,这然后可以允许伪造供应品在被安装在成像设备中时仍然运行。因此,期望其他提高安全性和防止伪造供应品的方法。
概述
本公开的实施例提供了一种用于设备的使用电子认证方案来认证第二设备的方法。第二设备包括与第一设备中的控制器通信的集成电路芯片。第一设备中的控制器可以通过发送验证质询并确定第二设备是否正确地响应验证质询来检查第二设备中的芯片的真实性。
为了克服与在执行认证时通过通信总线发送数据相关联的漏洞,第一设备中的控制器发起认证过程,该认证过程使用除了通过共享总线传输的信息之外的信息作为认证参数。例如,当第二设备上的芯片响应于传输的通信来执行操作时,第一设备上的控制器可以使用与由第二设备从电力源汲取的电流相关联的信息来执行这样的认证过程。
附图简述
附图合并在说明书中且形成说明书的一部分,示出了本公开的若干方面,并且与描述一起解释本公开的原理。
图1示出了根据一个示例实施例的成像系统。
图2是根据一个示例实施例的共享总线系统的框图,该共享总线系统采用与多个供应品通信的总线主设备(master)。
图3是示出与不同供应品相关联的电流分布(profile)的第一示例的图表。
图4是示出与不同供应品相关联的电流分布的第二示例的图表。
图5是示出根据一个示例实施例的基于由供应品汲取的电流来认证供应品的方法的流程图。
图6是将模数转换器(ADC)集成在安全设备中并通过捕获内部或外部模拟参数来使用安全设备中的ADC进行认证的示例实施例的框图。
图7显示了示例供应设备的电流分布,示出了在示例较低的频率标度(frequencyscale)参数下对于不同设置的预期变化。
图8显示了示例供应设备的电流分布,示出了在示例中等的频率标度参数下对于不同设置的预期变化。
图9显示了示例供应设备的电流分布,示出了在示例较高的频率标度参数下对于不同设置的预期变化。
详细描述
在下面的描述中,参考附图,其中相似的数字代表相似的元素。足够详细地描述了实施例,以使本领域中的技术人员能够实施本公开。要理解的是,可以利用其它实施例,并且可做出过程改变、电气改变以及机械改变等而不会偏离本公开的范围。示例仅代表可能的变型。一些实施例的部分及特征可以被包括在其它实施例的部分及特征中或者代替其他实施例的部分及特征。因此,下面的描述不应该在限制性的意义上被理解,并且本公开的范围仅由所附权利要求及其等同物限定。
图1显示了与本公开相关联地使用的成像系统10的示意图。成像系统10包括用于在介质片材上打印图像的成像设备15。要打印在介质片材上的图像的图像数据可以从各种源(诸如计算机20、膝上型电脑25、移动设备30、扫描仪35或类似计算设备)提供给成像设备15。这些源经由有线和/或无线连接直接或间接地与成像设备15通信。成像设备15包括控制器40、用户接口45和电源(power supply)单元50。控制器40可以包括处理器和相关联的存储器。在一些示例实施例中,控制器40可以被形成为一个或更多个专用集成电路(ASIC)或片上系统(SoC)。控制器40可以控制对打印数据的处理。控制器40还可以控制打印引擎在将图像打印到介质片材上期间的操作。电源单元50通常包括将来自AC干线的AC电压转换成一个或更多个经调节的DC电压以供成像设备15的部件使用所必需的模拟电路。电源单元50可以经由电力总线52向各种部件和电路传递适当的经调节的DC电压电平。
在一个示例实施例中,成像设备15采用电子认证方案来认证被安装在成像设备15中的消耗供应品和/或可更换单元。在图1中,显示了代表性供应品55,例如墨粉盒或成像单元。供应品55可以被安装在成像设备15中的相对应的储存区域57中。供应品55包括与成像装置15中的控制器40通信的集成电路芯片或安全设备60。控制器40可以通过向供应品55的安全设备60发送验证质询并确定安全设备60是否正确地响应验证质询来检查供应品55的真实性。通过控制器40从安全设备60接收到对质询的正确响应来验证真实性。否则,如果供应品55中的安全设备60没有正确地响应,则供应品55可以被检测为复制品或伪造品,并且可以采取适当的动作来防止使用供应品55,以便优化成像设备15的性能和/或防止损坏成像设备15。
图2示出了共享总线系统65,其中控制器40与多个供应品55通信。在所示的实施例中,控制器40包括片上系统(SoC)70,该片上系统(SoC)70包括处理器72和总线主设备75,总线主设备75发起并控制在共享总线80上传递包括数据、地址、时钟信号和其他控制信号的通信。供应品55中的安全设备60被配置为从设备。共享总线系统65可以采用集成电路间(“I2C”)协议,但是也可以利用许多其他协议。共享总线80的一根线82以双向方式携带数据,而另一根线83将时钟信号从总线主设备75携带到安全设备60。总线主设备75可以采用认证方案来验证被安装的供应品55的真实性。虽然共享总线80被示出为双线串行总线,但共享并行总线结构或其它有线结构也可用于其它示例实施例中。在另外的其他示例实施例中,促进总线主设备75和供应品55之间的通信的结构可以使用无线技术来操作。控制器40包括电力源85,该电力源85被示出为电压源/接地源,例如当供应品55被安装在成像设备15中时,该电力源85从电源单元50接收电力并经由电力总线90将电力递送到供应品55。因此,供应品55通过从电力源85汲取电力来操作。
为了克服在执行认证时与通过诸如共享总线80的通信总线发送数据相关联的漏洞,SoC 70被配置成在不使用通过共享总线80传输的数据作为认证参数的情况下验证被安装的供应品的真实性。替代地,SoC 70利用通过共享总线80传输的信号作为触发信号来发起认证过程,该认证过程使用除了通过共享总线80传输的信息之外的信息作为认证参数。在一个示例实施例中,当供应品55响应于通过共享总线80传输的通信来执行操作时,SoC70使用与由供应品55从电力源85汲取的电流相关联的信息来执行这样的认证过程。
在图2所示的实施例中,控制器40包括电流监测器100,该电流监测器100感测传递通过电力总线90的电流,并且输出指示传递通过电力总线90的电流的电压信号。运行在SoC70上的主机(host)固件105使用电流监测器100的输出来确定从电力源85汲取电流的供应品55是否是有效的或真实的部件。主机固件105可以存储在存储器109中,存储器109可以是闪存,并且可以根据需要重新编程。来自电流监测器100的输出的样本数据作为来自模数转换器(ADC)110的数字化数据点被主机固件105获得,模数转换器(ADC)110的输入端可操作地连接到电流监测器100的输出端。ADC 110可以是控制器40或SoC 70的一部分,或者与控制器40或SoC 70分离。电流监测器100可以集成到SoC 70中或与其分离。
主机固件105被编程为观察通过共享总线80传输的数据信号,例如通过共享总线80的线82传输的数据、地址、控制信号和/或命令信号。在该示例中,主机固件105可编程为设置至少一个触发条件115以启用从电流监测器100的输出中进行采样。在示例形式中,触发条件115可以是来自总线主设备75的任何控制信息,例如由总线主设备75通过共享总线80发送到供应品55的安全设备60的命令、一系列命令或多个命令的组合。在其他示例中,触发条件115可以是单个逻辑操作(例如,由总线主设备75执行的简单事件)或一系列逻辑操作(例如,由总线主设备75执行的一系列复杂事件)。因此,当总线主设备75通过共享总线80与供应品55通信时,基于监测到的命令生成用于使SoC 70发起从电流监测器100的输出中捕获样本的触发信号。
主机固件105被编程为检测从共享总线80观察到的数据信号是否满足触发条件115。如果满足触发条件,则主机固件105被配置成对电流监测器100的输出进行采样并基于电流监测器100的输出生成电流分布120,以及然后将生成的电流分布120(本文也称为捕获的电流分布120)存储在存储器109中。通常,主机固件105使用捕获的电流分布120来确定由供应品55从电力源85汲取的电流是否对应于从真实供应品预期的电流汲取响应。与当供应品55响应于命令来执行操作时供应品55的预期电流汲取响应相关联的表征数据被存储在存储器109中,作为预期或预定电流分布125。与不同命令相关联的一个或更多个预定电流分布125可以存储在存储器109中。每个预定电流分布125可以通过关于若干供应品对来自总线主设备75的特定命令的响应执行测试和测量来根据经验获得。
主机固件105通过将捕获的电流分布120与相对应的预定电流分布125进行比较来确定供应品55是否是有效的或真实的,所述相对应的预定电流分布125与发起生成捕获的电流分布120的命令有关。如果捕获的电流分布120和相对应的预定电流分布125基本匹配,则主机固件105可以将供应品55识别为有效的或真实的。否则,如果捕获的电流分布120和相对应的预定电流分布125不匹配,则主机固件105可以将供应品55识别为复制品、伪造品或其他未经授权的部件,并且可以采取适当的动作。例如,可以提供错误反馈,并且可以经由显示器或用户接口45向用户建议获取真实部件。也可以强制执行其他打印动作。成像设备15可以被配置成解决这种情况,以防止使用未经授权的供应品,以便优化成像设备15的性能和/或防止损坏成像设备105。
如上所述,触发条件115可以对应于发送到供应品55的控制信息。在一个示例实施例中,主机固件105可以将在典型数字通信中使用的特定命令识别为触发条件。当主机固件105识别出通过共享总线80正在发送这种命令时,主机固件105发起采样过程以在预定时间段内捕获电流监测器100的输出的样本。表示供应品55响应于该命令进行的电流汲取的样本数据点然后作为捕获的电流分布120被存储在存储器109中,以供进一步分析。
在另一示例实施例中,可以基于实现复杂性、准确性、独特模式和/或与供应品55的安全设备60相关联的其他特征或因素来选择触发条件115。例如,触发条件115可以对应于已知导致安全设备60的最大功耗的命令,因为这种命令比典型操作利用安全设备60的更多的系统资源。相反,触发条件115可以对应于已知导致安全设备60的最小功耗的命令,因为这种命令比典型操作利用安全设备60的更少的系统资源。在这些示例中,可以通过将捕获的电流分布120与预定阈值水平进行比较来确定供应品是否真实。例如,如果在响应于命令来执行操作时预期供应品55的最大功耗,则在捕获的电流分布120的至少一个样本数据点等于或高于指示最大功耗的第一阈值水平的情况下,供应品55可以被识别为真实的。否则,供应品55可被确定为伪造品。另一方面,如果在响应于命令来执行操作时预期供应品55的最小功耗,则在捕获的电流分布120的样本数据点低于指示最小功耗的第二阈值水平的情况下,供应品55可以被识别为真实的。否则,供应品55可被确定为伪造品。其他示例可以利用对捕获的电流分布120的采样数据点进行平均,以及将平均值与预定阈值水平进行比较。
在另一示例实施例中,被设置为触发条件115的命令可用于发起安全设备60中的辅助(secondary)内部操作,该辅助内部操作导致不同的电流分布。在该示例中,辅助内部操作不同于安全设备60响应于命令而执行的主要(primary)内部操作。辅助内部操作可以由安全设备60在主要内部操作之前或之后执行。因此,当主机固件105确定已经通过共享总线80发送了满足触发条件115的这种命令时,主机固件105启用从电流监测器100的输出中进行采样,这允许主机固件105捕获不同的电流分布。在一个示例中,安全设备60可以在接收到预定次数的相同命令之后发起辅助内部操作。在其他示例中,安全设备60可以在接收到一系列不同命令之后发起辅助内部操作。
在采样期间,电流监测器100的输出被采样以在预定时间段内经由ADC 110收集电流汲取数据点。电流汲取数据通常被归一化,并且表示捕获的电流分布120的矢量被存储在存储器109中。在一个示例实施例中,可以通过以固定阈值(例如,在静态设备状态下)捕获多个连续样本来实现采样,从而产生基本均匀的电流分布。在图3所示的示例中,真实供应品表现出基本均匀的电流分布130(与存储在存储器109中的相对应的预定电流分布125的电流分布相匹配)。如果供应品表现出相对于预期电流分布偏离预定量的电流分布,例如由非真实供应品的电流分布135示出的电流分布,则供应品可以被识别为无效的或伪造的。可以检查捕获的电流分布的各种特性(例如,电压电平、周期性或其他独特特征),不需要将这些特性与保存的分布进行比较,而是需要对感兴趣的特征进行特定验证。
在另一示例实施例中,可以通过在安全设备60的不同操作时间段捕获样本数据点来实现采样,从而产生独特的电流分布图案,例如,如由图4中的电流分布140所示的电流分布图案。反映安全设备操作的独特时间段的更详细的分布可以更稳健地抵抗复制设备(clone device)的模仿。在图4所示的示例中,非真实供应品表现出电流分布图案145,该电流分布图案145未能模仿真实供应品的电流分布图案140。如将理解的,图3和图4中所示的电流分布仅用于说明目的,并且不一定表示实际测量到的分布,且因此不应被认为是限制性的。
在另一示例实施例中,可以基于供应品55的安全设备60的操作时间段来执行分布分析。在该示例中,为了确定供应品的真实性,可以将在安全设备响应于命令的操作期间要生成特定电流分布(或其部分)所花费的时间量与执行该命令并生成预期电流分布的预期时间段进行比较。如果捕获的电流分布是在预期时间段内生成的,则供应品55可以被识别为真实的。否则,供应品可以被识别为复制的或非真实的。
现在参照图5,将描述用于基于供应品55汲取的电流来确定供应品55的真实性的示例方法。在块150处,总线主设备75向供应品55的安全设备60发起命令。在块155处,主机固件105观察被发送到安全设备60的命令。在块160处,确定被发送到安全设备60的命令是否满足触发条件115。当在块160处确定该命令不满足触发条件115时,主机固件105继续在块155处观察被发送到安全设备60的命令。当在块160处确定该命令满足触发条件115时,在块165处捕获电流监测器100的输出的样本并将其作为捕获的电流分布120存储在存储器109中。在块170处,确定捕获的电流分布120是否与相对应的预期/预定电流分布125匹配。当在块170处确定捕获的电流分布120与相对应的预期/预定电流分布125匹配时,在块175处可以做出供应品55正如预期的那样正常操作并且是有效的供应品的指示。当在块170处确定捕获的电流分布120与相对应的预期/预定电流分布125不匹配时,在块180处可以做出供应品55没有正常操作并且是复制的或非真实供应品的指示。在块185处,可以执行一个或更多个强制动作以防止使用非真实供应品。
上面讨论的认证方案可以基于或响应于成像设备15中发生的预定事件来发起。例如,当在成像设备15最初开启时、在成像设备15已经复位后、在退出睡眠模式后、在存取门(access door)或介质托盘(media tray)关闭时或每打印预定数量的页面时,主机固件105可以在某些命令通过共享总线80传输时发起认证过程。
从前面的描述中可以明显看出,本公开的使用由供应品汲取的电流作为认证参数的认证方案可以用于进一步使攻击者和复制品制造商绕过依赖于通过通信总线发送的信息的底层认证过程的努力复杂化。更具体地,如果攻击者能够对复制设备进行编程以正确地响应由主设备发出的请求或命令,则由于与设计实现相关联的若干个因素(例如逻辑门的数量、技术节点、供应商逻辑单元特性、体系结构、非易失性存储器(NVM)技术和许多其他设计方面)影响功率分布,当复制设备响应这种请求或命令时,复制设备可能不具有导致与真实设备的电流分布相同的电流分布的电路设计。此外,触发条件、分布分析和强制动作可由主机固件重新配置和/或编程,以适应不同的产品配置以及可适应于识别不同的复制设备。
已经描述了可用于认证安全设备的电流监测系统。下面给出的是在安全设备上执行的可以与本申请中描述的电流监测系统结合使用的特定命令和方法。
下面详细描述的图6是示例实施例的框图,该示例实施例将模数转换器(ADC)集成在安全设备中,并通过捕获内部或外部模拟参数来使用安全设备中的ADC进行认证。
频率变标(frequency scaled)命令响应
从主机发送命令,该命令在供应设备上执行加密操作,其数据结果由系统设备验证。除了这种典型的数据验证之外,在命令执行期间由设备汲取的电流同时被电流监测系统测量。该实现中的特定命令进行RSA操作的多次迭代,使得可以观察到足够时间段的电流分布。在该实现中选择RSA操作是因为其生成可测量的电流分布,但是也可以选择不同的加密操作。
频率标度参数(频率标度(freqScale))作为命令数据的一部分被发送。有效的频率标度范围为0至31,其决定了供应设备的时钟频率,如下所示:
Figure BDA0004115611250000101
对于较低的频率标度值,供应设备的时钟频率也较低,因此在真实设备上,预期命令执行时间段会增加。与时钟频率成正比的是由设备汲取的电流,因此在命令期间汲取的平均电流随着时钟频率的降低而降低。样本的平均值以及高于基线值的样本的数量被用来通过观察设备对于多个频率标度设置的电流分布来验证真实设备。图7显示了示例供应设备的电流分布以说明对于不同设置的预期变化,这里,频率标度=5;图8显示了示例供应设备的电流分布以说明对于频率标度=15对于不同设置的预期变化;图9显示了示例供应设备的电流分布以说明对于频率标度=31对于不同设置的预期变化。
该命令使用供应设备的频率变标(frequency scaling)能力来生成响应差异,该响应差异只能通过主机上的电流监测系统来测量。与典型的认证命令相比,它具有优点,因为这种差异无法通过数据通信总线来测量。另一个优点是检测算法测量设置之间的相对差异,使得振幅或持续时间可以变化而不会影响准确性。变化的原因可能包括同一电力总线上的设备数量变化或设备与设备之间的处理变化。
基于独特的个性化值的设备响应
在供应设备之间具有变化的电流分布是有利的,增加了非真实设备准确模拟真实设备分布的难度。通过在不改变通过命令接口发送的数据的情况下使用独特的个性化值来使命令的响应发生变化,增加了攻击者要克服的另外的难度级别。另外,在系统设备和供应设备两者上运行相同的命令是有益的,因为分布被预期是相似的,这使得检测更加稳健。系统设备分布被用作参考,因为通常认为它不太可能被复制。以下命令具有这些属性。
加密操作(例如ECDH)由系统设备和供应设备两者运行,其中供应设备的响应由系统设备验证。加密操作的选择可以是在设备上具有硬件加密支持的加密操作,或者是以使得电流分布可被电流监测系统区分的方式使用设备资源的加密操作。
在当前实现中,命令的安全级别是将被改变的设置,改变命令的安全级别会相对应地改变关于该命令的电流分布的时间段。应选择安全级别设置的数量/间隔,以在设置之间的电流分布中示出可测量的差异。在另一个实现中,不同属性(诸如加密功能)可以是变化的设置。
所选择的设置取决于对于每个设备独特的值。例如,设备id是独特的个性化值,其是先前从设备存储器中读取的,因此被主机所知晓。系统设备还必须知道数据值,以便确定设置。为了保护确定设置的数据,可以选择系统设备和主机都已知的值。可替代地,必要的数据可以以加密格式发送到系统设备,并且主机和系统设备都已知的算法可以安全地确定设置。关于此格式的一个选项是带密钥的哈希(hash):
设置=Hash(密钥||设备ID)mod(设置的数量)
在优选实施例中,哈希是256位安全哈希算法2(SHA-2),密钥是存储在每个设备内部的128位值,并且设备id是独特的32位值。
为了执行该命令并验证真实性,主机挑选一个供应设备,但首先在系统设备上运行该命令。系统设备确定要使用的设置,并在随后将用于供应设备的相同设置下操作命令。然后,主机在供应设备上运行该命令,并比较两个电流测量值。如果确定供应设备的电流测量值在统计上与系统的电流测量值足够相似,则认为供应设备是真实的。该实现是下面更详细描述的“动态预期电流分布”认证方法的示例使用。
间接设备操作
内部芯片操作在特定时间运行或根据个性化参数而变化(例如,内部操作根据NVM值y在x个侦察(recon)命令之后运行)。该操作将具有可由电流监测系统测量的电流分布,但该电流分布与总线上的特定命令无关,以使该电流分布更难检测并且对于非真实设备来说不太可能再现。该操作需要在不会影响正常操作性能的时间运行,但也需要在主机可以预测以启用采样周期的时间运行。
多设备并行的操作
通常,在打印机平台上安装有多个供应设备(用于多个盒、成像单元和定影器)。然而,通常需要单个主机控制器或系统设备来认证每个供应设备,因此一次只与一个设备交互。在多个供应设备上并行运行操作可能是复制设备要克服的一个意想不到的挑战,并且与在单个设备上运行的操作相比,可以提供独特的电流分布。
一个示例实现是利用上述频率变标命令。多个设备可以同时响应该命令,由于累积消耗电流,导致独特的电流分布。迭代次数或频率标度值可以根据设备变化,从而创建若干种不同的分布组合,这取决于哪些设备是活动的。
必须实现通用调用地址,以便设备同时并行地响应。可以在地址改变算法内为此目的保留专用地址。可替代地,设备操作可以在持续时间上足够长或可以被延迟,使得设备仍然可以被单独寻址并且在它们的电流分布中具有重叠。
对累积电流分布的测量是该测试的主要目标,因此设备可能不需要响应主机,或者主机可以针对串联的每个设备查询有限数量的响应数据或确认。所有设备都可以在通信总线上做出类似的响应,但可能具有不同的电流分布(或者根本不同),这使得复制设备难以进行重复。
设备生成的命令
已经描述了认证在供应品上的安全设备的方法(图5中示出),该方法使用与由安全设备汲取的电流相关联的信息作为认证参数。当主机固件155确定来自主设备的命令150满足触发条件160时,响应于该命令捕获被称为电流分布165(图3和图4中示出的示例)的该信息。已经描述了来自主设备的命令150的若干个示例,包括提供许多质询/响应对的具有许多变化(例如频率或安全级别或有效载荷)的标准密码操作(例如加密或解密),其中质询(命令)和响应(电流分布)用于使用本文公开的电流分布方法来认证安全设备60。
如前所述,希望减少通过共享总线发送到安全设备和从安全设备发送的通信,因为存在通信可能被逆向工程和拷贝的风险。使用电流分布认证安全设备的一个重要益处是,安全设备不通过共享总线提供对质询(命令)的响应(电流分布)。类似地,如果主设备不通过共享总线发送质询(命令),也将有益于防止对通过共享总线的通信进行逆向工程。以下公开了一种认证安全设备的方法,其中质询(命令)和响应(电流分布)都不通过共享总线发送,从而消除了对通过共享总线传输的质询和响应进行逆向工程的威胁。
一种用于认证安全设备的方法,其消除了通过共享总线传输质询和响应,包括:由正被认证的安全设备自行生成(self-generate)的命令(质询)使用独特共享密钥的一部分作为命令和相关参数的表中的索引,该独特共享密钥只有正被认证的安全设备和执行全部或部分认证的另一安全设备知道,所述命令和相关参数被存储在每个安全设备的NVM中,其中每个命令和相关参数可以用作认证质询(命令),以及当在正被认证的安全设备上执行所述命令和相关参数时,使用电流监测电路和ADC来捕获电流分布作为对所述质询的响应,以及将所捕获的电流分布与预期电流分布进行比较,其中预期电流分布是从另一个安全设备动态生成的,或者被预先确定并且作为一个或更多个预期电流分布存储在存储器中,该一个或更多个预期电流分布是通过从另一个安全设备根据共享密钥导出的相同索引确定的,以及如果找到匹配,则确定所述安全设备是真实的,如果没有找到匹配,则确定所述安全设备是非真实的。
考虑图2所示的系统,其中安全设备60被放置在控制器40上,并且安全设备60被放置在供应品55上。所有安全设备60都连接到被放置在控制器40上的SoC设备70。SoC 70充当共享总线80的总线主设备75,并且每个安全设备60充当总线从设备。主控SoC 70和控制器40上的安全设备60可以使用密码协议和只有这两个设备知道的独特共享密钥(预先共享或算法生成的独特共享密钥)来建立独特的安全通信会话。同样,控制器40上的安全设备60和供应品55上的每个安全设备60可以使用密码协议和只有这两个安全设备知道的独特共享密钥(预先共享或算法生成的独特共享密钥)来建立独特的安全通信会话。
可以观察到,控制器40上的安全设备60和供应品55上的安全设备60之间的共享密钥的某个部分可以充当命令和相关参数的表中的索引,其中每个命令和相关参数可以用作认证质询。这些命令和参数可以是静态的并且在出厂时被预编程在每个安全设备60的NVM62中,或者它们可以是动态的并且偶尔被打印机中的主机固件(重新)编程在每个安全设备60的NVM 62中。由于控制器40上的安全设备60和供应品55上的安全设备60之间的共享密钥可以周期性地改变,所以安全设备60生成以作为认证质询的命令也将周期性地改变。由于控制器40上的安全设备60和供应品55上的安全设备60都(在没有任何外部通信的情况下)独立地知道作为认证质询要执行哪个命令,所以由安全设备60执行以生成电流分布(响应)的特定命令从不通过共享总线80发送。
控制器40上的SoC 70中的总线主设备75通过向控制器40上的安全设备60和供应品55上的安全设备60发送单个“通过电流分布认证”命令来开始认证过程。然后,控制器40上的安全设备60和供应品55上的安全设备60使用相同的独特共享密钥的一部分来从存储在它们的NVM中的命令和相关参数的表中查找相同的命令和相关参数。要使用的独特共享密钥的该一部分取决于命令和相关参数的表中的条目数。例如,如果表中有256个命令和相关参数的条目,则独特共享密钥被截断为8个最低有效位,以形成表中的索引。现在,控制器40上的安全设备60和供应品55上的安全设备60可以通过使用相同的独立确定的表索引来查找命令和相关参数,从而自行生成相同的命令和相关参数(认证质询)。
供应品55上的安全设备60执行基于从共享密钥导出的索引从表中读取的命令和相关参数(质询),并且从电力总线90汲取电流,该电流由电流监测器100感测并被输入到ADC 110,当主机固件105检测到触发条件115时,在ADC 110中,该电流被转换成一个或更多个数字值,该一个或更多个数字值被存储在存储器109中作为捕获的电流分布120。
控制器40上的安全设备60执行基于从共享密钥导出的索引从表中读取的相同命令和相关参数(质询),并从电力总线90汲取电流,该电流由电流监测器100感测并被输入到ADC 110,当主机固件105检测到触发条件115时,在ADC 110中,该电流被转换成一个或更多个数字值,该一个或更多个数字值被存储在存储器109中作为预期电流分布。可替代地,控制器上的安全设备60可以简单地通过共享总线将命令的表的索引返回到控制器40上的SoC70,其中SoC将基于从控制器40上的安全设备60接收到的索引来确定要从存储器读取哪个预定电流分布125。
SoC 70然后将捕获的电流分布120与预期电流分布125进行比较170,并且如果两个电流分布匹配,则确定供应品55上的安全设备60是真实的175,如果两个电流分布不匹配,则确定安全设备60是非真实的180。这完成了供应品55上的安全设备60的单向认证。此外,安全设备60的角色可以颠倒,并且可以以类似的方式认证控制器40上的安全设备60。作为这种将自行生成的命令用作认证质询的方法的结果,消除了通过共享总线传输质询和响应两者,并且消除了对通过共享总线的质询和响应进行逆向工程的威胁。
设备认证方法
已经描述了认证在供应品上的安全设备的方法(图5中示出),该方法使用与由安全设备汲取的电流相关联的信息作为认证参数。当主机固件155确定来自主设备的命令150满足触发条件160时,响应于该命令捕获被称为电流分布165(图3和图4中示出的示例)的该信息。如图2所示,触发条件115可以由在控制器40上的SoC 70上操作的主机固件105来确定。此外,触发条件可以由在供应品55上的安全设备60上操作的设备固件(未示出)或者由在控制器40上的安全设备60上操作的设备固件(未示出)来确定。当触发条件由在安全设备60上操作的设备固件(未示出)确定时,对触发条件的检测可以通过共享总线80上的加密消息或通过与SoC 70的直接连接(例如,中断信号,未示出)被传达到控制器40上的SoC 70。当SoC 70从安全设备60接收到触发条件的通知时,如先前所述,它从ADC 110获得作为数字化数据点的电流监测器100的输出。
为了确定供应品55上的安全设备60的真实性,将安全设备60的捕获的电流分布120与预期电流分布125进行比较,该预期电流分布125通过实验室表征被预先确定,并被存储在控制器40上的存储器109中。如果捕获的电流分布165与预期电流分布匹配170,则供应品55被确定为真实的175,如果这些电流分布不匹配,则供应品55被确定为非真实的180。此外,从控制器40上的安全设备60生成和捕获电流分布的相同方法可用于将捕获的电流分布与预期电流分布进行比较,以确定控制器40上的安全设备60的真实性。如果捕获的电流分布与预期电流分布匹配,则控制器上的安全设备60被确定为真实的,如果这些电流分布不匹配,则控制器上的安全设备60被确定为非真实的。
可以使用利用预定阈值的许多类型的比较算法来确定捕获的电流分布是否与预期电流分布匹配,以确定安全设备60的真实性。这些利用预定阈值的比较算法可以在控制器40上的SoC 70上全部或部分地执行,或者它们可以在供应品55上的一个或更多个安全设备60上全部或部分地执行,或者它们可以在控制器40上的安全设备60上全部或部分地执行。全部或部分地执行利用预定阈值的比较算法的任何组合都是可能的,包括在控制器40上的SoC 70上全部或部分地执行,或者在供应品55上的安全设备60上全部或部分地执行,或者在控制器40上的安全设备60上全部或部分地执行。
当仅在一个设备(SoC 70或安全设备60)上全部执行利用预定阈值的比较算法时,如果整体比较显示捕获的电流分布与预期电流分布匹配,则来自该一个设备的整体比较的结果确定安全设备60是真实的175,如果不匹配,则确定安全设备60是非真实的180。
当在多个设备(SoC 70或安全设备60)上全部执行利用预定阈值的比较算法时,则来自每个设备的整体比较的结果由一个设备(SoC 70或安全设备60)组合,如果整体比较中的大多数显示捕获的电流分布与预期电流分布匹配,则该一个设备确定安全设备60是真实的,如果不匹配,则确定安全设备60是非真实的180。
当在多个设备(SoC 70或安全设备60)上部分地执行利用预定阈值的比较算法时,来自每个设备的部分比较的结果由一个设备(SoC 70或安全设备60)组合,如果部分比较的组合显示捕获的电流分布与预期电流分布匹配,则该一个设备确定安全设备60是真实的,如果不匹配,则确定安全设备60是非真实的180。
当整体比较由SoC 70执行时,如果需要,它可以执行强制动作185,以及当整体比较由安全设备60执行时,整体比较的结果通过共享总线80发送到控制器40上的SoC 70,并且如果需要,SoC 70可以执行强制动作185。
设备特定的电流分布
为了最小化假阳性(真实设备被确定为非真实的)和假阴性(非真实设备被确定为真实的),用于确定真实性的比较算法和预定阈值必须考虑到真实安全设备由于电压、温度和半导体处理的变化而导致汲取的电流的变化。由于存储器109中存储有有限数量的预定电流分布125,并且有大量的真实安全设备(具有广泛范围的电流分布)要认证,因此可能需要放宽的预定阈值来避免假阳性。然而,为避免假阳性而放宽的预定阈值可能使非真实安全设备被错误地匹配,导致认证准确性的损失。因此,希望使预定阈值的放宽最小化。
使用与响应于触发条件由安全设备汲取的电流相关联并被捕获在存储器中作为电流分布的信息来改进放置在供应品上或控制器上的安全设备的认证准确性的方法是,将设备特定的预期电流分布存储在每个安全设备中的非易失性存储器(NVM)中。这是通过以下方式来实现的:在制造时获得每个安全设备响应于一个或更多个触发条件的一个或更多个电流分布并将它们作为设备特定的预定电流分布存储在安全设备60的NVM 62中,而不是在制造之前在实验室中表征若干个不同安全设备并将一个或更多个非设备特定的电流分布125存储在控制器40上的存储器109中。好处是减少安全设备的电流响应中的大部分变化,并且可以使用更严格的预定阈值来提高认证准确性。
此外,期望保护存储在供应品55上和控制器40上的安全设备60中的NVM 62中的设备特定的预期电流分布不被攻击者篡改和拷贝。保护存储在安全设备中的NVM中的设备特定的预期电流分布不被拷贝的方法是使用加密算法(例如AES)和密钥对它们进行加密。保护存储在安全设备60中的NVM 62中的设备特定的预期电流分布不被篡改的方法是将设备特定的预期电流分布与某种附加的设备特定信息(例如序列号或零件号)相组合,并使用数字签名算法(例如ECDSA)和私钥生成数字签名。预期电流分布和数字签名两者都用设备特定的密钥进行加密,并被存储在供应品55上或控制器40上的安全设备60的NVM 62中。
在打印机运行期间,控制器40上的SoC 70可以命令控制器40上或供应品55上的安全设备60从安全设备60中的NVM 62中读取设备特定的预期电流分布和数字签名。安全设备60通过以下方式来执行命令:从NVM62中读取电流分布和数字签名,用设备特定的密钥来解密它们,然后用秘密会话密钥(secret session key)对它们进行加密,最后通过共享总线80将加密后的电流分布和加密后的数字信号传输到SoC 70。SoC 70使用秘密会话密钥来解密预期电流分布和数字签名,并使用数字签名验证算法和公钥来验证数字签名是真实的。一旦经过验证和解密成明文形式,就可以使用验证算法和预定阈值将设备特定的预期电流分布与捕获的电流分布进行比较,以使用前面描述的任何方法来验证供应品55上和控制器40上的安全设备60的真实性。此外,安全设备60还可以在通过共享总线80将预期电流分布和数字签名作为加密后的密文或解密后的明文传输到SoC70之前,通过使用公钥执行数字签名验证算法来验证数字签名。最后,存储在安全设备60的NVM 62中的预期电流分布可以是所描述的设备特定的电流分布,或者它可以是对于所有安全设备60都相同的非设备特定的预期电流分布。
动态预期电流分布
在前面描述并在图2中示出的实施例中,安全设备60的预期电流分布是预定的,并且通过在实验室中或在制造期间的表征来获得,并且静态地存储在控制器40上的存储器109中或在控制器40上的安全设备60中的非易失性存储器(NVM)62中或在供应品55上的安全设备60中的NVM62中。
对这些实施例的改进将是消除在存储器中静态地存储任何预定电流分布,在存储器中它们可能被攻击者逆向工程并被用于危害安全性。此外,期望具有非常大的数量的触发条件(质询)和相关联的预期电流分布(响应)以减少对重放攻击的脆弱性。当在控制器40上使用安全设备60的第一实例(称为系统安全设备)并且在供应品55上使用同一安全设备60的另一实例(称为供应安全设备)时,可以实现这两种改进,其中每种安全设备60通过到电力总线90的连接来汲取电流。因为系统安全设备和供应安全设备是同一安全设备的两个实例,所以预期由每种安全设备60响应于相同触发条件而生成的电流分布将高度相关。
消除在存储器中静态地存储预期电流分布并提供无限数量的触发条件(质询)和预期电流分布(响应)的方法是在控制器上使用安全设备的第一实例(系统安全设备)以及在供应品上使用同一安全设备的另一实例(供应安全设备),并动态地生成和捕获系统安全设备响应于触发条件的电流分布,并将其用作供应安全设备的预期电流分布。在从系统安全设备捕获预期电流分布之后,可以使用相同的触发条件从供应安全设备生成和捕获电流分布。然后,可以使用合适的验证算法和预定义的阈值来比较这两个电流分布,以确定供应品上的安全设备的真实性。
该方法在图2所示的实施例中示出,其中从控制器40上的安全设备60(系统安全设备)捕获响应于触发条件115而生成的电流分布(如图3和图4所示),以及从供应品55上的安全设备60捕获响应于相同触发条件而生成的另一电流分布。利用验证算法将两个捕获的电流分布进行比较,以确定供应品55上的安全设备60的真实性。可以选择任何合适的验证算法来测量两个捕获的电流分布的统计相关性(例如皮尔逊相关系数,但不限于此),并且如果统计相关性的测量结果超过预定阈值(例如0.8或更大,但不限于此),则确定供应品55上的安全设备60是真实的,如果不是,则确定供应品55上的安全设备60是非真实的。此外,触发条件115可以由在控制器40上的SoC 70上操作的主机固件105或由在控制器40上的安全设备60上操作的设备固件(未示出)或由在供应品55上的安全设备60上操作的设备固件(未示出)来确定。最后,利用预定阈值的比较算法可以下列方式的任何组合来执行:主机固件在控制器40上的SoC 70上全部或部分地执行,或设备固件在供应品55上的安全设备60上全部或部分地执行,或者通过设备固件在控制器40上的安全设备60上全部或部分地执行的方式。
类似地,在其中在控制器40上使用安全设备60的一个实例(系统安全设备)并且在供应品55上使用同一安全设备60的多个附加实例(供应安全设备)的系统中,可以使用先前描述的任何比较方法和预定阈值来进行系统安全设备与每个供应安全设备的动态生成和捕获的电流分布之间的比较,以确定供应品55上的供应安全设备60的真实性。此外,在其中在控制器上没有系统安全设备(未示出)但是在供应品55上使用同一安全设备60的多个实例(供应安全设备)的系统中,可以动态地生成和捕获每个供应安全设备60的电流分布,然后使用任何比较方法和预定阈值将每个供应安全设备的电流分布与其他供应安全设备的一个或更多个电流分布进行比较,以如前所述那样确定供应品55上的安全设备60的真实性。
应当认识到,已经公开了一种用于确定供应品55上的安全设备60的真实性的方法,该方法使用通过任何合适的验证算法和任何预定阈值进行的、在控制器40上或供应品55上的同一安全装置60的多个实例响应于一个或更多个触发条件的电流分布的多种比较的任意组合,其中触发条件由在控制器40上的SoC 70上执行的主机固件105或由在安全设备60上执行的设备固件(未示出)确定,其中,验证算法全部或部分地由在控制器40上的SoC70上执行的主机固件、或由全部或部分在控制器40上的安全设备60上执行的设备固件、或由全部或部分在供应品55上的安全设备60上执行的设备固件来执行,以及其中,预期电流分布被预先确定并被存储在控制器40上的存储器125中或在安全设备60中的NVM 62中,或者从控制器40上或供应品55上的同一安全设备60的另外的实例动态地生成。本文描述的这些部件的所有组合都被认为是本发明的一部分。
这些使用电流分布的认证方法可以用于单向认证系统,其中第一设备认证第二设备,但第二设备不认证第一设备。例如,在SoC 70上执行的主机固件105(第一设备)可以认证供应品55上的安全设备60(第二设备)。此外,在SoC 70上执行的主机固件105(第一设备)可以认证控制器40上的安全设备60(第二设备)。此外,控制器40上的安全设备60(第一设备)可以认证供应品55上的安全设备60(第二设备)。最后,第一供应品55上的安全设备60(第一设备)可以认证第二供应品55上的安全设备60(第二设备)。在每个示例中,第一设备通过以下方式来认证第二设备:执行验证算法的全部或部分以将第二设备的捕获的电流分布165与预期电流分布进行比较170,其中预期电流分布已经被预先确定,并被存储在控制器40上的存储器109中或者存储在安全设备60上的NVM 62中,或者是从另外的安全设备动态地生成并捕获的;以及使用预定阈值来使用前述方法中的任何方法来确定第二安全设备的真实性。
此外,这些使用电流分布的认证方法可以用于双向认证系统,其中第一设备认证第二设备,并且第二设备认证第一设备。例如,控制器40上的安全设备60(第一设备)可以认证供应品55上的安全设备60(第二设备),并且供应品55上的安全设备60(第二设备)认证控制器40上的安全设备60(第一设备)。另外,第一供应品55上的安全设备60(第一设备)可以认证第二供应品55上的安全设备60(第二设备),并且第二供应品55上的安全设备(第二设备)认证第一供应品55上的安全设备60(第一设备)。在每个示例中,第一设备通过以下方式来认证第二设备:执行验证算法的全部或部分以将第二设备的捕获的电流分布165与预期电流分布进行比较170,其中预期电流分布已经被预先确定,并被存储在控制器40上的存储器109中或者存储在安全设备60上的NVM 62中,或者是从另外的安全设备动态地生成并捕获的;以及使用预定阈值来使用前述方法中的任何方法来确定第二安全设备的真实性。
最后,这些使用电流分布的认证方法可以用于自认证(self-authentication)系统,在自认证系统中安全设备全部或部分地认证其自身。例如,控制器40上的安全设备60可以全部或部分地认证其自身。另外,供应品55上的安全设备60可以全部或部分地认证其自身。在每个示例中,安全设备通过以下方式来认证其自身:执行验证算法的全部或部分以将自身的捕获的电流分布165与预期电流分布进行比较170,其中预期电流分布已经被预先确定,并存储在控制器40上的存储器109中或者存储在安全设备60上的NVM 62中,或者是从另外的安全设备动态地生成并捕获的;以及使用预定阈值来使用前述方法中的任何方法来确定自身的真实性。
设备电流分布测量
在前面描述并在图2中示出的实施例依赖于控制器40上的电流监测器100,该电流监测器100将安全设备60在检测到触发条件115时从电力总线90汲取的电流转换成模拟电压,然后由集成在控制器40上的SoC 70中的模数转换器(ADC)110将该模拟电压转换成数字输出。来自ADC 110的数字输出被捕获在存储器中作为电流分布120,然后使用验证算法和预定阈值将其与预期电流分布125进行比较170,以确定供应品55上的安全设备60的真实性。图3和图4分别示出了真实安全设备130和真实安全设备140以及非真实安全设备135和非真实安全设备145的示例电流分布。
开发基于集成电路技术(安全芯片)的安全设备的困难之一是,它们易于使用攻击者容易获得的去层(delayering)、成像和网表提取技术进行逆向工程和拷贝。这导致仅用标准数字逻辑门(例如,NAND、NOR、INV、FLIP-FLOP、LATCH等)构造的安全芯片被容易且快速地以低成本拷贝。希望在安全芯片中添加不容易被拷贝并且具有独特特性的附加模拟特征,以防止攻击者拷贝安全芯片,并且结合基于本文公开的电流分布的认证方法,使用这些附加的、难以拷贝的模拟特征来认证安全设备。
使安全设备更能抵抗拷贝的方法是在安全设备中集成模数转换器(ADC),并通过以下方式使用安全设备中的ADC来进行认证:捕获内部或外部模拟参数(例如,如前面描述的电流分布,但不限于此),以及使用算法将捕获的结果与具有预定阈值的预期结果(例如,如前面描述的预期电流分布,但不限于此)进行比较以确定供应品上的安全设备的真实性。
在图6所示的优选实施例中,具有集成的ADC 663和电流监测器664的安全设备660的第一实例被放置在控制器640上,并且具有集成的ADC663和电流监测器664的相同安全设备660的另一实例被放置在供应品655上。每个安全设备660通过共享总线680连接到控制器640上的SoC 670中的总线主设备675。此外,每个安全设备660连接到电力总线690,电力总线690从电压源685向安全设备660输送电流,电压源685连接652到电源650。每个电流监测器664感测由相关联的安全设备660从电力总线690汲取的电流,并将感测到的电流转换成电压,该电压连接到每个安全设备660的ADC 663的输入端。来自控制器640上的电流监测器664的输出端也可以(但不是必须)连接到SoC 670上的ADC 6110。在该实施例中,当触发条件被安全设备660检测到时,每个安全设备660可以生成并捕获其自己的电流分布作为响应。
另一个实施例(未示出)是将控制器640上的电流监测器664的输出端连接到控制器640上和供应品655上的每个安全设备660的ADC 663的输入端,并且可选地从供应品655中移除电流监测器664。另外,另一个实施例(未示出)是将分立ADC(未示出)放置在供应品655上,并且将分立ADC(未示出)放置在控制器640上,并且将它们连接到共享总线680,并且可选地从安全设备660中移除ADC 663。许多不同的实施例是可能的(未示出),其响应于当触发条件被安全设备660检测到时在安全设备上生成和捕获电流分布。对于如前所述的单向认证系统、双向认证或自认证,这些实施例中的每一个都可以用于使用电流分布来认证安全设备。
现在描述使用由安全设备660捕获的电流分布的单向认证系统的示例。控制器640上的主机固件6105或控制器640上的安全设备660上的设备固件(未示出)或供应品655上的安全设备660上的设备固件(未示出)生成认证质询(例如,命令、一系列命令、具有间接引用的命令、自行生成的命令等),使用先前描述的任何方法将该认证质询发送到供应品655上的安全设备660。供应品655上的安全设备660执行从电力总线690汲取电流的命令,该电流被与安全设备660一起定位在供应品655上的电流监测器664感测并被转换成模拟电压。来自电流监测器664的输出连接到ADC 663的输入端,并且被ADC 663转换成一个或更多个数字值,该ADC 663与安全设备660一起定位在供应品655上。当安全设备660在执行命令时检测到触发条件时,来自ADC 663的数字值被供应品655上的安全设备660在持续预定时间段内捕获,且然后全部或部分被存储在控制器640上的存储器6109或安全设备上的存储器(未示出)中,作为捕获的电流分布。如刚才所描述的,当供应品655上的安全设备660或控制器640上的安全设备660捕获到电流分布时,捕获的电流分布可以被加密并通过共享总线680传输到控制器640上的SoC 670。SoC 670然后将使用验证算法来比较安全设备660的捕获的电流分布与预期电流分布,其中预期电流分布已经被预先确定,并被存储在控制器640上的存储器6109中或者存储在安全设备660上的NVM 662中,或者是从另外的安全设备660动态地生成并捕获的;以及使用预定阈值来使用先前公开的任何方法确定供应品655上的安全设备660或控制器640上的安全设备660的真实性。最后,每个安全设备660的单向认证可以使用前面描述的任何设备认证方法来执行,其中利用预定阈值的比较算法在一个设备(SoC670或安全设备660)上全部执行、在多个设备(SoC 670或安全设备660)上全部执行、或者在多个设备(SoC 670或安全设备660)上部分执行。这些设备认证方法的任何组合可以用于单向认证每个单独的安全设备660。
现在描述使用由安全设备660捕获的电流分布的双向认证系统的示例。当在第一供应品655上的第一安全设备660已经捕获到(如针对单向认证所描述的那样)电流分布时,捕获的电流分布可以被加密并通过共享总线680传输到控制器640上或另一供应品655上的第二安全设备660。然后,第二安全设备660将使用算法来比较第一安全设备的捕获的电流分布与预期电流分布,其中预期电流分布已经被预先确定,并被存储在控制器640上的存储器6109中或者存储在第一安全设备660上的NVM 662中,或者是从另外的安全设备660动态地生成并捕获的;以及使用预定阈值来使用先前公开的任何方法确定供应品655上的第一安全设备660的真实性。为了完成双向认证,在供应品655上的第一安全设备660的角色和在控制器640上或在另一供应品655上的第二安全设备660的角色被交换,并且如刚才描述的那样执行认证。最后,每个安全设备660组合(SoC和安全设备或安全设备和安全设备)的双向认证可以使用前面描述的任何设备认证方法来执行,其中利用预定阈值的比较算法在一个设备(SoC 670或安全设备660)上全部执行、在多个设备(SoC 670或安全设备660)上全部执行、或者在多个设备(SoC 670或安全设备660)上部分执行。这些设备认证方法的任何组合可以用于双向认证每个安全设备660组合(SoC和安全设备或者安全设备和安全设备)。
现在描述使用由安全设备660捕获的电流分布的自认证系统的示例。当供应品655上的安全设备660或控制器640上的安全设备660已经捕获到(如针对单向认证所描述的那样)电流分布时,同一安全设备(自验证(self-verification))然后可以使用算法来全部或部分地比较捕获的电流分布与预期电流分布,其中预期电流分布已经被预先确定并被存储在控制器640上的存储器6109中、或者存储在安全设备660上的NVM 662中,或者是从另外的安全设备660动态地生成并捕获的;以及使用预定阈值来使用先前公开的任何方法确定供应品655上的安全设备660或控制器640上的安全设备660的真实性。最后,每个安全设备660的自认证可以使用前面描述的任何设备认证方法来执行,其中利用预定阈值的比较算法在一个设备(SoC 670或安全设备660)上全部执行、在多个设备(SoC 670或安全设备660)上全部执行、或者在多个设备(SoC 670或安全设备660)上部分执行。这些设备认证方法的任何组合可以用于对每个单独的安全设备660进行自认证。
应当认识到,已经公开了一种用于确定供应品655上和控制器640上的安全设备660的真实性的方法,该方法在单向认证(一个设备认证另一个设备)、双向认证(两个设备互相认证)和自认证(设备认证其自身)的任何组合中使用电流分布作为认证参数,其中,执行认证的设备使用任何合适的验证算法和任何预定阈值来执行捕获的电流分布与预期电流分布的一个或更多个比较,以基于控制器上或供应品上的同一安全设备的多个实例响应于一个或多个触发条件的电流分布的匹配来确定控制器640上或供应品655上的安全设备660的真实性。
公开的其他实施例包括,第一,一种通过认证电流分布来确定成像设备中的部件的真实性的方法,该方法包括由安全设备固件在多个频率下执行质询命令,其中质询命令由主机生成并被发送到安全设备,或者其中质询命令由安全设备自行生成。
第二,一种通过认证电流分布来确定成像设备中的部件的真实性的方法,该方法包括由安全设备固件在多个安全级别下执行质询命令,其中质询命令由主机生成并被发送到安全设备,或者其中质询命令由安全设备自行生成。
第三,一种通过认证电流分布来确定成像设备中的部件的真实性的方法,该方法包括由安全设备固件执行验证算法,以全部或部分地比较捕获的电流分布与预期电流分布,从而全部或部分地自验证安全设备的真实性,其中验证算法是一个或更多个数字值相对于固定阈值的比较,或者其中验证算法是一个或更多个数字值与用于相关的预定阈值的统计相关。
第四,一种通过认证电流分布来确定成像设备中的部件的真实性的方法,该方法包括以下步骤:由安全设备固件执行命令监测算法,以确定何时满足触发条件;以及通过共享总线上的加密消息或通过直接连接,从安全设备向片上系统传达触发条件被满足。
前述描述示出的是本公开的各方面和示例。它并没有被规定为穷尽的。更确切地,它被选择来说明本公开的原理以及它的实际应用,以使得本领域中的普通技术人员能够利用本公开,包括自然地伴随的它的各种修改。所有的修改及变化被设想为在由所附的权利要求所确定的本公开的范围内。相对明显的修改包括将各种实施例的一个或更多个特征与其它实施例的特征相组合。

Claims (10)

1.一种确定成像设备中的部件的真实性的方法,所述方法包括:
确定被发送到所述部件的命令是否满足触发条件;
在确定所述命令满足所述触发条件时,生成电流分布,所述电流分布指示当所述部件响应于接收到所述命令而执行操作时由所述部件汲取的电流;以及
基于所生成的电流分布,确定所述部件是否是用于所述成像设备的经授权部件。
2.根据权利要求1所述的方法,其中,确定所述部件是否是经授权部件包括将所生成的电流分布与预期电流分布进行比较。
3.根据权利要求1所述的方法,其中,所述触发条件对应于当所述部件响应于接收到所述命令而执行所述操作时导致所述部件的最大功耗的命令。
4.根据权利要求1所述的方法,其中,所述触发条件对应于当所述部件响应于接收到所述命令而执行所述操作时导致所述部件的最小功耗的命令。
5.根据权利要求1所述的方法,其中,生成所述电流分布包括对电流监测器的输出进行采样,所述电流监测器感测当所述部件响应于接收到所述命令而执行所述操作时由所述部件汲取的电流。
6.根据权利要求5所述的方法,其中,对所述电流监测器的输出进行采样是在预定时间段内执行的。
7.根据权利要求1所述的方法,还包括响应于所述部件接收到所述命令而发起所述部件中的辅助内部操作,其中,所述操作对应于所述辅助内部操作,所述辅助内部操作不同于由所述安全设备响应于所述命令而执行的主要内部操作。
8.根据权利要求7所述的方法,其中,当所述命令已被发送到所述部件预定次数时,执行发起所述部件中的所述辅助内部操作。
9.一种通过认证电流分布来确定成像设备中的部件的真实性的方法,所述方法包括以下步骤:
读取被加密地存储在安全设备中的非易失性存储器中的预期电流分布,其中,所述电流分布是设备特定的或非设备特定的;
读取所述电流分布与诸如设备序列号或零件号的设备特定信息相组合的数字签名,所述数字签名被加密地存储在所述安全设备中的非易失性存储器中;
使用设备特定密钥执行解密算法,以将从所述安全设备的非易失性存储器中读取的所述预期电流分布解密为明文;
使用设备特定密钥执行解密算法,以将从所述安全设备中的非易失性存储器中读取的所述数字签名解密为明文;
使用公钥执行数字签名验证算法,以验证解密后的数字签名是否有效;
使用共享会话密钥执行加密算法,以对所述预期电流分布和设备特定的数字签名进行加密;以及
执行命令,以通过共享总线将加密后的预期电流分布和加密后的数字签名传输到片上系统。
10.一种在供应品上的安全设备,所述安全设备包括:
集成的模数转换器;以及
电流监测器,其中,所述安全设备通过共享总线连接到在控制器上的片上系统上的总线主设备,每个安全设备连接到电力总线,所述电力总线从连接到电源的电压源向所述安全设备输送电流,并且进一步地,其中,所述电流监测器感测由所述安全设备从所述电力总线汲取的电流,并且将感测到的电流转换成电压,所述电压连接到所述模数转换器的输入端。
CN202180061767.3A 2020-09-08 2021-09-08 使用由安全设备汲取的电流进行认证 Pending CN116134441A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063075482P 2020-09-08 2020-09-08
US63/075,482 2020-09-08
PCT/US2021/049491 WO2022056019A1 (en) 2020-09-08 2021-09-08 Authentication using current drawn by security device

Publications (1)

Publication Number Publication Date
CN116134441A true CN116134441A (zh) 2023-05-16

Family

ID=86297776

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180061767.3A Pending CN116134441A (zh) 2020-09-08 2021-09-08 使用由安全设备汲取的电流进行认证

Country Status (2)

Country Link
EP (1) EP4211579A4 (zh)
CN (1) CN116134441A (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9536112B2 (en) * 2011-06-13 2017-01-03 Stmicroelectronics Asia Pacific Pte Ltd. Delaying or deterring counterfeiting and/or cloning of a component
US10073990B1 (en) * 2014-09-10 2018-09-11 Maxim Integrated Products, Inc. System and method for monitoring network devices incorporating authentication capable power supply modules
US9886571B2 (en) * 2016-02-16 2018-02-06 Xerox Corporation Security enhancement of customer replaceable unit monitor (CRUM)

Also Published As

Publication number Publication date
EP4211579A1 (en) 2023-07-19
EP4211579A4 (en) 2024-06-05

Similar Documents

Publication Publication Date Title
CN112042151B (zh) 使用单调计数器的机密密钥的安全分发
US9323950B2 (en) Generating signatures using a secure device
US20230252167A1 (en) Authentication Using Current Drawn by Security Device
US8701205B2 (en) Validation and/or authentication of a device for communication with network
CN104871169B (zh) 执行安全启动的片上系统、使用该片上系统的图像形成装置及其方法
US20150263855A1 (en) Symmetric keying and chain of trust
KR20100021446A (ko) 물리적 복제 방지 기능을 이용한 전자 장치의 전자 보안 방법 및 시스템
WO2006002282A1 (en) Systems and methods for performing secure communications between an authorized computing platform and a hardware component
CN103686711B (zh) 网络连接方法和电子设备
CN116134441A (zh) 使用由安全设备汲取的电流进行认证
Oswald Side-channel attacks on SHA-1-based product authentication ICs
US20230409690A1 (en) Authentication using magnetic field based on current drawn by security device
WO2013044384A1 (en) System and method for providing hardware-based security
US20230367863A1 (en) Authentication using analog signal challenge
US20220182247A1 (en) Secure medium intrusion prevention
US20220116206A1 (en) Systems and methods for device authentication in supply chain
Belay Securing the boot process of embedded Linux systems
CN117280345A (zh) 绑定信任锚和asic

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination