Warning: copy(.htaccess): failed to open stream: Permission denied in /home/jp321/public_html/header.php on line 8
電子署名装置およびICカード、ならびにその電子署名プログラム - 株式会社エヌ・ティ・ティ・データ
米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 株式会社エヌ・ティ・ティ・データ

発明の名称 電子署名装置およびICカード、ならびにその電子署名プログラム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−124928(P2003−124928A)
公開日 平成15年4月25日(2003.4.25)
出願番号 特願2001−317989(P2001−317989)
出願日 平成13年10月16日(2001.10.16)
代理人 【識別番号】100064908
【弁理士】
【氏名又は名称】志賀 正武 (外2名)
【テーマコード(参考)】
5B035
5J104
【Fターム(参考)】
5B035 AA02 BB09 CA11 
5J104 AA09 LA08 NA02 NA35
発明者 市原 尚久 / 竹内 隆 / 山本 真也 / 七尾 慎司 / 高橋 芳夫
要約 課題
逆元のための処理量を削減してCPUの負担を軽減し、かつ、電圧変化等のデータの収集分析による秘密鍵情報の漏洩を防止する。

解決手段
署名処理の前後にブラインド、アンブラインド処理を行なう際、乱数生成部172が、乱数を分割することにより比較的小さなビット数で構成される少なくとも2つの乱数を生成し、ブラインド処理部173が、その乱数から逆元v1、v2を求め、当該逆元v1、v2を相互に相殺する組み合わせになるように鍵パターンuと逆元パターンvを求め、このuとvに基づきブラインド処理を行なう。また、署名処理後、アンブラインド処理部175が、アンブラインド処理を行うことによって署名データSを求め、外部へ出力する。
特許請求の範囲
【請求項1】 メッセージに対する署名処理の前後にNビットの乱数によるブラインド処理、アンブラインド処理を行なう電子署名装置であって、少なくとも2つのLビット(L<N)の乱数を生成する乱数生成手段と、前記乱数によるそれぞれの逆元を求め、当該逆元を相互に相殺する組み合わせになるように鍵パターンと逆元パターンを求めてブラインド処理を行なうブラインド処理手段とを備えたことを特徴とする電子署名装置。
【請求項2】 前記乱数生成手段が生成する乱数はr1、r2の2つであって、前記ブラインド処理手段は、秘密鍵dおよびnを用いることによって、前記の2つの乱数r1、r2のそれぞれの逆元v1、v2を、それぞれ以下の(1)(2)式を演算することによって求め、前記相互に相殺する組み合わせから成る鍵パターンuと、逆元パターンvとを、それぞれ以下の演算式(3)(4)を演算することによって求めることを特徴とする請求項1に記載の電子署名装置。
(1)v1=r1-1 mod n(2)v2=r2-1 mod n(3)u=(r1・v2d mod n(4)v=r2・v1 mod n【請求項3】 以下の(5)式を演算してアンブラインド処理を行なうことにより署名データSを求めるアンブラインド処理手段を備えたことを特徴とする請求項1または2に記載の記載の電子署名装置。
(5)S=u・s mod n但し、ブラインド署名データsとメッセージMとのブラインド処理データmは、それぞれ、以下の式(6)(7)を演算することにより求めることとする。
(6)m=(v・M)mod n(7)s=md mod n【請求項4】 メッセージに対する署名処理の前後にNビットの乱数によるブラインド処理、アンブラインド処理を行なうICカードであって、少なくとも2つのLビット(L<N)の乱数を生成する乱数生成手段と、前記乱数による各々の逆元を求め、当該逆元を相互に相殺する組み合わせになるように鍵パターンと逆元パターンを求めてブラインド処理を行なうブラインド処理手段とを備えたことを特徴とするICカード。
【請求項5】 メッセージに対する署名処理の前後にNビットの乱数によるブラインド処理、アンブラインド処理を行なうICカードを含む電子署名装置に用いられる電子署名プログラムであって、少なくとも2つのLビット(L<N)の乱数を生成するステップと、前記乱数によるそれぞれの逆元を求め、当該逆元を相互に相殺する組み合わせになるように鍵パターンと逆元パターンを求めてブラインド処理を行なうステップと、前記ブラインド処理した署名データのアンブラインド処理を行い、当該署名データを外部へ出力するステップと、をコンピュータに実行させる電子署名プログラム。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、メッセージに対する署名処理の前後にNビットの乱数によるブラインド処理、アンブラインド処理を行なう、電子署名装置およびICカード、ならびにその電子署名プログラムに関する。
【0002】
【従来の技術】電子署名は、メッセージに改竄がないことや発信者が本人であることを確認するための技術として定着している。送信者が送信するメッセージに対しハッシュ関数による演算を施してダイジェストを作成し、このダイジェストを自分の持つ秘密鍵で暗号化したものが電子署名である。ところで、RSA暗号のような公開鍵方式を実装した、例えば、ICカードのような耐タンパー装置では、特定のメッセージの秘密鍵による署名処理、すなわち、S=Md mod n(但し、Sは署名データ、Mは入力メッセージ、dおよびnは秘密鍵情報)の演算時における電圧変動、あるいは、例えばオール0等、dおよびnの情報が電圧変化として出現しやすい特定のパターンを有するメッセージを入力して分析することにより、秘密鍵漏洩の危険性があることが一般に知られている。
【0003】従来、このための対策の一つとして、メッセージをスクランブルする方法があった。メッセージをスクランブルするためには、ブラインド署名(メッセージの内容を秘密にしたまま署名を付してもらう、D.Chaumが提案した概念)として知られている処理を、ブラインド、アンブラインド処理も含めてICカード内部で行なう必要がある。図3に、従来のブラインド署名処理の流れがフローチャートで、また、そのブロック中に、各ステップにおいて計算される演算式が示されている。
【0004】
【発明が解決しようとする課題】図3のフローチャートのステップS302に示されるように、ブラインド処理では、乱数から逆元(inverse element)パターンv(=r-1 mod n)を生成するための逆元演算処理を要す。逆元演算処理自体の高速化の手法は従来からいくつか知られているが、この逆元演算演算は、乱数のビット長に比例した時間だけ処理時間を要する。従って、データ量が大きな場合は計算量も多く、PC等のように比較的処理能力の高いCPUを内蔵する場合は特に問題とはならないが、ICカードのように比較的処理能力が低いCPUを内蔵した場合、例えば、128バイト(1024ビット)の乱数データを扱うのに逆元演算処理のために1秒以上の演算処理時間を要し、従って、適用は不向きであった。
【0005】本発明は上記事情に鑑みてなされたものであり、逆元の処理量はrとnのビット長の短い方に比例することに着目し、乱数を分割することにより、比較的小さなビット数で構成されるそれぞれの乱数から少なくとも2つの逆元を求め、当該逆元を相互に相殺する組み合わせになるように鍵パターンと逆元パターンを求め、ブラインド処理を行なうことによって、逆元のための処理量を削減してCPUの負担を軽減し、かつ、電圧変化等のデータの収集分析による秘密鍵情報の漏洩を防止することのできる、電子署名装置およびICカード、ならびにその電子署名プログラムを提供することを目的とする。
【0006】
【課題を解決するための手段】上記した課題を解決するために本発明は、メッセージに対する署名処理の前後にNビットの乱数によるブラインド処理、アンブラインド処理を行なう電子署名装置であって、少なくとも2つのLビット(L<N)の乱数を生成する乱数生成手段と、前記乱数によるそれぞれの逆元を求め、当該逆元を相互に相殺する組み合わせになるように鍵パターンと逆元パターンを求めてブラインド処理を行なうブラインド処理手段とを備えたことを特徴とする。
【0007】また、本発明において、前記乱数生成手段が生成する乱数はr1、r2の2つであって、前記ブラインド処理手段は、秘密鍵dおよびnを用いることによって、前記の2つの乱数r1、r2のそれぞれの逆元v1、v2を、v1=r1-1 mod n、v2=r2-1 mod nを演算することによって求め、当該逆元を相互に相殺する組み合わせから成る鍵パターンuと、逆元パターンvを、u=(r1・v2dmod n、v=r2・v1 mod nを演算することによって求めることを特徴とする。
【0008】また、本発明において、S=u・s mod nを演算してアンブラインド処理を行なうことにより署名データSを求めるアンブラインド処理手段を備えたことを特徴とする。但し、ブラインド署名データsと、メッセージMのブラインド処理データmは、それぞれ、m=(v・M)mod n、s=md mod nを演算することによって求めることとする。
【0009】上記した課題を解決するために本発明は、メッセージに対する署名処理の前後にNビットの乱数によるブラインド処理、アンブラインド処理を行なうICカードであって、少なくとも2つのLビット(L<N)の乱数を生成する乱数生成手段と、前記乱数による各々の逆元を求め、当該逆元を相互に相殺する組み合わせになるように鍵パターンと逆元パターンを求めてブラインド処理を行なうブラインド処理手段とを備えたことを特徴とする。
【0010】上記した課題を解決するために本発明は、メッセージに対する署名処理の前後にNビットの乱数によるブラインド処理、アンブラインド処理を行なうICカードを含む電子署名装置に用いられる電子署名プログラムであって、少なくとも2つのLビット(L<N)の乱数を生成するステップと、前記乱数によるそれぞれの逆元を求め、当該逆元を相互に相殺する組み合わせになるように鍵パターンと逆元パターンを求めてブラインド処理を行なうステップと、前記ブラインド処理した署名データのアンブラインド処理を行い、当該署名データを外部へ出力するステップと、をコンピュータに実行させることを特徴とする。
【0011】
【発明の実施の形態】図1は、本発明実施形態の内部構成を示すブロック図である。ここでは、電子署名装置としてICカードが例示されている。ICカードは、CPU11を制御中枢とし、ICカードリーダライタを持つ情報端末機器(図示せず)との接続インタフェースとなるI/Oインタフェース部12と、ROMで構成されるプログラムメモリ13と、E2PROMで構成されるワーキングメモリ14と、RAMで構成されるデータメモリ15とが1チップ実装され、これら各ブロック11〜15は、内部バス16に共通接続されている。CPU11は、プログラムメモリ13に記録された本発明の電子署名プログラムを読み出し、データメモリ15を使用して、I/Oインタフェース回路12を介して到来するメッセージのブラインド処理、署名処理、そしてアンブラインド処理他を実行する。なお、ワーキングメモリ14に記録されるデータは、アプリケーションで用いられる、例えば、ID等の個人情報等であり、電源が遮断されても記憶内容を残す必要の有るデータが記録されるものとする。
【0012】17は、電子署名制御部であり、その内部構成が機能展開して示されている。以下に示す各ブロックは、具体的には、いずれもCPU11ならびにメモリ13、14、15を含む周辺回路12で構成されるものであり、CPU11がメモリに記録されたプログラムを読み出し実行することにより、それらブロックが持つ機能が実現されるものである。電子署名制御部17は、メッセージ入力受信部171と、乱数生成部172と、ブラインド処理部173と、署名処理部174と、アンブラインド処理部175と、署名データ出力部176で構成される。
【0013】メッセージ入力受信部171は、I/Oインターフェース回路12を介して到来するメッセージMを受信する機能を持つ。乱数生成部172は、鍵データとして生成される乱数r1、r2を、ICカードが内蔵する8ビットCPUでも演算のために負担とならない、例えば、8バイト(64ビット)から16バイト(128ビット)程度の小さな、少なくとも2つの乱数に分割生成する機能を持つ。また、ブラインド処理部173は、乱数r1、r2によるそれぞれの逆元パターンv1、v2を求めると共に、当該逆元を相互に相殺する組み合わせになるような鍵パターンuと逆元パターンvを求め、それに基づいてブラインド処理を行なう機能を持つ。
【0014】署名処理部174は、ブラインド処理部174によってブラインド処理されたメッセージmへの署名処理を行なう機能を持ち、アンブラインド処理部175は、署名処理されたメッセージmをアンブラインド処理して署名データSを復元する機能を持つ。署名データ出力部176は、アンブラインド処理部175によって得られた署名データSをI/Oインターフェース回路12を介して、図示せぬICカードリーダライタ経由、情報端末機器へ出力する機能を持つ。
【0015】図2は、図1に示す電子署名制御部の動作を説明するために引用したフローチャートであり、具体的には、本発明の電子署名プログラムの処理手順を示す図である。以下、図2に示すフローチャートを参照しながら、図1に示す本発明実施形態の動作について詳細に説明する。
【0016】まず、電子署名制御部17は、I/Oインターフェース回路12経由、メッセージ入力受信部171で外部からメッセージ入力Mを受信する(ステップS201)。このとき、乱数生成部172では、2つの8バイト(64ビット)程度の小さな乱数r1、r2を生成し、ブラインド処理部173に出力する(ステップS202)。これを受けたブラインド処理部173では、受信した乱数r1、r2に基づくそれぞれの逆元パターンv1、v2を以下の演算式(1)、(2)により求める(ステップS203)。
(1)v1=r1-1 mod n(2)v2=r2-1 mod n【0017】ブラインド処理部173では、更に、上記のようにして求められた逆元が相互に相殺する組み合わせになるように、鍵パターンuおよび逆元パターンvを以下の演算式(3)(4)により求める(ステップS204)。
(3)u=(r1・v2d mod n(4)v=r2・v1 mod nそして、メッセージMを以下の演算式(5)によりブラインド処理し、その結果を署名処理部174に出力する(ステップS205)。
(5)m=(v・M)mod n【0018】次に、署名処理部174では、以下の演算式(6)を実行することによりブラインド署名を行い、アンブラインド処理部175へ出力する(ステップS206)。
(6)s=mdmod nそして、アンブラインド処理部175では、以下の演算式(7)を実行することによりアンブラインド処理を行い、署名データSを求める(ステップS207)。
(7)S=v・s mod n但し、ブラインド署名データsと、メッセージMのブラインド処理データmは、それぞれ、上記した演算式(5)(6)により求められたものを使用する。
【0019】なお、ステップS207のアンブラインド処理において、署名データ(Md mod n)が求められる根拠は以下の展開式(8)による。
(8)S=v・s mod n=(r1・v2d・(md)mod n =(r1・v2d・(v・M)dmod n =(r1・v2d・vd・Md mod n =(r1・v2d・(r2・v1d・Md mod n =r1d・v1d・r2d・v2d・Md mod n =Md mod 但し、r1d・v1dmod n=1、r2d・v2dmod n=1そして、この署名データSは、署名データ出力部176により、I/Oインターフェース回路12を介し、図示せぬリーダライタ経由で情報端末機器へ供給される(ステップS208)。ここで、メッセージに改竄がないことや発信者が間違いなく本人であることの確認がなされる。
【0020】以上説明のように本発明は、鍵となる乱数を分割して比較的小さなビット数で構成される乱数から少なくとも2つの逆元を求め、当該逆元を相互に相殺する組み合わせになるように鍵パターンと逆元パターンを求め、ブラインド処理を行なうものであり、このことにより逆元のための演算量を削減してCPUの負担を軽減し、かつ、電圧変化等のデータの収集分析による秘密鍵情報の漏洩を防止することができる。なお、上記した本発明実施形態において、乱数r1、r2のサイズ8バイト(64ビット)は一例であり、直接、乱数rの逆元を求めるよりも演算処理時間が短く、かつ、ブラインド処理を十分に行うためのセキュリティパラメータとして必要なサイズを選択する必要がある。
【0021】なお、上では、2つの乱数r1、r2を用いてブラインド処理およびアンブラインド処理を行なう場合について説明したが、より一般的には、k個(ただし、k≧2)のLビット(ただし、k・L≦N)の乱数ri(1≦i≦k)を生成し、これらk個の乱数を用いてブラインド処理を行なうようにしても良い。なお、この場合もnは公開鍵であり、Nは公開鍵nのビット長である。k個の乱数を用いる場合には、まずブラインド処理部173は、次の式により、それぞれの乱数riの逆元viを求める。
i=ri-1 mod 更に、ブラインド処理部173は、次の式により、鍵パターンuおよび逆元パターンvをそれぞれ求める。
【0022】
【数1】

【0023】
【数2】

【0024】上記のようにuおよびvが求められた後の処理は、前述の2個の乱数を用いる場合と同様である。
【0025】また、上記した本発明実施形態においては、電子署名制御部17を構成するメッセージ入力受信部171と、乱数生成部172と、ブラインド処理部173と、署名処理部174と、アンブラインド処理部175と、署名データ出力部176のそれぞれで実行される手順をコンピュータ読取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、本発明の電子認証装置あるいはICカードが実現されるものとする。ここでいうコンピュータシステムとは、OSや周辺機器等のハードウアを含むものである。
【0026】更に、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。また、「コンピュータ読取り可能な記録媒体」とは、ROMの他に、フレキシブルディスク、光磁気ディスク、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のシステムやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0027】また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0028】以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【0029】
【発明の効果】請求項1に記載の発明によれば、署名処理の前後にブラインド、アンブラインド処理を行なう際、乱数を分割して比較的小さなビット数で構成される乱数を乱数生成手段によって生成し、ブラインド処理手段が、その乱数から少なくとも2つの逆元を求め、当該逆元を相互に相殺する組み合わせになるように鍵パターンと逆元パターンを求め、ブラインド処理を行なうことにより、逆元のための演算量を削減してCPUの負担を軽減し、かつ、電圧変化等のデータの収集分析による秘密鍵情報の漏洩を防止した電子署名装置を提供することができる。
【0030】請求項2に記載の発明によれば、ブラインド処理手段が、署名処理前にブラインド処理を実行する際、例えば、2つの8バイト程度の小さな乱数を元に逆元を求め、この2つの逆元を相互に相殺する組み合わせになるように、鍵、逆元を求めることにより、直接128バイトもの乱数の逆元を求めるよりも演算時間が短くなり、結果的にブラインド処理時間の短縮がはかれる。また、メッセージをスクランブルするため、電圧変化等のデータの収集分析による攻撃から秘密鍵の漏洩を防止することもできる。
【0031】請求項3に記載の発明によれば、署名処理後、アンブラインド処理手段によって先の署名をアンブラインドし、当該署名データを外部出力することにより、メッセージに改竄がないことや発信者が間違いなく本人であることの確認が可能となる。
【0032】請求項4に記載の発明によれば、鍵となる乱数を分割して比較的小さなビット数で構成される乱数から少なくとも2つの逆元を求め、当該逆元を相互に相殺する組み合わせになるように鍵パターンと逆元パターンを求め、ブラインド処理を行なうことにより、逆元のための演算量を削減してCPUの負担を軽減し、かつ、電圧変化等のデータの収集分析による秘密鍵情報の漏洩を防止したICカードを提供することができる。
【0033】請求項5に記載の発明によれば、本発明の電子署名プログラムを、電子署名装置、もしくはICカードに内蔵されたコンピュータ(CPU)に実行させることにより、署名処理前にブラインド処理を実行する際、例えば、2つの8バイト程度の小さな乱数を元に逆元を求め、この2つの逆元を相互に相殺する組み合わせになるように、鍵、逆元を求めることで、直接128バイトもの乱数の逆元を求めるよりも演算時間が短くなり、結果的にブラインド時間の短縮がはかれる。また、メッセージをスクランブルするため、電圧変化等のデータの収集分析による攻撃から秘密鍵の漏洩を防止することもできる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013