JP2013031151A - 暗号通信システムおよび暗号通信方法 - Google Patents

暗号通信システムおよび暗号通信方法 Download PDF

Info

Publication number
JP2013031151A
JP2013031151A JP2012076387A JP2012076387A JP2013031151A JP 2013031151 A JP2013031151 A JP 2013031151A JP 2012076387 A JP2012076387 A JP 2012076387A JP 2012076387 A JP2012076387 A JP 2012076387A JP 2013031151 A JP2013031151 A JP 2013031151A
Authority
JP
Japan
Prior art keywords
semiconductor device
unique code
common key
correction data
communication system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012076387A
Other languages
English (en)
Inventor
Shigemasa Shioda
茂雅 塩田
Shigeru Furuta
茂 古田
Sukeyuki Hirokawa
祐之 廣川
Akira Yamazaki
暁 山崎
Daisuke Oshida
大介 押田
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
Priority to JP2012076387A priority Critical patent/JP2013031151A/ja
Priority to EP12171635.1A priority patent/EP2544400B1/en
Priority to US13/495,064 priority patent/US9363082B2/en
Priority to CN201210211008.3A priority patent/CN102843231B/zh
Priority to KR1020120066370A priority patent/KR20120140224A/ko
Publication of JP2013031151A publication Critical patent/JP2013031151A/ja
Priority to US14/613,661 priority patent/US9608818B2/en
Priority to US15/432,627 priority patent/US10469256B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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

【課題】暗号通信システムのセキュリティを向上させることである。
【解決手段】本発明にかかる暗号通信システムは、半導体装置10と半導体装置20とを備える。半導体装置10は、ユニークコードUC(a)と訂正データCD(a)とを用いて共通鍵CK(a)を生成する共通鍵生成部13と、共通鍵生成部13で生成された共通鍵CK(a)を半導体装置20の公開鍵PK(b)を用いて暗号化する暗号部14と、を備える。半導体装置20は、ユニークコードUC(b)と訂正データCD(b)とを用いて秘密鍵SK(b)を生成する秘密鍵生成部23と、暗号部14で暗号化された共通鍵CK(a)’を秘密鍵SK(b)を用いて復号する復号部24と、を備える。
【選択図】図1

Description

本発明は暗号通信システムおよび暗号通信方法に関し、特にセキュリティの向上を実現できる暗号通信システムおよび暗号通信方法に関する。
通信システムにおいては、通信データの盗聴や改竄などを防ぐために通信データを暗号化している。この暗号化を実現する技術の一つに、通信を行なう両者が共通の暗号鍵(以下、共通鍵(Common key)という)を使用する共通鍵暗号方式(Common key cryptosystem)がある。共通鍵暗号方式では、第三者に知られることなく、通信を行なう両者に共通鍵を共有させる必要がある。これを実現する技術の一つにRSA(登録商標)や楕円曲線暗号などを用いた公開鍵暗号方式(Public key cryptosystem)がある。
特許文献1には、不正複製ICの利用を防止することが可能な集積回路を提供する技術が開示されている。特許文献2には、物理的に複製不可能な固有データを生成する回路またはその他の構成要素を利用して、RSA公開鍵または秘密鍵等のセキュリティワードを生成し、電子機器に使用される集積回路チップのセキュリティを確保する技術が開示されている。
特許文献3には、ローカルエリアネットワークを介して共通の暗号鍵を用いた暗号通信を行う通信システムにおいて、鍵交換に要する時間を短縮することができる技術が開示されている。特許文献4には、アドホック無線接続によるデータ送受信においてデータの完全性を簡単に検証することができる技術が開示されている。
特開2010−226603号公報 特表2010−527219号公報 特開2005-341528号公報 特開2002-26899号公報
例えば、半導体装置ICxと半導体装置ICyとの間で共通鍵CK(x)を用いて暗号通信を実施する場合、ICxとICyとで共通鍵CK(x)を共有する必要がある。ICxが共通鍵CK(x)を保有している場合、ICxは予め取得したICyの公開鍵PK(y)を用いて共通鍵CK(x)を暗号化し、暗号化された共通鍵CK(x)'をICyへ送付する。そして、ICyは、ICyの秘密鍵SK(y)を用いて、暗号化された共通鍵CK(x)'を復号することで、共通鍵CK(x)を取得することができる。このように、公開鍵暗号方式を用いてICxからICyへ共通鍵CK(x)を送付することで、第三者に知られることなくICxとICyとで共通鍵CK(x)を共有することができる。これにより、ICxとICyとの間で共通鍵暗号方式を用いて暗号通信を実施することができる。
ICxからICyへ共通鍵CK(x)を送付する際は、共通鍵CK(x)が暗号化されているため、共通鍵CK(x)の情報が第三者に漏洩することはない。しかしながら、半導体装置(半導体チップ)ICx、ICyの不揮発性メモリには共通鍵CK(x)や秘密鍵SK(y)などの重要なデータが格納されている。このため、半導体装置が不正に解析された場合、共通鍵CK(x)や秘密鍵SK(y)などの重要なデータが漏洩してしまうという問題がある。
また、上記の半導体装置ICxと半導体装置ICyのようにセキュアな通信が確立している暗号通信システムに新たに半導体装置ICzを追加する場合は、追加される半導体装置ICzが正規の半導体装置であるかを検証する必要がある。しかしながら、追加される半導体装置ICzが正規の半導体装置であるかを検証するには、例えば高価なセキュアサーバを暗号通信システムに組み込む必要がある。このため、暗号通信システムのコストが増加するという問題がある。
本発明にかかる暗号通信システムは、第1の半導体装置と第2の半導体装置とを備える。第1の半導体装置は、第1の半導体装置の製造ばらつき等に起因する固有のコードである第1のユニークコードと、第1のユニークコードを訂正するための第1の訂正データとを用いて共通鍵を生成し、公開鍵を用いて共通鍵を暗号化し第2の半導体装置に送信する。また、第2の半導体装置は、第2の半導体装置の製造ばらつき等に起因する固有のコードである第2のユニークコードと、第2のユニークコードを訂正するための第2の訂正データとを用いて第2の半導体装置の秘密鍵を生成し、この秘密鍵により第1の半導体装置から送られてきた暗号化された共通鍵を復号する。以上の動作により第1の半導体装置と第2の半導体装置は同一の共通鍵を持つことになり、この共通鍵によりセキュリティの高い通信を可能とするものである。
本発明にかかる暗号通信システムは、第1の半導体装置と第2の半導体装置とを備える。第1の半導体装置は、第1の半導体装置の製造ばらつき等に起因する固有のコードである第1のユニークコードと、第1のユニークコードを訂正するための第1の訂正データとを用いて第1の半導体装置の秘密鍵を生成し、この秘密鍵と平文とを用いて署名データを生成し第2の半導体装置に送信する。第2の半導体装置は、送信された署名データと第1の半導体装置の公開鍵とを用いて検証用データを生成し、当該検証用データと平文とを比較することで、第1の半導体装置が秘密鍵を保有するか否かを判断する。以上の動作により、第1の半導体装置は重要なデータである秘密鍵を直接保持する必要がないため、第1の半導体装置と第2の半導体装置とにおける電子署名の実施において、セキュリティを向上させることができる。
このとき、第1の半導体装置の公開鍵は、第2の半導体装置の製造ばらつき等に起因する固有のコードである第2のユニークコードと、第2のユニークコードを訂正するための第2の訂正データとを用いて生成してもよい。
本発明にかかる暗号通信システムは、第1乃至第3の半導体装置を備える。第3の半導体装置は、第1のユニークコードを訂正するための第1の訂正データを第1の半導体装置に送付し、第1の半導体装置は、第1の半導体装置の製造ばらつき等に起因する固有のコードである第1のユニークコードと、第3の半導体装置から供給された第1の訂正データとを用いて共通鍵を生成する。また、第3の半導体装置は、第2のユニークコードを訂正するための第2の訂正データを第2の半導体装置に送付し、第2の半導体装置は、第2の半導体装置の製造ばらつき等に起因する固有のコードである第2のユニークコードと、第3の半導体装置から供給された第2の訂正データとを用いて共通鍵を生成する。以上の動作により第1の半導体装置と第2の半導体装置は同一の共通鍵を持つことになり、この共通鍵によりセキュリティの高い通信を可能とするものである。
このとき、第3の半導体装置は、各々の半導体装置と、当該各々の半導体装置で生成される各々の共通鍵とに対応づけられた訂正データを格納したデータベースを備えていていもよい。
また、第3の半導体装置は、第1の半導体装置の製造ばらつき等に起因する固有のコードである第1のユニークコードと共通鍵とを用いて第1の訂正データを生成し、第2の半導体装置の製造ばらつき等に起因する固有のコードである第2のユニークコードと共通鍵とを用いて第2の訂正データを生成してもよい。
また、第3の半導体装置は、第1の半導体装置の製造ばらつき等に起因する固有のコードである第1のユニークコードと第1の共通鍵とを用いて第1の訂正データを生成し、第2の半導体装置の製造ばらつき等に起因する固有のコードである第2のユニークコードと第2の共通鍵とを用いて第2の訂正データを生成してもよい。このとき、第1の半導体装置は第1の共通鍵を保持し、第2の半導体装置は第2の共通鍵を保持し、第3の半導体装置は第1および第2の共通鍵を保持することができる。よって、第1の半導体装置および第3の半導体装置は第1の共通鍵を用いて通信し、第2の半導体装置および第3の半導体装置は第2の共通鍵を用いて通信し、第1の半導体装置および第2の半導体装置は第3の半導体装置を介して通信することができる。
更に、本発明にかかる暗号通信システムは、第1の半導体装置と第2の半導体装置とを備える。第1の半導体装置は、第1の半導体装置の製造ばらつき等に起因する固有のコードである第1のユニークコードと、第1のユニークコードを訂正するための第1の訂正データとを用いて第1の共通鍵を生成する。更に、第1の半導体装置は、第2の半導体装置の製造ばらつき等に起因する固有のコードである第2のユニークコードと第1の共通鍵とを用いて、第2のユニークコードを訂正するための第2の訂正データを生成し、生成された第2の訂正データを第2の半導体装置に送付する。また、第2の半導体装置は、第1の半導体装置で生成された第2の訂正データと第2のユニークコードとを用いて第1の共通鍵を生成する。以上の動作により、第1の半導体装置と第2の半導体装置は同一の共通鍵を保持することができる。よって、第1の半導体装置と第2の半導体装置は、第1の共通鍵を用いてセキュリティの高い通信を実施することができる。
ここで、第2の半導体装置は、第2のユニークコードを第1の半導体装置の公開鍵を用いて暗号化して第1の半導体装置に送付し、第1の半導体装置は、暗号化された第2のユニークコードを第1の半導体装置の秘密鍵を用いて復号してもよい。
また、本発明にかかる暗号通信システムは、各々の半導体装置と、当該各々の半導体装置の公開鍵とを対応づけて格納したデータベースを備えるサーバを有していてもよい。そして、第2の半導体装置は、第2の半導体装置の秘密鍵と平文とを用いて署名データを生成し、この署名データを第1の半導体装置に送付する。第1の半導体装置は、サーバから送付された第2の半導体装置の公開鍵と、第2の半導体装置から送付された署名データとを用いて検証用データを生成し、この検証用データと平文とを比較することで、第2の半導体装置が秘密鍵を保持するか否かを判断することができる。
また、第2の半導体装置は、第1の共通鍵と第2のユニークコードとを用いて第2の訂正データを生成するための訂正データ生成プログラムを、第1の半導体装置の公開鍵を用いて暗号化して、第1の半導体装置に送付してもよい。第1の半導体装置は、暗号化された訂正データ生成プログラムを復号し、復号された訂正データ生成プログラムを実行して、第1の共通鍵と第2のユニークコードとを用いて第2の訂正データを生成してもよい。
また、第1の共通鍵生成部は、第1の半導体装置の製造ばらつき等に起因する固有のコードである第1のユニークコードと、第1のユニークコードを訂正するための第3の訂正データとを用いて第2の共通鍵を生成してもよい。これにより、第1の半導体装置は第1の共通鍵を用いて第2の半導体装置と、第2の共通鍵を用いて第3の半導体装置と通信し、第2の半導体装置は第1の半導体装置を介して第3の半導体装置と通信することができる。
また、本発明にかかる暗号通信システムは、車載用の半導体装置に適用してもよい。
本発明により、セキュリティの向上を実現できる暗号通信システムおよび暗号通信方法を提供することができる。また、本発明により、セキュアな通信を実施している暗号通信システムに、半導体装置を容易に追加することができる暗号通信システムおよび暗号通信方法を提供することができる。
実施の形態1にかかる暗号通信システムを示すブロック図である。 実施の形態1にかかる暗号通信システムの動作を説明するためのフローチャートである。 共通鍵生成部の動作を説明するためのフローチャートである。 共通鍵生成部で処理されるユニークコードの一例を示す表である。 実施の形態2にかかる暗号通信システムを示すブロック図である。 実施の形態2にかかる暗号通信システムの動作を説明するためのフローチャートである。 実施の形態3にかかる暗号通信システムを示すブロック図である。 実施の形態3にかかる暗号通信システムの動作を説明するためのフローチャートである。 実施の形態4にかかる暗号通信システムを示すブロック図である。 実施の形態4にかかる暗号通信システムのデータベースに格納されているデータの一例を示す表である。 実施の形態4にかかる暗号通信システムの動作を説明するためのフローチャートである。 実施の形態5にかかる暗号通信システムを示すブロック図である。 実施の形態5にかかる暗号通信システムの動作を説明するためのフローチャートである。 訂正データ生成部の動作を説明するためのフローチャートである。 実施の形態6にかかる暗号通信システムを示すブロック図である。 実施の形態6にかかる暗号通信システムの動作を説明するためのフローチャートである。 実施の形態1乃至6にかかる暗号通信システムを車載用半導体装置に適用した場合を示すブロック図である。 実施の形態8にかかる暗号通信システムを示すブロック図である。 実施の形態8にかかる暗号通信システムの動作を説明するためのフローチャートである。 共通鍵生成部の動作を説明するためのフローチャートである。 共通鍵生成部で処理されるユニークコードの一例を示す表である。 訂正データ生成部の動作を説明するためのフローチャートである。 複数の半導体装置を用いて訂正データを生成する場合を示す図である。 実施の形態9にかかる暗号通信システムを示すブロック図である。 実施の形態9にかかる暗号通信システムの動作を説明するためのフローチャートである。 実施の形態10にかかる暗号通信システムを示すブロック図である。 実施の形態10にかかる暗号通信システムの動作を説明するためのフローチャートである。 実施の形態11にかかる暗号通信システムを示すブロック図である。 実施の形態11にかかる暗号通信システムの動作を説明するためのフローチャートである。 実施の形態12にかかる暗号通信システムを示すブロック図である。 実施の形態12にかかる暗号通信システムの動作を説明するためのフローチャートである。 実施の形態12にかかる暗号通信システムの構成を示すブロック図である。 実施の形態8乃至12にかかる暗号通信システムを車載用半導体装置に適用した場合を示すブロック図である。
<実施の形態1>
以下、図面を参照して本発明の実施の形態について説明する。
図1は、実施の形態1にかかる暗号通信システムを示すブロック図である。本実施の形態にかかる暗号通信システム1は、半導体装置ICa(第1の半導体装置)10と半導体装置ICb(第2の半導体装置)20とを有する。半導体装置10は、ユニークコード生成部11、記憶部12、共通鍵生成部13、および暗号部14を有する。
ユニークコード生成部11は、半導体装置10に固有の値であってランダムなエラーを含むユニークコード(第1のユニークコード)UC(a)を生成し、共通鍵生成部13に出力する。ここで、ユニークコードUC(a)は、半導体装置10が備える素子固有の物理的な特性により決まる値である。例えば、ユニークコード生成部11は、半導体装置10が備えるメモリ素子の起動時の値を用いてユニークコードUC(a)を生成することができる。ユニークコードは、ICの設計は同一であるが実際に製造されるICは個々にばらつきを有するという性質を利用して生成されるコードである。このような技術は、PUF(Physical Unclonable Function)と呼ばれ、同一の回路を備えたICを1の半導体ウェハーに複数個同時に同一の製造装置により製造しても、個々のIC毎で固有のコードを得ることができると共に、別のICでの複製を困難にすることができる技術である。この技術を用いることにより、耐タンパチップのような特殊なハードウェアを使用することなく、データの高い秘匿性を実現することができる。
記憶部12は、例えば、訂正データ(第1の訂正データ)CD(a)、共通鍵生成部13で生成された共通鍵CK(a)、および半導体装置20の公開鍵PK(b)を格納することができる。記憶部12は、揮発性メモリ(例えば、SRAM)と不揮発性メモリ(例えば、フラッシュメモリ)とを有し、訂正データCD(a)および公開鍵PK(b)は不揮発性メモリに格納され、共通鍵CK(a)は揮発性メモリに格納される。よって、記憶部12は一時的に共通鍵CK(a)を格納するが、半導体装置10の電源がオフになると共通鍵CK(a)の情報は消去される。尚、共通鍵CK(a)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(a)に対して、半導体装置10の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
共通鍵生成部13は、ユニークコード生成部11から出力されたユニークコードUC(a)と、記憶部12に格納されている訂正データCD(a)とを用いて共通鍵CK(a)を生成する。
ユニークコード生成部11で生成されるユニークコードUC(a)は、ユニークコード生成時の外的要因、例えば、温度、電圧等によって変動するビットの値を含むデータである。このため、ユニークコード生成部11で生成されるユニークコードUC(a)には、(1)値が安定したビット、(2)高確率で変動するビット(つまり、値の変動が比較的大きいビット)、(3)低確率で変動するビット(つまり、値の変動が比較的小さいビット)の3つが含まれる。このように、ユニークコード生成部11で生成されるユニークコードUC(a)は、(2)高確率で変動するビットと(3)低確率で変動するビットとを含む。よって、ユニークコードUC(a)は生成される毎に異なる値となる。
高確率で変動するビットは製造工程で把握することができる。よって、製造工程において各ビットを判定することで、高確率で変動するビットをマスクするマスクデータを作成することができる。そして、このマスクデータを用いて、ユニークコード生成部11で生成されたユニークコードUC(a)をマスクすることで、ユニークコードUC(a)に含まれる高確率で変動するビットを削除することができる。ここで、高確率で変動するビットの位置は半導体装置毎に異なるため、マスクデータは半導体装置に固有のデータとなる。
低確率で変動するビットは、外的要因や残存する電荷などに起因して変動するため、予め予測することが困難である。このため、低確率で変動するビットは、例えばBCH符号やリードソロモン符号に代表されるECCコードを製造時に生成し、このECCコードを用いて処理をする。以下で、共通鍵生成部13の動作について具体的に説明する。
図3は、共通鍵生成部13の動作を説明するためのフローチャートであり、図4は共通鍵生成部13で処理されるユニークコードの一例を示す表である。まず、共通鍵生成部13は、ユニークコード生成部11からユニークコードUC(a)を読み込む(ステップS11)。このとき読み込まれたユニークコードUC(a)は、値が変動しやすいビットを除外するようなエラー訂正が実施されていないユニークコードである。
次に、訂正データCD(a)に含まれるマスクデータを用いて、読み込まれたユニークコードUC(a)をマスクする(ステップS12)。ここで、マスクデータは、ユニークコードUC(a)のビットのうちビットの値が変動するようなエラー率の高いビットをマスクするためのデータである。図4に示す例では、ユニークコードUC(a)の1ビット目と6ビット目のビットのエラー率が高いため、マスクデータが"0"となっている。これ以外のビットは、エラー率が低いビットまたは値が安定しているビットであるため、マスクデータが"1"となっている。つまり、マスクが必要なビットのマスクデータは"0"となり、マスクが不要なビットのマスクデータは"1"となる。そして、マスクデータを用いてユニークコードUC(a)をマスクすることで、ユニークコードUC(a)の1ビット目と6ビット目のビットを削除したマスク処理後のユニークコードUC(a)'を得ることができる(マスク処理により削除したビットは"X"で示している)。その後、マスク処理後のユニークコードUC(a)'は左詰めされる。
次に、訂正データCD(a)に含まれるECCコード(エラー訂正コード)を用いて、マスク処理後のユニークコードUC(a)'に含まれる値の変動率が低いビットのエラーを除去する訂正をすることによりユニークコードUC(a)''を得る(ステップS13)。図4に示す例では、ECCコードを用いてマスク処理後のユニークコードUC(a)'を処理することにより、1ビット目のビットが"0"から"1"に訂正されている。
次に、訂正データCD(a)に含まれる演算パラメータを用いて、エラー訂正後のユニークコードUC(a)''に所定の演算を実施する(ステップS14)。図4に示す例では、エラー訂正後のユニークコードUC(a)''にNOT演算を実施している。この演算処理後のユニークコードUC(a)鍵CK(a)となる。なお、NOT演算は一例であり、エラー訂正後のユニークコード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)の生成方法については後述する(実施の形態5、図14参照)。またECCコードは、ユニークコード生成部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)は使い捨て(ワンタイム)鍵とする、または固定鍵とすることのいずれかが用途により決定される。例えば不揮発性メモリにデータを暗号化して格納するための固定鍵とするのであれば、半導体装置10のユニークコードUC(a)として得られるビットパターンから共通鍵CK(a)としてのビットパターンを得られるように訂正データCD(a)を決定すればよいため、複数の訂正データCD(a)を作っておくことも容易である。またICaとICbとの間での通信セッションごとに用いる使い捨て鍵とする場合は、複数の訂正データCD(a)毎に異なるビットパターンを得られるように訂正データCD(a)を決定すればよい。
図1の暗号部14は、共通鍵生成部13で生成された共通鍵CK(a)を半導体装置20の公開鍵PK(b)を用いて暗号化する。ここで、暗号化に用いられる公開鍵PK(b)は、予め半導体装置20から半導体装置10に送付されて記憶部12に格納されていてもよい。また、暗号化に用いられる公開鍵PK(b)は、暗号部14で共通鍵CK(a)を暗号化する際に、半導体装置20から暗号部14に直接供給されるように構成してもよい。
半導体装置20は、ユニークコード生成部21、記憶部22、秘密鍵生成部23、および復号部24を有する。ユニークコード生成部21は、半導体装置20に固有の値であってランダムなエラーを含むユニークコード(第2のユニークコード)UC(b)を生成し、秘密鍵生成部23に出力する。なお、ユニークコード生成部21の構成および動作は、上記で説明したユニークコード生成部11と基本的に同様である。
記憶部22は、訂正データ(第2の訂正データ)CD(b)、公開鍵PK(b)、および復号部で復号された共通鍵CK(a)を格納することができる。記憶部22は、例えば揮発性メモリと不揮発性メモリとを有し、訂正データCD(b)および公開鍵PK(b)は不揮発性メモリに格納され、共通鍵CK(a)は揮発性メモリに格納される。よって、記憶部22は一時的に共通鍵CK(a)を格納するが、半導体装置20の電源がオフになると共通鍵CK(a)の情報は消去される。尚、共通鍵CK(a)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(a)に対して、半導体装置20の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
秘密鍵生成部23は、ユニークコードUC(b)と訂正データCD(b)とを用いて半導体装置20の秘密鍵SK(b)を生成する。なお、秘密鍵生成部23において秘密鍵SK(b)を生成する方法は、上記共通鍵生成部13が共通鍵CK(a)を生成する方法と基本的に同様である。
復号部24は、半導体装置10の暗号部14で暗号化された共通鍵CK(a)'を秘密鍵SK(b)を用いて復号して共通鍵CK(a)を生成する。
次に、本実施の形態にかかる暗号通信システムの動作について、図2に示すフローチャートを用いて説明する。まず、半導体装置ICb(20)は、半導体装置ICa(10)に半導体装置ICb(20)の公開鍵PK(b)を送付する(ステップS1)。送付された公開鍵PK(b)は、半導体装置10の記憶部12に格納される。次に、半導体装置10の共通鍵生成部13は、ユニークコード生成部11から出力されたユニークコードUC(a)と、記憶部12に格納されている訂正データCD(a)とを用いて共通鍵CK(a)を生成する(ステップS2)。暗号部14は、共通鍵生成部13で生成された共通鍵CK(a)を半導体装置20の公開鍵PK(b)を用いて暗号化して、暗号化された共通鍵CK(a)'を生成する(ステップS3)。その後、半導体装置10から半導体装置20に暗号化された共通鍵CK(a)'が送付される(ステップS4)。
半導体装置20の秘密鍵生成部23は、ユニークコードUC(b)と訂正データCD(b)とを用いて、半導体装置20の秘密鍵SK(b)を生成する(ステップS5)。復号部24は、暗号化された共通鍵CK(a)'を秘密鍵SK(b)を用いて復号して共通鍵CK(a)を生成する(ステップS6)。上記処理により、半導体装置10と半導体装置20は共に共通鍵CK(a)を保持することができる。よって、半導体装置10および半導体装置20は共通鍵CK(a)を用いて暗号通信することが可能となる(ステップS7)。なお、上記各ステップは矛盾がない限り適宜順番を変更することができる。例えば、半導体装置10がステップS2とS3を実施するのと並行して、半導体装置20においてステップS5を実施してもよい。
本発明の課題で説明したように、半導体装置ICxと半導体装置ICyとの間で共通鍵CK(x)を用いて暗号通信を実施する場合、ICxとICyとで共通鍵CK(x)を共有する必要がある。ICxが共通鍵CK(x)を保有している場合、ICxは予め取得したICyの公開鍵PK(y)を用いて共通鍵CK(x)を暗号化し、暗号化された共通鍵CK(x)'をICyへ送付する。そして、ICyは、ICyの秘密鍵SK(y)を用いて、暗号化された共通鍵CK(x)'を復号することで、共通鍵CK(x)を取得することができる。このように、公開鍵暗号方式を用いてICxからICyへ共通鍵CK(x)を送付することで、第三者に知られることなくICxとICyとで共通鍵CK(x)を共有することができる。これにより、ICxとICyとの間で共通鍵暗号方式を用いて暗号通信を実施することができる。
ICxからICyへ共通鍵CK(x)を送付する際は、共通鍵CK(x)が暗号化されているため、共通鍵CK(x)の情報が漏洩することはない。しかしながら、半導体装置(半導体チップ)ICx、ICyの不揮発性メモリ(記憶部)には共通鍵CK(x)や秘密鍵SK(y)などの重要なデータが格納されている。このため、半導体装置が不正に解析されると、共通鍵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)に対応した鍵であることが必要であるが、半導体装置20のユニークコードUC(b)として得られるビットパターンから秘密鍵SK(b)としてのビットパターンを得られるように訂正データCD(b)を決定すればよいため、複数の訂正データCD(b)を作っておくことも容易である。
半導体装置を解析して不正にデータを取得する方法としては、以下のような方法がある。
(1)半導体装置をFIB(Focused Ion Beam)を用いて加工し、プローブを用いて半導体装置を物理的に解析する方法。
(2)半導体装置にレーザなどの電磁波を照射したり、電源端子にノイズを挿入したりすることでCPUを暴走させて不正にデータを取得するフォルトツリー解析。
(3)半導体装置の消費電流量を観測し、鍵データを解析するリーク解析。
このような不正な解析を回避するために、高いセキュリティレベルが必要な分野では、セキュリティレベルの高いマイコン(以下、セキュアマイコンという)が用いられている。このセキュアマイコンには、配線領域へのシールド、光や信号ノイズを検出する機能、信号に乱数信号を組み合わせて電流をかく乱する機能などが実装されている。すなわち、上述のリーク解析による鍵データの不正取得では、特定のデータに基づく一定の演算を行うことで生じる消費電力の特徴パターンを抽出することから、複数の訂正データ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)よりもセキュリティレベルは低いが、比較的セキュリティレベルの高い情報である。よって、訂正データCD(a)、CD(b)が第三者に漏洩することを防ぐために、訂正データCD(a)、CD(b)が格納される半導体装置10、20にセキュアマイコンを使用してもよい。
以上で説明したように、本実施の形態にかかる発明により、セキュリティの向上を実現できる暗号通信システムおよび暗号通信方法を提供することができる。
<実施の形態2>
次に、本発明の実施の形態2について説明する。図5は、本実施の形態にかかる暗号通信システム2を示すブロック図である。本実施の形態では、暗号通信システムを電子署名方式に適用している。本実施の形態にかかる暗号通信システム2は、半導体装置ICa(30)と半導体装置ICb(40)とを有する。半導体装置30は、ユニークコード生成部31、記憶部32、秘密鍵生成部33、および署名データ生成部34を有する。
ユニークコード生成部31は、半導体装置30に固有のユニークコードUC(a)を生成し、秘密鍵生成部33に出力する。ユニークコード生成部31の基本的な構成および動作は、実施の形態1で説明したユニークコード生成部11と同様であるので重複した説明は省略する。
記憶部32は、訂正データCD(a)、平文Plane(a)、および半導体装置30の公開鍵PK(a)を不揮発性メモリに格納することができる。
秘密鍵生成部33は、ユニークコード生成部31から出力されたユニークコードUC(a)と、記憶部32に格納されている訂正データCD(a)とを用いて、半導体装置30の秘密鍵SK(a)を生成する。ここで、秘密鍵生成部33はユニークコード訂正部として機能する。秘密鍵生成部33の基本的な構成および動作は、実施の形態1で説明した共通鍵生成部13と同様であるので重複した説明は省略する。
署名データ生成部34は、秘密鍵生成部33で生成された秘密鍵SK(a)と、記憶部32に格納されている平文Plane(a)とを用いて署名データSig(a)を生成する。つまり、署名データ生成部34は電子署名方式における署名生成アルゴリズムを実行する。
半導体装置40は、記憶部41と検証部42とを有する。記憶部41は、半導体装置30の公開鍵PK(a)を格納することができる。検証部42は、電子署名方式の検証アルゴリズムを実行する。すなわち、検証部42は、署名データSig(a)と半導体装置30の公開鍵PK(a)とを用いて検証用データを生成する。ここで、署名データSig(a)は、半導体装置30の秘密鍵SK(a)を用いて平文Plane(a)を暗号化することで生成されたデータである。よって、署名データSig(a)を半導体装置30の公開鍵PK(a)を用いて復号することで得られた検証用データは、半導体装置30から送られた平文Plane(a)に対応するデータである。したがって、検証部42は、検証用データと平文Plane(a)とを比較し、検証用データと平文Plane(a)とが一致した場合は、半導体装置30が秘密鍵SK(a)を保有すると判断することができる。なお、半導体装置30から供給される公開鍵PK(a)は、半導体装置40の検証部42に直接供給されるように構成してもよい。
次に、本実施の形態にかかる暗号通信システムの動作について、図6に示すフローチャートを用いて説明する。まず、半導体装置30(署名者に対応する)は、半導体装置40(検証者に対応する)に半導体装置30の公開鍵PK(a)を送付する(ステップ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は、署名データSig(a)と半導体装置30の公開鍵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にセキュアマイコンを使用してもよい。
以上で説明したように、本実施の形態にかかる発明により、セキュリティの向上を実現できる暗号通信システムおよび暗号通信方法を提供することができる。
<実施の形態3>
次に、本発明の実施の形態3について説明する。図7は、本実施の形態にかかる暗号通信システム3を示すブロック図である。本実施の形態では、暗号通信システムを電子署名方式に適用している。また、実施の形態2にかかる暗号通信システム2では、ステップS21において半導体装置30の公開鍵PK(a)を半導体装置40に送付していたが、本実施の形態にかかる暗号通信システム3では公開鍵生成部63を用いて半導体装置50の公開鍵PK(a)を生成している。
図7に示す本実施の形態にかかる暗号通信システム3は、半導体装置ICa(50)と半導体装置ICb(60)とを有する。半導体装置50は、ユニークコード生成部51、記憶部52、秘密鍵生成部53、および署名データ生成部54を有する。
ユニークコード生成部51は、半導体装置50に固有のユニークコードUC(a)を生成し、秘密鍵生成部53に出力する。ユニークコード生成部51の基本的な構成および動作は、実施の形態1で説明したユニークコード生成部11と同様であるので重複した説明は省略する。
記憶部52は、訂正データCD(a)および平文Plane(a)を不揮発性メモリに格納することができる。
秘密鍵生成部53は、ユニークコード生成部51から出力されたユニークコードUC(a)と、記憶部52に格納されている訂正データCD(a)とを用いて、半導体装置50の秘密鍵SK(a)を生成する。ここで、秘密鍵生成部53はユニークコード訂正部として機能する。秘密鍵生成部53の基本的な構成および動作は、実施の形態1で説明した共通鍵生成部13と同様であるので重複した説明は省略する。
署名データ生成部54は、秘密鍵生成部53で生成された秘密鍵SK(a)と、記憶部52に格納されている平文Plane(a)とを用いて署名データSig(a)を生成する。つまり、署名データ生成部54は電子署名方式における署名生成アルゴリズムを実行する。
半導体装置60は、ユニークコード生成部61、記憶部62、公開鍵生成部63、および検証部64を有する。ユニークコード生成部61は、半導体装置60に固有のユニークコードUC(b)を生成し、公開鍵生成部63に出力する。ユニークコード生成部61の基本的な構成および動作は、実施の形態1で説明したユニークコード生成部11と同様であるので重複した説明は省略する。
記憶部62は、訂正データCD(b)を不揮発性メモリに格納することができる。
公開鍵生成部63は、ユニークコード生成部61から出力されたユニークコードUC(b)と、記憶部62に格納されている訂正データCD(b)とを用いて半導体装置50の公開鍵PK(a)を生成する。ここで、公開鍵生成部63はユニークコード訂正部として機能する。公開鍵生成部63の基本的な構成および動作は、実施の形態1で説明した共通鍵生成部13と同様であるので重複した説明は省略する。
検証部64は、電子署名方式の検証アルゴリズムを実行する。すなわち、検証部64は、署名データSig(a)と半導体装置50の公開鍵PK(a)とを用いて検証用データを生成する。ここで、署名データSig(a)は、半導体装置50の秘密鍵SK(a)を用いて平文Plane(a)を暗号化することで生成されたデータである。よって、署名データSig(a)を半導体装置50の公開鍵PK(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は、秘密鍵生成部53で生成された秘密鍵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は、署名データSig(a)と半導体装置50の公開鍵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)を生成している。よって、半導体装置50から半導体装置60に公開鍵PK(a)を送付する必要がないため、使用している暗号方式が第三者に漏れることを防ぐことができ、暗号通信システムのセキュリティを更に向上させることができる。なお、半導体装置50および半導体装置60で構成される暗号通信システムのセキュリティレベルを更に向上させるために、半導体装置50、60にセキュアマイコンを使用してもよい。
<実施の形態4>
次に、本発明の実施の形態4について説明する。上記で説明した実施の形態1乃至3では、共通鍵や秘密鍵を生成するために使用される訂正データCD(a)、CD(b)を半導体装置に格納していた。しかしながら、共通鍵や秘密鍵を生成するために使用される訂正データCD(a)、CD(b)もセキュリティレベルの高い情報である。よって、訂正データCD(a)、CD(b)が第三者に漏洩しないような暗号通信システムを構成することが好ましい。
図9に示す本実施の形態にかかる暗号通信システム4では、共通鍵を生成するために使用される訂正データを各半導体装置70、80に格納するのではなく、訂正データを一括して管理するデータベース91を有する半導体装置90を設けている。ここで、半導体装置90のデータベース91にはセキュリティレベルの高い訂正データが格納されているので、セキュアマイコンを用いて半導体装置90を構成することが好ましい。一方、半導体装置70、80では、セキュリティレベルの高い共通鍵CK(1)の情報が不揮発性メモリに格納されないので、汎用マイコンを用いて構成することができる。つまり、記憶部72、82には一時的に共通鍵CK(1)が格納されるが、共通鍵CK(1)は揮発性メモリに格納されているため、半導体装置70、80の電源がオフになると共通鍵CK(1)の情報は消去される。よって、半導体装置70、80にはセキュリティレベルの高い共通鍵CK(1)は保持されない。以下、本実施の形態にかかる暗号通信システムについて詳細に説明する。
図9に示す暗号通信システム4は、半導体装置70、80、90を有する。半導体装置(第1の半導体装置)70は、ユニークコード生成部71、記憶部72、および共通鍵生成部(第1の共通鍵生成部)73を有する。
ユニークコード生成部71は、半導体装置70に固有のユニークコードUC(a)を生成し、共通鍵生成部73に出力する。ユニークコード生成部71の基本的な構成および動作は、実施の形態1で説明したユニークコード生成部11と同様であるので重複した説明は省略する。
記憶部72は、共通鍵生成部73で生成された共通鍵CK(1)を揮発性メモリに格納する。共通鍵CK(1)は、半導体装置70の電源がオフになると消去される。尚、共通鍵CK(1)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(1)に対して、半導体装置70の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
共通鍵生成部73は、ユニークコード生成部71から出力されたユニークコードUC(a)と、半導体装置90から供給された訂正データ(第1の訂正データ)CD(1、a)とを用いて共通鍵CK(1)を生成する。ここで、共通鍵生成部73はユニークコード訂正部として機能する。共通鍵生成部73の基本的な構成および動作は、実施の形態1で説明した共通鍵生成部13と同様であるので重複した説明は省略する。
半導体装置(第2の半導体装置)80は、ユニークコード生成部81、記憶部82、および共通鍵生成部(第2の共通鍵生成部)83を有する。
ユニークコード生成部81は、半導体装置80に固有のユニークコードUC(b)を生成し、共通鍵生成部83に出力する。ユニークコード生成部81の基本的な構成および動作は、実施の形態1で説明したユニークコード生成部11と同様であるので重複した説明は省略する。
記憶部82は、共通鍵生成部83で生成された共通鍵CK(1)を揮発性メモリに格納する。共通鍵CK(1)は、半導体装置80の電源がオフになると消去される。尚、共通鍵CK(1)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(1)に対して、半導体装置80の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
共通鍵生成部83は、ユニークコード生成部81から出力されたユニークコードUC(b)と、半導体装置90から供給された訂正データ(第2の訂正データ)CD(1、b)とを用いて共通鍵CK(1)を生成する。ここで、共通鍵生成部83はユニークコード訂正部として機能する。共通鍵生成部83の基本的な構成および動作は、実施の形態1で説明した共通鍵生成部13と同様であるので重複した説明は省略する。
半導体装置(第3の半導体装置)90は、訂正データが格納されたデータベース91を有する。図10は、データベース91が有するデータの一例を示す表である。図10に示すように、データベース91には、半導体装置の情報(ICa、ICb、ICc、・・・、ICz)と半導体装置で生成される公開鍵(CK(1)、CK(2)、CK(3)、・・・、CK(n))とに対応づけられた訂正データ(CD(1、a)、CD(1、b)、・・・)が格納されている。
例えば、共通鍵CK(1)を半導体装置ICaで生成する場合は、訂正データCD(1、a)を半導体装置ICaに送付する。また、共通鍵CK(1)を半導体装置ICbで生成する場合は、訂正データCD(1、b)を半導体装置ICbに送付する。同様に、例えば、共通鍵CK(3)を半導体装置ICaで生成する場合は、訂正データCD(3、a)を半導体装置ICaに送付する。また、共通鍵CK(3)を半導体装置ICbで生成する場合は、訂正データCD(3、b)を半導体装置ICbに送付する。
本実施の形態にかかる暗号通信システムでは、ユニークコードUC(a)、UC(b)が異なる場合であっても、演算パラメータ(実施の形態1参照)を用いてエラー訂正後のユニークコード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)は半導体装置ICa(70)に訂正データCD(1、a)を送付する(ステップS41)。次に、半導体装置70の共通鍵生成部73は、ユニークコード生成部71から出力されたユニークコードUC(a)と、半導体装置90から送付された訂正データCD(1、a)とを用いて共通鍵CK(1)を生成する(ステップS42)。
また、半導体装置ICs(90)は半導体装置ICb(80)に訂正データCD(1、b)を送付する(ステップS43)。次に、半導体装置80の共通鍵生成部83は、ユニークコード生成部81から出力されたユニークコードUC(b)と、半導体装置90から送付された訂正データCD(1、b)とを用いて共通鍵CK(1)を生成する(ステップS44)。このような処理により、半導体装置70と半導体装置80は共に共通鍵CK(1)を保持することができる。よって、半導体装置70および半導体装置80は共通鍵CK(1)を用いて暗号通信することが可能となる(ステップS45)。なお、上記各ステップは矛盾がない限り適宜順番を変更することができる。
なお、半導体装置90から半導体装置70、80に訂正データCDを送付する場合は、例えば半導体装置90から半導体装置70、80に定期的に訂正データCDを送付してもよい。また、半導体装置70、80から訂正データCDを送付するように要求があったタイミングで、半導体装置90から半導体装置70、80に訂正データCDを送付するようにしてもよい。
半導体装置90と半導体装置70、80は互いに有線で接続されていてもよく、また無線で接続されていてもよい。更に、半導体装置90と半導体装置70、80は訂正データCDを送受信するときのみ互いに接続されるように構成してもよい。また、半導体装置90から半導体装置70、80にインターネット経由で訂正データCDを送付してもよい。この場合は、セキュリティの関係上、上述した方法を用いて訂正データCDを暗号化することが好ましい。
また、複数組の半導体装置がそれぞれ異なる共通鍵CKで通信するように構成してもよい。例えば半導体装置ICd、ICe、ICfが共通鍵CK(2)を用いて互いに通信するように構成し、且つ半導体装置ICg、ICh、ICiが共通鍵CK(3)を用いて互いに通信するように構成してもよい。この場合は、半導体装置90から半導体装置ICd、ICe、ICfにそれぞれ、共通鍵CK(2)を生成するための訂正データCD(2、d)、CD(2、e)、CD(2、f)が送付される。また、半導体装置90から半導体装置ICg、ICh、ICiにそれぞれ、共通鍵CK(3)を生成するための訂正データCD(3、g)、CD(3、h)、CD(3、i)が送付される。
このように、本実施の形態にかかる暗号通信システムでは、訂正データCDを一括して管理する半導体装置90を設けている。このため、共通鍵CKを生成するために使用される訂正データCDを各半導体装置70、80に格納する必要がないため、暗号通信システムのセキュリティを向上させることができる。ここで、半導体装置90のデータベース91にはセキュリティレベルの高い訂正データが格納されているので、セキュアマイコンを用いて半導体装置90を構成することが好ましい。一方、半導体装置70、80では、セキュリティレベルの高い共通鍵CKの情報が不揮発性メモリに格納されないので、汎用マイコンを用いて構成することができる。しかし、暗号通信システムのセキュリティレベルを更に向上させるために、半導体装置70、80にセキュアマイコンを使用してもよい。
また、本実施の形態にかかる暗号通信システムでは、データベース91を用いて訂正データCDを一括して管理しているので、各半導体装置の共通鍵CKを容易に変更することができる。このため、半導体装置70、80の共通鍵CKを定期的に変更することが容易となり、暗号通信システムのセキュリティを更に向上させることができる。
<実施の形態5>
次に、本発明の実施の形態5について説明する。図12は本実施の形態にかかる暗号通信システムを示すブロック図である。実施の形態4で説明した暗号通信システムでは、データベース91で訂正データを一括管理していたが、本実施の形態にかかる暗号通信システムでは、半導体装置130が備える訂正データ生成部132を用いて、半導体装置ICa(110)および半導体装置ICb(120)に送付する訂正データを生成している。これ以外は、実施の形態4にかかる暗号通信システムと基本的に同様である。以下、詳細に説明する。
図12に示す暗号通信システム5は、半導体装置110、120、130を有する。半導体装置110は、ユニークコード生成部111、記憶部112、および共通鍵生成部113を有する。
ユニークコード生成部111は、半導体装置110に固有のユニークコードUC(a)を生成し、共通鍵生成部113および半導体装置130の訂正データ生成部132に出力する。ユニークコード生成部111の基本的な構成および動作は、実施の形態1で説明したユニークコード生成部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の基本的な構成および動作は、実施の形態1で説明した共通鍵生成部13と同様であるので重複した説明は省略する。
半導体装置120は、ユニークコード生成部121、記憶部122、および共通鍵生成部123を有する。
ユニークコード生成部121は、半導体装置120に固有のユニークコードUC(b)を生成し、共通鍵生成部123および半導体装置130の訂正データ生成部132に出力する。ユニークコード生成部121の基本的な構成および動作は、実施の形態1で説明したユニークコード生成部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の基本的な構成および動作は、実施の形態1で説明した共通鍵生成部13と同様であるので重複した説明は省略する。
半導体装置130は、記憶部131および訂正データ生成部132を有する。記憶部131は、共通鍵CK(1)を不揮発性メモリに格納している。ここで、共通鍵CK(1)の情報は半導体装置130の電源をオフにしても消去されない。よって、半導体装置が不正に解析されることで共通鍵CK(1)の情報が第三者に漏洩してしまうことを防ぐために、半導体装置130をセキュアマイコンで構成することが好ましい。なお、半導体装置110、120については、実施の形態4の場合と同様に、汎用マイコンを用いることができる。
訂正データ生成部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)を生成する場合も同様である。
まず、半導体装置ICa(110)からユニークコードUC(a)を複数回取得する(ステップS61)。次に、ステップS61で取得したユニークコードUC(a)を統計的に処理し、ユニークコードUC(a)の各ビットを、(1)値が安定したビット、(2)高確率で変動するビット(つまり、値の変動が比較的大きいビット)、(3)低確率で変動するビット(つまり、値の変動が比較的小さいビット)の3つに分類する。そして、(2)高確率で変動するビットを用いてマスクデータを生成する(ステップS62)。このとき、例えばユニークコードUC(a)の各ビットのうち、所定の閾値よりも高い確率で変動するビットの位置を示す情報をマスクデータとする。例えば、図4に示したマスクデータでは、高確率で変動するビットの位置(つまり、マスクする位置)を"0"で示している。
次に、ステップS62で生成したマスクデータを用いてユニークコードUC(a)をマスクし、高確率で変動するビットを削除する。そして、マスク後のユニークコードUC(a)'(つまり、値が安定したビットと低確率で変動するビットを含むユニークコード)のエラーを訂正できるECCコードを生成する(ステップS63)。ECCコードは、例えばBCH符号やリードソロモン符号である。
次に、ステップS62で生成したマスクデータおよびステップS63で生成したECCコードを用いて処理をしたユニークコードUC(a)''(つまり、値が安定したビットを含むユニークコード)と、記憶部131に格納されている共通鍵CK(1)とを用いて、演算パラメータを生成する(ステップS64)。すなわち、演算パラメータは、訂正されたユニークコードUC(a)''から共通鍵CK(1)を生成するために必要なパラメータである。
上記処理により生成されたマスクデータ、ECCコード、および演算パラメータを訂正データCD(1、a)として半導体装置ICa(110)に送付する(ステップS65)。
次に、本実施の形態にかかる暗号通信システム5の動作について、図13に示すフローチャートを用いて説明する。まず、半導体装置ICa(110)は半導体装置ICs(130)の訂正データ生成部132にユニークコードUC(a)を送付する(ステップS51)。次に、半導体装置130の訂正データ生成部132は、送付されたユニークコードUC(a)と共通鍵CK(1)とを用いて訂正データCD(1、a)を生成する(ステップS52)。ここで、訂正データ生成部132が訂正データCD(1、a)を生成するには、ユニークコードUC(a)を複数回取得する必要がある。よって、ユニークコードUC(a)を複数回取得するためにステップS51を繰り返す。生成された訂正データCD(1、a)は、半導体装置110に送付される(ステップS53)。半導体装置110の共通鍵生成部113は、ユニークコード生成部111から出力されたユニークコードUC(a)と、半導体装置130から送付された訂正データCD(1、a)とを用いて共通鍵CK(1)を生成する(ステップS54)。
また、半導体装置ICb(120)は半導体装置ICs(130)の訂正データ生成部132にユニークコードUC(b)を送付する(ステップS55)。次に、半導体装置130の訂正データ生成部132は、送付されたユニークコードUC(b)と共通鍵CK(1)とを用いて訂正データCD(1、b)を生成する(ステップS56)。ここで、訂正データ生成部132が訂正データCD(1、b)を生成するには、ユニークコードUC(b)を複数回取得する必要がある。よって、ユニークコードUC(b)を複数回取得するためにステップS55を繰り返す。生成された訂正データ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を構成することが好ましい。一方、半導体装置110、120では、セキュリティレベルの高い共通鍵CKの情報が不揮発性メモリに格納されないので、汎用マイコンを用いて構成することができる。しかし、暗号通信システムのセキュリティレベルを更に向上させるために、半導体装置110、120にセキュアマイコンを使用してもよい。
<実施の形態6>
次に、本発明の実施の形態6について説明する。図15は本実施の形態にかかる暗号通信システムを示すブロック図である。実施の形態5で説明した暗号通信システムでは、半導体装置ICa(110)と半導体装置ICb(120)とが同一の共通鍵CK(1)を有する場合について説明した。本実施の形態にかかる暗号通信システムでは、半導体装置ICa(140)と半導体装置ICb(150)とが異なる共通鍵を有し、半導体装置ICs(160)を介して通信している。これ以外は、実施の形態5にかかる暗号通信システムと基本的に同様である。以下、詳細に説明する。
図15に示す暗号通信システム6は、半導体装置140、150、160を有する。半導体装置140は、ユニークコード生成部141、記憶部142、および共通鍵生成部143を有する。
ユニークコード生成部141は、半導体装置140に固有のユニークコードUC(a)を生成し、共通鍵生成部143および半導体装置160の訂正データ生成部162に出力する。ユニークコード生成部141の基本的な構成および動作は、実施の形態1で説明したユニークコード生成部11と同様であるので重複した説明は省略する。
記憶部142は、共通鍵生成部143で生成された共通鍵(第1の共通鍵)CK(1)を揮発性メモリに格納する。共通鍵CK(1)は、半導体装置140の電源がオフになると消去される。
共通鍵生成部143は、ユニークコード生成部141から出力されたユニークコードUC(a)と、半導体装置160から供給された訂正データCD(1、a)とを用いて共通鍵CK(1)を生成する。ここで、共通鍵生成部143はユニークコード訂正部として機能する。共通鍵生成部143の基本的な構成および動作は、実施の形態1で説明した共通鍵生成部13と同様であるので重複した説明は省略する。
半導体装置150は、ユニークコード生成部151、記憶部152、および共通鍵生成部153を有する。
ユニークコード生成部151は、半導体装置150に固有のユニークコードUC(b)を生成し、共通鍵生成部153および半導体装置160の訂正データ生成部162に出力する。ユニークコード生成部151の基本的な構成および動作は、実施の形態1で説明したユニークコード生成部11と同様であるので重複した説明は省略する。
記憶部152は、共通鍵生成部153で生成された共通鍵(第2の共通鍵)CK(2)を揮発性メモリに格納する。共通鍵CK(2)は、半導体装置150の電源がオフになると消去される。
共通鍵生成部153は、ユニークコード生成部151から出力されたユニークコードUC(b)と、半導体装置160から供給された訂正データCD(2、b)とを用いて共通鍵CK(2)を生成する。ここで、共通鍵生成部153はユニークコード訂正部として機能する。共通鍵生成部153の基本的な構成および動作は、実施の形態1で説明した共通鍵生成部13と同様であるので重複した説明は省略する。
半導体装置160は、記憶部161および訂正データ生成部162を有する。記憶部161は、共通鍵CK(1)および共通鍵CK(2)を不揮発性メモリに格納している。ここで、共通鍵CK(1)および共通鍵CK(2)の情報は半導体装置160の電源をオフにしても消去されない。よって、半導体装置が不正に解析されることで共通鍵CK(1)および共通鍵CK(2)の情報が第三者に漏洩してしまうことを防ぐために、半導体装置160をセキュアマイコンで構成することが好ましい。なお、半導体装置140、150については、実施の形態5の場合と同様に、汎用マイコンを用いることができる。
訂正データ生成部162は、半導体装置140のユニークコードUC(a)と記憶部161に格納されている共通鍵CK(1)とを用いて訂正データCD(1、a)を生成する。また、訂正データ生成部162は、半導体装置150のユニークコードUC(b)と記憶部161に格納されている共通鍵CK(2)とを用いて訂正データCD(2、b)を生成する。
次に、本実施の形態にかかる暗号通信システム6の動作について、図16に示すフローチャートを用いて説明する。まず、半導体装置ICa(140)は半導体装置ICs(160)の訂正データ生成部162にユニークコードUC(a)を送付する(ステップS71)。次に、半導体装置160の訂正データ生成部162は、送付されたユニークコードUC(a)と共通鍵CK(1)とを用いて訂正データCD(1、a)を生成する(ステップS72)。ここで、訂正データ生成部162が訂正データCD(1、a)を生成するには、ユニークコードUC(a)を複数回取得する必要がある。よって、ユニークコードUC(a)を複数回取得するためにステップS71を繰り返す。生成された訂正データCD(1、a)は、半導体装置140に送付される(ステップS73)。半導体装置140の共通鍵生成部143は、ユニークコード生成部141から出力されたユニークコードUC(a)と、半導体装置160から送付された訂正データCD(1、a)とを用いて共通鍵CK(1)を生成する(ステップS74)。
また、半導体装置ICb(150)は半導体装置ICs(160)の訂正データ生成部162にユニークコードUC(b)を送付する(ステップS75)。次に、半導体装置160の訂正データ生成部162は、送付されたユニークコードUC(b)と共通鍵CK(2)とを用いて訂正データCD(2、b)を生成する(ステップS76)。ここで、訂正データ生成部162が訂正データCD(2、b)を生成するには、ユニークコードUC(b)を複数回取得する必要がある。よって、ユニークコードUC(b)を複数回取得するためにステップS75を繰り返す。生成された訂正データ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を構成することが好ましい。一方、半導体装置140、150では、セキュリティレベルの高い共通鍵CKの情報が不揮発性メモリに格納されないので、汎用マイコンを用いて構成することができる。しかし、暗号通信システムのセキュリティレベルを更に向上させるために、半導体装置140、150にセキュアマイコンを使用してもよい。
<実施の形態7>
次に、本発明の実施の形態7について説明する。図17は実施の形態1乃至6にかかる暗号通信システムを車載用半導体装置に適用した場合を示すブロック図である。図17に示すように、車両180にはゲートウェイ部170、故障診断ユニット171、エンジン制御ユニット172、ブレーキ制御ユニット173、ランプ制御ユニット174、ドアロック制御ユニット175、鍵挿入制御ユニット176、カーナビゲーションシステム178、およびDCM(Data Communication Module)179が設けられている。
ゲートウェイ部170は、各ユニット171〜176およびカーナビゲーションシステム178で構成されるネットワークを中継するための機器である。ゲートウェイ部170にはセキュアマイコンICsが設けられている。故障診断ユニット171は、車両180を構成する部品が故障しているか診断するユニットである。故障診断ユニット171には半導体装置ICaが設けられている。エンジン制御ユニット172は、エンジン動作における電気的な制御(燃料供給、点火タイミングの調整等)を総合的に行うためのユニットである。エンジン制御ユニット172には半導体装置ICbが設けられている。ブレーキ制御ユニット173は、ABS(Antilock Brake System)などブレーキを制御するためのユニットである。ブレーキ制御ユニット173には半導体装置ICcが設けられている。ランプ制御ユニット174は、車両のヘッドライトやウインカー等を制御するためのユニットである。ランプ制御ユニット174には半導体装置ICdが設けられている。
ドアロック制御ユニット175は、ドアのロックを制御するためのユニットである。ドアロック制御ユニット175には半導体装置ICeと、鍵177と無線通信するための通信部が設けられている。鍵挿入制御ユニット176は、挿入された鍵177が正規のユーザの鍵であるかを判断するためのユニットである。鍵挿入制御ユニット176には、半導体装置ICfと、鍵177と無線通信するための通信部が設けられている。鍵177は、半導体装置ICgと、ドアロック制御ユニット175および鍵挿入制御ユニット176と無線通信するための通信部が設けられている。各ユニット171〜176、および鍵177に設けられている半導体装置ICa〜ICgには、例えば汎用マイコンを用いることができる。
カーナビゲーションシステム178にはセキュアマイコンIChが設けられている。DCM179は、車両内における各ユニット171〜176から取得した情報を外部のサーバ181に送信したり、サーバ181から情報を取得したりするための通信モジュールである。
各ユニット171〜176およびカーナビゲーションシステム178はそれぞれゲートウェイ部170と接続されており、各ユニット171〜176はゲートウェイ部170を介して互いに通信可能に構成されている。このとき、各ユニット171〜176とゲートウェイ部170との間の通信に用いる共通鍵は、ユニット毎に異なるようにしてもよい。例えば故障診断ユニット171とゲートウェイ部170との通信に共通鍵CK(1)を用い、エンジン制御ユニット172とゲートウェイ部170との通信に共通鍵CK(2)を用いるように構成してもよい。なお、この場合は、図15に示した実施の形態6にかかる暗号通信システム6における半導体装置ICa(140)が故障診断ユニット171に対応し、半導体装置ICb(150)がエンジン制御ユニット172に対応し、半導体装置ICs(160)がゲートウェイ部170に対応している。
各ユニット171〜176とゲートウェイ部との間の通信で用いられる共通鍵を生成するために用いられる訂正データCDは、例えばゲートウェイ部170の半導体装置ICsやカーナビゲーションシステム178の半導体装置IChに格納することができる。また、共通鍵を生成するために用いられる訂正データCDは、サーバ181から供給されるようにしてもよい。サーバ181から訂正データCDが供給されることで、各ユニット171〜176とゲートウェイ部170との通信で用いられる共通鍵を容易に変更することができる。サーバ181から供給された訂正データCDは、例えばゲートウェイ部170の半導体装置ICsやカーナビゲーションシステム178の半導体装置IChに格納することができる。
また、カーナビゲーションシステム178は、各ユニット171〜176から取得した情報(例えば、故障情報など)を、DCM179を介してサーバ181に送信することができる。このとき、DCM179とサーバ181との間の通信を暗号化してもよい。
図17に示した例では、各ユニット171〜176がゲートウェイ部170を介して通信している構成を示した。しかし、各ユニット171〜176が互いに同一の共通鍵を用いて通信するように構成してもよい。この場合は、例えば各ユニット171〜176が共通バスを介して互いに接続されるように構成する。各ユニット171〜176に格納される共通鍵は、例えば実施の形態1(図1)、実施の形態4(図9)、実施の形態5(図12)で説明した方法を用いることで生成することができる。
<実施の形態8>
図18は、実施の形態8にかかる暗号通信システムを示すブロック図である。本実施の形態にかかる暗号通信システム201は、半導体装置ICa(第1の半導体装置)210と半導体装置ICz(第2の半導体装置)220とを有する。半導体装置ICa(210)は他の半導体装置(不図示)とセキュアなネットワークを構成している。本実施の形態では、半導体装置ICa(210)を含むセキュアなネットワークに、半導体装置ICz(220)を新たに追加する場合について説明する。
半導体装置210は、ユニークコード生成部211、記憶部212、共通鍵生成部(第1の共通鍵生成部)213、および訂正データ生成部214を有する。
ユニークコード生成部211は、半導体装置210に固有の値であってランダムなエラーを含むユニークコード(第1のユニークコード)UC(a)を生成し、共通鍵生成部213に出力する。ここで、ユニークコードUC(a)は、半導体装置210が備える素子固有の物理的な特性により決まる値である。例えば、ユニークコード生成部211は、半導体装置210が備えるメモリ素子の起動時の値を用いてユニークコードUC(a)を生成することができる。ユニークコードは、ICの設計は同一であるが実際に製造されるICは個々にばらつきを有するという性質を利用して生成されるコードである。このような技術は、PUF(Physical Unclonable Function)と呼ばれ、同一の回路を備えたICを1の半導体ウェハーに複数個同時に同一の製造装置により製造しても、個々のIC毎で固有のコードを得ることができると共に、別のICでの複製を困難にすることができる技術である。この技術を用いることにより、耐タンパチップのような特殊なハードウェアを使用することなく、データの高い秘匿性を実現することができる。
記憶部212は、訂正データ(第1の訂正データ)CD(a)と、共通鍵生成部213で生成された共通鍵(第1の共通鍵)CK(a)とを格納することができる。記憶部212は、揮発性メモリ(例えば、SRAM)と不揮発性メモリ(例えばフラッシュメモリ)とを有し、訂正データCD(a)は不揮発性メモリに格納され、共通鍵CK(a)は揮発性メモリに格納される。よって、記憶部212は一時的に共通鍵CK(a)を格納するが、半導体装置210の電源がオフになると共通鍵CK(a)の情報は消去される。尚、共通鍵CK(a)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(a)に対して、半導体装置210の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
共通鍵生成部213は、ユニークコード生成部211から出力されたユニークコードUC(a)と、記憶部212に格納されている訂正データCD(a)とを用いて共通鍵CK(a)を生成する。
ユニークコード生成部211で生成されるユニークコードUC(a)は、ユニークコード生成時の外的要因、例えば、温度、電圧等によって変動するビットの値を含むデータである。このため、ユニークコード生成部211で生成されるユニークコードUC(a)には、(1)値が安定したビット、(2)高確率で変動するビット(つまり、値の変動が比較的大きいビット)、(3)低確率で変動するビット(つまり、値の変動が比較的小さいビット)の3つが含まれる。このように、ユニークコード生成部211で生成されるユニークコードUC(a)は、(2)高確率で変動するビットと(3)低確率で変動するビットとを含む。よって、ユニークコードUC(a)は生成される毎に異なる値となる。
高確率で変動するビットは製造工程で把握することができる。よって、製造工程において各ビットを判定することで、高確率で変動するビットをマスクするマスクデータを作成することができる。そして、このマスクデータを用いて、ユニークコード生成部211で生成されたユニークコードUC(a)をマスクすることで、ユニークコードUC(a)に含まれる高確率で変動するビットを削除することができる。ここで、高確率で変動するビットの位置は半導体装置毎に異なるため、マスクデータは半導体装置に固有のデータとなる。
低確率で変動するビットは、外的要因や残存する電荷などに起因して変動するため、予め予測することが困難である。このため、低確率で変動するビットは、例えばBCH符号やリードソロモン符号に代表されるECCコードを製造時に生成し、このECCコードを用いて変動性のあるビットを除外するようなエラー訂正を行う。以下で、共通鍵生成部213の動作について具体的に説明する。
図20は、共通鍵生成部213の動作を説明するためのフローチャートであり、図21は共通鍵生成部213で処理されるユニークコードの一例を示す表である。まず、共通鍵生成部213は、ユニークコード生成部211からユニークコードUC(a)を読み込む(ステップS111)。このとき読み込まれたユニークコードUC(a)は、変動性のあるビットを除外するようなエラー訂正が実施されていないユニークコードである。
次に、訂正データCD(a)に含まれるマスクデータを用いて、読み込まれたユニークコードUC(a)をマスクする(ステップS112)。ここで、マスクデータは、ユニークコードUC(a)のビットのうちビットの値が変動するようなエラー率の高いビットをマスクするためのデータである。図21に示す例では、ユニークコードUC(a)の1ビット目と6ビット目のビットのエラー率が高いため、マスクデータが"0"となっている。これ以外のビットは、エラー率が低いビットまたは値が安定しているビットであるため、マスクデータが"1"となっている。つまり、マスクが必要なビットのマスクデータは"0"となり、マスクが不要なビットのマスクデータは"1"となる。そして、マスクデータを用いてユニークコードUC(a)をマスクすることで、ユニークコードUC(a)の1ビット目と6ビット目のビットを削除したマスク処理後のユニークコードUC(a)'を得ることができる(マスク処理により削除したビットは"X"で示している)。その後、マスク処理後のユニークコードUC(a)'は左詰めされる。
次に、訂正データCD(a)に含まれるECCコード(エラー訂正コード)を用いて、マスク処理後のユニークコードUC(a)'に含まれる値の変動率が低いビットのエラーを訂正することによりユニークコードUC(a)''を得る(ステップS113)。図21に示す例では、ECCコードを用いてマスク処理後のユニークコードUC(a)'を処理することにより、1ビット目のビットが"0"から"1"に訂正されている。
次に、訂正データCD(a)に含まれる演算パラメータを用いて、エラー訂正後のユニークコードUC(a)''に所定の演算を実施する(ステップS114)。図21に示す例では、エラー訂正後のユニークコードUC(a)''にNOT演算を実施している。この演算処理後のユニークコードUC(a)が共通鍵CK(a)となる。なお、NOT演算は一例であり、エラー訂正後のユニークコード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のユニークコード(第2のユニークコード)UC(z)と共通鍵CK(a)とを用いて訂正データ(第2の訂正データ)CD(z)を生成する。訂正データ生成部214が訂正データを生成する場合の動作について、図22を用いて詳細に説明する。
まず、半導体装置ICz(220)からユニークコードUC(z)を複数回取得する(ステップS121)。次に、ステップS121で取得したユニークコードUC(z)を統計的に処理し、ユニークコードUC(z)の各ビットを、(1)値が安定したビット、(2)高確率で変動するビット(つまり、値の変動が比較的大きいビット)、(3)低確率で変動するビット(つまり、値の変動が比較的小さいビット)の3つに分類する。そして、(2)高確率で変動するビットを用いてマスクデータを生成する(ステップS122)。このとき、例えばユニークコードUC(z)の各ビットのうち、所定の閾値よりも高い確率で変動するビットの位置を示す情報をマスクデータとする。例えば、図21に示したマスクデータでは、高確率で変動するビットの位置(つまり、マスクする位置)を"0"で示している。
次に、ステップS122で生成したマスクデータを用いてユニークコードUC(z)をマスクし、高確率で変動するビットを削除する。そして、マスク後のユニークコードUC(z)''(つまり、値が安定したビットと低確率で変動するビットを含むユニークコード)の変動性のあるビットを除外するための訂正ができるECCコードを生成する(ステップS123)。ECCコードは、例えばBCH符号やリードソロモン符号である。
次に、ステップS122で生成したマスクデータおよびステップS123で生成したECCコードを用いて処理をしたユニークコードUC(z)''(つまり、値が安定したビットを含むユニークコード)と、記憶部12に格納されている共通鍵CK(a)とを用いて、演算パラメータを生成する(ステップS124)。すなわち、演算パラメータは、訂正されたユニークコードUC(z)''から共通鍵CK(a)を生成するために必要なパラメータである。上記処理により生成されたマスクデータ、ECCコード、および演算パラメータを訂正データCD(z)として半導体装置ICz(220)に送付する(ステップS125)。
なお、訂正データCD(z)を生成するための処理(ステップS121〜S125)は、複数の半導体装置を用いて分散させて実施してもよい。図23は、複数の半導体装置ICa、ICb、ICc、ICdを用いて訂正データCD(z)を生成する場合を示す図である。ここで、半導体装置ICa、ICb、ICc、ICdはセキュアなネットワークを構成している。
図23に示す例では、半導体装置ICaがステップS121、S125を実施している。つまり、半導体装置ICaは半導体装置ICzとの窓口として機能する。半導体装置ICbはステップS122(マスクデータの生成)を実施している。半導体装置ICcはステップS123(ECCコードの生成)を実施している。半導体装置ICdはステップS124(演算パラメータの生成)を実施している。なお、図23に示す例は一例であり、各ステップを実施する半導体装置は、任意に割り当てることができる。このように、訂正データCD(z)を生成するための処理(ステップS121〜S125)を、複数の半導体装置に分散させることで、暗号通信システムのセキュリティレベルを向上させることができ、また一つの半導体装置に負荷が集中することを回避することができる。
図18に示す半導体装置220は、ユニークコード生成部221、記憶部222、および共通鍵生成部(第2の共通鍵生成部)223を有する。ユニークコード生成部221は、半導体装置220に固有の値であってランダムなエラーを含むユニークコードUC(z)を生成し、訂正データ生成部214および共通鍵生成部223に出力する。なお、ユニークコード生成部221の構成および動作は、上記で説明したユニークコード生成部211と基本的に同様である。
記憶部222は、共通鍵生成部223で生成された共通鍵CK(a)を格納することができる。記憶部222は、揮発性メモリに共通鍵CK(a)を格納する。よって、記憶部222は一時的に共通鍵CK(a)を格納するが、半導体装置220の電源がオフになると共通鍵CK(a)の情報は消去される。尚、共通鍵CK(a)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(a)に対して、半導体装置220の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
共通鍵生成部223は、ユニークコード生成部221から出力されたユニークコードUC(z)と、訂正データ生成部214から出力された訂正データCD(z)とを用いて共通鍵(第1の共通鍵)CK(a)を生成する。なお、共通鍵生成部223が共通鍵CK(a)を生成する方法は、上述した共通鍵生成部213が共通鍵CK(a)を生成する方法と基本的に同様である。
次に、本実施の形態にかかる暗号通信システムの動作について、図19に示すフローチャートを用いて説明する。まず、半導体装置ICa(210)の共通鍵生成部13は、ユニークコード生成部211から出力されたユニークコードUC(a)と、記憶部212に格納されている訂正データCD(a)とを用いて共通鍵CK(a)を生成する(ステップS101)。その後、半導体装置ICa(210)は他の半導体装置ICb〜ICy(不図示)と共通鍵CK(a)を用いて通信を開始する(ステップS102)。
半導体装置220は、半導体装置210の訂正データ生成部214に半導体装置220のユニークコードUC(z)を送付する(ステップS103)。半導体装置210の訂正データ生成部214は、半導体装置220のユニークコードUC(z)と、記憶部212に格納されている共通鍵CK(a)とを用いて訂正データCD(z)を生成する(ステップS104)。訂正データ生成部214が訂正データCD(z)を生成するには、ユニークコードUC(z)を複数回取得する必要がある。よって、ユニークコードUC(z)を複数回取得するためにステップS103を繰り返す。
生成された訂正データCD(z)は半導体装置220の共通鍵生成部223に送付される(ステップS105)。半導体装置220の共通鍵生成部223は、ユニークコード生成部221から出力されたユニークコードUC(z)と、訂正データ生成部214から出力された訂正データCD(z)とを用いて共通鍵CK(a)を生成する(ステップS106)。上記処理により、新たに追加された半導体装置220は共通鍵CK(a)を保持することができる。よって、新たに追加された半導体装置(ICz)220は、半導体装置(ICa)210および他の半導体装置ICb〜ICyと共通鍵CK(a)を用いて暗号通信することが可能となる(ステップ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において、この訂正データCD(z)と半導体装置220のユニークコードUC(z)とを用いて共通鍵CK(a)を生成している。すなわち、半導体装置ICa(210)と半導体装置ICz(220)が同じルールに基づいて共通鍵CK(a)を生成することが担保されることで、半導体装置ICa(210)を含むセキュアなネットワークに半導体装置ICz(220)を追加することの安全性を担保する。
よって、追加される半導体装置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(Focused Ion Beam)を用いて加工し、プローブを用いて半導体装置を物理的に解析する方法。
(2)半導体装置にレーザなどの電磁波を照射したり、電源端子にノイズを挿入したりすることでCPUを暴走させて不正にデータを取得するフォルトツリー解析。
(3)半導体装置の消費電流量を観測し、鍵データを解析するリーク解析。
このような不正な解析を回避するために、高いセキュリティレベルが必要な分野では、セキュリティレベルの高いマイコン(以下、セキュアマイコンという)が用いられている。このセキュアマイコンには、配線領域へのシールド、光や信号ノイズを検出する機能、信号に乱数信号を組み合わせて電流をかく乱する機能などが実装されている。
このように、セキュアマイコンを用いることで第三者が不正に半導体装置を解析することを防止することができる。しかしながら、セキュアマイコンを用いた場合は、不正解析を防止できる反面、その耐タンパ性により半導体装置メーカー等が不良解析や故障解析を実施することができなくなるという問題があった。特に、自動車に用いられる車載用のマイコン(ECU等)では高信頼性が必要であるため、半導体装置の不良解析や故障解析が必要となる。このような理由から、車載用のマイコンにはセキュアマイコンよりもセキュリティレベルが低い汎用のマイコン(以下、汎用マイコンという)が広く用いられてきた。したがって、車載用のマイコンでは、汎用マイコンを使用しつつ、半導体装置のセキュリティレベルを向上させることが可能な暗号通信システムが必要とされていた。
本実施の形態にかかる暗号通信システムでは、共通鍵CK(a)などの重要なデータを記憶部212、222に直接格納していないため、半導体装置が不正に解析されたとしても、共通鍵CK(a)などの重要なデータが漏洩することはない。このため、半導体装置210および半導体装置220をセキュリティレベルが比較的低い汎用マイコンを用いて構成したとしても、高いセキュリティレベルを実現することができる。
なお、半導体装置210において共通鍵CK(a)を生成するために使用される訂正データCD(a)は、共通鍵CK(a)よりもセキュリティレベルは低いが、比較的セキュリティレベルの高い情報である。よって、訂正データCD(a)が第三者に漏洩することを防ぐために、訂正データCD(a)が格納される半導体装置210にセキュアマイコンを使用してもよい。
また、半導体装置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に暗号化して訂正データを送付することができる。
以上で説明したように、本実施の形態にかかる発明により、セキュアな通信を実施している暗号通信システムに、半導体装置を容易に追加することができる暗号通信システムおよび暗号通信方法を提供することができる。
<実施の形態9>
次に、本発明の実施の形態9について説明する。図24は、本実施の形態にかかる暗号通信システム202を示すブロック図である。半導体装置ICzから出力されるユニークコードUC(z)は、その特性上エラー情報を含むためセキュリティレベルが比較的低い情報である。このため、実施の形態8にかかる暗号通信システムでは、半導体装置ICzから半導体装置ICaにユニークコードUC(z)を送付する際にユニークコードUC(z)を暗号化していなかった。しかしながら、ユニークコードUC(z)はエラー情報も含むが半導体装置ICzに固有の情報であるため、暗号化して送付することが好ましい。よって、本実施の形態にかかる暗号通信システムでは、半導体装置ICzから半導体装置ICaにユニークコードUC(z)を送付する際に、ユニークコードUC(z)を暗号化している。
図24に示す暗号通信システム202は、半導体装置ICa(230)と半導体装置ICz(240)とを有する。半導体装置230は、ユニークコード生成部231、記憶部232、共通鍵生成部233、訂正データ生成部234、および復号部235を有する。
ユニークコード生成部231は、半導体装置230に固有のユニークコードUC(a)を生成し、共通鍵生成部233に出力する。ユニークコード生成部231の基本的な構成および動作は、実施の形態8で説明したユニークコード生成部211と同様であるので重複した説明は省略する。
記憶部232は、訂正データCD(a)と、半導体装置230の公開鍵PK(a)および秘密鍵SK(a)と、共通鍵生成部233で生成された共通鍵CK(a)とを格納することができる。記憶部232は、例えば揮発性メモリと不揮発性メモリとを有し、訂正データCD(a)、公開鍵PK(a)、および秘密鍵SK(a)は不揮発性メモリに格納され、共通鍵CK(a)は揮発性メモリに格納される。よって、記憶部232は一時的に共通鍵CK(a)を格納するが、半導体装置230の電源がオフになると共通鍵CK(a)の情報は消去される。尚、共通鍵CK(a)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(a)に対して、半導体装置230の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
共通鍵生成部233は、ユニークコード生成部231から出力されたユニークコードUC(a)と、記憶部232に格納されている訂正データCD(a)とを用いて共通鍵CK(a)を生成する。ここで、共通鍵生成部233はユニークコード訂正部として機能する。共通鍵生成部233の基本的な構成および動作は、実施の形態8で説明した共通鍵生成部213と同様であるので重複した説明は省略する。
訂正データ生成部234は、半導体装置240のユニークコードUC(z)と共通鍵CK(a)とを用いて訂正データ(第2の訂正データ)CD(z)を生成する。訂正データ生成部234の基本的な構成および動作は、実施の形態8で説明した訂正データ生成部214と同様であるので重複した説明は省略する。
復号部235は、半導体装置240の暗号部244で暗号化されたユニークコードUC(z)_cを、半導体装置230の秘密鍵SK(a)を用いて復号してユニークコードUC(z)を生成する。
半導体装置240は、ユニークコード生成部241、記憶部242、共通鍵生成部243、および暗号部244を有する。ユニークコード生成部241は、半導体装置240に固有のユニークコードUC(z)を生成し、暗号部244および共通鍵生成部243に出力する。なお、ユニークコード生成部241の構成および動作は、実施の形態8で説明したユニークコード生成部211と同様であるので重複した説明は省略する。
記憶部242は、共通鍵生成部243で生成された共通鍵CK(a)を格納することができる。記憶部242は、揮発性メモリに共通鍵CK(a)を格納する。よって、記憶部242は一時的に共通鍵CK(a)を格納するが、半導体装置240の電源がオフになると共通鍵CK(a)の情報は消去される。尚、共通鍵CK(a)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(a)に対して、半導体装置240の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
共通鍵生成部243は、ユニークコード生成部241から出力されたユニークコードUC(z)と、訂正データ生成部234から出力された訂正データCD(z)とを用いて共通鍵CK(a)を生成する。ここで、共通鍵生成部243はユニークコード訂正部として機能する。共通鍵生成部243の基本的な構成および動作は、実施の形態8で説明した共通鍵生成部213と同様であるので重複した説明は省略する。
暗号部244は、ユニークコード生成部241で生成されたユニークコードUC(z)を半導体装置230の公開鍵PK(a)を用いて暗号化する。ここで、暗号化に用いられる公開鍵PK(a)は、予め半導体装置230から半導体装置240に送付されて記憶部242に格納されていてもよい。また、暗号化に用いられる公開鍵PK(a)は、暗号部244でユニークコードUC(z)を暗号化する際に、半導体装置230から暗号部244に直接供給されるように構成してもよい。暗号化されたユニークコードUC(z)_cは半導体装置230の復号部235に出力される。
次に、本実施の形態にかかる暗号通信システムの動作について、図25に示すフローチャートを用いて説明する。まず、半導体装置ICa(230)の共通鍵生成部233は、ユニークコード生成部231から出力されたユニークコードUC(a)と、記憶部232に格納されている訂正データCD(a)とを用いて共通鍵CK(a)を生成する(ステップS130)。その後、半導体装置ICa(230)は他の半導体装置ICb〜ICy(不図示)と共通鍵CK(a)を用いて通信を開始する(ステップS131)。
次に、半導体装置ICz(240)は、半導体装置ICa(230)に対して訂正データCD(z)の送付を要求する(ステップS132)。訂正データCD(z)の送付を要求された半導体装置230は、半導体装置240に対して半導体装置230の公開鍵PK(a)を送付する(ステップ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は、暗号化されたユニークコードUC(z)_cを、半導体装置230の秘密鍵SK(a)を用いて復号してユニークコードUC(z)を生成する(ステップS136)。
半導体装置230の訂正データ生成部234は、半導体装置240のユニークコードUC(z)と、記憶部232に格納されている共通鍵CK(a)とを用いて訂正データCD(z)を生成する(ステップS137)。訂正データ生成部234が訂正データCD(z)を生成するには、ユニークコードUC(z)を複数回取得する必要がある。よって、ユニークコードUC(z)を複数回取得するためにステップS134〜S136を繰り返す。
生成された訂正データCD(z)は半導体装置240の共通鍵生成部243に送付される(ステップS138)。半導体装置240の共通鍵生成部243は、ユニークコード生成部241から出力されたユニークコードUC(z)と、訂正データ生成部234から出力された訂正データCD(z)とを用いて共通鍵CK(a)を生成する(ステップS139)。上記処理により、新たに追加された半導体装置240は共通鍵CK(a)を保持することができる。よって、新たに追加された半導体装置(ICz)240は、半導体装置(ICa)230および他の半導体装置ICb〜ICyと共通鍵CK(a)を用いて暗号通信することが可能となる(ステップS140)。
このように、本実施の形態にかかる暗号通信システムでは、半導体装置230が備える訂正データ生成部234において、半導体装置240に固有のユニークコードUC(z)と、共通鍵CK(a)とを用いて訂正データCD(z)を生成し、半導体装置240の共通鍵生成部243において、この訂正データCD(z)と半導体装置240のユニークコードUC(z)とを用いて共通鍵CK(a)を生成している。よって、追加される半導体装置ICzが正規の半導体装置であるかを検証するために、高価なセキュアサーバを暗号通信システムに組み込む必要がないので、セキュアな通信を実施している暗号通信システムに、半導体装置を容易かつ低コストに追加することができる。
また、本実施の形態にかかる暗号通信システムでは、共通鍵CK(a)などの重要なデータを記憶部232、242に直接格納していないため、半導体装置が不正に解析されたとしても、共通鍵CK(a)などの重要なデータが漏洩することはない。このため、本実施の形態にかかる暗号通信システムでは、半導体装置230および半導体装置240をセキュリティレベルが比較的低い汎用マイコンを用いて構成したとしても、高いセキュリティレベルを実現することができる。
なお、半導体装置230において共通鍵CK(a)を生成するために使用される訂正データCD(a)や半導体装置230の秘密鍵SK(a)は、共通鍵CK(a)よりもセキュリティレベルは低いが、比較的セキュリティレベルの高い情報である。よって、訂正データCD(a)や秘密鍵SK(a)が第三者に漏洩することを防ぐために、訂正データCD(a)および秘密鍵SK(a)が格納される半導体装置230にセキュアマイコンを使用してもよい。
また、半導体装置230から半導体装置240に送付される訂正データCD(z)は、ユニークコードUC(z)と共通鍵CK(a)とに関連するデータであるため、比較的セキュリティレベルの高い情報である。よって、訂正データCD(z)を半導体装置230から半導体装置240に送付する際は、公開鍵暗号方式を用いて訂正データCD(z)を暗号化して送付してもよい。
以上で説明したように、本実施の形態にかかる発明により、セキュアな通信を実施している暗号通信システムに、半導体装置を容易に追加することができる暗号通信システムおよび暗号通信方法を提供することができる。特に、本実施の形態にかかる暗号通信システムでは、半導体装置240のユニークコードUC(z)を暗号化して、半導体装置230に送付しているので、暗号通信システムのセキュリティを更に向上させることができる。
<実施の形態10>
次に、本発明の実施の形態10について説明する。図26は、本実施の形態にかかる暗号通信システム203を示すブロック図である。本実施の形態では、暗号通信システムを電子署名方式に適用している。本実施の形態にかかる暗号通信システム203は、半導体装置ICa(250)、半導体装置ICz(260)、およびセキュアサーバ270を有する。
半導体装置250は、ユニークコード生成部251、記憶部252、共通鍵生成部253、訂正データ生成部254、復号部255、および検証部256を有する。
ユニークコード生成部251は、半導体装置250に固有のユニークコードUC(a)を生成し、共通鍵生成部253に出力する。ユニークコード生成部251の基本的な構成および動作は、実施の形態8で説明したユニークコード生成部211と同様であるので重複した説明は省略する。
記憶部252は、訂正データCD(a)と、半導体装置250の公開鍵PK(a)および秘密鍵SK(a)と、共通鍵生成部253で生成された共通鍵CK(a)とを格納することができる。記憶部252は、例えば揮発性メモリと不揮発性メモリとを有し、訂正データCD(a)、公開鍵PK(a)、および秘密鍵SK(a)は不揮発性メモリに格納され、共通鍵CK(a)は揮発性メモリに格納される。よって、記憶部252は一時的に共通鍵CK(a)を格納するが、半導体装置250の電源がオフになると共通鍵CK(a)の情報は消去される。
共通鍵生成部253は、ユニークコード生成部251から出力されたユニークコードUC(a)と、記憶部252に格納されている訂正データCD(a)とを用いて共通鍵CK(a)を生成する。ここで、共通鍵生成部253はユニークコード訂正部として機能する。共通鍵生成部253の基本的な構成および動作は、実施の形態8で説明した共通鍵生成部213と同様であるので重複した説明は省略する。
訂正データ生成部254は、半導体装置260のユニークコードUC(z)と共通鍵CK(a)とを用いて訂正データCD(z)を生成する。訂正データ生成部254の基本的な構成および動作は、実施の形態8で説明した訂正データ生成部214と同様であるので重複した説明は省略する。
復号部255は、半導体装置260の暗号部264で暗号化されたユニークコードUC(z)_cを、半導体装置250の秘密鍵SK(a)を用いて復号してユニークコードUC(z)を生成する。
検証部256は、電子署名方式の検証アルゴリズムを実行する。すなわち、検証部256は、署名データSig(z)と半導体装置260の公開鍵PK(z)とを用いて検証用データを生成し、当該検証用データと平文Plane(a)とを比較する。
半導体装置260は、ユニークコード生成部261、記憶部262、共通鍵生成部263、暗号部264、および署名データ生成部265を有する。ユニークコード生成部261は、半導体装置260に固有のユニークコードUC(z)を生成し、暗号部264および共通鍵生成部263に出力する。なお、ユニークコード生成部261の構成および動作は、実施の形態8で説明したユニークコード生成部211と同様であるので重複した説明は省略する。
記憶部262は、共通鍵生成部263で生成された共通鍵CK(a)、半導体装置260の秘密鍵SK(z)、および平文Plane(z)を格納することができる。記憶部262は、例えば揮発性メモリと不揮発性メモリとを有し、半導体装置260の秘密鍵SK(z)および平文Plane(z)は不揮発性メモリに格納され、共通鍵CK(a)は揮発性メモリに格納される。よって、記憶部262は一時的に共通鍵CK(a)を格納するが、半導体装置260の電源がオフになると共通鍵CK(a)の情報は消去される。尚、共通鍵CK(a)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(a)に対して、半導体装置260の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
共通鍵生成部263は、ユニークコード生成部261から出力されたユニークコードUC(z)と、訂正データ生成部254から出力された訂正データCD(z)とを用いて共通鍵CK(a)を生成する。ここで、共通鍵生成部263はユニークコード訂正部として機能する。共通鍵生成部263の基本的な構成および動作は、実施の形態8で説明した共通鍵生成部213と同様であるので重複した説明は省略する。
暗号部264は、ユニークコード生成部261で生成されたユニークコードUC(z)を半導体装置260の公開鍵PK(a)を用いて暗号化する。ここで、暗号化に用いられる公開鍵PK(a)は、予め半導体装置250から半導体装置260に送付されて記憶部262に格納されていてもよい。また、暗号化に用いられる公開鍵PK(a)は、暗号部264でユニークコードUC(z)を暗号化する際に、半導体装置250から暗号部264に直接供給されるように構成してもよい。また、セキュアサーバ270から公開鍵PK(a)が供給されるように構成してもよい。暗号化されたユニークコード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)は他の半導体装置ICb〜ICy(不図示)と共通鍵CK(a)を用いて通信を開始する(ステップS142)。
次に、半導体装置ICz(260)は、半導体装置ICa(250)に対して半導体装置ICz(260)の半導体装置情報(例えば固有IDなど)を送付する(ステップS143)。半導体装置260の半導体装置情報を取得した半導体装置250は、セキュアサーバ270に対して、半導体装置260の公開鍵を送付するように要求する(ステップS144)。ここで、半導体装置260の公開鍵は、半導体装置250の検証部256において署名データを検証する際に用いられる。セキュアサーバ270は、半導体装置250の検証部256に半導体装置260の公開鍵PK(z)を送付する(ステップS145)。
次に、半導体装置250は半導体装置260に対して署名データを送付するように要求する(ステップS146)。署名データ送付要求を受信した半導体装置260は、署名データ生成部265において、秘密鍵SK(z)と平文Plane(z)とを用いて署名データ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)を暗号化することで生成されたデータである。よって、署名データSig(z)を半導体装置260の公開鍵PK(z)を用いて復号することで得られた検証用データは、半導体装置260から送られた平文Plane(z)に対応するデータである。したがって、検証部256は、検証用データと平文Plane(z)とを比較し、検証用データと平文Plane(z)とが一致した場合は、半導体装置260が秘密鍵SK(z)を保有すると判断することができる。
よって、検証用データと平文Plane(z)とが一致した場合(検証アルゴリズムが署名データSig(z)を受理した場合)は、検証部256は半導体装置260が作成した署名データSig(z)が正当であると判断する。つまり、半導体装置260が秘密鍵SK(z)を保有すると判断される。一方、検証用データと平文Plane(z)とが一致しない場合(検証アルゴリズムが署名データSig(z)を棄却した場合)は、検証部256は半導体装置260が作成した署名データSig(z)が不当であると判断する。
半導体装置260が正規の半導体装置であると判断されると、半導体装置250は、半導体装置260に対して半導体装置250の公開鍵PK(a)を送付する(ステップS149)。半導体装置260の暗号部264は、半導体装置250の公開鍵PK(a)を用いてユニークコードUC(z)を暗号化する(ステップS150)。なお、半導体装置250の公開鍵PK(a)は、半導体装置250の指示によりセキュアサーバ270から半導体装置260に送付されるようにしてもよい。
半導体装置260は、暗号化されたユニークコードUC(z)_cを半導体装置250の復号部255に送付する(ステップS151)。半導体装置250の復号部255は、暗号化されたユニークコードUC(z)_cを、半導体装置250の秘密鍵SK(a)を用いて復号してユニークコードUC(z)を生成する(ステップS152)。
半導体装置250の訂正データ生成部254は、半導体装置260のユニークコードUC(z)と、共通鍵CK(a)とを用いて訂正データCD(z)を生成する(ステップS153)。訂正データ生成部254が訂正データCD(z)を生成するには、ユニークコードUC(z)を複数回取得する必要がある。よって、ユニークコードUC(z)を複数回取得するためにステップS150〜S152を繰り返す。
生成された訂正データCD(z)は半導体装置260の共通鍵生成部263に送付される(ステップS154)。半導体装置260の共通鍵生成部263は、ユニークコード生成部261から出力されたユニークコードUC(z)と、訂正データ生成部254から出力された訂正データCD(z)とを用いて共通鍵CK(a)を生成する(ステップS155)。上記処理により、新たに追加された半導体装置260を電子署名方式を用いて検証することができる。そして、新たに追加された半導体装置260が正規の半導体装置である場合、半導体装置260は共通鍵CK(a)を保持することができる。よって、新たに追加された半導体装置(ICz)260は、半導体装置(ICa)240および他の半導体装置ICb〜ICyと共通鍵CK(a)を用いて暗号通信することが可能となる(ステップ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にはセキュリティマイコンを用いることが好ましい。
なお、共通鍵CK(a)を生成するために使用される訂正データCD(a)や半導体装置260の秘密鍵SK(z)は、共通鍵CK(a)よりもセキュリティレベルは低いが、比較的セキュリティレベルの高い情報である。よって、訂正データCD(a)や秘密鍵SK(z)が第三者に漏洩することを防ぐために、訂正データCD(a)や秘密鍵SK(z)が格納される半導体装置250、260にセキュアマイコンを使用してもよい。
また、半導体装置250から半導体装置260に送付される訂正データCD(z)は、ユニークコードUC(z)と共通鍵CK(a)とに関連するデータであるため、比較的セキュリティレベルの高い情報である。よって、訂正データCD(z)を半導体装置50から半導体装置260に送付する際は、公開鍵暗号方式を用いて訂正データCD(z)を暗号化して送付してもよい。
また、本実施の形態ではユニークコードUC(z)を暗号化して送付するために、半導体装置260に暗号部264を設け、半導体装置250に復号部255を設けていた。しかし、本実施の形態では、実施の形態8のように、暗号部264および復号部255を省略して、ユニークコードUC(z)を暗号化しないで送付してもよい。
以上で説明したように、本実施の形態にかかる発明により、セキュアな通信を実施している暗号通信システムに、半導体装置を容易に追加することができる暗号通信システムおよび暗号通信方法を提供することができる。
特に、本実施の形態にかかる暗号通信システムでは、セキュアサーバ270を用いて公開鍵情報を一括して管理している。この公開鍵情報は、新たに追加される半導体装置を電子署名方式を用いて検証する際に使用される情報であり、セキュリティレベルの高い情報である。このように、セキュリティレベルの高い情報をセキュアサーバ270を用いて一括管理することで、半導体装置250、260にセキュリティレベルの高い情報を格納する必要がなくなり、半導体装置250、260を汎用のマイコンを用いて構成することができる。よって、暗号通信システムを構成する際のコストを低減することができる。
<実施の形態11>
次に、本発明の実施の形態11について説明する。図28は、本実施の形態にかかる暗号通信システム204を示すブロック図である。本実施の形態にかかる暗号通信システム4では、訂正データCD(z)を生成するための訂正データ生成部を設ける代わりに、新規に追加される半導体装置ICz(290)から半導体装置ICa(280)に訂正データ生成プログラムPRG(z)を送付している。そして、この訂正データ生成プログラムPRG(z)を半導体装置ICa(280)で実行することで、訂正データCD(z)を生成している。
図28に示す暗号通信システム204は、半導体装置ICa(280)と半導体装置ICz(290)とを有する。半導体装置280は、ユニークコード生成部281、記憶部282、共通鍵生成部283、プログラム実行部284、および復号部285を有する。
ユニークコード生成部281は、半導体装置280に固有のユニークコードUC(a)を生成し、共通鍵生成部283に出力する。ユニークコード生成部281の基本的な構成および動作は、実施の形態8で説明したユニークコード生成部211と同様であるので重複した説明は省略する。
記憶部282は、訂正データCD(a)と、半導体装置280の公開鍵PK(a)および秘密鍵SK(a)と、共通鍵生成部283で生成された共通鍵CK(a)とを格納することができる。記憶部282は、例えば揮発性メモリと不揮発性メモリとを有し、訂正データCD(a)、公開鍵PK(a)、および秘密鍵SK(a)は不揮発性メモリに格納され、共通鍵CK(a)は揮発性メモリに格納される。よって、記憶部282は一時的に共通鍵CK(a)を格納するが、半導体装置280の電源がオフになると共通鍵CK(a)の情報は消去される。
共通鍵生成部283は、ユニークコード生成部281から出力されたユニークコードUC(a)と、記憶部282に格納されている訂正データCD(a)とを用いて共通鍵CK(a)を生成する。ここで、共通鍵生成部283はユニークコード訂正部として機能する。共通鍵生成部283の基本的な構成および動作は、実施の形態8で説明した共通鍵生成部213と同様であるので重複した説明は省略する。
プログラム実行部284は、半導体装置290から送付された訂正データ生成プログラムPRG(z)を実行する。訂正データ生成プログラムPRG(z)を実行することにより、半導体装置290のユニークコードUC(z)と共通鍵CK(a)とを用いて訂正データCD(z)を生成することができる。ここで、プログラム実行部284は、典型的にはCPUなどのプロセッサである。また、訂正データ生成プログラムPRG(z)は、例えば半導体装置280のみで実行可能なプログラムであってもよい。また、動作する半導体装置のアーキテクチャに依存しない、JAVA(登録商標)等のプログラムであってもよい。暗号通信システムを構成する半導体装置の中には、CPUコアのアーキテクチャが異なる場合もある。よって、動作する半導体装置のアーキテクチャに依存しないJAVA等のプログラムを用いることで、暗号通信システムの利便性を向上させることができ、また、暗号通信システムのコストを低減させることができる。
なお、訂正データ生成プログラムPRG(z)を用いて訂正データCD(z)を生成する処理については、実施の形態8で説明した訂正データ生成部214における処理と同様であるので重複した説明は省略する。
復号部285は、半導体装置290の暗号部294で暗号化されたユニークコードUC(z)_cを、半導体装置280の秘密鍵SK(a)を用いて復号してユニークコードUC(z)を生成する。
半導体装置290は、ユニークコード生成部291、記憶部292、共通鍵生成部293、および暗号部294を有する。ユニークコード生成部291は、半導体装置290に固有のユニークコードUC(z)を生成し、暗号部294および共通鍵生成部293に出力する。なお、ユニークコード生成部291の構成および動作は、実施の形態8で説明したユニークコード生成部211と同様であるので重複した説明は省略する。
記憶部292は、共通鍵生成部293で生成された共通鍵CK(a)および訂正データ生成プログラムPRG(z)を格納することができる。記憶部292は、例えば揮発性メモリと不揮発性メモリとを有し、訂正データ生成プログラムPRG(z)は不揮発性メモリに格納され、共通鍵CK(a)は揮発性メモリに格納される。よって、記憶部292は一時的に共通鍵CK(a)を格納するが、半導体装置290の電源がオフになると共通鍵CK(a)の情報は消去される。尚、共通鍵CK(a)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(a)に対して、半導体装置290の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
共通鍵生成部293は、ユニークコード生成部291から出力されたユニークコードUC(z)と、プログラム実行部284から出力された訂正データCD(z)とを用いて共通鍵CK(a)を生成する。ここで、共通鍵生成部293はユニークコード訂正部として機能する。共通鍵生成部293の基本的な構成および動作は、実施の形態8で説明した共通鍵生成部213と同様であるので重複した説明は省略する。
暗号部294は、ユニークコードUC(z)および訂正データ生成プログラムPRG(z)を半導体装置280の公開鍵PK(a)を用いて暗号化する。ここで、暗号化に用いられる公開鍵PK(a)は、予め半導体装置280から半導体装置290に送付されて記憶部292に格納されていてもよい。また、暗号化に用いられる公開鍵PK(a)は、暗号部294でユニークコードUC(z)および訂正データ生成プログラムPRG(z)を暗号化する際に、半導体装置280から暗号部294に直接供給されるように構成してもよい。暗号化されたユニークコードUC(z)_cおよび訂正データ生成プログラムPRG(z)_cは半導体装置280の復号部285に出力される。
次に、本実施の形態にかかる暗号通信システムの動作について、図29に示すフローチャートを用いて説明する。まず、半導体装置ICa(280)の共通鍵生成部283は、ユニークコード生成部281から出力されたユニークコードUC(a)と、記憶部282に格納されている訂正データCD(a)とを用いて共通鍵CK(a)を生成する(ステップS160)。その後、半導体装置ICa(280)は他の半導体装置ICb〜ICy(不図示)と共通鍵CK(a)を用いて通信を開始する(ステップS161)。
次に、半導体装置ICz(290)は、半導体装置ICa(280)に対して訂正データCD(z)の送付を要求する(ステップS162)。訂正データCD(z)の送付を要求された半導体装置280は、半導体装置290に対して半導体装置280の公開鍵PK(a)を送付する(ステップS163)。半導体装置290の暗号部294は、半導体装置280の公開鍵PK(a)を用いてユニークコードUC(z)および訂正データ生成プログラムPRG(z)を暗号化する(ステップS164)。なお、半導体装置280の公開鍵PK(a)は、予め半導体装置290の記憶部292に格納しておいてもよい。この場合は、ステップS162、S163を省略することができる。
半導体装置290は、暗号化されたユニークコードUC(z)_cおよび訂正データ生成プログラムPRG(z)_cを半導体装置280の復号部285に送付する(ステップS165)。半導体装置280の復号部285は、暗号化されたユニークコードUC(z)_cおよび訂正データ生成プログラムPRG(z)_cを、半導体装置280の秘密鍵SK(a)を用いて復号してユニークコードUC(z)および訂正データ生成プログラムPRG(z)を生成する(ステップS166)。
半導体装置280のプログラム実行部284は、復号部285で復号された訂正データ生成プログラムPRG(z)を実行する。訂正データ生成プログラムPRG(z)を実行することにより、半導体装置290のユニークコードUC(z)と共通鍵CK(a)とを用いて訂正データCD(z)を生成することができる(ステップS167)。なお、訂正データ生成プログラムPRG(z)が訂正データCD(z)を生成するには、ユニークコードUC(z)を複数回取得する必要がある。よって、ユニークコードUC(z)を複数回取得するためにステップS164〜S166を繰り返す(訂正データ生成プログラムPRG(z)の送付は除く)。また、訂正データ生成プログラムPRG(z)は、訂正データCD(z)を生成した後に削除してもよい。
生成された訂正データCD(z)は半導体装置290の共通鍵生成部293に送付される(ステップS168)。半導体装置290の共通鍵生成部293は、ユニークコード生成部291から出力されたユニークコードUC(z)と、プログラム実行部284から出力された訂正データCD(z)とを用いて共通鍵CK(a)を生成する(ステップS169)。上記処理により、新たに追加された半導体装置290は共通鍵CK(a)を保持することができる。よって、新たに追加された半導体装置(ICz)290は、半導体装置(ICa)280および他の半導体装置ICb〜ICyと共通鍵CK(a)を用いて暗号通信することが可能となる(ステップ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)が第三者に漏洩することを防ぐために、訂正データCD(a)および秘密鍵SK(a)が格納される半導体装置280にセキュアマイコンを使用してもよい。
また、半導体装置280から半導体装置290に送付される訂正データCD(z)は、ユニークコードUC(z)と共通鍵CK(a)とに関連するデータであるため、比較的セキュリティレベルの高い情報である。よって、訂正データCD(z)を半導体装置280から半導体装置290に送付する際は、公開鍵暗号方式を用いて訂正データCD(z)を暗号化して送付してもよい。
また、本実施の形態ではユニークコードUC(z)および訂正データ生成プログラムPRG(z)を暗号化して送付するために、半導体装置260に暗号部264を設け、半導体装置250に復号部255を設けていた。しかし、本実施の形態では、実施の形態8のように、暗号部264および復号部255を省略して、ユニークコードUC(z)および訂正データ生成プログラムPRG(z)を暗号化しないで送付してもよい。
また、上述した例では、新規に追加される半導体装置290から半導体装置280に訂正データ生成プログラムPRG(z)が送付される場合について説明した。しかし、訂正データ生成プログラムPRG(z)は、例えばサーバから半導体装置280に送付されるように構成してもよい。
以上で説明したように、本実施の形態にかかる発明により、セキュアな通信を実施している暗号通信システムに、半導体装置を容易に追加することができる暗号通信システムおよび暗号通信方法を提供することができる。
特に、本実施の形態にかかる暗号通信システムでは、半導体装置280に訂正データ生成部を予め設けていない場合であっても、新規に追加する半導体装置290に訂正データ生成プログラムPRG(z)を格納し、当該訂正データ生成プログラムPRG(z)を半導体装置280で実行することで、訂正データCD(z)を生成することができる。ここで、訂正データ生成プログラムPRG(z)は、半導体装置290の出荷時に格納してもよく、また、出荷後に必要に応じてサーバからダウンロードしてもよい。また、訂正データ生成プログラムPRG(z)を、動作する半導体装置のアーキテクチャに依存しないJAVA等のプログラムとすることで、暗号通信システムの利便性を向上させることができ、また、暗号通信システムのコストを低減させることができる。
<実施の形態12>
次に、本発明の実施の形態12について説明する。図30は、本実施の形態にかかる暗号通信システム205を示すブロック図である。本実施の形態にかかる暗号通信システム205では、半導体装置ICa(300)の共通鍵生成部303で複数の共通鍵CK(1)、CK(2)を生成している。そして、半導体装置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の基本的な構成および動作は、実施の形態8で説明したユニークコード生成部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)を格納するが、半導体装置300の電源がオフになると共通鍵CK(1)、CK(2)の情報は消去される。尚、共通鍵CK(1)、CK(2)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(1)、CK(2)対して、半導体装置300の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
共通鍵生成部303は、ユニークコード生成部301から出力されたユニークコードUC(a)と、記憶部302に格納されている訂正データ(第3の訂正データ)CD(1)とを用いて共通鍵(第2の共通鍵)CK(1)を生成する。また、共通鍵生成部303は、ユニークコード生成部301から出力されたユニークコードUC(a)と、記憶部302に格納されている訂正データ(第1の訂正データ)CD(2)とを用いて共通鍵(第1の共通鍵)CK(2)を生成する。ここで、共通鍵生成部303はユニークコード訂正部として機能する。共通鍵生成部303の基本的な構成および動作は、実施の形態8で説明した共通鍵生成部213と同様であるので重複した説明は省略する。
訂正データ生成部304は、半導体装置310のユニークコードUC(z)と共通鍵CK(2)とを用いて訂正データ(第2の訂正データ)CD(z)を生成する。訂正データ生成部304の基本的な構成および動作は、実施の形態8で説明した訂正データ生成部214と同様であるので重複した説明は省略する。
半導体装置310は、ユニークコード生成部311、記憶部312、および共通鍵生成部313を有する。ユニークコード生成部311は、半導体装置310に固有のユニークコードUC(z)を生成し、半導体装置300の訂正データ生成部304に出力する。なお、ユニークコード生成部311の構成および動作は、実施の形態8で説明したユニークコード生成部211と同様であるので重複した説明は省略する。
記憶部312は、共通鍵生成部313で生成された共通鍵CK(2)を格納することができる。記憶部312は、揮発性メモリに共通鍵CK(2)を格納する。よって、記憶部312は一時的に共通鍵CK(2)を格納するが、半導体装置310の電源がオフになると共通鍵CK(2)の情報は消去される。尚、共通鍵CK(2)は用途に応じて暗号化等のセキュリティ対策を行い不揮発性メモリに格納してもよく、不揮発性メモリに格納された共通鍵CK(2)対して、半導体装置310の電源オフ時にライト動作によりデータの消去を行なう等の処置を行う対策を行ってもよい。
共通鍵生成部313は、ユニークコード生成部311から出力されたユニークコードUC(z)と、訂正データ生成部304から出力された訂正データCD(z)とを用いて共通鍵CK(2)を生成する。ここで、共通鍵生成部313はユニークコード訂正部として機能する。共通鍵生成部313の基本的な構成および動作は、実施の形態8で説明した共通鍵生成部213と同様であるので重複した説明は省略する。
次に、本実施の形態にかかる暗号通信システムの動作について、図31に示すフローチャートを用いて説明する。まず、半導体装置ICa(300)の共通鍵生成部303は、ユニークコード生成部301から出力されたユニークコードUC(a)と、記憶部212に格納されている訂正データCD(1)とを用いて共通鍵CK(1)を生成する(ステップS171)。その後、半導体装置ICa(300)は他の半導体装置ICb〜ICy(第3の半導体装置)と共通鍵CK(1)を用いて通信を開始する(ステップS172)。
半導体装置310は、半導体装置300の訂正データ生成部304に半導体装置310のユニークコードUC(z)を送付する(ステップS173)。半導体装置300の共通鍵生成部303は、ユニークコード生成部301から出力されたユニークコードUC(a)と、記憶部302に格納されている訂正データCD(2)とを用いて共通鍵CK(2)を生成する(ステップS174)。その後、半導体装置300の訂正データ生成部304は、半導体装置310のユニークコードUC(z)と、共通鍵CK(2)とを用いて訂正データCD(z)を生成する(ステップS175)。訂正データ生成部304が訂正データCD(z)を生成するには、ユニークコードUC(z)を複数回取得する必要がある。よって、ユニークコードUC(z)を複数回取得するためにステップS173を繰り返す。
生成された訂正データCD(z)は半導体装置310の共通鍵生成部313に送付される(ステップS176)。半導体装置310の共通鍵生成部313は、ユニークコード生成部311から出力されたユニークコードUC(z)と、訂正データ生成部304から出力された訂正データCD(z)とを用いて共通鍵CK(2)を生成する(ステップS177)。上記処理により、半導体装置300と半導体装置310は共に共通鍵CK(2)を保持することができる。よって、新たに追加された半導体装置310は、半導体装置300と共通鍵CK(2)を用いて暗号通信することが可能となる(ステップS178)。一方、半導体装置300と半導体装置ICb〜ICyは共通鍵CK(1)を用いて通信している。
図32は、本実施の形態にかかる暗号通信システムの構成の一例を示すブロック図である。図32に示すように、半導体装置ICaと半導体装置ICb、ICcは共通鍵CK(1)を用いて通信をしており、セキュアなネットワークを構成している。また、新たに追加された半導体装置ICzは、半導体装置ICaと共通鍵CK(2)を用いて通信する。よって、半導体装置ICaがルータとしての機能を備えることで、新たに追加された半導体装置ICzは、半導体装置ICb、ICcと半導体装置ICaを介して暗号通信することができる。
このように、本実施の形態にかかる暗号通信システムでは、半導体装置300が備える訂正データ生成部304において、半導体装置310に固有のユニークコードUC(z)と、共通鍵CK(2)とを用いて訂正データCD(z)を生成し、半導体装置310の共通鍵生成部313において、この訂正データCD(z)と半導体装置310のユニークコード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)が第三者に漏洩することを防ぐために、訂正データCD(1)、CD(2)が格納される半導体装置300にセキュアマイコンを使用してもよい。
また、半導体装置300から半導体装置310に送付される訂正データCD(z)は、ユニークコードUC(z)と共通鍵CK(2)とに関連するデータであるため、比較的セキュリティレベルの高い情報である。よって、訂正データCD(z)を半導体装置300から半導体装置310に送付する際は、公開鍵暗号方式を用いて訂正データCD(z)を暗号化して送付してもよい。
以上で説明したように、本実施の形態にかかる発明により、セキュアな通信を実施している暗号通信システムに、半導体装置を容易に追加することができる暗号通信システムおよび暗号通信方法を提供することができる。
<実施の形態13>
次に、本発明の実施の形態13について説明する。図33は実施の形態8乃至12にかかる暗号通信システムを車載用半導体装置に適用した場合を示すブロック図である。図33に示すように、車両360にはゲートウェイ部350、故障診断ユニット351、エンジン制御ユニット352、ブレーキ制御ユニット353、ランプ制御ユニット354、ドアロック制御ユニット355、鍵挿入制御ユニット356が設けられている。
ゲートウェイ部350は、各ユニット351〜356で構成されるネットワークを中継するための機器である。ゲートウェイ部350にはセキュアマイコンICaが設けられている。故障診断ユニット351は、車両360を構成する部品が故障しているか診断するユニットである。故障診断ユニット351には半導体装置ICbが設けられている。エンジン制御ユニット352は、エンジン動作における電気的な制御(燃料供給、点火タイミングの調整等)を総合的に行うためのユニットである。エンジン制御ユニット352には半導体装置ICcが設けられている。ブレーキ制御ユニット353は、ABS(Antilock Brake System)などブレーキを制御するためのユニットである。ブレーキ制御ユニット353には半導体装置ICdが設けられている。ランプ制御ユニット354は、車両のヘッドライトやウインカー等を制御するためのユニットである。ランプ制御ユニット354には半導体装置ICeが設けられている。
ドアロック制御ユニット355は、ドアのロックを制御するためのユニットである。ドアロック制御ユニット355には半導体装置ICfと、鍵357と無線通信するための通信部が設けられている。鍵挿入制御ユニット356は、挿入された鍵が正規のユーザの鍵であるかを判断するためのユニットである。鍵挿入制御ユニット356には、半導体装置ICgと、鍵357と無線通信するための通信部が設けられている。鍵357には半導体装置IChと、通信部が設けられている。各ユニット351〜356、および鍵357に設けられている半導体装置ICb〜IChには、例えば汎用マイコンを用いることができる。
故障診断ユニット351、エンジン制御ユニット352、ブレーキ制御ユニット353、ランプ制御ユニット354、ドアロック制御ユニット355、および鍵挿入制御ユニット356はそれぞれゲートウェイ部350と接続されており、各ユニット351〜356はゲートウェイ部350を介して互いに通信可能に構成されている。このとき、各ユニット351〜356とゲートウェイ部350との間の通信に用いる共通鍵は、ユニット毎に異なるようにしてもよい。例えば故障診断ユニット351とゲートウェイ部350との通信に共通鍵Aを用い、エンジン制御ユニット352とゲートウェイ部350との通信に共通鍵Bを用いるように構成してもよい。
ゲートウェイ部(ICa)350および各ユニット(ICb〜ICg)351〜356は、セキュアなネットワークを構成している。このようなセキュアなネットワークに、半導体装置ICzを含むカーナビゲーションシステム358を新たに追加する際に、実施の形態8乃至12で説明した方法を用いることで、カーナビゲーションシステム(ICz)358をセキュアなネットワークに容易かつ低コストに追加することができる。
図33に示した例では、各ユニット351〜356およびカーナビゲーションシステム358がゲートウェイ部350を介して通信している構成を示した。しかし、各ユニット351〜356およびカーナビゲーションシステム358が互いに同一の共通鍵を用いて通信するように構成してもよい。この場合は、例えば各ユニット351〜356およびカーナビゲーションシステム358が共通バスを介して互いに接続されるように構成する。また、図33に示したユニット以外の様々なユニット間の通信にも適用可能である。
なお、本実施の形態では、実施の形態1〜6、8〜12にかかる暗号通信システムを車載用半導体装置に適用した場合について説明した。しかし、実施の形態1〜6、8〜12にかかる暗号通信システムは車載用半導体装置以外にも、一般的なLAN、スマートメータ、スマートグリッド、非接触ICカードなどに適用することができる。このとき、暗号通信システムを構成する半導体装置は互いに有線で通信してもよく、また互いに無線で通信するように構成してもよい。また、上記実施の形態1乃至13は適宜、互いに組み合わせることができる。
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
1 暗号通信システム
10 半導体装置
11 ユニークコード生成部
12 記憶部
13 共通鍵生成部
14 暗号部
20 半導体装置
21 ユニークコード生成部
22 記憶部
23 秘密鍵生成部
24 復号部
201 暗号通信システム
210 半導体装置
211 ユニークコード生成部
212 記憶部
213 共通鍵生成部
214 訂正データ生成部
220 半導体装置
221 ユニークコード生成部
222 記憶部
223 共通鍵生成部

Claims (57)

  1. 第1の半導体装置と第2の半導体装置とを備える暗号通信システムであって、
    前記第1の半導体装置は、
    前記第1の半導体装置に固有の値であってランダムなエラーを含む第1のユニークコードと、当該第1のユニークコードを訂正する第1の訂正データとを用いて共通鍵を生成する共通鍵生成部と、
    前記共通鍵生成部で生成された前記共通鍵を前記第2の半導体装置の公開鍵を用いて暗号化する暗号部と、を備え、
    前記第2の半導体装置は、
    前記第2の半導体装置に固有の値であってランダムなエラーを含む第2のユニークコードと、当該第2のユニークコードを訂正する第2の訂正データとを用いて前記第2の半導体装置の秘密鍵を生成する秘密鍵生成部と、
    前記暗号部で暗号化された共通鍵を前記秘密鍵を用いて復号する復号部と、を備える、
    暗号通信システム。
  2. 前記第1の半導体装置および前記第2の半導体装置は前記共通鍵を用いて通信する、請求項1に記載の暗号通信システム。
  3. 前記第1の訂正データは、
    前記第1のユニークコードのビットのうちエラー率の高いビットをマスクするためのマスクデータと、
    前記第1のユニークコードのビットのうちエラー率の低いビットを訂正するためのエラー訂正コードと、を含む、
    請求項1または2に記載の暗号通信システム。
  4. 前記第1の訂正データは、更に、前記マスクデータおよび前記エラー訂正コードを用いてエラー訂正された第1のユニークコードに対して所定の演算を実施するための演算パラメータを含む、請求項3に記載の暗号通信システム。
  5. 前記共通鍵生成部は、
    前記第1のユニークコードを前記マスクデータを用いてマスクし、
    前記エラー訂正コードを用いて、前記マスクされた第1のユニークコードのエラーを訂正し、
    前記演算パラメータを用いて、前記マスクデータおよび前記エラー訂正コードを用いてエラー訂正された第1のユニークコードに対して演算を実施する、
    請求項4に記載の暗号通信システム。
  6. 前記第1および第2の半導体装置はセキュアマイコンを用いて構成されている、請求項1乃至5のいずれか一項に記載の暗号通信システム。
  7. 前記第1および第2の半導体装置は汎用マイコンを用いて構成されている、請求項1乃至5のいずれか一項に記載の暗号通信システム。
  8. 前記第1および第2の半導体装置は車載用のマイコンである、請求項1乃至7のいずれか一項に記載の暗号通信システム。
  9. 前記第1および第2の半導体装置の一方は故障診断ユニットである、請求項8に記載の暗号通信システム。
  10. 前記第1および第2の半導体装置の一方はカーナビゲーションシステムである、請求項8に記載の暗号通信システム。
  11. 第1の半導体装置と第2の半導体装置とを備える暗号通信システムであって、
    前記第1の半導体装置は、
    前記第1の半導体装置に固有の値であってランダムなエラーを含む第1のユニークコードと、当該第1のユニークコードを訂正する第1の訂正データとを用いて前記第1の半導体装置の秘密鍵を生成する秘密鍵生成部と、
    前記秘密鍵と平文とを用いて署名データを生成する署名データ生成部と、を備え、
    前記第2の半導体装置は、前記署名データと前記第1の半導体装置の公開鍵とを用いて検証用データを生成し、当該検証用データと前記平文とを比較する検証部を備える、
    暗号通信システム。
  12. 前記第2の半導体装置は、前記第2の半導体装置に固有の値であってランダムなエラーを含む第2のユニークコードと、当該第2のユニークコードを訂正する第2の訂正データとを用いて前記第1の半導体装置の公開鍵を生成する公開鍵生成部を備える、請求項11に記載の暗号通信システム。
  13. 前記第1の訂正データは、
    前記第1のユニークコードのビットのうちエラー率の高いビットをマスクするためのマスクデータと、
    前記第1のユニークコードのビットのうちエラー率の低いビットを訂正するためのエラー訂正コードと、を含む、
    請求項11または12に記載の暗号通信システム。
  14. 前記第1の訂正データは、更に、前記マスクデータおよび前記エラー訂正コードを用いてエラー訂正された第1のユニークコードに対して所定の演算を実施するための演算パラメータを含む、請求項13に記載の暗号通信システム。
  15. 前記秘密鍵生成部は、
    前記第1のユニークコードを前記マスクデータを用いてマスクし、
    前記エラー訂正コードを用いて、前記マスクされた第1のユニークコードのエラーを訂正し、
    前記演算パラメータを用いて、前記マスクデータおよび前記エラー訂正コードを用いてエラー訂正された第1のユニークコードに対して演算を実施する、
    請求項14に記載の暗号通信システム。
  16. 前記第1および第2の半導体装置はセキュアマイコンを用いて構成されている、請求項11乃至15のいずれか一項に記載の暗号通信システム。
  17. 前記第1および第2の半導体装置は汎用マイコンを用いて構成されている、請求項11乃至15のいずれか一項に記載の暗号通信システム。
  18. 前記第1および第2の半導体装置は車載用のマイコンである、請求項11乃至17のいずれか一項に記載の暗号通信システム。
  19. 前記第1および第2の半導体装置の一方は故障診断ユニットである、請求項18に記載の暗号通信システム。
  20. 前記第1および第2の半導体装置の一方はカーナビゲーションシステムである、請求項18に記載の暗号通信システム。
  21. 第1乃至第3の半導体装置を備える暗号通信システムであって、
    前記第3の半導体装置は、第1のユニークコードを訂正する第1の訂正データを前記第1の半導体装置に、第2のユニークコードを訂正する第2の訂正データを前記第2の半導体装置にそれぞれ供給可能に構成され、
    前記第1の半導体装置は、当該第1の半導体装置に固有の値であってランダムなエラーを含む第1のユニークコードと前記第3の半導体装置から供給された前記第1の訂正データとを用いて共通鍵を生成する第1の共通鍵生成部を備え、
    前記第2の半導体装置は、当該第2の半導体装置に固有の値であってランダムなエラーを含む第2のユニークコードと前記第3の半導体装置から供給された前記第2の訂正データとを用いて共通鍵を生成する第2の共通鍵生成部を備える、
    暗号通信システム。
  22. 前記第3の半導体装置は、各々の半導体装置と、当該各々の半導体装置で生成される各々の共通鍵とに対応づけられた訂正データを格納したデータベースを備える、
    請求項21に記載の暗号通信システム。
  23. 前記第3の半導体装置は、前記第1の半導体装置に固有の値であってランダムなエラーを含む第1のユニークコードと共通鍵とを用いて前記第1の訂正データを生成し、前記第2の半導体装置に固有の値であってランダムなエラーを含む第2のユニークコードと前記共通鍵とを用いて前記第2の訂正データを生成する訂正データ生成部を備える、
    請求項21に記載の暗号通信システム。
  24. 前記第3の半導体装置は、前記第1の半導体装置に固有の値であってランダムなエラーを含む第1のユニークコードと第1の共通鍵とを用いて第1の訂正データを生成し、前記第2の半導体装置に固有の値であってランダムなエラーを含む第2のユニークコードと第2の共通鍵とを用いて第2の訂正データを生成する訂正データ生成部を備え
    前記第1の半導体装置が備える前記第1の共通鍵生成部は前記第1の共通鍵を生成し、
    前記第2の半導体装置が備える前記第2の共通鍵生成部は前記第2の共通鍵を生成し、
    前記第1の半導体装置および前記第3の半導体装置は前記第1の共通鍵を用いて通信し、前記第2の半導体装置および前記第3の半導体装置は前記第2の共通鍵を用いて通信する、
    請求項21に記載の暗号通信システム。
  25. 前記第1の訂正データは暗号化された状態で前記第1の半導体装置に供給され、前記第2の訂正データは暗号化された状態で前記第2の半導体装置に供給される、
    請求項21乃至24のいずれか一項に記載の暗号通信システム。
  26. 前記訂正データ生成部は、
    前記第1のユニークコードを複数回取得し、
    前記取得した第1のユニークコードのビットのうちエラー率の高いビットをマスクするためのマスクデータを生成し、
    前記取得した第1のユニークコードのビットのうちエラー率の低いビットを訂正するためのエラー訂正コードを生成する、
    請求項23または24に記載の暗号通信システム。
  27. 前記訂正データ生成部は更に、前記マスクデータおよび前記エラー訂正コードを用いてエラー訂正された第1のユニークコードと前記共通鍵とを用いて演算パラメータを生成する、請求項26に記載の暗号通信システム。
  28. 前記第3の半導体装置はセキュアマイコンを用いて構成され、
    前記第1および第2の半導体装置は汎用マイコンを用いて構成されている、
    請求項21乃至27のいずれか一項に記載の暗号通信システム。
  29. 前記第1乃至第3の半導体装置は車載用のマイコンである、請求項21乃至28のいずれか一項に記載の暗号通信システム。
  30. 前記第1および第2の半導体装置は車載用のマイコンであり、前記第3の半導体装置はゲートウェイ部であり、前記第1および第2の半導体装置は前記ゲートウェイ部を介して通信する、請求項24に記載の暗号通信システム。
  31. 前記第1および第2の半導体装置の一方は故障診断ユニットである、請求項29または30に記載の暗号通信システム。
  32. 前記第1および第2の半導体装置の一方はカーナビゲーションシステムである、請求項29または30に記載の暗号通信システム。
  33. 第1の半導体装置と第2の半導体装置とを用いた暗号通信方法であって、
    前記第1の半導体装置において、
    前記第1の半導体装置に固有の値であってランダムなエラーを含む第1のユニークコードと、当該第1のユニークコードを訂正する第1の訂正データとを用いて共通鍵を生成し、
    前記生成された共通鍵を前記第2の半導体装置の公開鍵を用いて暗号化し、
    前記第2の半導体装置において、
    前記第2の半導体装置に固有の値であってランダムなエラーを含む第2のユニークコードと、当該第2のユニークコードを訂正する第2の訂正データとを用いて前記第2の半導体装置の秘密鍵を生成し、
    前記暗号化された共通鍵を前記秘密鍵を用いて復号する、
    暗号通信方法。
  34. 第1の半導体装置と第2の半導体装置とを用いた暗号通信方法であって、
    前記第1の半導体装置において、
    前記第1の半導体装置に固有の値であってランダムなエラーを含む第1のユニークコードと、当該第1のユニークコードを訂正する第1の訂正データとを用いて前記第1の半導体装置の秘密鍵を生成し、
    前記秘密鍵と平文とを用いて署名データを生成し、
    前記第2の半導体装置において、前記署名データと前記第1の半導体装置の公開鍵とを用いて検証用データを生成し、当該検証用データと前記平文とを比較する、
    暗号通信方法。
  35. 第1乃至第3の半導体装置を用いた暗号通信方法であって、
    前記第3の半導体装置から前記第1の半導体装置に第1のユニークコードを訂正する第1の訂正データを送付し、
    前記第1の半導体装置において、当該第1の半導体装置に固有の値であってランダムなエラーを含む第1のユニークコードと前記第3の半導体装置から供給された前記第1の訂正データとを用いて共通鍵を生成し、
    前記第3の半導体装置から前記第2の半導体装置に第2のユニークコードを訂正する第1の訂正データを送付し、
    前記第2の半導体装置において、当該第2の半導体装置に固有の値であってランダムなエラーを含む第2のユニークコードと前記第3の半導体装置から供給された前記第2の訂正データとを用いて共通鍵を生成する、
    暗号通信方法。
  36. 第1の半導体装置と第2の半導体装置とを備える暗号通信システムであって、
    前記第1の半導体装置は、
    前記第1の半導体装置に固有の値であってランダムなエラーを含む第1のユニークコードと、当該第1のユニークコードを訂正する第1の訂正データとを用いて第1の共通鍵を生成する第1の共通鍵生成部と、
    前記第1の共通鍵生成部で生成された第1の共通鍵と、前記第2の半導体装置に固有の値であってランダムなエラーを含む第2のユニークコードとを用いて、当該第2のユニークコードを訂正する第2の訂正データを生成する訂正データ生成部と、を備え、
    前記第2の半導体装置は、前記第2のユニークコードと前記第2の訂正データとを用いて第1の共通鍵を生成する第2の共通鍵生成部を備える、
    暗号通信システム。
  37. 前記第2の半導体装置は、前記第2のユニークコードを前記第1の半導体装置の公開鍵を用いて暗号化する暗号部を更に有し、
    前記第1の半導体装置は、前記暗号部で暗号化された第2のユニークコードを前記第1の半導体装置の秘密鍵を用いて復号する復号部を更に有する、
    請求項36に記載の暗号通信システム。
  38. 前記暗号通信システムは更に、各々の半導体装置と、当該各々の半導体装置の公開鍵とを対応づけて格納したデータベースを備えるサーバを有し、
    前記第2の半導体装置は、当該第2の半導体装置の秘密鍵と平文とを用いて署名データを生成し、
    前記第1の半導体装置は、前記第2の半導体装置の署名データと、前記サーバから送付された前記第2の半導体装置の公開鍵とを用いて検証用データを生成し、当該検証用データと前記平文とを比較する検証部を更に備える、
    請求項36または37に記載の暗号通信システム。
  39. 前記第2の半導体装置が備える暗号部は更に、前記第1の共通鍵生成部で生成された第1の共通鍵と前記第2のユニークコードとを用いて第2の訂正データを生成するための訂正データ生成プログラムを前記第1の半導体装置の公開鍵を用いて暗号化し、
    前記第1の半導体装置が備える復号部は更に、前記暗号化された訂正データ生成プログラムを前記第1の半導体装置の秘密鍵を用いて復号し、
    前記第1の半導体装置は、前記復号された訂正データ生成プログラムを実行して、前記第1の共通鍵と前記第2のユニークコードとを用いて前記第2の訂正データを生成する、
    請求項37に記載の暗号通信システム。
  40. 前記第1の半導体装置および前記第2の半導体装置は前記第1の共通鍵を用いて通信する、請求項36乃至39のいずれか一項に記載の暗号通信システム。
  41. 前記第1の共通鍵生成部は更に、前記第1の半導体装置に固有の第1のユニークコードと第3の訂正データとを用いて第2の共通鍵を生成し、
    前記第1の半導体装置は前記第2の共通鍵を用いて第3の半導体装置と通信すると共に、前記第2の半導体装置は前記第1の半導体装置を介して前記第3の半導体装置と通信する、請求項40に記載の暗号通信システム。
  42. 前記第1の訂正データは、
    前記第1のユニークコードのビットのうちエラー率の高いビットをマスクするための第1のマスクデータと、
    前記第1のユニークコードのビットのうちエラー率の低いビットを訂正するための第1のエラー訂正コードと、を含む、
    請求項36乃至41のいずれか一項に記載の暗号通信システム。
  43. 前記第1の訂正データは、更に、前記第1のマスクデータおよび前記第1のエラー訂正コードを用いてエラー訂正された第1のユニークコードに対して所定の演算を実施するための第1の演算パラメータを含む、請求項42に記載の暗号通信システム。
  44. 前記第1の共通鍵生成部は、
    前記第1のマスクデータを用いて前記第1のユニークコードをマスクし、
    前記第1のエラー訂正コードを用いて、前記マスクされた第1のユニークコードのエラーを訂正し、
    前記第1の演算パラメータを用いて、前記第1のマスクデータおよび前記第1のエラー訂正コードを用いてエラー訂正された第1のユニークコードに対して演算を実施する、
    請求項43に記載の暗号通信システム。
  45. 前記第2の訂正データは暗号化された状態で前記第1の半導体装置から前記第2の半導体装置に送付される、請求項36乃至44のいずれか一項に記載の暗号通信システム。
  46. 前記訂正データ生成部は、
    前記第2のユニークコードを複数回取得し、
    前記取得した第2のユニークコードのビットのうちエラー率の高いビットをマスクするための第2のマスクデータを生成し、
    前記取得した第2のユニークコードのビットのうちエラー率の低いビットを訂正するための第2のエラー訂正コードを生成し、
    前記第2のマスクデータおよび前記第2のエラー訂正コードを用いてエラー訂正された第2のユニークコードと前記第1の共通鍵とを用いて第2の演算パラメータを生成する、
    請求項36乃至45のいずれか一項に記載の暗号通信システム。
  47. 前記訂正データを生成する処理は、複数の半導体装置において分散して実施される、請求項46に記載の暗号通信システム。
  48. 前記第1の半導体装置はセキュアマイコンを用いて構成されている、請求項36乃至47のいずれか一項に記載の暗号通信システム。
  49. 前記第1および第2の半導体装置は汎用マイコンを用いて構成されている、請求項36乃至47のいずれか一項に記載の暗号通信システム。
  50. 前記第1および第2の半導体装置は車載用のマイコンである、請求項36乃至49のいずれか一項に記載の暗号通信システム。
  51. 前記第1の半導体装置は車内ネットワークを構成している車載用のマイコンであり、
    前記第2の半導体装置はカーナビゲーションシステムである、請求項36乃至49のいずれか一項に記載の暗号通信システム。
  52. 第1の半導体装置と第2の半導体装置とを用いた暗号通信方法であって、
    前記第1の半導体装置において、
    前記第1の半導体装置に固有の値であってランダムなエラーを含む第1のユニークコードと、当該第1のユニークコードを訂正する第1の訂正データとを用いて第1の共通鍵を生成し、
    前記生成された第1の共通鍵と、前記第2の半導体装置に固有の値であってランダムなエラーを含む第2のユニークコードとを用いて、当該第2のユニークコードを訂正する第2の訂正データを生成し、
    前記第2の半導体装置において、前記第2のユニークコードと前記第2の訂正データとを用いて第1の共通鍵を生成する、
    暗号通信方法。
  53. 前記第2の半導体装置において、前記第2のユニークコードを前記第1の半導体装置の公開鍵を用いて暗号化し、
    前記第1の半導体装置において、前記暗号化された第2のユニークコードを前記第1の半導体装置の秘密鍵を用いて復号する、
    請求項52に記載の暗号通信方法。
  54. 前記第2の半導体装置において、当該第2の半導体装置の秘密鍵と平文とを用いて署名データを生成し、
    前記第1の半導体装置において、各々の半導体装置と、当該各々の半導体装置の公開鍵とを対応づけて格納したデータベースを備えるサーバから送付された前記第2の半導体装置の公開鍵と、前記第2の半導体装置の署名データと、を用いて検証用データを生成し、当該検証用データと前記平文とを比較する、
    請求項52または53に記載の暗号通信方法。
  55. 前記第2の半導体装置において、前記第1の共通鍵と前記第2のユニークコードとを用いて前記第2の訂正データを生成するための訂正データ生成プログラムを、前記第1の半導体装置の公開鍵を用いて暗号化し、
    前記第1の半導体装置において、
    前記暗号化された訂正データ生成プログラムを復号し、
    前記復号された訂正データ生成プログラムを実行して、前記第1の共通鍵と前記第2のユニークコードとを用いて前記第2の訂正データを生成する、
    請求項53に記載の暗号通信方法。
  56. 前記第1の半導体装置および前記第2の半導体装置は前記第1の共通鍵を用いて通信する、請求項52乃至55のいずれか一項に記載の暗号通信方法。
  57. 前記第1の半導体装置において、当該第1の半導体装置に固有の第1のユニークコードと第3の訂正データとを用いて第2の共通鍵を生成し、
    前記第1の半導体装置は前記第2の共通鍵を用いて第3の半導体装置と通信し、前記第2の半導体装置は前記第1の半導体装置を介して前記第3の半導体装置と通信する、請求項56に記載の暗号通信方法。
JP2012076387A 2011-06-20 2012-03-29 暗号通信システムおよび暗号通信方法 Pending JP2013031151A (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2012076387A JP2013031151A (ja) 2011-06-20 2012-03-29 暗号通信システムおよび暗号通信方法
EP12171635.1A EP2544400B1 (en) 2011-06-20 2012-06-12 PUF based Cryptographic communication system and cryptographic communication method
US13/495,064 US9363082B2 (en) 2011-06-20 2012-06-13 Cryptographic communication system and cryptographic communication method
CN201210211008.3A CN102843231B (zh) 2011-06-20 2012-06-20 密码通信系统和密码通信方法
KR1020120066370A KR20120140224A (ko) 2011-06-20 2012-06-20 암호화 통신 시스템 및 암호화 통신 방법
US14/613,661 US9608818B2 (en) 2011-06-20 2015-02-04 Cryptographic communication system and cryptographic communication method
US15/432,627 US10469256B2 (en) 2011-06-20 2017-02-14 Cryptographic communication system and cryptographic communication method

Applications Claiming Priority (5)

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

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015157963A Division JP6014214B2 (ja) 2011-06-20 2015-08-10 暗号通信システムおよび暗号通信方法

Publications (1)

Publication Number Publication Date
JP2013031151A true JP2013031151A (ja) 2013-02-07

Family

ID=46614288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012076387A Pending JP2013031151A (ja) 2011-06-20 2012-03-29 暗号通信システムおよび暗号通信方法

Country Status (5)

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

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016134671A (ja) * 2015-01-16 2016-07-25 株式会社東芝 データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム
JP2017507549A (ja) * 2013-12-30 2017-03-16 バスコ データ セキュリティー インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング ブルートゥースインタフェースを備える認証装置
EP3336828A1 (en) 2016-12-13 2018-06-20 Renesas Electronics Corporation Communication apparatus and cryptographic processing system
US10447487B2 (en) 2014-08-25 2019-10-15 Kabushiki Kaisha Toshiba Data generating device, communication device, mobile object, data generating method, and computer program product
JP7001454B2 (ja) 2017-12-18 2022-01-19 日本化薬株式会社 ホスアプレピタントを含有する医薬製剤

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150071434A1 (en) * 2011-06-07 2015-03-12 Static Control Components, Inc. Secure 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
US8975748B1 (en) 2011-06-07 2015-03-10 Secure Silicon Layer, Inc. 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
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 (주) 아이씨티케이 인증 장치 및 방법
US10958451B2 (en) 2014-04-09 2021-03-23 Ictk Holdings Co., Ltd. Authentication apparatus and method
JP2017511095A (ja) * 2014-04-09 2017-04-13 アイシーティーケー カンパニー リミテッド 認証装置及び方法
US10432409B2 (en) 2014-05-05 2019-10-01 Analog Devices, Inc. Authentication system and device including physical unclonable function and threshold cryptography
US9946858B2 (en) 2014-05-05 2018-04-17 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
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
JP6103169B1 (ja) * 2015-11-05 2017-03-29 三菱電機株式会社 セキュリティ装置、及びセキュリティ方法
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株式会社 再利用システム、サーバ装置、再利用方法、及びコンピュータプログラム
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 国立大学法人東海国立大学機構 車載認証システム、車載認証装置、コンピュータプログラム及び通信装置の認証方法
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
JP2023531044A (ja) * 2020-06-24 2023-07-20 華為技術有限公司 車両制御装置、車両統合型/統合ユニット、および車両
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
US11438158B2 (en) 2021-01-05 2022-09-06 Toyota Motor North America, Inc. Provisioning of external functionality to transports
US11503114B2 (en) 2021-01-05 2022-11-15 Toyota Motor North America, Inc. Provisioning of event-based keys to transports
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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0621939A (ja) * 1990-12-10 1994-01-28 Nippon Telegr & Teleph Corp <Ntt> 利用者認証方式
JP2003273863A (ja) * 2002-03-14 2003-09-26 Fuji Electric Co Ltd データ受配信システムおよび方法
US20060209584A1 (en) * 2004-11-12 2006-09-21 Srinivas Devadas Securely field configurable device
JP2010527219A (ja) * 2007-05-11 2010-08-05 ヴァリディティー センサーズ,インク. 物理的に複製不可能な機能を用いて電子機器のセキュリティを電子的に確保する方法およびシステム
JP2010226603A (ja) * 2009-03-25 2010-10-07 Sony Corp 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
WO2010134192A1 (ja) * 2009-05-22 2010-11-25 三菱電機株式会社 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法
EP2326043A1 (en) * 2009-11-18 2011-05-25 Irdeto Access B.V. Preventing cloning of receivers of encrypted messages

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 インターナショナル・ビジネス・マシーンズ・コーポレーション アドホック無線通信用データ送受システム及びアドホック無線通信用データ送受方法
KR100908954B1 (ko) * 2000-12-15 2009-07-22 브리티쉬 텔리커뮤니케이션즈 파블릭 리미티드 캄퍼니 오디오 또는 비디오 자료의 전송방법 및 장치
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
WO2004034694A2 (en) * 2002-10-10 2004-04-22 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 セイコーエプソン株式会社 セキュリティ出力装置、セキュリティ出力システム、出力装置制御プログラムおよび記憶媒体、並びにセキュリティ出力方法
JP2006155045A (ja) * 2004-11-26 2006-06-15 Sony Corp 電子価値情報伝送システム及び電子価値情報伝送方法
AU2006208241B2 (en) * 2005-01-25 2011-08-04 Five Prime Therapeutics, Inc. Compositions 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
WO2007012814A2 (en) * 2005-07-27 2007-02-01 Ingenia Technology Limited Signature for access tokens
JP5093513B2 (ja) * 2006-05-29 2012-12-12 日本電気株式会社 不正者失効システム、暗号化装置、暗号化方法およびプログラム
JP2008059304A (ja) * 2006-08-31 2008-03-13 Sony Corp 通信装置および方法、並びにプログラム
US7945840B2 (en) * 2007-02-12 2011-05-17 Micron Technology, Inc. Memory array error correction apparatus, systems, and methods
WO2008127698A2 (en) * 2007-04-12 2008-10-23 Rambus Inc. Memory system with point-to-point request interconnect
JP2009010623A (ja) * 2007-06-27 2009-01-15 Rohm Co Ltd 発振回路およびパルス信号の生成方法
JP5119869B2 (ja) * 2007-11-08 2013-01-16 株式会社デンソー 車載ハンズフリー装置
JP5554066B2 (ja) * 2007-12-27 2014-07-23 株式会社Into 情報流通システム、情報端末及びプログラム
JP2010134192A (ja) * 2008-12-04 2010-06-17 Nikon Corp 傾斜ステージとこれを有する顕微鏡
US8452482B2 (en) * 2009-12-10 2013-05-28 GM Global Technology Operations LLC Self testing systems and methods
CN101741565A (zh) * 2009-12-18 2010-06-16 北京握奇数据系统有限公司 一种ic卡应用数据传输的方法及系统
JP2011136131A (ja) 2010-01-04 2011-07-14 Nec Corp トレーニング内容検出装置およびウエイトトレーニング器具
JP5624328B2 (ja) 2010-01-04 2014-11-12 株式会社東芝 医用画像診断装置および画像処理装置
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
JP2013031151A (ja) * 2011-06-20 2013-02-07 Renesas Electronics Corp 暗号通信システムおよび暗号通信方法
JP5770026B2 (ja) * 2011-06-20 2015-08-26 ルネサスエレクトロニクス株式会社 半導体装置
JP5839659B2 (ja) * 2011-06-20 2016-01-06 ルネサスエレクトロニクス株式会社 半導体装置
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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0621939A (ja) * 1990-12-10 1994-01-28 Nippon Telegr & Teleph Corp <Ntt> 利用者認証方式
JP2003273863A (ja) * 2002-03-14 2003-09-26 Fuji Electric Co Ltd データ受配信システムおよび方法
US20060209584A1 (en) * 2004-11-12 2006-09-21 Srinivas Devadas Securely field configurable device
JP2010527219A (ja) * 2007-05-11 2010-08-05 ヴァリディティー センサーズ,インク. 物理的に複製不可能な機能を用いて電子機器のセキュリティを電子的に確保する方法およびシステム
JP2010226603A (ja) * 2009-03-25 2010-10-07 Sony Corp 集積回路、暗号通信装置、暗号通信システム、情報処理方法、及び暗号通信方法
WO2010134192A1 (ja) * 2009-05-22 2010-11-25 三菱電機株式会社 電子機器及び鍵生成プログラム及び記録媒体及び鍵生成方法
EP2326043A1 (en) * 2009-11-18 2011-05-25 Irdeto Access B.V. Preventing cloning of receivers of encrypted messages

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017507549A (ja) * 2013-12-30 2017-03-16 バスコ データ セキュリティー インターナショナル ゲゼルシャフト ミット ベシュレンクテル ハフツング ブルートゥースインタフェースを備える認証装置
US10447487B2 (en) 2014-08-25 2019-10-15 Kabushiki Kaisha Toshiba Data generating device, communication device, mobile object, data generating method, and computer program product
JP2016134671A (ja) * 2015-01-16 2016-07-25 株式会社東芝 データ生成装置、通信装置、通信システム、移動体、データ生成方法およびプログラム
EP3336828A1 (en) 2016-12-13 2018-06-20 Renesas Electronics Corporation Communication apparatus and cryptographic processing system
US11012230B2 (en) 2016-12-13 2021-05-18 Renesas Electronics Corporation Communication apparatus and cryptographic processing system
JP7001454B2 (ja) 2017-12-18 2022-01-19 日本化薬株式会社 ホスアプレピタントを含有する医薬製剤

Also Published As

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

Similar Documents

Publication Publication Date Title
JP2013031151A (ja) 暗号通信システムおよび暗号通信方法
CN107004380B (zh) 包括物理不可克隆功能的加密设备
JP5770026B2 (ja) 半導体装置
Alladi et al. A lightweight authentication and attestation scheme for in-transit vehicles in IoV scenario
JP4638912B2 (ja) ディストリビューションcdを使用した、署名されたグループにおけるダイレクトプルーフの秘密鍵を装置に伝達する方法
CN110401615B (zh) 一种身份认证方法、装置、设备、系统及可读存储介质
US20160006570A1 (en) Generating a key derived from a cryptographic key using a physically unclonable function
US20130051552A1 (en) Device and method for obtaining a cryptographic key
Prada-Delgado et al. Trustworthy firmware update for Internet-of-Thing Devices using physical unclonable functions
WO2017194335A2 (en) Programming device arranged to obtain and store a random bit string in a memory device
JP6888122B2 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
US10404718B2 (en) Method and device for transmitting software
JP6014214B2 (ja) 暗号通信システムおよび暗号通信方法
US20220209946A1 (en) Key revocation for edge devices
KR20190112959A (ko) 암호화 데이터를 이용하는 기계학습 모델 운영방법 및 기계학습 모델 기반 장치
Jin et al. Playpuf: programmable logically erasable pufs for forward and backward secure key management
KR102665929B1 (ko) 물리적으로 복제 불가능한 기능의 원격 재등록
CN116232716A (zh) 一种基于puf的物联网ota升级方法及存储介质
CN117118631A (zh) 设备标识处理方法、装置、设备及计算机可读存储介质
CN116032532A (zh) 空中下载服务的授权方法、装置、设备及计算机存储介质
KR20190052631A (ko) 물리적으로 복제 불가능한 기능의 원격 재등록
WO2016141383A1 (en) System and device for verifying the integrity of a system from its components

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140814

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150513

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150623

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151020