(57)【特許請求の範囲】
【請求項１】
暗号データの復号鍵を更新可能に保持するデータ復号端末であって、
有限体Ｆq上の第１の多項式（１）
【数１】
0003989364.tif 000008
と、前記有限体Ｆq上の第２の多項式（２）
【数２】
0003989364.tif 000009
（但し、ｍｋ*（ｘ，ｙ）はｘとｙの関数、ｆ（ｘ）はｘの関数、ｉはｑ未満かつ１〜ｋの整数、ｊは１〜ｔの整数、ｂijは定数、ａiは定数）とから、
ｕｋ0（ｘ）＝ｆ（ｘ）＋ｍｋ*（ｘ，ｐ0）
（但し、ｕｋ0（ｘ）はｙ＝ｐ0の場合におけるｘの関数）
を演算して、復号鍵を生成する復号鍵生成手段と、
ｍｋi（ｘ）＝ｍｋ*（ｘ，ｐi）−ｍｋ*（ｘ，ｐi-1）から得られたｍｋi（ｘ）
（但し、ｐi，ｐi-1は前記有限体Ｆqに属する）
を秘密鍵提供端末から取得する秘密鍵取得手段と、
前記秘密鍵取得手段により取得されたｍｋi（ｘ）とｕｋi-1（ｘ）とから、
ｕｋi（ｘ）＝ｕｋi-1（ｘ）＋ｍｋi（ｘ）
を演算して、更新回数がｉ回目の復号鍵を生成し、前記復号鍵生成手段により生成された復号鍵を更新する復号鍵更新手段と
を備えることを特徴とするデータ復号端末。
【請求項２】
前記第１の多項式と前記第２の多項式とから、
ｅn（ｙ）＝ｆ（Ｓn）＋ｍｋ*（Ｓn，ｙ）
（但し、ｅn（ｙ）はｘ＝Ｓnの場合におけるｙの関数、ｎは１以上の整数）
を演算して、ｘ＝Ｓ1〜Ｓnの各値に対応する暗号化鍵をそれぞれ生成する暗号化鍵生成手段と、
前記暗号化鍵生成手段により生成された暗号化鍵を用いて暗号化された暗号データをデータ暗号化端末から取得する暗号データ取得手段と、
前記暗号データ取得手段により取得された暗号データを、前記復号鍵更新手段により更新された復号鍵を用いて復号する暗号データ復号手段と
を更に備えることを特徴とする請求項１に記載のデータ復号端末。
【請求項３】
前記復号鍵更新手段による復号鍵の更新回数を前記データ暗号化端末に通知する更新回数通知手段を更に備えることを特徴とする請求項２に記載のデータ復号端末。
【請求項４】
請求項１に記載のデータ復号端末に接続され、
ｍｋ*（ｘ，ｙ）と、前記有限体Ｆqに属するｐiとから
ｍｋi（ｘ）＝ｍｋ*（ｘ，ｐi）−ｍｋ*（ｘ，ｐi-1）
を演算し、秘密鍵として前記データ復号端末に提供する秘密鍵提供手段
を備えることを特徴とする秘密鍵提供端末。
【請求項５】
請求項２に記載のデータ復号端末に接続され、
前記暗号化鍵生成手段により生成された、ｘ＝Ｓ１〜Ｓｎの各値に対応する暗号化鍵の内、少なくとも１つの暗号化鍵を取得する暗号化鍵取得手段と、
前記暗号化鍵取得手段により取得された前記暗号化鍵と、前記有限体Ｆｑに属するｐｉとから、暗号データを生成する暗号データ生成手段と、
前記暗号データ生成手段により生成された暗号データを前記データ復号端末に送信する暗号データ送信手段と
を備えることを特徴とするデータ暗号化端末。
【請求項６】
請求項１に記載のデータ復号端末と、秘密鍵提供端末と、データ暗号化端末とを備えて構成され、
前記データ復号端末は、前記秘密鍵提供端末から提供された秘密鍵を使用して復号鍵を更新すると共に、前記データ暗号化端末から送信された暗号データを前記復号鍵により復号することを特徴とする暗号データ復号システム。
【請求項７】
データ復号端末が復号鍵生成手段により、
有限体Ｆq上の第１の多項式（１）
【数３】
0003989364.tif 000010
と、前記有限体Ｆq上の第２の多項式（２）
【数４】
0003989364.tif 000011
（但し、ｍｋ*（ｘ，ｙ）はｘとｙの関数、ｆ（ｘ）はｘの関数、ｉはｑ未満かつ１〜ｋの整数、ｊは１〜ｔの整数、ｂijは定数、ａiは定数）とから、
ｕｋ0（ｘ）＝ｆ（ｘ）＋ｍｋ*（ｘ，ｐ0）
（但し、ｕｋ0（ｘ）はｙ＝ｐ0の場合におけるｘの関数）
を演算して、復号鍵を生成する復号鍵生成ステップと、
前記データ復号端末が秘密鍵取得手段により、
ｍｋi（ｘ）＝ｍｋ*（ｘ，ｐi）−ｍｋ*（ｘ，ｐi-1）から得られたｍｋi（ｘ）
（但し、ｐi，ｐi-1は前記有限体Ｆqに属する）
を秘密鍵提供端末から取得する秘密鍵取得ステップと、
前記データ復号端末が復号鍵更新手段により、
前記秘密鍵取得ステップにて取得されたｍｋi（ｘ）とｕｋi-1（ｘ）とから、
ｕｋi（ｘ）＝ｕｋi-1（ｘ）＋ｍｋi（ｘ）
を演算して、更新回数がｉ回目の復号鍵を生成し、前記復号鍵生成ステップにて生成された復号鍵を更新する復号鍵更新ステップと
を含むことを特徴とする復号鍵更新方法。
【請求項８】
データ復号端末が暗号化鍵生成手段により、
前記第１の多項式と前記第２の多項式とから、
ｅｎ（ｙ）＝ｆ（Ｓｎ）＋ｍｋ＊（Ｓｎ，ｙ）
（但し、ｅｎ（ｙ）はｘ＝Ｓｎの場合におけるｙの関数、ｎは１以上の整数）
を演算して、ｘ＝Ｓ１〜Ｓｎの各値に対応する暗号化鍵をそれぞれ生成する暗号化鍵生成ステップと、
前記データ復号端末が暗号データ取得手段により、前記暗号化鍵生成ステップにて生成された暗号化鍵を用いて暗号化された暗号データをデータ暗号化端末から取得する暗号データ取得ステップと、
前記データ復号端末が暗号データ復号手段により、前記暗号データ取得ステップにて取得された暗号データを、前記復号鍵更新ステップにて更新された復号鍵を用いて復号する暗号データ復号ステップと
を更に含むことを特徴とする請求項７に記載の復号鍵更新方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ復号端末、秘密鍵提供端末、データ暗号化端末、暗号データ復号システム、及び復号鍵更新方法に関する。
【０００２】
【従来の技術】
従来、携帯電話などの通信端末（以下、「利用者端末」と記す。）は、他の通信端末（以下、「送信者端末」と記す。）により暗号化されたデジタルデータを受信し、復号鍵を用いて復号する。特に、鍵隔離型暗号方式においては、利用者端末は、該端末に接続された秘密鍵発行装置内の秘密情報を基に生成される鍵更新の為のデータを取得し、当該データを使用することで、利用者端末内の復号鍵を更新することができる。かかる鍵の更新は、一定時間間隔あるいは利用者が任意に指定した時点において行われる。
【０００３】
このような鍵隔離型暗号方式の特徴の一つは、利用者端末が保持する複数の復号鍵の内、幾つかの復号鍵が外部に漏洩した場合であっても、その総数が所定数を超えない限り、漏洩した復号鍵以外の復号鍵に関する情報は、依然として、利用者以外には未知となることである。したがって、利用者は、復号鍵の更新を頻繁に行うことにより、復号鍵の漏洩に伴う被害を極力抑えることができる（例えば、非特許文献１、非特許文献２、及び非特許文献３参照。）。
【０００４】
【非特許文献１】
T.ElGamal, "A public key cryptosysytem and a signature scheme based on discrete logarithms," IEEE Trans. On Inform. Theory, IT-31, 4, pp.469-472, 1985.
【非特許文献２】
R.Rivest, A.Shamir and L.Adleman, "A method for obtaining digital signature and public-key cryptosystems," Communication of the ACM,21,2, pp.120-126, 1978.
【非特許文献３】
Y.Dodis, J.Katz, S.Xu and M.Yung, "Key-Insulated Public Key Cryptosystems," Proc.of Eurocrypt 2002, LNCS 2332, Springer-Verlag, pp.65-82, 2002.
【０００５】
【発明が解決しようとする課題】
しかしながら、従来の鍵隔離型暗号方式には、巨大な整数の素因数分解や離散対数問題などの解決が事実上極めて困難であるという数学的な事実を前提としたものであることに起因して、以下に示す様な問題点があった。すなわち、上記数学的な事実は、現時点におけるコンピュータの性能を前提としたものであり、今後のコンピュータの性能向上や計算量を大幅に軽減する手法の発見などにより、上記秘密情報が現実的な時間内で解読されないという保証はない。この様な秘密情報の解読に伴い、復号鍵が漏洩することが懸念される。
【０００６】
そこで、本発明の課題は、上述したような数学的な前提に依存せずに、端末内部の復号鍵の更新を安全に行うことである。
【０００７】
【課題を解決するための手段】
上記課題を解決するために、本発明に係るデータ復号端末は、
暗号データ（例えば暗号文）の復号鍵を更新可能に保持するデータ復号端末であって、
有限体Ｆq上の第１の多項式（１）
【数５】
0003989364.tif 000002
と、前記有限体Ｆq上の第２の多項式（２）
【数６】
0003989364.tif 000003
（但し、ｍｋ*（ｘ，ｙ）はｘとｙの関数、ｆ（ｘ）はｘの関数、ｉはｑ未満かつ１〜ｋの整数、ｊは１〜ｔの整数、ｂijは定数、ａiは定数）とから、
ｕｋ0（ｘ）＝ｆ（ｘ）＋ｍｋ*（ｘ，ｐ0）
（但し、ｕｋ0（ｘ）はｙ＝ｐ0の場合におけるｘの関数）
を演算して、復号鍵を生成する復号鍵生成手段と、
ｍｋi（ｘ）＝ｍｋ*（ｘ，ｐi）−ｍｋ*（ｘ，ｐi-1）から得られたｍｋi（ｘ）
（但し、ｐi，ｐi-1は前記有限体Ｆqに属する）
を秘密鍵提供端末から取得する秘密鍵取得手段と、
前記秘密鍵取得手段により取得されたｍｋi（ｘ）とｕｋi-1（ｘ）とから、
ｕｋi（ｘ）＝ｕｋi-1（ｘ）＋ｍｋi（ｘ）
を演算して、更新回数がｉ回目の復号鍵を生成し、前記復号鍵生成手段により生成された復号鍵を更新する復号鍵更新手段とを備える。
【０００８】
本発明に係る秘密鍵提供端末は、
上述したデータ復号端末に接続され、
ｍｋ*（ｘ，ｙ）と、前記有限体Ｆqに属するｐiとから
ｍｋi（ｘ）＝ｍｋ*（ｘ，ｐi）−ｍｋ*（ｘ，ｐi-1）
を演算し、秘密鍵として前記データ復号端末に提供する秘密鍵提供手段を備える。
【０００９】
本発明に係る復号鍵更新方法は、
データ復号端末が復号鍵生成手段により、
有限体Ｆq上の第１の多項式（１）
【数７】
0003989364.tif 000004
と、前記有限体Ｆq上の第２の多項式（２）
【数８】
0003989364.tif 000005
（但し、ｍｋ*（ｘ，ｙ）はｘとｙの関数、ｆ（ｘ）はｘの関数、ｉはｑ未満かつ１〜ｋの整数、ｊは１〜ｔの整数、ｂijは定数、ａiは定数）とから、
ｕｋ0（ｘ）＝ｆ（ｘ）＋ｍｋ*（ｘ，ｐ0）
（但し、ｕｋ0（ｘ）はｙ＝ｐ0の場合におけるｘの関数）
を演算して、復号鍵を生成する復号鍵生成ステップと、
前記データ復号端末が秘密鍵取得手段により、
ｍｋi（ｘ）＝ｍｋ*（ｘ，ｐi）−ｍｋ*（ｘ，ｐi-1）から得られたｍｋi（ｘ）
（但し、ｐi，ｐi-1は前記有限体Ｆqに属する）
を秘密鍵提供端末から取得する秘密鍵取得ステップと、
前記データ復号端末が復号鍵更新手段により、
前記秘密鍵取得ステップにて取得されたｍｋi（ｘ）とｕｋi-1（ｘ）とから、
ｕｋi（ｘ）＝ｕｋi-1（ｘ）＋ｍｋi（ｘ）
を演算して、更新回数がｉ回目の復号鍵を生成し、前記復号鍵生成ステップにて生成された復号鍵を更新する復号鍵更新ステップとを含む。
【００１０】
本発明に係るデータ復号端末は、
前記第１の多項式と前記第２の多項式とから、
ｅn（ｙ）＝ｆ（Ｓn）＋ｍｋ*（Ｓn，ｙ）
（但し、ｅn（ｙ）はｘ＝Ｓnの場合におけるｙの関数、ｎは１以上の整数）
を演算して、ｘ＝Ｓ1〜Ｓnの各値に対応する暗号化鍵をそれぞれ生成する暗号化鍵生成手段と、
前記暗号化鍵生成手段により生成された暗号化鍵を用いて暗号化された暗号データをデータ暗号化端末から取得する暗号データ取得手段と、
前記暗号データ取得手段により取得された暗号データを、前記復号鍵更新手段により更新された復号鍵を用いて復号する暗号データ復号手段とを更に備える。
【００１１】
本発明に係るデータ暗号化端末は、
上述したデータ復号端末に接続され、
前記暗号化鍵生成手段により生成された、ｘ＝Ｓ1〜Ｓnの各値に対応する暗号化鍵の内、少なくとも１つの暗号化鍵を取得する暗号化鍵取得手段と、
前記暗号化鍵取得手段により取得された前記暗号化鍵と、前記有限体Ｆqに属するｐiとから、暗号データを生成する暗号データ生成手段と、
前記暗号データ生成手段により生成された暗号データを前記データ復号端末に送信する暗号データ送信手段とを備える。
【００１２】
本発明に係る復号鍵更新方法は、
データ復号端末が暗号化鍵生成手段により、
前記第１の多項式と前記第２の多項式とから、
ｅｎ（ｙ）＝ｆ（Ｓｎ）＋ｍｋ＊（Ｓｎ，ｙ）
（但し、ｅｎ（ｙ）はｘ＝Ｓｎの場合におけるｙの関数、ｎは１以上の整数）
を演算して、ｘ＝Ｓ１〜Ｓｎの各値に対応する暗号化鍵をそれぞれ生成する暗号化鍵生成ステップと、
前記データ復号端末が暗号データ取得手段により、前記暗号化鍵生成ステップにて生成された暗号化鍵を用いて暗号化された暗号データをデータ暗号化端末から取得する暗号データ取得ステップと、
前記データ復号端末が暗号データ復号手段により、前記暗号データ取得ステップにて取得された暗号データを、前記復号鍵更新ステップにて更新された復号鍵を用いて復号する暗号データ復号ステップとを更に含む。
【００１３】
本発明は、以下に説明するシステムとしても構築可能である。すなわち、本発明に係る暗号データ復号システムは、上述したデータ復号端末と、上述した秘密鍵提供端末と、上述したデータ暗号化端末とを少なくとも備えて構成され、前記データ復号端末は、前記秘密鍵提供端末から提供された秘密鍵を使用して復号鍵を更新すると共に、前記データ暗号化端末から送信された暗号データを前記復号鍵により復号する。
【００１４】
これらの発明によれば、データ復号端末は、秘密鍵提供端末及びデータ暗号化端末と連携して、復号鍵の更新及び暗号データの復号を行う。これにより、例えば結託した悪意の第三者によりデータ復号端末の復号鍵ｕｋi（ｘ）の内の幾つかが不正に取得された場合であっても、暗号データから平文に関する情報が漏洩することが未然に防止される。また、悪意の第三者は、秘密鍵提供端末内の情報（例えばｍｋ*（ｘ，ｙ））を不正に取得した場合にも、復号鍵ｕｋi-1（ｘ）を知らない限り、暗号データから平文に関する情報を得ることはできない。したがって、上述したような数学的な前提に依存せずに、端末内部の復号鍵の更新を安全に行うことが可能となる。
【００１５】
本発明に係るデータ復号端末は、前記復号鍵更新手段による復号鍵の更新回数を前記データ暗号化端末に通知する更新回数通知手段を更に備えることもできる。更新回数の通知は、例えば、復号鍵の更新回数データをデータ暗号化端末宛に送信する、あるいは、各端末とは別体のサーバ装置上にかかるデータを公開する等の方法により実現される。本発明によれば、データ暗号化端末のユーザは、復号の対象となる暗号データの復号鍵が何回更新されているかを簡易迅速に把握できる。
【００１６】
【発明の実施の形態】
以下、添付図面を参照して、本発明の一実施の形態について詳細に説明する。図１は、本発明に係る鍵隔離型暗号復号システムの全体構成を示す図である。図１を示す様に、鍵隔離型暗号復号システム１（暗号データ復号システムに対応）は、特定の暗号文（暗号データに対応）の復号鍵を更新可能に保持する利用者端末１０と、利用者端末１０の通信相手となるｎ台（ｎは自然数）の送信者端末２０−１，…，２０−ｊ，…，２０−ｎ（纏めて「送信者端末２０」と記す、ｊは１〜ｎの整数）と、秘密鍵発行装置１００と、公開情報データベース２００とを備える。
【００１７】
利用者端末１０と送信者端末２０と公開情報データベース２００とは、ネットワークＮを経由して相互に各種データの送受信が可能である。図１においては、秘密鍵発行装置１００は、利用者端末１０及び公開情報データベース２００と直接接続されている様に図示しているが、ネットワークＮを介して接続されているものとしても勿論よい。以下、鍵隔離型暗号復号システム１の構成要素である各端末装置について詳述する。
【００１８】
利用者端末１０（データ復号端末に対応）は、暗号文の受信者Ｕにより管理される端末装置であり、例えば携帯電話である。詳細な処理内容に関しては後述するが、利用者端末１０は、未更新の復号鍵ｕｋ0（ｘ）を演算及び保管すると共に、秘密鍵発行装置１００及び公開情報データベース２００と連携して、更新された復号鍵ｕｋi（ｘ）を演算及び保管する。ここでｉは０以上の整数である。また、利用者端末１０は、送信者端末２０−ｊから暗号文ｃijを受信すると、該端末に対応する復号鍵ｕｋi（Ｓj）を使用してこの暗号文を復号する。
【００１９】
利用者端末１０は、鍵隔離型暗号復号システム１の主要な構成要素であるので、以下、その構成について説明する。図２は、利用者端末１０のハードウェア構成図である。利用者端末１０は、ＣＰＵ（Central Processing Unit）１０ａ、入力部１０ｂ、ＲＡＭ１０ｃ、表示部１０ｄ、記憶部１０ｅ、アンテナＡを伸縮可能に有する通信部１０ｆ、音声処理部１０ｇ、及び入出力インタフェース１０ｈを備えて構成される。各部は、それぞれバス１０ｊによって電気的に接続されており、相互に信号の入出力が可能となっている。
【００２０】
ＣＰＵ１０ａは、記憶部１０ｅに記憶されているプログラムをＲＡＭ１０ｃに読み出し、当該プログラムに従って各部の集中制御及び各種演算を行う。すなわち、ＣＰＵ１０ａは、入力部１０ｂからの入力信号とＲＡＭ１０ｃに読み出されたプログラムとに従って、後述の復号鍵更新処理や暗号文復号処理を始めとする処理を実行し、その処理結果をＲＡＭ１０ｃに一時的に記憶する。そして、ＲＡＭ１０ｃに記憶された処理結果を必要に応じて記憶部１０ｅ内部の所定領域に格納させる。
【００２１】
入力部１０ｂは、復号鍵の更新や受信された暗号文の復号等を指示する各種操作ボタンを備えて構成され、これら各種操作ボタンは、単独で又は組み合せて押下されることにより、指示内容に応じた入力信号をＣＰＵ１０ａに出力する。
【００２２】
ＲＡＭ（Random Access Memory）１０ｃは、揮発性の半導体メモリにより構成され、ＣＰＵ１０ａにより実行される各種処理において、後述する記憶部１０ｅから読み出されたプログラムやデータを一時的に格納する。また、ＲＡＭ１０ｃは、表示部１０ｄに表示されるデータを一時的に記憶するＶＲＡＭ（Video RAM）の機能も併有する。
【００２３】
表示部１０ｄは、ＬＣＤ（Liquid Crystal Display）やＥＬ（Electro Luminescence）等により構成され、ＣＰＵ１０ａから入力される指示信号に従って、表示データの表示を行う。
【００２４】
記憶部１０ｅは、ＥＥＰＲＯＭ（Electrically Erasable and Programmable ROM）等の不揮発性の半導体メモリにより構成され、後述の復号鍵更新処理や暗号文復号処理を始めとする処理の実行に際して必要なデータや処理を実行した結果生成されたデータ等を記憶する。
【００２５】
通信部１０ｆは、基地局Ｂとの無線通信の制御を行う。詳細には、通信部１０ｆは、信号の変調及び復調を行う変復調部（図示せず）と、信号の符号化及び復号化を行う符復号化部（図示せず）とを有する回路であり、アンテナＡを有する。アンテナＡは、利用者端末１０の筐体上部に伸縮可能に設けられ、基地局Ｂとの間で電波の送受信を行う。基地局ＢはネットワークＮに有線接続されているので、利用者端末１０は、通信部１０ｆにより、ネットワークＮに接続された端末との通信が可能である。
【００２６】
音声処理部１０ｇは、変換器、増幅器等により構成され、マイクＭ及びスピーカＳを備える。音声処理部１０ｇは、通話時に、ＣＰＵ１０ａから入力される音声データを変換器でアナログ信号に変換し、増幅器を介してスピーカＳから放音する。また、音声処理部１０ｇは、通話時に、マイクＭから入力される音声信号を変換器によりデジタル信号に変換し、ＣＰＵ１０ａに出力する。
【００２７】
入出力インタフェース１０ｈは、利用者端末１０と秘密鍵発行装置１００との間において直接的にデータの入出力を行う。
【００２８】
送信者端末２０−１（データ暗号化端末に対応）は、暗号文の送信者Ｓ1により管理される端末装置である。送信者端末２０−１は、例えば、利用者端末１０から取得された暗号化鍵の算定式ｅ1（ｙ）に、公開情報データベース２００から取得されたｐiを代入して暗号化鍵ｅ1（ｐi）を計算する。また、送信者端末２０−１は、この暗号化鍵を用いて平文ｍi1を暗号化し、暗号文ｃi1として、ネットワークＮを経由して利用者端末１０宛に送信する。
【００２９】
ｊ台目の送信者端末について一般化すると、送信者端末２０−ｊは、上記暗号文とは異なる暗号文の送信者Ｓj∈｛Ｓ1，Ｓ2，…，Ｓn｝により管理される端末装置である。送信者端末２０−ｊは、上述した手順を経て暗号化鍵ｅj（ｐi）を計算し、この計算結果である暗号化鍵を用いて平文ｍijを暗号化した後、暗号化結果である暗号文ｃijを利用者端末１０宛に送信する。
【００３０】
秘密鍵発行装置１００（秘密鍵提供端末に対応）は、内部のデータの秘匿性やシステムの信頼性等の観点から、耐タンパー性を有するハードウェアにより構成されている。秘密鍵発行装置１００は、例えば、利用者端末１０から第１の多項式ｍｋ*（ｘ，ｙ）を取得及び格納する。なお、ｍｋ*（ｘ，ｙ）は、ｘの関数であるｍｋ（ｘ）と区別するために、ｘ及びｙの関数として表されたものである。秘密鍵発行装置１００は、利用者端末１０からの公開鍵更新依頼に応じて、公開情報データベース２００から取得された有限体Ｆqの要素ｐiと上記ｍｋ*（ｘ，ｙ）とに基づいて、秘密鍵ｍｋi（ｘ）を演算及び発行する。
【００３１】
公開情報データベース２００は、少なくとも送信者端末２０−１，…，２０−ｊ，…，２０−ｎからネットワークＮを介してアクセス可能な様に構成されている。公開情報データベース２００には、例えば、上記有限体Ｆqの部分集合である｛ｐ0，…，ｐq0｝⊆Ｆqのデータが、公開情報Ｐとして、暗号文の送信者Ｓjを含む第三者に公開される。
【００３２】
次に、利用者Ｕが復号鍵の更新を行うと共に、複数の送信者Ｓ1〜Ｓnの内の１人（送信者Ｓj）が利用者Ｕ宛に暗号文を送信する場合を想定し、図３〜図５を参照して、鍵隔離型暗号復号システム１により実行制御される処理の流れを説明する。併せて、本発明に係る復号鍵更新方法、及び暗号データ復号方法を構成する各ステップについて説明する。
【００３３】
まず、図３及び図４を参照して、Ｓ１〜Ｓ２１に示す復号鍵更新処理について説明する。
利用者端末１０のＣＰＵ１０ａにより、ｑ個の要素をもつ有限体Ｆq上の多項式である第１の多項式（１）
【数９】
0003989364.tif 000006
及び、第２の多項式（２）
【数１０】
0003989364.tif 000007
がランダムに生成される（Ｓ１）。
【００３４】
続いて、上記有限体Ｆqの部分集合｛ｐ0，…，ｐq0｝⊆Ｆqのデータが、利用者端末１０から公開情報データベース２００宛に送信される。このデータは、公開情報Ｐとして、暗号文の送信者Ｓjを少なくとも含む第三者に公開される（Ｓ２）。
【００３５】
次いで、Ｓ１で生成された第１の多項式ｍｋ*（ｘ，ｙ）は、利用者端末１０の入出力インタフェース１０ｈを介して、利用者端末１０から秘密鍵発行装置１００に送付される（Ｓ３）。送付された第１の多項式ｍｋ*（ｘ，ｙ）は、秘密鍵発行装置１００により受領される（Ｓ４）。更に、受領された第１の多項式ｍｋ*（ｘ，ｙ）は、秘密鍵発行装置１００に格納される（Ｓ５）。
【００３６】
次に、利用者端末１０のＣＰＵ１０ａにより、Ｓ１で生成された第１の多項式ｍｋ*（ｘ，ｙ）及び第２の多項式ｆ（ｘ）から、ｕｋ0（ｘ）＝ｆ（ｘ）＋ｍｋ*（ｘ，ｐ0）が演算される（Ｓ６）。演算結果ｕｋ0（ｘ）は、利用者Ｕの初めての復号鍵として記憶部１０ｅ内に保管される（Ｓ７）。図３のＳ６及びＳ７では、１個目（更新回数０回）の復号鍵が演算及び保管される場合を例示したが、ｉ個目（更新回数ｉ−１回）の復号鍵に関して一般化すると、ｕｋi-1（ｘ）が同様の手法で演算及び保管されることになる。
【００３７】
Ｓ８では、利用者端末１０のＣＰＵ１０ａにより、Ｓ１で生成された第１の多項式ｍｋ*（ｘ，ｙ）及び第２の多項式ｆ（ｘ）から、ｅj（ｙ）＝ｆ（Ｓj）＋ｍｋ*（Ｓj，ｙ）が演算される。ｊは１〜ｎの整数であるので、演算の結果、ｅ1（ｙ）＝ｆ（Ｓ1）＋ｍｋ*（Ｓ1，ｙ），ｅ2（ｙ）＝ｆ（Ｓ2）＋ｍｋ*（Ｓ2，ｙ），…，ｅn（ｙ）＝ｆ（Ｓn）＋ｍｋ*（Ｓn，ｙ）がそれぞれ得られる。
【００３８】
次いで、Ｓ８で得られたｅj（ｙ）は、利用者端末１０の通信部１０ｆにより、送信者端末２０（送信者端末２０−１，…，２０−ｊ，…，２０−ｎ）宛に暗号化鍵として発行される（Ｓ９）。発行された暗号化鍵は、各送信者端末２０により取得される（Ｓ１０）。暗号化鍵の発行後、暗号化鍵ｅj（ｙ）、第１の多項式ｍｋ*（ｘ，ｙ）、及び第２の多項式ｆ（ｘ）は、記憶部１０ｅから消去される（Ｓ１１）。
【００３９】
図４に移り、利用者端末１０によりｉ回目（ｉ＜ｑ）の復号鍵の更新が依頼されると（Ｓ１２）、この復号鍵更新依頼は秘密鍵発行装置１００により受理される（Ｓ１３）。Ｓ１４では、秘密鍵発行装置１００により、公開情報Ｐとして公開されているｐiが公開情報データベース２００から取得される。
【００４０】
Ｓ１５では、秘密鍵発行装置１００において、Ｓ５で格納された第１の多項式ｍｋ*（ｘ，ｙ）とＳ１４で取得されたｐiとを用いて、ｍｋi（ｘ）が演算される。ｍｋi（ｘ）は、ｍｋ*（ｘ，ｐi）−ｍｋ*（ｘ，ｐi-1）から演算される。このｍｋi（ｘ）は、秘密鍵発行装置１００から利用者端末１０宛に、秘密鍵として発行される（Ｓ１６）。この秘密鍵発行処理をもって、復号鍵の更新に要する秘密鍵発行装置１００の処理が終了する。
【００４１】
Ｓ１６で発行された秘密鍵ｍｋi（ｘ）は、利用者端末１０の入出力インタフェース１０ｈにより取得され（Ｓ１７）、この秘密鍵とＳ７で復号鍵として保管されたｕｋi-1（ｘ）とを用いて、ｉ回目の復号鍵であるｕｋi（ｘ）が演算される。ｕｋi（ｘ）は、ｕｋi-1（ｘ）＋ｍｋi（ｘ）により得られる（Ｓ１８）。ｕｋi（ｘ）は、新しい復号鍵として、利用者端末１０の記憶部１０ｅに保管される（Ｓ１９）。保管後、ｍｋi（ｘ）、及びｕｋi-1（ｘ）は、記憶部１０ｅから消去される（Ｓ２０）。
【００４２】
Ｓ２１では、必要に応じて、通信部１０ｆにより、復号鍵の更新回数ｉ−１が公開情報ＤＢ２００上に公開される。これにより、送信者Ｓjは、利用者端末１０における復号鍵の更新回数を把握可能となる。なお、復号鍵の更新回数は、要求に応じて、利用者端末１０からネットワークＮを経由して送信者端末２０−ｊに通知されるものとしてもよい。
【００４３】
次に、図５を参照してＳ２２〜Ｓ２７に示す暗号文復号処理について説明する。
送信者端末２０−ｊが利用者端末１０宛に暗号文を送信する際には、まず、送信者端末２０−ｊにより、公開情報ＤＢ２００に公開されているｐiが取得される（Ｓ２２）。Ｓ２３では、Ｓ１０で取得されたｅj（ｙ）にｙ＝ｐiが代入され、送信者端末２０−ｊ用の暗号化鍵ｅj（ｐi）が計算される。
【００４４】
続いて、この暗号化鍵を用いて、共通鍵暗号化方式により平文ｍijが暗号化される（Ｓ２４）。暗号化の結果得られた値（暗号文）をｃijとすると、例えばｃij＝ｍij＋ｅj（ｐi）と表される。暗号文ｃijは、送信者端末２０−ｊから利用者端末１０宛に送付される（Ｓ２５）。
【００４５】
Ｓ２６では、暗号文ｃijは、ネットワークＮを経由して、利用者端末１０の通信部１０ｆにより受領される。そして、Ｓ１９で記憶部１０ｅに保管された復号鍵ｕｋi（ｘ）を用いて、共通鍵復号方式により暗号文ｃijが復号される。復号の結果得られた値（平文）を暗号化前の平文と同様にｍijとすると、ｍijは、例えばｃij−ｕｋi（Ｓj）により表される（Ｓ２７）。
【００４６】
以上説明した様に、本実施の形態における鍵隔離型暗号復号システム１によれば、巨大な整数の素因数分解や離散対数問題などの解決が事実上極めて困難であるという数学的な事実前提に依存せずに、利用者端末１０の有する復号鍵を安全に更新することができる。例えば、結託した悪意の第三者により利用者端末１０の復号鍵ｕｋi（ｘ）の内の幾つかが不正に取得された場合であっても、暗号文ｃijから、平文ｍijに関する情報が漏洩することが未然に防止される。また、悪意の第三者が、秘密鍵発行装置１００内のｍｋ*（ｘ，ｙ）を不正に取得した場合にも、復号鍵ｕｋi-1（ｘ）を知らない限り、暗号文ｃijから、平文ｍijに関する情報を得ることはできない。
【００４７】
【発明の効果】
本発明によれば、上述したような数学的な前提に依存せずに、端末内部の復号鍵の更新を安全に行うことが可能となる。
【図面の簡単な説明】
【図１】鍵隔離型暗号復号システムの全体構成を示す図である。
【図２】利用者端末の構成を示すブロック図である。
【図３】鍵隔離型暗号復号システムにおける復号鍵更新処理の前半部分を説明するためのフローチャートである。
【図４】鍵隔離型暗号復号システムにおける復号鍵更新処理の後半部分を説明するためのフローチャートである。
【図５】鍵隔離型暗号復号システムにおける暗号文復号処理を説明するためのフローチャートである。
【符号の説明】
１…鍵隔離型暗号復号システム、１０…利用者端末、１０ａ…ＣＰＵ、１０ｅ…記憶部、１０ｆ…通信部、１０ｈ…入出力インタフェース、２０−１，２０−ｊ，２０−ｎ…送信者端末、１００…秘密鍵発行装置、２００…公開情報データベース
【図１】
0003989364.tif 000012
【図２】
0003989364.tif 000013
【図３】
0003989364.tif 000014
【図４】
0003989364.tif 000015
【図５】
0003989364.tif 000016