CN103733203B - 延迟或者阻止部件的伪造和/或克隆 - Google Patents
延迟或者阻止部件的伪造和/或克隆 Download PDFInfo
- Publication number
- CN103733203B CN103733203B CN201280039541.4A CN201280039541A CN103733203B CN 103733203 B CN103733203 B CN 103733203B CN 201280039541 A CN201280039541 A CN 201280039541A CN 103733203 B CN103733203 B CN 103733203B
- Authority
- CN
- China
- Prior art keywords
- value
- code value
- field
- replaceable unit
- code
- 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
Links
- 230000000903 blocking effect Effects 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 75
- 230000008569 process Effects 0.000 claims abstract description 45
- 238000003860 storage Methods 0.000 claims abstract description 26
- 230000008859 change Effects 0.000 claims abstract description 15
- 238000004422 calculation algorithm Methods 0.000 claims description 84
- 230000002093 peripheral effect Effects 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 2
- 238000000682 scanning probe acoustic microscopy Methods 0.000 claims 5
- 230000004044 response Effects 0.000 claims 1
- 238000005259 measurement Methods 0.000 description 55
- 238000004519 manufacturing process Methods 0.000 description 22
- 238000012360 testing method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 9
- 230000005611 electricity Effects 0.000 description 7
- 238000007639 printing Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 239000002184 metal Substances 0.000 description 4
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 4
- 241000208340 Araliaceae Species 0.000 description 3
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 3
- 235000003140 Panax quinquefolius Nutrition 0.000 description 3
- 238000013478 data encryption standard Methods 0.000 description 3
- 235000008434 ginseng Nutrition 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 229920005591 polysilicon Polymers 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000010009 beating Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 238000005242 forging Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000007921 spray Substances 0.000 description 2
- 208000000058 Anaplasia Diseases 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000009529 body temperature measurement Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010367 cloning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000013070 direct material Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000003921 oil Substances 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/73—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3271—Cryptographic 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
- H04L9/3278—Cryptographic 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 using physically unclonable functions [PUF]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Control Or Security For Electrophotography (AREA)
- Storage Device Security (AREA)
- Devices For Checking Fares Or Tickets At Control Points (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
在一个实施例中,为了阻止或者延迟对主机设备的更换部件的伪造/克隆,更换部件具有代码值。代码值根据更换部件的至少一个物理参数的值来生成并且存储于更换部件上。如果存储的代码值与参考代码值匹配,则主机设备确定更换部件是否可信。
Description
优先权要求
本申请在35U.S.C.§119(e)之下要求于2011年6月13日提交的名称为″DETECTINGAN UNAUTHORIZED PRINT CARTRIDGE″的序列号为61/496,204的美国临时专利申请的权益和优先权,通过整体引用将其并入本文。
技术领域
本公开内容总体涉及加密/解密,并且具体地、但是并非仅涉及使用加密/解密技术以检测未授权的部件(比如篡改和/或克隆部件)。
背景技术
许多产品包括可以在产品的使用期间更换(包括升级)的一个或者多个部件。例如,如果部件完成它的使用寿命、变得过时、由于磨损和撕破或者缺陷或者其它原因而崩溃,则可以进行更换。
可更换部件的示例是用于电子打印机的打印盒。打印盒包含打印材料(比如墨或者调色剂)并且放置于打印机的盒接受器中。黑白打印机可以接纳保持黑墨或者调色剂的仅一个打印盒,而彩色打印机可以接纳一个或者多个打印盒,例如保持黑墨或者调色剂的一个打印盒和保持有色墨或者调色剂的一个或者多个其它打印盒。在打印机的使用期间,打印盒中的墨或者调色剂用尽,或者打印盒可能崩溃或者变得过时,由此激发打印机的用户购置新打印盒作为更换。
伪造和插头兼容部件可以引起可信/授权的更换部件的制造商的收入显著损失。伪造者例如制造更换部件(比如打印盒)并且在授权的更换部件提供商的名义之下欺诈地将该部件作为可信更换部件进行营销。在另一方面,插头兼容制造商克隆者也制造更换部件,但是在未授权的(例如第三方)更换部件提供商的名义之下(有时合法地)将该部件作为兼容的更换部件进行营销。
发明内容
附图说明
参照以下附图描述一个或者多个非限制和非穷举实施例,其中相似标号除非另有指定则指代贯穿不同视图的相似部分。
图1图示根据各种实施例的产品和用于产品的对应可更换部件。
图2是图示根据各种实施例的制造和测试***以及图1的可更换部件的进一步细节的框图。
图3是图示根据一个实施例的图1的产品的更多细节的框图。
图4是用于使用从图1至图2的可更换部件测量/确定的输入参数来生成代码值的加密/编码方法的一个实施例的图形表示。
图5是用于使用从图1至图2的可更换部件测量/确定的输入参数来生成代码值的加密/编码方法的一个实施例的另一图形表示。
图6是图示用于使用从图1至图2的可更换部件测量/确定的输入参数来生成代码值的加密/编码方法的一个实施例的流程图。
图7是图示与图6的加密/编码方法对应的解密/解码方法的一个实施例的流程图。
图8是图示用于使用从图1至图2的可更换部件测量/确定的输入参数来生成代码值的加密/编码方法的一个实施例的示例表。
图9是图示用于使用从图1至图2的可更换部件测量/确定的输入参数来生成代码值的加密/编码方法的一个实施例的示例表。
图10是图示用于使用从图1至图2的可更换部件测量/确定的输入参数来生成代码值的加密/编码方法的一个实施例可以使用的示例表。
图11示出基于测量/确定的输入参数而具有相应不同代码值的示例集成电路。
图12是图示可以用来确定使用哪些输入参数和/或哪个加密/编码算法以使图1至图2的可更换部件生效的各种指示符的示例的框图。
具体实施方式
这里描述用于使用加密/解密来检测未授权的产品(比如伪造和/或者克隆产品)的技术的一个或者多个实施例。在以下描述中,给出许多具体细节以提供对一个或者多个实施例的透彻理解。可以在没有一个或者多个具体细节的情况下或者利用其它方法、部件、材料等来实现一个或者多个实施例。在其它实例中,未示出或者具体描述公知结构、材料或者操作,以免模糊一个或者多个实施例的方面。
贯穿本说明书对“一个实施例”或者“实施例”的引用意味着结合实施例描述的特定特征、结构或者特性被包含于至少一个实施例中。因此,短语“在一个实施例中”或者“在实施例中”贯穿本说明书出现于各处未必都是指相同实施例。另外,可以在一个或者多个实施例中以任何适当方式组合特定特征、结构或者特性。
本公开内容总体涉及用于比如经由使用如下代码值来阻止或者延迟尝试伪造/克隆产品的可更换部件的技术,该代码值与可更换部件关联并且在生效过程期间被解码。在一个实施例中,可以向代码值添加复杂性而未大量增添制造成本。通过添加复杂性,可更换部件将更难以反向工程。潜在伪造者/克隆者将需要投入附加开发成本和/或时间来“破解代码”,由此使潜在的伪造者/克隆者不易伪造/克隆可更换部件。附加的成本/时间可以防止或者至少延迟伪造者/克隆者生产功能性的伪造/克隆更换部件。因此,截至制作伪造/克隆更换部件的时间,原有/有效制造商理想地将已经转移到可更换部件的下一代或者版本上,由此使伪造/克隆更换部件过时。
根据各种实施例,根据可更换部件的至少一个物理参数(比如在集成电路上的电阻器的电阻和/或一个或者多个其它电或者机械参数)的测量或者另外确定(包括估计)的值来生成代码值。然后可以编码(包括使用利用密钥进行的加密)测量/确定的值以获得代码值,并且代码值然后可以比如通过在可更换部件中的集成电路的存储器中存储代码值来与可更换部件关联。代码值可以随后由主机设备解码(包括利用密钥进行的解码)以确定可更换部件是否可信。
根据一些实施例,可以测量可更换部件的集成电路的物理参数以确定比如制造过程的电测试阶段处它的模拟值。该测量的值然后可以用作输入/来源以生成对于该具体可更换部件和/或对于用于可更换部件的主机设备唯一的代码值(可以是二进制形式并且保密)。一些实施例的代码值可以存储于集成电路中,比如存储于存储单元中,该存储单元可以包括数据存储电路阵列或者存储器电路阵列,比如可擦除可编程只读存储器(EPROM)或者电可擦除可编程只读存储器(EEPROM)。
在一个实施例中,也可以加密/编码在可更换部件的为模拟值的测量的参数与为数字表示的二进制代码值之间的关系。
在一个实施例中,主机设备能够对可更换部件执行相同测量以确定参数的模拟值。主机设备然后可以执行加密过程以将该模拟值转译成二进制表示。在后续步骤中,主机设备可以执行在转译的二进制表示与在可更换部件中存储的二进制代码值之间的匹配——如果两个代码值匹配,则可以认为/确定可更换部件有效。
根据各种实施例,可以通过以下操作进一步增强加密/解密***的复杂性,并且因此增强它的稳健性:
测量可更换部件的参数集,并且可以将多个所得模拟值分别转译成它们的相应二进制表示。这些二进制表示中的任何一个或者多个二进制表示可以用作代码值,该代码值包括从对个体二进制表示执行的运算(比如逻辑运算)获得的最终代码值。
参数集可以具有可以与可更换部件的制造条件(例如它的集成电路的制造条件)相关联的秘密有效值范围。这样的制造条件可以包括制造设备类型、过程配方(processrecipe)、直接材料等以及在所有这些条件之间的交互。仅利用对这样的信息的访问以及对这样的条件的耗时和昂贵复制,潜在伪造者/克隆者可以能够再现相同有效模拟值范围。
可以通过使用参数的不同子集来使加密/编码算法从芯片到芯片或者应用到应用唯一。
不同测试条件(例如温度)可以使可更换部件的参数在不同测试条件具有不同测量的模拟值(例如电阻)。选择特定测试条件作为用于相同参数的加密/编码的部分可以产生不同模拟值,因此产生不同二进制表示。
晶片批次和/或晶片号标识以及在裸片的在晶片内的行/列位置方面的裸片位置可以用来使在加密/编码算法中使用的参数子集随机化。
可以向主机设备中编程使用不同参数子集的若干备选加密/编码算法。这样提供多个算法实现在可更换部件和/或主机设备的使用寿命内运算改变、实现生效与日历年份相关联、实现基于使用的地理位置来使用不同算法以及其它灵活性。
图1示出其中可以实施各种实施例的示例***100。***100可以包括第一装置102和第二装置104。第一装置102可以例如包括电子设备,比如打印机、数字相机、电视机、无线通信设备或者可配置作为主机设备的其它电子产品。在一些实施例中,第一装置102可以包括某个其它类型的产品,该产品可以主要为机械或者是电与机械的组合,比如汽车、工具或者其它主机设备。
在一个实施例中,第一装置102包括由第二装置104代表的至少一个可更换部件。第二装置104因此可以经由耦合106电地、机械地、通信地或者以其它方式耦合到第一装置102。例如在其中第一装置102是打印机的一个实施例中,第二装置104可以是打印盒,并且耦合106可以是在打印机与打印盒之间的电和机械连接,这些连接使打印机能够从打印盒读取数据、操作/控制打印盒等。
根据各种实施例,第一装置102和第二装置104可以包括产品和对应可更换部件,比如打印和打印盒、相机和镜头、蜂窝电话和电池、电视机和遥控器、计算机和键盘/驱动/鼠标/屏幕或者其它外设、汽车和滤油器(或者其它汽车部分)或者其它主机设备和对应可更换部件,该可更换部件如以下将更具体说明的那样具有可以测量并且用作用于代码值的基础的至少一个物理特性。贯穿本说明书,为了示例和易于说明,有时可以在打印机和打印盒的背景中描述第一装置102和第二装置104。但是理解这样的描述旨在于举例而未旨在于使主题内容仅限于打印机和打印盒。
图2示出根据各种实施例的示例制造和测试***200以及可更换部件(第二装置104)的更多细节。制造和测试***200可以例如用于制造阶段并且包括用于对集成电路204(比如用于打印盒或者可以具有集成电路的其它类型的可更换部件的集成电路)进行晶片测试的测量/确定单元202。测量/确定单元202可以用来确定第二装置104的其它值。
在图2中的206代表制造和测试***200测量/测试第二装置104。例如第二装置104的集成电路204或者其它部分可以包括可以由单元202测量/确定、然后数字化(如果需要)的一个或者多个参数208。示例包括集成电路204的不同单元(比如多晶硅区域或者金属区域,或者甚至寄生区域,或者其组合或者多个单元)的电阻。可测量或者可确定的参数208的其它备选或者附加示例可以包括电路输出,比如温度传感器在特定温度的输出、如果晶体管具有经过它的特定电流则电压传感器的输出、喷嘴电阻器值、喷嘴直径、电阻器面积、电容器值、晶体管的接通电阻、硅体电阻、可擦除可编程只读存储器(EPROM)电阻、存储器单元的电压电平等。参数208的其它示例可以包括掺杂电阻、电路节点电阻、晶体管接通电压和各种操作条件(例如施加的电压/电流、施加的时间等)。这些仅为可以比如在制造阶段、测试阶段或者其它阶段期间测量或者确定的可能参数208的少数示例。这样,单元202可以包括用于使这样的参数208能够被测量/确定的任何适当仪器(比如欧姆计、伏特计、电流计、温度传感器等)。另外,可以在集成电路204内包含参数208和/或位于第二装置104上的片外别处。
在一个实施例中,第二装置104可以包括可以位于集成电路204上或者位于第二装置104中的别处的存储单元210。存储单元210可以包括电可擦除可编程只读存储器(EEPROM)或者其它存储器设备。在一些实施例中,存储单元210可以是条形码、矩阵码、射频标识符(RFID)或者包含数据的机器可读表示的其它机器可读设备的形式。
根据这里将描述的各种实施例,存储单元210可以被配置用于存储代码值,该代码值是制造和测试***200的加密/编码单元212的加密/编码的输出。在一个实施例中,代码值包括二进制数或者其它数字值。以下随后将描述关于加密/编码单元212用来使用参数208中的一个或者多个参数来生成代码值的示例技术的更多细节。
第二装置104可以包括用于提供可更换部件的功能和结构的其它元件214。示例包括用于打印盒的印刷喷嘴和墨贮存器,或者用于接收更换部件的电和/或机械接口。为了简洁,这里未进一步在具体细节中描述或者标识其它元件214。
图3更具体示出图1的产品(第一装置102)的进一步细节。一个实施例的第一装置102可以是主机设备,该主机设备包括用于分别执行与制造和测试***200的单元202和212相同或者相似的操作的测量/确定单元300和加密/解密单元302。例如测量/确定单元300可以用来测量或者确定参数208,并且加密/解密单元302又使用单元212所使用的相同或者相似算法来根据测量/确定的参数208生成参考代码值。比较单元304然后比较由单元302生成的参考代码值与在存储单元210中存储的代码值,并且生成比较输出。如果比较输出指示比较的代码值相互匹配,则确定可更换部件有效。
在另一实施例中,第一装置102可以包括解密/解码单元306,该解密/解码单元被配置用于解密/解码在可更换部件的存储单元210中存储的代码值,以便获得参数208的基本的测量/确定的值。在这样的实施例中,可以省略或者不使用第一装置102的编码/加密单元302,使得比较单元304被配置用于将单元306(解密/解码)的基本值与如单元300提供的测量/确定的值进行比较,以确定比较的值是否相同。
在一些实施例中,比较单元304可以将存储的值和/或解密的值与可以在第一装置102中预存的参考参数值进行比较,而不是第一装置102执行参数值的测量。
在一个实施例中,解密/解码单元306可以使用与用于加密/编码存储的值相同的密钥,以便解密存储的代码值。密钥例如可以是由测量单元300从可更换部件测量的参数值本身或者可以是第一装置102中的预存值。在其它实施例中,可以通过使用具有(用于代码值或者基本参数值的)参考值的查找表执行比较,这些参考值映射到特定存储的代码值或者它们的基本参数值。
如可以从以上描述容易断定的那样,许多技术有可能用于在解密/解码中使用,这包括选择特定参考值(无论是否加密/编码),以用于在与存储的代码值和/或与基本参数值比较时使用,或者用于用作为用于解密/解码的密钥,或者用于在组合和/或多级解密/解码时使用等。
第一装置102还可以包括用于控制第一装置102的各种操作(包括控制或者执行加密/编码和解密/解码)的至少一个处理器308。第一装置102还可以包括至少一个存储单元310,诸如存储器或者其它有形非暂时计算机可读存储介质。在一个实施例中,存储单元310可以包括处理器308可执行的软件或者其它计算机可读指令,比如用于执行加密/编码和解密/解码的软件。在一些实施例中,单元300、302、304和306中的至少一些单元可以被体现为在存储单元310中存储的这样的计算机可执行指令。
第一装置102可以包括其它元件312,为了简洁而这里未具体描述这些其它元件。这样的其它元件可以例如包括键区、打印机构、电子电路装置、显示屏幕等。总线314被配置用于将第一装置102的各种元件相互耦合。
图4是图示用于使用从图1至图2的可更换部件(第二装置104)测量/确定的输入参数208来生成代码值的加密/编码方法400的一个实施例的流程图。一个实施例的方法400可以基于加密/编码算法,比如数据加密标准(DES)、数据加密算法(DEA)、三重DES(3DES)、三重DEA、高级加密标准(AES)和其它算法。例如利用3DES,通过系列运算将固定长度的“明文”位串变换成相同长度的“密文”位串。“密钥”用来定制变换,使得加密可以由知道用来执行加密的特定密钥的各方执行。这里描述的方法400和/或其它加密/编码方法可以在各种实施例中由图2的制造和测试***200的加密/编码单元212执行。
在图4的方法400的实施例中,通过加密方案(比如DES算法)运行测量/确定的参数208中的一个或者多个参数的数字值以生成输出代码值。参数208的测量/确定的值可以用于/替换密钥402和/或明文数据404,并且通过算法运行以生成代码值,该代码值是或者等效于输出密文406。
可以通过选择密钥402和/或明文数据404的位大小来控制加密/编码算法的稳健性。例如8位的位大小可以提供较低级保护,而256位(或者更多)的位大小可以提供较高级保护。某些因素可以影响针对加密/编码算法选择的位大小,这些因素包括但不限于制造成本、第一装置102和/或第二装置104的电路装置或者其它元件的复杂性、用于延迟伪造/克隆的希望时间、制造和测试***200的和/或第一装置102的处理能力、可更换部件的值、使用的参数208的类型等。
图5是用于使用从图1至图2的可更换部件测量/确定的输入参数208来生成代码值的加密/编码方法500的一个实施例的另一图形表示。在方法500的一个实施例中,数字化并且通过异或(XOR)编码方案运行参数208的多个测量/确定的值以生成输出代码值。
作为示例,可以有使用的参数208的四个测量/确定的值:喷嘴电阻502、EPROM电阻504、金属1电阻506和N+多晶硅电阻508。可以将这些值中的每个值数字化成具有8位的二进制数。查找或者真值表510示出这些测量/确定的参数中的每个参数的8位的示例位值。在向表510中填入这些测量/确定的参数的位值之后,可以对多个参数的位值执行一个或者多个XOR运算,并且XOR运算的输出可以相互和/或与参数值进一步XOR,以便使用XOR运算来执行多个回合/级别的编码/加密直至获得针对表510的最终输出代码值。
如以上先前说明的那样,至少一个参数208可以用来生成代码值。图6是加密/编码方法600的一个实施例的流程图,其中取代使用仅一个参数208来生成代码值,算法可以使用多个参数来生成代码值。具体而言,图6的所示实施例使用第一级加密/编码来根据多个参数208生成代码值,然后又可以在第二级加密/编码中使用这些代码值来生成最终代码值。这一多级加密/编码增加代码值的复杂性,因为现在克隆者/伪造者将需要不仅标识测量/确定和加密哪个单个参数值,而且标识测量/确定和加密哪个值组合和组合值以执行该加密的方式。
在示例方法600中,使用三个参数,比如图5中的电阻中的三个电阻。在602、604和606测量电阻(以获得模拟值);在608、610和612将测量的模拟值转换成数字值,并且通过加密算法单独运行这些数字值中的每个数字值以针对这些值中的每个值生成对应加密的值(例如代码值);然后在614、616和618在存储单元210中存储每个生成的代码值(二进制形式)。可以针对附加参数208重复该过程。
然后在620,二阶加密/编码算法或者第二级加密/编码算法可以应用于来自第一级的这些多个代码值。作为一个示例,可以对代码值执行逻辑运算,并且然后在620加密/编码。然后可以在622在存储单元中存储来自这一第二加密/编码过程的第二级代码值。随后在由第一装置102执行的解密/解码过程期间,来自第一和第二加密/解密过程的代码值中的任何或者所有代码值可以用来使第二装置104(可更换部件)生效。
例如图7是图示与图6的加密/编码方法600对应的解密/解码方法700的一个实施例的流程图。第一装置102的测量/确定单元300可以先在702、704和706测量/确定相同参数208(比如电阻)以获得模拟值。然后在708、710和712使用加密/编码单元302将测量的模拟值转换成数字值并且通过加密算法单独运行这些数字值中的每个数字值以针对这些值中的每个值生成对应加密的值(例如代码值)。接着在714、716和718,比较单元304比较这些生成的代码值与在存储单元210中存储的代码值。如果比较的结果提供匹配,则认为可更换部件针对第二级生效过程有效/合格。否则,如果有未匹配,则第一装置102在720拒绝可更换部件并且提供拒绝消息。
在722的第二级生效过程中,加密/编码单元302将加密/编码算法应用于在708、710和712获得的代码值以获得第二级代码值。比较单元304然后比较这一获得的第二级代码值与在存储单元210中的存储的第二级代码值。如果有匹配,则使可更换部件生效以用于使用。否则,如果有未匹配,则在720拒绝可更换部件。
图8是图示用于使用从图1至图2的可更换部件测量/确定的输入参数208来生成代码值的加密/编码方法的另一实施例的示例表800。在这样的实施例中,可以针对***100提供多个可选择的加密/编码算法选项。这一实施例实现用于变更/改变加密/编码算法以在已经破解当前算法的情况下提供防范伪造者的另一安全级的灵活性。备选地或者附加地,墨盒或者其它可更换部件的区域化可以与具体加密算法相关联。
在图8的示例中,待选择的特定算法(在四个可用算法之中)可以由在位位置(比如在存储单元210中的位位置)中存储的特定二进制数标识。表800因此可以用作查找表以确定针对向算法中的明文和密钥输入所使用的参数。
例如在打印盒的情况下,如果选择算法#1,则表800将指示待使用的明文输入是激发喷嘴电阻,并且待使用的密钥输入是三个加密/编码的参数值(例如EPROM位#1、金属1电阻和掺杂多晶硅电阻的值)之和。然后将明文和密钥输入应用于加密/编码算法以生成最终代码值。因而这一技术可以更难以击破,因为克隆者/伪造者将先必须确定正在使用哪些参数208、如何分别加密/编码每个参数值以生成相应具体代码值、选择哪个加密/编码算法、然后如何在选择的算法中使用那些第一级加密/编码的值以获得最终代码值。
仍然掺杂图8的表800,可以不编码明文和/或其它输入中的任何一个或者多个其它输入。这意味着明文值或者其它参数值可以仅为测量/确定的实际值,而未第一加密/编码或者另外转译该值。然而伪造者/克隆者将需要确定哪些参数值被加密/编码而哪些参数值未被加密/编码、在算法中使用这样的值的方式、使用哪个算法等。
图9是图示用于使用从图1至图2的可更换部件测量/确定的输入参数208来生成代码值的加密/编码方法的另一实施例的示例表900。具体而言,表900用作随机化的查找表,该查找表提供在针对特定参数预计的范围(比如在500与515欧姆之间的范围)内的多个实际值。因此,取代测量515欧姆并且仅将515欧姆转换成数值等效数字值,“515”将被输入/编索引到表900中,并且与“515”关联的值将由表900提供。这样的与“515”关联的提供/输出的值可以是与515欧姆非线性和/或随机相关的代码值,比如随机数生成器创建的数“30”。
图10是代表用于使用从图1至图2的可更换部件测量/确定的输入参数208来生成代码值的另一加密/编码方法的一个实施例的表1000。例如在一段时间的制造条件和过程交互内,可能存在某些参数208(比如接通电阻)的晶片-晶片和批次-批次变化。备选地或者附加地,可能存在测量中的误差位,例如因为可能在工厂中测量的电阻可以并不确切地等于第一装置102测量的电阻或者测量的电阻可以具有低分辨率。可以在某个置信度限制(例如范围)内使这些变化已知或者另外指定这些变化。然后可以将这些变化范围制表成表1000(比如查找表),该查找表包括:沿着范围的参数值(例如在3000与4000欧姆之间的模拟接通电阻的欧姆值)、百分比置信度值和针对每个欧姆值的二进制表示。表1000中所示二进制表示因此可以根据具体对应的欧姆值用作代码值。
在使用表1000的示例运算中,测量/确定的整数欧姆值可以是3250欧姆,因此可以将这一欧姆值上取整成3300欧姆(以便获得输出代码值110001)或者下取整成3200欧姆(以便获得输出代码值101010)。是否上取整或者下取整可以依赖于测量的值相对于表1000中的另一个值、默认设置或者其它因子是否更接近表1000中的一个值。
具体参照图10的表1000中描绘的示例电阻值,制造商可以能够一直在3000与4000欧姆之间运行接通电阻。电阻值的这一可预测范围可以部分地归因于设计,但是它也可以归因于制作工具、过程配方、若干工作中心的交互或者其它因素的选择。将在加密中使用的有效范围然后可以选择为从3000欧姆到4000欧姆,因为制造商将生产在这一范围以外生产的很少产品。如果伪造者/克隆者未以很高置信度在这一范围内生产,则它们的产量的大部分将由于落在有效范围以外而被算法拒绝。与伪造者/克隆者在一开始未知这一加密算法/范围这样的事实耦合,可以造成用于执行高成本迭代(包括修改或者重新调节它们的制作过程)的非平凡任务的大量资源和时间以便生产具有落在有效范围内的参数值的部件。截至伪造者/克隆者可以已经确定/复制有效范围的时间,原有制造商可能已经发布可更换部件的后续版本/替代,这些版本/替代将具有针对参数值的新的和不同有效范围。
因此,除了以上关于表1000描述的所有加密/解密之外,算法可以使得第一装置102将拒绝具有在3000到4000欧姆窗以外的电阻的可更换部件。例如,如果电阻是2500欧姆,则第一装置102可以仅立刻拒绝可更换部件而甚至无需进行解密任何其它值。也就是说,在一个实施例中,一旦第一装置发现范围外的值,第一装置102可以立即暂停生效过程并且标注可更换部件为克隆/伪造。
图11图示其中使用参数208的值来生成代码值的又一实施例。在图11中,可更换部件可以包括集成电路芯片1100和1102,这两个集成电路芯片例如可以是用于打印盒或者其它类型的可更换部件的芯片。在这样的实施例中,可以通过针对每个芯片使用不同物理参数或者通过使用多个物理参数的不同组(根据这些物理参数生成代码值)来提供代码值1104和1106从一个集成电路芯片到另一集成电路芯片或者从应用到应用的变化。
例如对于集成电路芯片1100,算法可以使用金属迹线电阻、晶体管接通电阻和喷嘴电阻的值,而对于另一集成电路芯片1102,算法可以使用多晶硅电阻、另一晶体管的接通电阻和在特定栅极-源极电压跨晶体管的电压。这样的实施例增加加密/编码的稳健性,因为克隆者/伪造者将不能找到对于用于(例如)打印盒的所有集成电路起作用的一组参数,因为参数可以从盒到盒改变。
图12是图示第一装置102可以用来确定使用哪些输入参数208和/或哪个加密/编码算法以使图1至图2的可更换部件生效的各种指示符的框图。应当理解图12图示可能的指示符的非穷举标识。
示例指示符可以是裸片位置指示符1200。多数集成电路在板上存储器中存储晶片上的位置,它们是从该位置切分的。通常在行和列方面存储这一位置,其中集成电路位于该行和列的交点。例如,如果第一装置102读取更换部件的集成电路来自行5,则第一装置102将知道它需要在解密/解码过程中使用参数208的某个子集的测量的值(和/或算法),而如果集成电路来自行7,则第一装置102将知道它需要将参数208的另一子集(和/或算法)用于解密/解码。
第一装置102可以用来确定使用参数208的哪个子集(和/或算法)的另一指示符是可以在集成电路上存储的地理位置指示符1202。例如一些可更换部件可以具有指示它们被既定用于在美国销售的代码,并且其它可更换部件可以具有指示它们用于在中国销售的代码。第一装置102可以读取代码,并且如果它看见集成电路存储用于美国的代码,则第一装置102可以使用特定解码算法(该解码算法可能需要具体物理参数集)。如果第一装置102看见用于中国的代码,则第一装置102可以使用另一解码算法(该解码算法可以包括另一物理参数集)。利用这样的实施例,即使克隆者/伪造者击破用于中国的代码,它们这样做仍然未必意味着它们已经击破用于美国的代码。
图12中的另一可能指示符是可以在可更换部件上存储的用于触发第一装置102将使用的算法类型和/或参数208的日期代码指示符1204。例如假设第一装置1-2的所有版本理解算法1至4,并且可更换部件基于它的制造年份使用特定算法。因此,在2012年制造的可更换部件将使用算法1,在2013年制造的可更换部件将使用算法2,等等。然后,在第一装置102读取可更换部件上的日期代码指示符1204(比如“2012”)时,第一装置然后知道它应当使用算法1。因此,这一特征将有帮助,因为可能具有更旧打印盒、但是购买新打印机的客户现在仍然可以在新打印机上使用更旧打印盒。
这一特征也可以阻碍克隆者/伪造者,因为例如如果伪造者/克隆者击破在2012年使用的算法1并且如果克隆者/伪造者不理解打印机正在寻找日期代码,则在2013年和后续年份,伪造/克隆盒不会工作,因为打印机现在正在使用算法2。如果克隆者/伪造者能够确定打印机正在搜寻日期代码并且知道日期代码在可更换部件中的何处和如何加密/编码它,则伪造者/克隆者可以在正确存储器位置包括虚假日期代码并且欺骗打印机使用算法2。然而确定这一信息的过程减缓克隆者/伪造者,这是实施例的意图之一。
用于第一装置102的另一可能指示符是条件指示符1206。例如可以已经在克隆者/伪造者可能未知的特殊测试条件或者秘密测试条件之下完成在制造过程期间测量/确定参数208的值。作为示例,取代仅在打印盒在室温时测量电阻值,打印机可以先加热打印头如同它将要执行打印一样,但是然后在打印头温度例如达到如测试指示符1206指示的40摄氏度时测量参数(比如电阻)。因此,克隆者/伪造者除了确定需要测量哪个参数208之外也必须确定需要在什么条件之下测量该参数。
另一示例是测量可更换部件中的特定设备的温度系数。例如在制造阶段,在一个温度测量迹线的电阻,然后增加温度并且在另一指定的温度再次测量电阻。每摄氏度的电阻改变的粗略线性估计因此可以是将用于生效的加密/编码的参数,并且条件指示符1206可以用来向第一装置102通知将测量/确定的参数208和将在其中进行这样的测量/确定的条件。对于克隆者/伪造者而言这样的信息将难以确定,因为例如伪造者/克隆者将不仅需要确定正在使用温度系数而且伪造者/克隆者也将需要知道在什么点测量温度。
图12中的用于第一装置102的又一可能指示符是用于在“逐步淘汰”过程中使用的版本指示符1208。例如假设制造者将要在接下来4年内引入打印机的4个版本,其中将在第1年内引入第一版本,在第2年内为第二版本,在第3年内为第三版本,并且在第4年内为第四版本。可以对打印机的第一版本编程以理解和加密4个不同算法。然后在引入第一版本的相同年份内,制造已经仅使用算法1来加密的打印盒。因此,由于在第一年份内发布的打印机版本理解算法1,并且由于打印盒理解算法1,所以第一年份的打印盒与第一年份的打印机一起工作。
然后假设在第2年内,制造商引入第二打印机版本,但是该打印机版本被设计用于仅理解算法2至4。另外,制造商开始制作用于第二打印机版本的打印盒,使得这样的打印盒使用算法2。因此,这意味着使用算法2的打印盒可以与打印机的第一版本或者第二版本一起使用,因为打印机的第一和第二版本理解算法2。然而针对打印机的第一版本制造的更旧打印盒不能在打印机的第二版本上使用,因为打印机的第二版本不理解算法1。因此,在效果上发生的是购置打印机的第一版本的客户将能够继续购买和使用打印盒,并且即使这样的打印盒可以使用算法2而不是算法1,它们的第一版本打印机仍然将与算法2的打印盒一起令人满意地工作。
其思想在于在第一年份内用算法1制造的打印盒将在第一年份期间随时间变得用尽,因此不会有太多如下情形,在这些情形中,客户将要购买第二版本打印机并且与它使用第一版本打印盒。这一技术提供的是在约一年之后或者至少在打印机的一个版本之后有效改变解密/解码算法,从而即使克隆者/伪造者击破算法1,克隆者/伪造者现在仍然将要必须再次全部经过相同反向工程过程来击破算法2。因而,如果比如以与克隆者/伪造者需要多久来击破用于加密/编码算法的代码一致的间隔引入新打印机版本,则克隆者/伪造者总是在打印机制造商后面(例如截至克隆者/伪造者击破用于一个打印机版本的代码,打印机制造商已经转向第二版本,因此克隆者/伪造者必须再次全部开始),并且伪造者/克隆者尚未获得任何显著收益,因为截止伪造者/克隆者击破用于第一版本的代码,没有用于第一版本盒的大量市场。
除了以上描述的指示符之外,备选地或者附加地,还可以有可以向第一装置102提供并且由第一装置102使用的一个或者多个其它指示符1210。
在一些实施例中,以上具体说明的技术中的任何一种或者多种技术可以与其它技术中的任何技术组合以产生定制加密/编码算法。
为了进一步举例说明各种示例实施例的特征,这里在打印盒和打印机的背景中提供描述。更低端喷墨打印机使打印头加热至适合于挥发打印喷嘴中的墨的温度(例如近似50摄氏度),使得打印头可以向打印介质(例如纸)上喷洒挥发的墨以打印文字或者图形。在打印盒上的打印头可以包括用于向打印机指示打印头温度的温度感测设备(比如电阻器)以向打印机指示打印头温度(例如可以在附着到打印头或者与打印头一体的打印头集成电路中包括温度感测设备)。因此,打印机可以使打印头在这一电阻器具有指示打印头已经达到适当打印温度的电阻时开始打印。由于适当打印温度范围可以相对窄,所以打印机应当获得打印头温度的准确指示。
因此,打印头及其关联芯片的制造商通常相对于温度测试和校准温度感测设备,并且在打印盒上的EPROM(例如图2中的存储单元210)中存储打印感测设备在打印头温度处于指定的值时生成的值。EPROM可以是打印盒或者在打印盒上设置的打印头芯片的一部分。
例如假设在打印头芯片上的温度感测电阻器被设计为在打印头在适当打印温度(比如50摄氏度)时具有150.0欧姆的电阻。然而由于制造过程变化和其它问题,在打印头的温度在希望的打印温度时温度感测电阻器的实际值可以从打印头芯片到打印头芯片例如按照±5%变化。在本例中,±5%对应于近似150.0±8.0欧姆的范围。
因此,在测试打印头芯片期间,制造商将打印头加热至打印温度(例如50摄氏度)、在打印温度测量温度感测设备(例如电阻器)的实际值(例如147.4欧姆)并且在打印盒上的EPROM中存储这一测量的值。可以加密/编码或者未加密/未编码存储的值。在具有这样的打印头芯片的墨盒安装于其中的打印机操作期间,一个实施例的打印机使打印头加热、监视温度感测设备的值并且周期性地比较监视的值与在EPROM中存储的值。在监视的值等于存储的值时,打印机确定打印机可以开始。
打印头和/或芯片组件的制造商可以在板上EPROM中存储的其它值可以出于除了伪造/克隆阻止之外的原因或者除了伪造/克隆阻止之外还出于其它原因而包括从晶片对打印头芯片裸片划线的相对位置。因此,信息(比如打印头芯片裸片位置和温度感测设备在打印温度生成的值)可以已经出于除了伪造/克隆阻止之外的原因而存储于打印头芯片上,并且因此将这些值用于伪造/克隆阻止将无需实施在打印盒和打印机中的显著附加设计/修改。另外,虽然伪造者/克隆者可以能够反向工程这一信息,但是如以下讨论的那样,一个实施例可以使用这一信息来允许打印机以对于伪造者/克隆者难以反向工程的方式在可信与不可信打印盒之间区分。
在一个实施例中,打印头的制造者可以从打印头芯片选择这一存储的信息(例如打印温度和裸片位置)的一个或者多个值并且向这些值应用针对打印头芯片创建代码值的加密/编码算法。如果选择的值典型地从打印头芯片到打印头芯片不同,则这样使用值可以使加密/编码更稳健,因为算法可以生成用于每个打印头芯片的不同代码值。
在一个实施例中,打印机然后将相同选择的值和代码值应用于对应解密/解码算法,并且比较解码算法的结果与可以在打印机上存储的参考结果。如果该结果等于参考结果,则打印机确定打印盒可信并且允许打印机正常操作。然而如果结果不等于参考结果,则打印机确定打印盒不可信并且可以禁用打印机并且生成错误消息。
在另一实施例中,编码和解码算法可以生成偏移,该偏移如果与现有存储的值相加则给出恰当值以用于由打印机使用。例如编码算法可以根据裸片位置和打印机温度值生成温度偏移值。接着制造商组合(相加、相减等)温度偏移值与测量的打印温度值以生成组合的温度值,制造商在打印盒上存储该组合的温度值作为代码值以取代测量的打印温度值。
在打印盒安装于打印机中时,打印机将解密/解码算法应用于裸片位置和编码的值以恢复偏移值,并且从编码和偏移值恢复测量的打印温度值。因此例如如果编码的值为135欧姆并且正确恢复的偏移值是15.2欧姆,则打印机可以将这些值求和以恢复150.2欧姆的测量的温度值,并且在温度感测电阻器具有150.2欧姆的电阻时使打印机打印。
如果恢复的测量的温度值不正确,则打印机可能不能恰当打印并且可以生成错误消息,该错误消息为问题可能归因于安装不可信打印盒。在一个实施例中,可以选择编码和解码算法,使得针对仅存储测量的温度值而不是编码的值(该编码的值是测量的温度值与偏移的组合结果)的不可信芯片,错误的恢复的偏移值可以在参考范围以外。因此,打印机可以仅根据错误的偏移值在参考范围以外来确定打印盒不可信。
因此,在以上描述的实施例中,即使伪造者/克隆者可以能够反向工程用来生成代码值的存储的值,可能仍然更难以或者不可能反向工程编码和解码算法、至少在发行的打印机版本的寿命内不可能。
为了在打印盒和打印机的背景中进一步描述又一实施例,打印头制造商可以使用打印头芯片上存储的算法和值(比如芯片ID、电阻值等)来生成代码值。算法可以未存储于芯片上,并且代码值可以存储于芯片上或者可以未存储于芯片上。例如代码值可以是与将另外存储于芯片上的芯片值组合的偏移,并且这一代码值代之以存储于芯片上而取代芯片值。
打印头制造商然后形成包括打印头和打印盒芯片的打印头组件。打印盒制造商然后以常规方式测试打印头,包括检查在某些位置用一些值对EPROM编程并且如果需要则刷新这些值。
在打印盒安装于打印机中时,在打印机上的芯片(例如处理器)将解密/解码算法应用于在打印头芯片上存储的适当值,并且将结果与在打印机上存储的参考结果进行比较。如果结果与参考结果匹配,则打印机芯片确定打印盒可信并且启用打印机以用于正常操作。打印机芯片也可以在使用存储的值之一之前对其进行变更;例如打印机可以将偏移与存储的值相加并且使用求和作为值,比如与打印温度对应的温度感测电阻器的电阻。
如果结果与参考结果不匹配,则打印机芯片确定打印盒不可信、禁用打印机打印并且生成错误消息,该错误消息向操作者指示打印盒不可信并且应当安装可信墨盒以便打印机正常操作。在其它实施例中,打印机芯片可以仅使打印机不恰当操作并且留给让操作者确定原因是否为不可信打印盒,或者提供如下消息,该消息陈述不恰当操作的原因可能是不可信打印盒。
在其它实施例中,取代出于其它原因而编码和解码在打印头芯片上存储的信息的值,可以仅为了伪造/克隆防止而编码和解码存储的值。
在本说明书中引用和/或申请数据表中列举的所有以上美国专利、美国专利申请公开、美国专利申请、外国专利、外国专利申请和非专利公开通过完全引用而结合于此。
所示实施例的以上描述(包括在说明书摘要中描述)的内容并不旨在于穷举或者使实施例限于公开的精确形式。尽管这里出于示例目的而描述具体实施例,但是各种等效修改是可能的。例如在一些实施例中,取代将特定参数值的完全二进制位串用于加密/编码输入,少于所有位值可以用作输入以便生成代码值。作为另一示例,例如用蜂窝电话,用户可以经由电话的键区人工录入代码以便让电话确定录入的代码(用于电池)是否与电话预计接收的代码匹配。可以按照以上具体描述进行这些和其它修改。
根据前文将理解,虽然这里已经出于示例的目的而描述具体实施例,但是可以进行各种修改而未脱离公开内容的精神实质和范围。另外,在公开用于一个具体实施例的备选时,这一备选即使未具体陈述也可以适用于其它实施例。
Claims (23)
1.一种可更换部件,包括:
多个物理参数,每个物理参数具有可确定的值;
代码值,其基于所述多个物理参数的所述可确定的值并且基于选择的加密算法;
存储单元,用于存储所述代码值,其中所述代码值可用来确定所述更换部件是否可信;以及
其中所述存储单元存储与所述代码值不同的至少一个指示符,所述至少一个指示符提供信息,所述信息关于应当选择和应用多个算法中的哪个算法来确定所述可更换部件是否可信、以及应当利用所述多个物理参数中的哪个物理参数来生成用于所述选择的加密算法的输入、以及应当利用所述多个物理参数中的哪个物理参数来生成用于所述选择的加密算法的密钥。
2.根据权利要求1所述的可更换部件,其中所述存储单元包括在所述可更换部件上设置的集成电路中的存储器。
3.根据权利要求2所述的可更换部件,其中所述至少一个参数包括所述集成电路中的元件的电参数。
4.根据权利要求2所述的可更换部件,其中所述至少一个参数包括所述可更换部件的在所述集成电路以外的元件的特性。
5.根据权利要求1所述的可更换部件,其中所述存储单元包括条形码或者RFID标签。
6.根据权利要求1所述的可更换部件,其中所述代码值是无转译的所述可确定的值。
7.根据权利要求1所述的可更换部件,其中所述代码值是所述可确定的值的经编码的表示。
8.根据权利要求7所述的可更换部件,其中所述经编码的表示基于所述加密算法中的选择的加密算法,所述选择的加密算法将所述至少一个参数的所述可确定的值用于密钥输入和明文输入中的一个或者两个输入以生成密文输出,并且其中所述密文输出可用作所述代码值。
9.根据权利要求1所述的可更换部件,其中所述至少一个指示符包括查找表,所述查找表基于所述至少一个指示符的值来确定利用所述多个算法中的哪个算法、利用所述至少一个参数中的哪个参数来向利用的所述多个算法提供明文输入、以及利用所述至少一个参数中的哪个参数来向利用的所述多个算法提供密钥。
10.根据权利要求1所述的可更换部件,其中存储的所述代码值可用来与参考代码值比较以确定匹配,并且其中响应于存在所述匹配来将所述更换部件确定为可信。
11.根据权利要求1所述的可更换部件,其中所述可更换部件可配置为安装于主机设备中,并且所述可更换部件和所述主机设备分别包括:打印盒和打印机;镜头和相机;电池和电话;遥控器和电视机;外设和计算机;或者汽车零件和汽车。
12.根据权利要求1所述的可更换部件,其中所述可确定的值存储于所述存储单元中。
13.一种主机设备,包括:
接口,用于接收更换部件;以及
单元,其使用在所述更换部件中存储的多个代码值和指示符值来确定所述更换部件是否可信,所述多个代码值中的每个代码值与所述指示符值不同并且每个代码值基于所述更换部件的物理参数,
其中存储的所述指示符值确定利用多个加密算法中的哪个加密算法来确定所述更换部件是否可信、以及利用所述多个代码值中的哪个代码值作为利用的所述加密算法的明文输入、以及利用所述多个代码值中的哪个代码值来确定利用的所述加密算法的密钥。
14.根据权利要求13所述的主机设备,其中所述主机设备和所述更换部件分别包括:打印机和打印盒;相机和镜头;电话和电池;电视机和遥控器;计算机和外设;或者汽车和汽车零件。
15.根据权利要求13所述的主机设备,其中为了确定所述更换部件是否可信,所述单元被配置用于确定所述至少一个物理参数的值、将确定的所述值转译成参考代码值并且比较所述参考代码值与存储的所述代码值,并且其中如果存储的所述代码值和所述参考值匹配,则所述更换部件被视为可信。
16.根据权利要求13所述的主机设备,其中为了确定所述更换部件是否可信,所述单元被配置用于比较参考代码值与存储的所述代码值,并且其中如果存储的所述代码值和所述参考值匹配,则所述更换部件被视为可信。
17.根据权利要求13所述的主机设备,其中为了确定所述更换部件是否可信,所述单元被配置用于解码存储的所述代码值并且比较经解码的值与参考值,并且其中如果所述经解码的值和所述参考值匹配,则所述更换部件被视为可信。
18.一种用于可更换部件的方法,包括:
确定可更换部件的多个物理参数的值;
将所述物理参数的确定的所述值转译成代码值;
在所述可更换部件中存储所述代码值,以使主机设备能够使用存储的所述代码值来确定所述可更换部件是否可信;并且
其中将所述物理参数的确定的所述值转译成代码值包括:
确定存储在所述可更换部件中的指示符值,并且使用确定的所述指示符值以:
从多个加密算法中选择一个或多个加密算法,选择的加密算法的数目少于加密算法的总数,并且每个加密算法接收明文输入和密钥输入,
选择确定的所述物理参数中的至少一个物理参数以用于向每个选择的加密算法提供所述明文输入,以及
选择确定的所述物理参数中的至少一个物理参数以用于向每个选择的加密算法提供所述密钥输入,
其中所述指示符值基于裸片位置指示符、地理指示符、版本指示符、日期指示符或者条件指示符。
19.根据权利要求18所述的方法,其中鉴于所述至少一个参数的值中的变化,所述更换部件中的多个更换部件的代码值从一个部件到另一部件而不同。
20.一种用于主机设备的方法,包括:
由主机设备读取在可更换部件上存储的代码值,其中存储的所述代码值代表所述可更换部件的至少一个物理参数的值;以及
由所述主机设备通过匹配参考值与所述代码值来确定所述更换部件可信;
其中所述参考值基于所述可更换部件的多个物理参数以及多个加密算法中的选择的加密算法;并且
其中匹配所述参考值与所述代码值包括确定应当利用所述多个物理参数中的哪个物理参数来生成用于所述选择的加密算法的明文输入以及应当利用所述多个物理参数中的哪个物理参数来生成用于所述选择的加密算法的密钥。
21.一种用于确定部件是否可信的***,包括:
可更换部件,所述可更换部件包括存储的代码值,所述存储的代码值基于所述可更换部件的多个物理参数,其中所述可更换部件存储提供信息的指示符,所述信息关于应当应用所述多个物理参数中的哪个物理参数和多个加密算法中的哪个加密算法来确定所述可更换部件是否可信,每个加密算法接收密钥输入和明文输入,所述明文输入基于所述可更换部件中的部件的电阻物理参数的数字化的值,其中所述数字化的值使用查找表来计算,所述查找表用于基于电阻物理参数、晶体管物理参数以及存储在所述可更换部件的存储器中的位的值中的一项来将所述电阻物理参数的测量值转换成所述数字化的值和所述密钥输入;以及
主机设备,被配置用于接收所述更换部件,所述主机设备还被配置用于使用存储的所述代码值来确定所述更换部件是否可信。
22.根据权利要求21所述的***,其中为了确定所述更换部件是否可信,所述主机设备被配置用于确定所述至少一个物理参数的值、将确定的所述值转译成参考代码值并且比较所述参考代码值与所述存储的代码值,并且其中如果所述存储的代码值和所述参考值匹配,则所述更换部件被视为可信。
23.根据权利要求21所述的***,其中为了确定所述更换部件是否可信,所述主机设备被配置用于解码所述存储的代码值并且比较经解码的值与参考值,并且其中如果所述经解码的值和所述参考值匹配,则所述更换部件被视为可信。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161496204P | 2011-06-13 | 2011-06-13 | |
US61/496,204 | 2011-06-13 | ||
PCT/US2012/042325 WO2012174169A2 (en) | 2011-06-13 | 2012-06-13 | Delaying or deterring counterfeiting and/or cloning of a component |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103733203A CN103733203A (zh) | 2014-04-16 |
CN103733203B true CN103733203B (zh) | 2017-03-29 |
Family
ID=47294304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280039541.4A Active CN103733203B (zh) | 2011-06-13 | 2012-06-13 | 延迟或者阻止部件的伪造和/或克隆 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9536112B2 (zh) |
CN (1) | CN103733203B (zh) |
WO (1) | WO2012174169A2 (zh) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2849948B1 (en) | 2012-08-30 | 2018-03-21 | Hewlett-Packard Development Company, L.P. | Replaceable printing component with factory identity code |
US9218235B2 (en) * | 2013-09-25 | 2015-12-22 | Lexmark International, Inc. | Systems and methods of verifying operational information associated with an imaging device |
WO2015065455A1 (en) | 2013-10-31 | 2015-05-07 | Hewlett-Packard Development Company, L.P. | Printheads having memories formed thereon |
JP6329254B2 (ja) * | 2014-01-20 | 2018-05-23 | 珠海艾派克微▲電▼子有限公司 | イメージングカートリッジ記憶チップのパラメータ送信方法、記憶チップ及びイメージングカートリッジ |
CN105812329B (zh) * | 2014-12-31 | 2018-07-20 | 中国科学院沈阳自动化研究所 | 用于复杂生产管理***中的移动安全加密方法 |
CN104794389A (zh) * | 2015-03-11 | 2015-07-22 | 顾丽娟 | 一种客户可更换单元、加密/解密/验证装置及方法 |
WO2016171696A1 (en) * | 2015-04-23 | 2016-10-27 | Hewlett-Packard Development Company, L.P. | Printing material cartridge |
EP3183122B1 (en) * | 2015-04-23 | 2018-02-07 | Hewlett-Packard Development Company, L.P. | Printing material cartridge |
US10212601B2 (en) | 2016-01-21 | 2019-02-19 | Motorola Mobility Llc | Hardware verification with RFID-stored build information |
JP6672110B2 (ja) * | 2016-08-23 | 2020-03-25 | Towa株式会社 | 管理システムおよび管理方法 |
CN106534154B (zh) * | 2016-11-30 | 2019-09-13 | Oppo广东移动通信有限公司 | 一种信息加密方法、装置及终端 |
US10700872B1 (en) * | 2017-02-21 | 2020-06-30 | National Technology & Engineering Solutions Of Sandia, Llc | System for authenticating an additively manufactured object |
US11487864B2 (en) | 2017-10-18 | 2022-11-01 | Hewlett-Packard Development Company, L.P. | Print apparatus component authentication |
US10369804B2 (en) | 2017-11-10 | 2019-08-06 | Datamax-O'neil Corporation | Secure thermal print head |
IL256108B (en) | 2017-12-04 | 2021-02-28 | Elbit Systems Ltd | A system and method for identifying the state of use and originality of a product |
EP3732602B1 (en) * | 2017-12-29 | 2023-09-06 | JT International SA | Electrically operated aerosol generation system with authentication of consumable |
EP3652666B1 (en) * | 2018-01-30 | 2022-08-31 | Hewlett-Packard Development Company, L.P. | Verification by replaceable printer components |
US10416602B1 (en) * | 2018-04-16 | 2019-09-17 | Lexmark International, Inc. | System and methods for detecting non-authentic slave components using clock frequency changes |
US11868512B2 (en) | 2019-09-06 | 2024-01-09 | Cryptography Research, Inc. | Detection of a netlist version in a security chip |
EP4211579A4 (en) * | 2020-09-08 | 2024-06-05 | Lexmark International, Inc. | AUTHENTICATION USING A CURRENT DRAW BY A SECURITY DEVICE |
IT202100000149A1 (it) * | 2021-01-05 | 2022-07-05 | Themis S R L | Sistema e metodo per il tracciamento e per garantire la qualità di materie prime |
US20240123736A1 (en) * | 2021-02-12 | 2024-04-18 | Hewlett-Packard Development Company, L.P. | Appending data on a replaceable supply component |
KR20220155684A (ko) * | 2021-05-17 | 2022-11-24 | 삼성전자주식회사 | Crum 칩 및 스마트 카드 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920628A (en) * | 1997-01-09 | 1999-07-06 | Washington University | Method and apparatus for fingerprinting and authenticating various magnetic media |
CN101485128A (zh) * | 2006-06-19 | 2009-07-15 | 维萨美国股份有限公司 | 便携式消费者设备验证*** |
CN100561494C (zh) * | 2007-01-29 | 2009-11-18 | 杭州华三通信技术有限公司 | 可插拔电子组件中数据存储器件及实现防伪的***及方法 |
US7840803B2 (en) * | 2002-04-16 | 2010-11-23 | Massachusetts Institute Of Technology | Authentication of integrated circuits |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4906988A (en) * | 1987-01-27 | 1990-03-06 | Rand Mcnally & Co. | Object verification system and method |
US5781654A (en) * | 1996-01-18 | 1998-07-14 | Merrill Lynch & Co., Inc. | Check authentication system utilizing payee information |
JPH1020778A (ja) * | 1996-07-08 | 1998-01-23 | Harumi Takeda | 暗号化装置および復号化装置、並びにicカード |
AU4194199A (en) * | 1998-05-20 | 1999-12-06 | Recording Industry Association Of America | Data disc modulation for minimizing pirating |
EP1391853A1 (fr) | 2001-11-30 | 2004-02-25 | STMicroelectronics S.A. | Diversification d'un identifiant unique d'un circuit intégré |
JP2004015667A (ja) * | 2002-06-10 | 2004-01-15 | Takeshi Sakamura | Icカード間暗号通信方法、電子チケット流通システムにおけるicカード間暗号通信方法およびicカード |
US7447917B2 (en) * | 2003-11-12 | 2008-11-04 | Microsoft Corporation | Obfuscated state store for rights management system and the like |
US7243193B2 (en) * | 2004-05-27 | 2007-07-10 | Silverbrook Research Pty Ltd | Storage of program code in arbitrary locations in memory |
US8099791B1 (en) * | 2004-06-25 | 2012-01-17 | Lexmark International, Inc. | Method of authenticating a consumable in an imaging device |
KR100565806B1 (ko) * | 2004-11-11 | 2006-03-29 | 삼성전자주식회사 | 정품 인증 기능을 구비한 소모성 부품, 소모성 부품의정품 여부를 판별할 수 있는 화상형성장치, 정품 인증기능을 구비한 소모성 부품의 제조방법 및화상형성장치에서 소모성 부품의 정품 여부 판별방법 |
WO2006053304A2 (en) * | 2004-11-12 | 2006-05-18 | Pufco, Inc. | Volatile device keys and applications thereof |
US7286773B2 (en) | 2004-12-17 | 2007-10-23 | Xerox Corporation | Device identification method and system |
US7818264B2 (en) * | 2006-06-19 | 2010-10-19 | Visa U.S.A. Inc. | Track data encryption |
US8128186B2 (en) * | 2007-07-27 | 2012-03-06 | Hewlett-Packard Development Company, L.P. | Non-volatile memory data integrity validation |
US20100027786A1 (en) * | 2008-02-14 | 2010-02-04 | Patrick Faith | Dynamic encryption authentication |
US8077869B2 (en) * | 2008-04-09 | 2011-12-13 | Lockheed Martin Corporation | Organic keyed encryption |
PT3208736T (pt) * | 2008-05-29 | 2020-01-21 | Hewlett Packard Development Co | Autenticação de um componente de impressora substituível |
JP4631935B2 (ja) * | 2008-06-06 | 2011-02-16 | ソニー株式会社 | 情報処理装置、情報処理方法、プログラム及び通信システム |
-
2012
- 2012-06-13 WO PCT/US2012/042325 patent/WO2012174169A2/en active Application Filing
- 2012-06-13 CN CN201280039541.4A patent/CN103733203B/zh active Active
- 2012-06-13 US US13/495,292 patent/US9536112B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5920628A (en) * | 1997-01-09 | 1999-07-06 | Washington University | Method and apparatus for fingerprinting and authenticating various magnetic media |
US7840803B2 (en) * | 2002-04-16 | 2010-11-23 | Massachusetts Institute Of Technology | Authentication of integrated circuits |
CN101485128A (zh) * | 2006-06-19 | 2009-07-15 | 维萨美国股份有限公司 | 便携式消费者设备验证*** |
CN100561494C (zh) * | 2007-01-29 | 2009-11-18 | 杭州华三通信技术有限公司 | 可插拔电子组件中数据存储器件及实现防伪的***及方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2012174169A2 (en) | 2012-12-20 |
CN103733203A (zh) | 2014-04-16 |
US20120317662A1 (en) | 2012-12-13 |
WO2012174169A3 (en) | 2013-04-25 |
US9536112B2 (en) | 2017-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103733203B (zh) | 延迟或者阻止部件的伪造和/或克隆 | |
US7240218B2 (en) | Method of using a mask programmed key to securely configure a field programmable gate array | |
US20070288765A1 (en) | Method and Apparatus for Secure Configuration of a Field Programmable Gate Array | |
US20170346800A1 (en) | Authentication apparatus utilizing physical characteristic | |
CN102077177B (zh) | 一种用于验证设备经历的一系列事件的方法和*** | |
CN102843234A (zh) | 半导体装置以及将数据写入到半导体装置的方法 | |
CN106919810B (zh) | 注册码生成方法及装置、软件注册方法及装置 | |
CN108009440A (zh) | 数据存储方法、查询方法、装置、存储介质和计算机设备 | |
CN108259497B (zh) | 用于燃料分配器安全的***和方法 | |
CN104751079A (zh) | 在物理上不可克隆的函数冗余位 | |
CN110231940B (zh) | 对微控制器芯片进行固件编程的方法、装置及对应的芯片 | |
WO2008015603A1 (en) | Device and method for generating a random bit string | |
KR100241349B1 (ko) | 문서의 전자적 공증 방법 | |
EP1739874B1 (en) | Confidential Information Implementation System and LSI | |
CN107925574A (zh) | 秘密数据的安全编程 | |
EP1124330A2 (en) | Method of using a mask programmed secret key to securely configure a field programmable gate array | |
US20210160063A1 (en) | Cryptographic management of lifecycle states | |
CN100464341C (zh) | 基于可信计算技术的数字内容使用痕迹的产生与管理方法 | |
KR20060023930A (ko) | 보안 요소의 클로닝을 방지하기 위한 방법 및 장치 | |
KR100975854B1 (ko) | 온라인에서의 패스워드 보안 방법 및 그 장치 | |
KR100982199B1 (ko) | 온라인에서의 입력 키 보안 방법 | |
CN103053130A (zh) | 用于为控制设备提供信息的方法 | |
GB2573766A (en) | Estimating a counterfeit probability of a product | |
CN116451257B (zh) | 一种数据库数据的加密方法、***、电子设备 | |
CN100334831C (zh) | 生成加密签名以及与产品副本一起使用此类签名的技术 |
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 |