JP3584831B2 - 移動エージェントによる署名計算システムおよびプログラムを記録した記録媒体 - Google Patents

移動エージェントによる署名計算システムおよびプログラムを記録した記録媒体 Download PDF

Info

Publication number
JP3584831B2
JP3584831B2 JP2000009037A JP2000009037A JP3584831B2 JP 3584831 B2 JP3584831 B2 JP 3584831B2 JP 2000009037 A JP2000009037 A JP 2000009037A JP 2000009037 A JP2000009037 A JP 2000009037A JP 3584831 B2 JP3584831 B2 JP 3584831B2
Authority
JP
Japan
Prior art keywords
signature
mobile agent
destination host
data
host
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
JP2000009037A
Other languages
English (en)
Other versions
JP2001202012A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2000009037A priority Critical patent/JP3584831B2/ja
Priority to US09/760,805 priority patent/US7103775B2/en
Publication of JP2001202012A publication Critical patent/JP2001202012A/ja
Application granted granted Critical
Publication of JP3584831B2 publication Critical patent/JP3584831B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/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
    • H04L9/3255Cryptographic 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 using group based signatures, e.g. ring or threshold signatures
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、ベースホストを出発した移動エージェントが移動先ホストにおいてディジタル署名を計算する場合に用いて好適な移動エージェントによる署名計算システムおよびベースホスト、移動ホストでそれぞれ用いられるプログラムを記録した記録媒体に関するものである。
【0002】
【従来の技術】
移動エージェントは、移動エージェントの所有者の依頼した目的を達成するために、ネットワーク上に存在する複数のホストを自律的かつ動的に移動し、移動先のホストでプログラム・コードを起動し、処理していく。移動エージェントのセキュリティを保護する方式としては、移動エージェントのプログラム・コードの中に、公開鍵暗号や秘密鍵暗号のアルゴリズムを実装したプログラム・コードを格納して、悪意のある第三者によるデータの解析を困難にする方式や、移動エージェントのプログラム・コードに対して該移動エージェントの所有者の秘密鍵を用いて計算を行ったディジタル署名のデータをエージェントに保有させてネットワークを移動させる事によって、移動エージェントのプログラム・コードや保持するデータの改竄を困難にする方式が提案されている。
【0003】
移動エージェントのセキュリティ保護に関する従来技術は、例えば特開平10−269186号公報や特表平11−506222号公報に詳しく述べられている。
【0004】
【発明が解決しようとする課題】
上記特開平10−269186号公報で述べられている技術では、悪意のある第三者がデータの解析や改竄を行う事を防止する事はできるが、移動先のホストに悪意がある場合には、移動先のホストによって移動エージェントの保有しているデータの解析が容易に行えるという問題がある。移動エージェントが移動先のホストでエージェントの所有者のディジタル署名を計算しようとする場合、エージェントは該所有者の秘密鍵をエージェントに保有させる必要があるため、移動先のホストは、移動エージェントの保有するプログラム・コードおよびデータを解析する事により、該ユーザの秘密鍵を容易に知る事が可能であった。
【0005】
この問題のため従来の技術では、移動エージェントが移動先のホストで該ホストが提示した任意のデータに対してディジタル署名を施す事は不可能であった。
【0006】
また、特表平11−506222号公報に述べられている技術では、署名計算を委託する移動ホスト等の機関が多数ある場合には、効率的の面で問題があった。尚、この公報の技術については、後述によりさらに説明する。
【0007】
本発明の目的は、単独の移動先のホストでは解析できない形態で移動エージェント所有者の秘密鍵を移動エージェントに保有させる事により、移動先のホストに秘密鍵を知られる事なく、任意の移動先のホストが提示した任意の署名対象データに対する前記移動エージェント所有者のディジタル署名を計算し、前記署名対象データを提示した移動先のホストに渡す事にある。
【0008】
また、本発明の他の目的は、単独の移動先のホストでは解析できない形態で移動エージェントの所有者にしか生成し得ない情報を移動エージェントに保有させる事により、任意の移動先のホストが提示した任意の署名対象データに対して前記情報を秘密鍵として用いたデジタル署名を計算し、前記署名対象データを提示した移動先のホストに渡す事にある。
【0009】
【課題を解決するための手段】
上記の目的を達成するために、本発明による第1の移動エージェントによる署名計算システムは、移動エージェント(例えば第1の形態および第1の実施例における移動エージェント140、540)がプログラムコードの実行を行うエージェント実行環境(同実行環境105、505)と、乱数を出力する乱数生成手段(同乱数生成部101、501)と、乱数生成手段から出力される乱数と移動エージェントの所有者の秘密鍵(同秘密鍵103、503)とを入力として、移動先のホスト(同移動先ホスト110、120、130、510、520、530)で移動エージェントが署名を計算するために必要な補助データを生成する部分署名補助データ生成手段(同部分署名補助データ生成部104、504)と、計算されたデータの秘匿および署名の付与を行う公開鍵暗号計算手段(同公開鍵暗号計算部102、502)とを備えたベースホスト(同ベースホスト100、500)を出発点として前記移動エージェントが移動を開始し、移動エージェントがプログラムコードの実行を行うエージェント実行環境(同実行環境111、121、131、511、521、531))と、署名対象データと移動エージェントが保有しているデータと移動先ホストの秘密鍵(同秘密鍵115、125、135、515、525、535)とを入力として移動エージェントが署名を計算するために必要なデータである部分署名を計算する部分署名計算手段(同部分署名計算部112、122、132、512、522、532)と、移動先ホストによって計算された一つまたは複数の部分署名を入力として前記署名対象データに対する移動エージェントの所有者の秘密鍵を用いて計算を行ったディジタル署名を出力する部分署名署名化手段(同部分署名署名化部113、123、133、513、523、533)と、計算されたデータの秘匿および移動先ホストの署名付与を行う公開鍵暗号計算手段(同公開鍵暗号計算部114、124、134、514、524、534)とをそれぞれ備えた一つまたは複数の移動先ホストを前記移動エージェントが移動することによって、移動エージェントが移動先のホストで任意の署名対象データに対する移動エージェントの所有者の秘密鍵を用いたディジタル署名を計算することを特徴とする。
【0010】
また、本発明による第2の移動エージェントによる署名計算システムは、移動エージェント(例えば第2の形態および第2の実施例における移動エージェント340、740)がプログラムコードの実行を行うエージェント実行環境(同実行環境305、705)と、乱数を出力する乱数生成手段(同乱数生成部301、701)と、乱数生成手段から出力される乱数を入力として、新規秘密鍵・公開鍵のペアと移動先のホストで移動エージェントが署名を計算するために必要な補助データを生成する部分署名補助データ生成手段(同部分署名補助データ生成部304、704)と、計算されたデータの秘匿および署名の付与を行う公開鍵暗号計算手段(同公開鍵暗号計算部302、702)とを備えたベースホスト(同ベースホスト300、700)を出発点として前記移動エージェントが移動を開始し、移動エージェントがプログラムコードの実行を行うエージェント実行環境(同実行環境311、321、331、711、721、731))と、署名対象データと移動エージェントが保有しているデータと移動先ホストの秘密鍵(同秘密鍵315、325、335、715、725、735)とを入力として移動エージェントが署名を計算するために必要なデータである部分署名を計算する部分署名計算手段(同部分署名署名化部313、323、333、713、723、733)と、移動先ホストによって計算された一つまたは複数の部分署名を入力として前記署名対象データに対するベースホストの部分署名補助データ生成手段によって出力された前記新規秘密鍵を用いて計算を行ったディジタル署名を出力する部分署名署名化手段(同部分署名署名化部313、323、333、713、723、733)と、計算されたデータの秘匿および移動先ホストの署名付与を行う公開鍵暗号計算手段(同公開鍵暗号計算部314、324、334、714、724、734)とをそれぞれ備えた一つまたは複数の移動先ホストを前記移動エージェントが移動することによって、移動エージェントが移動先のホストで任意の署名対象データに対する前記新規秘密鍵を用いたディジタル署名を計算することを特徴とする。
【0011】
また、第1、第2の移動エージェントによる署名計算システムにおいて、移動ホストを構成する部分署名計算手段、部分署名署名化手段および公開鍵暗号計算手段のうちの何れか一つ以上を削除するととともに、それを移動エージェント側に設けるようにしてもよい。
【0016】
前記ベースホストにおいては、公開鍵暗号計算手段により秘密鍵を用いて公開鍵暗号によるデータの暗号化、復号およびディジタル署名の計算を行うとともに、部分署名補助データ生成手段により乱数と秘密鍵を用いて移動先ホストiが移動エージェントのディジタル署名を計算するために必要なデータを計算することによって移動エージェントが移動先のホストで必要となるデータの準備を行う。移動先ホストi(1≦i≦k)においては、部分署名計算手段が、移動してきた移動エージェントが移動中にディジタル署名を付与する事を決定したメッセージと前記部分署名補助データ生成手段の出力とを入力として、移動エージェントの所有者のディジタル署名を計算するために必要なデータである部分署名の計算を行うとともに、部分署名署名化手段が一つまたは複数の移動先ホストによって計算された部分署名を入力として、前記のメッセージに対する移動エージェント所有者のディジタル署名を出力する。また、過去に移動エージェントが移動してきた際に計算した部分署名の出力結果や、移動先ホストiが移動エージェントから削除した部分署名補助データを格納するとともに、公開鍵暗号計算手段は、移動先ホストi(1≦i≦k)によって計算された部分署名や部分署名補助データ計算手段の秘匿および改竄防止のために暗号化およびディジタル署名の付与を行うことにより、エージェントの依頼に応じて必要なデータの計算を行う。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は、本発明の第1の実施形態による移動エージェントによる署名計算システムの構成を示すブロック図である。
本署名計算システムは、ベースホスト100と、移動先ホストi(1≦i≦k)と、移動エージェント140とを含んで構成される。図1では移動先ホストi(1≦i≦k)のうち、移動先ホスト1(110)と移動先ホスト2(120)と移動先ホストk(130)が図示されている。また図中の黒く塗りつぶされた矢印は移動エージェント140の移動を表しており、また矢印が破線になっている部分は、その破線部分で複数のホストを移動していることを表している。
【0018】
次に、これらのホストと移動エージェントの概略的な構成及び動作について説明する。
ベースホスト100は、乱数生成部101と、公開鍵暗号計算部102と、移動エージェントの所有者の秘密鍵である秘密鍵0(103)と、部分署名補助データ生成部104と、エージェント実行環境105とを含んで構成されている。
【0019】
乱数生成部101は部分署名補助データ生成部104の要求を受け、乱数を出力する。公開鍵暗号計算部は102は、部分署名補助データ生成部104から受け渡されるデータを入力とし、この入力データの暗号化、復号、およびディジタル署名の計算を行う。ディジタル署名を計算する際には、公開鍵暗号計算部102には移動エージェント140の所有者の秘密鍵である秘密鍵0(103)も入力される。
【0020】
部分署名補助データ生成部104は、前記乱数生成部101の出力と移動エージェント140の所有者の秘密鍵である秘密鍵0(103)とを入力とし、移動エージェント140が移動先ホストi(1≦i≦k)において、移動エージェント140の所有者のディジタル署名を生成する際に必要なデータである部分署名を計算するための補助データを移動前の移動エージェント140内の中間データ格納部141に格納する。
エージェント実行環境105は、移動エージェント140がプログラム・コードの実行を行うためのCPU資源、メモリ等の計算環境を提供する。
【0021】
移動先ホスト1(110)は、エージェント実行環境111と、部分署名計算部112と、部分署名署名化部113と、公開鍵暗号計算部114と、秘密鍵1(115)とデータ記憶部116とを含んで構成されている。
【0022】
エージェント実行環境111は、前記エージェント実行環境105と同様に移動エージェント140がプログラム・コードの実行を行うためのCPU資源、メモリ等の計算環境を提供する。
【0023】
部分署名計算部112は移動エージェント140が保持している部分署名補助データ生成部104の出力と移動エージェント140が複数の移動先ホストを移動している間に動的に決定された署名対象データと移動先ホスト1(110)の秘密鍵である秘密鍵1(115)とを入力として、移動エージェント140の所有者の秘密鍵である秘密鍵0(103)によるディジタル署名を計算するために必要なデータである部分署名を出力し、移動エージェント140内の中間データ格納部141に格納する。
【0024】
部分署名署名化部113は、一つまたは複数の移動先ホストi(1≦i≦k)の部分署名計算部112、122、132によって出力され、移動エージェント140に格納された一つまたは複数の部分署名を入力として、移動エージェント140の所有者の秘密鍵である秘密鍵0(103)による前記署名対象データに対するディジタル署名を出力する。
【0025】
公開鍵暗号計算部114は、前記部分署名計算部112の出力をディジタル署名を渡すホスト以外に対して秘匿するために署名を渡すホストの公開鍵で該出力の暗号化を行う。また前記部分署名計算部112の出力を他の移動先ホストによって解析されたり改竄されることを防止するため、データを渡す相手の公開鍵による暗号化や移動ホスト1(110)の秘密鍵である秘密鍵1(115)を用いて前記部分署名計算部112の出力に対するディジタル署名の計算を行う。
【0026】
データ記憶部116は、移動エージェント140が再び同一のホストに移動するまでの間一時的に後に必要となるデータの格納を行う。
移動先ホストi(2≦i≦k)の構成については、移動先ホスト1(110)の構成と同様であるため詳細な説明は省略する。
【0027】
移動エージェント140は、中間データ格納部141を含んで構成されている。この中間データ格納部141は、ベースホスト100の部分署名補助データ生成部104および移動先ホストi(1≦i≦k)の部分署名計算部によって出力されるディジタル署名の計算に必要となるデータの格納を行う。
【0028】
本実施形態では、移動エージェント140が複数の移動先ホストを移動後に到達した移動先ホスト1(110)が提示したデータに対する移動エージェント140の所有者のディジタル署名を、移動先ホストi(1≦i≦k)が計算するデータから生成を行う。
【0029】
次に図1および図2を参照して、本実施の形態による署名計算システムの全体の動作について詳細に説明する。
まず、署名を移動先のホストで計算する事を目的とした移動エージェント140がベースホスト100内のエージェント実行環境105で起動される(図2のステップA1)。
【0030】
次に、部分署名補助データ生成部104が移動エージェント140の所有者の秘密鍵である秘密鍵0(103)と、乱数生成部101から出力される一つまたは複数の乱数とを入力として、秘密鍵0(103)と予め定められた関係を満足する部分署名補助データを生成して出力し、移動エージェント140内の中間データ格納部141に格納する。後に移動エージェント140が移動した先のホストで、部分署名補助データが改竄されないために、出力された部分署名補助データは秘密鍵0によってディジタル署名が施され、部分署名補助データとともに中間データ格納部141に格納される(ステップA2)。
【0031】
移動エージェント140内の中間データ格納部141に部分署名補助データおよびディジタル署名が格納された後、移動エージェント140はネットワークを介して移動を開始する(ステップA3)。移動エージェント140は動的に0またはいくつかの移動先ホストを移動し、移動先のホストにデータを提示され、そのデータが署名を施す対象データであるかどうかの判断を行う(ステップA4)。
【0032】
0またはいくつかの移動先ホストを動的に訪問後、移動エージェント140の移動中に動的に決定された移動先ホスト1(110)に移動し(ステップA5,A6)、移動先ホスト1(110)からデータの提示を受ける。移動エージェント140は、移動先ホスト1(110)の提示したデータを署名対象データとして、移動エージェント140の所有者の秘密鍵である秘密鍵0(103)によるディジタル署名を計算する事を決定し、該署名対象データを移動エージェント140の中間データ格納部141に格納する(ステップA7)。
【0033】
署名対象データ決定後、移動先ホスト1(110)は中間データ格納部141に格納されているデータの全部または一部と、移動先ホスト1(110)の秘密鍵である秘密鍵1(115)とを部分署名計算部112に入力する事によって、移動エージェント140の所有者の秘密鍵0による署名対象データに対する署名を計算する際に必要となる部分署名を得る(ステップA8)。
【0034】
移動先ホスト1(110)は、部分署名計算部112に入力された中間データ格納部141に格納されていたデータの中から以後に移動する移動先ホストi(2≦i≦k)で参照されないデータを中間データ格納部141から削除し、データ記憶部116に格納する。さらに部分署名計算部112の出力のうち以後に移動する移動先ホストi(1≦i≦k)で参照されないデータもデータ記憶部116に格納する。部分署名計算部112の出力のうち以後に移動する移動先ホストi(1≦i≦k)で参照されるデータは移動先ホスト1(110)の秘密鍵である秘密鍵1(115)によるディジタル署名を計算し、該署名とともに移動エージェント140内の中間データ格納部141に格納する(ステップA9)。
【0035】
以上の処理が終了した後、移動エージェント140は次の移動先ホストである移動先ホスト2(120)に移動する(ステップA10,A11,A12)。次に移動する移動先ホスト2(120)は、移動エージェント141が移動先ホスト1(110)に移動してきた時点で既に決定していたホストであっても、移動エージェント141が移動先ホスト1(110)に到着した後に移動先ホストによって動的に決定されたホストであっても良い。
【0036】
以後に訪れる移動先ホストi(2≦i≦k)における処理の流れはiの値に関わらず同様であるため、代表して移動先ホストi(120,130)における処理の流れに関して説明する。
移動先ホストi(120,130)は移動エージェント140の中間データ格納部141に格納されているデータの全部または一部と、移動先ホストi(120,130)の秘密鍵である秘密鍵i(125,135)とを部分署名計算部122,132に入力する事によって移動エージェント140の所有者の秘密鍵0による署名対象データに対する署名を計算する際に必要となる部分署名を得る。このとき部分署名計算部122,132への入力となるデータに署名が付与されている場合には署名の検証を行う(ステップA8)。
【0037】
移動先ホストi(120,130)は、部分署名計算部122,132に入力された移動エージェント140の中間データ格納部141に格納されていたデータのうち、以後に移動する移動先ホストj(j=1またはi+1≦j≦k)で参照されないデータを公開鍵暗号計算部124,134に入力する事によって、移動エージェントの所有者の公開鍵で暗号化を行い、得られた暗号文を中間データ格納部141に格納する。
【0038】
さらに部分署名計算部122,132の出力のうち移動先ホストj(i+1≦j≦k)で参照されないデータは公開鍵暗号計算部124,134を用いて移動先ホスト1(110)の公開鍵で暗号化を行い、得られた暗号文を中間データ格納部141に格納する。部分署名計算部122,132の出力のうち以後に移動する移動先ホストj(i+1≦j≦k)で参照されるデータは移動先ホストの秘密鍵である秘密鍵i(125,135)によるディジタル署名を計算し、該署名とともに中間データ格納部141に格納する(ステップA9)。
【0039】
以上の処理が終了した後、移動エージェント140は次の移動先ホストに移動する。次の移動先ホストはi=kである場合には移動先ホスト1(110)となり、それ以外の場合には移動先ホストi+1となる(ステップA10,A11,A12,A13)。i≠kの場合、次に移動する移動先ホストi+1は、移動エージェント141が移動先ホストiに移動してきた時点で既に決定していたホストであっても、移動エージェント141が移動先ホストiに到着した後に移動先ホストによって動的に決定されたホストであっても良い。
【0040】
移動エージェント140が再び移動先ホスト1(110)に移動した後、移動先ホスト1(110)は中間データ格納部141に格納されているデータの全部または一部と、移動先ホスト1(110)の秘密鍵である秘密鍵1(115)とを部分署名計算部112に入力する事によって、移動エージェント140の所有者の秘密鍵0による署名対象データに対するディジタル署名を計算する際に必要となる部分署名を得る(ステップA14)。
【0041】
部分署名計算後、移動先ホスト1(110)は中間データ格納部141に格納されているデータに対して該データが暗号化されている場合は、該データと移動先ホスト1の秘密鍵である秘密鍵1(115)を公開鍵暗号計算部114に入力する事によって該データの復号を行った後、復号したデータとディジタル署名を生成したホストの公開鍵を公開鍵暗号計算部114に入力する事によって該復号データに対する署名の検証を行い、該データが暗号化されていない場合は、該データとディジタル署名を生成したホストの公開鍵を公開鍵暗号計算部114に入力し、該データに対する署名の検証を行う事によってデータの改竄が行われていない事を確認する(ステップA15)。
【0042】
全てのディジタル署名の検証が終了した時点において、移動先ホスト1(110)は移動先ホストi(1≦i≦k)によって計算された部分署名が得られる。移動先ホスト1(110)は得られた全てまたは一部の部分署名を部分署名署名化部113に入力する事によって、前記署名対象データに対して移動エージェントの所有者の秘密鍵である秘密鍵0によるディジタル署名が出力として得られる(ステップA16)。移動先ホスト1(110)は得られたディジタル署名をデータ記憶部116に格納し、移動エージェント140はベースホスト100に戻る(ステップA17)。
【0043】
次に、本実施の形態による効果について説明する。
以上の処理によって得られたディジタル署名は、移動エージェント140が移動したホストや移動した順序によらず、常に移動エージェントの所有者の公開鍵によって正当性が検証できるディジタル署名になっている。署名の偽造の可能性に関しては、移動エージェントの所有者の署名を生成するために、k個の移動先ホストの秘密鍵による演算が必要になるため、k個の移動先ホストが結託しない限りは署名の偽造を行う事を困難にすることができる。
【0044】
次に本発明の第2の実施の形態について説明する。
前述した第1の実施の形態では、移動エージェントが計算する署名が、移動先ホストが提示した署名対象データに対して移動エージェントの所有者の秘密鍵を用いて計算した署名であったのに対し、本発明の第2の実施の形態では、移動エージェントが計算する署名が、移動エージェントのベースホストによって移動エージェントが移動を始める前に新規に生成された秘密鍵を用いて署名対象データに対して計算されたディジタル署名と、該ベースホストが新規に作成した秘密鍵に対応する公開鍵と、該公開鍵に対する移動エージェントの所有が予め所有している秘密鍵を用いて計算したディジタル署名のデータの三つ組みとなる点において異なっている。
【0045】
図3は、本発明の第2の実施形態による署名計算システムの構成を示すブロック図である。
本署名計算システムは、ベースホスト300と、移動先ホストi(1≦i≦k)と、移動エージェント340とを含んで構成される。図3では移動先ホストi(1≦i≦k)のうち、移動先ホスト1(310)と、移動先ホスト2(320)と、移動先ホストk(330)が図示されている。また図中の黒く塗りつぶされた矢印は移動エージェント340の移動を表しており、また矢印が破線になっている部分は、その破線部分で複数のホストを移動していることを表している。
【0046】
次にこれらのホストと移動エージェントの構成および動作について概略的に説明する。
ベースホスト300は、乱数生成部301と、公開鍵暗号計算部302と、移動エージェント340の所有者の秘密鍵である秘密鍵0(303)と、部分署名補助データ生成部304と、エージェント実行環境305とを含んで構成されている。
上記構成要素のうち、乱数生成部301、公開鍵暗号計算部302、秘密鍵0(303)、エージェント実行環境305については、第1の実施形態における乱数生成部101、公開鍵暗号計算部102、秘密鍵0(103)、エージント実行環境105とそれぞれ同一の動作であるため詳細な説明は省略する。
【0047】
部分署名補助データ生成部304は、前記乱数生成部301の出力を入力とし、新規の秘密鍵と公開鍵の組の生成、移動エージェント340が移動先ホストi(1≦i≦k)において、前記の新規秘密鍵によるディジタル署名を生成するために必要となる部分署名を計算するための補助データを該データに対する移動エージェント340所有者の秘密鍵である秘密鍵0(303)によるディジタル署名とともに移動前の移動エージェント340内の中間データ格納部341へ格納する事、および前記の新規公開鍵を移動エージェント340所有者の秘密鍵である秘密鍵0(303)によるディジタル署名とともに移動前の移動エージェント340内の中間データ格納部341へ格納する事を行う。
【0048】
移動先ホスト1(310)は、エージェント実行環境311と、部分署名計算部312と部分署名署名化部313と公開鍵暗号計算部314とデータ記憶部316とを含んで構成されている。
上記構成要素のうち、エージェント実行環境311、部分署名計算部312、公開鍵暗号計算部314、データ記憶部316については、第1の実施形態におけるエージェント実行環境111、部分署名計算部112、公開鍵暗号計算部114、データ記憶部116とそれぞれ同一な動作であるため詳細な説明は省略する。
【0049】
部分署名署名化部313は一つまたは複数の移動先ホストi(1≦i≦k)の部分署名計算部312、322、332によって出力され、移動エージェント340に格納された一つまたは複数のデータを入力として、ベースホスト300の部分署名補助データ生成部304によって生成された新規秘密鍵によるディジタル署名と、中間データ格納部341に格納されている新規公開鍵と、該新規公開鍵に対する移動エージェント340所有者の秘密鍵である秘密鍵0(303)によるディジタル署名とを組にして移動エージェント340の所有者のディジタル署名として出力する。
移動先ホストi(2≦i≦k)および移動エージェント340の構成については、移動先ホスト1の構成と同じであるため詳細な説明は省略する。
【0050】
本実施形態では、移動エージェント340が複数の移動先ホストを移動後に到達した移動先ホスト1(310)が提示したデータに対する移動エージェント340の所有者のディジタル署名を、移動先ホストi(1≦i≦k)が計算するデータから生成する。
【0051】
次に図3および図4を参照して本実施の形態による署名計算システムの全体の動作について詳細に説明する。
まず、署名を移動先のホストで計算する事を目的とした移動エージェント340がベースホスト300内のエージェント実行環境305で起動される(図4のステップB1)。
【0052】
次に、部分署名補助データ生成部304は乱数出力部301から出力される一つまたは複数の乱数を入力として新規に公開鍵と秘密鍵のペアを計算する。該公開鍵に対しては移動エージェント340の秘密鍵である秘密鍵0によるディジタル署名を計算し、署名とともに移動エージェント340内の中間データ格納部341に格納する(ステップB2)。
【0053】
次に部分署名補助データ生成部304は、乱数生成部301から出力される一つまたは複数の乱数とを入力として、ステップB2で生成した新規秘密鍵と予め定められた関係を満足する部分署名補助データを出力し、中間データ格納部341に格納する。後に移動エージェント340が移動した先のホストで部分署名補助データが改竄されないために、出力された部分署名補助データは秘密鍵0によるディジタル署名が施され、部分署名補助データとともに中間データ格納部341に格納される(ステップB3)。
【0054】
中間データ格納部341に部分署名補助データおよびディジタル署名が格納された後、移動エージェント340はネットワークを介して移動を開始する(図4のステップB4)。移動エージェント340は動的に0またはくつかの移動先ホストを移動し、移動先のホストにデータを提示され、そのデータが署名を施す対象データであるかどうかの判断を行う(ステップB5)。
【0055】
0またはいくつかの移動先ホストを動的に訪問後、移動エージェント340の移動中に動的に決定された移動先ホスト1(310)に移動し(ステップB6,B7)、移動先ホスト1(310)からデータの提示を受ける。移動エージェント340は、移動先ホスト1(310)の提示したデータを署名対象データとして、前記ベースホスト300の部分署名補助データ生成部304によって生成された新規秘密鍵によるディジタル署名を計算する事を決定し、該署名対象データを中間データ格納部341に格納する(ステップB8)。
【0056】
署名対象データ決定後、移動先ホスト1(310)は中間データ格納部341に格納されているデータの全部または一部と、移動先ホスト1(310)の秘密鍵である秘密鍵1(315)とを部分署名計算部312に入力する事によって前記ベースホスト300の部分署名補助データ生成部304によって生成された新規秘密鍵による署名対象データに対する署名を計算する際に必要となる部分署名を得る。このとき部分署名入力部322,332への入力となるデータに署名が付与されている場合には署名の検証を行う(ステップB9)。
【0057】
移動先ホスト1(310)は、部分署名計算部312に入力された中間データ格納部341に格納されていたデータの中から以後に移動する移動先ホストi(2≦i≦k)で参照されないデータを該中間データ格納部341から削除し、データ記憶部316に格納する。さらに部分署名計算部312の出力のうち以後に移動する移動先ホストi(1≦i≦k)で参照されないデータもデータ記憶部316に格納する。部分署名計算部312の出力のうち以後に移動する移動先ホストi(1≦i≦k)で参照されるデータは移動先ホスト1(310)の秘密鍵である秘密鍵1(315)によるディジタル署名を計算し該署名とともに中間データ格納部341に格納する(ステップB10)。
【0058】
以上の処理が終了した後、移動エージェント340は次の移動先ホストである移動先ホスト2(320)に移動する(ステップB11,B12,B13)。次に移動する移動先ホスト2(320)は、移動エージェント341が移動先ホスト1(310)に移動してきた時点で既に決定していたホストであっても、移動エージェント341が移動先ホスト1(310)に到着した後に移動先ホストによって動的に決定されたホストであっても良い。
【0059】
以後に訪れる、移動先ホストi(2≦i≦k)における処理の流れはiの値に関わらず同様であるため、代表して移動先ホストi(320,330)における処理の流れに関して説明する。
移動先ホストi(320,330)は移動エージェント340の中間データ格納部341に格納されているデータの全部または一部と、移動先ホストi(320,330)の秘密鍵である秘密鍵i 325,335とを部分署名計算部322,332に入力する事によって前記ベースホスト300の部分署名補助データ生成部304によって生成された新規秘密鍵による署名対象データに対するディジタル署名を計算する際に必要となる部分署名を得る(ステップB9)。
【0060】
移動先ホストi(320,330)は、部分署名計算部322,332に入力された中間データ格納部341に格納されていたデータのち、以後に移動する移動先ホストj(j=1またはi+1≦j≦k)で参照されないデータを公開鍵暗号計算部324,334に入力する事によって、移動エージェント340の所有者の公開鍵で暗号化を行い、得られた暗号文を中間データ格納部341に格納する。さらに部分署名計算部322,332の出力のうち以後に移動する移動先ホストj(i+1≦j≦k)で参照されないデータも公開鍵暗号計算部324,334を用いて移動先ホスト1(310)の公開鍵で暗号化を行い、暗号文を中間データ格納部341に格納する。
【0061】
部分署名計算部322,332の出力のうち以後に移動する移動先ホストj(i+1≦j≦k)で参照されるデータは移動先ホストの秘密鍵である秘密鍵i325,335によってディジタル署名を計算し該署名とともに中間データ格納部341に格納する(ステップB10)。
【0062】
以上の処理が終了した後、移動エージェント340は次の移動先ホストに移動する。次の移動先ホストはi=kである場合には移動先ホスト1(310)となり、それ以外の場合には移動先ホストi+1となる(ステップB11,B12,A13,B14)。i≠kの場合、次に移動する移動先ホストi+1は、移動エージェント340が移動先ホストiに移動してきた時点で既に決定していたホストであっても、移動エージェント340が移動先ホストiに到着した後に移動先ホストによって動的に決定されたホストであっても良い。
【0063】
移動エージェント340が再び移動先ホスト1 310に移動した後、移動先ホスト1(310)は中間データ格納部341に格納されているデータの全部または一部と、移動先ホスト1(310)の秘密鍵である秘密鍵1(315)とを部分署名計算部312に入力する事によって前記ベースホスト300の部分署名補助データ生成部304によって生成された新規秘密鍵による署名対象データに対するディジタル署名を計算する際に必要となる部分署名を得る(ステップB15)。
【0064】
部分署名計算後、移動先ホスト1(310)は中間データ格納部341に格納されているデータに対して該データが暗号化されている場合は該データと移動先ホスト1(310)の秘密鍵である秘密鍵1(315)を公開鍵暗号計算部314に入力する事によって該データの復号を行った後、復号したデータとディジタル署名を生成したホストの公開鍵を公開鍵暗号計算部314に入力する事によって該復号データに対する署名の検証を行い、該データが暗号化されていない場合は該データと署名を生成したホストの公開鍵を公開鍵暗号計算部314に入力するし、該データに対する署名の検証を行う事によってデータの改竄が行われていない事を確認する(ステップB16)。
【0065】
全ての署名の検証が終了した時点において、移動先ホスト1(310)は移動先ホストi(1≦i≦k)によって計算された部分署名が得られる。移動先ホスト1は得られた部分署名の全てまたは一部を部分署名署名化部313に入力する事によって、前記署名対象データに対して前記ベースホスト300の部分署名補助データ生成部304によって生成された新規秘密鍵によるディジタル署名が出力として得られる(ステップB17)。
【0066】
移動先ホスト1(310)は得られたディジタル署名と、前記ベースホスト300の部分署名補助データ生成部304によって移動エージェント340内の中間データ格納部341に格納された新規公開鍵と該新規公開鍵に対する移動エージェント340の所有者の秘密鍵である秘密鍵0を用いて計算したディジタル署名をデータ記憶部316に格納し、移動エージェント340はベースホスト300に戻る(ステップB18)。
【0067】
次に、本実施の形態による効果について説明する。
以上の処理によって得られたディジタル署名は、移動エージェントが移動したホストや移動した順序によらず、常に移動エージェントの所有者の公開鍵によって正当性が検証できる署名になっている。署名の偽造可能性に関しては、移動エージェントの所有者の署名を生成するために、k個の移動先ホストの秘密鍵による演算が必要になるため、k個の移動先ホストが結託しない限りは署名の偽造を行う事を困難にすることができる。更にk個のホストが結託した場合でも、明らかになる情報はベースホストが新規に生成する秘密鍵だけであるので、ベースホストの所有者の秘密鍵は結託した悪意のある移動ホストに知られる事はない。
【0068】
次に本発明の第3の実施の形態について説明する。
第3の実施の形態は、前述した第1の実施の形態において、移動先ホストi(1≦i≦k)に存在していた部分署名計算部112,122,132が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0069】
第3の実施の形態においては、移動エージェント140のプログラム・コードの入力として移動先ホストi(1≦i≦k)の秘密鍵が与えられるため、該秘密鍵を移動エージェント140の所有者および別の移動先ホストに知られないようにするために、移動エージェント140のプログラム・コードおよび中間データ格納手段に格納されている該秘密鍵の情報を移動エージェント140が次のホストに移動する前に消去する必要がある。
【0070】
次に本発明の第4の実施の形態について説明する。
第4の実施の形態は、第1の実施の形態において、移動先ホストに存在していた部分署名署名化部113,123,133が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0071】
次に本発明の第5の実施の形態について説明する。
第5の実施の形態は、第1の実施の形態において、移動先ホストi(1≦i≦k)に存在していた公開鍵暗号計算部114,124,134が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0072】
次に本発明の第6の実施の形態について説明する。
第6の実施の形態は、第1の実施の形態において、移動先ホストi(1≦i≦k)に存在していた部分署名計算部112,122,132および部分署名署名化部113,123,133が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0073】
次に本発明の第7の実施の形態について説明する。
第7の実施の形態は、第1の実施の形態において、移動先ホストi(1≦i≦k)に存在していた部分署名署名化部113,123,133および公開鍵暗号計算部114,124,134が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0074】
次に本発明の第8の実施の形態について説明する。
第8の実施の形態は、第1の実施の形態において、移動先ホストi(1≦i≦k)に存在していた部分署名計算部112,122,132および公開鍵暗号計算部114,124,134が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0075】
次に本発明の第9の実施の形態について説明する。
第9の実施の形態は、第1の実施の形態において、移動先ホストi(1≦i≦k)に存在していた部分署名計算部112,122,132および部分署名署名化部113,123,133および公開鍵暗号計算部114,124,134が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0076】
次に本発明の第10の実施の形態について説明する。
第10の実施の形態は、前述した第2の実施の形態において、移動先ホストi(1≦i≦k)に存在していた部分署名計算部112,122,132が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0077】
上述した第5〜第10の実施の形態においては、移動エージェント140のプログラム・コードの入力として移動先ホストi(1≦i≦k)の秘密鍵が与えられるため、該秘密鍵を移動エージェント140の所有者および別の移動先ホストに知られないようにするために、移動エージェント140のプログラム・コードおよび中間データ格納手段に格納されている該秘密鍵の情報を移動エージェント140が次のホストに移動する前に消去する必要がある。
【0078】
次に本発明の第11の実施の形態について説明する。
第11の実施の形態は、第2の実施の形態において、移動先ホストi(1≦i≦k)に存在していた部分署名署名化部113,123,133が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0079】
次に本発明の第12の実施の形態について説明する。
第12の実施の形態は、第2の実施の形態において、移動先ホストi(1≦i≦k)に存在していた公開鍵暗号計算部114,124,134が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0080】
次に本発明の第13の実施の形態について説明する。
第13の実施の形態は、第2の実施の形態において、移動先ホストi(1≦i≦k)に存在していた部分署名計算部段112,122,132および部分署名署名化部113,123,133が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0081】
次に本発明の第14の実施の形態について説明する。
第14の実施の形態は、第2の実施の形態において、移動先ホストi(1≦i≦k)に存在していた部分署名署名化部113,123,133および公開鍵暗号計算部114,124,134が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0082】
次に本発明の第15の実施の形態について説明する。
第15の実施の形態は、第2の実施の形態において、移動先ホストi(1≦i≦k)に存在していた部分署名計算部112,122,132および公開鍵暗号計算部114,124,134が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0083】
次に本発明の第16の実施の形態について説明する。
第16の実施の形態は、第2の実施の形態において、移動先ホストi(1≦i≦k)に存在していた部分署名計算部112,122,132および部分署名署名化部113,123,133および公開鍵暗号計算部114,124,134が移動エージェント140のプログラム・コードによって実現されている点において異なる。
【0084】
本発明の第12〜16の実施の形態においては、移動エージェント140のプログラム・コードの入力として移動先ホストi(1≦i≦k)の秘密鍵が与えられるため、該秘密鍵を移動エージェント140の所有者および別の移動先ホストに知られないようにするために、移動エージェント140のプログラム・コードおよび中間データ格納手段に格納されている該秘密鍵の情報を移動エージェント140が次のホストに移動する前に消去する必要がある。
【0085】
第3〜16の実施の形態は、要するに第1、第2の実施の形態において、移動先ホストにおける部分署名部、部分署名署名化部、公開鍵暗号計算部のうちの何れか一つ以上を除くとともに、その除いたものを移動エージェント側に設けたものである。
【0086】
【実施例】
次に、本発明の具体的な実施例を図面を参照して説明する。
図5および図6は第1の実施例を示すブロック図である。
本実施例は、前述の第1の実施の形態による署名計算方式をRSA署名方式対応とするものである。
RSA署名方式は『「Handbook of Applied Cryptography」(A.Menezes,P.Oorschot,S.Vanstone著,CRC Press,1997,ISBN 0−8493−8523−7)pp.433−438』に詳しく述べられている。
【0087】
ここでは本実施例で用いる情報セキュリティの実現方式であるRSA署名方式,(k,n)閾値秘密分散共有法,ElGamal暗号方式について簡単に説明する。
まずRSA署名方式について簡単に説明する。
RSA署名方式は512ビット程度の二つの素数p,qの積nと、lcm(p−1,q−1)(ここでlcm(a,b)はaとbの最小公倍数を表すものとする)と互いに素である数eとの組(n,e)を公開鍵として持ち、ed=1 (mod lcm(p−1,q−1))を満足するdを秘密鍵として持つ。
【0088】
Mを署名を計算したいメッセージとすると、Mに対する署名Sは
S=M (mod n)
で表される。また、メッセージと署名のペア(M,S)を受信した受信者は、(M,S)が式
M=S (mod n)
を満足する事を確かめる事により、メッセージの正当性を検証する。
【0089】
次に(k,n)閾値秘密分散共有法について簡単に説明する。
(k,n)閾値秘密分散法は秘密Sを次の(1),(2)の条件を満足するようにn人の参加者に秘密に関する分散情報を配布する方式である。
(1)k人未満の参加者が集まって自分の保有する分散情報を公開しても秘密Sに関する情報は全く得られない。
(2)k人以上の参加者が集まって自分の保有する分散情報を公開すると秘密Sは一意に復元される。
【0090】
(k,n)閾値秘密分散共有法の実現方式に関しては『「Handbook
of Applied Cryptography」(A.Menezes,P.Oorschot,S.Vanstone著,CRC Press,1997,ISBN 0−8493−8523−7)pp.525−526』に詳しく述べられている。
【0091】
ここでは多項式を用いた実現方式について簡単に説明する。
分散共有したい秘密S(1≦S<q,q:素数)に対して、信頼できる第三者は以下のような多項式f(x)をランダムに選ぶ。
f(x)=S+a x+a +……+ak−1k −1 (mod q)
次に各参加者i(1≦i<n)に分散情報としてvi =f(i)を渡す。
【0092】
上述のように分散情報を定めると、上記(1),(2)の性質がともに満たされる。k人の参加者i1 ,i2 ,…,ik が集まって自分の分散情報vi1,vi2,…,vikを公開した場合、秘密Sは次式に従って復元される。
【0093】
【数1】
Figure 0003584831
【0094】
但しLijは次式で表される。
【0095】
【数2】
Figure 0003584831
【0096】
次にElGamal暗号方式について説明する。
ElGamal暗号方式は『「Handbook of Applied Cryptography」(A.Menezes,P.Oorschot,S.Vanstone著,CRC Press,1997,ISBN 0−8493−8523−7)pp.294−298』に詳しく述べられている。
【0097】
ここではElGamal暗号方式の公開鍵、秘密鍵、暗号化法、復号法について簡単に説明する。
ElGamal暗号方式は、512ビット程度の素数pと、法pの巡回群の生成元gを共通パラメータとして持ち、秘密鍵x(0≦x<p)を秘密鍵として持ち、
y=g (mod p)
を公開鍵として持つ。
【0098】
mを暗号化したいメッセージとすると、送信者は乱数rを選び、受信者の公開鍵yを用いてG=g ,M=my を計算し、(G,M)を暗号文として受信者に送る。暗号文(G,M)を受信した受信者は、自分の秘密鍵xを用いてm=M/Gを計算する事によりメッセージを復号する。
【0099】
本実施例では、移動エージェントの所有者はRSA秘密鍵dおよび対応する公開鍵eA を所有している。また移動先ホストi(1≦i≦n)もRSA秘密鍵di および対応する公開鍵ei を所有している。
【0100】
さらに本方式全体にはk個のElGamal暗号公開鍵y(1≦i<k)が存在し、対応する秘密鍵x(1≦i<k)は(i+1,n)閾値秘密分散共有法を用いて各移動先ホストj(1≦j≦n)に秘密鍵として分散共有されている。以後、移動先ホストj(1≦j≦n)が保有する秘密鍵xi に対する分散情報をvijと表記する。このときxi を分散するのに用いた多項式fi (x)に対して、
vij=fi (lj )
が成立している。
【0101】
以上の準備の下、図5および図6を参照して本実施例の処理の流れについて説明する。
まずベースホスト500において移動エージェント540が起動される(図6のステップC1)。
【0102】
部分署名補助データ生成部504は秘密鍵dと乱数生成手段501から出力される乱数を入力として
【0103】
【数3】
Figure 0003584831
【0104】
を満足する乱数ri (1≦i<k)を生成する(ステップC2)。得られたri
に対してはdA による署名が計算され(ステップC3)、さらにElGamal暗号公開鍵yi を用いて暗号文(Gi ,Mi )が計算された後(ステップC4)、暗号文(Gi ,Mi )およびri に対する署名は移動エージェント540の中間データ格納部541に格納される。
【0105】
部分署名の計算に必要な補助データを中間データ格納部541に格納した後、移動エージェント540は移動を開始し(ステップC5)、いくつかの移動先ホストを動的に巡回した後(ステップC6)、ホスト移動中に動的に決定された移動先ホスト1(510)に移動し(ステップC7,C8)、移動先ホスト1(510)が提示したデータmに対して署名を計算する事を決定する(ステップC9)。
【0106】
提示したデータmに移動エージェント540が署名を計算する事を決定した後、移動先ホスト1(510)はステップC4でベースホスト500によって計算され中間データ格納部541に格納されている暗号文(Gi ,Mi )(1≦i<k)を部分署名計算部513に入力する事によってGi1を次式に従って計算する(ステップC10)。
【0107】
【数4】
Figure 0003584831
【0108】
Gi1(1≦i<k)を計算した後、更に移動先ホスト1(510)は公開鍵暗号計算部514に、Gi1と移動先ホスト1(510)の秘密鍵d1 (515)を入力する事により、ステップC10で計算したGi1に対する移動先ホスト1(510)のRSAディジタル署名を計算する(ステップC11)。署名計算後、移動先ホスト1(510)はGk−11を移動先ホスト1(510)のデータ記憶部516に格納し(ステップC12)、残りの計算結果Gi1(1≦i<k−1)を移動エージェント540の中間データ格納部541に格納する(ステップC13)。中間データ格納部541にデータ格納をした後、移動エージェント540は次の移動先ホストである移動先ホスト2(520)に移動する(ステップC14,C15)。
【0109】
移動エージェント540が移動先ホストi(2≦i≦k)に移動すると、移動先ホストiはステップC4でベースホスト500によって計算され中間データ格納部541に格納されている暗号文(Gj ,Mj )(i−1≦j<k)を部分署名計算部に入力する事によってGjiを次式に従って計算する(ステップC16)。
【0110】
【数5】
Figure 0003584831
【0111】
Gji(i−1≦j<k)を計算した後、移動先ホストiは、計算したGjiと移動先ホストiの秘密鍵di を公開鍵暗号計算部に入力する事によってGjiに対する移動先ホストiのRSA署名を計算し(ステップC17)、さらにGk −1iを署名対象データの提示を行った移動先ホスト1(510)の公開鍵e1 で暗号化する(ステップC18)。ここで現在移動エージェント540が訪問している移動先ホストが移動先ホストk(移動先ホスト1を訪問後k番目に訪問したホスト)であった場合には、移動エージェント540は移動先ホスト1に戻る(ステップC19,25)。
【0112】
現在の移動先ホストが移動先ホストkでない場合、この時点において、移動先ホストiはGi −11,Gi −12,Gi −13,…,Gi −1iというi個のGi −1j(1≦j≦i)なるデータを保有している。
【0113】
【数6】
Figure 0003584831
【0114】
という関係とvi −1jが(i,n)閾値秘密分散共有法の部分情報である事に注意すると、
【0115】
【数7】
Figure 0003584831
【0116】
が成立する。ElGamal暗号の復号法と比較すると、
【0117】
【数8】
Figure 0003584831
【0118】
が成立するので、部分署名計算部にGi −11,Gi −12,Gi −13,…,Gi −1iを入力して上記計算を行う事によって、ri −1 が得られる。さらに部分署名部はmを入力として得る事により部分署名
【0119】
【数9】
Figure 0003584831
【0120】
を出力する(ステップC20)。
i −1 が出力された後、移動先ホストiはSi −1 と移動先ホスト1の公開鍵e1 とを公開鍵暗号計算部に入力してSi −1 を暗号化し、さらにSi −1 と移動エージェント540の所有者の公開鍵di を公開鍵暗号計算部に入力して、Si −1 に対する移動先ホストiのRSA署名を計算し、得られた暗号文および署名を移動エージェント540の中間データ格納部541に格納する(ステップC21)。
【0121】
さらに以後の訪問先ホストで参照される事のないデータであるGi −1j(1≦j≦i)と移動エージェント540の所有者の公開鍵eA を公開鍵暗号計算部に入力する事によって得られるGi −1jに対するRSA暗号文を中間データ格納部541に格納する(ステップC22)。この暗号文データは、後にベースホスト500に戻った移動エージェント540が行ってきた計算を移動エージェント540の所有者が検証するために用いられる。
【0122】
移動先ホストiによって計算されたデータが中間データ格納部541に格納された後、移動エージェント540は次の移動先である移動先ホストi+1に移動する(ステップC23,24)。この処理は図6においてステップC16に処理を戻す事に対応する。
【0123】
k個の移動先ホスト、移動先ホスト1〜移動先ホストkを訪問した移動エージェント540が移動先ホスト1(510)に再び戻ってきた後、移動先ホスト1(510)は公開鍵暗号計算部514を用いて、移動エージェント540の中間データ格納541に格納されているe1 を用いて暗号化されているデータの復号および検証可能である全ての署名の検証を行う(ステップC26)。
【0124】
復号および署名検証が済んだ後、移動先ホスト1はGk −11,Gk −12,……Gk −1kというk個のGk −1j(1≦j≧k)なるデータを保有している。ステップC20での操作と同様
【0125】
【数10】
Figure 0003584831
【0126】
という関係とvk −1jが(k,n)閾値秘密分散共有法の部分情報である事に注意すると、
【0127】
【数11】
Figure 0003584831
【0128】
が成立するので、ElGamal暗号の復号法と比較すると、
【0129】
【数12】
Figure 0003584831
【0130】
が成立するので、部分署名計算部にGk −11,Gk −12,…,Gk −1jを入力する事によって、rk −1 が得られる。さらに部分署名部はmを入力として得る事により部分署名
【0131】
【数13】
Figure 0003584831
【0132】
を出力する(ステップC27)。
ステップC27終了時に移動先ホスト1はk個の部分署名S1 ,S2 ,…,Sk
を保有している。ここで各Si が
【0133】
【数14】
Figure 0003584831
【0134】
という関係を満足する事と、
【0135】
【数15】
Figure 0003584831
【0136】
という関係が成立している事を考慮すると、部分署名署名化部がk個の部分署名Si (1≦i≦k)を入力とし、
【0137】
【数16】
Figure 0003584831
【0138】
を計算する事によって、移動先ホストが動的に提示した任意のデータmに対して移動エージェント540の所有者の秘密鍵dA を用いて計算したRSA署名が得られる。移動先ホスト1(510)は上記計算によって得られたデータを移動エージェント540によるmに対する署名として格納する。署名を計算し終えた移動エージェント540はベースホスト500に戻る(ステップC28)。
【0139】
次に、第2の実施例を図7および図8を参照して説明する。
本実施例は、前述の第2の実施の形態に係る署名計算方式をRSA署名方式対応とするものである。
本実施例で用いる情報セキュリティの実現方式であるRSA署名方式、(k,n)閾値秘密分散共有法、ElGamal暗号方式については上述の第1の実施例と重複するため説明を省略する。
【0140】
本実施例では移動エージェントの所有者はRSA秘密鍵dA および対応する公開鍵eA を所有している。また移動先ホストi(1≦i≦n)もRSA秘密鍵di および対応する公開鍵ei を所有している。
【0141】
さら本方式全体にはk個のElGamal暗号公開鍵yj (1≦j<k)が存在し、対応する秘密鍵xj (1≦j<k)は(j+1,n)閾値秘密分散共有法を用いて各移動先ホストi(1≦i≦n)に秘密鍵として分散共有されている。以後、移動先ホストi(1≦i≦n)が保有する秘密鍵xj に対する分散情報をvijと表記する。
【0142】
以上の準備の下、図7および図8を参照にして本実施例の処理の流れについて説明する。
まず図7のベースホスト700において移動エージェント740が起動される(図8のステップD1)。
【0143】
部分署名補助データ生成部704は乱数生成部701から出力される乱数を入力として新規のRSAの公開鍵(rn ,re ),秘密鍵rd および
rd =Σri (mod lcm(rp −1 ,rq −1 ))
を満足する乱数ri (1≦i<k)を生成する(ステップD2)。ここで、rp
,rq は素数でありrn =rp rq を満足する。
【0144】
得られた新規公開鍵(rn ,re )およびri に対してはdA による署名が計算され(ステップD3)、さらにElGamal暗号公開鍵yi を用いて暗号文(Gi ,Mi )が計算された後(ステップD4)、新規公開鍵(rn ,re ),新規公開鍵に対する署名Sp ,暗号文(Gi ,Mi )およびriに対する署名は移動エージェント740の中間データ格納部741に格納される。
【0145】
部分署名の計算に必要な補助データを中間データ格納741に格納した後、移動エージェント740は移動を開始し(ステップD5)、いくつかの移動先ホストを動的に巡回した後(ステップD6)、ホスト移動中に動的に決定された移動先ホスト1(710)に移動し(ステップD7,D8)移動先ホスト1(710)が提示したデータmに対して署名を計算する事を決定する(ステップD9)。提示したデータmに移動エージェント740が署名を計算する事を決定した後、移動先ホスト1(710)はステップD4でベースホストによって計算され中間データ格納部741に格納されている暗号文(Gi ,Mi )(1≦i<k)を部分署名計算部712に入力する事によってGi1を次式に従って計算する(ステップD10)。
【0146】
【数17】
Figure 0003584831
【0147】
Gi1(1≦i<k)を計算した後、さらに移動先ホスト1(710)は公開鍵暗号計算部714に、Gi1と移動先ホスト1の秘密鍵d(715)を入力する事により、ステップD10で計算したGi1に対する移動先ホスト1のRSAディジタル署名を計算する(ステップD11)。署名計算後、移動先ホスト1はGk −11を移動先ホスト1(710)のデータ記憶部716に格納し(ステップD12)、残りの計算結果Gi1(1≦i<k−1)を中間データ格納部741に格納する(ステップD13)。中間データ格納部741にへデータ格納をした後、移動エージェント740は次の移動先ホストである移動先ホスト2(720)に移動する(ステップD14,D15)。
【0148】
移動エージェント740が移動先ホストi(2≦i≦k)に移動すると、移動先ホストiはステップD4でベースホスト700によって計算され中間データ格納部741に格納されている暗号文(Gj ,Mj )(i−1≦j<k)を部分署名計算部722に入力する事によってGjiを次式に従って計算する(ステップD16)。
【0149】
【数18】
Figure 0003584831
【0150】
Gji(i−1≦j<k)を計算した後、移動先ホストiは、計算したGjiと移動先ホストiの秘密鍵di を公開鍵暗号計算部724に入力する事によってGjiに対する移動先ホストiのRSA署名を計算し(ステップD17)、さらにGk
−1jを署名対象データの提示を行った移動先ホスト1(710)の公開鍵e1で暗号化する(ステップD18)。ここで現在移動エージェント740が訪問している移動先ホストが移動先ホストk(移動先ホスト1(710)を訪問後k番目に訪問したホスト)であった場合には、移動エージェントは移動先ホスト1(710)に戻る(ステップD19,25)。
【0151】
現在の移動先ホストが移動先ホストkでない場合、この時点において、移動先ホストiはGi −11,Gi −12,…,Gi −1iというi個のGi −1j(1≦j≦i)なるデータを保有している。
【0152】
【数19】
Figure 0003584831
【0153】
という関係とvi −1jが(i,n)閾値秘密分散共有法の部分情報である事に注意すると、
【0154】
【数20】
Figure 0003584831
【0155】
が成立する。ここでLj は、前記のvi −1j=fi −1 (l)なるlj を用いて次式で定義される。以後のLj についても同様に定義されるものとする。
【0156】
【数21】
Figure 0003584831
【0157】
ElGamal暗号の復号法と比較すると、
【0158】
【数22】
Figure 0003584831
【0159】
が成立するので、部分署名計算部にGi −11,Gi −12,…,Gi −1iを入力して上記計算を行う事によって、ri −1 が得られる。さらに部分署名部はmを入力として得る事により部分署名
【0160】
【数23】
Figure 0003584831
【0161】
を出力する(ステップD20)。
i −1 が出力された後、移動先ホストiはSi −1 と移動先ホスト1(710)の公開鍵e1 とを公開鍵暗号計算部に入力してSi −1 を暗号化し、さらにSi −1 と移動エージェント740の所有者の公開鍵di を公開鍵暗号計算部に入力しSi−1 に対する移動先ホストiのRSA署名を計算し、得られた暗号文および署名を中間データ格納部741に格納する(ステップD21)。
【0162】
さらに以後の訪問先ホストで参照される事のないデータであるGi −1j(1≦j≦i)と移動エージェント740の所有者の公開鍵eA を公開鍵暗号計算部に入力する事によって得られるGi −1jに対するRSA暗号文を中間データ格納部741に格納する(ステップD22)。この暗号文データは、後にベースホスト700に戻った移動エージェント740が行ってきた計算を移動エージェント740の所有者が検証するために用いられる。
【0163】
移動先ホストiによって計算されたデータが中間データ格納部741に格納された後、移動エージェント740は次の移動先である移動先ホストi+1に移動する(ステップD23,24)。この処理は図8においてステップD16に処理を戻す事に対応する。
【0164】
k個の移動先ホスト、移動先ホスト1〜移動先ホストkを訪問した移動エージェント740が移動先ホスト1(710)に再び戻ってきた後、移動先ホスト1(710)は公開鍵暗号計算部714を用いて、中間データ格納部741に格納されているe1 を用いて暗号化されているデータの復号および検証可能である全ての署名の検証を行う(ステップD26)。
【0165】
復号および署名検証が済んだ後、移動先ホスト1(710)はGk −11,Gk −12,…,Gk −1kというk個のGk −1j(1≦j≦k)なるデータを保有している。ステップD20での操作と同様
【0166】
【数24】
Figure 0003584831
【0167】
という関係とvk −1jが(k,n)閾値秘密分散共有法の部分情報である事に注意すると、
【0168】
【数25】
Figure 0003584831
【0169】
が成立するので、ElGamal暗号の復号法と比較すると、
【0170】
【数26】
Figure 0003584831
【0171】
が成立するので、部分署名計算部にGk −11,Gk −12,…,Gk −1iを入力する事によって、rk −1 が得られる。さらに部分署名部はmを入力として得る事により部分署名
【0172】
【数27】
Figure 0003584831
【0173】
を出力する(ステップD27)。
ステップD27終了時に移動先ホスト1(710)はk個の部分署名S1 ,S2 ,…,Sk を保有している。ここで各Si が
【0174】
【数28】
Figure 0003584831
【0175】
という関係を満足する事と、
【0176】
【数29】
Figure 0003584831
【0177】
という関係(ここでrp ,rq はrn =rp rq となる素数)が成立している事を考慮すると、部分署名署名化部がk個の部分署名Si (1≦i≦k)を入力とし、
【0178】
【数30】
Figure 0003584831
【0179】
を計算する事によって、移動先ホストが動的に提示した任意のデータmに対して移動エージェント740のベースホスト700が新規に生成した秘密鍵rd を用いて計算したRSA署名S=mrdが得られる。
【0180】
移動先ホスト1(710)は上記計算によって得られたSと移動エージェントのベースホストによって新規に生成されたRSA公開鍵(rn ,re )と、エージェント所有者の秘密鍵dA による(rn ,re )に対する署名Sの組(S,(rn ,re ),Sp )を移動エージェント740によるmに対する署名として格納する。署名を計算し終えた移動エージェント740はベースホスト700に戻る(ステップD28)。
【0181】
尚、各実施の形態および各実施例における移動エージェント、移動先ホストの各コンピュータシステムにおいて、各フローチャートで説明した移動エージェントで実行される処理、および移動先ホストで実行される処理はコンピュータシステムにおけるROM等のメモリに格納されたプログラムに従って実行されるが、このメモリは本発明によるプログラムを記録した記録媒体を構成するものとなる。
このような記録媒体としては、各種のディスク媒体や半導体記憶装置、磁気記録媒体等を用いることができる。
【0182】
次に、前述した特表平11−506222公報に開示された技術と本発明とを比較検討する。
前記公報の請求項1〜3は、「予め定められたエンティティー」の秘密鍵の情報を「予め定められた複数(定数:t0個)の機関」で分散管理し、分散情報を有する複数の機関が署名対象データに対して計算した部分署名を組み合わせることにより、正しいディジタル署名の計算を行う方式となっている。
【0183】
また前記公報の請求項4は、「あるエンティティー(不特定と解釈する事も可能)」の署名を計算する権限を「予め定められた複数(定数:t0個)の機関」に一時的に委託することを目的としており、「あるエンティティー」の秘密鍵の部分情報を予め定められた複数の機関に渡し、分散情報を有する複数の機関が署名対象データに対して計算した部分署名を組み合わせることにより、正しいディジタル署名の計算を行う方式となっている。
【0184】
これに対して本発明は、「不特定のエンティティー(本発明では移動エージェントの所有者)」の秘密鍵によるディジタル署名の計算を「不特定(エージェントが事前に知る事ができない)複数(定数)の機関(本発明では移動先ホスト)」に委託することを目的とし、不特定複数のどの移動先ホストが部分署名を計算した場合でも、正しいディジタル署名が計算されるという方式である(移動先ホストが移動エージェントが出発する前に部分署名を計算するホストを知る事ができない事は、前述により説明した通りである)。
【0185】
前記公報の請求項4を、その記載されている目的とは異なった使い方をする事によって、「不特定の複数の機関」に署名計算を委託する方式に転用する事は不可能ではないが(例えば署名計算を委託する可能性のある全ての機関からt0個を取り出す全ての可能な組み合わせに対して秘密鍵の部分情報を計算する等)、しかし、本発明が意図しているような署名計算を委託する可能性のある機関が膨大な数になるような場合には、効率の面から考えて大きなデメリットがあるものである。
【0186】
例えば、移動エージェントが移動のために携えていくデータサイズについて考えると、本発明では、t0個に比例したサイズになるが、前記公報の技術では、署名計算を委託する可能性のあるホスト(個数n)を不特定にしようとした場合には、t0*nCt0に比例したサイズになってしまう(ここでaCbは、a個の中からb個を取り出す可能な組み合わせの個数を表す)。
【0187】
以上述べたことから、
(1)本発明の方式は、部分署名の計算を行う機関が不特定である。即ち、前記公報の技術とは意図が異なる。
(2)仮に前記公報の方式を部分署名の計算を行う機関が不特定な場合に適用しようとしても、効率の面から問題があり、このような場合は、本発明を適用する方がメリットが大きいと言える。
【0188】
【発明の効果】
本発明の効果は、k個(k:定数)の移動先ホストが結託しない限り移動エージェントの所有者の秘密鍵によるディジタル署名を偽造が困難であるような形で移動エージェントにデータを持たせつつ、移動エージェントは移動先で提示される任意のデータに対して移動エージェントの所有者の秘密鍵を用いたディジタル書名を移動中に計算できることにある。
【0189】
その理由は、移動エージェントが署名を計算するためには、k個の移動先ホストによる部分署名が必要であり、部分署名の計算には移動先ホストの秘密鍵の情報が必要であるため、署名の偽造を行おうとした場合には、k個の秘密鍵を用いた演算が必要となるので、k個の移動先ホストが結託しない限りは署名の偽造が困難となるためである。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態による移動エージェントによる署名計算システムの構成を示すブロック図である。
【図2】第1の実施の形態の動作を示すフローチャートである。
【図3】本発明の第2の実施の形態による移動エージェントによる署名計算システムの構成を示すブロック図である。
【図4】第2の実施の形態の動作を示すフローチャートである。
【図5】本発明の第1の実施例による移動エージェントによる署名計算システムの構成を示すブロック図である。
【図6】第1の実施例の動作を示すフローチャートである。
【図7】本発明の第2の実施例による移動エージェントによる署名計算システムの構成を示すブロック図である。
【図8】第2の実施例の動作を示すフローチャートである。
【符号の説明】
100,300,500,700 ベースホスト
101,301,501,701 乱数生成部
102,302,502,702 公開鍵暗号計算部
103,303,503,703 秘密鍵
104,304,504,704 部分署名補助データ生成部
105,305,505,705 エージェント実行環境
110,310,510,710 移動先ホスト1
120,320,520,720 移動先ホスト2
130,330,530,730 移動先ホストk
111,121,131,
311,321,331,
511,521,531,
711,721,731 エージェント実行環境
112,122,132,
312,322,332,
512,522,532,
712,722,732 部分署名計算部
113,123,133,
313,323,333,
513,523,533,
713,723,733 部分署名署名化部
114,124,134,
314,324,334,
514,524,534,
714,724,734 公開鍵暗号計算部
115,125,135,
315,325,335,
515,525,535,
715,725,735 秘密鍵
116,126,136,
316,326,336,
516,526,536,
716,726,736 データ記憶部
140,340,540,740 移動エージェント
141,341,541,741 中間データ格納部

Claims (3)

  1. 移動エージェントがプログラムコードの実行を行うエージェント実行環境と、
    乱数を出力する乱数生成手段と、
    乱数生成手段から出力される乱数と移動エージェントの所有者の秘密鍵とを入力として、移動先のホストで移動エージェントが署名を計算するために必要な補助データを生成して移動エージェントの中間データ格納部に格納する部分署名補助データ生成手段と、
    計算されたデータの秘匿および署名の付与を行う公開鍵暗号計算手段とを備えたベースホストを出発点として前記移動エージェントが移動を開始し、
    移動エージェントがプログラムコードの実行を行うエージェント実行環境と、署名対象データと移動エージェントが中間データ格納部に保有しているデータと移動先ホストの秘密鍵とを入力として移動エージェントが署名を計算するために必要なデータである部分署名を計算し、移動エージェントの中間データ格納部に格納する部分署名計算手段と、
    移動先ホストによって計算された一つまたは複数の部分署名を入力として前記署名対象データに対する移動エージェントの所有者の秘密鍵を用いて計算を行ったディジタル署名を出力する部分署名署名化手段と、
    計算されたデータの秘匿および移動先ホストの署名付与を行う公開鍵暗号計算手段とをそれぞれ備えた一つまたは複数の移動先ホストを前記移動エージェントが移動することによって、移動エージェントが移動先のホストで任意の署名対象データに対する移動エージェントの所有者の秘密鍵を用いたディジタル署名を計算することを特徴とする移動エージェントによる署名計算システム。
  2. 移動エージェントがプログラムコードの実行を行うエージェント実行環境と、
    乱数を出力する乱数生成手段と、
    乱数生成手段から出力される乱数を入力として、新規秘密鍵・公開鍵のペアと移動先のホストで移動エージェントが署名を計算するために必要な補助データを生成して移動エージェントの中間データ格納部に格納する部分署名補助データ生成手段と、
    計算されたデータの秘匿および署名の付与を行う公開鍵暗号計算手段とを備えたベースホストを出発点として前記移動エージェントが移動を開始し、
    移動エージェントがプログラムコードの実行を行うエージェント実行環境と、 署名対象データと移動エージェントが中間データ格納部に保有しているデータと移動先ホストの秘密鍵とを入力として移動エージェントが署名を計算するために必要なデータである部分署名を計算し移動エージェントの中間データ格納部に格納する部分署名計算手段と、
    移動先ホストによって計算された一つまたは複数の部分署名を入力として前記署名対象データに対するベースホストの部分署名補助データ生成手段によって出力された前記新規秘密鍵を用いて計算を行ったディジタル署名を出力する部分署名署名化手段と、
    計算されたデータの秘匿および移動先ホストの署名付与を行う公開鍵暗号計算手段とをそれぞれ備えた一つまたは複数の移動先ホストを前記移動エージェントが移動することによって、移動エージェントが移動先のホストで任意の署名対象データに対する前記新規秘密鍵を用いたディジタル署名を計算することを特徴とする移動エージェントによる署名計算システム。
  3. 前記移動ホストにおける部分署名計算手段と部分署名署名化手段と公開鍵暗号計算手段とのうちの何れか一つ以上を移動エージェント側に設けたことを特徴とする請求項1または2記載の移動エージェントによる署名計算システム。
JP2000009037A 2000-01-18 2000-01-18 移動エージェントによる署名計算システムおよびプログラムを記録した記録媒体 Expired - Fee Related JP3584831B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000009037A JP3584831B2 (ja) 2000-01-18 2000-01-18 移動エージェントによる署名計算システムおよびプログラムを記録した記録媒体
US09/760,805 US7103775B2 (en) 2000-01-18 2001-01-17 Signature calculation system by use of mobile agent

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000009037A JP3584831B2 (ja) 2000-01-18 2000-01-18 移動エージェントによる署名計算システムおよびプログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2001202012A JP2001202012A (ja) 2001-07-27
JP3584831B2 true JP3584831B2 (ja) 2004-11-04

Family

ID=18537236

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000009037A Expired - Fee Related JP3584831B2 (ja) 2000-01-18 2000-01-18 移動エージェントによる署名計算システムおよびプログラムを記録した記録媒体

Country Status (2)

Country Link
US (1) US7103775B2 (ja)
JP (1) JP3584831B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100369408B1 (ko) * 2000-11-30 2003-01-24 이임영 이동통신에서의 수신자지정 대리서명방법
US7082604B2 (en) * 2001-04-20 2006-07-25 Mobile Agent Technologies, Incorporated Method and apparatus for breaking down computing tasks across a network of heterogeneous computer for parallel execution by utilizing autonomous mobile agents
US20050165690A1 (en) * 2004-01-23 2005-07-28 Microsoft Corporation Watermarking via quantization of rational statistics of regions
US7770014B2 (en) * 2004-04-30 2010-08-03 Microsoft Corporation Randomized signal transforms and their applications
US20070076869A1 (en) * 2005-10-03 2007-04-05 Microsoft Corporation Digital goods representation based upon matrix invariants using non-negative matrix factorizations
DE602006005913D1 (de) 2006-05-26 2009-05-07 Sap Ag Verfahren und Vorrichtung zum Schützen von Daten eines mobilen Agenten in einem Netzwerksystem.
EP1860816B1 (en) * 2006-05-26 2009-03-25 Sap Ag A method and a system for securing processing of an order by a mobile agent within a network system
JP2008022373A (ja) * 2006-07-13 2008-01-31 Canon Inc 改竄検知情報生成装置、撮像装置、改竄検知情報生成方法、プログラムおよび記憶媒体
KR101213156B1 (ko) 2006-12-21 2012-12-17 삼성전자주식회사 애드-혹 네트워크에서의 분산 rsa 서명 방법 및 서명생성 노드
KR101338409B1 (ko) * 2007-01-25 2013-12-10 삼성전자주식회사 애드-혹 네트워크에서 분산 rsa서명을 생성하는 방법 및상기 애드-혹 네트워크의 노드
FR2937484B1 (fr) * 2008-10-22 2011-06-17 Paycool Int Ltd Procede de signature numerique en deux etapes
US9572029B2 (en) * 2012-04-10 2017-02-14 Imprivata, Inc. Quorum-based secure authentication
CN103379483B (zh) * 2012-04-16 2017-06-06 中兴通讯股份有限公司 一种移动终端信息安全管理的方法、装置和移动终端
JP2014241465A (ja) * 2013-06-11 2014-12-25 株式会社東芝 署名生成装置、署名生成方法、署名生成プログラム、及び電力使用量計算システム
JP6331031B2 (ja) * 2015-03-26 2018-05-30 パナソニックIpマネジメント株式会社 認証方法、認証システム及び通信機器
US11411721B2 (en) * 2019-09-27 2022-08-09 Cypherium Blockchain Inc. Systems and methods for selecting and utilizing a committee of validator nodes in a distributed system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5825880A (en) * 1994-01-13 1998-10-20 Sudia; Frank W. Multi-step digital signature method and system
EP0872080B1 (en) * 1995-06-05 2010-12-15 CQRCert LLC Multi-step digital signature method and system
JPH10269186A (ja) 1997-03-25 1998-10-09 Hitachi Ltd エージェントのセキュリティ保護方式
US6055562A (en) * 1997-05-01 2000-04-25 International Business Machines Corporation Dynamic mobile agents

Also Published As

Publication number Publication date
US7103775B2 (en) 2006-09-05
JP2001202012A (ja) 2001-07-27
US20010016911A1 (en) 2001-08-23

Similar Documents

Publication Publication Date Title
JP3584831B2 (ja) 移動エージェントによる署名計算システムおよびプログラムを記録した記録媒体
Zhao et al. Trusted data sharing over untrusted cloud storage providers
Sander et al. On software protection via function hiding
JP2020502856A5 (ja)
Zhou et al. ExpSOS: Secure and verifiable outsourcing of exponentiation operations for mobile cloud computing
CN109728906B (zh) 基于非对称密钥池的抗量子计算非对称加密方法和***
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
JP6753403B2 (ja) 情報処理装置、認証システム、認証方法、並びにコンピュータ・プログラム
JP6882705B2 (ja) 鍵交換システムおよび鍵交換方法
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
Saranya et al. Cloud based efficient authentication for mobile payments using key distribution method
JP3794457B2 (ja) データの暗号化復号化方法
Kroll et al. Secure protocols for accountable warrant execution
JP2014515125A (ja) データの暗号化のための方法、コンピュータ・プログラム、および装置
CN112491529A (zh) 用于不可信服务器环境中数据文件加密及完整性验证方法及其***
Fugkeaw et al. Secure and Lightweight Blockchain-Enabled Access Control for Fog-Assisted IoT Cloud Based Electronic Medical Records Sharing
CN113449336A (zh) 一种在区块链中基于安全多方隐私保护的共享数据处理方法
CN116318696B (zh) 一种双方无初始信任情况下代理重加密数字资产授权方法
Pei et al. Smart contract based multi-party computation with privacy preserving and settlement addressed
Sendhil et al. A descriptive study on homomorphic encryption schemes for enhancing security in fog computing
Hou et al. Blockchain-based efficient verifiable outsourced attribute-based encryption in cloud
Awadallah et al. Verifiable homomorphic encrypted computations for cloud computing
Yakupoglu et al. Prefhe, prefhe-aes and prefhe-sgx: Secure multiparty computation protocols from fully homomorphic encryption and proxy reencryption with aes and intel sgx
CN113141249B (zh) 一种门限解密方法、***及可读存储介质
CN115865531B (zh) 一种代理重加密数字资产授权方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040304

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040513

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20040513

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040616

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: 20040713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040726

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: 20070813

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080813

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090813

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100813

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110813

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110813

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120813

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees