CN110830258A - 从服务器接收安全的软件更新信息的器件 - Google Patents

从服务器接收安全的软件更新信息的器件 Download PDF

Info

Publication number
CN110830258A
CN110830258A CN201811215097.2A CN201811215097A CN110830258A CN 110830258 A CN110830258 A CN 110830258A CN 201811215097 A CN201811215097 A CN 201811215097A CN 110830258 A CN110830258 A CN 110830258A
Authority
CN
China
Prior art keywords
puf
information
server
software update
unclonable function
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
CN201811215097.2A
Other languages
English (en)
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.)
Taiwan Semiconductor Manufacturing Co TSMC Ltd
Original Assignee
Taiwan Semiconductor Manufacturing Co TSMC Ltd
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 Taiwan Semiconductor Manufacturing Co TSMC Ltd filed Critical Taiwan Semiconductor Manufacturing Co TSMC Ltd
Publication of CN110830258A publication Critical patent/CN110830258A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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
    • H04L9/3278Cryptographic 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]
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

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

Abstract

本揭露公开一种从服务器接收安全的软件更新信息的器件,所述器件包括:物理不可克隆功能(PUF)信息产生器,包括PUF单元阵列,被配置成产生PUF信息,其中PUF信息包括至少一个PUF响应输出,其中所述至少一个PUF响应输出用于对服务器上的软件更新信息进行加密以产生经加密的软件更新信息;第一加密器,被配置成使用来自服务器的至少一个公共密钥中的一者对来自PUF信息产生器的PUF信息进行加密,以产生经加密的PUF信息;以及第二加密器,被配置成使用所述至少一个PUF响应输出中的一者对经加密的软件更新信息进行解密,以获得软件更新信息。

Description

从服务器接收安全的软件更新信息的器件
技术领域
本揭露涉及一种电子器件,尤其是涉及一种从服务器接收安全的软件更新信息的器件。
背景技术
随着在为各种不同的应用提供不同类型的信息的电子器件中越来越多地使用集成电路,越来越需要保护可存储在电子器件内的敏感信息和/或关键信息,以将对此种信息的存取限制于仅有权存取所述信息的其他器件。举例来说,被配置用于物联网(internetof things,IoT)应用的器件易受攻击,这是因为所述器件对于攻击及未经授权的修改(例如,黑客攻击(hacking))来说在物理上是可获得的。因此,需要保护物联网器件中的嵌入式软件,以防止未经授权的用户对所述软件进行反向工程分析和/或修改存储在物联网器件中的信息。尽管长期以来存在这种需要,然而尚未获得能够防止此类攻击的合适的器件或方法。
发明内容
本揭露提供一种从服务器接收安全的软件更新信息的器件,所述器件包括:物理不可克隆功能(PUF)信息产生器,包括物理不可克隆功能单元阵列,被配置成产生物理不可克隆功能信息,其中所述物理不可克隆功能信息包括至少一个物理不可克隆功能响应输出,其中所述至少一个物理不可克隆功能响应输出用于对所述服务器上的软件更新信息进行加密以产生经加密的软件更新信息;第一加密器,被配置成使用来自服务器的至少一个公共密钥中的一者对来自物理不可克隆功能信息产生器的物理不可克隆功能信息进行加密,以产生经加密的物理不可克隆功能信息;以及第二加密器,被配置成使用所述至少一个物理不可克隆功能响应输出中的一者对经加密的软件更新信息进行解密,以获得软件更新信息。
本揭露提供一种保证来自服务器的软件更新信息的安全的方法包括:使用器件上的物理不可克隆功能(PUF)信息产生器产生物理不可克隆功能信息,其中所述物理不可克隆功能信息包括至少一个物理不可克隆功能响应输出及至少一个对应的询问输入;使用所述器件上的第一加密器来确定至少一个经加密的物理不可克隆功能响应输出,其中所述至少一个经加密的物理不可克隆功能响应输出是通过使用从所述服务器接收的至少一个公共密钥中的一者对所述至少一个物理不可克隆功能响应输出进行加密来确定的;将所述至少一个经加密的物理不可克隆功能响应输出传送到所述服务器,其中所述服务器上的第二加密器用于对所述至少一个物理不可克隆功能响应输出进行解密,其中所述至少一个物理不可克隆功能响应输出中的一者还用于对所述软件更新信息进行加密;以及接收所述器件上的经加密的所述软件更新信息及所述对应的询问输入,其中所述器件上的第三加密器被配置成使用对应的所述物理不可克隆功能响应输出对经加密的所述软件更新信息进行解密以获得所述软件更新信息。
本揭露还提供一种共享安全的软件更新信息的系统,所述系统包括:至少一个器件,其中所述至少一个器件各自包括:物理不可克隆功能单元阵列,被配置成在对应的至少一个询问输入处产生至少一个物理不可克隆功能响应输出;第一加密器,被配置成使用至少一个公共密钥中的一者对所述至少一个物理不可克隆功能响应输出进行加密;以及第二加密器,被配置成对经加密的软件更新信息进行解密;服务器,包括第三加密器,其中所述第三加密器被配置成从经加密的所述至少一个物理不可克隆功能响应输出中解密出所述至少一个物理不可克隆功能响应输出;以及输入/输出(I/O)接口,位于所述至少一个器件中的每一者与所述服务器之间,且被配置成传送来自所述服务器的所述至少一个公共密钥、所述经加密的软件更新信息及与用于对所述软件更新信息进行加密的所述至少一个物理不可克隆功能响应输出中的一者对应的所述对应的询问输入;以及从所述器件接收至少一个经加密的物理不可克隆功能响应输出。
附图说明
结合附图阅读以下详细说明,会最好地理解本揭露的各个方面。应注意,各种特征未必按比例绘制。实际上,为清晰地示出起见,可任意增大或减小各种特征的尺寸及几何形状。
图1示出根据本揭露一些实施例的系统的示例性方块图。
图2示出根据本揭露一些实施例的器件的物理不可克隆功能(physicaluncolonable function,PUF)产生器的示例性方块图。
图3示出根据本揭露一些实施例的包括多个位单元的PUF单元阵列的示例性电路图。
图4A示出根据本揭露一些实施例的使用从器件接收的PUF响应对软件更新信息进行加密的服务器的加密器的示例性方块图。
图4B示出根据本揭露一些实施例的使用PUF响应对软件更新进行解密的器件的解密器的示例性方块图。
图4C示出根据本揭露一些实施例的4位线性反馈移位寄存器(linear-feedbackshift register,LFSR)的实例。
图5示出根据本揭露一些实施例的一种使用器件的PUF响应保证从服务器到器件的软件更新信息的安全并共享安全的软件更新信息的方法的流程图。
图6示出根据本揭露一些实施例的多个器件以及对应器件的多个询问/响应对的表。
附图标号说明
100:系统;
102、102A、102B:器件;
104:服务器;
106:辅助数据产生器;
108、200:PUF产生器;
110:PUF信息产生器;
112:PUF恢复电路;
114、400:加密器;
116、410:解密器;
118:代码存储器/存储器单元;
120:处理器;
122:输入/输出接口;
124:安全的通信;
126:缓冲器;
128:选择器;
130:指令解码器;
202、300:PUF单元阵列;
204:行解码器;
206:列解码器;
208:感测放大器;
210:输入/输出电路;
212:PUF控制电路;
214:时序控制电路;
301-1、301-2、301-3、301-4、301-5、301-6、301-7、301-8、301-9:位单元;
302-1、302-2、302-3:位线;
303-1、303-2、303-3:互补位线;
304-1、304-2、304-3:位电压线/VDD;
305-1、305-2、305-3:零电压线/GND;
306-1、306-2、306-3:字线;
402:线性反馈移位寄存器;
404:逐位异或电路;
500:方法;
502A、502B、504、506A、506B、508A、508B、510、512、514A、514B、516A、516B、518A、518B:操作;
600:表;
602、604、606、A、B、C:列;
a、b、c:行;
C1、C1-1、C1-2、C2、C2-1、C2-2、Ck-1、Ck-2:询问;
E(Pk,R1||H1)、E(Pk,R2||H2):经加密的PUF信息;
E(R1,SW1)||C1、E(R2,SW2)||C2:经加密的软件信息;
E(R1,SW1)、E(R2,SW2):经加密的软件更新信息;
Pk:公共密钥;
R1、R2:PUF响应;
R1||H1、R2||H2:PUF信息;
R1-1、R1-2、R2、R2-1、R2-2、Rk-1、Rk-2:响应;
SW、SW1、SW2:软件更新信息。
具体实施方式
以下公开内容阐述用于实现主题的不同特征的各种示例性实施例。以下阐述组件及排列的具体实例以简化本揭露。当然,这些仅为实例而非旨在进行限制。举例来说,应理解,当元件被称为“连接到”或“耦合到”另一元件时,所述元件可直接连接到或耦合到另一元件,或者可存在一个或多个中间元件。
物理不可克隆功能(PUF)产生器一般用于验证及秘密密钥存储而无需安全的电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)和/或其他昂贵的硬件(例如,电池备用式(battery-backed)静态随机存取存储器)。PUF产生器不是将密钥存储在数字存储器中,而是基于由固有工艺变化引起的PUF产生器独特的物理特性来驱动密钥,以将PUF产生器自身与甚至由同一制作工艺生产的其他产品区分开。一般来说,此种密钥被称为“PUF响应”。可使用许多参数的变化来界定此种签名,例如(举例来说)门延迟、阈值电压、基于静态随机存取存储器(static random accessmemory,SRAM)的器件的电源接通(power-on)状态和/或集成电路(integrated circuit,IC)的各种物理特性中的任一种。此外,也可使用电荷衰减(charge decay)(例如,放电过程)作为PUF响应,所述电荷衰减通常用于基于动态随机存取存储器(dynamic randomaccess memory,DRAM)的PUF产生器中。在本揭露中,提出一种保护物联网器件免受黑客攻击的电路及方法。
图1示出根据本揭露一些实施例的系统100的示例性方块图。应注意,系统100仅为实例,而并非旨在限制本揭露。因此,应理解,额外的功能区块可设置在图1所示系统100中或耦合到图1所示系统100,且本文中可仅简要地阐述另一些功能区块。
在一些实施例中,系统100包括器件102及服务器104。应注意,系统100仅为实例,且可包括可与服务器104进行通信的多个器件102。在所示实施例中,器件102包括辅助数据产生器106及PUF产生器108。在一些实施例中,辅助数据产生器106与PUF产生器108耦合在一起以形成PUF信息产生器110。在所示实施例中,器件102还包括PUF恢复电路112、加密器114、解密器116及代码存储器118。在一些实施例中,如以下参照图2进一步详细论述,PUF产生器108包括PUF单元阵列,所述PUF单元阵列用于产生与询问(challenge)对应的PUF响应。在一些实施例中,PUF单元阵列是测量器件中存在的固有制造变化及随机制造变化以因应于输入(即,询问)产生独特的签名密钥的电路。在一些实施例中,PUF产生器108还可包括图1未示出的后处理错误校正或预处理错误校正、用于快速地识别不稳定的位单元的噪声注入器、总数计数器(population counter)等。
在一些实施例中,辅助数据产生器106被配置成生成辅助数据,所述辅助数据可在通过公共密钥进行加密之后与PUF响应一起被传送到服务器。在一些实施例中,用于对PUF响应及辅助数据进行加密的公共密钥是由服务器产生并从服务器接收的。在一些实施例中,辅助数据产生器106包含用于错误校正的辅助数据算法,以从由PUF产生器108的PUF单元阵列产生的有噪声的PUF响应提取正常的PUF响应。在一些实施例中,也可使用辅助数据从正常的PUF响应导出有噪声的PUF响应。在一些实施例中,辅助数据产生器106也可为用于存储预先产生的辅助数据的存储器单元。
在一些实施例中,加密器114及解密器116用于数据加密目的及数据解密目的。具体来说,在一些实施例中,器件102的加密器114可用于使用从服务器104接收的公共密钥对由PUF产生器108产生的PUF响应以及辅助数据进行加密,根据一些实施例,所述PUF响应及所述辅助数据通过输入/输出(input/output,I/O)接口122以安全的通信124被进一步传送到服务器104。在一些实施例中,解密器116在接收到密文(例如,经编码的软件更新)时可与对应的PUF响应一起用于导出纯文本(例如,软件更新指令)。在一些实施例中,加密器114及解密器116二者耦合到输入/输出接口122以分别接收及传送密文。在一些实施例中,加密器114及解密器116上的加密过程及解密过程是分别基于由PUF产生器108生成的PUF响应。在一些实施例中,加密器114及解密器116为对称的。在另一些实施例中,加密器114及解密器116为非对称的。
在一些实施例中,从服务器104接收的经加密的软件更新信息是通过指令宽度为128位、192位或256位的高级加密标准(advanced encryption standard,AES)进行加密。经加密的软件更新信息可使用解密器116在装置102上的区块中进行解密。由于加密过程和/或解密过程是通过区块密码(block cipher)来进行,因此程序代码是在区块中进行加密。举例来说,加密是在128b的组块中进行。因此,在可获得完整指令以供执行之前需要对全部区块进行加载及解密。举例来说,32位精简指令集计算机(reduced instruction setcomputer,RISC)机器可在128位区块中包含4个指令。这4个指令每次按照32位进行解码且需要4个机器周期来完成。因此每个解密周期可提供4个指令。在一些实施例中,当存在并利用分支时,加载由分支目标位置指出的经加密的程序代码的最近的128位区块。在一些实施例中,PUF恢复电路112是使用辅助数据滤除噪声并从损坏的PUF响应(例如,在一些操作条件或老化的器件下)恢复正常的PUF响应的器件。举例来说,PUF恢复电路112是对PUF输出中的损坏的位进行校正的错误校正码(error correcting code,ECC)电路。在一些实施例中,辅助数据可为ECC的校验位(check bit)。当将数据从器件102发送到服务器104时,PUF恢复电路112用于导出辅助数据,所述辅助数据与使用加密器114加密的数据一起经由输入/输出接口122被发送到服务器104。当器件102从服务器104接收到经加密的软件更新时,器件102在必要时使用辅助数据对PUF响应进行校正以导出正常的PUF响应从而使用解密器116进行解密。
在一些实施例中,器件102还包括处理器120。处理器120可包括可操作以控制系统100的器件102的操作及性能的任何处理电路。在各个方面,处理器120可被实现为通用处理器、芯片多处理器(chip multiprocessor,CMP)、专用处理器、嵌入式处理器、数字信号处理器(digital signal processor,DSP)、网络处理器、输入/输出(I/O)处理器、媒体存取控制(media access control,MAC)处理器、无线电基带处理器、协同处理器、微处理器(例如复杂指令集计算机(complex instruction set computer,CISC)微处理器、精简指令集计算(RISC)微处理器和/或超长指令字(very long instruction word,VLIW)微处理器)或其他处理器件。处理器120也可被实现为控制器、微控制器、应用专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field programmable gatearray,FPGA)、可编程逻辑器件(programmable logic device,PLD)等。
在各个方面,处理器120可被布置成操作系统(operating system,OS)及各种应用。操作系统的实例包括例如以商品名苹果(Apple)操作系统、微软视窗(MicrosoftWindows)操作系统、安卓(Android)操作系统及任何其他专有或开源操作系统众所周知的操作系统。应用的实例包括例如电话应用、照相机(例如,数字照相机、视频照相机)应用、浏览器应用、多媒体播放器应用、游戏应用、消息传递应用(例如,电子邮件、短消息、多媒体)、查看器应用等。
在一些实施例中,输入/输出接口122可包括至少能够使服务器104向器件102提供输入并使器件104向服务器102提供输出的任何合适的机构或组件。举例来说,输入/输出接口122可包括任何合适的输入机构,包括但不限于按钮、小键盘、键盘、点击轮(clickwheel)、触摸屏或运动传感器。在一些实施例中,输入/输出接口可包括电容式感测机构或多点触摸电容式感测机构(例如,触摸屏)。
在一些实施例中,输入/输出接口122可包括用于提供对用户可见的显示的视觉外围输出器件。举例来说,视觉外围输出器件可包括并入系统100的器件102中的屏幕,例如液晶显示(Liquid Crystal Display,LCD)屏。作为另一实例,视觉外围输出器件可包括用于在远离器件102的表面上显示内容的可移动显示器或投影系统。在一些实施例中,视觉外围输出器件可包括将数字媒体数据转换成模拟信号的编码器/解码器(也被称为编解码器)。举例来说,视觉外围输出器件可包括视频编解码器、音频编解码器或任何其他合适类型的编解码器。
视觉外围输出器件还可包括显示驱动器、用于驱动显示驱动器的电路或所述显示驱动器及所述电路二者。视觉外围输出器件可操作以在处理器120的指导下显示内容。举例来说,视觉外围输出器件可能够播放(仅举几个实例)媒体回放信息、在器件102上实现的应用的应用屏幕、关于正在进行的通信操作的信息、关于进入的通信请求的信息或器件操作屏幕。
在一些实施例中,输入/输出接口122可包括能够利用相同或不同的网络将器件102耦合到服务器104和/或其他器件102的任何合适的硬件、软件或硬件与软件的组合。输入/输出接口122可被布置成利用用于使用期望的通信协议、服务或操作流程集控制信息信号的任何合适的技术来操作。输入/输出接口122可包括适当的物理连接件以与对应的通信媒体(无论是有线的还是无线的)进行连接。
在一些实施例中,网络可包括局部区域网络(local area network,LAN)以及广域网络(wide area network,WAN),包括但不限于因特网、有线信道、无线信道、包括电话、计算机、导线、无线电、光学信道或其他电磁信道的通信器件以及其组合,包括能够传递数据/与传递数据相关联的其他器件和/或组件。举例来说,通信环境包括本体内通信(in-bodycommunication)、各种器件以及例如无线通信、有线通信及其组合等各种通信模式。
无线通信模式包括各点(例如,节点)之间的任何通信模式,所述点至少部分地利用包括各种协议及与无线传送、数据及器件相关联的协议的组合的无线技术。所述点包括例如无线器件,例如无线耳机;音频及多媒体器件及设备,例如音频播放器及多媒体播放器;电话,包括移动电话及无线电话;以及计算机及计算机相关器件及组件,例如打印机、网络连接机器和/或任何其他合适的器件或第三方器件。
有线通信模式包括各个点之间的任何通信模式,所述点利用包括各种协议及与有线传送、数据及器件相关联的协议的组合的有线技术。所述点包括例如器件,例如音频及多媒体器件及设备,例如音频播放器及多媒体播放器;电话,包括移动电话及无线电话;以及计算机及计算机相关器件及组件,例如打印机、网络连接机器和/或任何其他合适的器件或第三方器件。在各种实现方式中,有线通信模块可根据许多有线协议来进行通信。仅举几个实例来说,有线协议的实例可包括通用串行总线(Universal Serial Bus,USB)通信、RS-232、RS-422、RS-423、RS-485串行协议、火线(FireWire)、以太网、光纤信道、乐器数字接口(Musical Instrument Digital Interface,MIDI)、高级技术附接(advanced technologyattachment,ATA)、串行ATA、快速外围组件互连(Peripheral Component Interconnect,PCI)、T-1(及其变体)、工业标准架构(Industry Standard Architecture,ISA)并行通信、小型计算机系统接口(Small Computer System Interface,SCSI)通信或外围组件互连(PCI)通信。
因此,在各个方面,输入/输出接口122可包括一个或多个接口,例如(举例来说)无线通信接口、有线通信接口、网络接口、传送接口、接收接口、媒体接口、系统接口、组件接口、开关接口、芯片接口、控制器等。当由无线器件或在无线系统内实现时,例如,输入/输出接口122可包括包含一个或多个天线、传送器、接收器、收发器、放大器、滤波器、控制逻辑等的无线接口。
在一些实施例中,输入/输出接口122可根据许多无线协议来提供通信功能。无线协议的实例可包括各种无线局部区域网络(wireless local area network,WLAN)协议,包括电气及电子工程师学会(Institute of Electrical and Electronics Engineers,IEEE)802.xx系列协议,例如IEEE 802.11a/b/g/n、IEEE 802.16、IEEE 802.20等。无线协议的其他实例可包括各种无线广域网络(wireless wide area network,WWAN)协议,例如利用通用分组无线电业务(General Packet Radio Service,GPRS)的全球通信系统(globalcommunication system,GSM)蜂窝式无线电话系统协议、利用1×RTT的分码多重存取(CodeDivision Multiple Access,CDMA)蜂窝式无线电话通信系统、增强型数据GSM 环境(Enhanced Data GSM Environment,EDGE)系统、演进数据优化(Evolution-DataOptimized,EV-DO)系统、演进数据及语音(Evolution For Data and Voice,EV-DO)系统、高速下行分组存取(High Speed Downlink Packet Access,HSDPA)系统等。无线协议的其他实例可包括无线个人区域网络(personal area network,PAN)协议,例如红外线协议、来自蓝牙特别兴趣小组(Special Interest Group,SIG)系列协议的协议(包括利用增强型数据速率(Enhanced Data Rate,EDR)的蓝牙规范版本v1.0、v1.1、v1.2、v2.0、v2.0)以及一个或多个蓝牙简档等。无线协议的再一实例可包括近场通信技术及协议,例如电磁感应(electromagnetic induction,EMI)技术。EMI技术的实例可包括无源或有源射频识别(radio-frequency identification,RFID)协议及器件。其他合适的协议可包括超宽带(Ultra Wide Band,UWB)、数字办公室(Digital Office,DO)、数字家庭、可信平台模块(Trusted Platform Module,TPM)、紫蜂(ZigBee)等。
在一些实施例中,代码存储器118是可基于一次性编程(one-time programmed,OTP)技术的非易失性存储器。在一些实施例中,存储器单元118是只读存储器(read-onlymemory,ROM)、电子保险丝(electronic fuse,eFuse)或任何其他类型的OTP存储器。在一些实施例中,代码存储器118用于在经由输入/输出接口122从服务器104接收到时存储经加密的软件更新信息。
在一些实施例中,器件102的代码存储器118可包括能够存储数据的任何机器可读或计算机可读媒体,包括易失性/非易失性存储器及可移除/不可移除存储器。代码存储器118可包括至少一个非易失性存储器单元。非易失性存储器单元能够存储一个或多个软件程序。仅举几个实例来说,软件程序可包含例如应用、用户数据、器件数据和/或配置数据或其组合。软件程序可包含可由系统100的器件102的各种组件执行的指令。
举例来说,代码存储器118可包括只读存储器(ROM)、随机存取存储器(random-access memory,RAM)、动态RAM(dynamic RAM,DRAM)、双数据速率DRAM(Double-Data-RateDRAM,DDR-RAM)、同步DRAM(synchronous DRAM,SDRAM)、静态RAM(static RAM,SRAM)、可编程ROM(programmable ROM,PROM)、可擦可编程ROM(erasable programmable ROM,EPROM)、电可擦可编程ROM(electrically erasable programmable ROM,EEPROM)、闪速存储器(例如,或非或者与非闪速存储器)、内容可寻址存储器(content addressable memory,CAM)、聚合物存储器(例如,铁电聚合物存储器)、相变存储器(例如,奥氏存储器)、铁电存储器、硅氧化物-氮氧化物-硅(silicon-oxide-nitride-oxide-silicon,SONOS)存储器、磁盘存储器(例如,软盘、硬盘驱动器、光盘、磁盘)或卡(例如,磁卡、光学卡)或者适用于存储信息的任何其他类型的媒体。
在一个实施例中,代码存储器118可包含文件形式的指令集以执行产生本文所述的一个或多个时序库的方法。指令集可以任何可接受的机器可读指令形式(包括源代码或各种适当的编程语言)来存储。可用于存储指令集的编程语言的一些实例包括但不限于:爪哇(Java)、C、C++、C#、皮东(Python)、目标(Objective)-C、视觉基础(Visual Basic)或.NET编程。在一些实施例中,包括编译器或解释器是为了将指令集转换成机器可执行代码以供处理器120执行。
在一些实施例中,经加密的软件更新信息是在输入/输出接口122处接收到且在被进一步传送到解密器116以供解密之前存储在代码存储器118中。在一些实施例中,由解密器116解密的软件更新信息在进一步由选择器128进行选择并由指令解码器130解码之前被传送到并暂时存储在缓冲器126中。
在一些实施例中,选择器128可包括多路复用器。在一些实施例中,选择器128用于从区块选择指令。选择器128用于确保密码块大小与机器指令宽度之间的宽度匹配。如上所述,区块密码的大小可为128位、192位或256位,而机器指令宽度可为8位、16位或32位。在一些实施例中,当利用分支时,新的目标位置可不位于更大密码块的精确边界处。在此种情况下,包含目标指令的整个密码块被获取到具有密文块大小的缓冲器126中。在对密码块进行解密之后加载期望的指令。图2示出根据本揭露一些实施例的器件102的PUF产生器200的示例性方块图。应注意,PUF产生器200仅为实例,且并非旨在限制本揭露。因此,应理解,额外的功能区块可添加在图2所示PUF产生器200中或耦合到图2所示PUF产生器200,且本文中可仅简要地阐述另一些功能区块。在图2所示实施例中,PUF产生器200包括PUF单元阵列202、耦合到PUF单元阵列202中的多个位单元(图中未示出)的行解码器204及列解码器206。在所示实施例中,PUF产生器200还包括感测放大器208、输入/输出(I/O)电路210、PUF控制电路212及时序控制电路214。所有这些组件可彼此耦合且还耦合到PUF控制电路212及时序控制电路214。
PUF单元阵列202包括多个位单元,所述多个位单元是按照其中每一列均具有位线(bit line,BL)及互补位线(bit line bar,BLB)且每一行均具有字线(word line,WL)的列-行构型进行排列。此外,每一列还包括供应电压(即,供电电压(VDD))及地电位(即,参考/接地电压线(GND))。更具体来说,每一列的位线、互补位线、VDD及GND分别耦合到设置在这一列中的多个位单元,且这一列中的每一位单元排列在不同的行上并耦合到各自(不同)的字线。即,PUF单元阵列202的每一位单元耦合到PUF单元阵列202的列的位线、PUF单元阵列202的列的互补位线、PUF单元阵列202的列的VDD、PUF单元阵列202的列的GND、PUF单元阵列202的行的字线。在一些实施例中,位线、互补位线、VDD及GND在垂直方向平行排列,且字线在水平方向上(即,垂直于位线及互补位线)平行排列。根据本揭露的一些实施例,PUF单元阵列202的所述多个位单元可被实现为各种类型的存储器单元中的任一者,例如(举例来说)2晶体管-2电阻器(2transistors-2resistors,2T-2R)静态随机存取存储器(SRAM)位单元、4T-SRAM位单元、8T-SRAM位单元、14T-SRAM、动态随机存取存储器(DRAM)位单元等。以下将参照图3进一步详细地提供PUF单元阵列202的所示实施例。
行解码器204被配置成接收PUF单元阵列202的行地址,且对在所述行地址处的字线进行使能。在一些实施例中,列解码器206可为可选的。列解码器206被配置成接收PUF单元阵列202的列地址,且对在所述列地址处的位线和/或互补位线进行使能。感测放大器208及输入/输出电路210被配置成存取PUF单元阵列202中的所述多个位单元中的每一者处的逻辑状态(即,逻辑“1”或逻辑“0”)。在一些实施例中,PUF单元阵列202中的所述多个位单元中的每一者的逻辑状态可由输入/输出电路210写入到位单元或从位单元进行读取。在一些实施例中,如果在所述多个位单元中包括位内自感测元件(in-bit self-sensingelement),则PUF产生器200不需要感测放大器208。
在一些实施例中,此种输入/输出电路210可直接耦合到PUF控制电路212。PUF控制电路212被配置成经由输入/输出电路210接收请求/询问(例如,接通耦合的PUF单元阵列202的请求、存取PUF单元阵列202的PUF响应的请求等)。在一些实施例中,PUF控制电路212被配置成基于PUF单元阵列202的位单元的逻辑状态经由输入/输出电路210传送PUF响应。PUF控制电路212还被配置成控制(例如,增大或减小)在每一位单元处施加的VDD和/或GND的电压电平,控制(例如,增大或减小)在每一字线处施加的电压电平。在一些实施例中,PUF控制电路212可对向至少一个所选择列及至少一个所选择行的电压供应进行使能。PUF控制电路212也可用于引入噪声以加快从PUF响应识别出并随后过滤出不提供恒定逻辑状态的不稳定位单元的识别过程。在一些实施例中,PUF控制电路212可控制位单元的逻辑状态的周期性读取,以对具有经翻转逻辑状态的位单元的总数进行计数。在一些替代实施例中,PUF控制电路212可被实现为不嵌入PUF单元阵列202中的单独的区块。在一些实施例中,PUF控制电路212可嵌入PUF单元阵列202中。在一些实施例中,时序控制电路214在读取过程及写入过程期间提供对脉冲信号的控制及同步化。在一些实施例中,PUF控制电路212及时序控制电路214可耦合到共数据总线以进行相互通信。
图3示出根据本揭露一些实施例的包括多个位单元301的PUF单元阵列202的示例性电路图。在一些实施例中,PUF单元阵列202包括多个位单元301-1、301-2、301-3、301-4、301-5、301-6、301-7、301-8以及直到301-9。尽管图中仅示出9个位单元,然而可在保持处于本揭露的范围内的同时在PUF单元阵列202中包括任何期望数目的位单元。如上所述,位单元301-1、301-2、301-3、301-4、301-5、301-6、301-7、301-8以及301-9是以列-行构型进行排列。更具体来说,在一些实施例中,PUF单元阵列202包括平行排列的位线(BL)302-1、302-2及302-3、平行排列的互补位线(BLB)303-1、303-2及303-3以及字线(WL)306-1、306-2及306-3。字线306是以与位线302及互补位线303正交的方式平行排列。在一些实施例中,PUF单元阵列202还包括位电压线(VDD)304-1、304-2及304-3以及零电压线(GND)305-1、305-2及305-3。因此,PUF单元阵列202可包括第一多个列(例如,在垂直方向上排列)、第二多个行(例如,在水平方向上排列),其中每一列包括各自的一对位线302、互补位线303、VDD 304、GND 305,且每一行包括各自的字线306。
举例来说,如图3所示实施例所示,PUF单元阵列202包括列“A”、“B”及“C”以及行“a”、“b”及“c”,其中列A包括各自的位线302-1、互补位线303-1、VDD 304-1及GND 305-1;列B包括各自的位线302-2、互补位线303-2、VDD 304-2及GND 305-2;列C包括各自的位线302-3、互补位线303-3、VDD 304-3及GND 305-3;行a包括各自的字线306-1;行b包括各自的字线306-2;且行c包括各自的字线306-3。
此外,每一列包括分别耦合到所述列各自的位线、互补位线、VDD、GND及不同的单独字线的一个或多个位单元301。举例来说,列A包括位单元301-1、301-4及301-7,其中位单元301-1、301-4及301-7各自分别耦合到位线302-1、互补位线302-1、VDD 304-1、GND 305-1、字线306-1、306-2及306-3;列B包括位单元301-2、301-5及301-8,其中位单元301-2、301-5及301-8各自分别耦合到位线302-2、互补位线303-2、VDD 304-2、GND 305-2、字线306-1、306-2及306-3;且列C包括位单元301-3、301-6及301-9,其中位单元301-3、301-6及301-9各自分别耦合到位线302-3、互补位线303-3、VDD 304-3、GND 305-3、字线306-1、306-2及306-3。应注意PUF单元阵列202仅为实例,并非旨在进行限制。因此,可依据在PUF单元阵列202中所使用的位单元301及PUF产生技术的类型而在图3所示PUF单元阵列202中使用额外的或不同的信号线。此外,信号线(即,所示实施例中的位线302、互补位线302、VDD 304、GND 305及字线306)可根据处于本揭露的范围内的制作技术及电路布局以不同方式来排列。
在另一些实施例中,PUF单元阵列202可为静态随机存取存储器(SRAM)PUF、动态随机存取存储器(DRAM)PUF、蝴蝶PUF、双稳态环形PUF、数字PUF、磁性PUF、金属系PUF、量子限制PUF、通孔孔洞(via-hole,VIA)PUF、光子PUF等。在一些实施例中,PUF单元阵列202的每一位单元301(例如,301-1、301-2、301-3、301-4、301-5、301-6、301-7、301-8、301-9等)可包括多个晶体管(例如,对于6T-SRAM位单元来说为六个金属氧化物半导体场效应晶体管(Metal-Oxide-Semiconductor Field Effect Transistor,MOSFET),对于8T-SRAM位单元来说为八个MOSFET,对于3T-DRAM位单元来说为三个MOSFET、对于12T-SRAM位单元来说为十二个MOSFET等)。在一些实施例中,可通过经由对应的位线、互补位线及字线施加高状态(即,逻辑“1”)或低状态(即,逻辑“0”)将存储在每一位单元中的逻辑状态写入位单元。在一些实施例中,可因位单元301中的固有差异而从亚稳逻辑状态稳定之后实现位单元的稳定逻辑状态。
图4A示出根据本揭露一些实施例的使用从器件102接收的PUF响应对软件更新信息进行加密的服务器104的加密器400的示例性方块图。应注意,加密器400仅为实例,且并非旨在限制本揭露。因此,应理解,额外的功能区块可设置在图4A所示加密器400中或耦合到图4A所示加密器400,且本文中可仅简要地阐述另一些功能区块。
在所示实施例中,服务器104的加密器400包括线性反馈移位寄存器(LFSR)402及逐位异或(XOR)电路404。在一些实施例中,LFSR 402为输入位是其前一状态的线性函数的移位寄存器。在一些实施例中,LFSR 402是4位LFSR或4级LFSR,且还包括寄存器及异或门(图中未示出)。在一些实施例中,逐位异或电路404呈现出相等长度的两个位图案,且对每对对应的位执行逻辑异或操作。在一些实施例中,逐位异或电路404用于对从LFSR选择的位进行反相。在一些实施例中,逐位异或电路404包括一异或门行,其中每一位对应异或门行的每一异或门的两个输入向量以及所述两个输入。
在操作期间,使用PUF响应作为种子以开始LFSR过程。对于软件更新信息的每一数据位,使用从LFSR输出到异或的相同数目的位。对LFSR加载以初始值并对于软件更新信息的每一数据位每次向左移位一个位。
图4B示出根据本揭露一些实施例的使用PUF响应对软件更新进行解密的器件102的解密器410的示例性方块图。应注意,解密器410仅为实例,且并非旨在限制本揭露。因此,应理解,额外的功能区块可设置在图4B所示解密器410中或耦合到图4B所示解密器410,且本文中可仅简要地阐述另一些功能区块。
在所示实施例中,解密器410包括线性反馈移位寄存器(LFSR)402及逐位异或(XOR)电路404。在一些实施例中,LFSR 402为输入位是其前一状态的线性函数的移位寄存器。在一些实施例中,LFSR 402为n位LFSR或n级LFSR,且还包括n个寄存器及多个异或门。在一些实施例中,逐位异或电路404呈现出相等长度的两个位图案,且对每对对应的位执行逻辑异或操作。在一些实施例中,逐位异或用于对从LFSR选择的位进行反相。在一些实施例中,逐位异或电路404包括2个输入异或门的集。各别异或门的输入是2个输入位向量的对应的位。
在操作期间,使用PUF响应作为种子以开始LFSR过程。对于经加密的软件更新信息的每一数据位,使用从LFSR输出到异或的相同数目的位。对LFSR加载以初始值并对于经加密的软件更新信息的每一数据位每次移位一个位。
图4C示出根据本揭露一些实施例的4位线性反馈移位寄存器(LFSR)的实例。
图5示出根据本揭露一些实施例的一种使用器件102的PUF响应保证从服务器104到器件102的软件更新信息的安全并共享安全的软件更新信息的方法500的流程图。应注意,方法500仅为实例且并非旨在限制本揭露。因此,应理解,可在图5所示方法500之前、期间及之后提供额外的操作,且本文中可仅简要地阐述另一些操作。在一些实施例中,方法500的操作可与图1到图4所示的器件102、PUF产生器200、加密器400及解密器410的方块图相关联,下文将对此进行进一步详细地论述。
方法500是从操作502A、502B开始,在操作502A、502B中根据一些实施例产生PUF信息。在一些实施例中,PUF信息包括PUF响应R及辅助数据H,其中PUF响应R是由PUF产生器200的PUF单元阵列202产生,其是由PUF控制电路212及时序控制电路214根据在PUF单元阵列202中所使用的位单元302及PUF技术的类型来控制。举例来说,PUF单元阵列202中的所述多个位单元301各自可为包括具有两个内部存储节点的交叉耦合反相器的SRAM位单元,其中所述两个内部存储节点初始被配置成具有实质上相同的电压电平。一旦启用交叉耦合反相器,则所述多个位单元301中的每一者的所述两个存储节点上的电压电平且因此逻辑状态便得以稳定并用作独特的PUF响应。作为另一实例,PUF单元阵列202的所述多个位单元301各自包括具有至少一个存储节点的DRAM位单元,所述至少一个存储节点被预先充以电压电平。存储在所述至少一个存储节点上的电荷因相关联的晶体管中的漏电流而变化,从而造成其状态翻转。每一位单元301翻转其逻辑状态所花费的总时间是变化的,且然后可使用PUF单元阵列202中的所述多个位单元301在某一时间的逻辑状态作为独特的PUF响应。这些仅为实例,且并非旨在限制本揭露。应注意,可使用基于各种类型的技术的各种类型的位单元,且基于各种类型的技术的各种类型的位单元处于本揭露的范围内。
包括PUF响应R及辅助数据H的PUF信息分别是从器件102的PUF产生器108及辅助数据产生器106产生。具体来说,第一器件102A产生第一PUF信息(R1||H1),且第二器件102B产生第二PUF信息(R2||H2)。在一些实施例中,接着将器件102的PUF信息经由PUF产生器200的输入/输出电路210传送到PUF恢复电路112(例如,ECC电路),其中正常的PUF输出是从损坏的PUF输出来恢复,且所述PUF信息被进一步传送到加密器114进行加密。
方法500继续进行操作504,在操作504中将公共密钥(Pk)从服务器104传送到器件102。在一些实施例中,公共密钥(Pk)是通过安全的通信124经由器件102的对应的输入/输出接口122在器件102上接收到。在一些实施例中,公共密钥(Pk)是由服务器104预先产生的。进一步将公共密钥(Pk)传送到器件102的加密器114以对对应的PUF信息进行加密。
方法500继续到操作506A、506B,在操作506A、506B中使用公共密钥对PUF信息进行加密。在一些实施例中,此种加密是由对应的器件102的加密器114来执行。在一些实施例中,加密器114是非对称加密器。在另一些实施例中,加密器114是对称加密器。在一些实施例中,非对称加密器可包括处理器及控制逻辑电路(二者均未在图1中示出)以对因应于在非对称加密器处经由输入/输出接口122从服务器104接收的请求将被传送到服务器104的PUF信息进行加密。在一些实施例中,非对称加密器的处理器可从服务器104接收的多个公共密钥中选择一个公共密钥Pk对PUF信息进行加密。在某些实施例中,服务器104为网络内的每一器件102选择相同的公共密钥。在某些实施例中,服务器104可从多个公共密钥选择不同的公共密钥并将独特的公共密钥指派给不同的器件。使用多个公共密钥的这种机制可对PUF信息提供额外的安全,这是因为未经授权的服务器不能确定使用哪一公共密钥对PUF信息进行加密。在一些实施例中,器件102可改变由PUF产生器200产生的PUF信息R||H,PUF信息R||H用于对软件更新信息进行周期性地加密。
在一些实施例中,可在非对称加密器中使用加密引擎的位串行版本以减少开销。在一些实施例中,PUF信息的加密涉及利用指数函数的模量。应注意,此仅为实例,可使用非对称加密器中的任何类型的加密算法为从其接收到请求的服务器产生经加密的PUF信息E(Pk,R||H),且所述任何类型的加密算法处于本揭露的范围内。在所示实施例中,器件102A/102B使用相同的公共密钥(Pk)对PUF信息进行加密。具体来说,器件102A产生经加密的PUF信息E(Pk,R1||H1),且器件102B产生经加密的PUF信息E(Pk,R2||H2)。在一些实施例中,加密器114可包括线性反馈移位寄存器(LFSR)及逐位异或(XOR)电路。
方法500继续到操作508A、508B,在操作508A、508B中根据一些实施例,将经加密的PUF信息E(Pk,R||H)从器件102传送到服务器104以对PUF信息进行解密。在一些实施例中,将经加密的PUF信息E(Pk,R||H)经由耦合到加密器114的输入/输出接口122传送到服务器104,输入/输出接口122用于从服务器104接收公共密钥(Pk)并用于将经加密的PUF信息E(Pk,R||H)传送到服务器104。在另一些实施例中,器件102对与所有询问对应的所有响应进行加密并将所有响应传送到服务器104,使得网络的每一器件102的询问/响应对存储在服务器104中。具体来说,第一器件102A将经加密的PUF信息E(Pk,R1||H1)传送到服务器104,且第二器件102B将经加密的PUF信息E(Pk,R2||H2)传送到服务器104。
方法500继续到操作510,在操作510中根据一些实施例,由服务器104使用公共密钥(Pk)对经加密的PUF信息E(Pk,R||H)进行解密以获得对应的PUF信息。在一些实施例中,服务器104还包括解密器以使用预先产生的公共密钥(Pk)对经加密的PUF信息进行解密。在一些实施例中,服务器104的解密器可为包含以下非对称密钥加密算法中的一种的非对称加密器,所述非对称密钥加密算法例如(举例来说)为李维斯特-沙米尔-艾德曼(Rivest-Shamir-Adleman,RSA)、数字签名算法(Digital Signature Algorithm,DSA)、椭圆曲线密码学(Elliptic Curve Cryptography,ECC)、厄格玛尔算法(ElGamal algarithm)等。在一些实施例中,非对称加密器使用私用密钥(Sk),私用密钥(Sk)与公共密钥(Pk)成对以进行解密。在一些实施例中,如果私用密钥(Sk)能够对经加密的PUF信息E(Pk,R||H)进行解密,则可确定出包含PUF签名R及辅助数据H的PUF信息。在另一些实施例中,如果未经授权的服务器使用不与公共密钥(Pk)成对的私用密钥(Sk)对经加密的PUF信息E(Pk,R||H)进行解密,则无法获得包含PUF签名R及辅助数据H的PUF信息。本揭露中的此种方法防止任何未经授权的服务器从器件102获得PUF信息,PUF信息随后是以安全的通信来使用。在另一些实施例中,服务器104包括对称解密器,所述对称解密器使用相同的公共密钥(Pk)对包含PUF响应R及辅助数据H的PUF信息进行解密。在一些实施例中,服务器104根据不同的对应的询问获得器件104的多个PUF响应。在一些实施例中,服务器104可利用软件来实现解密目的。具体来说,来自第一器件102A的R1||H1及来自第二器件102B的R2||H2可由服务器104获得。在由服务器104对PUF信息成功解密时,在服务器104与器件102之间建立安全的通信及验证。
方法500继续到操作512,在操作512中,根据一些实施例,进一步创建经加密的软件更新信息E(R,SW)。在一些实施例中,服务器104使用接收到存储在其存储器单元中的PUF信息的PUF响应R及软件更新信息的加密器对软件更新信息(SW)进行加密,以产生经加密的软件更新信息E(R,SW)。在一些实施例中,服务器104从器件102的多个响应选择PUF响应R中的一者以对软件更新信息SW进行加密。具体来说,服务器104使用第一器件102A的PUF响应R1产生第一经加密的软件更新信息E(R1,SW1),并使用第二器件102B的PUF响应R2产生第二经加密的软件更新信息E(R2,SW2)。在一些实施例中,此过程是由软件或服务器104上的对应的硬件电路来执行。
方法500继续到操作514A、514B,在操作514A、514B中,将经加密的软件更新信息E(R,SW)及对应的询问C传送到对应的器件102。在某些实施例中,当服务器104从器件102的多个响应选择响应R以对软件更新信息进行加密时,服务器104还将对应的询问C与经加密的软件更新信息E(R,SW)||C一起传送回器件102。具体来说,器件102A从服务器104接收经加密的软件信息E(R1,SW1)||C1,且器件102B从服务器104接收经加密的软件信息E(R2,SW2)||C2。在另一些实施例中,服务器104还将经加密的软件更新信息E(R,SW)与相关联的辅助数据H一起、即E(R,SW)||H传送到器件102。具体来说,器件102A接收经加密的软件信息E(R1,SW1)||H1,且器件102B接收经加密的软件信息E(R2,SW2)||H2。
方法500继续进行操作516A、516B,在操作516A、516B中,由器件102根据从服务器104接收的对应的询问C获得响应R。在一些实施例中,器件102的PUF产生器200可产生与多个询问输入对应的多个PUF响应输出。接着将与用于对软件更新信息进行加密的PUF响应对应的询问C从服务器104传送回器件102。器件102还使用询问C来获得对应的响应R,然后使用对应的响应R对经加密的软件更新信息SW进行解密。具体来说,第一器件102A使用其C1获得对应的R1,且第二器件102B使用C2获得对应的R2。在一些实施例中,器件102产生有噪声的PUF响应R*并使用所接收的E(R,SW)||H中的辅助数据H来移除R*中的噪声从而获得R。
方法500继续进行操作518A、518B,在操作518A、518B中,可获得软件更新信息SW。在一些实施例中,器件102还利用响应R对经加密的SW进行解密。在一些实施例中,这可使用解密器来执行。在一些实施例中,解密器116包括线性反馈移位寄存器(LFSR)及逐位异或电路。具体来说,通过使用分别从询问C1及询问C2获得的对应的响应R1及响应R2对经加密的SW进行解密,第一器件102A获得SW1,且器件102B获得SW2。
图6示出根据本揭露一些实施例的多个器件102以及对应器件的多个询问/响应对的表600。在表600中,列602示出一列表器件(即,器件1、器件2及器件k),列604示出一列表每一器件的询问,且其对应的响应示于列606中。举例来说,器件1可提供与多个询问(即,C1-1、C1-2、...)对应的多个响应(即,R1-1、R1-2、...);器件2可提供与多个询问(即,C2-1、C2-2、...)对应的多个响应(即,R2-1、R2-2、...);且器件k可提供与多个询问(即,Ck-1、Ck-2、...)对应的多个响应(即,Rk-1、Rk-2、...)。在一些实施例中,器件中的每一者可包括相同数目的询问/响应对。在另一些实施例中,所述多个器件各自可包括不同数目的询问/响应对。
在一些实施例中,在从器件102接收到经加密的PUF信息并对经加密的PUF信息进行解密时,表600可存储在服务器104的存储器单元中。在一些实施例中,表600然后由服务器104用来选择每一器件的一个询问/响应对,以对对应器件的软件更新信息进行加密。在一些实施例中,器件可包括仅1个询问/响应对。
在一实施例中,一种从服务器接收安全的软件更新信息的器件,所述器件包括:物理不可克隆功能(PUF)信息产生器,包括物理不可克隆功能单元阵列,被配置成产生物理不可克隆功能信息,其中所述物理不可克隆功能信息包括至少一个物理不可克隆功能响应输出,其中所述至少一个物理不可克隆功能响应输出用于对所述服务器上的软件更新信息进行加密以产生经加密的软件更新信息;第一加密器,被配置成使用来自服务器的至少一个公共密钥中的一者对来自物理不可克隆功能信息产生器的物理不可克隆功能信息进行加密,以产生经加密的物理不可克隆功能信息;以及第二加密器,被配置成使用所述至少一个物理不可克隆功能响应输出中的一者对经加密的软件更新信息进行解密,以获得软件更新信息。
在一实施例中,所述物理不可克隆功能单元阵列包括多个位单元,其中所述多个位单元被配置成基于所述多个位单元的逻辑状态在对应的询问输入处生成所述至少一个物理不可克隆功能响应输出。
在一实施例中,所述物理不可克隆功能信息还包括所述至少一个物理不可克隆功能响应输出的对应的至少一个询问输入
在一实施例中,至少一个经加密的物理不可克隆功能响应输出还被传送到所述服务器,其中所述服务器的第三加密器用于对所述至少一个经加密的物理不可克隆功能响应输出进行解密以获得所述至少一个物理不可克隆功能响应输出。
在一实施例中,所述第一加密器及所述第二加密器各自包括线性反馈移位寄存器及逐位异或电路。
在一实施例中,所述至少一个公共密钥是预先产生的并被存储在所述服务器上。
在一实施例中,所述器件还包括辅助数据产生器、存储器、输入/输出接口以及处理器。辅助数据产生器被配置成移除所述至少一个物理不可克隆功能响应输出中的噪声。存储器被配置成存储所述经加密的软件更新信息以供执行。输入/输出接口被配置成从所述服务器接收所述至少一个公共密钥、所述经加密的软件更新信息及与用于对所述软件更新信息进行加密的所述至少一个物理不可克隆功能响应输出对应的所述对应的询问输入;以及从所述器件传送所述至少一个经加密的物理不可克隆功能响应输出。处理器被配置成执行存储在所述存储器中的所述软件更新信息。
在一实施例中,一种保证来自服务器的软件更新信息的安全的方法包括:使用器件上的物理不可克隆功能(PUF)信息产生器产生物理不可克隆功能信息,其中所述物理不可克隆功能信息包括至少一个物理不可克隆功能响应输出及至少一个对应的询问输入;使用所述器件上的第一加密器来确定至少一个经加密的物理不可克隆功能响应输出,其中所述至少一个经加密的物理不可克隆功能响应输出是通过使用从所述服务器接收的至少一个公共密钥中的一者对所述至少一个物理不可克隆功能响应输出进行加密来确定的;将所述至少一个经加密的物理不可克隆功能响应输出传送到所述服务器,其中所述服务器上的第二加密器用于对所述至少一个物理不可克隆功能响应输出进行解密,其中所述至少一个物理不可克隆功能响应输出中的一者还用于对所述软件更新信息进行加密;以及接收所述器件上的经加密的所述软件更新信息及所述对应的询问输入,其中所述器件上的第三加密器被配置成使用对应的所述物理不可克隆功能响应输出对经加密的所述软件更新信息进行解密以获得所述软件更新信息。
在一实施例中,所述的方法还包括:从所述服务器接收所述至少一个公共密钥;以及根据从所述服务器接收的所述询问输入连同经加密的所述软件更新信息来确定对应的所述物理不可克隆功能响应输出。
在一实施例中,所述至少一个物理不可克隆功能响应输出是使用物理不可克隆功能单元阵列来产生的,其中所述物理不可克隆功能单元阵列包括多个位单元。
在一实施例中,所述多个位单元被配置成根据所述多个位单元的对应的逻辑状态来生成所述至少一个物理不可克隆功能响应输出。
在一实施例中,所述物理不可克隆功能信息还包括来自所述器件上的辅助数据产生器的辅助数据,其中所述辅助数据被配置成移除所述至少一个物理不可克隆功能响应输出中的噪声。
在一实施例中,所述至少一个公共密钥是预先产生的并被存储在所述服务器上。
在一实施例中,所述的方法还包括:将所述软件更新信息存储在所述器件上的存储单元上;以及使用处理器执行所述软件更新信息。
在一实施例中,一种共享安全的软件更新信息的系统,所述系统包括:至少一个器件,其中所述至少一个器件各自包括:物理不可克隆功能单元阵列,被配置成在对应的至少一个询问输入处产生至少一个物理不可克隆功能响应输出;第一加密器,被配置成使用至少一个公共密钥中的一者对所述至少一个物理不可克隆功能响应输出进行加密;以及第二加密器,被配置成对经加密的软件更新信息进行解密;服务器,包括第三加密器,其中所述第三加密器被配置成从经加密的所述至少一个物理不可克隆功能响应输出中解密出所述至少一个物理不可克隆功能响应输出;以及输入/输出(I/O)接口,位于所述至少一个器件中的每一者与所述服务器之间,且被配置成传送来自所述服务器的所述至少一个公共密钥、所述经加密的软件更新信息及与用于对所述软件更新信息进行加密的所述至少一个物理不可克隆功能响应输出中的一者对应的所述对应的询问输入;以及从所述器件接收至少一个经加密的物理不可克隆功能响应输出。
在一实施例中,所述物理不可克隆功能单元阵列包括多个位单元,所述多个位单元被配置成根据所述多个位单元的对应的逻辑状态生成所述至少一个物理不可克隆功能响应输出。
在一实施例中,所述至少一个器件中的每一者还包括辅助数据产生器,其中所述辅助数据产生器被配置成产生辅助数据以移除所述至少一个物理不可克隆功能响应输出中的噪声。
在一实施例中,所述的系统还包括处理器。处理器被配置成执行存储在存储器中的所述软件更新信息,其中所述存储器被配置成存储经解密的所述软件更新信息以供执行。
在一实施例中,所述第一加密器及所述第二加密器各自包括线性反馈移位寄存器及逐位异或电路。
在一实施例中,所述至少一个公共密钥是预先产生的且存储在所述服务器上。
以上概述了若干实施例的特征,以使所属领域中的一般技术人员可更好地理解本揭露的各个方面。所属领域中的技术人员应理解,其可容易地使用本揭露作为设计或修改其他过程及结构的基础来施行与本文中所介绍的实施例相同的目的和/或实现与本文中所介绍的实施例相同的优点。所属领域中的技术人员还应认识到,这些等效构造并不背离本揭露的精神及范围,而且他们可在不背离本揭露的精神及范围的条件下对其作出各种改变、代替及变更。
尽管已根据示例性实施例阐述了本揭露,然而本揭露并非仅限于此。更确切来说,随附权利要求书应在广义上被理解为包括本揭露的其他变体及实施例,在不背离本揭露的等效形式的范围的条件下,所属领域中的一般技术人员可作出所述其他变体及实施例。

Claims (1)

1.一种从服务器接收安全的软件更新信息的器件,其特征在于,所述器件包括:
物理不可克隆功能信息产生器,包括物理不可克隆功能单元阵列,被配置成产生物理不可克隆功能信息,其中所述物理不可克隆功能信息包括至少一个物理不可克隆功能响应输出,其中所述至少一个物理不可克隆功能响应输出用于对所述服务器上的所述软件更新信息进行加密以产生经加密的软件更新信息;
第一加密器,被配置成使用来自所述服务器的至少一个公共密钥中的一者对来自所述物理不可克隆功能信息产生器的所述物理不可克隆功能信息进行加密,以产生经加密的物理不可克隆功能信息;以及
第二加密器,被配置成使用所述至少一个物理不可克隆功能响应输出中的一者对所述经加密的软件更新信息进行解密,以获得所述软件更新信息。
CN201811215097.2A 2018-08-13 2018-10-18 从服务器接收安全的软件更新信息的器件 Pending CN110830258A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/101,969 2018-08-13
US16/101,969 US10855478B2 (en) 2018-08-13 2018-08-13 Method and apparatus for protecting embedded software

Publications (1)

Publication Number Publication Date
CN110830258A true CN110830258A (zh) 2020-02-21

Family

ID=69406509

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811215097.2A Pending CN110830258A (zh) 2018-08-13 2018-10-18 从服务器接收安全的软件更新信息的器件

Country Status (3)

Country Link
US (3) US10855478B2 (zh)
CN (1) CN110830258A (zh)
TW (1) TW202009775A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522615A (zh) * 2020-04-23 2020-08-11 平安国际智慧城市科技股份有限公司 命令行界面的更新方法、装置、设备及存储介质

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11050574B2 (en) * 2017-11-29 2021-06-29 Taiwan Semiconductor Manufacturing Company, Ltd. Authentication based on physically unclonable functions
US10958453B2 (en) * 2018-07-03 2021-03-23 Taiwan Semiconductor Manufacturing Co., Ltd. Method and apparatus for noise injection for PUF generator characterization
US11271759B2 (en) * 2018-09-05 2022-03-08 Arizona Board Of Regents On Behalf Of Northern Arizona University Secure digital signatures using physical unclonable function devices with reduced error rates
US11303462B2 (en) * 2018-11-19 2022-04-12 Arizona Board Of Regents On Behalf Of Northern Arizona University Unequally powered cryptography using physical unclonable functions
US11245680B2 (en) * 2019-03-01 2022-02-08 Analog Devices, Inc. Garbled circuit for device authentication
US11283633B2 (en) * 2019-03-13 2022-03-22 Arizona Board Of Regents On Behalf Of Northern Arizona University PUF-based key generation for cryptographic schemes
US11496326B2 (en) * 2019-03-13 2022-11-08 Arizona Board Of Regents On Behalf Of Northern Arizona University Physical unclonable function-based encryption schemes with combination of hashing methods
US11736305B2 (en) * 2020-04-03 2023-08-22 Arizona Board Of Regents On Behalf Of Northern Arizona University Fast cryptographic key generation from memristor-based physical unclonable computed functions
CN113765950B (zh) * 2020-06-02 2023-11-14 富泰华工业(深圳)有限公司 物联网设备、服务器及软件更新方法
US20210409233A1 (en) * 2020-06-26 2021-12-30 Taiwan Semiconductor Manufacturing Company Ltd. Puf method and structure
CN112272084B (zh) * 2020-09-27 2023-04-07 广东工业大学 抗攻击和自检特性的基于复合型puf的密钥生成系统及方法
US20220278856A1 (en) * 2021-03-01 2022-09-01 University Of South Florida 3d printed physically unclonable wireless systems (puws)
US12118091B2 (en) * 2022-02-11 2024-10-15 Quanta Computer Inc. Methods for securely updating software
US20230344624A1 (en) * 2022-04-20 2023-10-26 Micron Technology, Inc. Physical unclonable function failure protection and prediction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2423448B (en) * 2005-02-18 2007-01-10 Ericsson Telefon Ab L M Host identity protocol method and apparatus
US8762723B2 (en) * 2011-07-07 2014-06-24 Verayo, Inc. Cryptographic security using fuzzy credentials for device and server communications
WO2018141378A1 (en) * 2017-02-01 2018-08-09 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for protecting data
US10591975B2 (en) * 2017-10-30 2020-03-17 Qualcomm Incorporated Memory access management for low-power use cases of a system on chip via secure non-volatile random access memory
JP6752247B2 (ja) * 2018-03-09 2020-09-09 三菱重工業株式会社 情報配信装置、配信対象装置、情報配信システム、情報配信方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111522615A (zh) * 2020-04-23 2020-08-11 平安国际智慧城市科技股份有限公司 命令行界面的更新方法、装置、设备及存储介质
CN111522615B (zh) * 2020-04-23 2023-08-15 深圳赛安特技术服务有限公司 命令行界面的更新方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US11516027B2 (en) 2022-11-29
US20230049649A1 (en) 2023-02-16
TW202009775A (zh) 2020-03-01
US20200052912A1 (en) 2020-02-13
US11856116B2 (en) 2023-12-26
US10855478B2 (en) 2020-12-01
US20210111908A1 (en) 2021-04-15

Similar Documents

Publication Publication Date Title
US11856116B2 (en) Method and apparatus for protecting embedded software
US9847872B2 (en) Memory integrity
CN105940439B (zh) 使用排列应对对密码算法的旁通道攻击的对策
US9503256B2 (en) SMS4 acceleration hardware
KR102447476B1 (ko) 암복호 장치, 그것을 포함하는 저장 장치 및 그것의 암복호 방법
JP2022541057A (ja) 暗号置換のための暗号アーキテクチャ
US9760737B2 (en) Techniques for integrated circuit data path confidentiality and extensions thereof
US9418246B2 (en) Decryption systems and related methods for on-the-fly decryption within integrated circuits
US8428251B2 (en) System and method for stream/block cipher with internal random states
US11316835B2 (en) Systems and methods for securing communications
US20160366109A1 (en) Method and Apparatus for Validating a Transaction between a Plurality of Machines
US20200322127A1 (en) Dynamic masking
JP6533553B2 (ja) 暗号化/復号装置及びその電力解析保護方法
US20180054301A1 (en) Method and device for data encryption
US11763867B2 (en) PUF applications in memories
US20210004495A1 (en) Method and apparatus for encrypting and decrypting data on an integrated circuit
Paar et al. Stream ciphers
US11050575B2 (en) Entanglement and recall system using physically unclonable function technology
US20120321079A1 (en) System and method for generating round keys
CN116628776A (zh) 存储器装置以及存储器芯片的存储器阵列信息的读取方法
US20240020383A1 (en) Method and circuit for protecting an electronic device from a side-channel attack
CN115017554A (zh) 存储装置和存储装置的操作方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200221