CN111512593B - 半导体设备、提供更新数据的方法、接收更新数据的方法以及介质 - Google Patents

半导体设备、提供更新数据的方法、接收更新数据的方法以及介质 Download PDF

Info

Publication number
CN111512593B
CN111512593B CN201880082807.0A CN201880082807A CN111512593B CN 111512593 B CN111512593 B CN 111512593B CN 201880082807 A CN201880082807 A CN 201880082807A CN 111512593 B CN111512593 B CN 111512593B
Authority
CN
China
Prior art keywords
random number
number signal
signal
response
control circuit
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
Application number
CN201880082807.0A
Other languages
English (en)
Other versions
CN111512593A (zh
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.)
Mitsubishi Electric Corp
Renesas Electronics Corp
Original Assignee
Mitsubishi Electric Corp
Renesas Electronics Corp
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 Mitsubishi Electric Corp, Renesas Electronics Corp filed Critical Mitsubishi Electric Corp
Publication of CN111512593A publication Critical patent/CN111512593A/zh
Application granted granted Critical
Publication of CN111512593B publication Critical patent/CN111512593B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • 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
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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
    • 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/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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

Landscapes

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

Abstract

一种半导体设备包括存储器(132)、随机数生成电路(135)和控制电路(131)。存储器(132)存储密钥信息,并且随机数生成电路(135)生成第一和第二随机数信号。控制电路(131)根据第一随机数信号和密钥信息生成第六和第七随机数信号,使用用于更新数据的第七随机数信号来生成加密后的更新数据,生成第一随机数信号和第二随机数信号作为待被发送到外部终端设备的请求信号,从外部设备接收第一和第二响应信号作为响应于请求信号的响应信号,并且通过使用第一响应信号、第二随机数信号和第六随机数信号作为输入信号来生成第八随机数信号。当第二响应信号与第八随机数信号彼此匹配时,控制电路(131)为外部终端设备提供加密后的更新数据。

Description

半导体设备、提供更新数据的方法、接收更新数据的方法以及 介质
技术领域
本公开涉及一种半导体设备、提供更新数据的方法、接收更新数据的方法以及程序。
背景技术
物联网(IoT)设备已经普及。因此,预期固件将在确保高级别安全性的状态下,在半导体设备(诸如包括在这些IoT设备中的微型计算机)中被更新。
专利文献1中公开的外部设备存储包括更新控制程序的更新数据、以及实现以下各项的程序:用于计算与更新控制程序有关的摘要值的方法、用于确定更新之后操作是否正常的方法、以及用于将确定结果作为响应进行传输的方法。然后,控制装置经由中继设备接收从外部设备传输的更新数据。此外,控制装置通过接收到的更新数据中所包括的更新控制程序来更新控制程序,执行该程序并确定更新之后操作是否正常,并将确定结果发送回中继设备。
专利文献2中公开的电子设备包括关于应用软件的操作的应用文件,并且经由网络来更新应用文件。该电子设备存储由一个或多个数据片形成的应用文件,并且经由网络从外部装置接收更新数据和指示更新数据在应用文件中被更新的位置的位置信息。此外,电子设备将在该位置信息所指示的位置处存在的数据重写为更新数据,仅更新应用程序文件的一部分,并且检查更新后的应用文件是否已被篡改。
专利文献3中公开的程序重写系统在多协议兼容的车载中继设备中获取新程序与旧程序之间的差异数据,将新程序中的差异数据传输给ECU,并存储该差异数据。
专利文献4中公开的嵌入式装置针对区段中的每个区段依次执行认证处理,在每个区段中,用于更新软件的更新数据被划分为多个部分。嵌入式装置存储在认证处理期间获得的中间值。在对所有区段执行的认证处理完成之后,嵌入式装置将在认证处理中获得的值与认证数据进行比较,并确认数据未被篡改。在确认数据未被篡改之后,嵌入式装置再次对每个区段依次执行认证处理。嵌入式装置将在认证处理中获得的中间值与先前所存储的中间值进行比较。当获得的中间值和先前所存储的中间值彼此一致时,更新软件。
引文列表
专利文献
[专利文献1]日本未审查的专利申请公开号2015-103163
[专利文献2]国际专利公开号WO 2006/129654
[专利文献3]日本未审查的专利申请公开号2014-182571
[专利文献4]国际专利公开号WO 2015/068220
发明内容
技术问题
在专利文献1所公开的技术中,要求中继设备能够对更新数据执行电子签名操作。此外,由于在专利文献1中没有对更新数据进行加密,所以不能确保更新数据的机密性。此外,虽然专利文献2所公开的技术执行部分认证,但是它没有执行彻底的认证。因此,对每个块执行篡改检测的管理,这可能导致所存储的数据量增加。此外,根据专利文献3所公开的技术,中继设备需要执行更新数据的电子签名和解密操作。因此,虽然有必要向中继设备公开更新数据的内容,但是不能确保中继设备与ECU之间的通信的安全性。此外,专利文献4所公开的技术需要在相应区段中存储中间值,这可能导致存储的数据量增加。此外,由于需要对每个区段执行两次认证处理,因此计算可能会花费一些时间。此外,上述专利文献均未提出用于确认与待被更新的合法设备的通信正在被执行的方法。
根据对说明书和附图的描述,其他问题和新颖特性将变得明显。
问题的解决方案
根据一个实施例,半导体设备包括存储器、随机数生成电路和控制电路,并且该半导体设备为外部终端设备提供更新数据。存储器存储密钥信息,并且随机数生成电路生成第一随机数信号和第二随机数信号。控制电路根据第一随机数信号和密钥信息生成第六随机数信号和第七随机数信号,并使用第七随机数信号根据更新数据生成加密后的更新数据。控制电路生成第一随机数信号和第二随机数信号作为待被传输到外部终端设备的请求信号,并且从外部终端设备接收第一响应信号和第二响应信号作为响应于请求信号的响应信号。控制电路使用第一响应信号、第二随机数信号和第六随机数信号作为输入信号,来生成第八随机数信号,并且当第二响应信号与第八随机数信号一致时,为外部终端设备提供加密后的更新数据。
根据一个实施例,半导体设备包括存储器和控制电路,并从外部服务器设备接收加密后的更新数据。存储器存储更新前的数据和密钥信息。控制电路从外部服务器设备接收作为请求信号的第一随机数信号和第二随机数信号,并根据第一随机数信号和密钥信息生成第六随机数信号和第七随机数信号。控制电路使用第二随机数信号和第六随机数信号作为输入信号,来生成第九随机数信号和第十随机数信号。此外,控制电路生成包括预定信号的挑战码,并向外部服务器设备输出第九随机数信号和挑战码作为响应于请求信号的响应信号。控制电路从外部服务器设备接收基于所输出的响应信号的认证信号和加密后的更新数据,并且当接收到的认证信号与第十随机数信号一致时,对加密后的更新数据执行解密处理。
发明的有益效果
根据实施例,半导体设备能够高效且安全地发送和接收更新程序并执行程序的更新。
附图说明
图1是根据第一实施例的传输/接收系统的示意图;
图2是根据第一实施例的第一半导体设备的硬件配置图;
图3是根据第一实施例的第二半导体设备的硬件配置图;
图4是根据第一实施例的第三半导体设备的硬件配置图;
图5是示出根据第一实施例的传输/接收系统的传输/接收信号的图;
图6是根据第一实施例的第一半导体设备110的功能框图;
图7是根据第一实施例的第三半导体设备的功能框图;
图8是根据第一实施例的第一半导体设备的功能框图;
图9是根据第一实施例的第三半导体设备的功能框图;
图10是根据第一实施例的修改示例的第三半导体设备的功能框图;
图11是根据第二实施例的传输/接收系统的硬件配置图;
图12是示出根据第二实施例的传输/接收系统的传输/接收信号的图;
图13是根据第二实施例的第三半导体设备的功能框图;
图14是根据第二实施例的第一半导体设备的功能框图;
图15是根据第二实施例的第三半导体设备的功能框图;
图16是第二实施例的第一半导体设备的功能框图;
图17是根据第三实施例的第二半导体设备的硬件配置图;
图18是示出根据第三实施例的传输/接收系统的传输/接收信号的图;
图19是根据第三实施例的第一半导体设备的功能框图;
图20是根据第三实施例的第二半导体设备的功能框图;以及
图21是根据第三实施例的第二半导体设备的功能框图。
具体实施方式
为了清楚说明,将适当省略和简化以下描述和附图。此外,在附图中被描述为执行各种处理的功能块的相应组件可以由CPU(中央处理单元)、存储器或其他电路在硬件方面进行配置,并且可以由加载到存储器等中的程序在软件方面进行实现。相应地,本领域的技术人员将理解,这些功能块可以仅通过硬件、仅通过软件或硬件和软件的组合以各种形式实现。这些功能块不限于它们中的任何一个。因此,在以下描述中,可以通过硬件或软件或其两者来实现被例示为电路的配置。被示为实现某种功能的电路的配置也可以表示为实现类似功能的软件的一部分。例如,被描述为控制电路的配置可以被描述为控制单元。顺便提及,在相应附图中,相同的组件由相同的附图标记表示,并且将根据需要省略重复描述。
此外,使用各种类型的非瞬态计算机可读介质来存储上述程序并且可以将其供应给计算机。非瞬态计算机可读介质包括各种类型的大量记录介质。非瞬态计算机可读介质的示例包括磁记录介质(例如软盘、磁带和硬盘驱动)、光磁记录介质(例如光学磁盘)、CD-ROM(只读存储器)、CD-R、CD-R/W和半导体存储器(例如掩模型ROM、PROM(可编程ROM)、EPROM(可擦除PROM)、闪速ROM、RAM(随机存取存储器))。此外,可以通过各种类型的瞬态计算机可读介质将程序供应给计算机。瞬态计算机可读介质的示例包括电信号、光信号和电磁波。瞬态计算机可读介质能够通过有线通信路径(诸如电线和光纤等)或无线通信路径向计算机供应程序。
<第一实施例>
首先参考图1,将描述第一实施例的概述。图1是根据第一实施例的传输/接收系统的示意图。传输/接收系统1是用于将终端设备13包括的更新前的数据更新为服务器设备11包括的更新数据的系统。传输/接收系统1对服务器设备11中的更新数据进行加密,并将加密后的更新数据(已被加密的更新数据)传输给终端设备13。终端设备13对加密后的更新数据进行解密并更新数据。传输/接收系统1包括服务器设备11、中继设备12和终端设备13。服务器设备11和中继设备12以它们可以彼此通信的方式彼此连接。此外,中继设备12和终端设备13以它们可以彼此通信的方式彼此连接。在图1的图示中,服务器设备11和中继设备12以它们能够经由网络900彼此通信的方式彼此连接。注意,能够进行相应配置的连接方式是有线连接还是无线连接、或者该连接方式是否使用因特网都不重要。
服务器设备11(例如是个人计算机或刀片服务器(blade server))包括执行信息处理的第一半导体设备110。中继设备12(例如是智能电话或平板式终端)包括执行信息处理的第二半导体设备120。此外,终端设备13是被称为IoT设备的可用于因特网连接的设备、或者是具有通信功能的另一设备。终端设备13包括执行信息处理的第三半导体设备130。
图2是根据第一实施例的第一半导体设备110的硬件配置图。执行信息处理的第一半导体设备110主要包括CPU 111、NVRAM 112(非易失性随机存取存储器)、DRAM 113(动态随机存取存储器)、IF 114(接口)和TRNG 115(真随机数生成器:真随机数生成电路),并且这些组件经由通信总线彼此连接。
在以下描述中,除非另有说明,否则以一个名称示出但具有不同附图标记的组件具有类似的功能。因此,将省略对这些组件的描述。
CPU 111是用于在第一半导体设备110中执行运算性处理等(稍后描述)的操作设备。CPU 111主要包括PRF运算电路111a、比较电路111b、AE加密电路111c和选择电路111d。注意,CPU 111可以包括作为硬件的多个这些组件、或者可以以可以执行并行处理的方式被配置为软件。此外,该实施例中所描述的CPU可以包括除CPU核以外的外围电路。
PRF运算电路111a通过预定的伪随机函数(PRF)来计算期望的输入信号,并输出计算的结果。伪随机函数在密码学方面是不能被识别为随机数的值,并且在直觉方面是将似乎足够随机的输出发回的函数,该伪随机函数指示在伪随机函数与真随机函数之间没有多项式时间算法对它们进行识别的函数。此外,PRF运算电路111a对于相同的输入,输出相同的结果。PRF运算电路111a可以将输出变量的数目指定为输入。注意,只要PRF运算电路111a如上所述输出上述结果,并且可以确保安全性,则PRF运算电路111a就可以是使用公用密钥代码或诸如基于哈希函数的另一函数的PRF运算电路。
比较电路111b接收两个信号作为输入,比较接收到的两个信号,并且输出指示这些信号是否彼此一致的比较结果。作为指示比较结果的输出信号的示例,当两个信号彼此不一致时,输出信号为“0”,并且当两个信号彼此一致时,输出信号为“1”。然而,指示比较结果的输出信号不限于此。
AE加密电路111c(AE=经认证的加密)使用期望的明文和密钥信息作为输入信号,对输入信号执行经认证的加密处理。当执行解密处理时,也使用密钥信息。AE加密电路111c通过执行经认证的加密处理来输出密文、认证标签和标头信号。
选择电路111d包括以下功能:输出已被选择的多个输入信号中的一个输入信号。选择电路111d根据比较电路111b所供应的比较结果信号SG20的值,来选择待被输出的多个输入信号中的一个输入信号。即,比较结果信号SG20是选择电路111d的选择控制信号。作为硬件配置的示例,选择电路111d是复用器。
NVRAM 112例如是可以将数据写入或可以从中读出数据的非易失性存储设备,诸如闪速存储器。NVRAM 112存储例如更新数据或用于确保通信安全性的密钥信息。
DRAM 113(易失性存储设备)暂时存储各种数据。根据该实施例的DRAM 113的硬件配置仅是一个示例,并且DRAM 113可以由静态随机存取存储器(SRAM)形成、或可以由非易失性存储器(诸如磁阻式随机存取存储器(MRAM)或闪速存储器)形成,来代替该易失性存储器。
TRNG 115是真随机数生成电路。TRNG 115使用随机物理现象,诸如例如通过传感器检测由于放射性物质的衰减二极管或放射性射线所产生的噪声或热噪声,并基于该信号生成随机数。CPU 111处理相应组件的信号,并根据该处理,将信号经由IF 114传输到中继设备12。备选地,CPU 111经由IF 114接收从中继设备12接收到的信号,并处理该接收到的信号。
图3是根据第一实施例的第二半导体设备120的硬件配置图。执行信息处理的第二半导体设备120主要包括CPU 121、NVRAM 122、DRAM 123和IF 124,并且这些组件通过通信总线连接。根据这些配置,第二半导体设备120与服务器设备11通信,从服务器设备11接收信号,根据需要处理接收到的信号,并将所得信号传输给终端设备13。此外,中继设备12从终端设备13接收信号,根据需要处理接收到的信号,并将所得信号传输给服务器设备11。
图4是根据第一实施例的第三半导体设备130的硬件配置图。执行信息处理的第三半导体设备130主要包括CPU 131、NVRAM 132、DRAM 133、IF 134和TRNG 135,并且这些组件通过通信总线彼此连接。终端设备13从中继设备12接收信号并且处理该接收到的信号。此外,终端设备13将处理后的信号传输给中继设备12。
CPU 131是用于在第三半导体设备130中执行运算性处理等的操作设备。CPU 131主要包括PRF运算电路131a、比较电路131b和AE解密电路131c。
AE解密电路131c对具有认证的加密后的信号执行解密处理和认证标签的认证。即,AE解密电路131c使用AE加密电路111c已输出的密文、认证标签和标头信号以及AE加密电路111c所使用的密钥信息作为输入信号。AE解密电路131c对密文进行解密,并认证由于解密而生成的认证标签是否与作为输入信号所接收到的认证标签一致。当认证的结果是这些认证标签彼此一致时,AE解密电路131c输出经解密的明文。另一方面,当这些认证标签彼此不一致时,AE解密电路131c输出指示认证结果为不一致的信号。
更新控制电路131d执行用于更新固件的信号控制。更新控制电路131d接收标志信号和更新数据信号作为输入信号。当接收到的标志信号是用于执行固件更新的值时,更新控制电路131d执行将接收到的更新数据替换为更新前的数据来作为输入信号的处理。此外,更新控制电路131d可以包括以下功能:输出指示固件更新处理是否已经被成功执行的结果。
如稍后将描述的作为第一实施例的修改示例,终端设备13可以不包括TRNG 135。
接下来参考图5至10,将描述传输/接收系统1的操作的细节。首先,参考图5,将描述在传输/接收系统1中相应设备包括的信号和由相应设备传输或接收的信号。图5是示出根据第一实施例的传输/接收系统1的传输/接收信号的图.
服务器设备11在NVRAM 112中存储更新数据SG02、更新版本数据SG04、标识符SG05和主密钥SG06。更新数据SG02例如是终端设备13的新版本的固件。更新版本数据SG04是包括更新数据SG02的版本信息的数据。标识符SG05,作为被唯一地赋予终端设备13的标识信息,其例如是终端设备13的Mac地址(媒体访问控制地址)或特定于产品的标识号。
终端设备13在NVRAM 132中存储更新前的数据SG01、更新前的版本数据SG03、标识符SG05和主密钥SG06。更新前的数据SG01例如是终端设备13当前正在使用的固件。更新前的版本数据SG03是包括更新前的数据SG01的版本信息的数据。
在下文中,将沿着信号的处理流程描述根据传输/接收系统1的相应设备所传输或接收到的信号以及相应设备执行的处理。在本文示出的示例中,传输/接收系统1执行终端设备13的固件版本的更新处理。
首先,中继设备12将版本检查请求信号SG08传输给终端设备13(步骤S11)。版本检查请求信号SG08是用于请求终端设备13发送固件的版本以作为响应的信号。
从中继设备12接收到版本检查请求信号SG08后,终端设备13响应于接收到的请求信号将作为终端设备13的当前版本固件的更新前的版本数据SG03和标识符SG05传输给中继设备12(步骤S12)。
从终端设备13接收到更新前的版本数据SG03和标识符SG05后,中继设备12向这些数据片添加版本升级请求信号SG09,并将所获得的信号传输给服务器设备11(步骤S13)。
参考图6,将描述以下两者之间的处理:从服务器设备11处理从中继设备12接收到的信号时,到该服务器设备输出请求信号时。在图6中,服务器设备11所包括的第一半导体设备110确定是否对终端设备13执行以上处理以便执行固件版本更新处理。当执行该处理时,第一半导体设备110输出用于生成在对加密后的更新数据进行解密时所使用的密钥的信号、以及用于对终端设备13进行认证的挑战码。
图6是根据第一实施例的服务器设备11中的第一半导体设备110的功能框图。在图6中,第一半导体设备110从中继设备12接受版本升级请求信号SG09。接下来,第一半导体设备110访问NVRAM 112的数据库区域以确定NVRAM 112所存储的标识符SG05是否与从中继设备12所接收到的标识符SG05匹配。
当关于标识符的这些信号彼此一致时,服务器设备11将作为从中继设备12接收到的终端设备13的固件版本的更新前的版本数据SG03、与NVRAM 112中所存储的更新版本数据SG04进行比较。即,第一半导体设备110访问NVRAM 112的更新数据区域,并且将更新版本数据SG04传输给CPU 111的比较电路111b。此外,第一半导体设备110将从中继设备12接收到的更新前的版本数据SG03供应给比较电路111b。然后,比较电路111b比较这些数据片,并将比较结果信号SG10输出到PRF运算电路111a。
在该示例中,当版本数据项通过比较电路111b对数据进行比较的结果为彼此一致时,比较电路111b将“0”作为比较结果信号SG10输出。在这种情况下,终端设备13的固件是最新固件,且不需要更新。因此,PRF运算电路111a不执行用于更新固件的处理。另一方面,当版本数据由于比较而彼此不一致时,比较电路111b将“1”作为比较结果信号SG10输出。在这种情况下,服务器设备11执行用于更新终端设备13固件的处理,这将在后面进行描述。
当PRF运算电路111a已经从比较电路111b接收到作为比较结果信号SG10的“1”时,PRF运算电路111a访问NVRAM 112的数据库区域并接收主密钥SG06。此外,PRF运算电路111a从TRNG 115接收第一随机数信号SG11。PRF运算电路111a接收主密钥SG06和第一随机数信号SG11,生成第六随机数信号SG13和第七随机数信号SG14,并且使DRAM 113存储这些所生成的信号。
TRNG 115将第一随机数信号SG11供应给PRF运算电路111a,生成第二随机数信号SG12,并使DRAM 113存储所生成的第二随机数信号SG12。TRNG 115将所生成的第一随机数信号SG11作为用于生成允许终端设备13对更新数据进行解密的密钥的信息来进行输出。此外,TRNG 115将所生成的第二随机数信号SG12作为挑战码输出,该第二随机数信号SG12是对终端设备13的请求信号。
再次参考图5。服务器设备11将TRNG 115已输出的第一随机数信号SG11和第二随机数信号SG12传输给中继设备12(步骤S14)。
中继设备12将从服务器设备11接收到的第一随机数信号SG11和第二随机数信号SG12传输给终端设备13(步骤S15)。
参考图7,将描述已接收到第一随机数信号SG11和第二随机数信号SG12的终端设备13所执行的处理的概述。在图7中,终端设备13中所包括的第三半导体设备130生成密钥(第七随机数信号SG14),该密钥在使用用于生成从服务器设备11接收到的密钥的信号(第一随机数信号SG11)对加密后的更新数据进行解密时被使用。此外,第三半导体设备130响应于从服务器设备11接收到的挑战码(第二随机数信号SG12),将响应码(第九随机数信号SG16)作为响应信号输出。此外,第三半导体设备130在做出响应时输出用于认证服务器设备11的挑战码(第三随机数信号SG15)。
图7是根据第一实施例的终端设备的功能框图。由于在图7中提供了两个PRF运算电路,为了方便描述,两个PRF运算电路中的一个被称为PRF运算电路131a_1,且两个PRF运算电路中的另一个被称为PRF运算电路131a_2。当然,PRF运算电路131a_1和PRF运算电路131a_2可以具有彼此不同的配置。否则,这两个PRF运算电路可以具有一种配置,但是执行彼此不同的操作。此外,在以下描述中,在一个框图中存在同一类型的多个组件的情况下,也可以使用相同的附图标记。
终端设备13中所包括的第三半导体设备130将接收到的第一随机数信号SG11输入到CPU 131中所包括的PRF运算电路131a中。此外,PRF运算电路131a将NVRAM 132中所存储的主密钥SG06作为输入信号读出。
PRF运算电路131a_1接收主密钥SG06和第一随机数信号SG11,并生成第六随机数信号SG13和第七随机数信号SG14。PRF运算电路131a_1将所生成信号中的第六随机数信号SG13输入到PRF运算电路131a_2中。此外,PRF运算电路131a_1使DRAM 133存储所生成信号中的第七随机数信号SG14。
已被输入第六随机数信号SG13的PRF运算电路131a_2进一步接收从中继设备12接收到的第二随机数信号SG12作为输入信号。此外,PRF运算电路131a_2从TRNG 135接收第三随机数信号SG15作为另一输入信号。
PRF运算电路131a_2使用第六随机数信号SG13、第二随机数信号SG12和第三随机数信号SG15作为输入信号,生成第九随机数信号SG16和第十随机数信号SG17。PRF运算电路131a_2响应于从服务器设备11接收到的请求信号,将这些所生成信号中的第九随机数信号SG16作为响应信号输出。此外,PRF运算电路131a_2使DRAM 133存储这些所生成信号中的第十随机数信号SG17。
TRNG 135响应于从服务器设备11接收到的请求信号,将生成的、作为PRF运算电路131a_2的输入信号的第三随机数信号SG15作为响应信号输出。即,第三半导体设备130响应于从服务器设备11接收到的请求信号,将第九随机数信号SG16和第三随机数信号SG15作为响应信号输出。
再次参考图5。终端设备13将第三半导体设备130已经输出的第三随机数信号SG15和第九随机数信号SG16传输给中继设备12(步骤S16)。
中继设备12将从服务器设备13接收到的第三随机数信号SG15和第九随机数信号SG16传输给服务器设备11(步骤S17)。
参考图8,将描述已接收到第三随机数信号SG15和第九随机数信号SG16的服务器设备11所执行的处理。在图8中,服务器设备11中所包括的第一半导体设备110输出响应码(第十一随机数信号SG19)作为对从终端设备13接收到的挑战码(第三随机数信号SG15)的响应信号。此外,第一半导体设备110将从终端设备13接收到的响应码(第九随机数信号SG16)与期望值进行比较,以确定它们彼此是否一致,并根据比较的结果输出密文SG23。
图8是根据第一实施例的第一半导体设备的功能框图。第一半导体设备110将接收到的第三随机数信号SG15输入到PRF运算电路111a中。PRF运算电路111a进一步从DRAM 113接收第六随机数信号SG13和第二随机数信号SG12作为输入信号。
PRF运算电路111a使用第六随机数信号SG13、第二随机数信号SG12和第三随机数信号SG15作为输入信号,来生成第八随机数信号SG18和第十一随机数信号SG19。PRF运算电路111a将生成的第八随机数信号SG18传输给比较电路111b。此外,PRF运算电路111a响应于从终端设备13接收到的挑战码,将生成的第十一随机数信号SG19作为响应码输出。
第一半导体设备110将接收到的第九随机数信号SG16输入到比较电路111b中。比较电路111b接收从PRF运算电路111a输出的第八随机数信号SG18和从终端装置13输出的第九随机数信号SG16作为输入信号,并比较这些接收到的信号。即,服务器设备11响应于从服务器设备11传输的挑战码而将终端设备13所发送的响应码与期望值进行比较,以确定它们是否彼此一致。当通过比较电路111b对数据进行比较的结果为这些信号彼此不一致时,比较电路111b将“0”作为比较结果信号SG20输出。另一方面,当比较结果为这些信号彼此一致时,比较电路111b将“1”作为比较结果信号SG20输出。比较电路111b将输出的比较结果信号SG20供应给选择电路111d。
AE加密电路111c从NVRAM 112接收更新数据SG02和更新版本数据SG04作为输入信号。此外,AE加密电路111c从DRAM 113接收第七随机数信号SG14,该第七随机数信号是用于对更新数据SG02和更新版本数据SG04进行加密的密钥信息。AE加密电路111c基于这些输入信号输出加密后的更新数据SG21,并且将输出的加密后的更新数据SG21输入到选择电路111d中。
TRNG 115生成第四随机数信号SG22,并将生成的信号输入到选择电路111d中。从TRNG 115输出的、作为真随机数的第四随机数信号SG22以其信号的位数变得与加密后的更新数据SG21的位数相同的方式来被设置。即,当不能执行解密时,将加密后的更新数据SG21与第四随机数信号SG22区分开是不容易的。
选择电路111d接收上述的加密后的更新数据SG21和第四随机数信号SG22作为输入信号,并接收比较结果信号SG20作为选择控制信号。当比较结果信号SG20的值为“1”时,选择电路111d选择加密后的更新数据SG21作为密文SG23,该加密后的更新数据SG21是输出信号。另一方面,当比较结果信号SG20的值为“0”时,选择电路111d选择第四随机数信号SG22代替加密后的更新数据SG21作为密文SG23,该第四随机数信号SG22是输出信号。选择电路111d如上所述地选择信号,并将所选择的信号作为密文SG23输出。
如上所述,当已正确地执行了终端设备13的认证时,第一半导体设备110输出包括更新数据的加密信号。另一方面,当未正确地执行终端设备13的认证时,第一半导体设备110针对未正确被认证的传输目的地,传输不容易与加密后的更新数据SG21区分开的随机数信号。如上所述,通过将不容易与形式正确的信号区分开的信号传输给未正确被认证的副本,可以防止来自第三方的不希望的攻击。
利用图8中所示的配置,第一半导体设备110响应于作为挑战码的第三随机数信号SG15,将第十一随机数信号SG19作为响应码输出,并根据第九随机数信号SG16输出密文SG23,该第九随机数信号SG16是从终端设备13接收到的响应码。
再次参考图5。服务器设备11将从第一半导体设备110输出的第十一随机数信号SG19和密文SG23传输给中继设备12(步骤S18)。
中继设备12将从服务器设备11接收到的第十一随机数信号SG19和密文SG23传输给终端设备13(步骤S19)。
参考图9,将描述已接收到第十一随机数信号SG19和密文SG23的终端设备13所执行的处理。在图9中,终端设备13中所包括的第三半导体设备130使用从服务器设备11接收到的响应码(第十一随机数信号SG19)对服务器设备11执行认证。此外,第三半导体设备130根据对服务器设备11所执行的认证结果来确定是否对从服务器设备11接收到的密文SG23进行解密,并且根据确定的结果来执行处理。
图9是根据第一实施例的第三半导体设备的功能框图。在图9中,终端设备13的第三半导体设备130将从服务器设备11接收到的第十一随机数信号SG19和DRAM 133中所存储的第十随机数信号SG17输入到比较电路131b_1中,以比较这些信号。当这些信号彼此不一致时,比较电路131b_1将“0”作为比较结果信号SG24输出。当这些信号彼此一致时,比较电路131b_1将“1”作为比较结果信号SG24输出,并将输出信号供应给AE解密电路131c。
此外,第三半导体设备130将从服务器设备11接收到的密文SG23输入到AE加密电路111c中。AE加密电路111c进一步接收DRAM 133中所存储的第七随机数信号SG14作为输入信号。
当比较结果信号SG24的值为“0”时,这意味着未正确地执行服务器设备11的认证。在这种情况下,AE解密电路131c不执行对密文SG23的解密处理。另一方面,当比较结果信号SG24的值为“1”时,这意味着已正确地执行服务器设备11的认证。在这种情况下,AE解密电路131c执行对密文SG23的以下解密处理。
如上所述,当认证未被正确执行时,通过对接收到的密文不执行解密处理,从而可以防止来自恶意第三方等的更新请求。
AE解密电路131c使用密文SG23和第七随机数信号SG14作为输入信号来对密文SG23进行解密,该第七随机数信号SG14是用于对密文SG23进行解密的密钥信息。在密文SG23被解密之后,AE解密电路131c将输出信号中所包括的更新版本数据SG04供应给比较电路131b_2。比较电路131b_2从NVRAM 132接收更新前的版本数据SG03,该更新前的版本数据是关于第三半导体设备130中所存储的固件的当前版本信息。比较电路131b_2将更新版本数据SG04与更新前的版本数据SG03进行比较,以确定更新版本数据SG04是否大于更新前的版本数据SG03,并将比较结果信号SG25供应给更新控制电路131d。
更新控制电路131d从比较电路131b_2接收比较结果信号SG25,并从AE解密电路131c接收解密的更新数据SG02。当已被解密的固件的版本大于NVRAM 132中所存储的固件版本时,更新控制电路131d执行对NVRAM 132中所存储的固件进行更新的处理。随着更新固件的处理,更新控制电路131d使NVRAM 132存储更新数据SG02来代替更新前的数据SG01,并使NVRAM 132存储更新版本数据SG04来代替更新前的版本数据SG03。
根据第一实施例的传输/接收系统包括上述配置。根据上述描述,传输/接收系统1的处理可以总结如下。即,包括服务器设备以及从服务器设备接收更新数据的终端设备的传输/接收系统1执行如下处理。
首先,服务器设备11将用于生成对经认证的密码进行解密的密钥的信号(111)和用于对终端设备13进行认证的挑战码(112)传输给终端设备13。
终端设备13将关于挑战码(112)的响应码以及用于对服务器设备11进行认证的挑战码传输给服务器设备11。
服务器设备执行响应码的认证,根据认证的结果预先传输密码集,并且响应于从终端设备13接收到的挑战码,将响应码传输给终端设备13。
终端设备13对从服务器设备11接收到的响应码执行认证,并根据认证的结果来确定对与响应码一起接收到的密码进行的处理。
此外,在传输/接收系统1中,中继设备12设置在服务器设备11与终端设备13之间,服务器设备11与中继设备12彼此通信,并且中继设备12与终端设备13彼此通信。
传输/接收系统1使用服务器设备11和终端设备13包括的公用密钥来传输/接收更新数据。此外,传输/接收系统1使用服务器设备11和终端设备13包括的公用伪随机函数来操作相应信号。因此,传输/接收系统1能够保持更新数据的机密性并防止信息泄露给第三方。
传输/接收系统1使用经认证的加密技术传输或接收更新数据。因此,如果将已被篡改的更新数据供应给终端设备13,则传输/接收系统1能够通过认证认证标签来防止用不正确的数据进行更新。
此外,在传输/接收系统1中,中继设备12设置在服务器设备11与终端设备13之间。因此,即使在服务器设备11的通信系统与终端设备13的通信系统不同的情况下,传输/接收系统1也允许在服务器设备11与终端设备13之间进行传输和接收信号。因此,例如即使在终端设备13未直接连接至因特网的情况下,传输/接收系统1也能够更新固件并降低经营成本。
此外,在传输/接收系统1中,服务器设备11和终端设备13中的每一个都具有公用密钥。根据该配置,传输/接收系统1能够高速执行处理。例如,根据该实施例系统的处理速度比使用典型公开密钥系统的处理速度快约100倍。
<第一实施方式的修改示例>
在以下描述中,参考图10,将描述第一实施例的修改示例。根据第一实施例修改示例的传输/接收系统1中的终端设备13的配置与上述配置的不同之处在于,根据该修改示例的终端设备13不包括TRNG 135。
图10是根据第一实施例修改示例的第三半导体设备的功能框图。图10中所示的功能框图描述了在图5的步骤S15中已接收第一随机数信号SG11和第二随机数信号SG12的终端设备13所执行的处理,并且与根据第一实施例的图7相对应。
图10是根据第一实施例的终端设备的功能框图。参考图10,将描述已接收到第一随机数信号SG11和第二随机数信号SG12的终端设备13所执行的处理的概述,该第二随机数信号与上述第一实施例中的第二随机数信号不同。在图10中,在终端设备13中所包括的第三半导体设备130中,PRF运算电路131a_2生成第十二随机数信号SG07_n代替第三随机数信号SG15作为用于对服务器设备11进行认证的挑战码。第三半导体设备130使NVRAM 132存储由PRF运算电路131a_2生成的第十二随机数信号SG07_n。此外,第三半导体设备130将第九随机数信号SG16作为响应码输出,并且将第十二随机数信号SG07_n作为挑战码输出。
在以下描述中,将描述第十二随机数信号SG07_n的细节。在图10中,第三半导体设备130使NVRAM 132预先存储作为第十二随机数信号SG07_n的初始值,该第十二随机数信号SG07_0是随机数。当第三半导体设备130首先执行处理时,PRF运算电路131a访问NVRAM 132并接收第十二随机数信号SG07_0。此外,PRF运算电路131a_2接收从PRF运算电路131a_1输出的第二随机数信号SG12和第六随机数信号SG13两者作为输入信号。PRF运算电路131a_2使用该第二随机数信号和第六随机数信号作为输入信号来执行运算,并且生成第九随机数信号SG16、第十随机数信号SG17和第十二随机数信号SG07_1作为输出信号。PRF运算电路131a_2外部地输出这些输出信号中的第十二随机数信号SG07_1,将其作为用于对服务器设备11进行认证的挑战码,并且使NVRAM 132存储第十二随机数信号SG07_1。在PRF运算电路131a_2每次执行操作时,以新值依序更新第十二随机数信号SG07_n,并将更新后的信号存储在NVRAM 132中。
相应地,终端设备13能够在不具有TRNG 135的情况下执行对服务器设备11的认证。因此,传输/接收系统1能够使终端设备13的配置简单。相应地,利用该简单配置,在第一实施例的修改示例中,传输/接收系统1能够高效且安全地发送和接收更新程序并将程序更新。
注意,第一实施例的修改示例不限于上文所描述的示例。例如,每次外部地输出时递增的数值可以被用作挑战码来代替上文所描述的第三随机数信号SG15或第十二随机数信号SG07_n。根据上文配置,在第一实施例的修改示例中,通过使用简单配置,传输/接收系统1能够高效且安全地发送和接收更新程序并将程序更新。
<第二实施例>
接下来参考图11至16,将描述本公开的实施例。根据第二实施例的传输/接收系统2中的服务器设备的CPU的配置和终端设备的CPU的配置与第一实施例中的配置不同。此外,根据第二实施例的传输/接收系统2与根据第一实施例的传输/接收系统1的不同之处在于,传输/接收系统2在服务器设备中管理终端设备中所包括的固件版本。
图11是根据第二实施例的传输/接收系统的硬件配置图。传输/接收系统2包括服务器设备21、中继设备22和终端设备23。服务器设备21包括第一半导体设备210,并且第一半导体设备210包括CPU 211。CPU 211与根据第一实施例的CPU 111的不同之处在于,CPU211包括更新控制电路211e。终端设备23包括第三半导体设备230,并且第三半导体设备230包括CPU 231。CPU 231与根据第一实施例的CPU 131的不同之处在于,CPU 231包括选择电路231e。
接下来参考图12,将描述传输/接收系统2中的相应设备包括的信号和由相应设备传输或接收的信号。图12是示出根据第二实施例的传输/接收系统的传输/接收信号的图。
服务器设备21与根据第一实施例的服务器设备11的不同之处在于,服务器设备21将更新前的版本数据SG03存储在NVRAM 112中。即,服务器设备21管理终端设备23的固件的当前版本。注意,终端设备23存储与根据第一实施例的终端设备13中所存储的信号类似的信号。
在下文中,将描述传输/接收系统2中的相应设备所传输或接收的信号以及相应设备执行的处理,这些信号和处理与第一实施例中的信号和处理不同。如图12中所示,在传输/接收系统2中从步骤S11到S15的处理与第一实施例中的处理类似。
接下来参考图13,将描述已接收到第一随机数信号SG11和第二随机数信号SG12的终端设备23所执行的处理,该第二随机数信号与图7中所示的第一实施例中的第二随机数信号不同。在图13中,终端设备23中所包括的第三半导体设备230在PRF运算电路231a_2输出的信号方面与第一实施例中的第三半导体设备不同。即,在使用第六随机数信号SG13、第二随机数信号SG12和第三随机数信号SG15作为输入信号执行的操作中,除了第九随机数信号SG16和第十随机数信号SG17之外,PRF运算电路231a_2还输出第十三随机数信号SG26。第十三随机数信号SG26被用作用于指示已正确执行固件更新的信号。PRF运算电路231a_2使DRAM 133存储输出的第十三随机数信号SG26。在图13中,已执行上述处理的第三半导体设备230与第一实施例中的半导体设备一样,输出第三随机数信号SG15和第九随机数信号SG16。
再次参考图12。终端设备23将第三随机数信号SG15和第九随机数信号SG16传输给中继设备22(步骤S26),并且中继设备22将这些信号传输给服务器设备21(步骤S27)。
接下来参考图14,将描述已接收到第三随机数信号SG15和第九随机数信号SG16的服务器设备21所执行的处理,该第九随机数信号与图8中所示的第一实施例中的第九随机数信号不同。图14是根据第二实施例的服务器设备的功能框图。
在图14中,服务器设备21中所包括的第一半导体设备210在PRF运算电路211a输出的信号方面,与第一实施例中的第一半导体设备不同。即,在使用第二随机数信号SG12、第六随机数信号SG13和第三随机数信号SG15作为输入信号执行的操作中,除了第八随机数信号SG18和第十一随机数信号SG19之外,PRF运算电路211a还输出第十四随机数信号SG27。第十四随机数信号SG27被用作用于认证从终端设备23接收到的固件更新结果信号的信号。PRF运算电路211a使DRAM 113存储输出的第十四随机数信号SG27。在图14中,已执行上述处理的第一半导体设备210与第一实施例中的半导体设备一样,输出第十一随机数信号SG19和密文SG23。
再次参考图12。服务器设备21将第十一随机数信号SG19和密文SG23传输给中继设备22(步骤S28),并且中继设备22将这些信号传输给终端设备23(步骤S29)。
接下来参考图15,将描述已接收到第十一随机数信号SG19和密文SG23的终端设备23所执行的处理,该密文与图9中所示的第一实施例中的密文不同。在图15中,终端设备23中所包括的第三半导体设备230与第一实施例中的第三半导体设备的不同之处在于,更新控制电路231d输出更新结果,并且第三半导体设备230基于从更新控制电路231d输出的更新结果,将更新结果信号传输给服务器设备21。
图15是根据第二实施例的终端设备的功能框图。在图15中,更新控制电路231d从比较电路231b接收比较结果信号SG25以及由AE解密电路231c解密的更新数据SG02。当经解密的固件版本大于NVRAM 132中所存储的固件版本时,更新控制电路231d执行对NVRAM 132中所存储的固件进行更新的处理。
在完成更新固件的处理之后,更新控制电路231d生成第一更新结果信号SG28,用于指示以上处理是否已被成功执行,并将生成的第一更新结果信号SG28供应给选择电路231e作为选择控制信号。当已成功执行更新固件的处理时,更新控制电路231d将“1”作为第一更新结果信号SG28输出。另一方面,当未成功执行更新固件的处理时,更新控制电路231d将“0”作为第一更新结果信号SG28输出。
选择电路231e从DRAM 133接收第十三随机数信号SG26,并且进一步从TRNG 135接收第五随机数信号SG29作为输入信号。第五随机数信号SG29是其位数与第十三随机数信号SG26的位数相同的真随机数。当选择电路231e已从更新控制电路231d接收到作为第一更新结果信号SG28的“1”时,选择电路231e选择第十三随机数信号SG26作为待被输出的信号。另一方面,当选择电路231e已从更新控制电路231d接收到作为第一更新结果信号SG28的“0”时,选择电路231e选择第五随机数信号SG29作为待被输出的信号。选择电路231e将选择信号作为第二更新结果信号SG30输出。第三半导体设备230输出从选择电路231e输出的第二更新结果信号SG30。
如上所述,由于输出了用于指示是否已成功执行更新固件的处理的信号,因此这些信号有助于保持机密性并且防止信息泄露给第三方。
再次参考图12。终端设备23将第二更新结果信号SG30传输给中继设备22(步骤S30),并且中继设备22将该第二更新结果信号传输给服务器设备21(步骤S31)。
接下来参考图16,将描述由服务器设备21执行的处理。图16是根据第二实施例的服务器设备的功能框图。在图16中,当服务器设备21中所包括的第一半导体设备210已接收到第二更新结果信号SG30时,第一半导体设备210将接收到的第二更新结果信号SG30供应给比较电路211b。此外,比较电路211b从DRAM 113接收第十四随机数信号SG27。即,比较电路211b将第二更新结果信号SG30与第十四随机数信号SG27进行比较,并将比较结果信号SG31输出至更新控制电路211e。
当第二更新结果信号SG30与第十四随机数信号SG27一致时,比较电路211b将“1”作为比较结果信号SG31输出。另一方面,当第二更新结果信号SG30与第十四随机数信号SG27不一致时,比较电路211b将“0”作为比较结果信号SG31输出。
当更新控制电路211e已接收到作为比较结果信号SG31的“0”时,更新控制电路211e不执行对NVRAM 112中的数据进行更新的处理。在这种情况下,可以确定终端设备23在更新处理中失败并且可以将比较结果信号SG31存储在NVRAM 112中。另一方面,当更新控制电路211e已经接收到作为比较结果信号SG31的“1”时,更新控制电路211e执行对NVRAM 112中的数据进行更新的处理。即,更新控制电路211e访问NVRAM 112的更新数据区域,并接收传输给终端设备23的更新数据中的更新版本数据SG04。然后,更新控制电路211e执行对更新版本数据SG04进行存储的处理,以代替NVRAM 112所存储的数据库区域中的更新前的版本数据SG03。
根据上述配置,根据第二实施例的传输/接收系统能够容易地管理终端设备的更新数据。因此,例如,当服务器设备管理多个终端设备时,可以管理相应终端设备包括的数据更新状态,并且可以知晓网络的易损性等。
<第三实施例>
参考图17至21,将描述第三实施例。根据第三实施例的传输/接收系统3中的终端设备之间的通信处理与第一实施例中的通信处理不同。即,在未执行服务器设备31与中继设备32之间的通信的情况下,根据第三实施例的传输/接收系统3首先执行服务器设备31与中继设备32之间的通信,并且然后执行中继设备32与终端设备33之间的通信。此外,根据第三实施例的传输/接收系统3中的中继设备32的配置与第一实施例中的配置不同。
图17是根据第三实施例的第二半导体设备的硬件配置图。在传输/接收系统3中,中继设备32和终端设备中所包括的第二半导体设备320中的CPU 321的配置与根据第一实施例的CPU 121的配置不同。CPU 321主要包括PRF运算电路321a、比较电路321b、AE解密电路321c和选择电路321d。此外,第二半导体设备320与第一实施例中的半导体设备的不同之处在于,第二半导体设备320包括TRNG 325。
接下来参考图18,将描述传输/接收系统3中的相应设备包括的信号和相应设备所传输或接收的信号。图18是示出根据第三实施例的传输/接收系统的传输/接收信号的图。
图18中所示的传输/接收系统3与第一实施例中的传输/接收系统的不同之处在于,服务器设备31的NVRAM 112存储公用密钥SG32,且中继设备32的NVRAM 122存储公用密钥SG32。终端设备33的NVRAM 132中所存储的数据与第一实施例中的数据类似。
在下文中,将描述根据传输/接收系统3中的相应设备传输或接收的信号以及相应设备执行的处理,这些信号和处理与第一实施例中的信号和处理不同。如图18中所示,在传输/接收系统3中从步骤S11到S13的处理与第一实施例中的处理类似。
接下来参考图19,将描述服务器设备11所执行的、与第一实施例中的处理不同的处理。图19是根据第三实施例的服务器设备的功能框图。在图19中,服务器设备11的第一半导体设备110输出用于生成在对加密后的更新数据进行解密时所使用的密钥的信号(第一随机数信号SG11)以及用于对终端设备13进行认证的挑战码(第二随机数信号SG12)。由于直到输出第一随机数信号SG11和第二随机数信号SG12为止的处理与第一实施例中的处理类似,因此将省略其描述。
第一半导体设备110将公用密钥SG32和第六随机数信号SG13输入到AE加密电路111c_1中。AE加密电路111c_1接收这些信号,对接收到的信号执行经认证的加密处理,并生成密文SG33。
此外,第一半导体设备110将更新数据SG02、更新版本数据SG04和第七随机数信号SG14输入到AE加密电路111c_2中。AE加密电路111c_2接收这些信号,对接收到的信号执行经认证的加密处理,并生成加密后的更新数据SG21。
根据上文处理,第一半导体设备110外部地输出第一随机数信号SG11、第二随机数信号SG12、密文SG33和加密后的更新数据SG21。然后,服务器设备11将这些信号传输给中继设备32(图18中的步骤S31)。
接下来参考图20,将描述已接收到上述信号的中继设备所执行的处理。图20是根据第三实施例的中继设备的功能框图。在图20中,中继设备32的第二半导体设备320执行以下处理。
首先,AE解密电路321c接收密文SG33作为输入信号,并且进一步接收NVRAM 122中所存储的公用密钥SG32作为输入信号。然后,AE解密电路321c通过使用这些信号作为输入信号进行解密来生成密文SG33中所包括的第六随机数信号SG13。AE解密电路321c使NVRAM122存储生成的第六随机数信号SG13。
接下来,第二半导体设备320使NVRAM 122存储第一随机数信号SG11、第二随机数信号SG12和加密后的更新数据SG21,并执行将第一随机数信号SG11和第二随机数信号SG12输出至终端设备33的处理。中继设备32将这些信号传输给终端设备33(图18中的步骤S32)。
接下来,终端设备33处理从中继设备32接收到的第一随机数信号SG11和第二随机数信号SG12,并且将第三随机数信号SG15和第九随机数信号SG16传输给中继设备32(图18中的步骤S33)。终端设备33处理第一随机数信号SG11和第二随机数信号SG12的处理、以及终端设备33将第三随机数信号SG15和第九随机数信号SG16传输给中继设备32的处理,与第一实施例中参考图7描述的处理类似。
接下来参考图21,将描述已接收到第三随机数信号SG15和第九随机数信号SG16的中继设备32所执行的处理。图21是根据第三实施例的中继设备的功能框图。
在第二半导体设备320中,PRF运算电路321a接收终端设备33所传输的第三随机数信号SG15作为输入信号。此外,PRF运算电路321a接收NVRAM 122所存储的第六随机数信号SG13和第二随机数信号SG12作为输入信号。PRF运算电路321a使用这些信号作为输入信号来执行运算性处理,以生成第八随机数信号SG18和第十一随机数信号SG19。
第二半导体设备320响应于终端设备33的挑战码(第三随机数信号SG15),将PRF运算电路321a所生成的第十一随机数信号SG19作为响应码输出。
比较电路321b接收PRF运算电路321a所生成的第八随机数信号SG18和从中继设备32接收到的第九随机数信号SG16中的每一个作为响应码,并且比较这些接收到的信号。
当通过比较电路321b对数据进行比较的结果为这些信号彼此不一致时,比较电路321b将“0”作为比较结果信号SG20输出。另一方面,当比较结果为这些信号彼此一致时,比较电路321b将“1”作为比较结果信号SG20输出。比较电路321b将输出的比较结果信号SG20供应给选择电路321d。
TRNG 125生成第四随机数信号SG22,并将生成的信号输入到选择电路321d中。从TRNG 125输出的第四随机数信号SG22是真随机数,该信号的位数与加密后的更新数据SG21的位数相同。
选择电路321d接收NVRAM 122中所存储的加密后的更新数据SG21和第四随机数信号SG22作为输入信号,并接收比较结果信号SG20作为选择控制信号。当比较结果信号SG20的值为“1”时,选择电路321d选择加密后的更新数据SG21作为密文SG23,加密后的更新数据SG21是输出信号。另一方面,当比较结果信号SG20的值为“0”时,选择电路321d选择第四随机数信号SG22代替加密后的更新数据SG21作为密文SG23,第四随机数信号SG22是输出信号。选择电路321d以上述的方式来选择信号,并将选择的信号作为密文SG23输出。
中继设备32将从第二半导体设备320输出的第十一随机数信号SG19和密文SG23传输给终端设备33(图18中的步骤S34)。终端设备33中的以下处理与在第一实施例中参考图9描述的处理类似。
中继设备32和终端设备33在图18的步骤S11和S12中传输或接收的数据不是机密数据。因此,终端设备33中的更新前的版本数据SG03和标识符SG05可以预先被存储在中继设备32中。
根据上文配置,根据第三实施例的传输/接收系统3能够将服务器设备31与中继设备32之间的通信与中继设备32与终端设备33之间的通信分开,以执行数据更新处理。例如,即使在终端设备33位于远程位置或仅包括近场通信功能的情况下以及在不能执行服务器设备31与中继设备32之间的通信的环境中,传输/接收系统3能够向终端设备33提供更新数据。
注意,本公开不限于上述实施例,并且可以在不脱离本公开的精神的情况下适当地进行改变。
例如,上文公开的实施例中的一些或全部可以被描述为但不限于以下补充说明。
(补充说明1)
一种半导体设备,其包括存储器、随机数生成电路和控制电路并为外部终端设备提供更新数据,其中,
存储器存储密钥信息,
随机数生成电路生成第一随机数信号和第二随机数信号,
控制电路根据第一随机数信号和密钥信息生成第六随机数信号和第七随机数信号,
控制电路使用第七随机数信号根据更新数据生成加密后的更新数据,
控制电路生成第一随机数信号和第二随机数信号作为待被传输给外部终端设备的请求信号,
控制电路从外部终端设备接收第一响应信号和第二响应信号作为响应于请求信号的响应信号,
控制电路使用第一响应信号、第二随机数信号和第六随机数信号作为输入信号,来生成第八随机数信号,以及
当第二响应信号与第八随机数信号一致时,控制电路为外部终端设备提供加密后的更新数据。
(补充说明2)
根据补充说明1的半导体设备,其中,控制电路通过将第六随机数信号、第七随机数信号和第八随机数信号输入到一个预定的伪随机函数中来计算第六随机数信号、第七随机数信号和第八随机数信号中的每个随机数信号。
(补充说明3)
根据补充说明1的半导体设备,其中,在第二响应信号与第八随机数信号不一致时,控制电路为外部终端设备提供位数与加密后的更新数据的位数相同的随机数信号以代替加密后的更新数据。
(补充说明4)
根据补充说明1的半导体设备,其中,在控制电路已经从外部终端设备接收到第三响应信号时,控制电路确定第三响应信号是否与使用第一响应信号、第二随机数信号和第六随机数信号作为输入信号生成的第十随机数信号一致,其中第三响应信号是响应于已被提供的加密后的更新数据的响应信号,当第三响应信号与第十随机数信号彼此一致时,登记数据已被更新,并且当第三响应信号与第十随机数信号彼此不一致时,登记数据尚未被更新。
(补充说明5)
一种半导体设备,其包括存储器和控制电路并从外部服务器设备接收加密后的更新数据,其中,
存储器存储更新前的数据和密钥信息,
控制电路从外部服务器设备接收作为请求信号的第一随机数信号和第二随机数信号,
控制电路根据第一随机数信号和密钥信息生成第六随机数信号和第七随机数信号,
控制电路使用第二随机数信号和第六随机数信号作为输入信号,来生成第九随机数信号和第十随机数信号,
控制电路生成包括预定信号的挑战码,
控制电路向外部服务器设备输出第九随机数信号和挑战码作为响应于请求信号的响应信号,
控制电路从外部服务器设备接收基于所输出的响应信号的认证信号和加密后的更新数据,以及
当接收到的认证信号与第十随机数信号一致时,控制电路执行对从外部服务器设备接收到的加密后的更新数据进行解密的处理。
(补充说明6)
根据补充说明5的半导体设备,其中,控制电路通过将第六随机数信号、第七随机数信号、第九随机数信号和第十随机数信号输入到一个预定的伪随机函数中,来计算第六随机数信号、第七随机数信号、第九随机数信号和第十随机数信号中的每个随机数信号。
(补充说明7)
根据补充说明5的半导体设备,其中,当接收到的认证信号与第十随机数信号不一致时,控制电路不执行对从外部服务器设备接收到的加密后的更新数据进行解密的处理。
(补充说明8)
根据补充说明5的半导体设备,其中,控制电路通过使预定位数的数值依次递增来生成挑战码。
(补充说明9)
根据补充说明5的半导体设备,其中,控制电路使用第二随机数信号和第六随机数信号作为输入信号生成第十二随机数信号,从而生成挑战码。
(补充说明10)
根据补充说明5的半导体设备,其进一步包括随机数生成电路,随机数生成电路生成第三随机数信号,其中,
在控制电路生成第九随机数信号和第十随机数信号时,除作为输入信号的第二随机数信号和第六随机数信号之外,控制电路还接收第三随机数信号,以及
控制电路为外部服务器设备将第三随机数信号作为挑战码输出。
(补充说明11)
根据补充说明5的半导体设备,其中,
控制电路生成至少包括作为输入信号的第二随机数信号和第六随机数信号的第十三随机数信号作为伪随机函数的输出,以及
当已成功执行对加密后的更新数据进行解密的处理时,控制电路将第十三随机数信号输出到外部服务器设备。
(补充说明12)
根据补充说明11的半导体设备,其中,在尚未成功执行对加密后的更新数据进行解密的处理时,控制电路为外部服务器设备输出随机数信号来代替第十三随机数信号。
(补充说明13)
根据补充说明12的半导体设备,其进一步包括真随机数生成电路,
其中,随机数信号是真随机数信号。
(补充说明14)
一种用于为外部终端设备提供更新数据的方法,该方法包括:
存储密钥信息;
生成第一随机数信号和第二随机数信号,
根据第一随机数信号和密钥信息生成第六随机数信号和第七随机数信号;
使用第七随机数信号根据更新数据生成加密后的更新数据;
生成第一随机数信号和第二随机数信号作为待被传输给外部终端设备的请求信号;
从外部终端设备接收第一响应信号和第二响应信号作为响应于请求信号的响应信号;
使用第一响应信号、第二随机数信号和第六随机数信号作为输入信号,来生成第八随机数信号;以及
当第二响应信号与第八随机数信号一致时,为外部终端设备提供加密后的更新数据。
(补充说明15)
一种从外部服务器设备接收加密后的更新数据的方法,该方法包括:
存储更新前的数据和密钥信息;
从外部服务器设备接收作为请求信号的第一随机数信号和第二随机数信号;
根据第一随机数信号和密钥信息生成第六随机数信号和第七随机数信号;
使用第二随机数信号和第六随机数信号作为输入信号生成第九随机数信号和第十随机数信号;
生成包括预定信号的挑战码;
向外部服务器设备输出第九随机数信号和挑战码作为响应于请求信号的响应信号;
从外部服务器设备接收基于所输出的响应信号的认证信号和加密后的更新数据;以及
当接收到的认证信号与第十随机数信号一致时,执行对从外部服务器设备接收到的加密后的更新数据进行解密的处理。
(补充说明16)
一种用于使计算机执行以下方法的程序,该方法用于为外部终端设备提供更新数据并且包括:
存储密钥信息;
生成第一随机数信号和第二随机数信号;
根据第一随机数信号和密钥信息生成第六随机数信号和第七随机数信号;
使用第七随机数信号根据更新数据生成加密后的更新数据;
生成第一随机数信号和第二随机数信号作为待被传输给外部终端设备的请求信号;
从外部终端设备接收第一响应信号和第二响应信号作为响应于请求信号的响应信号;
使用第一响应信号、第二随机数信号和第六随机数信号作为输入信号,来生成第八随机数信号;以及
当第二响应信号与第八随机数信号一致时,为外部终端设备提供加密后的更新数据。
(补充说明17)
一种用于使计算机执行以下方法的程序,该方法用于从外部服务器设备接收加密后的更新数据并且包括:
存储更新前的数据和密钥信息;
从外部服务器设备接收作为请求信号的第一随机数信号和第二随机数信号;
根据第一随机数信号和密钥信息生成第六随机数信号和第七随机数信号;
使用第二随机数信号和第六随机数信号作为输入信号生成第九随机数信号和第十随机数信号;
生成包括预定信号的挑战码;
向外部服务器设备输出第九随机数信号和挑战码作为响应于请求信号的响应信号;
从外部服务器设备接收基于所输出的响应信号的认证信号和加密后的更新数据;以及
当接收到的认证信号与第十随机数信号一致时,执行对从外部服务器设备接收到的加密后的更新数据进行解密的处理。
(补充说明18)
一种半导体设备,其包括存储器、随机数生成电路和控制电路,该半导体设备从外部服务器设备接收加密后的更新数据,并为外部终端设备提供接收到的加密后的更新数据,其中,
存储器存储公用密钥,该公用密钥在存储器与外部服务器设备之间可用,
控制电路从外部服务器设备接收加密密钥数据和加密后的更新数据,该加密密钥数据包括由公用密钥加密的第一随机数信号、第二随机数信号和第六随机数信号,
控制电路通过公用密钥对加密密钥数据进行解密,以生成第六随机数信号,
控制电路输出第一随机数信号和第二随机数信号作为待被传输给外部终端设备的请求信号;
控制电路从外部终端设备接收第一响应信号和第二响应信号作为响应于请求信号的响应信号,
控制电路使用第一响应信号、第二随机数信号和第六随机数信号作为输入信号,来生成第八随机数信号,以及
当第二响应信号与第八随机数信号一致时,控制电路为外部终端设备提供加密后的更新数据。
(补充说明19)
根据补充说明18的半导体设备,其中,通过将第六随机数信号和第八随机数信号输入到一个预定的伪随机函数中,来计算第六随机数信号和第八随机数信号中的每个随机数信号。
(补充说明20)
根据补充说明18的半导体设备,其中,在第二响应信号与第八随机数信号不一致时,控制电路为外部终端设备提供位数与加密后的更新数据的位数相同的随机数信号以代替加密后的更新数据。
(补充说明21)
一种传输/接收系统包括服务器设备和从服务器设备接收更新数据的终端设备,其中,
服务器设备和终端设备中的每个设备预先存储主密钥信息,
服务器设备向终端设备传输第一随机数信号和用于认证终端设备的第一挑战码,
终端设备将基于第一随机数信号和第一挑战码生成的第一响应码和用于认证服务器设备的第二挑战码传输给服务器设备,
当第一响应码与期望值一致时,服务器设备将主密钥所加密的加密后的更新数据和针对第二挑战码的第二响应码传输给终端设备,以及
当第二响应码与期望值一致时,终端设备对使用主密钥接收到的加密后的更新数据进行解密。
(补充说明22)
根据补充说明21的传输/接收系统,其中,
服务器设备和终端设备中的每个设备存储公用伪随机函数,
终端设备将第一挑战码输出至伪随机函数,以生成第一响应码,以及
服务器设备将第二挑战码输出至伪随机函数,以生成第二响应码。
(补充说明23)
根据补充说明21的传输/接收系统,其中,
服务器设备包括真随机数生成电路,以及
第一随机数信号和第一挑战码中的每一个是真随机数信号。
(补充说明24)
根据补充说明23的传输/接收系统,其中,
终端设备包括真随机数生成电路,以及
第二挑战码是真随机数信号。
(补充说明25)
根据补充说明21的传输/接收系统,其中,
当基于已接收到的加密后的更新数据已完成更新数据的登记时,终端设备将基于第一随机数信号和第一挑战码所生成的更新结果信号传输给服务器设备,以及
当从终端设备接收到的更新结果信号与期望值一致时,服务器设备登记终端设备的数据是更新数据,或当更新结果信号与期望值不一致时,服务器设备登记终端设备的数据不是更新数据。
(补充说明26)
根据补充说明21的传输/接收系统,其中,当第一挑战码与期望值不一致时,服务器设备传输其位数与加密后的更新数据的位数相同的随机数信号,以代替加密后的更新数据。
(补充说明27)
根据补充说明21的传输/接收系统,其中,当响应码与期望值不一致时,终端设备不对已接收到的加密后的更新数据进行解密。
(补充说明28)
根据补充说明21的传输/接收系统,其进一步包括中继设备,该中继设备被配置为中继服务器设备与终端设备之间的通信,
其中,中继设备将用于请求更新前的数据的版本信息的信号传输给终端设备,并且将从终端设备接收到的版本信息以及用于请求对更新前的数据进行更新处理的信号传输给服务器设备。
(补充说明29)
根据补充说明21的传输/接收系统,其进一步包括中继设备,该中继设备被配置为中继服务器设备与终端设备之间的通信,其中,
服务器设备和中继设备中的每个设备预先存储公用密钥,
服务器设备将包括通过公用密钥加密的第一随机数信号、第一挑战码和第六随机数信号的加密密钥数据以及加密后的更新数据传输给中继设备,
中继设备将第一随机数信号和第一挑战码传输给终端设备,
终端设备将第一随机数信号、第一响应码和第二挑战码传输给中继设备,
当第一响应码与期望值一致时,中继设备将加密后的更新数据和第二响应码传输给终端设备,以及
当第二响应码与期望值一致时,终端设备对已接收到的加密后的更新数据进行解密。
工业实用性
一个实施例适用于发送和接收更新程序的服务器设备、终端设备等。
附图标记列表
1、2、3 传输/接收系统
11、21、31 服务器设备
12、22、32 中继设备
13、23、33 终端设备
110、210 第一半导体设备
120、320 第二半导体设备
130、230 第三半导体设备
900 网络
SG01 更新前的数据
SG02 更新数据
SG03 更新前的版本数据
SG04 更新版本数据
SG05 标识符
SG06 主密钥
SG07 第十二随机数信号
SG08 版本检查请求信号
SG09 版本升级请求信号
SG10 比较结果信号
SG11 第一随机数信号
SG12 第二随机数信号
SG13 第六随机数信号
SG14 第七随机数信号
SG15 第三随机数信号
SG16 第九随机数信号
SG17 第十随机数信号
SG18 第八随机数信号
SG19 第十一随机数信号
SG20 比较结果信号
SG21 加密后的更新数据
SG22 第四随机数信号
SG23 密文
SG24 比较结果信号
SG25 比较结果信号
SG26 第十三随机数信号
SG27 第十四随机数信号
SG28 第一更新结果信号
SG29 第五随机数信号
SG30 第二更新结果信号
SG31 比较结果信号
SG32 公用密钥
SG33 密文

Claims (20)

1.一种半导体设备,包括存储器、随机数生成电路和控制电路并且所述半导体设备为外部终端设备提供更新数据,其中,
所述存储器存储密钥信息,
所述随机数生成电路生成第一随机数信号和第二随机数信号,
所述控制电路根据所述第一随机数信号和所述密钥信息来生成第六随机数信号和第七随机数信号,
所述控制电路使用第七随机数信号从所述更新数据生成加密后的更新数据,
所述控制电路将所述第一随机数信号和所述第二随机数信号形成为要被传输到所述外部终端设备的请求信号,
所述控制电路从所述外部终端设备接收第一响应信号和第二响应信号作为响应于所述请求信号的响应信号,
所述控制电路使用所述第一响应信号、所述第二随机数信号和所述第六随机数信号作为输入信号来生成第八随机数信号,以及
当所述第二响应信号与所述第八随机数信号一致时,所述控制电路为所述外部终端设备提供所述加密后的更新数据。
2.根据权利要求1所述的半导体设备,其中,所述控制电路通过预定的伪随机函数来计算所述第六随机数信号、所述第七随机数信号和所述第八随机数信号中的每个随机数信号。
3.根据权利要求1所述的半导体设备,其中,当所述第二响应信号与所述第八随机数信号不一致时,所述控制电路为所述外部终端设备提供位数与所述加密后的更新数据的位数相同的随机数信号来代替所述加密后的更新数据。
4.根据权利要求1所述的半导体设备,其中,当所述控制电路已经从所述外部终端设备接收到第三响应信号时,所述控制电路确定所述第三响应信号是否与第十随机数信号一致,所述第十随机数信号使用所述第一响应信号、所述第二随机数信号和所述第六随机数信号作为输入信号而生成,所述第三响应信号是响应于所提供的所述加密后的更新数据的响应信号,当所述第三响应信号与所述第十随机数信号彼此一致时,登记数据已被更新,并且当所述第三响应信号与所述第十随机数信号彼此不一致时,登记所述数据尚未被更新。
5.一种半导体设备,其包括存储器和控制电路并且所述半导体设备从外部服务器设备接收加密后的更新数据,其中,
所述存储器存储更新前的数据和密钥信息,
所述控制电路从所述外部服务器设备接收作为请求信号的第一随机数信号和第二随机数信号,
所述控制电路根据所述第一随机数信号和所述密钥信息生成第六随机数信号和第七随机数信号,
所述控制电路使用所述第二随机数信号和所述第六随机数信号作为输入信号,来生成第九随机数信号和第十随机数信号,
所述控制电路生成包括预定信号的挑战码,
所述控制电路向所述外部服务器设备输出所述第九随机数信号和所述挑战码作为响应于所述请求信号的响应信号,
所述控制电路从所述外部服务器设备接收基于所输出的所述响应信号的认证信号和所述加密后的更新数据,以及
当所接收到的所述认证信号与所述第十随机数信号一致时,所述控制电路执行对从所述外部服务器设备接收到的所述加密后的更新数据进行解密的处理。
6.根据权利要求5所述的半导体设备,其中,所述控制电路通过预定的伪随机函数来计算所述第六随机数信号、所述第七随机数信号、所述第九随机数信号和所述第十随机数信号中的每个随机数信号。
7.根据权利要求5所述的半导体设备,其中,当所接收到的所述认证信号与所述第十随机数信号不一致时,所述控制电路不执行对从所述外部服务器设备接收到的所述加密后的更新数据进行解密的处理。
8.根据权利要求5所述的半导体设备,其中,所述控制电路通过使预定位数的数值依次递增来生成所述挑战码。
9.根据权利要求5所述的半导体设备,其中,所述控制电路使用所述第二随机数信号和所述第六随机数信号作为输入信号生成第十二随机数信号,从而生成所述挑战码。
10.根据权利要求5所述的半导体设备,进一步包括随机数生成电路,所述随机数生成电路生成第三随机数信号,其中,
当所述控制电路生成所述第九随机数信号和所述第十随机数信号时,除作为输入信号的所述第二随机数信号和所述第六随机数信号之外,所述控制电路还接收所述第三随机数信号,以及
所述控制电路向所述外部服务器设备输出第三随机数信号作为所述挑战码。
11.根据权利要求5所述的半导体设备,其中,
所述控制电路生成第十三随机数信号作为伪随机函数的输出,所述伪随机函数至少包括作为输入信号的所述第二随机数信号和所述第六随机数信号,以及
当已经成功执行对所述加密后的更新数据进行解密的所述处理时,所述控制电路将所述第十三随机数信号输出到所述外部服务器设备。
12.根据权利要求11所述的半导体设备,其中,当尚未成功执行对所述加密后的更新数据进行解密的所述处理时,所述控制电路向所述外部服务器设备输出随机数信号以代替所述第十三随机数信号。
13.根据权利要求12所述的半导体设备,进一步包括真随机数生成电路,
其中,所述随机数信号是真随机数信号。
14.一种用于为外部终端设备提供更新数据的方法,所述方法包括:
存储密钥信息;
生成第一随机数信号和第二随机数信号,
根据所述第一随机数信号和所述密钥信息来生成第六随机数信号和第七随机数信号;
使用第七随机数信号从所述更新数据生成加密后的更新数据;
生成所述第一随机数信号和所述第二随机数信号作为待被传输到所述外部终端设备的请求信号;
从所述外部终端设备接收第一响应信号和第二响应信号作为响应于所述请求信号的响应信号;
使用所述第一响应信号、所述第二随机数信号和所述第六随机数信号作为输入信号来生成第八随机数信号;以及
当所述第二响应信号与所述第八随机数信号一致时,为所述外部终端设备提供所述加密后的更新数据。
15.一种从外部服务器设备接收加密后的更新数据的方法,所述方法包括:
存储更新前的数据和密钥信息;
从所述外部服务器设备接收作为请求信号的第一随机数信号和第二随机数信号;
根据所述第一随机数信号和所述密钥信息来生成第六随机数信号和第七随机数信号;
使用所述第二随机数信号和所述第六随机数信号作为输入信号,来生成第九随机数信号和第十随机数信号;
生成包括预定信号的挑战码;
向所述外部服务器设备输出所述第九随机数信号和所述挑战码作为响应于所述请求信号的响应信号;
从所述外部服务器设备接收基于所输出的所述响应信号的认证信号和所述加密后的更新数据;以及
当所接收到的所述认证信号与所述第十随机数信号一致时,执行对从所述外部服务器设备接收到的所述加密后的更新数据进行解密的处理。
16.一种存储用于使计算机执行以下方法的程序的计算机可读介质,所述方法是用于为外部终端设备提供更新数据的方法并且包括:
存储密钥信息;
生成第一随机数信号和第二随机数信号;
根据所述第一随机数信号和所述密钥信息来生成第六随机数信号和第七随机数信号;
使用所述第七随机数信号从所述更新数据生成加密后的更新数据;
生成所述第一随机数信号和所述第二随机数信号作为待被传输到所述外部终端设备的请求信号;
从所述外部终端设备接收第一响应信号和第二响应信号作为响应于所述请求信号的响应信号;
使用所述第一响应信号、所述第二随机数信号和所述第六随机数信号作为输入信号来生成第八随机数信号;以及
当所述第二响应信号与所述第八随机数信号一致时,为所述外部终端设备提供所述加密后的更新数据。
17.一种存储用于使计算机执行以下方法的程序的计算机可读介质,所述方法用于从外部服务器设备接收加密后的更新数据并且包括:
存储更新前的数据和密钥信息;
从所述外部服务器设备接收作为请求信号的第一随机数信号和第二随机数信号;
根据所述第一随机数信号和所述密钥信息来生成第六随机数信号和第七随机数信号;
使用所述第二随机数信号和所述第六随机数信号作为输入信号,来生成第九随机数信号和第十随机数信号;
生成包括预定信号的挑战码;
向所述外部服务器设备输出所述第九随机数信号和所述挑战码作为响应于所述请求信号的响应信号;
从所述外部服务器设备接收基于所输出的所述响应信号的认证信号和所述加密后的更新数据;以及
当所接收到的所述认证信号与所述第十随机数信号一致时,执行对从所述外部服务器设备接收到的所述加密后的更新数据进行解密的处理。
18.一种半导体设备,包括存储器、随机数生成电路和控制电路,所述半导体设备从外部服务器设备接收加密后的更新数据,并为外部终端设备提供所接收到的所述加密后的更新数据,其中,
所述存储器存储公用密钥,所述公用密钥在所述存储器与所述外部服务器设备之间可用,
所述控制电路从所述外部服务器设备接收加密密钥数据和加密后的更新数据,所述加密密钥数据包括由所述公用密钥进行加密的第一随机数信号、第二随机数信号和第六随机数信号,
所述控制电路通过所述公用密钥对所述加密密钥数据进行解密,以生成第六随机数信号,
所述控制电路输出所述第一随机数信号和所述第二随机数信号作为待被传输到所述外部终端设备的请求信号;
所述控制电路从所述外部终端设备接收第一响应信号和第二响应信号作为响应于所述请求信号的响应信号,
所述控制电路使用所述第一响应信号、所述第二随机数信号和所述第六随机数信号作为输入信号,来生成第八随机数信号,以及
当所述第二响应信号与所述第八随机数信号一致时,所述控制电路向所述外部终端设备提供所述加密后的更新数据。
19.根据权利要求18所述的半导体设备,其中,通过预定的伪随机函数来计算所述第六随机数信号和所述第八随机数信号中的每个随机数信号。
20.根据权利要求18所述的半导体设备,其中,当所述第二响应信号与所述第八随机数信号不一致时,所述控制电路为所述外部终端设备提供位数与所述加密后的更新数据的位数相同的随机数信号来代替所述加密后的更新数据。
CN201880082807.0A 2018-01-19 2018-01-19 半导体设备、提供更新数据的方法、接收更新数据的方法以及介质 Active CN111512593B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/001521 WO2019142307A1 (ja) 2018-01-19 2018-01-19 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム

Publications (2)

Publication Number Publication Date
CN111512593A CN111512593A (zh) 2020-08-07
CN111512593B true CN111512593B (zh) 2023-08-29

Family

ID=67300979

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880082807.0A Active CN111512593B (zh) 2018-01-19 2018-01-19 半导体设备、提供更新数据的方法、接收更新数据的方法以及介质

Country Status (5)

Country Link
US (1) US11516024B2 (zh)
EP (1) EP3742665A4 (zh)
JP (1) JP6888122B2 (zh)
CN (1) CN111512593B (zh)
WO (1) WO2019142307A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11090545B2 (en) * 2019-03-20 2021-08-17 Samuel W. Rall Wireless customizable referee paging system
US11269999B2 (en) * 2019-07-01 2022-03-08 At&T Intellectual Property I, L.P. Protecting computing devices from malicious tampering
JP7216262B2 (ja) * 2020-11-27 2023-02-01 株式会社クボタ 情報更新システム
US12088695B2 (en) * 2021-12-22 2024-09-10 Intel Corporation Systems and methods for device authentication in supply chain

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016020640A1 (en) * 2014-08-05 2016-02-11 Arm Ip Limited Control mechanisms for data processing devices
CN105706099A (zh) * 2013-11-06 2016-06-22 三菱电机株式会社 软件更新装置及软件更新程序
CN106603485A (zh) * 2016-10-31 2017-04-26 美的智慧家居科技有限公司 密钥协商方法及装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4292736B2 (ja) * 2001-11-15 2009-07-08 ソニー株式会社 伝送システム、伝送方法
US7934256B2 (en) 2005-06-01 2011-04-26 Panasonic Corporation Electronic device, update server device, key update device
JP5453324B2 (ja) 2009-02-16 2014-03-26 パナソニック株式会社 不正モジュール特定装置、情報処理装置、不正モジュール特定方法、不正モジュール特定プログラム、集積回路、不正モジュール無効化システム、および不正モジュール無効化方法
JP2012093921A (ja) * 2010-10-27 2012-05-17 Nec Engineering Ltd 情報漏洩防止ストレージシステム
US20120324557A1 (en) * 2011-06-17 2012-12-20 Raytheon Bbn Technologies Corp System and method for remote integrity verification
JP2014182571A (ja) 2013-03-19 2014-09-29 Denso Corp 車載電子制御装置のプログラム書換システム及び車載中継装置
JP5907937B2 (ja) * 2013-09-11 2016-04-26 京セラドキュメントソリューションズ株式会社 組込システム
JP5949732B2 (ja) 2013-11-27 2016-07-13 株式会社オートネットワーク技術研究所 プログラム更新システム及びプログラム更新方法
US9894066B2 (en) * 2014-07-30 2018-02-13 Master Lock Company Llc Wireless firmware updates
CN105577625B (zh) * 2014-10-17 2019-04-23 西安西电捷通无线网络通信股份有限公司 基于预共享密钥的实体鉴别方法及装置
JP2017022654A (ja) * 2015-07-14 2017-01-26 株式会社東芝 記憶装置及び方法
US10171478B2 (en) * 2016-06-30 2019-01-01 Faraday & Future Inc. Efficient and secure method and apparatus for firmware update

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105706099A (zh) * 2013-11-06 2016-06-22 三菱电机株式会社 软件更新装置及软件更新程序
WO2016020640A1 (en) * 2014-08-05 2016-02-11 Arm Ip Limited Control mechanisms for data processing devices
CN106603485A (zh) * 2016-10-31 2017-04-26 美的智慧家居科技有限公司 密钥协商方法及装置

Also Published As

Publication number Publication date
JP6888122B2 (ja) 2021-06-16
EP3742665A4 (en) 2021-08-18
US11516024B2 (en) 2022-11-29
CN111512593A (zh) 2020-08-07
JPWO2019142307A1 (ja) 2020-11-19
WO2019142307A1 (ja) 2019-07-25
US20200351108A1 (en) 2020-11-05
EP3742665A1 (en) 2020-11-25

Similar Documents

Publication Publication Date Title
US10469256B2 (en) Cryptographic communication system and cryptographic communication method
US7539312B2 (en) Program update method and server
US8533492B2 (en) Electronic device, key generation program, recording medium, and key generation method
CN111512593B (zh) 半导体设备、提供更新数据的方法、接收更新数据的方法以及介质
US11361087B2 (en) Security data processing device
EP2294529B1 (en) Electronic device and method of software or firmware updating of an electronic device
US9922178B2 (en) Media client device authentication using hardware root of trust
US10841087B2 (en) Security device, system, and security method
US9003197B2 (en) Methods, apparatus and system for authenticating a programmable hardware device and for authenticating commands received in the programmable hardware device from a secure processor
EP3214567B1 (en) Secure external update of memory content for a certain system on chip
US20190197259A1 (en) Method for determining an integrity sum, associated computer program and electronic entity
EP2689367B1 (en) Data protection using distributed security key
US20020168067A1 (en) Copy protection method and system for a field-programmable gate array
US11283632B2 (en) Integrated circuit, control device, information distribution method, and information distribution system
Gedeon et al. Secure boot and firmware update on a microcontroller-based embedded board
US20220350590A1 (en) Secure device update by passing encryption and data together
KR20230037588A (ko) 프로그래밍가능 장치를 원격으로 프로그래밍하는 방법
CN117763587A (zh) 一种算法加密的处理方法、装置、设备及介质
CN118364510A (zh) 数据处理方法、装置及设备
JP2019134288A (ja) 情報処理システム

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
GR01 Patent grant
GR01 Patent grant