JP3982570B2 - Common access method and system for a plurality of different signature engines, and storage medium storing a common access program for a plurality of different signature engines - Google Patents

Common access method and system for a plurality of different signature engines, and storage medium storing a common access program for a plurality of different signature engines Download PDF

Info

Publication number
JP3982570B2
JP3982570B2 JP22141399A JP22141399A JP3982570B2 JP 3982570 B2 JP3982570 B2 JP 3982570B2 JP 22141399 A JP22141399 A JP 22141399A JP 22141399 A JP22141399 A JP 22141399A JP 3982570 B2 JP3982570 B2 JP 3982570B2
Authority
JP
Japan
Prior art keywords
signature
engine
type
key
information
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 - Lifetime
Application number
JP22141399A
Other languages
Japanese (ja)
Other versions
JP2001044988A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP22141399A priority Critical patent/JP3982570B2/en
Publication of JP2001044988A publication Critical patent/JP2001044988A/en
Application granted granted Critical
Publication of JP3982570B2 publication Critical patent/JP3982570B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、複数の異なる署名エンジンに対する共通的なアクセス方法及びシステム及び複数の異なる署名エンジンに対する共通的なアクセスプログラムを格納した記憶媒体に係り、特に、平文または、平文のダイジェストに対して公開鍵暗号技術を用いた電子署名を作成するための電子署名エンジンを有する情報処理システムにおける、署名エンジンを用いた電子署名の生成及び、秘密鍵/公開鍵の鍵対の生成を行う複数の異なる署名エンジンに対する共通的なアクセス方法及びシステム及び複数の異なる署名エンジンに対する共通的なアクセスプログラムを格納した記憶媒体に関する。
【0002】
【従来の技術】
最初に電子署名生成の流れと署名エンジンについて説明する。
公開鍵暗号方式を用いた電子署名は、通常、図11に示すように、まず、署名したい対象データをハッシュ関数に入れてハッシュデータに変換し、このハッシュデータに対して秘密鍵を用いた署名生成処理を行うことにより生成される。ハッシュ関数には、SHA−1やMD5などのアルゴリズムが、また、電子署名アルゴリズムには、公開鍵暗号方式であるESIGNやRSAなどがよく知られている。ここで、電子署名に用いる秘密鍵は、署名者を識別するための情報として非常に重要な情報であるため、電子署名を利用するシステムでは、秘密鍵の管理及び電子署名の生成を安全に行うために、これらに必要な機能群をシステムと独立した専用装置として用意する場合が多い。この専用装置を一般に署名エンジンと呼んでおり、その実装方法は装置毎に様々である。
【0003】
例えば、図11に示すように、ハッシュ処理や署名生成処理で複数のアルゴリズムを利用できるものや、複数の秘密鍵を保持及び利用できるもの、あるいは、図11における署名エンジンBのようにハッシュ処理部が無く、ハッシュ化されたデータが入力されることを前提とした装置も存在する。
次に、署名エンジンを用いた電子署名の生成について説明する。
【0004】
一般に、複数の署名アルゴリズムの利用や複数の署名エンジンの利用を必要とするシステムにおいて電子署名を生成する際には、図12に示すような流れで署名エンジンへの署名を生成する。
ステップ10) まず、署名生成を行いたいアプリケーションにおいて、署名生成に必要な情報として、署名対象となるデータ、署名生成に用いる秘密鍵、ハッシュアルゴリズム、署名アルゴリズムに何を用いるかを決定する。
【0005】
ステップ11) 署名生成に用いる秘密鍵が格納されている署名エンジンを選択する。
ステップ12) 選択された署名エンジンに対して、署名対象データのハッシュ化が必要か否を判断し、必要な場合にはステップ13に移行し、不要な場合にはステップ14に移行する。
【0006】
ステップ13) 必要な場合には入力データのハッシュ化処理を行う。
ステップ14) ステップ11で選択された署名エンジンに依存した署名生成依頼方式に従って、ステップ10で決定された情報を元にハッシュアルゴリズム、署名アルゴリズム、秘密鍵の格納先の情報を署名エンジンへ指定するための署名生成依頼情報を生成する。ステップ13を行った場合には、ハッシュアルゴリズムの指定は不要である。
【0007】
ステップ15) ステップ14で生成した情報と署名対象データ、あるいは、署名対象データのハッシュ値をアクセスモジュールを介して署名エンジンへ送付し、署名エンジンから署名生成結果である署名データを受け取る。ここでアクセスモジュールとは、例えば、署名エンジンを制御するためのドライバソフトのようなものである。
【0008】
【発明が解決しようとする課題】
しかしながら、従来の署名エンジンを用いた署名生成処理では、署名生成を依頼する上位のアプリケーションが、署名生成に用いる秘密鍵が格納されている署名エンジン及びその格納場所の判別や、その秘密鍵が署名アルゴリズムに適用可能であることの確認、入力データである署名対象データのハッシュ化の要否判断などを行い、署名エンジンの種別に応じた署名生成処理の振り分けを行う必要がある。従って、用途に応じて複数の署名アルゴリズムや複数の秘密鍵、あるいは、複数の署名エンジンの使い分けを行うシステムにおいては、署名エンジンに対する電子署名の生成依頼処理が煩雑となる。
【0009】
本発明は、上記の点に鑑みなされたもので、複数の署名エンジン及び複数の署名アルゴリズムを容易に使い分けることを可能とし、また、既存のシステムへの新たな署名エンジンの追加や新たな署名アルゴリズムの追加の際にも、上位のアプリケーションに影響を与えることなく容易に追加を行うことが可能な複数の異なる署名エンジンに対する共通的なアクセス方法及びシステム及び複数の異なる署名エンジンに対する共通的なアクセスプログラムを格納した記憶媒体を提供することを目的とする。
【0010】
【課題を解決するための手段】
図1は、本発明の原理を説明するための図である。
本発明(請求項1)は、平文または、平分ダイジェストである署名対象データに対して公開鍵暗号技術を用いた電子署名を作成する異なる種別の複数の署名エンジンと、上位アプリケーションから前記複数の署名エンジンの中のいずれかの署名エンジンへの署名生成依頼を受付け、該署名エンジンに対して署名生成依頼を行う秘密鍵制御部からなり、前記秘密鍵制御部は、署名エンジンアクセス依頼受付部と、秘密鍵情報参照部と、秘密鍵の鍵名称と前記鍵名称に対応する秘密鍵が格納されている署名エンジン種別と前記署名エンジン種別に対応する署名エンジン内の鍵格納場所と前記秘密鍵が適用される署名アルゴリズムと署名生成時に署名対象データをハッシュ化するためのハッシュアルゴリズム種別とを管理する秘密鍵管理テーブルと、署名エンジン種別と前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報と前記署名エンジン種別に対応するアクセスモジュール種別とを管理する署名エンジン依存情報を有する署名エンジンアクセス制御部と、署名エンジンと1対1の関係で接続されているアクセスモジュールとを有する情報処理システムに適用される署名作成依頼方法であって
記署名エンジンアクセス依頼受付部が、上位アプリケーションから署名対象データと署名に用いる秘密鍵の鍵名称を取得するステップと、
前記秘密鍵情報参照部が、前記秘密鍵管理テーブルから前記鍵名称に対応する署名エンジン種別と署名エンジン内の鍵格納場所と署名アルゴリズムとハッシュアルゴリズム種別とを取得するステップと、
前記署名エンジンアクセス制御部が、前記署名エンジン依存情報から前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報とアクセスモジュール種別とを取得し、前記ハッシュ化要否情報がハッシュ化が必要であることを示している場合には、前記ハッシュアルゴリズム種別により署名対象データをハッシュ化することによりハッシュデータを生成し、該ハッシュデータと前記鍵格納場所と前記署名アルゴリズムの情報を前記アクセスモジュール種別に対応するアクセスモジュールに送付し、前記ハッシュ化要否情報がハッシュ化が不要であることを示している場合には、前記署名対象データと前記鍵格納場所と前記署名アルゴリズムと前記ハッシュアルゴリズム種別の情報を、前記アクセスモジュール種別に対応するアクセスモジュールに送付するステップと、
前記アクセスモジュールが、前記署名エンジンアクセス制御部から受けた情報を1対1の関係で接続されている署名エンジンに送信して署名生成依頼を行う
【0011】
本発明(請求項2)は、平文または、平分ダイジェストである署名対象データに対して公開鍵暗号技術を用いた電子署名を作成する異なる種別の複数の署名エンジンと、上位アプリケーションから前記複数の署名エンジンの中のいずれかの署名エンジンへの署名生成依頼を受付け、該署名エンジンに対して署名生成依頼を行う秘密鍵制御部からなる情報処理システムであって、
前記秘密鍵制御部は、
秘密鍵の鍵名称と前記鍵名称に対応する秘密鍵が格納されている署名エンジン種別と前記署名エンジン種別に対応する署名エンジン内の鍵格納場所と前記秘密鍵が適用される署名アルゴリズムと署名生成時に署名対象データをハッシュ化するためのハッシュアルゴリズム種別とを管理する秘密鍵管理テーブルと、署名エンジン種別と前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報と前記署名エンジン種別に対応するアクセスモジュール種別とを管理する署名エンジン依存情報を有する署名エンジンアクセス制御部と、
上位アプリケーションから署名対象データと署名に用いる秘密鍵の鍵名称を取得する署名エンジンアクセス依頼受付部と、
前記秘密鍵管理テーブルから前記鍵名称に対応する署名エンジン種別と署名エンジン内の鍵格納場所と署名アルゴリズムとハッシュアルゴリズム種別とを取得する秘密鍵情報参照部と、
前記署名エンジン依存情報から前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報とアクセスモジュール種別とを取得し、前記ハッシュ化要否情報がハッシュ化が必要であることを示している場合には、前記ハッシュアルゴリズム種別により署名対象データをハッシュ化することによりハッシュデータを生成し、該ハッシュデータと前記鍵格納場所と前記署名アルゴリズムの情報を前記アクセスモジュール種別に対応するアクセスモジュールに送付し、前記ハッシュ化要否情報がハッシュ化が不要であることを示している場合には、前記署名対象データと前記鍵格納場所と前記署名アルゴリズムと前記ハッシュアルゴリズム種別の情報を、前記アクセスモジュール種別に対応するアクセスモジュールに送付する前記署名エンジンアクセス制御部と、
署名エンジンと1対1の関係で接続され、該署名エンジンに前記署名エンジンアクセス制御部から受けた情報を送信して署名生成依頼を行うアクセスモジュールとを有する。
【0012】
本発明(請求項3)は、平文または、平分ダイジェストである署名対象データに対して公開鍵暗号技術を用いた電子署名を作成する異なる種別の複数の署名エンジンと、上位アプリケーションから前記複数の署名エンジンの中のいずれかの署名エンジンへの署名生成依頼を受付け、該署名エンジンに対して署名生成依頼を行う秘密鍵制御部からなり、前記秘密鍵制御部は、署名エンジンアクセス依頼受付部と、秘密鍵情報参照部と、秘密鍵の鍵名称と前記鍵名称に対応する秘密鍵が格納されている署名エンジン種別と前記署名エンジン種別に対応する署名エンジン内である秘密鍵の鍵格納場所と前記秘密鍵が適用される署名アルゴリズムと署名生成時に署名対象データをハッシュ化するためのハッシュアルゴリズム種別とを管理する秘密鍵管理テーブルと、署名エンジン種別と前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報と前記署名エンジン種別に対応するアクセスモジュール種別とを管理する署名エンジン依存情報を有する署名エンジンアクセス制御部と、署名エンジンと1対1の関係で接続されているアクセスモジュールとを有する情報処理システムに適用されるプログラムを格納した記録媒体であって
記署名エンジンアクセス依頼受付部が、上位アプリケーションから署名対象データと署名に用いる秘密鍵の鍵名称を取得するステップと、
前記秘密鍵情報参照部が、前記秘密鍵管理テーブルから前記鍵名称に対応する署名エンジン種別と鍵格納場所と署名アルゴリズムとハッシュアルゴリズム種別とを取得するステップと、
前記署名エンジンアクセス制御部が、前記署名エンジン依存情報から前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報とアクセスモジュール種別とを取得し、前記ハッシュ化要否情報がハッシュ化が必要であることを示している場合には、前記ハッシュアルゴリズム種別により署名対象データをハッシュ化することによりハッシュデータを生成し、該ハッシュデータと前記鍵格納場所と前記署名アルゴリズムの情報を前記アクセスモジュール種別に対応するアクセスモジュールに送付し、前記ハッシュ化要否情報がハッシュ化が不要であることを示している場合には、前記署名対象データと前記鍵格納場所と前記署名アルゴリズムと前記ハッシュアルゴリズム種別情報を前記アクセスモジュール種別に対応するアクセスモジュールに送付するステップと、
前記アクセスモジュールが、前記署名エンジンアクセス制御部から受けた情報を1対1の関係で接続されている署名エンジンに送信して署名生成依頼を行うステップとを実行させる。
【0022】
上記のように、本発明において、初期設定時における秘密鍵管理テーブルの設定により、上位アプリケーションは、署名生成に用いる秘密鍵の鍵名称のみを指定するだけで、任意の署名エンジンに対する署名生成や鍵対生成の依頼に必要な情報を決定可能になる。
また、署名エンジン依存情報の登録を行うことにより、署名エンジンに依存した情報を秘密鍵制御部内に隠蔽し、上位アプリケーションが署名エンジンの種別を意識せずに署名エンジンへアクセスすることが可能となる。
【0023】
また、鍵対生成処理により、秘密鍵の格納先や署名アルゴリズム等に関わらず、システムが利用するすべての秘密鍵の情報を一元的に管理して、各秘密鍵の生成やその秘密鍵を用いた署名生成に必要な情報を、鍵名称をキー情報として取得することが可能となる。また、署名生成に用いる秘密鍵の生成の際にも、上位アプリケーションが生成したい秘密鍵の鍵名称のみを指定するだけで、任意の署名エンジンに対する鍵対生成依頼が可能になる。
【0024】
また、署名生成処理により、上位のアプリケーションが署名生成処理を署名エンジンに依頼する際に、秘密鍵の格納場所や、署名アルゴリズム、利用する署名エンジンの種別及びその署名エンジンに応じた処理依頼方法などを意識することなく、鍵名称及び署名対象データを指定するだけで署名エンジンへの署名生成依頼が可能となる。
【0025】
【発明の実施の形態】
図3は、本発明におけるアクセスシステム構成を示す。
同図に示すように、複数の秘密鍵の管理や複数の署名エンジンへのアクセス制御を一元的に行うための秘密鍵制御部100を設け、署名生成を依頼する上位アプリケーション400が、秘密鍵の格納先や、格納先にある秘密鍵の署名アルゴリズムへの適用性や、入力データのハッシュ化の要否判断などを意識することなく、この秘密鍵制御部100に対して署名生成に用いる秘密鍵名称を指定するだけで任意の署名エンジンに対する署名生成依頼が可能となる。
【0026】
秘密鍵制御部100は、上位アプリケーション400から署名エンジン(A200または、B300)へのアクセス依頼を受け付けるための署名エンジンアクセス依頼受付部120と、システムが利用する複数の秘密鍵の各々について、格納先や署名アルゴリズムなどの署名生成に必要な情報を管理するための秘密鍵管理テーブル150、及びその生成を行う秘密鍵管理テーブル作成部110、この秘密鍵管理テーブル150から鍵名称をキー情報として対応する署名生成に必要な情報を取得するための秘密鍵情報参照部140、署名エンジンに依存した情報を予め登録しておくための署名エンジン依存情報登録部130と、秘密鍵が格納されている署名エンジンへアクセスモジュール170、180を介して実際の処理依頼を行うための署名エンジンアクセス制御部160から構成される。
【0027】
次に、本発明の動作を説明する。
最初に、署名生成を実現するために必要な事前処理として、秘密鍵情報を一元管理するための秘密鍵管理テーブル150の設定及び署名エンジンに依存した情報の設定と、署名生成に用いる秘密鍵を用意するための鍵対生成処理について説明する。
【0028】
1.システム初期設定時
図4は、本発明における鍵対生成時の処理の流れを説明するための図であり、図5は、本発明の秘密鍵管理テーブルの例を示す。最初にシステム初期設定時における動作を説明する。
(1) 秘密鍵管理テーブル150の設定(ステップ101):
システム初期設定の際に、図5に示すように、上位アプリケーション400が利用する複数の秘密鍵の各々に対して、鍵名称、鍵名称に対応する秘密鍵が格納されている署名エンジン種別及びその中における格納場所を示す鍵格納場所情報、適用する署名アルゴリズム情報、署名生成処理の前に署名対象データをハッシュ化するためのハッシュアルゴリズム情報、鍵長などの鍵対生成に必要な鍵パラメータ情報を管理する秘密鍵管理テーブル150を、秘密鍵管理テーブル作成部110を用いて作成する。
【0029】
ここで、署名エンジン種別とは、署名エンジンの種類を区別するための識別子のことであり、署名エンジンとこの識別子との対応はシステムとして固定的に保持する情報である。これらの情報は、署名エンジンに対する鍵対生成や署名生成を依頼する際に必要な情報であり、このテーブルに上位アプリケーション400が利用するすべての秘密鍵に関する情報を設定することにより、上位アプリケーション400は、署名生成に用いる秘密鍵の鍵名称のみを指定するだけで、任意の署名エンジンに対する署名生成や鍵対生成の依頼に必要な情報を決定可能になる。
【0030】
(2) 署名エンジン依存情報の登録(ステップ102):
システムの初期設定の際に、システムが利用する各署名エンジンに依存する情報として、署名生成を依頼する際の入力データとして署名対象データをハッシュ化する必要があるか否かの情報と、署名エンジンンへアクセスするためのアクセスモジュール種別を秘密鍵制御部100内に予め登録しておく。これにより、署名エンジンに依存した情報を秘密鍵制御部100内に隠蔽し、上位アプリケーション400が署名エンジンの種別を意識せずに署名エンジンへアクセスすることが可能となる。ここで、アクセスモジュール種別とは、アクセスモジュールの種別を区別するための識別子のことであり、アクセスモジュールと識別子の対応は、システムとして固定的に保持される情報である。
【0031】
2.鍵生成時
次に、鍵対生成時の動作について説明する。
(1) 上位アプリケーション400による鍵対生成依頼(ステップ103):
上記システム初期時の設定が終了後、上位アプリケーション400は署名生成に用いる鍵対の生成処理を秘密鍵制御部150に対して依頼する。その際、上位アプリケーション400は、どの鍵対を生成するのかを先に作成した秘密鍵管理テーブル150内に登録した秘密鍵の中から鍵名称を用いて指定する。
【0032】
(2) 署名エンジンアクセス依頼受付処理(ステップ104):
上位アプリケーション400から署名エンジンに対する鍵対生成の依頼を、署名エンジンアクセス依頼受付部120を用いて受理し、生成依頼対象である鍵名称情報を取得する。
(3) 秘密鍵情報参照処理(ステップ105):
上位アプリケーション400から指定された鍵名称に対応する鍵対の生成に必要な情報を取得するため、秘密鍵情報参照部140を用いて秘密鍵管理テーブル150にアクセスし、(2)で取得した鍵名称をキー情報として対応する署名エンジン種別、鍵格納場所、署名アルゴリズム、鍵パラメータ情報を取得する。これにより、上位アプリケーション400からは鍵名称のみが指定されるだけで、署名エンジンへの鍵対生成の依頼に必要な情報を用意することが可能となる。
【0033】
(4) 署名エンジンへの鍵対生成依頼処理(ステップ106):
(3)で取得した情報をもとに署名エンジンへ鍵対生成処理を依頼するため、署名エンジンアクセス制御部100を用いて、(3)で取得した署名エンジン種別に対応する署名エンジンへのアクセスモジュール種別を署名エンジン依存情報から取得し、そのアクセスモジュールを介して、(3)で取得した鍵格納場所、署名アルゴリズム、鍵パラメータ情報を用いて署名エンジンに対して鍵対生成を依頼する。この処理により、上位アプリケーション400が指定した鍵名称に対応する秘密鍵が生成・格納されるべき署名エンジンへのアクセスモジュールが自動的に選択され、各署名エンジンにおける鍵対生成依頼方法に従った鍵対生成依頼を実行することが可能となる。
【0034】
(5) 鍵対生成処理(ステップ107):
(4)の依頼に基づき、指定された鍵パラメータ及び署名アルゴリズムに対応する鍵対生成処理が署名エンジン内で行われ、指定された格納場所へ秘密鍵が格納される。
以上の処理及び機能を用いることにより、秘密鍵の格納先や署名アルゴリズム等に関わらず、システムが利用するすべての秘密鍵の情報を一元的に管理して、各秘密鍵の生成やその秘密鍵を用いた署名生成に必要な情報を、鍵名称をキー情報として取得することが可能となる。また、本発明により、署名生成に用いる秘密鍵の生成の際にも、上位アプリケーション400が生成したい秘密鍵の鍵名称のみを指定するだけで、任意の署名エンジンに対する鍵対生成依頼が可能になる。
【0035】
3.署名生成処理時
次に、上記で生成された秘密鍵を用いた署名生成処理の流れについて説明する。図6は、本発明における署名生成処理の流れを説明するための図である。
最初に、署名生成処理時の動作について説明する。
(1) 上位アプリケーション400による署名生成依頼(ステップ201):
上位アプリケーション400は、署名生成の必要が発生した際に、秘密鍵制御部150に対して署名対象となるデータと署名に用いる鍵名称を指定して署名生成依頼を行う。
【0036】
(2) 署名生成依頼受付処理(ステップ202):
上位アプリケーション400から署名エンジンに対する署名生成の依頼を、署名エンジンアクセス依頼受付部120を用いて受理し、署名対象となるデータと署名に用いる秘密鍵の鍵名称情報を取得する。
(3) 秘密鍵情報参照処理(ステップ203):
上位アプリケーション400から指定された鍵名称に対応する秘密鍵を用いた署名生成に必要な情報を取得するため、秘密鍵情報参照部140を用いて秘密鍵管理テーブル150にアクセスし、(2)で取得した鍵名称をキー情報として対応する署名エンジン種別、鍵格納場所、署名アルゴリズム、ハッシュアルゴリズム情報を取得する。これにより、上位アプリケーション400からは鍵名称のみが指定されるだけで、署名エンジンへの署名生成の依頼に必要な情報を用意することが可能になる。
【0037】
(4) 署名エンジンへの署名生成依頼処理(ステップ204):
(3)で取得した情報をもとに署名エンジンへの署名生成処理を依頼するため、署名エンジンアクセス制御部160を用いて、(3)で取得した署名エンジン種別に対応する署名エンジンへのアクセスモジュール種別及び署名対象データのハッシュ化要否情報を署名エンジン依存情報から取得する。そして、選択された署名アクセスモジュールに対して、署名対象のデータのハッシュ化が必要であった場合には、(3)で取得したハッシュアルゴリズムにより入力データである署名対象データをハッシュ化後、このハッシュデータと鍵格納場所と署名アルゴリズムの情報を入力として署名エンジンへの署名生成依頼を行い、署名対象データのハッシュ化が不要であった場合には、署名対象データと、(3)で取得した鍵格納場所及び署名アルゴリズム及びハッシュアルゴリズム情報を入力として署名エンジンへ署名生成依頼を行う。この処理により、上位アプリケーション400が指定した鍵名称に対応する秘密鍵が格納されている署名エンジンへのアクセスモジュールが自動的に選択され、入力データのハッシュ化の要否など各署名エンジンに対する署名生成依頼方法に従った署名生成依頼を実行することが可能となる。
【0038】
(5) 署名生成処理(ステップ205):
署名エンジンにおいて、(4)の依頼に基づき、指定された鍵格納場所にある秘密鍵を用いて署名生成処理が行われ、署名データが返却される。
以上の処理及び機能を用いることにより、上位アプリケーション400が署名生成処理を署名エンジンに依頼する際に、秘密鍵の格納場所や、署名アルゴリズム、利用する署名エンジンの種別及びその署名エンジンに応じた処理依頼方法などを意識することなく、鍵名称及び署名対象データを指定するだけで署名エンジンへの署名生成依頼が可能となる。
【0039】
【実施例】
以下、図面と共に本発明の実施例を説明する。
本実施例では、署名エンジンを用いた署名生成処理の流れを図7〜図10を用いて説明する。
図7は、本発明の一実施例の電子署名生成の事前処理を説明するための図であり、図8は、本発明の一実施例の秘密鍵管理テーブルの設定例を示す。
【0040】
1. システム処刑設定時
(1) 秘密鍵管理テーブルの設定(ステップ301):
システム初期設定の際に、図8の例に示されるような秘密鍵管理テーブル150を作成し、その中にシステムで利用されるすべての秘密鍵について、署名エンジンへの鍵対生成や署名生成の依頼に必要な情報を登録する。このようなテーブルの作成は、例えば、ファイル編集機能を用いて実現可能である。また、図8は、例えば、「KeyA」という鍵名称を持つ秘密鍵が、「署名エンジンA」200の「#3」という場所に格納され、適用する署名アルゴリズムは「ESIGN」であり、署名生成の際の署名対象データのハッシュ化アルゴリズムには「SHA−1」を用い、鍵長が「120バイト」であるといった情報が登録されている。これらの情報は、システム初期時にシステムの方針として予め決定しておく。
【0041】
(2) 署名エンジン依存情報の登録(ステップ302):
図9は、本発明の一実施例の署名エンジン依存情報の設定例を示す。
システム初期設定の際に、図9の例に示されるような署名エンジン依存情報テーブル161を署名エンジンアクセス制御部160に作成し、その中にシステムが利用する署名エンジンに対して、署名エンジンに依存する情報である入力データのハッシュ化の要否情報と、署名エンジンへアクセスするためのアクセスモジュール種別情報を登録する。このようなテーブルの作成は、例えば、ファイル編集機能を用いて実現可能である。また、図9は、例えば、「署名エンジンA」200は、入力データのハッシュ化の要否は「否」であり、署名エンジンにアクセスする際に使用するアクセスモジュールは、「アクセスモジュールA」を使用することを意味している。これらの情報は、システム初期時に予め使用する署名エンジンの仕様を調査して取得しておく。
【0042】
2. 鍵対生成時
(1) 上位アプリケーション400による鍵対生成依頼(ステップ303):
上記システム初期時の設定が終了後、上位アプリケーションは署名生成に用いる鍵対の生成処理を秘密鍵制御部100に対して鍵名称を指定して依頼する。本実施例では、上位アプリケーション400が「KeyA」の鍵名称に対応する鍵の生成を依頼したものとして説明する。
【0043】
(2) 署名エンジンアクセス依頼受付処理(ステップ304):
上位アプリケーション400から署名エンジンに対する鍵対生成の依頼を受理し、生成依頼対象が鍵名称「KeyA」であることを認識する。上位アプリケーション400からの依頼の受理は、例えば、データ通信機能を用いて実現可能であり、依頼内容を解析し、鍵名称情報を取得することは、例えば、データ解析機能を用いて実現可能である。
【0044】
(3) 秘密鍵情報参照処理(ステップ305):
上位アプリケーション400から指定さた「KeyA」に対応する鍵対の生成に必要な情報を取得するため、秘密鍵管理テーブル150のファイルにアクセスし、「KeyA」に対応する情報として、署名エンジン種別が「署名エンジンA」であり、鍵格納場所が「#3」であり、署名アルゴリズムが「ESIGN」であり、鍵パラメータとして秘密鍵の鍵長が「40バイト」であることの情報を取得する。秘密鍵管理テーブル150のファイルへのアクセスは、例えば、ファイルアクセス機能を用いて実現可能であり、「KeyA」に対応する情報の取得は、例えば、データ検索機能を用いて実現可能である。
【0045】
(4) 署名エンジンへの鍵対生成依頼処理(ステップ306):
署名エンジンへ鍵対生成処理を依頼するため、まず、初期時に設定した署名エンジン依存情報テーブル161から署名エンジン種別である「署名エンジンA」に対応するアクセスモジュール種別である「アクセスモジュールA」の情報を取得する。その後、この「アクセスモジュールA」を介して、(3)で取得した鍵格納場所「#3」、署名アルゴリズム「ESIGN」、鍵パラメータ情報「秘密鍵長=40バイト」の情報を「署名エンジンA」に対して送付し、鍵対生成を依頼する。署名エンジン依存情報テーブル161からのアクセスモジュール種別情報の取得は、例えば、データ検索機能を用いて実現可能であり、アクセスモジュールへの入力データの生成は、例えば、データ組み立て機能を用いて実現可能である。また、署名エンジンへの鍵対生成依頼データの送付は、例えば、データ通信機能を用いて実現される。
【0046】
(5) 鍵対生成処理(ステップ307):(4)の依頼に基づき、「署名エンジンA」200では、「ESIGN」に適用可能で、「秘密鍵の鍵長が40バイト」の鍵対の生成を行い、そこで生成された秘密鍵が「#3」に格納される。
以上の処理により、署名生成に用いる秘密鍵管理情報の設定及び、それに基づく秘密鍵の生成を、上位アプリケーション400が署名エンジン種別や署名アルゴリズムなどを意識することなく実行することが可能となる。
【0047】
3. 署名生成処理時
続いて本発明における署名生成処理の例を説明する。
図10は、本発明の一実施例の署名生成処理を説明するための図である。
(1) 上位アプリケーション400による署名生成依頼(ステップ401):
上位アプリケーション400は、署名生成の必要が発生した際に、秘密鍵制御部100に対して署名対象となるデータと署名に用いる秘密鍵の鍵名称を指定して署名生成依頼を行う。本実施例では、上位アプリケーション400が署名生成に用いる秘密鍵として「KeyA」の鍵名称に対応する秘密鍵を指定して署名生成依頼を行ったものとして説明する。
【0048】
(2) 署名生成依頼受付処理(ステップ402):
上位アプリケーション400から署名エンジンに対する署名生成の依頼を受理し、署名対象データと署名に用いる秘密鍵の鍵名称情報が「KeyA」であることを認識する。上位アプリケーション400からの依頼の受理は、例えば、データ通信機能を用いて実現可能であり、依頼内容を解析し、鍵名称情報を取得することは、例えば、デーた解析機能を用いて実現可能である。
【0049】
(3) 秘密鍵情報参照処理(ステップ403):
上位アプリケーション400から指定された「KeyA」に対応する鍵対の生成に必要な情報を取得するため、秘密鍵管理テーブルのファイルにアクセスし、「KeyA」に対応する情報として、署名エンジン種別が、「署名エンジンA」であり、鍵格納場所が「#3」であり、署名アルゴリズムが「ESIGN」であり、ハッシュアルゴリズムが「SHA−1」であることの情報を取得する。秘密鍵管理テーブル150のファイルへのアクセスは、例えば、ファイルアクセス機能を用いて、実現可能であり、「KeyA」に対応する情報の取得は、例えばデータ検索機能を用いて実現可能である。
【0050】
(4) 署名エンジンへの署名生成依頼処理(ステップ404):
署名エンジンへ署名生成処理を依頼するため、まず、システム初期時に設定した署名エンジン依存情報テーブル161から署名エンジン種別である「署名エンジンA」に対応するアクセスモジュール種別である「アクセスモジュールA」と、入力データのハッシュ化の要否情報である「否」の情報を取得する。入力データのハッシュ化の要否が「否」であることを確認し、これにより入力データのハッシュ化処理は行わず、「アクセスモジュールA」を介して、(3)で取得した鍵格納場所「#3」、署名アルゴリズム「ESIGN」、ハッシュアルゴリズム「SHA−1」の情報と、署名対象データを「署名エンジンA」に対して送付し、署名生成を依頼する。署名エンジン依存情報テーブル161からのアクセスモジュール種別情報及び入力データのハッシュ化要否情報の取得は、例えば、データ検索機能を用いて実現可能であり、入力データのハッシュ化処理の要否判断は、例えば、データ解析機能を用いて実現可能であり、アクセスモジュールへの入力データの生成は、例えばデータ組み立て機能を用いて実現可能であり、署名エンジンへの鍵対生成依頼データの送付は、例えば、データ通信機能を用いて実現される。また、入力データのハッシュ化の要否が「要」であった場合には、例えば、ソフトウェアで実現されているハッシュ化機能を用いてハッシュ処理を行うことが可能である。
【0051】
(5) 署名生成処理(ステップ405):
(4)の依頼に基づき、「署名エンジンA」200では、署名対象データを指定さたハッシュアルゴリズムである「SHA−1」によりハッシュ化し、これに対して「#3」に格納されている秘密鍵を用いて「ESIGN」署名アルゴリズムにより暗号化し、署名が生成される。
【0052】
以上の処理により、上位アプリケーションが署名生成処理を署名エンジンに依頼する際に、鍵名称及び署名対象データを秘密鍵管理テーブル150に対して指定するだけで、任意の署名エンジンに対して署名生成の依頼が可能になる。
また、上記の実施例は、図3の構成に基づいて説明したが、秘密鍵管理テーブル作成部110、署名エンジンアクセス依頼受付部120、署名エンジン依存情報登録部130、秘密鍵情報参照部140、署名エンジンアクセス制御部160を有する秘密鍵制御部100をプログラムとして構築し、秘密鍵制御部として利用されるコンピュータに接続されるディスク装置や、フロッピーディスク、CD−ROM等の可搬記憶媒体に格納しておき、本発明を実施する際にインストールすることにより、容易に本発明を実現できる。
【0053】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【0054】
【発明の効果】
上述のように、本発明によれば、上位アプリケーションは署名生成のためにアクセスする署名エンジンの種別、秘密鍵の格納場所、署名アルゴリズムなどを意識することなく、鍵名称と署名対象データのみという統一的なインタフェースにより、任意の署名エンジンに対して電子署名の生成を依頼することが可能となるため、複数の署名エンジン及び複数の署名アルゴリズムを容易に使い分けることが可能となることはもちろん、既存システムへの新たな署名エンジンの追加や新たな署名アルゴリズムの追加の際にも、上位のアプリケーションに影響を与えることなく、容易に追加を行うことができる。
【図面の簡単な説明】
【図1】本発明の原理を説明するための図である。
【図2】本発明の原理構成図である。
【図3】本発明におけるアクセスシステムの構成図である。
【図4】本発明における鍵対生成時の処理の流れを説明するための図である。
【図5】本発明の秘密鍵管理テーブルの例である。
【図6】本発明における署名生成処理の流れを説明するための図である。
【図7】本発明の一実施例の署名生成のための事前処理を説明するための図である。
【図8】本発明の一実施例の秘密鍵管理テーブルの設定例である。
【図9】本発明の一実施例の署名エンジン依存情報の設定例である。
【図10】本発明の一実施例の署名生成処理を説明するための図である。
【図11】電子署名生成の流れと署名エンジンの構成図である。
【図12】従来の署名エンジンへの署名生成依頼処理の流れを説明するための図である。
【符号の説明】
100 秘密鍵制御部
110 秘密鍵管理テーブル作成手段、秘密鍵管理テーブル作成部
120 署名エンジンアクセス依頼受付手段、署名エンジンアクセス依頼受付部
130 署名エンジン依存情報登録手段、署名エンジン依存情報登録部
140 秘密鍵情報参照手段、秘密鍵情報参照部
150 秘密鍵管理テーブル
160 署名エンジンアクセス制御手段、署名エンジンアクセス制御部
161 署名エンジン依存情報
170 署名アクセスモジュールA
180 署名アクセスモジュールB
200 署名エンジン、署名エンジンA
210 ハッシュ処理部
220 署名生成部
230 秘密鍵格納部
240 鍵対生成部
300 署名エンジンB
320 署名生成部
330 秘密鍵格納部
340 鍵対生成部
400 上位アプリケーション
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a common access method and system for a plurality of different signature engines, and a storage medium storing a common access program for a plurality of different signature engines, and more particularly to a plaintext or a public key for a plaintext digest. A plurality of different signature engines for generating an electronic signature using a signature engine and generating a private / public key pair in an information processing system having an electronic signature engine for creating an electronic signature using a cryptographic technique And a storage medium storing a common access program for a plurality of different signature engines.
[0002]
[Prior art]
First, the flow of electronic signature generation and the signature engine will be described.
As shown in FIG. 11, an electronic signature using a public key cryptosystem is usually a signature using a secret key for the hash data after first converting the target data to be signed into a hash function. It is generated by performing the generation process. As hash functions, algorithms such as SHA-1 and MD5 are well known, and as electronic signature algorithms, ESIGN and RSA, which are public key cryptosystems, are well known. Here, since the private key used for the electronic signature is very important information for identifying the signer, the system using the electronic signature securely manages the private key and generates the electronic signature. Therefore, in many cases, a function group necessary for these is prepared as a dedicated device independent of the system. This dedicated device is generally called a signature engine, and its mounting method varies from device to device.
[0003]
For example, as shown in FIG. 11, a hash processing unit that can use a plurality of algorithms in hash processing or signature generation processing, a method that can hold and use a plurality of secret keys, or a signature processing unit like signature engine B in FIG. There is also a device that assumes that hashed data is input.
Next, generation of an electronic signature using a signature engine will be described.
[0004]
In general, when an electronic signature is generated in a system that requires the use of a plurality of signature algorithms or the use of a plurality of signature engines, a signature for the signature engine is generated according to the flow shown in FIG.
Step 10) First, in an application for which signature generation is to be performed, it is determined what data is to be used for signature generation, a secret key used for signature generation, a hash algorithm, and a signature algorithm as information necessary for signature generation.
[0005]
Step 11) Select a signature engine in which a secret key used for signature generation is stored.
Step 12) It is determined whether or not hashing of the signature target data is necessary for the selected signature engine. If necessary, the process proceeds to Step 13, and if not necessary, the process proceeds to Step 14.
[0006]
Step 13) If necessary, the input data is hashed.
Step 14) According to the signature generation request method dependent on the signature engine selected in Step 11, the hash algorithm, signature algorithm, and secret key storage destination information are designated to the signature engine based on the information determined in Step 10 Generate signature generation request information. When step 13 is performed, it is not necessary to specify a hash algorithm.
[0007]
Step 15) The information generated in Step 14 and the signature target data or the hash value of the signature target data are sent to the signature engine via the access module, and signature data as a signature generation result is received from the signature engine. Here, the access module is, for example, driver software for controlling the signature engine.
[0008]
[Problems to be solved by the invention]
However, in a signature generation process using a conventional signature engine, an upper application requesting signature generation determines the signature engine in which the secret key used for signature generation is stored and the storage location thereof, and the secret key is a signature. It is necessary to confirm that it is applicable to the algorithm, determine whether or not the signature target data that is input data needs to be hashed, and perform signature generation processing according to the type of signature engine. Therefore, in a system that uses a plurality of signature algorithms, a plurality of secret keys, or a plurality of signature engines depending on the application, the process of requesting the signature engine to generate an electronic signature becomes complicated.
[0009]
The present invention has been made in view of the above points, and makes it possible to easily use a plurality of signature engines and a plurality of signature algorithms, and to add a new signature engine to an existing system or to create a new signature algorithm. Common access method and system for a plurality of different signature engines and a common access program for a plurality of different signature engines that can be easily added without affecting the upper application even when adding It is an object to provide a storage medium that stores.
[0010]
[Means for Solving the Problems]
  FIG. 1 is a diagram for explaining the principle of the present invention.
  The present invention (Claim 1) includes a plurality of different types of signature engines for creating an electronic signature using public key encryption technology for signature target data that is a plaintext or a plain digest, and a higher-level application.BeforeA private key that accepts a signature generation request to one of the plurality of signature engines and makes a signature generation request to the signature enginecontrolFrom the departmentThe secret key control unit includes a signature engine access request reception unit, a secret key information reference unit, a key name of the secret key, a signature engine type in which a secret key corresponding to the key name is stored, and the signature engine A secret key management table for managing a key storage location in the signature engine corresponding to the type, a signature algorithm to which the secret key is applied, and a hash algorithm type for hashing signature target data at the time of signature generation, and a signature engine type A signature engine access control unit having signature engine dependency information for managing hashing necessity information of signature target data corresponding to the signature engine type and an access module type corresponding to the signature engine type, and a signature engine Information processing system having access modules connected in a one-to-one relationshipThe signature creation request method applied to the system,
  in frontThe signature engine access request receiving unit obtains the data to be signed and the key name of the secret key used for the signature from the upper application;
  The secret key information reference unit obtaining a signature engine type corresponding to the key name, a key storage location in the signature engine, a signature algorithm, and a hash algorithm type from the secret key management table;
  The signature engine access control unit obtains hashing necessity information and access module type of signature target data corresponding to the signature engine type from the signature engine dependency information, and the hashing necessity information needs to be hashed Is generated by hashing the signature target data according to the hash algorithm type, and the hash data, the key storage location, and the signature algorithm information areSent to the access module corresponding to the access module type.When the hashing necessity information indicates that hashing is not required, the signature target data, the key storage location, the signature algorithm, and the hash algorithm type information are set as the access module type. Sending to the corresponding access module;
  The access module receives from the signature engine access control unit.FeelingsSend information to the connected signature engine in a one-to-one relationshipAnd make a signature generation request.
[0011]
  The present invention (Claim 2) includes a plurality of different types of signature engines for creating an electronic signature using public key encryption technology for signature target data that is plaintext or a plain digest, and a higher-level application.BeforeA private key that accepts a signature generation request to one of the plurality of signature engines and makes a signature generation request to the signature enginecontrolAn information processing system comprising parts,
  The secret key control unit
  The key name of the secret key, the signature engine type in which the secret key corresponding to the key name is stored, the key storage location in the signature engine corresponding to the signature engine type, the signature algorithm to which the secret key is applied, and the signature generation A secret key management table that manages the type of hash algorithm used to hash the signature target dataAndA signature engine access control unit having signature engine dependency information for managing a signature engine type, hashing necessity information of signature target data corresponding to the signature engine type, and an access module type corresponding to the signature engine type;
  A signature engine access request reception unit that obtains the data to be signed and the key name of the private key used for the signature from the upper application;
  The secret key management tableLeA secret key information reference unit for acquiring a signature engine type corresponding to the key name, a key storage location in the signature engine, a signature algorithm, and a hash algorithm type,
  When the hashing necessity information and access module type of the signature target data corresponding to the signature engine type are acquired from the signature engine dependency information, and the hashing necessity information indicates that hashing is necessary Includes generating hash data by hashing signature target data according to the hash algorithm type, and storing the hash data, the key storage location, and the signature algorithm information.Sent to the access module corresponding to the access module type.When the hashing necessity information indicates that hashing is not required, the signature target data, the key storage location, the signature algorithm, and the hash algorithm type information are set as the access module type. The signature engine access controller to send to the corresponding access module;
  The signature engine is connected to the signature engine in a one-to-one relationship and received from the signature engine access control unit.FeelingsNewsSend the signature generation requestAccess module.
[0012]
  The present invention (Claim 3) includes a plurality of different types of signature engines for creating an electronic signature using a public key encryption technique for signature target data that is a plaintext or a plain digest, and a higher-level application.BeforeA private key that accepts a signature generation request to one of the plurality of signature engines and makes a signature generation request to the signature enginecontrolFrom the departmentThe secret key control unit includes a signature engine access request reception unit, a secret key information reference unit, a key name of the secret key, a signature engine type in which a secret key corresponding to the key name is stored, and the signature engine A secret key management table for managing a key storage location of a secret key in a signature engine corresponding to the type, a signature algorithm to which the secret key is applied, and a hash algorithm type for hashing signature target data at the time of signature generation; A signature engine access control unit having signature engine dependency information for managing a signature engine type, hashing necessity information of signature target data corresponding to the signature engine type, and an access module type corresponding to the signature engine type, and a signature Having an access module connected to the engine in a one-to-one relationshipA recording medium storing a program applied to an information processing system,,
  in frontThe signature engine access request receiving unit obtains the data to be signed and the key name of the secret key used for the signature from the upper application;
  The secret key information reference unit obtains a signature engine type, a key storage location, a signature algorithm, and a hash algorithm type corresponding to the key name from the secret key management table;
  The signature engine access control unit obtains hashing necessity information and access module type of signature target data corresponding to the signature engine type from the signature engine dependency information, and the hashing necessity information needs to be hashed Is generated by hashing the signature target data according to the hash algorithm type, and the hash data, the key storage location, and the signature algorithm information areSent to the access module corresponding to the access module type.When the hashing necessity information indicates that hashing is not required, the signature target data, the key storage location, the signature algorithm, and the hash algorithm type information correspond to the access module type. Sending to the access module;
  The access module transmits information received from the signature engine access control unit to a signature engine connected in a one-to-one relationship.And make a signature generation requestStep.
[0022]
As described above, in the present invention, by setting the private key management table at the time of initial setting, the higher-level application only specifies the key name of the private key used for signature generation, and can generate a signature or key for an arbitrary signature engine. It becomes possible to determine information necessary for the request for pair generation.
Also, by registering signature engine dependent information, information dependent on the signature engine can be hidden in the secret key control unit, and a higher level application can access the signature engine without being aware of the type of the signature engine. .
[0023]
In addition, the key pair generation process centrally manages all the secret key information used by the system, regardless of the secret key storage location and signature algorithm, and generates each secret key and uses that secret key. It is possible to acquire information necessary for signature generation using the key name as key information. Also, when generating a secret key used for generating a signature, a key pair generation request can be made to an arbitrary signature engine by only specifying the key name of the secret key that the higher-level application wants to generate.
[0024]
In addition, when a higher-level application requests a signature generation process from the signature generation process, the storage location of the private key, the signature algorithm, the type of signature engine to be used, and a process request method according to the signature engine, etc. It is possible to make a signature generation request to the signature engine only by designating the key name and signature target data without being aware of the above.
[0025]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 3 shows an access system configuration in the present invention.
As shown in the figure, a secret key control unit 100 is provided for centrally managing a plurality of secret keys and controlling access to a plurality of signature engines. The secret key used for signature generation to the secret key control unit 100 without being conscious of the applicability to the signature algorithm of the storage destination, the secret key at the storage destination, the necessity of hashing of the input data, etc. A signature generation request for any signature engine can be made by simply specifying the name.
[0026]
The secret key control unit 100 stores the signature engine access request receiving unit 120 for receiving an access request from the upper application 400 to the signature engine (A200 or B300), and each of the plurality of secret keys used by the system. And a secret key management table 150 for managing information necessary for signature generation such as a signature algorithm, a secret key management table creating unit 110 for generating information, and a key name corresponding to the secret key management table 150 as key information. A secret key information reference unit 140 for acquiring information necessary for signature generation, a signature engine dependent information registration unit 130 for registering information dependent on the signature engine in advance, and a signature engine storing a secret key For making an actual processing request via the access module 170, 180 Composed of the engine access control unit 160.
[0027]
Next, the operation of the present invention will be described.
First, as pre-processing necessary for realizing signature generation, setting of a secret key management table 150 for centrally managing secret key information, setting of information depending on the signature engine, and a secret key used for signature generation A key pair generation process for preparation will be described.
[0028]
1. During system initialization
FIG. 4 is a diagram for explaining the flow of processing at the time of key pair generation in the present invention, and FIG. 5 shows an example of a secret key management table of the present invention. First, the operation during system initialization will be described.
(1) Setting of secret key management table 150 (step 101):
At the time of system initialization, as shown in FIG. 5, for each of a plurality of secret keys used by the higher-level application 400, a key name, a signature engine type in which a secret key corresponding to the key name is stored, and Key storage location information indicating the storage location in the file, signature algorithm information to be applied, hash algorithm information for hashing signature target data before signature generation processing, key parameter information necessary for key pair generation such as key length A secret key management table 150 to be managed is created using the secret key management table creation unit 110.
[0029]
Here, the signature engine type is an identifier for distinguishing the type of signature engine, and the correspondence between the signature engine and this identifier is information that is fixedly held as a system. These pieces of information are information necessary when requesting the signature engine to generate a key pair or a signature. By setting information on all secret keys used by the upper application 400 in this table, the upper application 400 By specifying only the key name of the secret key used for signature generation, it is possible to determine information necessary for requesting signature generation and key pair generation for an arbitrary signature engine.
[0030]
(2) Registration of signature engine dependent information (step 102):
Information on whether or not it is necessary to hash the data to be signed as input data when requesting signature generation, as information dependent on each signature engine used by the system at the time of initial setting of the system, and the signature engine The access module type for accessing the password is registered in the secret key control unit 100 in advance. As a result, information dependent on the signature engine is concealed in the secret key control unit 100, and the higher-level application 400 can access the signature engine without being aware of the type of the signature engine. Here, the access module type is an identifier for distinguishing the type of the access module, and the correspondence between the access module and the identifier is information fixedly held as a system.
[0031]
2. When generating a key
Next, the operation at the time of key pair generation will be described.
(1) Key pair generation request by the upper application 400 (step 103):
After the initial setting of the system is completed, the upper application 400 requests the secret key control unit 150 to generate a key pair used for signature generation. At that time, the higher-level application 400 designates which key pair is to be generated using the key name from among the secret keys registered in the secret key management table 150 created earlier.
[0032]
(2) Signature engine access request acceptance process (step 104):
A key pair generation request for the signature engine from the higher-level application 400 is received using the signature engine access request reception unit 120, and key name information that is a generation request target is acquired.
(3) Private key information reference processing (step 105):
In order to acquire information necessary for generating a key pair corresponding to the key name designated by the upper application 400, the secret key information reference unit 140 is used to access the secret key management table 150, and the key acquired in (2). The signature engine type, key storage location, signature algorithm, and key parameter information corresponding to the name as key information are acquired. As a result, only the key name is designated from the higher-level application 400, and it becomes possible to prepare information necessary for a key pair generation request to the signature engine.
[0033]
(4) Key pair generation request processing to the signature engine (step 106):
In order to request the signature engine to generate a key pair based on the information acquired in (3), the signature engine access control unit 100 is used to access the signature engine corresponding to the signature engine type acquired in (3). The module type is acquired from the signature engine dependent information, and the key pair generation is requested to the signature engine using the key storage location, signature algorithm, and key parameter information acquired in (3) via the access module. By this process, the access module to the signature engine in which the secret key corresponding to the key name designated by the upper application 400 is to be generated and stored is automatically selected, and the key according to the key pair generation request method in each signature engine. It is possible to execute a pair generation request.
[0034]
(5) Key pair generation process (step 107):
Based on the request of (4), key pair generation processing corresponding to the designated key parameter and signature algorithm is performed in the signature engine, and the secret key is stored in the designated storage location.
By using the above processes and functions, all private key information used by the system is centrally managed regardless of the private key storage location and signature algorithm, etc. It is possible to acquire information necessary for signature generation using the key name as key information. In addition, according to the present invention, when generating a secret key used for signature generation, a key pair generation request can be made to an arbitrary signature engine only by specifying the key name of the secret key that the upper application 400 wants to generate. .
[0035]
3. During signature generation processing
Next, a flow of signature generation processing using the secret key generated above will be described. FIG. 6 is a diagram for explaining the flow of signature generation processing in the present invention.
First, the operation during the signature generation process will be described.
(1) Signature generation request by the upper application 400 (step 201):
When it is necessary to generate a signature, the upper application 400 makes a signature generation request to the secret key control unit 150 by specifying data to be signed and a key name used for the signature.
[0036]
(2) Signature generation request acceptance processing (step 202):
A signature generation request for the signature engine from the higher-level application 400 is received using the signature engine access request reception unit 120, and key name information of the data to be signed and the secret key used for the signature is acquired.
(3) Private key information reference processing (step 203):
In order to acquire information necessary for signature generation using the secret key corresponding to the key name designated by the upper application 400, the secret key information reference unit 140 is used to access the secret key management table 150, and in (2) The signature engine type, key storage location, signature algorithm, and hash algorithm information corresponding to the acquired key name as key information are acquired. As a result, only the key name is specified from the host application 400, and it becomes possible to prepare information necessary for a signature generation request to the signature engine.
[0037]
(4) Signature generation request processing to the signature engine (step 204):
In order to request a signature generation process to the signature engine based on the information acquired in (3), the signature engine access control unit 160 is used to access the signature engine corresponding to the signature engine type acquired in (3). The hash type necessity information of the module type and signature target data is acquired from the signature engine dependency information. If it is necessary to hash the signature target data for the selected signature access module, the signature target data as the input data is hashed by the hash algorithm acquired in (3), and then When the hash data, key storage location, and signature algorithm information are input, a signature generation request is sent to the signature engine. If hashing of the signature target data is not required, the signature target data is obtained in (3). A signature generation request is made to the signature engine with the key storage location, signature algorithm, and hash algorithm information as inputs. By this processing, the signature engine access module storing the secret key corresponding to the key name designated by the upper application 400 is automatically selected, and the signature generation for each signature engine such as the necessity of hashing of the input data is generated. It is possible to execute a signature generation request according to the request method.
[0038]
(5) Signature generation processing (step 205):
In the signature engine, based on the request (4), a signature generation process is performed using a secret key in the designated key storage location, and signature data is returned.
By using the above processes and functions, when the higher-level application 400 requests the signature engine to perform a signature generation process, the private key storage location, the signature algorithm, the type of signature engine to be used, and the process corresponding to the signature engine It is possible to make a signature generation request to the signature engine only by designating the key name and signature target data without being aware of the request method.
[0039]
【Example】
Embodiments of the present invention will be described below with reference to the drawings.
In the present embodiment, the flow of signature generation processing using the signature engine will be described with reference to FIGS.
FIG. 7 is a diagram for explaining pre-processing for generating an electronic signature according to an embodiment of the present invention, and FIG. 8 shows a setting example of a secret key management table according to an embodiment of the present invention.
[0040]
1. When system execution is set
(1) Setting of secret key management table (step 301):
When the system is initialized, a secret key management table 150 as shown in the example of FIG. 8 is created, and for all of the secret keys used in the system, key pair generation and signature generation to the signature engine are performed. Register the information required for the request. Such a table can be created using, for example, a file editing function. FIG. 8 shows that, for example, a secret key having a key name “KeyA” is stored in a location “# 3” of “signature engine A” 200, the applied signature algorithm is “ESIGN”, and a signature generation In this case, “SHA-1” is used as the hashing algorithm for the data to be signed, and information that the key length is “120 bytes” is registered. These pieces of information are determined in advance as a system policy at the initial stage of the system.
[0041]
(2) Registration of signature engine dependent information (step 302):
FIG. 9 shows a setting example of signature engine dependent information according to an embodiment of the present invention.
When initializing the system, a signature engine dependency information table 161 as shown in the example of FIG. 9 is created in the signature engine access control unit 160, and the signature engine used by the system depends on the signature engine. Information that is necessary for hashing the input data, and access module type information for accessing the signature engine. Such a table can be created using, for example, a file editing function. Further, FIG. 9 shows, for example, that “signature engine A” 200 has “no” as to whether input data needs to be hashed, and the access module used when accessing the signature engine is “access module A”. It is meant to be used. These pieces of information are obtained by investigating the specifications of the signature engine used in advance at the initial stage of the system.
[0042]
2. When generating a key pair
(1) Key pair generation request by the host application 400 (step 303):
After the initial setting of the system is completed, the upper application requests the secret key control unit 100 to specify a key name for generating a key pair used for signature generation. In the present embodiment, it is assumed that the higher-level application 400 has requested generation of a key corresponding to the key name “KeyA”.
[0043]
(2) Signature engine access request acceptance process (step 304):
A request for key pair generation to the signature engine is received from the host application 400, and it is recognized that the generation request target is the key name “KeyA”. Acceptance of a request from the host application 400 can be realized using, for example, a data communication function, and analysis of request contents and acquisition of key name information can be realized using, for example, a data analysis function. .
[0044]
(3) Private key information reference processing (step 305):
In order to acquire information necessary for generating a key pair corresponding to “KeyA” designated from the upper application 400, the file of the private key management table 150 is accessed, and the signature engine type is set as information corresponding to “KeyA”. Information indicating that “signature engine A” is stored, the key storage location is “# 3”, the signature algorithm is “ESIGN”, and the key length of the secret key is “40 bytes” as a key parameter. Access to the file of the private key management table 150 can be realized using, for example, a file access function, and acquisition of information corresponding to “KeyA” can be realized using, for example, a data search function.
[0045]
(4) Key pair generation request processing to the signature engine (step 306):
In order to request the signature engine to generate a key pair, first, information on “access module A” that is the access module type corresponding to “signature engine A” that is the signature engine type from the signature engine dependency information table 161 set at the initial stage. To get. Thereafter, the information about the key storage location “# 3”, the signature algorithm “ESIGN”, and the key parameter information “secret key length = 40 bytes” acquired in (3) is sent to the “signature engine A” via the “access module A”. ] And request key pair generation. Acquisition of access module type information from the signature engine dependency information table 161 can be realized using, for example, a data search function, and generation of input data to the access module can be realized using, for example, a data assembly function. is there. The key pair generation request data is sent to the signature engine using, for example, a data communication function.
[0046]
    (5) Key pair generation process (step 307): Based on request of (4), "signing engine A" 200 applies to "ESIGN"PossibleThen, a key pair of “the key length of the secret key is 40 bytes” is generated, and the generated secret key is stored in “# 3”.
With the above processing, it becomes possible for the upper application 400 to set the secret key management information used for signature generation and generate the secret key based on the setting without being aware of the signature engine type, signature algorithm, and the like.
[0047]
3. During signature generation processing
Next, an example of signature generation processing in the present invention will be described.
FIG. 10 is a diagram for explaining a signature generation process according to an embodiment of the present invention.
(1) Signature generation request by upper application 400 (step 401):
When it is necessary to generate a signature, the upper application 400 makes a signature generation request to the secret key control unit 100 by designating the data to be signed and the key name of the secret key used for the signature. In the present embodiment, description will be made assuming that a signature generation request is made by designating a secret key corresponding to the key name “KeyA” as a secret key used by the upper application 400 for signature generation.
[0048]
(2) Signature generation request acceptance processing (step 402):
A request for signature generation to the signature engine is received from the host application 400, and it is recognized that the key name information of the data to be signed and the secret key used for the signature is “KeyA”. Acceptance of a request from the host application 400 can be realized by using, for example, a data communication function, and analysis of request contents and acquisition of key name information can be realized by using, for example, a data analysis function. is there.
[0049]
(3) Private key information reference processing (step 403):
In order to acquire information necessary for generating a key pair corresponding to “Key A” designated from the upper application 400, a file of the private key management table is accessed, and the signature engine type is set as information corresponding to “Key A”. Information indicating that “signature engine A” is stored, the key storage location is “# 3”, the signature algorithm is “ESIGN”, and the hash algorithm is “SHA-1” is acquired. Access to the file of the private key management table 150 can be realized using, for example, a file access function, and acquisition of information corresponding to “KeyA” can be realized using, for example, a data search function.
[0050]
(4) Signature generation request processing to the signature engine (step 404):
In order to request the signature engine to perform a signature generation process, first, “access module A” that is an access module type corresponding to “signature engine A” that is the signature engine type from the signature engine dependency information table 161 set at the initial time of the system; The information of “No” that is the necessity information for hashing of the input data is acquired. It is confirmed that the necessity of hashing of the input data is “No”, so that the hash processing of the input data is not performed, and the key storage location “3” obtained in (3) is obtained via the “access module A”. “# 3”, signature algorithm “ESIGN”, hash algorithm “SHA-1” information and signature target data are sent to “signature engine A” to request signature generation. Acquisition of access module type information and input data hashing necessity information from the signature engine dependency information table 161 can be realized using, for example, a data search function. For example, it can be realized by using a data analysis function, generation of input data to the access module can be realized by using, for example, a data assembly function, and sending of key pair generation request data to the signature engine is, for example, This is realized using a data communication function. Further, when the necessity of hashing input data is “necessary”, for example, hash processing can be performed using a hashing function implemented by software.
[0051]
(5) Signature generation processing (step 405):
Based on the request of (4), the “signature engine A” 200 hashes the signature target data with the designated hash algorithm “SHA-1” and stores the secret stored in “# 3”. The signature is generated by encrypting with the “ESIGN” signature algorithm using the key.
[0052]
With the above processing, when a higher-level application requests a signature generation process to the signature engine, it is possible to generate a signature for any signature engine only by specifying the key name and signature target data to the private key management table 150. Request becomes possible.
Further, although the above embodiment has been described based on the configuration of FIG. 3, the secret key management table creation unit 110, the signature engine access request reception unit 120, the signature engine dependent information registration unit 130, the secret key information reference unit 140, The secret key control unit 100 having the signature engine access control unit 160 is constructed as a program and stored in a portable storage medium such as a disk device connected to a computer used as the secret key control unit, a floppy disk, or a CD-ROM. In addition, the present invention can be easily realized by installing it when implementing the present invention.
[0053]
The present invention is not limited to the above-described embodiments, and various modifications and applications are possible within the scope of the claims.
[0054]
【The invention's effect】
As described above, according to the present invention, the higher-level application can unify only the key name and the data to be signed without being aware of the type of signature engine accessed for signature generation, the storage location of the private key, the signature algorithm, and the like. With a unique interface, it is possible to request an arbitrary signature engine to generate an electronic signature, so that it is possible to easily use a plurality of signature engines and a plurality of signature algorithms. Even when a new signature engine or a new signature algorithm is added to the network, it can be easily added without affecting the upper application.
[Brief description of the drawings]
FIG. 1 is a diagram for explaining the principle of the present invention.
FIG. 2 is a principle configuration diagram of the present invention.
FIG. 3 is a configuration diagram of an access system according to the present invention.
FIG. 4 is a diagram for explaining the flow of processing when generating a key pair in the present invention.
FIG. 5 is an example of a secret key management table of the present invention.
FIG. 6 is a diagram for explaining the flow of signature generation processing in the present invention.
FIG. 7 is a diagram for explaining pre-processing for signature generation according to an embodiment of the present invention.
FIG. 8 is a setting example of a secret key management table according to an embodiment of the present invention.
FIG. 9 is a setting example of signature engine dependent information according to an embodiment of the present invention.
FIG. 10 is a diagram for explaining a signature generation process according to an embodiment of the present invention.
FIG. 11 is a configuration diagram of a flow of electronic signature generation and a signature engine.
FIG. 12 is a diagram for explaining the flow of processing for requesting signature generation to a conventional signature engine.
[Explanation of symbols]
100 Secret key control unit
110 Secret key management table creation means, secret key management table creation unit
120 signature engine access request accepting means, signature engine access request accepting unit
130 Signature engine dependent information registration means, signature engine dependent information registration unit
140 Secret key information reference means, secret key information reference section
150 Private key management table
160 Signature engine access control means, signature engine access control unit
161 Signature engine dependent information
170 Signature access module A
180 Signature access module B
200 Signature Engine, Signature Engine A
210 Hash processing part
220 Signature generator
230 Private key storage
240 Key Pair Generator
300 Signature Engine B
320 Signature generator
330 Secret key storage
340 Key pair generator
400 Top applications

Claims (3)

平文または、平分ダイジェストである署名対象データに対して公開鍵暗号技術を用いた電子署名を作成する異なる種別の複数の署名エンジンと、上位アプリケーションから前記複数の署名エンジンの中のいずれかの署名エンジンへの署名生成依頼を受付け、該署名エンジンに対して署名生成依頼を行う秘密鍵制御部からなり、前記秘密鍵制御部は、署名エンジンアクセス依頼受付部と、秘密鍵情報参照部と、秘密鍵の鍵名称と前記鍵名称に対応する秘密鍵が格納されている署名エンジン種別と前記署名エンジン種別に対応する署名エンジン内の鍵格納場所と前記秘密鍵が適用される署名アルゴリズムと署名生成時に署名対象データをハッシュ化するためのハッシュアルゴリズム種別とを管理する秘密鍵管理テーブルと、署名エンジン種別と前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報と前記署名エンジン種別に対応するアクセスモジュール種別とを管理する署名エンジン依存情報を有する署名エンジンアクセス制御部と、署名エンジンと1対1の関係で接続されているアクセスモジュールとを有する情報処理システムに適用される署名作成依頼方法であって
記署名エンジンアクセス依頼受付部が、上位アプリケーションから署名対象データと署名に用いる秘密鍵の鍵名称を取得するステップと、
前記秘密鍵情報参照部が、前記秘密鍵管理テーブルから前記鍵名称に対応する署名エンジン種別と署名エンジン内の鍵格納場所と署名アルゴリズムとハッシュアルゴリズム種別とを取得するステップと、
前記署名エンジンアクセス制御部が、前記署名エンジン依存情報から前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報とアクセスモジュール種別とを取得し、前記ハッシュ化要否情報がハッシュ化が必要であることを示している場合には、前記ハッシュアルゴリズム種別により署名対象データをハッシュ化することによりハッシュデータを生成し、該ハッシュデータと前記鍵格納場所と前記署名アルゴリズムの情報を前記アクセスモジュール種別に対応するアクセスモジュールに送付し、前記ハッシュ化要否情報がハッシュ化が不要であることを示している場合には、前記署名対象データと前記鍵格納場所と前記署名アルゴリズムと前記ハッシュアルゴリズム種別の情報を、前記アクセスモジュール種別に対応するアクセスモジュールに送付するステップと、
前記アクセスモジュールが、前記署名エンジンアクセス制御部から受けた情報を1対1の関係で接続されている署名エンジンに送信して署名生成依頼を行うステップとを有することを特徴する署名作成依頼方法。
Plaintext or a different type multiple signatures engine to create a digital signature using a public key encryption technology where the signed data is plaintext digest, either in the upper application or et previous SL multiple signatures engine accepts the signature generation request to the signature engine, Ri Do from the secret key control unit that performs signature generation request to the signing engine, the secret key control unit, a signature engine access request reception unit, and a private key information reference unit A key name of a secret key, a signature engine type in which a secret key corresponding to the key name is stored, a key storage location in the signature engine corresponding to the signature engine type, a signature algorithm to which the secret key is applied, and a signature Private key management table that manages the hash algorithm type for hashing the data to be signed at the time of generation, the signature engine type, and the previous A signature engine access control unit having signature engine dependent information for managing hashing necessity information of signature target data corresponding to a signature engine type and an access module type corresponding to the signature engine type, and a signature engine on a one-to-one basis. a signature generation request method applied to an information processing system having an access module connected by relationships,
Comprising the steps of: before Symbol signature engine access request receiving unit is, to get the key name of the secret key used from the host application to the signature and the signature object data,
The secret key information reference unit obtaining a signature engine type corresponding to the key name, a key storage location in the signature engine, a signature algorithm, and a hash algorithm type from the secret key management table;
The signature engine access control unit obtains hashing necessity information and access module type of signature target data corresponding to the signature engine type from the signature engine dependency information, and the hashing necessity information needs to be hashed Is generated by hashing the signature target data with the hash algorithm type, and the hash data, the key storage location, and the signature algorithm information are stored in the access module type. And the hashing necessity information indicates that hashing is not required, the signature target data, the key storage location, the signature algorithm, and the hash algorithm type Information corresponding to the access module type. The method comprising the steps of: sending to the scan module,
Said access module, a signature generation request process for, characterized in that a step of performing transmission to the signature generation request to the signature engine connected to information received from the signature engine access control unit 1-one in relation .
平文または、平分ダイジェストである署名対象データに対して公開鍵暗号技術を用いた電子署名を作成する異なる種別の複数の署名エンジンと、上位アプリケーションから前記複数の署名エンジンの中のいずれかの署名エンジンへの署名生成依頼を受付け、該署名エンジンに対して署名生成依頼を行う秘密鍵制御部からなる情報処理システムであって、
前記秘密鍵制御部は、
秘密鍵の鍵名称と前記鍵名称に対応する秘密鍵が格納されている署名エンジン種別と前記署名エンジン種別に対応する署名エンジン内の鍵格納場所と前記秘密鍵が適用される署名アルゴリズムと署名生成時に署名対象データをハッシュ化するためのハッシュアルゴリズム種別とを管理する秘密鍵管理テーブルと、署名エンジン種別と前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報と前記署名エンジン種別に対応するアクセスモジュール種別とを管理する署名エンジン依存情報を有する署名エンジンアクセス制御部と、
上位アプリケーションから署名対象データと署名に用いる秘密鍵の鍵名称を取得する署名エンジンアクセス依頼受付部と、
前記秘密鍵管理テーブルから前記鍵名称に対応する署名エンジン種別と署名エンジン内の鍵格納場所と署名アルゴリズムとハッシュアルゴリズム種別とを取得する秘密鍵情報参照部と、
前記署名エンジン依存情報から前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報とアクセスモジュール種別とを取得し、前記ハッシュ化要否情報がハッシュ化が必要であることを示している場合には、前記ハッシュアルゴリズム種別により署名対象データをハッシュ化することによりハッシュデータを生成し、該ハッシュデータと前記鍵格納場所と前記署名アルゴリズムの情報を前記アクセスモジュール種別に対応するアクセスモジュールに送付し、前記ハッシュ化要否情報がハッシュ化が不要であることを示している場合には、前記署名対象データと前記鍵格納場所と前記署名アルゴリズムと前記ハッシュアルゴリズム種別の情報を、前記アクセスモジュール種別に対応するアクセスモジュールに送付する前記署名エンジンアクセス制御部と、
署名エンジンと1対1の関係で接続され、該署名エンジンに前記署名エンジンアクセス制御部から受けた情報を送信して署名生成依頼を行うアクセスモジュールとを有することを特徴する情報処理システム。
Plaintext or a different type multiple signatures engine to create a digital signature using a public key encryption technology where the signed data is plaintext digest, either in the upper application or et previous SL multiple signatures engine An information processing system comprising a secret key control unit that accepts a signature generation request to a signature engine and makes a signature generation request to the signature engine,
The secret key control unit
The key name of the secret key, the signature engine type storing the secret key corresponding to the key name, the key storage location in the signature engine corresponding to the signature engine type, the signature algorithm to which the secret key is applied, and the signature generation and a secret key management table for managing the hash algorithm type for hashing at signature target data, the signature engine type and the signature data to be signed hashed necessity information and the signature engine corresponding to the engine type classification A signature engine access control unit having signature engine dependency information for managing a corresponding access module type;
A signature engine access request reception unit that obtains the data to be signed and the key name of the private key used for the signature from the upper application;
And private key information reference unit for acquiring said private key management key storage location as the signature algorithm of a signature engine type and the signature engine corresponding to table or al the key name and hash algorithm type,
When the hashing necessity information and access module type of the signature target data corresponding to the signature engine type are acquired from the signature engine dependency information, and the hashing necessity information indicates that hashing is necessary Includes generating hash data by hashing signature target data according to the hash algorithm type, and sending the hash data, the key storage location, and the signature algorithm information to an access module corresponding to the access module type. When the hashing necessity information indicates that hashing is not required, the signature target data, the key storage location, the signature algorithm, and the hash algorithm type information are set as the access module type. The signature error sent to the corresponding access module And Jin access control unit,
Signing engine and is connected in a one-to-one relationship, the information processing system; and a access module for signature generation request to transmit the information received from the signature engine access control unit in the signing engine.
平文または、平分ダイジェストである署名対象データに対して公開鍵暗号技術を用いた電子署名を作成する異なる種別の複数の署名エンジンと、上位アプリケーションから前記複数の署名エンジンの中のいずれかの署名エンジンへの署名生成依頼を受付け、該署名エンジンに対して署名生成依頼を行う秘密鍵制御部からなり、前記秘密鍵制御部は、署名エンジンアクセス依頼受付部と、秘密鍵情報参照部と、秘密鍵の鍵名称と前記鍵名称に対応する秘密鍵が格納されている署名エンジン種別と前記署名エンジン種別に対応する署名エンジン内である秘密鍵の鍵格納場所と前記秘密鍵が適用される署名アルゴリズムと署名生成時に署名対象データをハッシュ化するためのハッシュアルゴリズム種別とを管理する秘密鍵管理テーブルと、署名エンジン種別と前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報と前記署名エンジン種別に対応するアクセスモジュール種別とを管理する署名エンジン依存情報を有する署名エンジンアクセス制御部と、署名エンジンと1対1の関係で接続されているアクセスモジュールとを有する情報処理システムに適用されるプログラムを格納した記録媒体であって
記署名エンジンアクセス依頼受付部が、上位アプリケーションから署名対象データと署名に用いる秘密鍵の鍵名称を取得するステップと、
前記秘密鍵情報参照部が、前記秘密鍵管理テーブルから前記鍵名称に対応する署名エンジン種別と鍵格納場所と署名アルゴリズムとハッシュアルゴリズム種別とを取得するステップと、
前記署名エンジンアクセス制御部が、前記署名エンジン依存情報から前記署名エンジン種別に対応する署名対象データのハッシュ化要否情報とアクセスモジュール種別とを取得し、前記ハッシュ化要否情報がハッシュ化が必要であることを示している場合には、前記ハッシュアルゴリズム種別により署名対象データをハッシュ化することによりハッシュデータを生成し、該ハッシュデータと前記鍵格納場所と前記署名アルゴリズムの情報を前記アクセスモジュール種別に対応するアクセスモジュールに送付し、前記ハッシュ化要否情報がハッシュ化が不要であることを示している場合には、前記署名対象データと前記鍵格納場所と前記署名アルゴリズムと前記ハッシュアルゴリズム種別情報を前記アクセスモジュール種別に対応するアクセスモジュールに送付するステップと、
前記アクセスモジュールが、前記署名エンジンアクセス制御部から受けた情報を1対1の関係で接続されている署名エンジンに送信して署名生成依頼を行うステップとを実行させることを特徴とするプログラムを格納したことを特徴とする記録媒体。
Plaintext or a different type multiple signatures engine to create a digital signature using a public key encryption technology where the signed data is plaintext digest, either in the upper application or et previous SL multiple signatures engine accepts the signature generation request to the signature engine, Ri Do from the secret key control unit that performs signature generation request to the signing engine, the secret key control unit, a signature engine access request reception unit, and a private key information reference unit The key name of the secret key, the signature engine type in which the secret key corresponding to the key name is stored, the key storage location of the secret key in the signature engine corresponding to the signature engine type, and the secret key are applied A secret key management table for managing a signature algorithm and a hash algorithm type for hashing signature target data at the time of signature generation; A signature engine access control unit having signature engine dependency information for managing a signature type, hashing necessity information of signature target data corresponding to the signature engine type, and an access module type corresponding to the signature engine type, and a signature engine; A recording medium storing a program applied to an information processing system having access modules connected in a one-to-one relationship ,
Comprising the steps of: before Symbol signature engine access request receiving unit is, to get the key name of the secret key used from the host application to the signature and the signature object data,
The secret key information reference unit obtains a signature engine type, a key storage location, a signature algorithm, and a hash algorithm type corresponding to the key name from the secret key management table;
The signature engine access control unit obtains hashing necessity information and access module type of signature target data corresponding to the signature engine type from the signature engine dependency information, and the hashing necessity information needs to be hashed Is generated by hashing the signature target data with the hash algorithm type, and the hash data, the key storage location, and the signature algorithm information are stored in the access module type. sent to the corresponding access module, if the hashed necessity information is hashed indicates that it is not required, the signature target data and the key storage location as the signature algorithm the hash algorithm type information The access corresponding to the access module type The method comprising the steps of: sending to the module,
Storing a program in which the access module executes the step of transmitting the information received from the signature engine access control unit to a signature engine connected in a one-to-one relationship and making a signature generation request. A recording medium characterized by that.
JP22141399A 1999-08-04 1999-08-04 Common access method and system for a plurality of different signature engines, and storage medium storing a common access program for a plurality of different signature engines Expired - Lifetime JP3982570B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP22141399A JP3982570B2 (en) 1999-08-04 1999-08-04 Common access method and system for a plurality of different signature engines, and storage medium storing a common access program for a plurality of different signature engines

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP22141399A JP3982570B2 (en) 1999-08-04 1999-08-04 Common access method and system for a plurality of different signature engines, and storage medium storing a common access program for a plurality of different signature engines

Publications (2)

Publication Number Publication Date
JP2001044988A JP2001044988A (en) 2001-02-16
JP3982570B2 true JP3982570B2 (en) 2007-09-26

Family

ID=16766359

Family Applications (1)

Application Number Title Priority Date Filing Date
JP22141399A Expired - Lifetime JP3982570B2 (en) 1999-08-04 1999-08-04 Common access method and system for a plurality of different signature engines, and storage medium storing a common access program for a plurality of different signature engines

Country Status (1)

Country Link
JP (1) JP3982570B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8015393B2 (en) 2004-04-12 2011-09-06 Canon Kabushiki Kaisha Data processing device, encryption communication method, key generation method, and computer program
JP2005303676A (en) * 2004-04-12 2005-10-27 Canon Inc Image forming device, paired key generating method, and computer program
JP4704045B2 (en) * 2005-01-12 2011-06-15 株式会社エヌ・ティ・ティ・ドコモ Communication apparatus, digital signature verification method, and digital signature generation method

Also Published As

Publication number Publication date
JP2001044988A (en) 2001-02-16

Similar Documents

Publication Publication Date Title
JP4263421B2 (en) Serverless distributed file system
US8693690B2 (en) Organizing an extensible table for storing cryptographic objects
US7051204B2 (en) Methods and system for providing a public key fingerprint list in a PK system
EP1763196B1 (en) Information processing apparatus, verification processing apparatus and control methods thereof
JP4109874B2 (en) Information processing apparatus, control method therefor, program, and recording medium
US20070136599A1 (en) Information processing apparatus and control method thereof
US6675296B1 (en) Information certificate format converter apparatus and method
US20050289644A1 (en) Shared credential store
US20130198807A1 (en) Transparent Authentication Process Integration
US20020048372A1 (en) Universal signature object for digital data
US6975727B1 (en) Dynamic security credential generation system and method
KR19980042805A (en) Methods, devices and products to verify that the data in the data file is genuine
JP4093723B2 (en) Electronic signature method and apparatus for structured document
US8719574B2 (en) Certificate generation using virtual attributes
CN109981287B (en) Code signing method and storage medium thereof
CN112202719B (en) Signature method, system, device and storage medium based on digital certificate
AU2006315415A1 (en) Service for determining whether digital certificate has been revoked
WO2001043344A1 (en) System and method for generating and managing attribute certificates
US20060288221A1 (en) Method, apparatus, and program product for reconfiguring a software package
US20030115461A1 (en) System and method for the signing and authentication of configuration settings using electronic signatures
CN112311830B (en) Cloud storage-based Hadoop cluster multi-tenant authentication system and method
EP4224316A1 (en) Mirror image management method and apparatus
JP4289817B2 (en) Information management apparatus and method
EP1854260B1 (en) Access rights control in a device management system
JP3982570B2 (en) Common access method and system for a plurality of different signature engines, and storage medium storing a common access program for a plurality of different signature engines

Legal Events

Date Code Title Description
A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20040326

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060731

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061020

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070119

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070509

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070626

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 3982570

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100713

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110713

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120713

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130713

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

EXPY Cancellation because of completion of term