CN102843231B - 密码通信系统和密码通信方法 - Google Patents

密码通信系统和密码通信方法 Download PDF

Info

Publication number
CN102843231B
CN102843231B CN201210211008.3A CN201210211008A CN102843231B CN 102843231 B CN102843231 B CN 102843231B CN 201210211008 A CN201210211008 A CN 201210211008A CN 102843231 B CN102843231 B CN 102843231B
Authority
CN
China
Prior art keywords
semiconductor device
shared key
signal generating
generating unit
key
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
CN201210211008.3A
Other languages
English (en)
Other versions
CN102843231A (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.)
Renesas Electronics Corp
Original Assignee
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Publication of CN102843231A publication Critical patent/CN102843231A/zh
Application granted granted Critical
Publication of CN102843231B publication Critical patent/CN102843231B/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/08Key distribution or management, e.g. generation, sharing or updating, 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
    • 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/0822Key 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 key encryption key
    • 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/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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • 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
    • 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
    • H04L9/304Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy based on error correction codes, e.g. McEliece
    • 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/3247Cryptographic 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 involving digital signatures
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

本发明公开了一种密码通信系统和密码通信方法。密码通信系统包括第一半导体装置和第二半导体装置。第一半导体装置包括用于通过使用唯一码UC(a)和校正数据CD(a)来生成共用密钥CK(a)的共用密钥生成单元,以及用于通过使用第二半导体装置的公开密钥PK(b)来加密在共用密钥生成单元内生成的共用密钥CK(a)的加密单元。第二半导体装置包括用于通过使用唯一码UC(b)和校正数据CD(b)来生成私有密钥SK(b)的私有密钥生成单元,以及用于通过使用私有密钥SK(b)来解密在加密单元内加密过的共用密钥CK(a)的解密单元。

Description

密码通信系统和密码通信方法
相关申请的交叉引用
本申请基于日本专利申请No.2011-136131(在2011年6月20日提交)、2011-136132(在2011年6月20日提交)和2012-076387(在2012年3月29日提交)并且要求它们的优先权的权益,并在此通过引用全文并入它们的公开内容。
技术领域
本发明涉及密码通信系统和密码通信方法,并且特别地涉及用于增强安全性的密码通信系统和密码通信方法。
背景技术
在通信系统中,通信数据被加密以防止通信数据的窃取、伪造等。用于加密的技术之一是其中通信的两端使用共同的加密密钥(以下称为共用密钥)的共用密钥密码体制。在共用密钥密码体制中,通信的两端必须共用第三方不知道的共用密钥。实现该目标的技术之一是使用RSA(注册商标)、椭圆曲线密码术等的公开密钥密码体制。
在日本未经审查的专利申请公开No.2010-226603中公开了一种用于提供能够防止使用非法复制的IC的集成电路的技术。在日本未经审查的专利申请公开(PCT申请的译文)No.2010-527219中公开了一种使用用于生成不可物理复制的唯一数据的电路或别的元件来生成诸如RSA公开密钥或私有密钥之类的安全字以由此确保在电子设备中使用的集成电路的安全性的技术。
此外,在日本未经审查的专利申请公开No.2005-341528中公开了一种用于减少通信系统中的密钥交换的时间的技术,其中该密钥交换是为了通过局域网使用共用加密密钥来执行密码通信。在日本未经审查的专利申请公开No.2002-26899中公开了一种用于在经由自组织(ad-hoc)无线连接进行的数据传输/接收中容易地验证数据的完整性的技术。
发明内容
例如,在使用共用密钥CK(x)于半导体装置ICx与半导体装置Icy之间执行密码通信的情况下,共用密钥CK(x)需要在ICx与ICy之间共享。当ICx具有共用密钥CK(x)时,ICx使用预先获得的ICy的公开密钥PK(y)来加密共用密钥CK(x)并且将所加密的共用密钥CK(x)'传输给ICy。然后,ICy使用ICy的私有密钥SK(y)来解密所加密的共用密钥CK(x)'并且由此获得共用密钥CK(x)。以此方式,通过使用公开密钥密码体制将共用密钥CK(x)从ICx传输到ICy,可以在第三方不知道的情况下于ICx与ICy之间共享共用密钥CK(x)。因而,能够使用共用密钥密码体制在ICx与ICy之间执行密码通信。
在将共用密钥CK(x)从ICx传输到ICy时,共用密钥CK(x)的信息没有泄露给第三方,因为共用密钥CK(x)被加密了。但是,因为诸如共用密钥CK(x)和私有密钥SK(y)之类的重要数据被存储于半导体装置(半导体芯片)ICx和ICy的非易失性存储器中,所以如果对半导体装置进行非授权的分析,那么就会发生诸如共用密钥CK(x)和私有密钥SK(y)之类的重要数据的泄露。
此外,在将半导体装置ICz添加到其中建立了安全通信(例如,以上所述的半导体装置ICx与半导体装置ICy)的密码通信系统的情形中,有必要验证待添加的半导体装置ICz是否是适当的半导体装置。但是,为了验证待添加的半导体装置ICz是否是适当的半导体装置,有必要将例如昂贵的安全服务器并入密码通信系统中。这会导致密码通信系统的成本增加。
根据本发明的一个方面的密码通信系统包括第一半导体装置和第二半导体装置。第一半导体装置通过使用作为由于第一半导体装置的过程变化(process variation)等而产生的唯一码的第一唯一码以及用于校正第一唯一码的第一校正数据来生成共用密钥,通过使用公开密钥来加密共用密钥,以及将所加密的共用密钥传输给第二半导体装置。第二半导体装置通过使用作为由于第二半导体装置的过程变化等而产生的唯一码的第二唯一码以及用于校正第二唯一码的第二校正数据来生成第二半导体装置的私有密钥,以及通过使用私有密钥来解密从第一半导体装置传输来的加密的共用密钥。通过该操作,第一半导体装置和第二半导体装置具有相同的共用密钥,从而以该共用密钥来实现高度安全的通信。
根据本发明的一个方面的密码通信系统包括第一半导体装置和第二半导体装置。第一半导体装置通过使用作为由于第一半导体装置的过程变化等而产生的唯一码的第一唯一码以及用于校正第一唯一码的第一校正数据来生成第一半导体装置的私有密钥,通过使用私有密钥和明文来生成签名数据,以及将签名数据传输给第二半导体装置。第二半导体装置通过使用第一半导体装置传输来的签名数据和公开密钥来生成验证数据,并且将验证数据与明文比较以确定第一半导体装置是否具有私有密钥。通过该操作,第一半导体装置不需要直接存储作为重要数据的私有密钥,由此提高在第一半导体装置与第二半导体装置之间的数字签名的安全性。
在上述方面中,第一半导体装置的公开密钥可以使用作为由于第二半导体装置的过程变化等而产生的唯一码的第二唯一码以及用于校正第二唯一码的第二校正数据来生成。
根据本发明的一个方面的密码通信系统包括第一到第三半导体装置。第三半导体装置将用于校正第一唯一码的第一校正数据供应给第一半导体装置,以及第一半导体装置通过使用作为由于第一半导体装置的过程变化等而产生的唯一码的第一唯一码以及由第三半导体装置供应的第一校正数据来生成共用密钥。此外,第三半导体装置还将用于校正第二唯一码的第二校正数据供应给第二半导体装置,以及第二半导体装置通过使用作为由于第二半导体装置的过程变化等而产生的唯一码的第二唯一码以及由第三半导体装置供应的第二校正数据来生成共用密钥。通过该操作,第一半导体装置和第二半导体装置具有相同的共用密钥,从而以该共用密钥来实现高度安全的通信。
在上述方面中,第三半导体装置可以包括用于存储与各个半导体装置关联的校正数据以及在各个半导体装置内生成的共用密钥的数据库。
此外,第三半导体装置可以通过使用作为由于第一半导体装置的过程变化等而产生的唯一码的第一唯一码及共用密钥来生成第一校正数据,以及通过使用作为由于第二半导体装置的过程变化等而产生的唯一码的第二唯一码及共用密钥来生成第二校正数据。
此外,第三半导体装置可以通过使用作为由于第一半导体装置的过程变化等而产生的唯一码的第一唯一码及第一共用密钥来生成第一校正数据,以及通过使用作为由于第二半导体装置的过程变化等而产生的唯一码的第二唯一码及第二共用密钥来生成第二校正数据。在这种情况下,第一半导体装置可以具有第一共用密钥,第二半导体装置可以具有第二共用密钥,以及第三半导体装置可以具有第一和第二共用密钥。因而,第一半导体装置和第三半导体装置能够使用第一共用密钥来通信,第二半导体装置和第三半导体装置能够使用第二共用密钥来通信,以及第一半导体装置和第二半导体装置能够通过第三半导体装置来通信。
根据本发明的一个方面的密码通信系统包括第一半导体装置和第二半导体装置。第一半导体装置通过使用作为由于第一半导体装置的过程变化等而产生的唯一码的第一唯一码以及用于校正第一唯一码的第一校正数据来生成第一共用密钥。此外,第一半导体装置通过使用作为由于第二半导体的过程变化等而产生的唯一码的第二唯一码及第一共用密钥来生成用于校正第二唯一码的第二校正数据,以及将所生成的第二校正数据传输给第二半导体装置。第二半导体装置通过使用在第一半导体装置内生成的第二校正数据及第二唯一码来生成第一共用密钥。通过该操作,第一半导体装置和第二半导体装置具有相同的共用密钥。因而,第一半导体装置和第二半导体装置能够使用第一共用密钥来执行高度安全的通信。
在上述方面中,第二半导体装置可以通过使用第一半导体装置的公开密钥来加密第二唯一码,并且将所加密的第二唯一码传输给第一半导体装置,以及第一半导体装置可以通过使用第一半导体装置的私有密钥来解密所加密的第二唯一码。
此外,根据本发明的一个方面的密码通信系统可以包括:包含用于存储与各个半导体装置关联的各个半导体装置的公开密钥的数据库的服务器。第二半导体装置然后通过使用第二半导体装置的私有密钥及明文来生成签名数据,并且将该签名数据传输给第一半导体装置。第一半导体装置通过使用从服务器传输来的第二半导体装置的公开密钥以及从第二半导体装置传输来的签名数据来生成验证数据,并且将验证数据与明文比较以确定第二半导体装置是否具有私有密钥。
此外,第二半导体装置可以通过使用第一半导体装置的公开密钥来加密用于使用第一共用密钥和第二唯一码来生成第二校正数据的校正数据生成程序,并且将所加密的校正数据生成程序传输给第一半导体装置。第一半导体装置解密所加密的校正数据生成程序,以及执行所解密的校正数据生成程序并由此通过使用第一共用密钥和第二唯一码来生成第二校正数据。
此外,第一共用密钥生成单元可以通过使用作为由于第一半导体装置的过程变化等而产生的唯一码的第一唯一码以及用于校正第一唯一码的第三校正数据来生成第二共用密钥。第一半导体装置由此能够使用第一共用密钥与第二半导体装置通信以及使用第二共用密钥与第三半导体装置通信,以及第二半导体装置能够通过第一半导体装置与第三半导体装置通信。
此外,根据本发明的一个方面的密码通信系统可以应用于车载半导体装置。
根据本发明的上述各方面,可以提供用于增强安全性的密码通信系统和密码通信方法。此外,根据本发明的上述各方面,可以提供能够将半导体装置容易地添加至其内执行安全通信的密码通信系统中的密码通信系统和密码通信方法。
附图说明
根据以下结合附图进行的关于某些实施例的描述,上述及其他方面、优点和特征将变得更清楚,在附图中:
图1是示出根据第一实施例的密码通信系统的框图;
图2是解释根据第一实施例的密码通信系统的操作的流程图;
图3是解释共用密钥生成单元的操作的流程图;
图4是示出在共用密钥生成单元内处理的唯一码的实例的表格;
图5是示出根据第二实施例的密码通信系统的框图;
图6是解释根据第二实施例的密码通信系统的操作的流程图;
图7是示出根据第三实施例的密码通信系统的框图;
图8是解释根据第三实施例的密码通信系统的操作的流程图;
图9是示出根据第四实施例的密码通信系统的框图;
图10是示出存储于根据第四实施例的密码通信系统的数据库中的数据的实例的表格;
图11是解释根据第四实施例的密码通信系统的操作的流程图;
图12是示出根据第五实施例的密码通信系统的框图
图13是解释根据第五实施例的密码通信系统的操作的流程图;
图14是解释校正数据生成单元的操作的流程图;
图15是示出根据第六实施例的密码通信系统的框图;
图16是解释根据第六实施例的密码通信系统的操作的流程图;
图17是示出将根据第一到第六实施例的密码通信系统应用于车载半导体装置的情形的框图;
图18是示出根据第八实施例的密码通信系统的框图;
图19是解释根据第八实施例的密码通信系统的操作的流程图;
图20是解释共用密钥生成单元的操作的流程图;
图21是示出在共用密钥生成单元内处理的唯一码的实例的表格;
图22是解释校正数据生成单元的操作的流程图;
图23是示出其中校正数据使用多个半导体装置来生成的情形的示意图;
图24是示出根据第九实施例的密码通信系统的框图;
图25是解释根据第九实施例的密码通信系统的操作的流程图;
图26是示出第十实施例的密码通信系统的框图;
图27是解释根据第十实施例的密码通信系统的操作的流程图;
图28是示出第十一实施例的密码通信系统的框图;
图29是解释根据第十一实施例的密码通信系统的操作的流程图;
图30是示出第十二实施例的密码通信系统的框图;
图31是解释根据第十二实施例的密码通信系统的操作的流程图;
图32是示出第十二实施例的密码通信系统的配置的框图;以及
图33是示出将根据第八到第十二实施例的密码通信系统应用于车载半导体装置的情形的框图。
具体实施方式
<第一实施例>
本发明的实施例在下文参照附图来描述。
图1是示出根据第一实施例的密码通信系统的框图。根据本实施例的密码通信系统1包括半导体装置ICa(第一半导体装置)10和半导体装置ICb(第二半导体装置)20。半导体装置10包括唯一码生成单元11、存储单元12、共用密钥生成单元13和加密单元14。
唯一码生成单元11生成具有为半导体装置10所独有的值且含有随机错误的唯一码(第一唯一码)UC(a),并且将它输出到共用密钥生成单元13。唯一码UC(a)是由包含于半导体装置10内的元件所固有的物理性质确定的值。例如,唯一码生成单元11可以使用在包含于半导体装置10内的存储元件启动时的值来生成唯一码UC(a)。唯一码是使用随实际制作的IC而不同的性质生成的码,尽管IC的设计是相同的。这种技术被称为PUF(物理不可复制功能),并且这是一种即使在具有同样电路的多个IC通过相同的制造设备同时制作于一块半导体晶圆上时也可为各个IC生成唯一码并且进一步使IC不可复制的技术。这种技术的使用在不需要诸如防篡改芯片之类的专用硬件的情况下实现了数据的有效隐蔽。
存储单元12能够存储校正数据(第一校正数据)CD(a)、在共用密钥生成单元13内生成的共用密钥CK(a)以及半导体装置20的公开密钥PK(b)。存储单元12包括例如易失性存储器(例如,SRAM)和非易失性存储器(例如,闪存),校正数据CD(a)和公开密钥PK(b)存储于非易失性存储器内,以及共用密钥CK(a)存储于易失性存储器内。因而,尽管存储单元12临时性地存储了共用密钥CK(a),但是共用密钥CK(a)的信息在半导体装置10断电时会被擦除。注意,共用密钥CK(a)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,并且可以对存储于非易失性存储器内的共用密钥CK(a)实行诸如在半导体装置10断电时通过写入来擦除数据的措施。
共用密钥生成单元13使用由唯一码生成单元11输出的唯一码UC(a)以及存储于存储单元12内的存储数据CD(a)来生成共用密钥CK(a)。
在唯一码生成单元11内生成的唯一码UC(a)是含有在唯一码的生成期间依据外部因素(例如,温度和电压)而变化的位值的数据。因此,在唯一码生成单元11内生成的唯一码UC(a)含有三类位:(1)具有稳定值的位,(2)具有高变化性的位(即,值的变化相对较大的位)以及(3)具有低变化性的位(即,值的变化相对较小的位)。以此方式,在唯一码生成单元11内生成的唯一码UC(a)含有(2)具有高变化性的位以及(3)具有低变化性的位。因此,唯一码UC(a)在每次生成时都具有不同的值。
具有高变化性的位能够在制作过程中找到。因而,通过在制作过程中作出每个位的判定,能够产生用于屏蔽(mask)具有高变化性的位的屏蔽数据。通过使用屏蔽数据来屏蔽在唯一码生成单元11内生成的唯一码UC(a),能够消去在UC(a)内所含有的具有高变化性的位。因为具有高变化性的位的位置在装置与装置之间是不同的,所以屏蔽数据是为半导体装置所独有的数据。
另一方面,具有低变化性的位由于外部因素、剩余电荷等而变化,并因而难以作出估计。因此,具有低变化性的位使用在制作期间生成的ECC码(例如,BCH码或RS码(Reed-Solomon code))来处理。共用密钥生成单元13的操作将在下文具体地描述。
图3是解释共用密钥生成单元13的操作的流程图,以及图4是示出在共用密钥生成单元13内处理的唯一码的实例的表格。首先,共用密钥生成单元13从唯一码生成单元11中读取唯一码UC(a)(步骤S11)。在该步骤内所读取的唯一码UC(a)是尚未对其进行用于消去具有可变值的位的错误校正的唯一码。
然后,共用密钥生成单元13使用包含于校正数据CD(a)内的屏蔽数据来屏蔽所读取的唯一码UC(a)(步骤S12)。屏蔽数据是用于屏蔽在唯一码UC(a)的各个位当中具有高误码率的、具有可变位值的位的数据。在图4所示的实例中,因为唯一码UC(a)的第一位和第六位的误码率是高的,所以屏蔽数据是“0”。因为其他位是具有低误码率的位或者具有稳定值的位,所以屏蔽数据是“1”。换言之,用于需要屏蔽的位的屏蔽数据是“0”,以及用于不需要屏蔽的位的屏蔽数据是“1”。通过使用屏蔽数据来屏蔽唯一码UC(a),能够获得其中消去了唯一码UC(a)的第一位和第六位的屏蔽唯一码UC(a)'(通过屏蔽消去的位由“X”指示)。之后,使屏蔽唯一码UC(a)'左对齐。
然后,使用包含于校正数据CD(a)内的ECC码(错误校正码),共用密钥生成单元13进行校正以去除包含于屏蔽唯一码UC(a)'内的具有低程度的变化性的位的错误,由此获得唯一码UC(a)″(步骤S13)。在图4所示的实例中,由于屏蔽唯一码UC(a)'使用ECC码来处理,因而第一位从“0”校正为“1”。
然后,共用密钥生成单元13使用包含于校正数据CD(a)内的操作参数来执行对已校正错误的唯一码UC(a)″的指定操作(步骤S14)。在图4所示的实例中,对已校正错误的唯一码UC(a)″执行非(NOT)操作。在该操作之后的唯一码UC(a)是共用密钥CK(a)。注意,非操作只是一个示例,以及可以对已校正错误的唯一码UC(a)″执行任何操作。通过改变操作参数,可以根据需要来改变共用密钥CK(a)。此外,通过使用操作参数来执行对已校正错误的唯一码UC(a)″的指定操作,共用密钥CK(a)能够被生成为与唯一码UC(a)不明显类似的码。这进一步提高了安全级别。而且,可以跳过对已校正错误的唯一码UC(a)″执行的操作。在这种情况下,使用屏蔽数据和ECC码处理过的唯一码UC(a)″用作共用密钥CK(a)。以此方式生成的共用密钥CK(a)被输出到存储单元12和加密单元14。
注意,包含于校正数据CD(a)内的屏蔽码、ECC码和操作参数被预先生成为半导体装置10的唯一数据,并且存储于存储单元12内。用于生成校正数据CD(a)的方法将在后面描述(参见第五实施例,图14)。此外,为了抽取出包含于从唯一码生成单元11中读取的唯一码UC(a)内的具有高变化性的位,多次执行唯一码UC(a)的读取并且然后基于屏蔽唯一码UC(a)'来生成ECC码。
如上所述,共用密钥生成单元13具有生成共用密钥CK(a)的功能,以及还具有使用校正数据CD(a)来校正唯一码UC(a)的功能。图1所示的私有密钥生成单元23、图5所示的私有密钥生成单元33、图7所示的私有密钥生成单元53和公开密钥生成单元63、图9所示的共用密钥生成单元73和83、图12所示的共用密钥生成单元113和123以及图15所示的共用密钥生成单元143和153也起着使用校正数据CD来校正唯一码UC的唯一码校正单元的作用。注意,虽然在本说明书中出于方便起见而根据待生成的密钥将密钥生成单元称为共用密钥生成单元、私有密钥生成单元或公开密钥生成单元,但是这些单元的配置和操作是基本上相同的。
共用密钥CK(a)是一次性使用(一次)的密钥或固定的密钥,取决于用法。例如,当共用密钥CK(a)是用于将加密数据存储于非易失性存储器内的固定密钥时,校正数据CD(a)被确定以便根据被获得作为半导体装置10的唯一码UC(a)的位格式(bit pattern)来获得作为共用密钥CK(a)的位格式,并因此能够容易地生成多个校正数据CD(a)。另一方面,当共用密钥CK(a)是待用于ICa和ICb之间的每个通信会话的一次性使用的密钥时,校正数据CD(a)被确定以便获得用于多个不同的校正数据CD(a)的不同的位格式。
图1中的加密单元14通过使用半导体装置20的公开密钥PK(b)来加密在共用密钥生成单元13内生成的共用密钥CK(a)。待用于加密的公开密钥PK(b)可以预先从半导体装置20传输到半导体装置10并存储于存储单元12内。作为选择,待用于加密的公开密钥PK(b)可以在加密单元14加密共用密钥CK(a)时由半导体装置20直接供应给加密单元14。
半导体装置20包括唯一码生成单元21、存储单元22、私有密钥生成单元23和解密单元24。唯一码生成单元21生成具有为半导体装置20所独有的值且含有随机错误的唯一码(第二唯一码)UC(b),并将其输出到私有密钥生成单元23。唯一码生成单元21的配置和操作是与以上所述的唯一码生成单元11基本上相同的。
存储单元22能够存储校正数据(第二校正数据)CD(b)、公开密钥PK(b)和已由解密单元解密的共用密钥CK(a)。存储单元22包括例如易失性存储器和非易失性存储器,校正数据CD(b)和公开密钥(b)存储于非易失性存储器内,以及共用密钥CK(a)存储于易失性存储器内。因而,尽管存储单元22临时存储着共用密钥CK(a),但是共用密钥CK(a)的信息在半导体装置20断电时会被擦除。注意,共用密钥CK(a)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(a)实行诸如在半导体装置20断电时通过写入来擦除数据的措施。
私有密钥生成单元23使用唯一码UC(b)和校正数据CD(b)来生成半导体装置20的私有密钥SK(b)。注意,用于在私有密钥生成单元23内生成私有密钥SK(b)的方法是与以上所描述的用于在共用密钥生成单元13内生成共用密钥CK(a)的方法基本上相同的。
解密单元24通过使用私有密钥SK(b)来解密在半导体装置10的加密单元14内加密的共用密钥,并由此生成共用密钥CK(a)。
根据本实施例的密码通信系统的操作在下文参照图2的流程图来描述。首先,半导体装置ICb(20)将半导体装置ICb(20)的公开密钥PK(b)传输给半导体装置ICa(10)(步骤S1)。所传输的公开密钥PK(b)被存储于半导体装置10的存储单元12内。然后,半导体装置10的共用密钥生成单元13使用由唯一码生成单元11输出的唯一码UC(a)以及存储于存储单元12内的校正数据CD(a)来生成共用密钥CK(a)(步骤S2)。加密单元14通过使用半导体装置20的公开密钥PK(b)来加密在共用密钥生成单元13内生成的共用密钥CK(a),并由此生成加密的共用密钥CK(a)'(步骤S3)。然后,加密的共用密钥CK(a)'由半导体装置10传输给半导体装置20(步骤S4)。
半导体装置20的私有密钥生成单元23使用唯一码UC(b)和校正数据CD(b)来生成半导体装置20的私有密钥SK(b)(步骤S5)。解密单元24通过使用私有密钥SK(b)来解密所加密的共用密钥CK(a)',并由此生成共用密钥CK(a)(步骤S6)。通过上述过程,半导体装置10和半导体装置20两者能够具有共用密钥CK(a)。因而,半导体装置10和半导体装置20能够使用共用密钥CK(a)来执行密码通信(步骤S7)。注意,上述步骤的顺序能够适当地改变,只要它是一致的。例如,步骤S5可以与在半导体装置10内执行的步骤S2和S3并行地在半导体装置20内执行。
正如先前所描述的,在使用共用密钥CK(x)来执行半导体装置ICx与半导体装置ICy之间的密码通信的情形中,共用密钥CK(x)需要在ICx和ICy之间共用。当ICx具有共用密钥CK(x)时,ICx使用预先获得的ICy的公开密钥PK(y)来加密共用密钥CK(x),并且将所加密的共用密钥CK(x)'传输给ICy。然后,ICy使用ICy的私有密钥SK(y)来解密所加密的共用密钥CK(x)',并由此获得共用密钥CK(x)。以此方式,通过使用公开密钥密码体制来将共用密钥CK(x)从ICx传输到ICy,可以在第三方不知道的情况下于ICx和ICy之间共享共用密钥CK(x)。因而,能够使用共用密钥密码体制来执行ICx与ICy之间的密码通信。
在将共用密钥CK(x)从ICx传输到ICy时,关于共用密钥CK(x)的信息并没有被泄漏,因为共用密钥CK(x)是加密的。但是,因为诸如共用密钥CK(x)和私有密钥SK(y)之类的重要数据被存储于半导体装置(半导体芯片)ICx和ICy的非易失性存储器(存储单元)内,所以如果对半导体装置进行非授权的分析,则会发生诸如共用密钥CK(x)和私有密钥SK(y)之类的重要数据的泄漏。
另一方面,在根据本实施例的密码通信系统中,在半导体装置10的共用密钥生成单元13内通过使用含有为半导体装置10所独有的信息分量和可变的信息分量的唯一码UC(a)以及用于校正唯一码UC(a)的校正数据CD(a)来生成共用密钥CK(a)。此外,在半导体装置20的私有密钥生成单元23内通过使用含有为半导体装置20所独有的信息分量和可变的信息分量的信息唯一码UC(b)以及用于校正唯一码UC(b)的校正数据CD(b)来生成半导体装置20的私有密钥SK(b)。因为诸如共用密钥CK(a)和私有密钥SK(b)之类的重要数据并没有直接存储于存储单元12和22内,所以即使半导体装置受到非授权的分析也不会发生诸如共用密钥CK(a)和私有密钥SK(b)之类的重要数据的泄漏。
此外,尽管私有密钥SK(b)需要是与公开密钥PK(b)对应的密钥,但仍然容易生成多个校正数据CD(b),因为校正数据CD(b)能够被确定以便根据被获得作为半导体装置20的唯一码UC(b)的位格式来获得作为私有密钥SK(b)的位格式。
用于分析半导体装置以便非授权地获得数据的方法有如下这些。
(1)用于使用FIB(聚焦离子束)对半导体装置进行修改以及使用探针对半导体装置进行物理分析的方法。
(2)用于通过将电磁波(例如,激光束)施加于半导体装置或者将噪声插入电源端子来使CPU失控(run away)并由此以非授权的方式获得数据的故障树分析法。
(3)用于观察半导体装置的电流消耗以及分析密钥数据(key data)的泄漏分析法。
为了避免非授权的分析,在需要高安全级别的领域内,使用了具有高安全级别的微型计算机(以下称为安全微型计算机)。安全微型计算机具有用于保护布线区的罩盖、用于检测光或信号噪声的功能、用于通过将随机数信号与信号结合来干扰电流的功能等。在通过以上所述的泄漏分析法对密钥数据的非授权分析中,由于基于具体数据的特定操作的执行而产生的功率消耗的特征图(characteristic pattern)被提取。功率消耗的特征图能够通过使用随机数等从多个校正数据CD(a)或CD(b)中进行随机选择来干扰。
以此方式,可以通过使用安全微型计算机来防止第三方对半导体装置的非授权分析。但是,在使用安全微型计算机的情形中,尽管能够防止非授权的分析,但是半导体装置的制造商也由于其防篡改性高而无法执行失效分析和故障分析。特别地,在用于汽车用途的车载微型计算机(ECU等)中,半导体装置的失效分析和故障分析是必要的,因为需要高可靠性。由于该原因,具有比安全微型计算机低的安全级别的通用微型计算机广泛地作为车载微型计算机来使用。因而,需要借助于通用微型计算机来提高半导体装置的安全级别的密码通信系统来用于车载微型计算机。
在根据本实施例的密码通信系统中,因为诸如共用密钥CK(a)和私有密钥SK(b)之类的重要数据并不直接存储于存储单元12和22内,所以即使半导体装置受到非授权的分析也不会发生诸如共用密钥CK(a)和私有密钥SK(b)之类的重要数据的泄漏。因此,即使在半导体装置10和半导体装置20使用具有相对低的安全级别的通用微型计算机来配置时,也能够实现高的安全级别。
注意,被用来生成共用密钥CK(a)和私有密钥SK(b)的校正数据CD(a)和CD(b)是具有相对高的安全级别的信息,尽管该安全级别低于共用密钥CK(a)和私有密钥SK(b)的安全级别。因而,安全微型计算机可以用于半导体装置10和20,在半导体装置10和20内存储了校正数据CD(a)和CD(b)以便防止校正数据CD(a)和CD(a)泄漏给第三方。
如上所述,根据本发明的实施例,可以提供提高了安全性的密码通信系统和密码通信方法。
<第二实施例>
本发明的第二实施例将在下面描述。图5是示出根据本实施例的密码通信系统2的框图。在本实施例中,将密码通信系统应用于数字签名系统。根据本实施例的密码通信系统2包括半导体装置ICa(30)和半导体装置ICb(40)。半导体装置30包括唯一码生成单元31、存储单元32、私有密钥生成单元33和签名数据生成单元34。
唯一码生成单元31生成为半导体装置30所独有的唯一码UC(a),并将其输出到私有密钥生成单元33。唯一码生成单元31的基本配置和操作与第一实施例所描述的唯一码生成单元11的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元32能够将半导体装置30的校正数据CD(a)、明文Plane(a)和公开密钥PK(a)存储于非易失性存储器内。
私有密钥生成单元33使用由唯一码生成单元31输出的唯一码UC(a)以及存储于存储单元32内的校正数据CD(a)来生成半导体装置30的私有密钥SK(a)。注意,私有密钥生成单元33起着唯一码校正单元的作用。私有密钥生成单元33的基本配置和操作与第一实施例所描述的共用密钥生成单元13的基本配置和操作是相同的,并且在此省略关于它的多余解释。
签名数据生成单元34使用在私有密钥生成单元33内生成的私有密钥SK(a)以及存储于存储单元32内的明文Plane(a)来生成签名数据Sig(a)。换言之,签名数据生成单元34执行数字签名方案中的签名生成算法。
半导体装置40包括存储单元41和验证单元42。存储单元41能够存储半导体装置30的公开密钥PK(a)。验证单元42执行数字签名方案中的验证算法。特别地,验证单元42使用半导体装置30的签名数据Sig(a)和公开密钥PK(a)来生成验证数据。签名数据Sig(a)是通过使用半导体装置30的私有密钥SK(a)来加密明文Plane(a)而生成的数据。因而,通过使用半导体装置30的公开密钥PK(a)来解密签名数据Sig(a)而获得的验证数据是与从半导体装置30传输来的明文Plane(a)对应的数据。因此,验证单元42将验证数据与明文Plane(a)比较,并且当验证数据和明文Plane(a)相匹配时,能够确定半导体装置30具有私有密钥SK(a)。注意,由半导体装置30供应的公开密钥PK(a)可以直接供应给半导体装置40的验证单元42。
根据本实施例的密码通信系统的操作在下面参照图6的流程图来描述。首先,半导体装置30(对应于签名方)将半导体装置30的公开密钥PK(a)传输给半导体装置40(对应于验证方)(步骤S21)。
然后,半导体装置30的私有密钥生成单元33使用由唯一码生成单元31输出的唯一码UC(a)以及存储于存储单元32内的校正数据CD(a)来生成半导体装置30的私有密钥SK(a)(步骤S22)。之后,半导体装置30的签名数据生成单元34执行数字签名方案中的签名生成算法。特别地,签名数据生成单元34使用在私有密钥生成单元33内生成的私有密钥SK(a)以及存储于存储单元32内的明文Plane(a)来生成签名数据Sig(a)(步骤S23)。
在签名数据生成单元34内生成的签名数据Sig(a)被传输给半导体装置40的验证单元42(步骤S24)。此外,明文Plane(a)被传输给半导体装置40的验证单元42(步骤S25)。注意,尽管在图5中示出了将明文Plane(a)存储于存储单元32内的情形,但是明文Plane(a)可以从外部直接供应给签名数据生成单元34和验证单元42。
半导体装置40的验证单元42执行数字签名方案中的验证算法。特别地,验证单元42使用半导体装置30的签名数据Sig(a)和公开密钥PK(a)来生成验证数据,并且将验证数据与明文Plane(a)比较(步骤S26)。当验证数据与明文Plane(a)相匹配时(当验证算法接受签名数据Sig(a)时),验证单元42确定由半导体装置30产生的签名数据Sig(a)是有效的。换言之,确定半导体装置30具有私有密钥SK(a)。另一方面,当验证数据和明文Plane(a)不匹配时(当验证算法拒绝签名数据Sig(a)时),验证单元42确定由半导体装置30产生的签名数据Sig(a)是无效的。换言之,确定半导体装置30不具有私有密钥SK(a)。注意,上述步骤的顺序能够适当地改变,只要它是一致的。
通常,在使用数字签名方案来执行半导体装置ICx(对应于签名方)与半导体装置ICy(对应于验证方)之间的验证的情况下,ICx需要具有私有密钥SK(x)。私有密钥SK(x)被存储于半导体装置ICx的非易失性存储器(存储单元)内。因此,如果半导体装置受到非授权的分析,则会发生诸如私有密钥SK(x)之类的重要数据的泄漏。
另一方面,在根据本实施例的密码通信系统中,在半导体装置30的密钥生成单元33内通过使用为半导体装置30所独有的唯一码UC(a)以及存储于存储单元32内的校正数据CD(a)来生成半导体装置30的私有密钥SK(a)。因为作为重要数据的私有密钥SK(a)并不直接存储于存储单元32内,所以即使半导体装置受到非授权的分析也不会发生私有密钥SK(a)的泄漏。因此,即使在半导体装置30和半导体装置40使用具有相对低的安全级别的通用微型计算机来配置时,也能够实现高的安全级别。注意,可以将安全微型计算机用于半导体装置30和40,以便进一步提高包括半导体装置30和半导体装置40的密码通信系统的安全级别。
如上所述,根据本发明的实施例,可以提供用于提高安全性的密码通信系统和密码通信方法。
<第三实施例>
本发明的第三实施例将在下面描述。图7是示出根据本实施例的密码通信系统3的框图。在本实施例中,将密码通信系统应用于数字签名系统。根据第二实施例的密码通信系统2在步骤S21将半导体装置30的公开密钥PK(a)传输给半导体装置40,而在根据本实施例的密码通信系统3中,半导体装置50的公开密钥PK(a)使用公开密钥生成单元63来生成。
图7所示的根据本实施例的密码通信系统3包括半导体装置ICa(50)和半导体装置ICb(60)。半导体装置50包括唯一码生成单元51、存储单元52、私有密钥生成单元53及签名数据生成单元54。
唯一码生成单元51生成为半导体装置50所独有的唯一码UC(a)并将其输出到私有密钥生成单元53。唯一码生成单元51的基本配置和操作与第一实施例所描述的唯一码生成单元11的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元52能够将校正数据CD(a)和明文Plane(a)存储于非易失性存储器内。
私有密钥生成单元53使用由唯一码生成单元51输出的唯一码UC(a)以及存储于存储单元52内的校正数据CD(a)来生成半导体装置50的私有密钥SK(a)。注意,私有密钥生成单元53起着唯一码校正单元的作用。私有密钥生成单元53的基本配置和操作与第一实施例所描述的共用密钥生成单元13的基本配置和操作是相同的,并且在此省略关于它的多余解释。
签名数据生成单元54使用在私有密钥生成单元53内生成的私有密钥SK(a)以及存储于存储单元52内的明文Plane(a)来生成签名数据Sig(a)。换言之,签名数据生成单元54执行数字签名方案中的签名生成算法。
半导体装置60包括唯一码生成单元61、存储单元62、公开密钥生成单元63和验证单元64。唯一码生成单元61生成为半导体装置60所独有的唯一码UC(b)并且将其输出到公开密钥生成单元63。唯一码生成单元61的基本配置和操作与第一实施例所描述的唯一码生成单元11的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元62能够将校正数据CD(b)存储于非易失性存储器内。
公开密钥生成单元63使用由唯一码生成单元61输出的唯一码UC(b)以及存储于存储单元62内的校正数据CD(b)来生成半导体装置50的公开密钥PK(a)。注意,公开密钥生成单元63起着唯一码校正单元的作用。公开密钥生成单元63的基本配置和操作与第一实施例所描述的共用密钥生成单元13的基本配置和操作是相同的,并且在此省略关于它的重复描述。
验证单元64执行数字签名方案中的验证算法。特别地,验证单元64使用半导体装置50的签名数据Sig(a)和公开密钥PK(a)来生成验证数据。签名数据Sig(a)是通过使用半导体装置50的私有密钥SK(a)来加密明文Plane(a)而生成的数据。因而,通过使用半导体装置50的公开密钥PK(a)来解密签名数据Sig(a)而获得的验证数据是与从半导体装置50传输来的明文Plane(a)对应的数据。因此,验证单元64将验证数据与明文Plane(a)比较,并且当验证数据与明文Plane(a)相匹配时,能够确定半导体装置50具有私有密钥SK(a)。
根据本实施例的密码通信系统的操作在下面参照图8的流程图来描述。首先,半导体装置50(对应于签名方)的私有密钥生成单元53使用由唯一码生成单元51输出的唯一码UC(a)以及存储于存储单元52内的校正数据CD(a)来生成半导体装置50的私有密钥SK(a)(步骤S31)。然后,半导体装置50的签名数据生成单元54执行数字签名方案中的签名生成算法。特别地,签名数据生成单元54使用在私有密钥生成单元50内生成的私有密钥SK(a)以及存储于存储单元52内的明文Plane(a)来生成签名数据Sig(a)(步骤S32)。
另一方面,半导体装置60(对应于验证方)的公开密钥生成单元63使用由唯一码生成单元61输出的唯一码UC(b)以及存储于存储单元62内的校正数据CD(b)来生成半导体装置50的公开密钥PK(a)(步骤S33)。
在签名数据生成单元54内生成的签名数据Sig(a)被传输给半导体装置60的验证单元64(步骤S34)。此外,明文Plane(a)被传输给半导体装置60的验证单元64(步骤S35)。注意,尽管在图7中示出了将明文Plane(a)存储于存储单元52内的情形,但是明文Plane(a)可以从外部直接供应给签名数据生成单元54和验证单元64。
半导体装置60的验证单元64执行数字签名方案中的验证算法。特别地,验证单元64使用半导体装置50的签名数据Sig(a)和公开密钥PK(a)来生成验证数据,并且将验证数据与明文Plane(a)比较(步骤S36)。当验证数据与明文Plane(a)相匹配时(当时验证算法接受签名数据Sig(a)时),验证单元64确定由半导体装置50产生的签名数据Sig(a)是有效的。换言之,确定半导体装置50具有私有密钥SK(a)。另一方面,当验证数据与明文Plane(a)不匹配时(当验证算法拒绝签名数据Sig(a)时),验证单元64确定由半导体装置50产生的签名数据Sig(a)是无效的。换言之,确定半导体装置50不具有私有密钥SK(a)。注意,上述步骤的顺序能够适当地改变,只要它是一致的。
在根据本实施例的密码通信系统中,在半导体装置50的私有密钥生成单元53内通过使用为半导体装置50所独有的唯一码UC(a)和校正数据CD(a)来生成半导体装置50的私有密钥SK(a)。因为作为重要数据的私有密钥SK(a)并不直接存储于存储单元52内,所以即使半导体装置受到未授权的分析也不会发生作为重要数据的私有密钥SK(a)的泄漏。因此,即使在半导体装置50和半导体装置60使用具有相对低的安全级别的通用微型计算机来配置时,也能够实现高的安全级别。
此外,在根据本实施例的密码通信系统中,在半导体装置60的公开密钥生成单元63内通过使用唯一码UC(b)和校正数据CD(b)来生成半导体装置50的公开密钥PK(a)。因为不需要将公开密钥PK(a)从半导体装置50传输到半导体装置60,所以可以防止所使用的密码方法泄漏给第三方,这进一步提高了密码通信系统的安全性。注意,可以将安全微型计算机用于半导体装置50和60,以便进一步提高包括半导体装置50和半导体装置60的密码通信系统的安全级别。
<第四实施例>
本发明的第四实施例将在下面描述。在以上所述的第一到第三实施例中,用于生成共用密钥和私有密钥的校正数据CD(a)和CD(b)被存储于半导体装置内。但是,用于生成共用密钥和私有密钥的校正数据CD(a)和CD(b)也是具有高安全级别的信息。因而,优选的是构造出其中校正数据CD(a)和CD(b)不被泄漏给第三方的密码通信系统。
在图9所示的根据本实施例的密码通信系统4中,待用于生成共用密钥的校正数据并没有存储于半导体装置70和80内,而是布置了包含用于集中管理校正数据的数据库91的半导体装置90。因为具有高安全级别的校正数据被存储于半导体装置90的数据库91内,所以优选的是使用安全微型计算机来配置半导体装置90。另一方面,具有高安全级别的共用密钥CK(1)的信息并不存储于半导体装置70和80中的非易失性存储器内,因而半导体装置70和80能够使用通用微型计算机来配置。特别地,尽管共用密钥CK(1)临时存储于存储单元72和82内,但是因为共用密钥CK(1)存储于易失性存储器内,所以共用密钥CK(1)的信息在半导体装置70和80断电时会被擦除。因此,具有高安全级别的共用密钥CK(1)并不存储于半导体装置70和80内。根据本实施例的密码通信系统将在下面详细地描述。
图9所示的密码通信系统4包括半导体装置70、80和90。半导体装置(第一半导体装置)70包括唯一码生成单元71、存储单元72及共用密钥生成单元(第一共用密钥生成单元)73。
唯一码生成单元71生成为半导体装置70所独有的唯一码UC(a),并将其输出到共用密钥生成单元73。唯一码生成单元71的基本配置和操作与第一实施例所描述的唯一码生成单元11的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元72将在共用密钥生成单元73内生成的共用密钥CK(1)存储于易失性存储器内。共用密钥CK(1)在半导体装置70断电时被擦除。注意,共用密钥CK(1)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(1)实行诸如在半导体装置70断电时通过写入来擦除数据的措施。
共用密钥生成单元73使用由唯一码生成单元71输出的唯一码UC(a)以及由半导体装置90供应的校正数据(第一校正数据)CD(1,a)来生成共用密钥CK(1)。共用密钥生成单元73起着唯一码校正单元的作用。共用密钥生成单元73的基本配置和操作与第一实施例所描述的共用密钥生成单元13的基本配置和操作是相同的,并且在此省略关于它的多余解释。
半导体装置(第二半导体装置)80包括唯一码生成单元81、存储单元82和共用密钥生成单元(第二共用密钥生成单元)83。
唯一码生成单元81生成为半导体装置80所独有的唯一码UC(b),并且将其输出到共用密钥生成单元83。唯一码生成单元81的基本配置和操作与根据第一实施例所描述的唯一码生成单元11的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元82将在共用密钥生成单元83内生成的共用密钥CK(1)存储于易失性存储器内。共用密钥CK(1)在半导体装置80断电时被擦除。注意,共用密钥CK(1)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(1)实行诸如在半导体装置80断电时通过写入来擦除数据的措施。
共用密钥生成单元83通过使用由唯一码生成单元81输出的唯一码UC(b)以及由半导体装置90供应的校正数据(第二校正数据)CD(1,b)来生成共用密钥CK(1)。共用密钥生成单元83起着唯一码校正单元的作用。共用密钥生成单元83的基本配置和操作与第一实施例所描述的共用密钥生成单元13的基本配置和操作是相同的,并且在此省略关于它的多余解释。
半导体装置(第三半导体装置)90包括用于存储校正数据的数据库91。图10是示出存储于数据库91内的数据的实例的表格。如图10所示,与半导体装置(ICa、ICb、ICc、…、ICz)以及在半导体装置内生成的公开密钥(CK(1)、CK(2)、CK(3)、…、CK(n))关联的校正数据CD(1,a)、CD(1,b)、…被存储于数据库91内。
例如,在半导体装置ICa内生成共用密钥CK(1)的情形中,校正数据CD(1,a)被传输给半导体装置ICa。此外,在半导体装置ICb内生成共用密钥CK(1)的情形中,校正数据CD(1,b)被传输给半导体装置ICb。同样地,例如,在半导体装置ICa内生成共用密钥CK(3)的情形中,校正数据CD(3,a)被传输到半导体装置ICa。此外,例如,在半导体装置ICb内生成共用密钥CK(3)的情形中,校正数据CD(3,b)被传输给半导体装置ICb。
在根据本实施例的密码通信系统中,即使在唯一码UC(a)和UC(b)不同时,也能够通过使用操作参数对已校正错误的唯一码UC(a)″和UC(b)″执行不同的操作来生成相同的共用密钥CK(1)(参见第一实施例)。
此外,共用密钥CK能够通过改变校正数据CD的操作参数来改变。因而,能够通过改变校正数据CD的操作参数来生成多个共用密钥,如同图10所示的共用密钥CK(1)、CK(2)、CK(3)、…、CK(n)一样。因而,在根据本实施例的密码通信系统中,通过改变由半导体装置90定期地传输给半导体装置70和80的校正数据CD,能够容易地改变半导体装置70和80的共用密钥CK,从而能够容易地提高安全级别。
注意,因为由半导体装置90传输给半导体装置70和80的校正数据CD是具有高安全级别的信息,所以在将校正数据CD传输给半导体装置70和80时,可以在传输之前使用公开密钥密码体制来加密校正数据CD。在这种情况下,例如,半导体装置70具有半导体装置70的私有密钥,以及半导体装置90在传输校正数据CD(1,a)时使用半导体装置70的公开密钥来加密校正数据CD(1,a)。然后,半导体装置70使用私有密钥来解密所加密的校正数据CD(1,a),使得加密的校正数据能够由半导体装置90传输给半导体装置70。
根据本实施例的密码通信系统4的操作在下面参照图11的流程图来描述。首先,半导体装置ICs(90)将校正数据CD(1,a)传输给半导体装置ICa(70)(步骤S41)。然后,半导体装置70的共用密钥生成单元73使用由唯一码生成单元71输出的唯一码UC(a)以及由半导体装置90传输来的校正数据CD(1,a)来生成共用密钥CK(1)(步骤S42)。
此外,半导体装置ICs(90)将校正数据CD(1,b)传输给半导体装置ICb(80)(步骤S43)。然后,半导体装置80的共用密钥生成单元83使用由唯一码生成单元81输出的唯一码UC(b)以及由半导体装置90传输来的校正数据CD(1,b)来生成共用密钥CK(1)(步骤S44)。在该过程中,半导体装置70和半导体装置80两者能够具有共用密钥CK(1)。因而,半导体装置70和半导体装置80能够使用共用密钥CK(1)来执行密码通信(步骤S45)。注意,上述步骤的顺序能够适当地改变,只要它是一致的。
注意,当将校正数据CD从半导体装置90传输到半导体装置70或80时,校正数据CD可以由半导体装置90定期地传输给半导体装置70或80。作为选择,校正数据CD可以在半导体装置70或80请求传输校正数据CD时由半导体装置90传输给半导体装置70或80。
半导体装置90与半导体装置70和80可以经由有线或无线的方式来相互连接。此外,半导体装置90与半导体装置70和80可以被配置为仅在传输和接收校正数据CD时相互连接。而且,半导体装置90可以通过互联网将校正数据CD传输给半导体装置70和80。在这种情况下,为了安全起见,优选的是使用上述方法来加密校正数据CD。
此外,系统可以按某种方式来配置,使得多组半导体装置使用不同的共用密钥CK来彼此通信。例如,半导体装置ICd、ICe和ICf可以被配置为使用共用密钥CK(2)来相互通信,以及半导体装置ICg、ICh和ICi可以被配置为使用共用密钥CK(3)来相互通信。在这种情况下,用于生成共用密钥CK(2)的校正数据CD(2,d)、CD(2,e)和CD(2,f)由半导体装置90分别传输给半导体装置ICd、ICe和ICf。此外,用于生成共用密钥CK(3)的校正数据CD(3,g)、CD(3,h)及CD(3,i)由半导体装置90分别传输给半导体装置ICg、ICh和ICi。
以此方式,在根据本实施例的密码通信系统中,包括用于集中管理校正数据CD的半导体装置90。因而,不需要将用于生成共用密钥CK的校正数据CD存储于半导体装置70和80内,这提高了密码通信系统的安全性。因为具有高安全级别的校正数据被存储于半导体装置90的数据库91内,所以优选的是使用安全微型计算机来配置半导体装置90。另一方面,具有高安全级别的共用密钥CK的信息并没有存储于半导体装置70和80中的非易失性存储器内,因而半导体装置70和80能够使用通用微型计算机来配置。但是,安全微型计算机可以用于半导体装置70和80以便进一步提高密码通信系统的安全级别。
此外,在根据本实施例的密码通信系统中,因为校正数据CD使用数据库91进行集中管理,所以每个半导体装置的共用密钥CK能够被容易地改变。因而,可以容易地定期改变半导体装置70和80的共用密钥CK,这会进一步提供密码通信系统的安全性。
<第五实施例>
本发明的第五实施例将在下面描述。图12是示出根据本实施例的密码通信系统的框图。在第四实施例所描述的密码通信系统中于数据库91内集中管理校正数据,而在本实施例中待传输给半导体装置ICa(110)和半导体装置ICb(120)的校正数据使用包含于半导体装置130内的校正数据生成单元132来生成。其他配置与根据第四实施例的密码通信系统的配置是基本上相同的。这将在下面详细地描述。
图12所示的密码通信系统5包括半导体装置110、120和130。半导体装置110包括唯一码生成单元111、存储单元112和共用密钥生成单元113。
唯一码生成单元111生成为半导体装置110所独有的唯一码UC(a),并且将其输出到共用密钥生成单元113和半导体装置130的校正数据生成单元132。唯一码生成单元111的基本配置和操作与第一实施例所描述的唯一码生成单元11的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元112将在共用密钥生成单元113内生成的共用密钥CK(1)存储于易失性存储器内。共用密钥CK(1)在半导体装置110断电时被擦除。注意,共用密钥CK(1)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(1)实行诸如在半导体装置110断电时通过写入来擦除数据的措施。
共用密钥生成单元113使用由唯一码生成单元111输出的唯一码UC(a)以及由半导体装置130供应的校正数据CD(1,a)来生成共用密钥CK(1)。共用密钥生成单元113起着唯一码校正单元的作用。共用密钥生成单元113的基本配置和操作与第一实施例所描述的共用密钥生成单元13的基本配置和操作是相同的,并且在此省略关于它的多余解释。
半导体装置120包括唯一码生成单元121、存储单元122和共用密钥生成单元123。
唯一码生成单元121生成为半导体装置120所独有的唯一码UC(b),并且将其输出到共用密钥生成单元123和半导体装置130的校正数据生成单元132。唯一码生成单元121的基本配置和操作与根据第一实施例所描述的唯一码生成单元11的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元122将在共用密钥生成单元123内生成的共用密钥CK(1)存储于易失性存储器内。共用密钥CK(1)在半导体装置120断电时会被擦除。注意,共用密钥CK(1)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(1)实行诸如在半导体装置120断电时通过写入来擦除数据的措施。
共用密钥生成单元123使用由唯一码生成单元121输出的唯一码UC(b)以及由半导体装置130供应的校正数据CD(1,b)来生成共用密钥CK(1)。共用密钥生成单元123起着唯一码校正单元的作用。共用密钥生成单元123的基本配置和操作与第一实施例所描述的共用密钥生成单元13的基本配置和操作是相同的,并且在此省略关于它的多余解释。
半导体装置130包括存储单元131和校正数据生成单元132。存储单元131将共用密钥CK(1)存储于非易失性存储器内。共用密钥CK(1)的信息在半导体装置130断电时不会被擦除。因而,优选的是使用安全微型计算机来配置半导体装置130,以便防止共用密钥CK(1)的信息由于半导体装置受到未授权的分析而泄露给第三方。注意,半导体装置110和120可以使用通用微型计算机来配置,如同在第四实施例的情形中那样。
校正数据生成单元132使用半导体装置110的唯一码UC(a)以及存储于半导体装置131内的共用密钥CK(1)来生成校正数据CD(1,a)。此外,校正数据生成单元132使用半导体装置120的唯一码UC(b)以及存储于半导体装置131内的共用密钥CK(1)来生成校正数据CD(1,b)。
在校正数据生成单元132生成校正数据时的操作将在下面参照图14详细地描述。尽管在下面描述了校正数据生成单元132生成校正数据CD(1,a)的情形,但是这同样适用于校正数据生成单元132生成校正数据CD(1,b)的情形。
首先,校正数据生成单元132从半导体装置ICa(110)多次获得唯一码UC(a)(步骤S61)。然后,校正数据生成单元132在统计上处理在步骤S61获得的唯一码UC(a),并且将唯一码UC(a)的各个位分类成(1)具有稳定值的位、(2)具有高变化性的位(即,值的变化相对较大的位)以及(3)具有低变化性的位(即,值的变化相对较小的位)。然后,校正数据生成单元132使用(2)具有高变化性的位来生成屏蔽数据(步骤S62)。此时,用于指示唯一码UC(a)的各个位当中以比指定阈值更高的变化性变化的位的位置的信息被设定为屏蔽数据。例如,在图4所示的屏蔽数据中,具有高变化性的位的位置(即,待屏蔽的位置)由“0”指示。
然后,校正数据生成单元132使用在步骤S62内生成的屏蔽数据来屏蔽唯一码UC(a),并且消去具有高变化性的位。它然后生成用于校正屏蔽唯一码UC(a)'(即,含有具有稳定值的位以及具有低变化性的位的唯一码)的错误的ECC码(步骤S63)。例如,ECC码是BCH码或RS码。
然后,校正数据生成单元132使用利用在步骤S62生成的屏蔽数据以及在步骤S63生成的ECC码处理过的唯一码UC(a)″(该唯一码UC(a)″是含有具有稳定值的位的唯一码)以及存储于存储单元131内的共用密钥CK(1)来生成操作参数(步骤S64)。操作参数是用于根据校正的唯一码UC(a)″来生成共用密钥CK(1)所需的参数。
最后,校正数据生成单元132将由上述过程生成的屏蔽数据、ECC码和操作参数作为校正数据CD(1,a)传输给半导体装置ICa(110)(步骤S65)。
根据本实施例的密码通信系统5的操作将在下面参照图13的流程图来描述。首先,半导体装置ICa(110)将唯一码UC(a)传输到半导体装置ICs(130)的校正数据生成单元132(步骤S51)。然后,半导体装置130的校正数据生成单元132使用传输来的唯一码UC(a)和共用密钥CK(1)来生成校正数据CD(1,a)(步骤S52)。对于用于生成校正数据CD(1,a)的校正数据生成单元132,有必要多次获得唯一码UC(a)。因而,步骤S51被重复以多次获得唯一码UC(a)。所生成的校正数据CD(1,a)被传输给半导体装置110(步骤S53)。半导体装置110的共用密钥生成单元113使用由唯一码生成单元111输出的唯一码UC(a)以及从半导体装置130传输来的校正数据CD(1,a)来生成共用密钥CK(1)(步骤S54)。
此外,半导体装置ICb(120)将唯一码UC(b)传输给半导体装置ICs(130)的校正数据生成单元132(步骤S55)。然后,半导体装置130的校正数据生成单元132使用传输来的唯一码UC(b)和共用密钥CK(1)来生成校正数据CD(1,b)(步骤S56)。对于用于生成校正数据CD(1,b)的校正数据生成单元132,有必要多次获得唯一码UC(b)。因而,步骤S55被重复以多次获得唯一码UC(b)。所生成的校正数据CD(1,b)被传输给半导体装置120(步骤S57)。半导体装置120的共用密钥生成单元123使用由唯一码生成单元121输出的唯一码UC(b)以及由半导体装置130传输来的校正数据CD(1,b)来生成共用密钥CK(1)(步骤S58)。
通过上述过程,半导体装置110和半导体装置120两者能够具有共用密钥CK(1)。因而,半导体装置110和半导体装置120能够使用共用密钥CK(1)来执行密码通信(步骤S59)。注意,上述步骤的顺序能够适当地改变,只要它是一致的。例如,步骤S51到S54和步骤S55到S58可以并行地执行。
如上所述,同样地,在根据本实施例的密码通信系统中,包括用于集中管理校正数据的半导体装置130。因而,没有必要将用于生成共用密钥的校正数据存储于半导体装置110和120内,这提高了密码通信系统的安全性。因为具有高安全级别的校正数据被存储于半导体装置130的数据库131内,所以优选的是使用安全微型计算机来配置半导体装置130。另一方面,具有高安全级别的共用密钥CK的信息并没有存储于半导体装置110和120中的非易失性存储器内,因而半导体装置110和120能够使用通用微型计算机来配置。但是,为了进一步提高密码通信系统的安全级别,可以将安全微型计算机用于半导体装置110和120。
<第六实施例>
本发明的第六实施例将在下面描述。图15是示出根据本实施例的密码通信系统的框图。在根据第五实施例的密码通信系统中,描述了半导体装置ICa(110)和半导体装置ICb(120)具有相同的共用密钥CK(1)的情形。在根据本实施例的密码通信系统中,半导体装置ICa(140)和半导体装置ICb(150)具有不同的共用密钥,并且彼此通过半导体装置ICs(160)来通信。其他配置与根据第五实施例的密码通信系统的配置是基本上相同的。这将在下面详细地描述。
图15所示的密码通信系统6包括半导体装置140、150和160。半导体装置140包括唯一码生成单元141、存储单元142和共用密钥生成单元143。
唯一码生成单元141生成为半导体装置140所独有的唯一码UC(a),并且将其输出到共用密钥生成单元143和半导体装置160的校正数据生成单元162。唯一码生成单元141的基本配置和操作与第一实施例所描述的唯一码生成单元11的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元142将在共用密钥生成单元143内生成的共用密钥(第一共用密钥)CK(1)存储于易失性存储器内。共用密钥CK(1)在半导体装置140断电时被擦除。
共用密钥生成单元143使用由唯一码生成单元141输出的唯一码UC(a)以及由半导体装置160供应的校正数据CD(1,a)来生成共用密钥CK(1)。共用密钥生成单元143起着唯一码校正单元的作用。共用密钥生成单元143的基本配置和操作与第一实施例所描述的共用密钥生成单元13的基本配置和操作是相同的,并且在此省略关于它的多余解释。
半导体装置150包括唯一码生成单元151、存储单元152和共用密钥生成单元153。
唯一码生成单元151生成为半导体装置150所独有的唯一码UC(b),并且将其输出到共用密钥生成单元153和半导体装置160的校正数据生成单元162。唯一码生成单元151的基本配置和操作与根据第一实施例所描述的唯一码生成单元11的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元152将在共用密钥生成单元153内生成的共用密钥(第二共用密钥)CK(2)存储于易失性存储器内。共用密钥CK(2)在半导体装置150断电时被擦除。
共用密钥生成单元153使用由唯一码生成单元151输出的唯一码UC(b)以及由半导体装置160供应的校正数据CD(2,b)来生成共用密钥CK(2)。共用密钥生成单元153起着唯一码校正单元的作用。共用密钥生成单元153的基本配置和操作与第一实施例所描述的共用密钥生成单元13的基本配置和操作是相同的,并且在此省略关于它的多余解释。
半导体装置160包括存储单元161和校正数据生成单元162。存储单元161将共用密钥CK(1)和共用密钥CK(2)存储于非易失性存储器内。共用密钥CK(1)和共用密钥CK(2)的信息即使在半导体装置160断电时也不会被擦除。因而,优选的是使用安全微型计算机来配置半导体装置160,以便防止共用密钥CK(1)和共用密钥CK(2)的信息由于半导体装置受到未授权的分析而泄露给第三方。注意,半导体装置140和150可以使用通用微型计算机来配置,如同在第五实施例的情形中那样。
校正数据生成单元162使用半导体装置140的唯一码UC(a)以及存储于半导体装置161内的共用密钥CK(1)来生成校正数据CD(1,a)。此外,校正数据生成单元162使用半导体装置150的唯一码UC(b)以及存储于半导体装置161内的共用密钥CK(2)来生成校正数据CD(2,b)。
根据本实施例的密码通信系统6的操作将在下面参照图16的流程图来描述。首先,半导体装置ICa(140)将唯一码UC(a)传输给半导体装置ICs(160)的校正数据生成单元162(步骤S71)。然后,半导体装置160的校正数据生成单元162使用传输来的唯一码UC(a)和共用密钥CK(1)来生成校正数据CD(1,a)(步骤S72)。对于用于生成校正数据CD(1,a)的校正数据生成单元162,有必要多次获得唯一码UC(a)。因而,步骤S71被重复以多次获得唯一码UC(a)。所生成的校正数据CD(1,a)被传输给半导体装置140(步骤S73)。半导体装置140的共用密钥生成单元143使用由唯一码生成单元141输出的唯一码UC(a)以及从半导体装置160传输来的校正数据CD(1,a)来生成共用密钥CK(1)(步骤S74)。
此外,半导体装置ICb(150)将唯一码UC(b)传输给半导体装置ICs(160)的校正数据生成单元162(步骤S75)。然后,半导体装置160的校正数据生成单元162使用传输来的唯一码UC(b)和共用密钥CK(2)来生成校正数据CD(2,b)(步骤S76)。对于用于生成校正数据CD(2,b)的校正数据生成单元162,有必要多次获得唯一码UC(b)。因而,步骤S75被重复以多次获得唯一码UC(b)。所生成的校正数据CD(2,b)被传输给半导体装置150(步骤S77)。半导体装置150的共用密钥生成单元153使用由唯一码生成单元151输出的唯一码UC(b)以及由半导体装置160传输来的校正数据CD(2,b)来生成共用密钥CK(2)(步骤S78)。
通过上述过程,半导体装置140和半导体装置160两者能够具有共用密钥CK(1)。因而,半导体装置140和半导体装置160能够使用共用密钥CK(1)来执行密码通信(步骤S79)。此外,半导体装置150和半导体装置160两者能够具有共用密钥CK(2)。因而,半导体装置150和半导体装置160能够使用共用密钥CK(2)来执行密码通信(步骤S80)。因此,半导体装置140和半导体装置150能够通过半导体装置160(网关配置)来通信。注意,上述步骤的顺序能够适当地改变,只要它是一致的。例如,步骤S71到S74和步骤S75到S78可以并行地执行。
如上所述,同样地,在根据本实施例的密码通信系统中,包括用于集中管理校正数据的半导体装置160。因而,没有必要将用于生成共用密钥的校正数据存储于半导体装置140和150内,这提高了密码通信系统的安全性。因为具有高安全级别的校正数据被存储于半导体装置160的数据库161内,所以优选的是使用安全微型计算机来配置半导体装置160。另一方面,具有高安全级别的共用密钥CK的信息并没有存储于半导体装置140和150中的非易失性存储器内,因而半导体装置140和150能够使用通用微型计算机来配置。但是,为了进一步提高密码通信系统的安全级别,可以将安全微型计算机用于半导体装置140和150。
<第七实施例>
本发明的第七实施例将在下面描述。图17是示出将根据第一到第六实施例的密码通信系统应用于车载半导体装置的情形的框图。如图17所示,车辆180包括网关(gateway)单元170、故障诊断单元171、引擎控制单元172、制动控制单元173、车灯控制单元174、门锁控制单元175、钥匙插入控制单元176、汽车导航系统178和DCM(数据通信模块)179。
网关单元170是用于中继包括单元171到176和汽车导航系统178的网络的设备。安全微型计算机ICs包含于网关单元170内。故障诊断单元171是用于对车辆180的构件是否有故障进行诊断的单元。半导体装置ICa包含于故障诊断单元171内。引擎控制单元172是用于对引擎操作进行全面电控制(燃料供给、点火定时控制等)的单元。半导体装置ICb包含于引擎控制单元172内。制动控制单元173是用于控制诸如ABS(防抱死系统)之类的制动器的单元。半导体装置ICc包含于制动控制单元173内。车灯控制单元174是用于控制车辆的前灯、指示灯等的单元。半导体装置ICd包含于车灯控制单元174内。
门锁控制单元175是用于控制门锁的单元。半导体装置ICe以及用于与钥匙177无线电通信的通信单元包含于门锁控制单元175内。钥匙插入控制单元176是用于确定所插入的钥匙177是否是有效的用户钥匙的单元。半导体装置ICf以及用于与钥匙177无线电通信的通信单元包含于钥匙插入控制单元176内。半导体装置ICg以及用于与门锁控制单元175及钥匙插入控制单元176无线电通信的通信单元包含于钥匙177内。例如,通用微型计算机可以用于包含于各个单元171到176和钥匙177内的半导体装置ICa到ICg。
安全微型计算机ICh包含于汽车导航系统178内。DCM179是用于将从车辆内的单元171到176中获得的信息传输到外部服务器181或者从服务器181获取信息的通信模块。
各个单元171到176和汽车导航系统178与网关单元170连接,以及单元171到176被配置以能够通过网关单元170相互通信。用于在各个单元171到176与网关单元170之间的通信的共用密钥在单元和单元之间可以是不同的。例如,共用密钥CK(1)可以用于故障诊断单元171与网关单元170之间的通信,以及共用密钥CK(2)可以用于引擎控制单元172与网关单元170之间的通信。注意,在这种情况下,在图15所示的根据第六实施例的密码通信系统6中的半导体装置ICa(140)对应于故障诊断单元171,半导体装置ICb(150)对应于引擎控制单元172,以及半导体装置ICs(160)对应于网关单元170。
用来生成待用于各个单元171到176与网关单元170之间的通信的共用密钥的校正数据CD可以存储于例如网关单元170的半导体装置ICs或者汽车导航系统178的半导体装置ICh内。此外,用来生成共用密钥的校正数据CD可以由服务器181来供应。利用由服务器181供应的校正数据CD,待用于各个单元171到176与网关单元170之间的通信的共用密钥能够容易地改变。由服务器181供应的校正数据CD可以存储于例如网关单元170的半导体装置ICs或者汽车导航系统178的半导体装置ICh内。
此外,汽车导航系统178可以通过DCM179将从单元171到176获得的信息(例如,失效信息等)传输到服务器181。此时,可以加密在DCM179与服务器181之间的通信。
在图17的实例中,示出了其中单元171到176通过网关单元170来执行通信的配置。但是,单元171到176可以使用相同的共用密钥来相互通信。在这种情况下,单元171到176被配置以通过例如公共总线来相互连接。存储于各个单元171到176内的共用密钥可以使用例如在第一实施例(图1)、第四实施例(图9)和第五实施例(图12)中描述的方法来生成。
<第八实施例>
图18是示出根据第八实施例的密码通信系统的框图。根据本实施例的密码通信系统201包括半导体装置ICa(第一半导体装置)210和半导体装置ICz(第二半导体装置)220。半导体装置ICa(210)建立了与别的半导体装置(没有示出)的安全网络。在本实施例中,描述了其中半导体装置ICz(220)被添加至包含半导体装置ICa(210)的安全网络的情形。
半导体装置210包括唯一码生成单元211、存储单元212、共用密钥生成单元(第一共用密钥生成单元)213及校正数据生成单元214。
唯一码生成单元211生成具有为半导体装置210所独有的值且含有随机错误的唯一码(第一唯一码)UC(a),并且将其输出到共用密钥生成单元213。唯一码UC(a)是由包含于半导体装置210内的元件所固有的物理性质确定的值。例如,唯一码生成单元211可以使用在包含于半导体装置210内的存储元件启动时的值来生成唯一码UC(a)。唯一码是使用随实际制作的IC而不同的性质生成的码,尽管IC的设计是相同的。这种技术被称为PUF(物理不可复制功能),并且这是一种即使在具有同样电路的多个IC通过相同的制造设备同时制作于一块半导体晶圆上时也可为各个IC生成唯一码并且进一步使IC不可复制的技术。这种技术的使用在不需要诸如防篡改芯片之类的专用硬件的情况下实现了数据的有效隐蔽。
存储单元212能够存储校正数据(第一校正数据)CD(a)以及在共用密钥生成单元213内生成的共用密钥(第一共用密钥)CK(a)。存储单元212包括例如易失性存储器(例如,SRAM)和非易失性存储器(例如,闪存),校正数据CD(a)存储于非易失性存储器内,以及共用密钥CK(a)存储于易失性存储器内。因而,尽管存储单元212临时性地存储了共用密钥CK(a),但是共用密钥CK(a)的信息在半导体装置210断电时会被擦除。注意,共用密钥CK(a)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,并且可以对存储于非易失性存储器内的共用密钥CK(a)实行诸如在半导体装置210断电时通过写入来擦除数据的措施。
共用密钥生成单元213使用由唯一码生成单元211输出的唯一码UC(a)以及存储于存储单元212内的校正数据CD(a)来生成共用密钥CK(a)。
在唯一码生成单元211内生成的唯一码UC(a)是含有在唯一码的生成期间依据外部因素(例如,温度和电压)而变化的位值的数据。因此,在唯一码生成单元211内生成的唯一码UC(a)含有三类位:(1)具有稳定值的位,(2)具有高变化性的位(即,值的变化相对较大的位)以及(3)具有低变化性的位(即,值的变化相对较小的位)。以此方式,在唯一码生成单元211内生成的唯一码UC(a)含有(2)具有高变化性的位以及(3)具有低变化性的位。因此,唯一码UC(a)在每次生成时都具有不同的值。
具有高变化性的位能够在制作过程中找到。因而,通过在制作过程中作出每个位的判定,能够产生用于屏蔽具有高变化性的位的屏蔽数据。通过使用屏蔽数据来屏蔽在唯一码生成单元211内生成的唯一码UC(a),能够消去在UC(a)内所含有的具有高变化性的位。因为具有高变化性的位的位置在装置与装置之间是不同的,所以屏蔽数据是为半导体装置所独有的数据。
另一方面,具有低变化性的位由于外部因素、剩余电荷等而变化,并因而难以作出估计。因此,对于具有低变化性的位,例如ECC码(例如,BCH码或RS码(Reed-Solomon code))在制作期间生成,以及用于消去具有变化性的位的错误校正使用ECC码来执行。共用密钥生成单元213的操作将在下文特别地描述。
图20是解释共用密钥生成单元213的操作的流程图,以及图21是示出在共用密钥生成单元213内处理的唯一码的实例的表格。首先,共用密钥生成单元213从唯一码生成单元211中读取唯一码UC(a)(步骤S111)。在该步骤内所读取的唯一码UC(a)是尚未对其进行用于消去具有可变性的位的错误校正的唯一码。
然后,共用密钥生成单元213使用包含于校正数据CD(a)内的屏蔽数据来屏蔽所读取的唯一码UC(a)(步骤S112)。屏蔽数据是用于屏蔽在唯一码UC(a)的各个位当中具有高误码率的、具有可变位值的位的数据。在图21所示的实例中,因为唯一码UC(a)的第一位和第六位的误码率是高的,所以屏蔽数据是“0”。因为其他位是具有低误码率的位或者具有稳定值的位,所以屏蔽数据是“1”。换言之,用于需要屏蔽的位的屏蔽数据是“0”,以及用于不需要屏蔽的位的屏蔽数据是“1”。通过使用屏蔽数据来屏蔽唯一码UC(a),能够获得其中消去了唯一码UC(a)的第一位和第六位的屏蔽唯一码UC(a)'(通过屏蔽消去的位由“X”指示)。之后,使屏蔽唯一码UC(a)'左对齐。
然后,使用包含于校正数据CD(a)内的ECC码(错误校正码),共用密钥生成单元213校正包含于屏蔽唯一码UC(a)'内的具有低程度的变化性的位的错误,由此获得唯一码UC(a)″(步骤S113)。在图21所示的实例中,由于屏蔽唯一码UC(a)'使用ECC码来处理,因而第一位从“0”校正为“1”。
然后,共用密钥生成单元213使用包含于校正数据CD(a)内的操作参数来执行对已校正错误的唯一码UC(a)″的指定操作(步骤S114)。在图21所示的实例中,对已校正错误的唯一码UC(a)″执行非(NOT)操作。在该操作之后的唯一码UC(a)是共用密钥CK(a)。注意,非操作只是一个示例,以及可以对已校正错误的唯一码UC(a)″执行任何操作。通过改变操作参数,可以根据需要来改变共用密钥CK(a)。此外,通过使用操作参数来执行对已校正错误的唯一码UC(a)″的指定操作,共用密钥CK(a)能够被生成为与唯一码UC(a)不明显类似的码。这进一步提高了安全级别。而且,可以跳过对已校正错误的唯一码UC(a)″执行的操作。在这种情况下,使用屏蔽数据和ECC码处理过的唯一码UC(a)″用作共用密钥CK(a)。以此方式生成的共用密钥CK(a)被输出到存储单元212。
如上所述,共用密钥生成单元213具有生成共用密钥CK(a)的功能,以及还具有使用校正数据CD(a)来校正唯一码UC(a)的功能。因而,共用密钥生成单元213也起着唯一码校正单元的作用。
注意,包含于校正数据CD(a)内的屏蔽码、ECC码和操作参数被预先生成为半导体装置210的唯一数据,并且存储于存储单元212内。用于生成校正数据CD(a)的方法与校正数据生成单元214生成校正数据CD(z)的情形中的方法相同。
校正数据生成单元214使用半导体装置220的唯一码(第二唯一码)UC(z)和共用密钥CK(a)来生成校正数据(第二校正数据)CD(z)。在校正数据生成单元214生成校正数据时的操作将在下面参照图22详细地描述。
首先,校正数据生成单元214从半导体装置ICz(220)多次获得唯一码UC(z)(步骤S121)。然后,校正数据生成单元214在统计上处理在步骤S121获得的唯一码UC(z),并且将唯一码UC(z)的各个位分类成(1)具有稳定值的位、(2)具有高变化性的位(即,值的变化相对较大的位)以及(3)具有低变化性的位(即,值的变化相对较小的位)。然后,校正数据生成单元214使用(2)具有高变化性的位来生成屏蔽数据(步骤S122)。此时,用于指示唯一码UC(z)的各个位当中以比指定阈值更高的概率变化的位的位置的信息被设定为屏蔽数据。例如,在图21所示的屏蔽数据中,具有高变化性的位的位置(即,待屏蔽的位置)由“0”指示。
然后,校正数据生成单元214使用在步骤S122内生成的屏蔽数据来屏蔽唯一码UC(z),并且消去具有高变化性的位。它然后生成用于进行校正的ECC码,以去除屏蔽唯一码UC(a)'(即,含有具有稳定值的位以及具有低变化性的位的唯一码)中具有变化性的位(步骤S123)。例如,ECC码是BCH码或RS码。
然后,校正数据生成单元214使用利用在步骤S122生成的屏蔽数据以及在步骤S123生成的ECC码处理过的唯一码UC(a)″(该唯一码UC(a)″是含有具有稳定值的位的唯一码)以及存储于存储单元212内的共用密钥CK(a)来生成操作参数(步骤S124)。因而,操作参数是用于根据校正的唯一码UC(z)″来生成共用密钥CK(a)所需的参数。最后,校正数据生成单元214将由上述过程生成的屏蔽数据、ECC码和操作参数作为校正数据CD(z)传输给半导体装置ICz(220)(步骤S125)。
注意,用于生成校正数据CD(z)的过程(步骤S121到S125)可以按照分布的方式在多个半导体装置当中来执行。图23是示出其中校正数据CD(z)使用多个半导体装置ICa、ICb、ICc和ICd来生成的情形的示意图。半导体装置ICa、ICb、ICc和ICd建立了安全网络。
在图23所示的实例中,半导体装置ICa执行步骤S121和S125。因而,半导体装置ICa起着对于半导体装置ICz的告知方(teller)的作用。半导体装置ICb执行步骤S122(屏蔽数据生成)。半导体装置ICc执行步骤S123(ECC码生成)。半导体装置ICd执行步骤S124(操作参数生成)。注意,图23所示的实例是一个示例,以及用于执行各个步骤的半导体装置可以任意地分配。以此方式,通过以分布的方式在多个半导体装置当中执行用于生成校正数据CD(z)的过程(S121到S125),可以提高密码通信系统的安全级别,以及避免负载集中于一个半导体装置上。
图18所示的半导体装置220包括唯一码生成单元221、存储单元222和共用密钥生成单元(第二共用密钥生成单元)223。唯一码生成单元221生成具有为半导体装置220所独有的值且含有随机错误的唯一码UC(z),并将其输出到校正数据生成单元214和共用密钥生成单元223。注意,唯一码生成单元221的配置和操作是与以上所述的唯一码生成单元211基本上相同的。
存储单元222能够具有在共用密钥生成单元223内生成的共用密钥CK(a)。存储单元222将共用密钥CK(a)存储于易失性存储器内。因而,尽管存储单元222临时存储着共用密钥CK(a),但是共用密钥CK(a)的信息在半导体装置220断电时会被擦除。注意,共用密钥CK(a)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(a)实行诸如在半导体装置220断电时通过写入来擦除数据的措施。
共用密钥生成单元223使用由唯一码生成单元221输出的唯一码UC(z)以及由校正数据生成单元214输出的校正数据CD(z)来生成共用密钥(第一共用密钥)CK(a)。注意,用于在共用密钥生成单元223内生成共用密钥CK(a)的方法是与以上所描述的用于在共用密钥生成单元213内生成共用密钥CK(a)的方法基本上相同的。
根据本实施例的密码通信系统的操作在下文参照图19的流程图来描述。首先,半导体装置ICa(210)的共用密钥生成单元213使用由唯一码生成单元211输出的唯一码UC(a)以及存储于存储单元212内的校正数据CD(a)来生成共用密钥CK(a)(步骤S101)。然后,半导体装置ICa(210)使用共用密钥CK(a)来启动与其他半导体装置ICb到ICy(没有示出)之间的通信(步骤S102)。
半导体装置220将半导体装置220的唯一码UC(z)传输给半导体装置210的校正数据生成单元214(步骤S103)。半导体装置210的校正数据生成单元214使用半导体装置220的唯一码UC(z)以及存储于存储单元212内的共用密钥CK(a)来生成校正数据CD(z)(步骤S104)。对于用于生成校正数据CD(z)的校正数据生成单元214,有必要多次获得唯一码UC(z)。因而,步骤S103被重复以多次获得唯一码UC(z)。
所生成的校正数据CD(z)被传输给半导体装置220的共用密钥生成单元223(步骤S105)。半导体装置220的共用密钥生成单元223使用由唯一码生成单元221输出的唯一码UC(z)以及由校正数据生成单元214输出的校正数据CD(z)来生成共用密钥CK(a)(步骤S106)。通过上述过程,所添加的半导体装置220能够具有共用密钥CK(a)。因而,所添加的半导体装置(ICz)220变得能够使用共用密钥CK(a)来执行与半导体装置(ICa)210和其他半导体装置ICb到ICy之间的密码通信(步骤S107)。该过程是根据所传输来的数据UC(z)来计算校正数据CD(z)并且如上所描述的那样将其发送回去的过程。有一种可能:恶意攻击者使用所制备的ICz来重复该过程或者重复传输不同的数据UC(z),并且由此通过CD(z)以及在该过程中的电流波形数据来分析共用密钥生成单元的算法。因此,优选的是对图19所示的流程的次数设定限值(例如,大约3-5次)。
如同先前所描述的,在将半导体装置ICz添加到其中建立了安全通信的密码通信系统的情形中,有必要验证待添加的半导体装置ICz是否是适当的半导体装置。但是,为了验证待添加的半导体装置ICz是否是适当的半导体装置,有必要将例如昂贵的安全服务器并入密码通信系统中。这会导致密码通信系统的成本增加。
另一方面,在根据本实施例的密码通信系统中,在半导体装置210内的校正数据生成单元214通过使用具有为半导体装置220所独有的值且含有随机错误的唯一码UC(z)及共用密钥CK(a)来生成用于校正唯一码UC(z)的校正数据CD(z),并且在半导体装置220内的共用密钥生成单元223使用半导体装置220的校正数据CD(z)和唯一码UC(z)来生成共用密钥CK(a)。因而,可保证半导体装置ICa(210)和半导体装置ICz(220)基于相同的规则来生成共用密钥CK(a),从而保证将半导体装置ICz(220)添加至包括半导体装置ICa(210)的安全网络内的安全性。
因此,因为没有必要为了验证待添加的半导体装置ICz是否是适当的半导体装置而将昂贵的安全服务器并入密码通信系统内,所以可以容易地且低成本地将半导体装置添加到其中执行安全通信的密码通信系统内。
此外,在根据本实施例的密码通信系统中,在半导体装置210内的共用密钥生成单元213使用具有为半导体装置210所独有的值的唯一码UC(a)及校正数据CD(a)来生成共用密钥CK(a)。此外,在半导体装置220内的共用密钥生成单元223使用具有为半导体装置220所独有的值的唯一码UC(z)及校正数据CD(z)来生成共用密钥CK(a)。因为作为重要数据的共用密钥CK(a)并没有直接存储于存储单元212和222内,所以即使半导体装置受到非授权的分析也不会发生共用密钥CK(a)的数据泄漏。因此,在根据本实施例的密码通信系统中,可以提高安全性以及容易地且低成本地将半导体装置添加到其中执行安全通信的密码通信系统内。
用于分析半导体装置以便非授权地获得数据的方法有如下这些。
(1)用于使用FIB(聚焦离子束)对半导体装置进行修改以及使用探针对半导体装置进行物理分析的方法。
(2)用于通过将电磁波(例如,激光束)施加于半导体装置或者将噪声插入电源端子来使CPU失控并由此以非授权的方式获得数据的故障树分析法。
(3)用于观察半导体装置的电流消耗以及分析密钥数据(key data)的泄漏分析法。
为了防止非授权的分析,在需要高安全级别的领域内,使用了具有高安全级别的微型计算机(以下称为安全微型计算机)。安全微型计算机具有用于保护布线区的罩盖、用于检测光或信号噪声的功能、用于通过将随机数信号与信号结合来干扰电流的功能等。
以此方式,可以通过使用安全微型计算机来防止第三方对半导体装置的非授权分析。但是,在使用安全微型计算机的情形中,尽管能够防止非授权的分析,但是半导体装置的制造商也由于其防篡改性高而无法执行失效分析和故障分析。特别地,在用于汽车用途的车载微型计算机(ECU等)中,半导体装置的失效分析和故障分析是必要的,因为需要高可靠性。由于该原因,具有比安全微型计算机低的安全级别的通用微型计算机广泛地作为车载微型计算机来使用。因而,需要在使用通用微型计算机的情况下提高半导体装置的安全级别的密码通信系统来用于车载微型计算机。
在根据本实施例的密码通信系统中,因为诸如共用密钥CK(a)之类的重要数据并不直接存储于存储单元212和222内,所以即使半导体装置受到非授权的分析也不会发生诸如共用密钥CK(a)之类的重要数据的泄漏。因此,即使在半导体装置210和半导体装置220使用具有相对低的安全级别的通用微型计算机来配置时,也能够实现高的安全级别。
注意,被用来在半导体装置210内生成共用密钥CK(a)的校正数据CD(a)是具有相对高的安全级别的信息,尽管该安全级别低于共用密钥CK(a)的安全级别。因而,安全微型计算机可以用于其中存储了校正数据CD(a)的半导体装置210,以便防止校正数据CD(a)泄漏给第三方。
此外,由半导体装置210传输给半导体装置220的校正数据CD(z)是具有相对高的安全级别的信息,因为它是与唯一码UC(z)和共用密钥CK(a)相关的数据。因而,当校正数据CD(z)由半导体装置210传输给半导体装置220时,校正数据CD(z)在传输之前可以使用公开密钥密码体制来加密。在这种情况下,半导体装置220具有例如半导体装置220的私有密钥,以及半导体装置210在传输校正数据CD(z)之前使用半导体装置220的公开密钥来加密校正数据CD(z)。然后,半导体装置220使用私有密钥来解密所加密的校正数据CD(z)。加密的校正数据由此能够从半导体装置210传输到半导体装置220。
如上所述,根据本发明的实施例,可以提供能够容易地将半导体装置添加至其中执行安全通信的密码通信系统内的密码通信系统和密码通信方法。
<第九实施例>
本发明的第九实施例将在下面描述。图24是示出根据本实施例的密码通信系统202的框图。由半导体装置ICz输出的唯一码UC(z)是具有相对低的安全级别的信息,因为它由于其特性而含有错误的信息。因而,在根据第八实施例的密码通信系统中,在唯一码UC(z)由半导体装置ICz传输给半导体装置ICa时,没有加密唯一码UC(z)。但是,因为唯一码UC(z)是为半导体装置ICz所独有的信息,所以尽管它含有错误的信息,优选的是在传输之前对唯一码UC(z)进行加密。因而,在根据本实施例的密码通信系统中,在唯一码UC(z)由半导体装置ICz传输给半导体装置ICa之前,对唯一码UC(z)进行加密。
图24所示的密码通信系统202包括半导体装置ICa(230)和半导体装置ICb(240)。半导体装置230包括唯一码生成单元231、存储单元232、共用密钥生成单元233、校正数据生成单元234和解密单元235。
唯一码生成单元231生成为半导体装置230所独有的唯一码UC(a),并将其输出到共用密钥生成单元233。唯一码生成单元231的基本配置和操作与第八实施例所描述的唯一码生成单元211的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元232能够存储半导体装置230的校正数据CD(a)、公开密钥PK(a)和私有密钥SK(a),以及在共用密钥生成单元233内生成的共用密钥CK(a)。存储单元232包括例如易失性存储器和非易失性存储器,以及校正数据CD(a)、公开密钥(a)及私有密钥SK(a)存储于非易失性存储器内,而共用密钥CK(a)存储于易失性存储器内。因而,尽管存储单元232临时存储着共用密钥CK(a),但是共用密钥CK(a)的信息在半导体装置230断电时会被擦除。注意,共用密钥CK(a)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(a)实行诸如在半导体装置230断电时通过写入来擦除数据的措施。
共用密钥生成单元233使用由唯一码生成单元231输出的唯一码UC(a)以及存储于存储单元232内的校正数据CD(a)来生成共用密钥CK(a)。注意,共用密钥生成单元233起着唯一码校正单元的作用。共用密钥生成单元233的基本配置和操作与第八实施例所描述的共用密钥生成单元213的基本配置和操作是相同的,并且在此省略关于它的多余解释。
校正数据生成单元234使用半导体装置240的唯一码UC(z)和共用密钥CK(a)来生成校正数据(第二校正数据)CD(z)。校正数据生成单元234的基本配置和操作与第八实施例所描述的校正数据生成单元214的基本配置和操作是相同的,并且在此省略关于它的多余解释。
解密单元235使用半导体装置230的私有密钥SK(a)来解密由半导体装置240的加密单元244加密的唯一码UC(z)_c,并由此生成唯一码UC(z)。
半导体装置240包括唯一码生成单元241、存储单元242、共用密钥生成单元243和加密单元244。唯一码生成单元241生成为半导体装置240所独有的唯一码UC(z),并且将其输出到加密单元244和共用密钥生成单元243。唯一码生成单元241的基本配置和操作与第八实施例所描述的唯一码生成单元211的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元242能够具有在共用密钥生成单元243内生成的共用密钥CK(a)。存储单元242将共用密钥CK(a)存储于易失性存储器内。因而,尽管存储单元242临时存储着共用密钥CK(a),但是共用密钥CK(a)的信息在半导体装置240断电时会被擦除。注意,共用密钥CK(a)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(a)实行诸如在半导体装置240断电时通过写入来擦除数据的措施。
共用密钥生成单元243使用由唯一码生成单元241输出的唯一码UC(z)以及由校正数据生成单元234输出的校正数据CD(z)来生成共用密钥CK(a)。共用密钥生成单元243起着唯一码校正单元的作用。共用密钥生成单元243的基本配置和操作与第八实施例所描述的共用密钥生成单元213的基本配置和操作是相同的,并且在此省略关于它的多余解释。
加密单元244通过使用半导体装置230的公开密钥PK(a)来加密在唯一码生成单元241内生成的唯一码UC(z)。待用于加密的公开密钥PK(a)可以预先从半导体装置230传输到半导体装置240并存储于存储单元242内。作为选择,待用于加密的公开密钥PK(a)可以在加密单元224加密唯一码UC(z)时由半导体装置230直接供应给加密单元244。所加密的唯一码UC(z)_c被输出到半导体装置230的解密单元235。
根据本实施例的密码通信系统的操作在下面参照图25的流程图来描述。首先,半导体装置ICa(230)的共用密钥生成单元233使用由唯一码生成单元231输出的唯一码UC(a)以及存储于存储单元232内的校正数据CD(a)来生成共用密钥CK(a)(步骤S130)。然后,半导体装置ICa(230)使用共用密钥CK(a)来启动与其他半导体装置ICb到ICy的通信(步骤S131)。
然后,半导体装置ICz(240)提出将校正数据CD(z)传输到半导体装置ICa(230)的请求(步骤S132)。收到要求传输校正数据CD(z)的请求时,半导体装置230将半导体装置230的公开密钥PK(a)传输给半导体装置240(步骤S133)。半导体装置240的加密单元244使用半导体装置230的公开密钥PK(a)来加密唯一码UC(z)(步骤S134)。注意,半导体装置230的公开密钥PK(a)可以预先存储于半导体装置240的存储单元242内。在这种情况下,能够跳过步骤S132和S133。
半导体装置240将加密的唯一码UC(z)_c传输给半导体装置230的解密单元235(步骤S135)。半导体装置230的解密单元235通过使用半导体装置230的私有密钥SK(a)来解密所加密的唯一码UC(z)_c,并由此生成唯一码UC(z)(步骤S136)。
半导体装置230的校正数据生成单元234使用半导体装置240的唯一码UC(z)以及存储于存储单元232内的共用密钥CK(a)来生成校正数据CD(z)(步骤S137)。对于用于生成校正数据CD(z)的校正数据生成单元234,有必要多次获得唯一码UC(z)。因而,步骤S134到S136被重复以多次获得唯一码UC(z)。
所生成的校正数据CD(z)被传输到半导体装置240的共用密钥生成单元243(步骤S138)。半导体装置240的共用密钥生成单元243使用由唯一码生成单元241输出的唯一码UC(z)以及由校正数据生成单元234输出的校正数据CD(z)来生成共用密钥CK(a)(步骤S139)。通过上述过程,所添加的半导体装置240能够具有共用密钥CK(a)。因而,所添加的半导体装置(ICz)240变得能够使用共用密钥CK(a)来执行与半导体装置(ICa)230和其他半导体装置ICb到ICy的密码通信(步骤S140)。
如上所述,在根据本实施例的密码通信系统中,半导体装置230的校正数据生成单元234使用为半导体装置240所独有的唯一码UC(z)和共用密钥CK(a)来生成校正数据CD(z),以及半导体装置240的共用密钥生成单元243使用半导体装置240的校正数据CD(z)和唯一码UC(z)来生成共用密钥CK(a)。因而,没有必要为了验证待添加的半导体装置ICz是否是适当的半导体装置而将昂贵的安全服务器并入密码通信系统中,并且可以容易地且低成本地将半导体装置添加到其中执行了安全通信的密码通信系统内。
此外,在根据本实施例的密码通信系统中,因为诸如共用密钥CK(a)之类的重要数据并没有直接存储于存储单元232和242内,所以即使半导体装置受到非授权的分析也不会发生诸如共用密钥CK(a)之类的重要数据的泄漏。因此,即使在半导体装置230和半导体装置240使用具有相对低的安全级别的通用微型计算机来配置时,也能够实现高的安全级别。
注意,用来在半导体装置230内生成共用密钥CK(a)的校正数据CD(a)以及半导体装置230的私有密钥SK(a)是具有相对高的安全级别的信息,尽管该安全级别低于共用密钥CK(a)的安全级别。因而,安全微型计算机可以用于半导体装置230,在半导体装置230中存储了校正数据CD(a)和私有密钥SK(a)以便防止校正数据CD(a)和私有密钥SK(a)泄漏给第三方。
此外,由半导体装置230传输给半导体装置240的校正数据CD(z)是具有相对高的安全级别的信息,因为它是与唯一码UC(z)和共用密钥CK(a)相关的数据。因而,当校正数据CD(z)由半导体装置230传输给半导体装置240时,校正数据CD(z)在传输之前可以使用公开密钥密码体制来加密。
如上所述,根据本发明的实施例,可以提供能够容易地将半导体装置添加至其中执行安全通信的密码通信系统内的密码通信系统和密码通信方法。特别地,在根据本实施例的密码通信系统中,半导体装置240的唯一码UC(z)被加密并被传输给半导体装置230,这进一步提高了密码通信系统的安全性。
<第十实施例>
本发明的第十实施例将在下面描述。图26是示出根据本实施例的密码通信系统203的框图。在本实施例中,将密码通信系统应用于数字签名系统。根据本实施例的密码通信系统203包括半导体装置ICa(250)、半导体装置ICz(260)和安全服务器270。
半导体装置250包括唯一码生成单元251、存储单元252、共用密钥生成单元253、校正数据生成单元254、解密单元255及验证单元256。
唯一码生成单元251生成为半导体装置250所独有的唯一码UC(a),并将其输出到共用密钥生成单元253。唯一码生成单元251的基本配置和操作与第八实施例所描述的唯一码生成单元211的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元252能够存储半导体装置250的校正数据CD(a)、公开密钥PK(a)和私有密钥SK(a),以及在共用密钥生成单元253内生成的共用密钥CK(a)。存储单元235包括例如易失性存储器和非易失性存储器,校正数据CD(a)、公开密钥(a)及私有密钥SK(a)存储于非易失性存储器内,以及共用密钥CK(a)存储于易失性存储器内。因而,尽管存储单元252临时存储着共用密钥CK(a),但是共用密钥CK(a)的信息在半导体装置250断电时会被擦除。
共用密钥生成单元253使用由唯一码生成单元251输出的唯一码UC(a)以及存储于存储单元252内的校正数据CD(a)来生成共用密钥CK(a)。共用密钥生成单元253起着唯一码校正单元的作用。共用密钥生成单元253的基本配置和操作与第八实施例所描述的共用密钥生成单元213的基本配置和操作是相同的,并且在此省略关于它的多余解释。
校正数据生成单元254使用半导体装置260的唯一码UC(z)和共用密钥CK(a)来生成校正数据CD(z)。校正数据生成单元254的基本配置和操作与第八实施例所描述的校正数据生成单元214的基本配置和操作是相同的,并且在此省略关于它的多余解释。
解密单元255使用半导体装置250的私有密钥SK(a)来解密由半导体装置250的加密单元264加密的唯一码UC(z)_c,并由此生成唯一码UC(z)。
验证单元256执行数字签名方案中的验证算法。特别地,验证单元256使用半导体装置260的签名数据Sig(a)和公开密钥PK(z)来生成验证数据,并且将该验证数据与明文Plane(a)比较。
半导体装置260包括唯一码生成单元261、存储单元262、共用密钥生成单元263、加密单元264和签名数据生成单元265。唯一码生成单元261生成为半导体装置260所独有的唯一码UC(z),并且将其输出到加密单元264和共用密钥生成单元263。唯一码生成单元261的基本配置和操作与第八实施例所描述的唯一码生成单元211的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元262能够存储在共用密钥生成单元263内生成的共用密钥CK(a)、半导体装置260的私有密钥SK(z)及明文Plane(z)。存储单元262包括例如易失性存储器和非易失性存储器,以及半导体装置260的私有密钥SK(z)和明文Plane(z)存储于非易失性存储器内,而共用密钥CK(a)存储于易失性存储器内。因而,尽管存储单元262临时存储着共用密钥CK(a),但是共用密钥CK(a)的信息在半导体装置260断电时会被擦除。注意,共用密钥CK(a)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(a)实行诸如在半导体装置260断电时通过写入来擦除数据的措施。
共用密钥生成单元263使用由唯一码生成单元261输出的唯一码UC(z)以及由校正数据生成单元265输出的校正数据CD(z)来生成共用密钥CK(a)。共用密钥生成单元263起着唯一码校正单元的作用。共用密钥生成单元263的基本配置和操作与第八实施例所描述的共用密钥生成单元213的基本配置和操作是相同的,并且在此省略关于它的多余解释。
加密单元264通过使用半导体装置260的公开密钥PK(a)来加密在唯一码生成单元261内生成的唯一码UC(z)。待用于加密的公开密钥PK(a)可以预先从半导体装置250传输到半导体装置260并存储于存储单元262内。作为选择,待用于加密的公开密钥PK(a)可以在加密单元264加密唯一码UC(z)时由半导体装置250直接供应给加密单元264。作为进一步的选择,公开密钥PK(a)可以由安全服务器270来供应。所加密的唯一码UC(z)_c被输出到半导体装置250的解密单元255。
签名数据生成单元265使用半导体装置260的私有密钥SK(z)及明文Plane(z)来生成签名数据Sig(z)。换言之,签名数据生成单元265执行数字签名方案中的签名生成算法。
安全服务器270包括用于存储与半导体装置ICa、ICb、…、ICz关联的半导体装置ICa、ICb、…、ICz的公开密钥PK(a)、PK(b)、…、PK(z)的数据库271。在本实施例中,因为存储于数据库271内的公开密钥信息是具有高安全级别的信息,优选的是将安全微型计算机用于安全服务器270。存储于安全服务器270中的公开密钥信息响应于请求而传输到每个半导体装置。
根据本实施例的密码通信系统的操作在下面参照图27的流程图来描述。首先,半导体装置ICa(250)的共用密钥生成单元253使用由唯一码生成单元251输出的唯一码UC(a)以及存储于存储单元252内的校正数据CD(a)来生成共用密钥CK(a)(步骤S141)。然后,半导体装置ICa(250)使用共用密钥CK(a)来启动与其他半导体装置ICb到ICy(没有示出)的通信(步骤S142)。
然后,半导体装置ICz(260)将半导体装置ICz(260)的半导体装置信息(例如,唯一的ID等)传输给半导体装置ICa(250)(步骤S143)。收到半导体装置260的半导体装置信息时,半导体装置250提出将半导体装置260的公开密钥传输到安全服务器270的请求(步骤S144)。半导体装置260的公开密钥在半导体装置250的验证单元256验证签名数据时使用。安全服务器270将半导体装置260的公开密钥PK(z)传输给半导体装置250的验证单元256(步骤S145)。
然后,半导体装置250提出将签名数据传输给半导体装置260的请求(步骤S146)。收到要求传输签名数据的请求时,半导体装置260使用私有密钥SK(z)和明文Plane(z)在签名数据生成单元265内生成签名数据Sig(z)。明文Plane(z)和所生成的签名数据Sig(z)被传输给半导体装置250的验证单元256(步骤S147)。
半导体装置250的验证单元256执行数字签名方案中的验证算法(步骤S148)。特别地,验证单元256使用由安全服务器270供应的半导体装置260的公开密钥PK(z)和签名数据Sig(z)来生成验证数据,并且将验证数据与明文Plane(z)比较。签名数据Sig(z)是通过使用半导体装置260的私有密钥SK(z)来加密明文Plane(z)而生成的数据。因而,通过使用半导体装置260的公开密钥PK(z)来解密签名数据Sig(z)而获得的验证数据是与由半导体装置260传输来的明文Plane(z)对应的数据。因此,验证单元256将验证数据与明文Plane(z)比较,并且当验证数据与明文Plane(z)相匹配时,能够确定半导体装置260具有私有密钥SK(z)。
因而,当验证数据与明文Plane(a)相匹配时(当验证算法接受签名数据Sig(z)时),验证单元256确定由半导体装置260产生的签名数据Sig(z)是有效的。因而,确定半导体装置260具有私有密钥SK(z)。另一方面,当验证数据与明文Plane(a)不匹配时(当验证算法拒绝签名数据Sig(z)时),验证单元256确定由半导体装置260产生的签名数据Sig(z)是无效的。
当半导体装置260被确定为适当的半导体装置时,半导体装置250将半导体装置250的公开密钥PK(a)传输给半导体装置260(步骤S149)。半导体装置260的加密单元264通过使用半导体装置250的公开密钥PK(a)来加密唯一码UC(z)(步骤S150)。注意,半导体装置250的公开密钥PK(a)可以通过来自半导体装置250的指令从安全服务器270传输到半导体装置260。
半导体装置260将加密的唯一码UC(z)_c传输给半导体装置250的解密单元255(步骤S151)。半导体装置250的解密单元255通过使用半导体装置250的私有密钥SK(a)来解密所加密的唯一码UC(z)_c,并由此生成唯一码UC(z)(步骤S152)。
半导体装置250的校正数据生成单元254使用半导体装置260的唯一码UC(z)和共用密钥CK(a)生成校正数据CD(z)(步骤S153)。对于用于生成校正数据CD(z)的校正数据生成单元254,有必要多次获得唯一码UC(z)。因而,步骤S150到S152被重复以多次获得唯一码UC(z)。
所生成的校正数据CD(z)被传输给半导体装置260的共用密钥生成单元263(步骤S154)。半导体装置260的共用密钥生成单元263使用由唯一码生成单元261输出的唯一码UC(z)以及由校正数据生成单元254输出的校正数据CD(z)来生成共用密钥CK(a)(步骤S155)。通过上述过程,所添加的半导体装置260能够使用数据签名方案来验证。然后,当所添加的半导体装置260是适当的半导体装置时,半导体装置260能够具有共用密钥CK(a)。因而,所添加的半导体装置(ICz)260变得能够使用共用密钥CK(a)来执行与半导体装置(ICa)240和其他半导体装置ICb到ICy的密码通信(步骤S156)。
如上所述,在根据本实施例的密码通信系统中,半导体装置250的校正数据生成单元254使用为半导体装置260所独有的唯一码UC(z)和共用密钥CK(a)来生成校正数据CD(z),以及半导体装置260的共用密钥生成单元263使用校正数据CD(z)和半导体装置260的唯一码UC(z)来生成共用密钥CK(a)。因而,没有必要为了验证待添加的半导体装置ICz是否是适当的半导体装置而将昂贵的安全服务器并入密码通信系统中,并且可以容易地且低成本地将半导体装置添加至其中执行安全通信的密码通信系统中。
此外,在根据本实施例的密码通信系统中,因为诸如共用密钥CK(a)之类的重要数据并没有直接存储于存储单元252和262内,所以即使半导体装置受到非授权的分析也不会发生诸如共用密钥CK(a)之类的重要数据的泄漏。因此,即使在半导体装置250和半导体装置260使用具有相对低的安全级别的通用微型计算机来配置时,也能够实现高的安全级别。
另一方面,在本实施例中,存储于安全服务器270的数据库271内的公开密钥信息是具有高的安全级别的信息。因而,优选的是将安全微型计算机用于安全服务器270。
注意,用来生成半导体装置260的共用密钥CK(a)的校正数据CD(a)和私有密钥SK(z)是具有相对高的安全级别的信息,尽管该安全级别低于共用密钥CK(a)的安全级别。因而,安全微型计算机可以用于半导体装置250和260,在半导体装置250和260中存储了校正数据CD(a)和私有密钥SK(z)以便防止校正数据CD(a)和私有密钥SK(z)泄漏给第三方。
此外,由半导体装置250传输给半导体装置260的校正数据CD(z)是具有相对高的安全级别的信息,因为它是与唯一码UC(z)和共用密钥CK(a)相关的数据。因而,当校正数据CD(z)由半导体装置250传输给半导体装置260时,校正数据CD(z)在传输之前可以使用公开密钥密码体制来加密。
此外,在本实施例中,加密单元264包含于半导体装置260内以及解密单元255包含于半导体装置250内,以便在加密之后传输唯一码UC(z)。但是,在本实施例中,加密单元264和解密单元255可以被省略,并且唯一码UC(z)可以在不加密的情况下传输,如同在第八实施例中的那样。
如上所述,根据本发明的实施例,可以提供能够容易地将半导体装置添加至其中执行安全通信的密码通信系统内的密码通信系统和密码通信方法。
特别地,在根据本实施例的密码通信系统中,公开密钥信息使用安全服务器270来集中管理。公开密钥信息是在使用数字签名方案来验证待添加的半导体装置时使用的信息,并且它是具有高安全级别的信息。通过使用安全服务器270来集中管理具有高安全级别的信息,能够消除将具有高安全级别的信息存储于半导体装置250和260内的需要,使得半导体装置250和260能够使用通用微型计算机来配置。因而,可以降低构造密码通信系统的成本。
<第十一实施例>
本发明的第十一实施例将在下面描述。图28是示出根据本实施例的密码通信系统204的框图。在根据本实施例的密码通信系统204中,校正数据生成程序PRG(z)由作为待添加的装置的半导体装置ICz(290)传输到半导体装置ICa(280),而不是包含用于生成校正数据CD(z)的校正数据生成单元。校正数据生成程序PRG(z)然后在半导体装置ICa(280)内执行,以由此生成校正数据CD(z)。
图28所示的密码通信系统204包括半导体装置ICa(280)和半导体装置ICb(290)。半导体装置280包括唯一码生成单元281、存储单元282、共用密钥生成单元283、程序执行单元284和解密单元285。
唯一码生成单元281生成为半导体装置280所独有的唯一码UC(a),并将其输出到共用密钥生成单元283。唯一码生成单元281的基本配置和操作与第八实施例所描述的唯一码生成单元211的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元282能够存储半导体装置280的校正数据CD(a)、公开密钥PK(a)和私有密钥SK(a),以及在共用密钥生成单元283内生成的共用密钥CK(a)。存储单元282包括例如易失性存储器和非易失性存储器,校正数据CD(a)、公开密钥(a)及私有密钥SK(a)存储于非易失性存储器内,以及共用密钥CK(a)存储于易失性存储器内。因而,尽管存储单元282临时存储着共用密钥CK(a),但是共用密钥CK(a)的信息在半导体装置280断电时会被擦除。
共用密钥生成单元283使用由唯一码生成单元281输出的唯一码UC(a)以及存储于存储单元282内的校正数据CD(a)来生成共用密钥CK(a)。共用密钥生成单元283起着唯一码校正单元的作用。共用密钥生成单元283的基本配置和操作与第八实施例所描述的共用密钥生成单元213的基本配置和操作是相同的,并且在此省略关于它的多余解释。
程序执行单元284执行从半导体装置290传输来的校正数据生成程序PRG(z)。通过执行校正数据生成程序PRG(z),能够使用半导体装置290的唯一码UC(2)和共用密钥CK(a)来生成校正数据CD(z)。程序执行单元284典型为处理器,例如,CPU。校正数据生成程序PRG(z)可以是例如仅能够在半导体装置280上运行的程序。作为选择,校正数据生成程序PRG(z)可以是不依赖于其所运行的半导体装置的体系结构的程序,例如,JAVA(注册商标)。构成密码通信系统的某些半导体装置具有不同的CPU核心体系架构。因而,通过使用不依赖于其所运行的半导体装置的体系结构的程序(例如,JAVA),可以提高密码通信系统的方便性,以及降低密码通信系统的成本。
注意,使用校正数据生成程序PRG(z)来生成校正数据CD(z)的过程与在第八实施例所描述的校正数据生成单元214中的过程是相同的,并且在此省略关于它的多余解释。
解密单元285使用半导体装置280的私有密钥SK(a)来解密由半导体装置290的加密单元294加密的唯一码UC(z)_c,并由此生成唯一码UC(z)。
半导体装置290包括唯一码生成单元291、存储单元292、共用密钥生成单元293和加密单元294。唯一码生成单元291生成为半导体装置290所独有的唯一码UC(z),并且将其输出到加密单元294和共用密钥生成单元293。唯一码生成单元291的基本配置和操作与第八实施例所描述的唯一码生成单元211的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元292能够具有在共用密钥生成单元293内生成的共用密钥CK(a)和校正数据生成程序PRG(z)。存储单元292包括例如易失性存储器和非易失性存储器,校正数据生成程序PRG(z)存储于非易失性存储器内,以及共用密钥CK(a)存储于易失性存储器内。因而,尽管存储单元292临时存储着共用密钥CK(a),但是共用密钥CK(a)的信息在半导体装置290断电时会被擦除。注意,共用密钥CK(a)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(a)实行诸如在半导体装置290断电时通过写入来擦除数据的措施。
共用密钥生成单元293使用由唯一码生成单元291输出的唯一码UC(z)以及由程序执行单元284输出的校正数据CD(z)来生成共用密钥CK(a)。共用密钥生成单元293起着唯一码校正单元的作用。共用密钥生成单元293的基本配置和操作与第八实施例所描述的共用密钥生成单元213的基本配置和操作是相同的,并且在此省略关于它的多余解释。
加密单元294通过使用半导体装置280的公开密钥PK(a)来加密唯一码UC(z)和校正数据生成程序PRG(z)。待用于加密的公开密钥PK(a)可以预先从半导体装置280传输到半导体装置290并存储于存储单元292内。作为选择,待用于加密的公开密钥PK(a)可以在加密单元294加密唯一码UC(z)和校正数据生成程序PRG(z)时由半导体装置280直接供应给加密单元294。所加密的唯一码UC(z)_c和校正数据生成程序PRG(z)被输出到半导体装置280的解密单元285。
根据本实施例的密码通信系统的操作在下面参照图29的流程图来描述。首先,半导体装置ICa(280)的共用密钥生成单元283使用由唯一码生成单元281输出的唯一码UC(a)以及存储于存储单元282内的校正数据CD(a)来生成共用密钥CK(a)(步骤S160)。然后,半导体装置ICa(280)使用共用密钥CK(a)来启动与其他半导体装置ICb到ICy的通信(步骤S161)。
然后,半导体装置ICz(290)提出将校正数据CD(z)传输到半导体装置ICa(280)的请求(步骤S162)。收到要求传输校正数据CD(z)的请求时,半导体装置280将半导体装置280的公开密钥PK(a)传输给半导体装置290(步骤S163)。半导体装置290的加密单元294使用半导体装置280的公开密钥PK(a)来加密唯一码UC(z)和校正数据生成程序PRG(z)(步骤S164)。注意,半导体装置280的公开密钥PK(a)可以预先存储于半导体装置290的存储单元292内。在这种情况下,能够跳过步骤S162和S163。
半导体装置290将加密的唯一码UC(z)_c和校正数据生成程序PRG(z)传输给半导体装置280的解密单元285(步骤S165)。半导体装置280的解密单元285通过使用半导体装置280的私有密钥SK(a)来解密加密的唯一码UC(z)_c和校正数据生成程序PRG(z),并由此生成唯一码UC(z)和校正数据生成程序PRG(z)(步骤S166)。
半导体装置280的程序执行单元284执行在解密单元285内解密后的校正数据生成程序PRG(z)。通过执行校正数据生成程序PRG(z),能够使用半导体装置290的唯一码UC(z)及共用密钥CK(a)来生成校正数据CD(z)(步骤S167)。对于用于生成校正数据CD(z)的校正数据生成程序PRG(z),有必要多次获得唯一码UC(z)。因而,步骤S164到S166(除去校正数据生成程序PRG(z)的传输)被重复以多次获得唯一码UC(z)。此外,在校正数据CD(z)生成之后可以删除校正数据生成程序PRG(z)。
所生成的校正数据CD(z)被传输到半导体装置290的共用密钥生成单元293(步骤S168)。半导体装置290的共用密钥生成单元293使用由唯一码生成单元291输出的唯一码UC(z)以及由程序执行单元284输出的校正数据CD(z)来生成共用密钥CK(a)(步骤S169)。通过上述过程,所添加的半导体装置290能够具有共用密钥CK(a)。因而,所添加的半导体装置(ICz)290变得能够使用共用密钥CK(a)来执行与半导体装置(ICa)280和其他半导体装置ICb到ICy的密码通信(步骤S170)。
如上所述,在根据本实施例的密码通信系统中,半导体装置280的程序执行单元284使用为半导体装置290所独有的唯一码UC(z)和共用密钥CK(a)来生成校正数据CD(z),以及半导体装置290的共用密钥生成单元293使用校正数据CD(z)和半导体装置290的唯一码UC(z)来生成共用密钥CK(a)。因而,没有必要为了验证待添加的半导体装置ICz是否是适当的半导体装置而将昂贵的安全服务器并入密码通信系统中,并且可以容易地且低成本地将半导体装置添加到其中执行了安全通信的密码通信系统内。
此外,在根据本实施例的密码通信系统中,因为诸如共用密钥CK(a)之类的重要数据并没有直接存储于存储单元282和292内,所以即使半导体装置受到非授权的分析也不会发生诸如共用密钥CK(a)之类的重要数据的泄漏。因此,即使在半导体装置280和半导体装置290使用具有相对低的安全级别的通用微型计算机来配置时,也能够实现高的安全级别。
注意,用来在半导体装置280内生成共用密钥CK(a)的校正数据CD(a)以及半导体装置280的私有密钥SK(a)是具有相对高的安全级别的信息,尽管该安全级别低于共用密钥CK(a)的安全级别。因而,安全微型计算机可以用于其中存储了校正数据CD(a)和私有密钥SK(a)的半导体装置280,以便防止校正数据CD(a)和私有密钥SK(a)泄漏给第三方。
此外,由半导体装置280传输给半导体装置290的校正数据CD(z)是具有相对高的安全级别的信息,因为它是与唯一码UC(z)和共用密钥CK(a)相关的数据。因而,当校正数据CD(z)由半导体装置280传输给半导体装置290时,校正数据CD(z)在传输之前可以使用公开密钥密码体制来加密。
此外,在本实施例中,加密单元294包含于半导体装置290内以及解密单元285包含于半导体装置280内,以便在加密之后传输唯一码UC(z)和校正数据生成程序PRG(z)。但是,在本实施例中,加密单元294和解密单元285可以被省略,并且唯一码UC(z)和校正数据生成程序PRG(z)可以在不加密的情况下传输,如同在第八实施例中的那样。
在上述实例中,描述了其中校正数据生成程序PRG(z)由待添加的半导体装置290传输给半导体装置280的情形。但是,校正数据生成程序PRG(z)可以由例如服务器传输给半导体装置280。
如上所述,根据本发明的实施例,可以提供能够容易地将半导体装置添加至其中执行安全通信的密码通信系统内的密码通信系统和密码通信方法。
特别地,在根据本实施例的密码通信系统中,即使在校正数据生成单元没有预先包含于半导体装置280内的时候,唯一码UC(z)也能够通过将校正数据生成程序PRG(z)存储于待添加的半导体装置290以及在半导体装置280内执行校正数据生成程序PRG(z)来生成。校正数据生成程序PRG(z)可以在半导体装置290发货之前存储或者可以在发货之后根据需要从服务器上下载。此外,如果校正数据生成程序PRG(z)是不依赖于其所运行的半导体装置的体系结构的程序(例如,JAVA),则可以提高密码通信系统的方便性以及降低密码通信系统的成本。
<第十二实施例>
本发明的第十二实施例将在下面描述。图30是示出根据本实施例的密码通信系统205的框图。在根据本实施例的密码通信系统205中,多个共用密钥CK(1)和CK(2)在半导体装置ICa(300)的共用密钥生成单元303内生成。然后,半导体装置ICa(300)和半导体装置ICz(310)使用共用密钥CK(2)来通信,以及半导体装置ICa(300)与半导体装置ICb到ICy使用共用密钥CK(1)来通信。因而,半导体装置ICa(300)起着路由器的作用。
图30所示的密码通信系统205包括半导体装置ICa(300)和半导体装置ICz(310)。半导体装置300包括唯一码生成单元301、存储单元302、共用密钥生成单元303和校正数据生成单元304。
唯一码生成单元301生成为半导体装置300所独有的唯一码UC(a),并将其输出到共用密钥生成单元303。唯一码生成单元301的基本配置和操作与第八实施例所描述的唯一码生成单元211的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元302能够存储校正数据CD(1)和CD(2)以及在共用密钥生成单元303内生成的共用密钥CK(1)和CK(2)。存储单元302包括例如易失性存储器和非易失性存储器,校正数据CD(1)和CD(2)存储于非易失性存储器内,以及共用密钥CK(1)和CK(2)存储于易失性存储器内。因而,尽管存储单元302临时存储着共用密钥CK(1)和CK(2),但是共用密钥CK(1)和CK(2)的信息在半导体装置300断电时会被擦除。注意,共用密钥CK(1)和CK(2)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(1)和CK(2)实行诸如在半导体装置300断电时通过写入来擦除数据的措施。
共用密钥生成单元303使用由唯一码生成单元301输出的唯一码UC(a)以及存储于存储单元302内的校正数据(第三校正数据)CD(1)来生成共用密钥(第二共用密钥)CK(1)。此外,共用密钥生成单元303使用由唯一码生成单元301输出的唯一码UC(a)以及存储于存储单元302内的校正数据(第一校正数据)CD(2)来生成共用密钥(第一共用密钥)CK(2)。共用密钥生成单元303起着唯一码校正单元的作用。共用密钥生成单元303的基本配置和操作与第八实施例所描述的共用密钥生成单元213的基本配置和操作是相同的,并且在此省略关于它的多余解释。
校正数据生成单元304使用半导体装置310的唯一码UC(z)和共用密钥CK(2)来生成校正数据(第二校正数据)CD(z)。校正数据生成单元304的基本配置和操作与第八实施例所描述的校正数据生成单元214的基本配置和操作是相同的,并且在此省略关于它的多余解释。
半导体装置310包括唯一码生成单元311、存储单元312和共用密钥生成单元313。唯一码生成单元311生成为半导体装置310所独有的唯一码UC(z),并且将其输出到半导体装置300的校正数据生成单元304。唯一码生成单元311的基本配置和操作与第八实施例所描述的唯一码生成单元211的基本配置和操作是相同的,并且在此省略关于它的多余解释。
存储单元312能够具有在共用密钥生成单元313内生成的共用密钥CK(2)。存储单元312将共用密钥CK(2)存储于易失性存储器内。因而,尽管存储单元312临时存储着共用密钥CK(2),但是共用密钥CK(2)的信息在半导体装置310断电时会被擦除。注意,共用密钥CK(2)在采取了安全措施(例如,加密)之后可以根据需要存储于非易失性存储器内,以及可以对存储于非易失性存储器内的共用密钥CK(2)实行诸如在半导体装置310断电时通过写入来擦除数据的措施。
共用密钥生成单元313使用由唯一码生成单元311输出的唯一码UC(z)以及由校正数据生成单元304输出的校正数据CD(z)来生成共用密钥CK(2)。共用密钥生成单元313起着唯一码校正单元的作用。共用密钥生成单元313的基本配置和操作与第八实施例所描述的共用密钥生成单元213的基本配置和操作是相同的,并且在此省略关于它的多余解释。
根据本实施例的密码通信系统的操作在下面参照图31的流程图来描述。首先,半导体装置ICa(300)的共用密钥生成单元303使用由唯一码生成单元301输出的唯一码UC(a)以及存储于存储单元302内的校正数据CD(1)来生成共用密钥CK(1)(步骤S171)。然后,半导体装置ICa(300)使用共用密钥CK(1)来启动与其他半导体装置ICb到ICy(第三半导体装置)的通信(步骤S172)。
半导体装置310将半导体装置310的唯一码UC(z)传输给半导体装置300的校正数据生成单元304(步骤S173)。半导体装置300的共用密钥生成单元303使用由唯一码生成单元301输出的唯一码UC(a)以及存储于存储单元302内的校正数据CD(2)来生成共用密钥CK(2)(步骤S174)。然后,半导体装置300的校正数据生成单元304使用半导体装置310的唯一码UC(z)及共用密钥CK(2)来生成校正数据CD(z)(步骤S175)。对于用于生成校正数据CD(z)的校正数据生成单元304,有必要多次获得唯一码UC(z)。因而,步骤S173被重复以多次获得唯一码UC(z)。
所生成的校正数据CD(z)被传输给半导体装置310的共用密钥生成单元313(步骤S176)。半导体装置310的共用密钥生成单元313使用由唯一码生成单元311输出的唯一码UC(z)以及由校正数据生成单元304输出的校正数据CD(z)来生成共用密钥CK(2)(步骤S177)。通过上述过程,半导体装置300和半导体装置310两者都能够具有共用密钥CK(2)。因而,所添加的半导体装置310变得能够使用共用密钥CK(2)来执行与半导体装置300间的密码通信(步骤S178)。另一方面,半导体装置300与半导体装置ICb到ICy使用共用密钥CK(1)来执行通信。
图32是示出根据本实施例的密码通信系统的配置的实例的框图。如图32所示,半导体装置ICa和半导体装置ICb及半导体装置ICc使用共用密钥CK(1)来通信,并且建立起安全网络。此外,所添加的半导体装置ICz使用共用密钥CK(2)来与半导体装置ICa通信。因而,半导体装置ICa起着路由器的作用,使得所添加的半导体装置ICz能够通过半导体装置ICa来执行与半导体装置ICb和ICc之间的密码通信。
如上所述,在根据本实施例的密码通信系统中,半导体装置300的校正数据生成单元304使用为半导体装置310所独有的唯一码UC(z)和共用密钥CK(2)来生成校正数据CD(z),以及半导体装置310的共用密钥生成单元313使用半导体装置310的校正数据CD(z)和唯一码UC(z)来生成共用密钥CK(2)。因而,没有必要为了验证待添加的半导体装置ICz是否是适当的半导体装置而将昂贵的安全服务器并入密码通信系统中,并且可以容易地且低成本地将半导体装置添加到其中执行了安全通信的密码通信系统内。
此外,在根据本实施例的密码通信系统中,因为诸如共用密钥CK(1)和CK(2)之类的重要数据并没有直接存储于存储单元302和312内,所以即使半导体装置受到非授权的分析也不会发生诸如共用密钥CK(1)和CK(2)之类的重要数据的泄漏。因此,即使在半导体装置300和半导体装置310使用具有相对低的安全级别的通用微型计算机来配置时,也能够实现高的安全级别。
注意,用来生成共用密钥CK(1)和CK(2)的校正数据CD(1)和CD(2)是具有相对高的安全级别的信息,尽管该安全级别低于共用密钥CK(1)和CK(2)的安全级别。因而,安全微型计算机可以用于其中存储了校正数据CD(1)和CD(2)的半导体装置300,以便防止校正数据CD(1)和CD(2)泄漏给第三方。
此外,由半导体装置300传输给半导体装置310的校正数据CD(z)是具有相对高的安全级别的信息,因为它是与唯一码UC(z)和共用密钥CK(2)相关的数据。因而,当校正数据CD(z)由半导体装置300传输给半导体装置310时,校正数据CD(z)在传输之前可以使用公开密钥密码体制来加密。
如上所述,根据本发明的实施例,可以提供能够容易地将半导体装置添加至其中执行安全通信的密码通信系统内的密码通信系统和密码通信方法。
<第十三实施例>
本发明的第十三实施例将在下面描述。图33是示出将根据第八到第十二实施例的密码通信系统应用于车载半导体装置的情形的框图。如图33所示,车辆360包括网关单元350、故障诊断单元351、引擎控制单元352、制动控制单元353、车灯控制单元354、门锁控制单元355和钥匙插入控制单元356。
网关单元350是用于中继包括单元351到356的网络的设备。安全微型计算机ICa包含于网关单元350内。故障诊断单元351是用于对车辆360的构件是否有故障进行诊断的单元。半导体装置ICb包含于故障诊断单元351内。引擎控制单元352是用于对引擎操作进行全面电控制(燃料供给、点火定时控制等)的单元。半导体装置ICc包含于引擎控制单元352内。制动控制单元353是用于控制诸如ABS(防抱死系统)之类的制动器的单元。半导体装置ICd包含于制动控制单元353内。车灯控制单元354是用于控制车辆的前灯、指示灯等的单元。半导体装置ICe包含于车灯控制单元354内。
门锁控制单元355是用于控制门锁的单元。半导体装置ICf以及用于与钥匙357无线电通信的通信单元包含于门锁控制单元355内。钥匙插入控制单元356是用于确定所插入的钥匙357是否是有效的用户钥匙的单元。半导体装置ICg以及用于与钥匙357无线电通信的通信单元包含于钥匙插入控制单元356内。半导体装置ICh和通信单元包含于钥匙357内。例如,通用微型计算机可以用于包含于各个单元351到356和钥匙357内的半导体装置ICb到ICh。
故障诊断单元351、引擎控制单元352、制动控制单元353、车灯控制单元354、门锁控制单元355和钥匙插入控制单元356与网关单元350连接,以及各个单元351到356被配置以能够通过网关单元350相互通信。用于在各个单元351到356与网关单元350之间的通信的共用密钥在单元和单元之间可以是不同的。例如,共用密钥A可以用于故障诊断单元351与网关单元350之间的通信,以及共用密钥B可以用于引擎控制单元352与网关单元350之间的通信。
网关单元(ICa)350与各个单元(ICb到ICg)351到356建立了安全网络。当将包含半导体装置ICz的汽车导航系统358添加到安全网络时,在第八到第十二实施例中描述的方法的使用允许汽车导航系统(ICz)358被容易地且低成本地添加到安全网络中。
在图33所示的实例中,示出了其中单元351到356和汽车导航系统358通过网关单元350来执行通信的配置。但是,单元351到356和汽车导航系统358可以使用相同的共用密钥来相互通信。在这种情况下,单元351到356和汽车导航系统358被配置以通过例如公共总线来相互连接。它还可以应用于不同于图33所示的单元的各种单元之间的通信。
应当指出,在本实施例中描述了其中将根据第一到第六实施例及第八到第十二实施例的密码通信系统应用于车载半导体装置的情形。但是,根据第一到第六实施例及第八到第十二实施例的密码通信系统同样可以应用于典型的LAN、智能仪表、智能电网、非接触式IC卡等,并不仅限与车载半导体装置。用于构造密码通信系统的半导体装置可以经由有线或无线连接来相互通信。此外,第一到第十三实施例能够由本领域技术人员根据意愿来结合。
虽然本发明已经根据多种实施例进行了描述,但是本领域技术人员应当意识到,本发明能够实行在所附权利要求的精神和范围内的各种修改,以及本发明并不限于以上所述的实例。
此外,权利要求的范围并不受以上所描述的实施例的限定。
而且,应当指出,申请人的意图是覆盖全部要求权利的要件的等同物,即使在审查期间后期修改的。

Claims (10)

1.一种密码通信系统,包括第一半导体装置和第二半导体装置,
所述第一半导体装置包括:
共用密钥生成单元,用于通过使用具有为所述第一半导体装置所独有的值且含有随机错误的第一唯一码以及用于校正所述第一唯一码的第一校正数据来生成共用密钥;以及
加密单元,用于通过使用所述第二半导体装置的公开密钥来加密在所述共用密钥生成单元内生成的所述共用密钥,并且
所述第二半导体装置包括:
私有密钥生成单元,用于通过使用具有为所述第二半导体装置所独有的值且含有随机错误的第二唯一值以及用于校正所述第二唯一值的第二校正数据来生成所述第二半导体装置的私有密钥;以及
解密单元,用于通过使用所述私有密钥来解密在所述加密单元内加密过的所述共用密钥,
其中所述第一校正数据包括:用于屏蔽所述第一唯一码的各个位当中具有可变位值的位的屏蔽数据,以及用于校正通过使用所述屏蔽数据已经屏蔽的所屏蔽的第一唯一码的错误校正码。
2.根据权利要求1所述的密码通信系统,其中所述第一半导体装置和所述第二半导体装置使用所述共用密钥来通信。
3.根据权利要求1所述的密码通信系统,其中所述第一校正数据还包括:用于对已使用所述屏蔽数据和所述错误校正码进行错误校正的所述第一唯一码执行指定操作的操作参数。
4.根据权利要求3所述的密码通信系统,其中所述共用密钥生成单元使用所述屏蔽数据来屏蔽所述第一唯一码,使用所述错误校正码来校正所屏蔽的第一唯一码的错误,并通过使用所述操作参数来执行对已使用所述屏蔽数据和所述错误校正码进行错误校正的所述第一唯一码的操作。
5.根据权利要求1所述的密码通信系统,其中所述第一半导体装置和第二半导体装置使用安全微型计算机来配置。
6.根据权利要求1所述的密码通信系统,其中所述第一半导体装置和第二半导体装置使用通用微型计算机来配置。
7.根据权利要求1所述的密码通信系统,其中所述第一半导体装置和第二半导体装置是车载微型计算机。
8.根据权利要求7所述的密码通信系统,其中所述第一半导体装置和第二半导体装置之一是故障诊断单元。
9.根据权利要求7所述的密码通信系统,其中所述第一半导体装置和第二半导体装置之一是汽车导航系统。
10.一种使用第一半导体装置和第二半导体装置的密码通信方法,包括:
在所述第一半导体装置中,
通过使用具有为所述第一半导体装置所独有的值且含有随机错误的第一唯一码以及用于校正所述第一唯一码的第一校正数据来生成共用密钥;
通过使用所述第二半导体装置的公开密钥来加密所生成的共用密钥;以及
在所述第二半导体装置中,
通过使用具有为所述第二半导体装置所独有的值且含有随机错误的第二唯一值以及用于校正所述第二唯一值的第二校正数据来生成所述第二半导体装置的私有密钥;以及
通过使用所述私有密钥来解密所加密的共用密钥,
其中所述第一校正数据包括:用于屏蔽所述第一唯一码的各个位当中具有可变位值的位的屏蔽数据,以及用于校正通过使用所述屏蔽数据已经屏蔽的所屏蔽的第一唯一码的错误校正码。
CN201210211008.3A 2011-06-20 2012-06-20 密码通信系统和密码通信方法 Active CN102843231B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2011-136131 2011-06-20
JP2011-136132 2011-06-20
JP2011136131 2011-06-20
JP2011136132 2011-06-20
JP2012076387A JP2013031151A (ja) 2011-06-20 2012-03-29 暗号通信システムおよび暗号通信方法
JP2012-076387 2012-03-29

Publications (2)

Publication Number Publication Date
CN102843231A CN102843231A (zh) 2012-12-26
CN102843231B true CN102843231B (zh) 2017-03-01

Family

ID=46614288

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210211008.3A Active CN102843231B (zh) 2011-06-20 2012-06-20 密码通信系统和密码通信方法

Country Status (5)

Country Link
US (3) US9363082B2 (zh)
EP (1) EP2544400B1 (zh)
JP (1) JP2013031151A (zh)
KR (1) KR20120140224A (zh)
CN (1) CN102843231B (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8975748B1 (en) 2011-06-07 2015-03-10 Secure Silicon Layer, Inc. Semiconductor device having features to prevent reverse engineering
US9218511B2 (en) * 2011-06-07 2015-12-22 Verisiti, Inc. Semiconductor device having features to prevent reverse engineering
US20150071434A1 (en) * 2011-06-07 2015-03-12 Static Control Components, Inc. Secure Semiconductor Device Having Features to Prevent Reverse Engineering
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
WO2013101085A1 (en) 2011-12-29 2013-07-04 Intel Corporation Secure key storage using physically unclonable functions
US8938792B2 (en) 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
US10642992B2 (en) * 2013-01-04 2020-05-05 Pure Storage, Inc. Password augmented all-or-nothin transform
US9946474B2 (en) * 2013-03-27 2018-04-17 Irdeto B.V. Storing and accessing data
CN103338107B (zh) * 2013-06-05 2016-12-28 北京华大信安科技有限公司 密钥生成方法及密钥生成装置
JP6182371B2 (ja) * 2013-06-28 2017-08-16 ルネサスエレクトロニクス株式会社 半導体集積回路を含むシステム
JP2015065495A (ja) * 2013-09-24 2015-04-09 ルネサスエレクトロニクス株式会社 暗号鍵供給方法、半導体集積回路および暗号鍵管理装置
DE102013227184A1 (de) * 2013-12-27 2015-07-02 Robert Bosch Gmbh Verfahren zur Absicherung eines Systems-on-a-Chip
JP2017507549A (ja) * 2013-12-30 2017-03-16 バスコ データ セキュリティー インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング ブルートゥースインタフェースを備える認証装置
US20150249467A1 (en) * 2014-03-03 2015-09-03 Kabushiki Kaisha Toshiba Storage device, controller, and data writing method
WO2015156621A1 (ko) * 2014-04-09 2015-10-15 (주) 아이씨티케이 인증 장치 및 방법
US10659232B2 (en) 2014-04-09 2020-05-19 Ictk Holdings Co., Ltd. Message authentication apparatus and method based on public-key cryptosystems
EP3920058A1 (en) 2014-04-09 2021-12-08 ICTK Holdings Co., Ltd. Authentication apparatus and method
US9946858B2 (en) 2014-05-05 2018-04-17 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US10432409B2 (en) * 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9672342B2 (en) 2014-05-05 2017-06-06 Analog Devices, Inc. System and device binding metadata with hardware intrinsic properties
JP2016046719A (ja) 2014-08-25 2016-04-04 株式会社東芝 データ生成装置、通信装置、移動体、データ生成方法およびプログラム
JP2016134671A (ja) * 2015-01-16 2016-07-25 株式会社東芝 データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム
DE102015201298A1 (de) * 2015-01-26 2016-07-28 Robert Bosch Gmbh Verfahren zum kryptographischen Bearbeiten von Daten
JP6197000B2 (ja) 2015-07-03 2017-09-13 Kddi株式会社 システム、車両及びソフトウェア配布処理方法
WO2017058414A1 (en) 2015-09-29 2017-04-06 Apple Inc. Unified addressable memory
EP3373508B1 (en) * 2015-11-05 2020-11-04 Mitsubishi Electric Corporation Security device and security method
DE102016204055B4 (de) * 2016-03-11 2019-04-04 Universität Ulm Verfahren und Vorrichtung zur Erzeugung einer digitalen Signatur
KR101831134B1 (ko) 2016-05-17 2018-02-26 현대자동차주식회사 암호화를 적용한 제어기 보안 방법 및 그 장치
CN107493253B (zh) * 2016-06-13 2020-09-22 上海复旦微电子集团股份有限公司 无线射频设备、服务器及无线射频通信系统
US10230700B2 (en) * 2016-08-09 2019-03-12 Lenovo (Singapore) Pte. Ltd. Transaction based message security
KR102563162B1 (ko) * 2016-09-05 2023-08-04 에스케이하이닉스 주식회사 집적회로
CN106650432B (zh) * 2016-09-30 2020-11-10 北京奇虎科技有限公司 涉密信息的分析方法及装置
JP6683588B2 (ja) * 2016-11-10 2020-04-22 Kddi株式会社 再利用システム、サーバ装置、再利用方法、及びコンピュータプログラム
US11012230B2 (en) 2016-12-13 2021-05-18 Renesas Electronics Corporation Communication apparatus and cryptographic processing system
US10754970B2 (en) * 2017-01-27 2020-08-25 International Business Machines Corporation Data masking
US10742408B2 (en) * 2017-02-27 2020-08-11 Cord3 Innovation Inc. Many-to-many symmetric cryptographic system and method
CN107017993B (zh) * 2017-04-01 2020-05-05 北京江南天安科技有限公司 一种多方联合密钥产生和数字签名方法及系统
US10425235B2 (en) 2017-06-02 2019-09-24 Analog Devices, Inc. Device and system with global tamper resistance
US10958452B2 (en) 2017-06-06 2021-03-23 Analog Devices, Inc. System and device including reconfigurable physical unclonable functions and threshold cryptography
JP6754325B2 (ja) * 2017-06-20 2020-09-09 国立大学法人東海国立大学機構 車載認証システム、車載認証装置、コンピュータプログラム及び通信装置の認証方法
JP7001454B2 (ja) 2017-12-18 2022-01-19 日本化薬株式会社 ホスアプレピタントを含有する医薬製剤
CN108199835B (zh) * 2018-01-19 2021-11-30 北京江南天安科技有限公司 一种多方联合私钥解密方法
JP6852009B2 (ja) * 2018-03-20 2021-03-31 株式会社東芝 情報処理装置及び情報処理方法
CN109728907A (zh) * 2019-01-31 2019-05-07 上海易点时空网络有限公司 大规模数据流通方法及装置
EP3907633B1 (en) * 2020-05-05 2022-12-14 Nxp B.V. System and method for obfuscating opcode commands in a semiconductor device
WO2021258336A1 (zh) * 2020-06-24 2021-12-30 华为技术有限公司 车辆控制装置、整车集成单元以及车辆
US11503114B2 (en) 2021-01-05 2022-11-15 Toyota Motor North America, Inc. Provisioning of event-based keys to transports
US11438158B2 (en) 2021-01-05 2022-09-06 Toyota Motor North America, Inc. Provisioning of external functionality to transports
US11870557B2 (en) 2021-01-05 2024-01-09 Toyota Motor North America, Inc. Process for generating transport keys for data communication based on actions performed by a transport
US11924339B2 (en) 2021-04-15 2024-03-05 Real Random IP, LLC System and method for secure end-to-end electronic communication using a privately shared table of entropy
US20220116206A1 (en) * 2021-12-22 2022-04-14 Intel Corporation Systems and methods for device authentication in supply chain

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003273863A (ja) * 2002-03-14 2003-09-26 Fuji Electric Co Ltd データ受配信システムおよび方法
WO2006053304A2 (en) * 2004-11-12 2006-05-18 Pufco, Inc. Volatile device keys and applications thereof
CN1783103A (zh) * 2004-11-26 2006-06-07 索尼株式会社 用于传输电子值信息的方法和系统
CN101136071A (zh) * 2006-08-31 2008-03-05 索尼株式会社 通信装置、通信方法和程序
CN101741565A (zh) * 2009-12-18 2010-06-16 北京握奇数据系统有限公司 一种ic卡应用数据传输的方法及系统
JP2010134192A (ja) * 2008-12-04 2010-06-17 Nikon Corp 傾斜ステージとこれを有する顕微鏡
JP2010527219A (ja) * 2007-05-11 2010-08-05 ヴァリディティー センサーズ,インク. 物理的に複製不可能な機能を用いて電子機器のセキュリティを電子的に確保する方法およびシステム
JP2010226603A (ja) * 2009-03-25 2010-10-07 Sony Corp 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2513170B2 (ja) * 1990-12-10 1996-07-03 日本電信電話株式会社 利用者認証方法
JP3864401B2 (ja) * 1997-04-23 2006-12-27 ソニー株式会社 認証システム、電子機器、認証方法、および記録媒体
US6252961B1 (en) * 1997-07-17 2001-06-26 Hewlett-Packard Co Method and apparatus for performing data encryption and error code correction
US6564322B1 (en) * 1999-01-26 2003-05-13 International Business Machines Corporation Method and apparatus for watermarking with no perceptible trace
JP3552648B2 (ja) 2000-06-20 2004-08-11 インターナショナル・ビジネス・マシーンズ・コーポレーション アドホック無線通信用データ送受システム及びアドホック無線通信用データ送受方法
US7447791B2 (en) * 2000-12-15 2008-11-04 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material
US6611751B2 (en) * 2001-03-23 2003-08-26 981455 Alberta Ltd. Method and apparatus for providing location based data services
DE10130233A1 (de) * 2001-06-22 2003-01-02 Bosch Gmbh Robert Verfahren zur Störverdeckung bei digitaler Audiosignalübertragung
US7188994B2 (en) * 2002-02-22 2007-03-13 Biorep Technologies, Inc. Orbital shaker for cell extraction
EP1465531B1 (en) * 2002-10-10 2012-12-19 Visualsonics Inc. High frequency high frame-rate ultrasound imaging system
JP4346929B2 (ja) * 2003-03-10 2009-10-21 三菱電機株式会社 量子鍵配送方法および通信装置
DE10320176B3 (de) * 2003-05-06 2004-12-09 Infineon Technologies Ag Verfahren zur Selektion der Frequenzkanäle eines ein Frequenzsprungverfahren verwendenden Funksystems
JP4576997B2 (ja) 2004-04-28 2010-11-10 株式会社デンソー 通信システム、鍵配信装置、暗号処理装置
JP4510535B2 (ja) * 2004-06-24 2010-07-28 キヤノン株式会社 画像処理装置及びその制御方法、プログラム
JP4186928B2 (ja) * 2004-07-21 2008-11-26 セイコーエプソン株式会社 セキュリティ出力装置、セキュリティ出力システム、出力装置制御プログラムおよび記憶媒体、並びにセキュリティ出力方法
US8168588B2 (en) * 2005-01-25 2012-05-01 Five Prime Therapeutics, Inc. Compositions comprising FGF-9 and betacellulin and methods for treating cardiac conditions
US7535858B2 (en) * 2005-06-29 2009-05-19 Intel Corporation Apparatus and method of block acknowledgements with reduced recipient state information
JP2009503669A (ja) * 2005-07-27 2009-01-29 インゲニア・テクノロジー・リミテッド アクセス
WO2007142170A1 (ja) * 2006-05-29 2007-12-13 Nec Corporation 不正者失効システム、暗号化装置、暗号化方法およびプログラム
US7945840B2 (en) * 2007-02-12 2011-05-17 Micron Technology, Inc. Memory array error correction apparatus, systems, and methods
CN106407136B (zh) * 2007-04-12 2019-05-28 拉姆伯斯公司 具有点对点请求互连的存储器系统
JP2009010623A (ja) * 2007-06-27 2009-01-15 Rohm Co Ltd 発振回路およびパルス信号の生成方法
JP5119869B2 (ja) * 2007-11-08 2013-01-16 株式会社デンソー 車載ハンズフリー装置
KR101150833B1 (ko) * 2007-12-27 2012-06-14 케이코 오가와 정보 유통 시스템 및 그를 실현하기 위한 프로그램
JPWO2010134192A1 (ja) * 2009-05-22 2012-11-08 三菱電機株式会社 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法
EP2326043A1 (en) * 2009-11-18 2011-05-25 Irdeto Access B.V. Preventing cloning of receivers of encrypted messages
US8452482B2 (en) * 2009-12-10 2013-05-28 GM Global Technology Operations LLC Self testing systems and methods
JP5624328B2 (ja) 2010-01-04 2014-11-12 株式会社東芝 医用画像診断装置および画像処理装置
JP2011136131A (ja) 2010-01-04 2011-07-14 Nec Corp トレーニング内容検出装置およびウエイトトレーニング器具
CN102783028B (zh) * 2010-01-15 2016-02-03 三菱电机株式会社 比特列生成装置以及比特列生成方法
US8406134B2 (en) * 2010-06-25 2013-03-26 At&T Intellectual Property I, L.P. Scaling content communicated over a network
FR2964278A1 (fr) * 2010-08-31 2012-03-02 St Microelectronics Rousset Extraction de cle dans un circuit integre
JP2012076387A (ja) 2010-10-04 2012-04-19 Seiko Epson Corp 液体噴射ヘッド、液体噴射装置及び圧電アクチュエーター
JP5377540B2 (ja) * 2011-02-17 2013-12-25 株式会社東芝 鍵管理システム
US20120278290A1 (en) * 2011-04-29 2012-11-01 Thomas Anthony Pinch Database archiving model error detection and correction system
JP5839659B2 (ja) * 2011-06-20 2016-01-06 ルネサスエレクトロニクス株式会社 半導体装置
JP5770026B2 (ja) * 2011-06-20 2015-08-26 ルネサスエレクトロニクス株式会社 半導体装置
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
JP5832174B2 (ja) * 2011-07-11 2015-12-16 株式会社東芝 文書管理システム、消色装置及び文書管理方法
JP6030925B2 (ja) * 2012-11-12 2016-11-24 ルネサスエレクトロニクス株式会社 半導体装置及び情報処理システム
KR102201642B1 (ko) * 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003273863A (ja) * 2002-03-14 2003-09-26 Fuji Electric Co Ltd データ受配信システムおよび方法
WO2006053304A2 (en) * 2004-11-12 2006-05-18 Pufco, Inc. Volatile device keys and applications thereof
CN1783103A (zh) * 2004-11-26 2006-06-07 索尼株式会社 用于传输电子值信息的方法和系统
CN101136071A (zh) * 2006-08-31 2008-03-05 索尼株式会社 通信装置、通信方法和程序
JP2010527219A (ja) * 2007-05-11 2010-08-05 ヴァリディティー センサーズ,インク. 物理的に複製不可能な機能を用いて電子機器のセキュリティを電子的に確保する方法およびシステム
JP2010134192A (ja) * 2008-12-04 2010-06-17 Nikon Corp 傾斜ステージとこれを有する顕微鏡
JP2010226603A (ja) * 2009-03-25 2010-10-07 Sony Corp 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
CN101741565A (zh) * 2009-12-18 2010-06-16 北京握奇数据系统有限公司 一种ic卡应用数据传输的方法及系统

Also Published As

Publication number Publication date
EP2544400A3 (en) 2013-07-17
CN102843231A (zh) 2012-12-26
JP2013031151A (ja) 2013-02-07
US9363082B2 (en) 2016-06-07
US20170155508A1 (en) 2017-06-01
EP2544400A2 (en) 2013-01-09
US20150156021A1 (en) 2015-06-04
KR20120140224A (ko) 2012-12-28
EP2544400B1 (en) 2017-12-13
US10469256B2 (en) 2019-11-05
US9608818B2 (en) 2017-03-28
US20120321077A1 (en) 2012-12-20

Similar Documents

Publication Publication Date Title
CN102843231B (zh) 密码通信系统和密码通信方法
Alladi et al. A lightweight authentication and attestation scheme for in-transit vehicles in IoV scenario
US9811688B2 (en) Authentication with battery and host programmed with shared identity key
JP4155712B2 (ja) オンボードシステムによって生成される公開鍵の使用を検証する方法
EP3444999B1 (en) Method for generating a public/private key pair and public key certificate for an internet of things device
CN108496322A (zh) 车载计算机系统、车辆、密钥生成装置、管理方法、密钥生成方法以及计算机程序
US20190230071A1 (en) System and method for authenticating and enabling an electronic device in an electronic system
CN106161032A (zh) 一种身份认证的方法及装置
CN112637161B (zh) 数据传输方法和存储介质
CN113114475B (zh) 基于比特自检puf身份认证系统及协议
CN107404472A (zh) 用户发起的加密密钥的迁移
CN109690543B (zh) 安全认证方法、集成电路及系统
CN103370713B (zh) 用于编程移动终端设备芯片的方法
CN107026729B (zh) 用于传输软件的方法和装置
US20230342501A1 (en) Secure Provisioning with Hardware Verification
Lauser et al. Formal Security Analysis of Vehicle Diagnostic Protocols
CN107968764A (zh) 一种认证方法及装置
CN103248490B (zh) 一种备份电子签名令牌中信息的方法和系统
Kilic TLS-handshake for Plug and Charge in vehicular communications
CN108881273A (zh) 基于国密算法的无线温湿度传感器及其通信方法
TW201714128A (zh) 物聯網裝置付費認證系統與方法
Noce Verification of a diffie-hellman password-based authentication protocol by extending the inductive method
CN118101173A (zh) 充电桩的调试端口密码更新方法、装置及系统
CN113595723A (zh) 一种基于标识的ecc密钥对生成方法
Giessmann Specification of the Security Target TCOS Smart Meter Security Module Version 1.0 Release 2/P60C144PVE Version: 1.0. 2/20161026 Final Version

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Tokyo, Japan

Applicant after: Renesas Electronics Corporation

Address before: Kanagawa, Japan

Applicant before: Renesas Electronics Corporation

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant