JP4130653B2 - 擬似公開鍵暗号方法及びシステム - Google Patents

擬似公開鍵暗号方法及びシステム Download PDF

Info

Publication number
JP4130653B2
JP4130653B2 JP2004367676A JP2004367676A JP4130653B2 JP 4130653 B2 JP4130653 B2 JP 4130653B2 JP 2004367676 A JP2004367676 A JP 2004367676A JP 2004367676 A JP2004367676 A JP 2004367676A JP 4130653 B2 JP4130653 B2 JP 4130653B2
Authority
JP
Japan
Prior art keywords
key
unit
user
message
input
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.)
Expired - Fee Related
Application number
JP2004367676A
Other languages
English (en)
Other versions
JP2006174356A (ja
Inventor
聰 古関
剛 今村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2004367676A priority Critical patent/JP4130653B2/ja
Priority to CNB2005101243158A priority patent/CN100559751C/zh
Priority to US11/338,063 priority patent/US20070189517A1/en
Publication of JP2006174356A publication Critical patent/JP2006174356A/ja
Application granted granted Critical
Publication of JP4130653B2 publication Critical patent/JP4130653B2/ja
Priority to US12/558,868 priority patent/US8139766B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Power Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Storage Device Security (AREA)
  • Small-Scale Networks (AREA)

Description

本発明は、公開鍵暗号方法およびシステムに関し、特に擬似的に公開鍵暗号系を安価に実現する方法およびシステムに関する。
今日の暗号化技術の中でも重要な公開鍵暗号方式は、暗号化、署名、認証などの用途に広く用いられている。公開鍵暗号系を実現するアルゴリズムは、一般的に、計算に必要なコストが非常に大きい。公開鍵暗号系を実現する実用的な方法の一つがRSA 暗号である。RSA では2 つの大きな素数の積であるn のオイラー関数値から得られる数(暗号化指数、復号指数)により平文または暗号文をべき乗し、n に対する剰余を求める演算が必要であり、この演算のコストは非常に高い。鍵の安全性を高めるためにはn のビット数を大きくする必要があるが、ビット数の大きいRSA 暗号では、計算にかかるコストが莫大になる。高速性を追求するために、演算を専用ハードウェアで行うなどの措置があるが、一方で、開発費、製造費、製品の柔軟性等に負荷を与えることになる。このような事情のため、公開鍵を用いた暗号系はコストが高く、安価に大量生産が行われるような装置への組み込みは難しい。
また、RSA に比べて少ないビット数で同等の強度を持つ楕円曲線暗号が知られている。しかし、暗号化に必要な演算(有限体上に定義された楕円曲線上の点のスカラー倍等)のコストはべき乗剰余と比べて低いものの、高価な演算を必要とする点は同様であり、安価に大量生産が行われるような装置への組み込みは依然として難しい。さらに、秘密鍵暗号系と耐タンパ性ハードウェアを使用し、公開鍵暗号系を実現する方法が提案されている。即ち、受信者は自身の秘密鍵を第三者機関の秘密鍵で暗号化し、公開する。送信者はそれを第三者機関の秘密鍵で復号し、得られた受信者の秘密鍵でメッセージを暗号化し、送信する。受信者はそれを自身の秘密鍵で復号する。第三者機関の秘密鍵による暗号化と、第三者機関の秘密鍵による復号および受信者の秘密鍵による暗号化は耐タンパ性ハードウェア内で行われるため、セキュリティは確保される。しかし、この方法は、送信者と受信者で異なるハードウェアを使用しなければならず、同一のハードウェアを使用するためには双方の秘密鍵を必要とする。ID を公開するという点では、ID-based cryptosystem などの、認証機関を通さずに公開鍵を配布する手法と類似点がある。この方法は、鍵生成機関がユーザに対する一意なID からそのユーザの私有鍵を生成し、誰でもユーザのID からそのユーザの公開鍵を生成できる。この方法は公開鍵の配布に関して便宜が図られているが、メッセージの暗号化・復号に関して、RSA 等における落し戸付き一方向関数の性質を利用しており、それらの処理に関するコストは一般の公開鍵暗号系と変わるところがない。
特開2004−70712
本発明の解決しようとする課題は、擬似的に公開鍵暗号系を安価に実現する方法およびシステムを提供することである。
また別の課題は、公開鍵を用いた暗号化情報伝達および署名付きの情報伝達をより安価に実現できる方法およびシステムを提供することである。
また別の課題は、署名を頻繁に行い、処理に即時性が要求されるモバイル端末などの端末上で、高いセキュリティ保持して情報処理・伝達を可能とする方法およびシステムを提供することである。
また別の課題は、高価な演算を必要とする関数を擬似的に実現する方法およびシステムを提供することである。
本発明では、秘密鍵暗号系と耐タンパ性のあるハードウェアを用い、擬似的に公開鍵暗号系を安価に実現する。公開鍵暗号系の構成に不可欠とされる落し戸付き一方向関数は一般的に「高価」な演算を必要とするが、そのような関数を耐タンパ性のあるハードウェアを用いて事実上実現する。各ユーザは、それぞれ以下のような同一な機能を持つハードウェアが装備された機器を用い通信を行う。このハードウェアは、あるID と鍵の対応付けを持っており、ユーザからの要求によりID を発効、記憶し、そのID に対応付けられた鍵で復号およびメッセージ認証子(以降MAC:Message Authentication Codeと記載する) の生成を行うことができる。また、このハードウェアでは、任意のID を用いた暗号化およびMAC の検証はできるが、復号およびMAC の生成はできない。ユーザはそのID を公開しておく。暗号化の際は、メッセージの送り手は、メッセージの受け手の公開されたID を用い、同じ機能を持つハードウェアを用いてメッセージを暗号化する。第三者は、ハードウェア内のメカニズムを分析する以外にそのID を用いて復号を行うことはできないが、そのような行為に対してハードウェアは自己を破壊する機能を持っている。
対称な関数を用いる場合、基本的に、平文をP、暗号文をC、公開鍵をK1、私有鍵をK2 としたとき、K1 からK2 を導出することは困難である。
C =F(P) = H(P, K1)
P =F-1(C) = H(C, K2)
となる関数F で、K2 を知らないものにとってはF-1 の計算が事実上不可能となれば公開鍵暗号系が構成できる。本発明では、安価な演算による秘密鍵K の関数F を用意し、F の機能を耐タンパ性のあるハードウェア内に隠蔽する。また、一方で、K = G(ID) というハードウェア内に隠蔽された1対1関数を用意し、IDは秘密鍵の識別子として、
C = F(P) = H(P, G(ID))
P = F-1(C) = H(C, G(ID))
が成り立つようにする。このとき、ID を擬似的な公開鍵として公開し、暗号化またはMACの検証を行うときは、誰もがG(ID) を計算できるようにする。また復号またはMAC の生成を行うときは、そのID の正当な所有者のみがG(ID) を計算できるようにする。これによりハードウェアにより実現された落し戸付き一方向性関数F が構築され、擬似的に公開鍵暗号系が実現される。
本願の好適な装置としては、ユーザからの要求に応じて、IDの発効、暗号化、認証を行う暗号化・認証部と、電圧変化または圧力変化を感知し、前記暗号化・認証部を電気的に破壊するタンパリング検出部を有する耐タンパ性ハードウェアを含む装置を用いる。この装置で擬似公開鍵暗号を行う。前記装置の前記暗号化・認証部としては、ユーザの要求に応じ、IDを発効し、該IDを記憶部に記憶する、ID発効・登録部と、IDに対応した鍵を1対1関数を用いて生成し出力する、鍵生成部と、ユーザの複号あるいはメッセージ認証子生成の要求に応じて、入力IDとID記憶部に記憶されたIDを比較し、一致した場合、前記鍵生成部にIDを渡し、前記鍵生成部から生成された鍵を出力する、第1鍵取得部と、ユーザの暗号化あるいはメッセージ認証子付メッセージ検証の要求に応じて、前記鍵生成部に入力IDを渡し、前記鍵生成部から生成された鍵を出力する、第2鍵取得部と、入力IDを第1鍵取得部に渡し、前記第1鍵取得部から出力された鍵を用いて、入力されたメッセージのメッセージ認証子を計算し出力する、メッセージ認証子生成部と、入力IDを第2鍵取得部に渡し、前記第2鍵取得部から出力された鍵を用いて、入力されたメッセージのメッセージ認証子を計算し、得られたメッセージ認証子と入力されたメッセージ認証子を比較し、一致した場合、検証が成功したこと表す情報をユーザに返す、メッセージ認証子検証部と、入力IDを第2鍵取得部に渡し、前記第2鍵取得部から出力された鍵を用いて、入力された平文の暗号化を行い、結果をユーザに返す、暗号化部と、入力IDを第1鍵取得部に渡し、前記第1鍵取得部から出力された鍵を用いて、入力された暗号文を復号して出力する、復号部を有している。
この装置を用いて擬似公開鍵暗号を行う方法は以下の段階を有する。前記装置A,Bを有する送信ユーザおよび受信ユーザ間でメッセージを送信するにあたり、送信ユーザID公開のため、装置Aが送信ユーザIDを選択、記憶し、送信ユーザに返す段階と、受信ユーザID公開のため、装置Bが受信ユーザIDを選択、記憶し、受信ユーザに返す段階と、装置Aが送信ユーザIDに対応する鍵を取得し、メッセージ認証子を生成し、送信ユーザに返す段階と、送信ユーザからの暗号化の要求に応じて、装置Aが受信ユーザIDに対応する鍵を取得し、メッセージとメッセージ認証子を暗号化し、送信ユーザに返す段階と、受信ユーザの暗号の復号要求に応じて、装置Bが受信ユーザIDに対応する鍵を取得し、受信メッセージを復号し、受信ユーザに返す段階と、受信ユーザのメッセージ認証子検証要求に応じて、装置Bが送信ユーザIDに対応する鍵を取得し、メッセージ認証子を検証し、その結果を受信ユーザに返す段階とを有することを特徴とする。なお上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明により、公開鍵を用いた暗号化情報伝達および署名付きの情報伝達を安く実現できる。近年ますます用途が広がっているモバイル端末上や、特に廉価で、大量に流通し、署名を頻繁に行い、処理に即時性が要求される端末上に、本発明を実現することで、そのような端末上においても、高いセキュリティ管理が必要な情報処理・伝達を可能とすることができる。
本発明のハードウェア構成図を図1に示す。システム100は暗号化・認証部101とタンパリング検出部102を内蔵した本システム全体である。暗号化・認証部101は、ユーザからの要求に応じ、IDの発効、暗号化、認証等のサービスを行う。タンパリング検出部102は、ユーザがシステム100の内部回路を解析しようとしたときに生じる電圧変化、圧力変化を感知し、暗号化・認証部101を電気的に破壊する。
図2は図1における暗号化・認証部101の詳細を表した図である。ID発効・登録部201は、ユーザの要求に応じてあるユニークなIDを発効し、これをID記憶部206に記憶させる。鍵生成部210は、入力となるID及びシード記憶部209に記憶されたシードを基に鍵を生成し出力する。第1鍵取得部207は、ユーザが複号あるいはMACの生成を行う場合に、入力となるIDとID記憶部206に記憶されたIDを比較し、これが同一であれば鍵生成部210にIDを渡し、鍵生成部210から返却された鍵を出力する。同一でない場合はエラーを返す。第2鍵取得部208は、ユーザが暗号化あるいはMAC付きメッセージの検証を行う場合に、鍵生成部210の入力となるIDを渡し、鍵生成部から返却された鍵を出力する。MAC生成部202は、メッセージとIDを入力とし、このIDを第1鍵取得部207に渡し鍵を得る。鍵取得部がエラーを返さなかった場合、この鍵を基にメッセージのMACを計算し出力する。鍵取得部がエラーを返した場合、ユーザにエラーを返す。MAC検証部204は、メッセージとMACとIDを入力とし、このIDを第2鍵取得部208に渡し鍵を得る。この鍵を基にメッセージのMACを計算し、得られたMACと入力されたMACを比較する。これらが同一の場合、検証が成功したこと表す情報をユーザに返す。そうでない場合、検証が失敗したこと表す情報をユーザに返す。暗号化部205は、平文とIDを入力とし、このIDを第2鍵取得部208に渡し鍵を得る。この鍵を基に平文の暗号化を行い、結果をユーザに返す。復号部203は、暗号文とIDを入力とし、このIDを第1鍵取得部207に渡し鍵を得る。鍵取得部がエラーを返さなかった場合、この鍵を基に暗号文を復号し、出力する。鍵取得部がエラーを返した場合、ユーザにエラーを返す。
上記の説明で理解されるように本発明のハードウェアは特定の鍵により暗号化・復号およびMAC の生成・検証を行う機能とハッキング操作に対する耐タンパ性を有している。またインターフェースとしては
・ユーザの要求により、鍵と対応付けられたID を発効・登録するインタフェース
・与えられたID により、そのID が登録されている場合に限りメッセージを復号するインタフェース
・復号されたメッセージからMAC を生成するインタフェース、
・与えられたID により、メッセージを暗号化するインタフェース
・メッセージのMAC を検証するインタフェース
を有している。
次に本発明における情報の交換方法について説明する。暗号化されたメッセージのやりとりは以下のように行われる。まず、メッセージの受信者は図1のシステム100が組み込まれた装置に、ID を発効するよう要求し、システム100はある鍵に対応付けされたID をユーザに渡し、登録する。受信者は受け取ったID を公開する。メッセージの送信者は、公開されたID を用い、同じ機能を持つシステム100が組み込まれた装置を通して、送りたいメッセージを暗号化する。受信者は、事実上、自分だけがそのメッセージを復号できる。
MAC が付加されたメッセージのやりとりは以下のように行われる。まず、メッセージの送信者はシステム100が組み込まれた装置に、ID を発効するよう要求し、システム100はある鍵に対応付けされたID をユーザに渡し、登録する。送信者は、受け取ったID を用い、同じシステム100を通して、送りたいメッセージに対してMAC を生成する。送信者は、事実上、自分だけがそのMAC を生成できる。送信者はメッセージ、MAC、ID を送る。メッセージの受信者は、受け取ったID を用い、同じ機能を持つシステム100が組み込まれた装置を通し、受け取ったメッセージに対する受け取ったMAC を検証する。
本発明の安全性をさらに高める方法について説明する。公開鍵暗号における一般的な問題ではあるが、受信者だけがメッセージを復号できる、および送信者だけがMAC を生成できるために、同一のID を他人に悪用されないことが望ましい。このために以下のような方法をとる。
・2次符号化による鍵の稀釈。
ID を発効するときに、冗長な情報を含むことでエントロピーを高めて符号化する。これにより、同一のID がユーザに渡される可能性を非常に低くできる。また、符号化アルゴリズムに個々の装置ごとにバラツキを与え、逆符号化を難しくする。これにより、悪意のある者が公開されたID と、自分のシステム100に登録されたID が同一であることを特定するのは非常に難しくなる。また、復号の不自然な失敗を不正行為とみなし、これを検出した場合に機能を停止することで、悪意のある者がID の同一性を確かめるために復号を行うことを事実上防止できる。例えば、ランダム値をパディングする方法でこの仕組みを実現する。オリジナルなIDの空間をX ビットとし、鍵を希釈するためにさらにY ビットの空間を追加する。この追加空間には、オリジナルなID を発効するとき、ランダムなY ビットの数を入れておく。そうしてできた (X + Y) ビットの情報をシャッフルして、公開すべきID とする。このシャッフルはシフトや入れ換えを組み合わせた単純なものでよいが、アルゴリズムは耐タンパ性システム100内に隠蔽しておく。こうすると、X ビットの鍵をそのまま使う場合に比べて、同一の鍵が発効される確率を2^Y の1 にできる。公開された (X + Y)ビットの鍵からX ビットのオリジナルな鍵は、やはり耐タンパ性ハードウェア内に逆演算アルゴリズムを実装し、冗長に付加された空間を取り除くことで容易に実装できる。
・ID の登録。発効されたID を認証機関が有効化する。
認証機関がID の唯一性を保証することで、ID の不正使用を防止する。
・ID 発効の制限。同一ID が発効される事態の抑止手段として、発効回数の制限、または発効に対する課金等を行う。
・一度ID が発効された機器そのものを他人が使用することを防ぐため、機器は使用のために使用者の認証を必要とするようにする。
ID-based cryptosystem と組み合わせて本発明を実現する方法を説明する。本発明のID は「個人のID」ではなく「鍵のID」として機能している。従って、一般的には、本発明はID の公開のために、他の(ID-based ではない)公開鍵暗号系と同様に認証機関を必要とする。一方、ID-based cryptosystem の目的は、本発明の目的とは直交するため、お互いを組み合わせて用いることも可能である。これは、鍵生成機関がユーザの私有鍵を生成する際に、「個人のID」が「鍵のID」となるように工夫すればよい。そのためには、例えば、鍵生成機関だけが任意のID を発効・登録できるようにする。この場合、認証機関を通さずに公開鍵を知ることができ、さらに安価に暗号化等が行えるシステムが構築できる。
システム100に十分な数の鍵を格納できる場合の実施例(各インタフェース、送受信プロトコルを含む)を図3を使用して説明する。ユーザAとユーザBが図1のシステム100(ハードウェアA、ハードウェアB)を使用し通信するとする。またシステム100には十分な数の鍵が格納され、それぞれに固有のID が付与されているとする。ハードウェアが同一であればIDと鍵のマッピングはすべて同一となる。
ユーザAはハードウェアAにID を要求する(310)。ハードウェアAはID 空間からランダムにID(以下、ID-A)を選択(320)し、ユーザAに返す。また、ID 記憶部に格納する。ユーザAはID-A を公開する。一方、ユーザBも事前にユーザAと同様の処理を行っておく。即ち、ユーザBはハードウェアBにID を要求する(310)。ハードウェアBはID 空間からランダムにID(以下、ID-B)を選択し、ユーザAに返す。また、ID 記憶部に格納する(330)。ユーザBはID-B を公開する。ユーザAがユーザBにメッセージを送信するとする。メッセージにはまずユーザAの鍵でMAC が付与され、次にユーザBの鍵で暗号化が行われるとする。MAC や暗号化のアルゴリズムについては本願の構成を何ら変更することなく任意に選ぶことができる。例えば、HMAC-SHA1 やAESをを使用してもよい。
ユーザAは次の手順で送信メッセージを作成する。ユーザAはハードウェアAにメッセージとID-A を渡し、MAC の生成を要求する。ハードウェアAはID 記憶部にID-A が格納されているか確認する(340)。ID-A が格納されている場合は、鍵記憶部からID-A に対応する鍵を取得(350)し、MAC を生成(360)し、ユーザAに返す。ID-A が格納されていない場合は、ユーザAにエラーを返す。ユーザAはハードウェアAに (メッセージ | MAC) とID-B を渡し、暗号化を要求する。ハードウェアAは鍵記憶部からID-B に対応する鍵を取得し、(メッセージ | MAC) を暗号化(370)し、ユーザAに返す。
一方、ユーザBは次の手順で受信メッセージを処理する。ユーザBはハードウェアBに受信メッセージとID-B を渡し、復号を要求する。ハードウェアBはID 記憶部にID-B が格納されているか確認する(340)。ID-B が格納されている場合は、鍵記憶部からID-B に対応する鍵を取得(350)し、受信メッセージを復号(380)し、ユーザBに返す。ID-B が格納されていない場合は、ユーザBにエラーを返す。ユーザBはハードウェアBにメッセージ、MAC、ID-A を渡し、MAC の検証を要求する。ハードウェアBは鍵記憶部からID-A に対応する鍵を取得し、MAC を検証(390)し、その結果をユーザBに返す。
実際上は十分な数の鍵を格納できるような記憶容量を仮定できないことが多い。システム100に十分な数の鍵を格納できない場合の実施例を図4を使用して説明する。システム100には1つの値(以下、シード)だけを格納し、鍵はシードとID から適宜生成するようにする。任意のハッシュアルゴリズム(例えば、SHA-1)を使用し、(ID | シード) のハッシュ値を鍵とする。このようにすると、ユーザAが送信メッセージを作成する手順は次のようになる。
ユーザA、BがIDの要求を行いハードウェアがIDを選択し記憶し、各ユーザが公開するところまでは上記実施例と同じである。ユーザAがユーザBにメッセージを送信するとする。ユーザAは送信メッセージを作成するにあたりハードウェアAにメッセージとID-A を渡し、MAC の生成を要求する。ハードウェアAはID 記憶部にID-A が格納されているか確認する(440)。ハードウェアAはID-A が格納されている場合は、シードとID-A から鍵を生成(450)し、MAC を生成(460)し、ユーザAに返す。ID-A が格納されていない場合は、ユーザAにエラーを返す。ユーザAはハードウェアAに (メッセージ | MAC) とID-B を渡し、暗号化を要求する。ハードウェアAはシードとID-B から鍵を生成し、(メッセージ | MAC) を暗号化(470)し、ユーザAに返す。
一方、ユーザBが受信メッセージを処理する手順は次のようになる。ユーザBはハードウェアBに受信メッセージとID-B を渡し、復号を要求する。ハードウェアBはID 記憶部にID-B が格納されているか確認する(440)。ID-B が格納されている場合は、シードとID-B から鍵を生成(450)し、受信メッセージを復号(480)し、ユーザBに返す。ID-B が格納されていない場合は、ユーザBにエラーを返す。ユーザBはハードウェアBにメッセージ、MAC、ID-A を渡し、MAC の検証を要求する。ハードウェアBはシードとID-A から鍵を生成し、MAC を検証(490)し、その結果をユーザBに返す。
上記2つに実施例ではID がランダムに選択される場合を示した。次に図5を使用して本発明をID-based cryptosystem に応用する例を示す。その場合、ユーザAが事前に行っておく処理は次のようになる。ユーザAはID格納機関520にハードウェアAとID-A を渡し、ハードウェアへのID の格納を要求する(510)。ID格納機関はハードウェアAにID-A を渡し、ID の格納を要求する。ハードウェアAはID-A をID 記憶部に格納する。一方、ユーザBが事前に行っておく処理も同様になる。即ち、ユーザBはID格納機関520にハードウェアBとID-B を渡し、ハードウェアへのID の格納を要求する(510)。ID格納機関はハードウェアBにID-B を渡し、ID の格納を要求する。ハードウェアBはID-B をID 記憶部に格納する。なお、ユーザAが送信メッセージを作成する手順およびユーザBが受信メッセージを処理する手順は実施例1または実施例2と同様である。
実施例3では、ID-based cryptosystem における一般的な手順を示した。これを携帯電話に適用する場合を例にとり、IDの獲得と機器の受け渡しがより効率的な手順を図6に示す。ここでは、ID格納のメカニズムは、機器のメーカーが機器へのID格納の一回性を保障した上で小売店に販売を委託し、小売店がインフラの協力を得て妥当でユニークなIDを得て機器に格納し、ユーザに渡すことで実現されている。具体的には、まず、電話番号をID とする。機器のメーカーはステップ610でID(電話番号)から鍵を得るとなる1対1関数f を1つ決める。次にステップ620で、f(ID) を耐タンパ性のある装置に内蔵する。機器のメーカーは1回書込可能(write once)な記憶領域を前記装置内に用意しておく。最後にステップ630で小売店がそこにID を書き込んで機器に登録し、f(ID) の入力となるようにしておく。ここでは、実施例1または実施例2で示したのと同様、そのID が登録された機器のみでf(ID) によるメッセージの復号、MAC の生成が可能である。一方、ID が登録されてない機器では、メッセージのf(ID) による暗号化が可能である。また、MAC の検証が可能である。
メッセージのやり取りは次のようになる。ユーザA, B はそれぞれ携帯電話を購入し、ユニークな電話番号NA, NB をそれぞれ得る。暗号化の場合、ユーザA はf(NB) を鍵としてメッセージM を暗号化する。これをE(M) とし、ユーザB に送信する。ユーザB はf(NB) を用い、E(M) を復号する。f(NB) で復号を行えるのは、ユーザB のみである。一方、署名の場合、ユーザA はf(NA) を鍵としてメッセージM のMAC を生成し、M とMAC をユーザBに送信する。ここで、f(NA) を使い、M のMAC を生成できるのは、ユーザA だけである。ユーザB は送信されたメッセージM とMAC の検証を行い、ユーザA による署名を確認できる。なお、同様の仕組みにより、携帯電話以外にも適用できる。例えば情報家電がインターネットに接続される場合は、ID にはIP アドレスやホスト名等が使える。
本発明のハードウェア構成図である。 暗号化・認証部の詳細を表した図である。 本発明の送受信プロトコルを説明する図である。 本発明の別の送受信プロトコルを説明する図である。 本発明をID-based cryptosystem に応用例を示す図である。 本発明を携帯電話に適用する例を示す図である。
符号の説明
100 システム
101 暗号化・認証部
102 タンパリング検出部
201 発効・登録部
206 記憶部
210 鍵生成部
209 シード記憶部
207 第1鍵取得部
208 第2鍵取得部
202 生成部
204 検証部
205 暗号化部
203 復号部
520 ID格納機関

Claims (10)

  1. ユーザからの要求に応じて、IDの発効、暗号化、認証を行う暗号化・認証部と、
    電圧変化または圧力変化を感知し、前記暗号化・認証部を電気的に破壊するタンパリング検出部
    を有する耐タンパ性ハードウェアを含む装置であって、前記暗号化・認証部が、
    ユーザの要求に応じ、IDを発効し、前記IDを記憶部に記憶する、ID発効・登録部と、
    入力されるIDに対応した鍵を1対1関数を用いて生成し出力する、鍵生成部と、
    ユーザの複号あるいはメッセージ認証子生成の要求に応じて、入力IDとID記憶部に記憶されたIDを比較し、一致した場合、前記鍵生成部にIDを渡し、前記鍵生成部から生成された鍵を出力する、第1鍵取得部と、
    ユーザの暗号化あるいはメッセージ認証子付メッセージ検証の要求に応じて、前記鍵生成部に入力IDを渡し、前記鍵生成部から生成された鍵を出力する、第2鍵取得部と、
    入力IDを第1鍵取得部に渡し、前記第1鍵取得部から出力された鍵を用いて、入力されたメッセージのメッセージ認証子を計算し出力する、メッセージ認証子生成部と、
    入力IDを第2鍵取得部に渡し、前記第2鍵取得部から出力された鍵を用いて、入力されたメッセージのメッセージ認証子を計算し、得られたメッセージ認証子と入力されたメッセージ認証子を比較し、一致した場合、検証が成功したこと表す情報をユーザに返す、メッセージ認証子検証部と、
    入力IDを第2鍵取得部に渡し、前記第2鍵取得部から出力された鍵を用いて、入力された平文の暗号化を行い、結果をユーザに返す、暗号化部と、
    入力IDを第1鍵取得部に渡し、前記第1鍵取得部から出力された鍵を用いて、入力された暗号文を復号して出力する、復号部と、
    を有する、装置。
  2. 前記暗号化・認証部が、シード記憶部を有し、前記鍵生成部が前記シード記憶部に記憶されたシード及び前記ID記憶部に記憶されたIDを基に鍵を生成し出力する、請求項1記載の装置。
  3. 前記ID発効・登録部が、ID を発効する際に冗長な情報をIDに含ませることを特徴とする、請求項1記載の装置。
  4. 前記暗号化・認証部が、さらに1回書込可能記憶領域を有し、前記IDを前記1回書込可能記憶領域に書き込むことによりIDを登録可能とする、請求項1記載の装置。
  5. 前記IDの発効・登録を鍵生成機関のみが行うことを特徴とする、請求項1記載の装置。
  6. ユーザからの要求に応じて、IDの発効、暗号化、認証を行う暗号化・認証部と、電圧変化または圧力変化を感知し、前記暗号化・認証部を電気的に破壊するタンパリング検出部を有する耐タンパ性ハードウェアを含む装置を用いて擬似公開鍵暗号を行う方法であって、前記装置の前記暗号化・認証部が、
    ユーザの要求に応じ、IDを発効し、前記IDを記憶部に記憶する、ID発効・登録部と、
    入力されるIDに対応した鍵を1対1関数を用いて生成し出力する、鍵生成部と、
    ユーザの複号あるいはメッセージ認証子生成の要求に応じて、入力IDとID記憶部に記憶されたIDを比較し、一致した場合、前記鍵生成部にIDを渡し、前記鍵生成部から生成された鍵を出力する、第1鍵取得部と、
    ユーザの暗号化あるいはメッセージ認証子付メッセージ検証の要求に応じて、前記鍵生成部に入力IDを渡し、前記鍵生成部から生成された鍵を出力する、第2鍵取得部と、
    入力IDを第1鍵取得部に渡し、前記第1鍵取得部から出力された鍵を用いて、入力されたメッセージのメッセージ認証子を計算し出力する、メッセージ認証子生成部と、
    入力IDを第2鍵取得部に渡し、前記第2鍵取得部から出力された鍵を用いて、入力されたメッセージのメッセージ認証子を計算し、得られたメッセージ認証子と入力されたメッセージ認証子を比較し、一致した場合、検証が成功したこと表す情報をユーザに返す、メッセージ認証子検証部と、
    入力IDを第2鍵取得部に渡し、前記第2鍵取得部から出力された鍵を用いて、入力された平文の暗号化を行い、結果をユーザに返す、暗号化部と、
    入力IDを第1鍵取得部に渡し、前記第1鍵取得部から出力された鍵を用いて、入力された暗号文を復号して出力する、復号部と、
    を有しており、
    前記方法は、前記装置A,Bを有する送信ユーザおよび受信ユーザ間でメッセージを送信するにあたり、
    送信ユーザID公開のため、装置Aが送信ユーザIDを選択、記憶し、送信ユーザに返す段階と、
    受信ユーザID公開のため、装置Bが受信ユーザIDを選択、記憶し、受信ユーザに返す段階と、
    装置Aが送信ユーザIDに対応する鍵を取得し、メッセージ認証子を生成し、送信ユーザに返す段階と
    送信ユーザからの暗号化の要求に応じて、装置Aが受信ユーザIDに対応する鍵を取得し、メッセージとメッセージ認証子を暗号化し、送信ユーザに返す段階と、
    受信ユーザの暗号の復号要求に応じて、装置Bが受信ユーザIDに対応する鍵を取得し、受信メッセージを復号し、受信ユーザに返す段階と、
    受信ユーザのメッセージ認証子検証要求に応じて、装置Bが送信ユーザIDに対応する鍵を取得し、メッセージ認証子を検証し、その結果を受信ユーザに返す段階と
    を有する、擬似公開鍵暗号方法。
  7. 前記暗号化・認証部が、シード記憶部を有し、前記鍵生成部が前記シード記憶部に記憶されたシード及び前記ID記憶部に記憶されたIDを基に鍵を生成し出力する、請求項6記載の方法
  8. 前記ID発効・登録部が、ID を発効する際に冗長な情報をIDに含ませることを特徴とする、請求項6記載の方法。
  9. 前記暗号化・認証部が、さらに1回書込可能記憶領域を有し、前記IDを前記1回書込可能記憶領域に書き込むことによりIDを登録可能とする、請求項6記載の方法。
  10. 前記IDの発効・登録を鍵生成機関のみが行うことを特徴とする、請求項6記載の方法。
JP2004367676A 2004-12-20 2004-12-20 擬似公開鍵暗号方法及びシステム Expired - Fee Related JP4130653B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2004367676A JP4130653B2 (ja) 2004-12-20 2004-12-20 擬似公開鍵暗号方法及びシステム
CNB2005101243158A CN100559751C (zh) 2004-12-20 2005-11-28 伪公钥加密方法和系统
US11/338,063 US20070189517A1 (en) 2004-12-20 2006-01-23 Pseudo public key encryption
US12/558,868 US8139766B2 (en) 2004-12-20 2009-09-14 Pseudo public key encryption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004367676A JP4130653B2 (ja) 2004-12-20 2004-12-20 擬似公開鍵暗号方法及びシステム

Publications (2)

Publication Number Publication Date
JP2006174356A JP2006174356A (ja) 2006-06-29
JP4130653B2 true JP4130653B2 (ja) 2008-08-06

Family

ID=36674583

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004367676A Expired - Fee Related JP4130653B2 (ja) 2004-12-20 2004-12-20 擬似公開鍵暗号方法及びシステム

Country Status (3)

Country Link
US (2) US20070189517A1 (ja)
JP (1) JP4130653B2 (ja)
CN (1) CN100559751C (ja)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130095855A (ko) * 2005-05-11 2013-08-28 퀄컴 인코포레이티드 분산 처리 시스템 및 방법
US20070060373A1 (en) * 2005-09-12 2007-03-15 Bigfoot Networks, Inc. Data communication system and methods
US9455844B2 (en) * 2005-09-30 2016-09-27 Qualcomm Incorporated Distributed processing system and method
EP2047373A4 (en) * 2006-07-17 2017-03-29 Qualcomm Incorporated Host posing network device and method thereof
US8874780B2 (en) * 2006-07-17 2014-10-28 Qualcomm Incorporated Data buffering and notification system and methods thereof
JP2008059561A (ja) * 2006-08-04 2008-03-13 Canon Inc 情報処理装置、データ処理装置、および、それらの方法
EP2115619B1 (en) * 2007-01-26 2014-08-06 Qualcomm Incorporated Communication socket state monitoring device and methods thereof
KR101426575B1 (ko) * 2007-03-23 2014-08-05 퀄컴 인코포레이티드 분산형 프로세싱 시스템 및 방법
US8687487B2 (en) 2007-03-26 2014-04-01 Qualcomm Incorporated Method and system for communication between nodes
WO2009014971A1 (en) * 2007-07-20 2009-01-29 Bigfoot Networks, Inc. Client authentication device and methods thereof
WO2009014951A1 (en) * 2007-07-20 2009-01-29 Bigfoot Networks, Inc. Remote access diagnostic device and methods thereof
EP2063375B1 (en) * 2007-11-23 2017-09-20 Orange Authentication system and method using electronic tags
KR101561716B1 (ko) * 2007-11-29 2015-10-19 퀄컴 인코포레이티드 원격 메시지 라우팅 디바이스 및 이의 방법들
US8161166B2 (en) * 2008-01-15 2012-04-17 Adobe Systems Incorporated Information communication using numerical residuals
CN101174295B (zh) * 2008-01-16 2010-09-01 北京飞天诚信科技有限公司 一种可离线的drm认证的方法及系统
US8082320B1 (en) * 2008-04-09 2011-12-20 Adobe Systems Incorporated Communicating supplemental information over a block erasure channel
KR101067146B1 (ko) * 2010-01-14 2011-09-22 주식회사 팬택 휴대용 단말의 암호화 메시지 처리 방법 및 그 휴대용 단말
US8370648B1 (en) * 2010-03-15 2013-02-05 Emc International Company Writing and reading encrypted data using time-based encryption keys
JP2014175758A (ja) * 2013-03-07 2014-09-22 Toppan Printing Co Ltd Icカード及びその処理方法
US9355279B1 (en) * 2013-03-29 2016-05-31 Secturion Systems, Inc. Multi-tenancy architecture
US9246978B2 (en) * 2013-11-11 2016-01-26 Mitsubishi Electric Research Laboratories, Inc. Method for determining hidden states of systems using privacy-preserving distributed data analytics
US8886964B1 (en) * 2014-04-24 2014-11-11 Flexera Software Llc Protecting remote asset against data exploits utilizing an embedded key generator
US9471810B2 (en) * 2015-03-09 2016-10-18 Mitsubishi Electric Research Laboratories, Inc. Method and system for determining hidden states of a machine using privacy-preserving distributed data analytics and a semi-trusted server and a third-party
CN105897731B (zh) * 2016-05-12 2019-09-13 北京明华联盟科技有限公司 一种认证方法及认证装置
US10638313B2 (en) * 2017-10-26 2020-04-28 Robert Bosch Gmbh Systems and methods for confirming a cryptographic key
IT201800005466A1 (it) * 2018-05-17 2019-11-17 Metodo e dispositivo per scrivere oggetti software in una unita' elettronica di controllo di un motore a combustione interna
CN110881015B (zh) * 2018-09-05 2021-10-01 程强 用于处理用户信息的系统和方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2929738B2 (ja) 1991-02-01 1999-08-03 ケイディディ株式会社 暗号化装置
JP2004070712A (ja) 2002-08-07 2004-03-04 Nippon Telegr & Teleph Corp <Ntt> データ配信方法,データ配信システム,分割配信データ受信方法,分割配信データ受信装置および分割配信データ受信プログラム

Also Published As

Publication number Publication date
CN100559751C (zh) 2009-11-11
US8139766B2 (en) 2012-03-20
US20070189517A1 (en) 2007-08-16
CN1794630A (zh) 2006-06-28
JP2006174356A (ja) 2006-06-29
US20090323935A1 (en) 2009-12-31

Similar Documents

Publication Publication Date Title
JP4130653B2 (ja) 擬似公開鍵暗号方法及びシステム
CA2652084C (en) A method and apparatus to provide authentication and privacy with low complexity devices
US8670563B2 (en) System and method for designing secure client-server communication protocols based on certificateless public key infrastructure
US8433066B2 (en) Method for generating an encryption/decryption key
US20060195402A1 (en) Secure data transmission using undiscoverable or black data
US8601267B2 (en) Establishing a secured communication session
JP2014515125A (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
WO2022050833A1 (en) Method for electronic signing and authenticaton strongly linked to the authenticator factors possession and knowledge
JP2011091517A (ja) サインクリプションシステムおよびサインクリプション生成方法
EP3185504A1 (en) Security management system for securing a communication between a remote server and an electronic device
Rana et al. Cryptanalysis and improvement of biometric based content distribution framework for digital rights management systems
JP2002063139A (ja) 端末装置、サーバ装置および端末認証方法
Simmons Symmetric and asymmetric encryption
JP3862397B2 (ja) 情報通信システム
JP4000899B2 (ja) 認証付暗号方法及び認証付復号方法及び装置及びプログラム及びコンピュータが読み取り可能な記録媒体
Simmons 10. Symmetric and
JP2002132144A (ja) 認証方式
JP2003333035A (ja) 認証付暗号方法及び装置及び認証付暗号プログラム及び認証付暗号プログラムを格納した記憶媒体及び認証付復号方法及び装置及び認証付復号プログラム及び認証付復号プログラムを格納した記憶媒体及び否認性取り消し方法及び検証方法及び検証装置及び検証プログラム及び検証プログラムを格納した記憶媒体
JP2004101568A (ja) 暗号の構造並びに暗号文の復号方法およびシステム
JPH02195743A (ja) 暗号通信方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071112

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20080130

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20080206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080520

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080522

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110530

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110530

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120530

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120530

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130530

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140530

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees