JP2013098808A - Electronic signature generating method and electronic signature generating program - Google Patents

Electronic signature generating method and electronic signature generating program Download PDF

Info

Publication number
JP2013098808A
JP2013098808A JP2011240761A JP2011240761A JP2013098808A JP 2013098808 A JP2013098808 A JP 2013098808A JP 2011240761 A JP2011240761 A JP 2011240761A JP 2011240761 A JP2011240761 A JP 2011240761A JP 2013098808 A JP2013098808 A JP 2013098808A
Authority
JP
Japan
Prior art keywords
card
electronic signature
signature generation
driver
electronic
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.)
Pending
Application number
JP2011240761A
Other languages
Japanese (ja)
Inventor
Akane Suzuki
茜 鈴木
Takahiro Fujishiro
孝宏 藤城
Chinatsu Sato
知奈津 佐藤
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011240761A priority Critical patent/JP2013098808A/en
Publication of JP2013098808A publication Critical patent/JP2013098808A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide an electronic signature generating method and an electronic signature generating program capable of flexibly expanding an encryption method to use for signature generation.SOLUTION: An electric signature generator 11 comprises a storage unit which stores IC card management information and a driver serving as a complement to the functions of an IC card. On the basis of the IC card management information, the electric signature generator 11 determines whether information obtained by compressing a document to be signed electrically to a fixed length is to be signed by the electric signature generator or by an IC card 13 connected via an IC card reader and writer 12, and generates on the basis of the determination result the information obtained by compressing the document to be signed electrically to a fixed length, using the driver serving as a complement to the functions of the IC card.

Description

本発明は、電子署名生成方法及び電子署名生成プログラムに関する。   The present invention relates to an electronic signature generation method and an electronic signature generation program.

行政手続きの電子申請・申告や、電子商取引、オンラインバンキング、オンラインショッピングなど、インターネットを利用したサービス(以下、オンラインサービスと記載する)が普及している。しかし、オンラインサービスでは、他人へのなりすまし、また、インターネット上を流れる電子文書の改ざん、また、契約や申請内容が事後に否定されるといった脅威がある。そこで、電子文書の真正性を担保するために、公開鍵暗号方式を利用した電子署名を電子文書に付与することで、上記の脅威を対策している。   Services using the Internet (hereinafter referred to as online services) such as electronic application / declaration of administrative procedures, electronic commerce, online banking, and online shopping are widespread. However, in online services, there are threats such as impersonation of others, alteration of electronic documents flowing on the Internet, and denial of contracts and application contents after the fact. Therefore, in order to secure the authenticity of the electronic document, the above-mentioned threat is countered by giving the electronic document an electronic signature using a public key cryptosystem.

電子署名の生成処理は、電子署名対象文書を一定の長さのデータに圧縮するハッシュ演算と、電子署名を実施する者だけが所持する秘密鍵によって暗号データを生成する暗号演算から構成される。オンラインサービスを実行するアプリケーションは、電子署名を生成する際に、電子計算機器の暗号ライブラリに対して、ハッシュ演算と暗号演算を分けて実行するか、あるいは、一括して実行するか選択して、命令する。   The electronic signature generation process includes a hash operation that compresses the electronic signature target document into data of a certain length, and a cryptographic operation that generates encrypted data using a secret key possessed only by the person who performs the electronic signature. When generating an electronic signature, the application that executes the online service selects whether to perform hash calculation and cryptographic calculation separately or collectively for the cryptographic library of the electronic computing device. Command.

公開鍵暗号方式の安全性は、秘密鍵を厳密に管理することが前提となっているため、秘密鍵を安全に保存し、また、秘密鍵を外部に漏洩せずに暗号演算を行う必要がある。そこで、オンラインサービスによっては、電子署名を生成する際に、耐タンパ性を備えたICカードを利用する場合がある。   The security of the public key cryptosystem is based on the premise that the secret key is strictly managed. Therefore, it is necessary to store the secret key safely and perform cryptographic operations without leaking the secret key to the outside. is there. Therefore, depending on the online service, an IC card having tamper resistance may be used when generating an electronic signature.

ICカードを利用して電子署名を生成するには、オンラインサービスを実行するアプリケーション側に、ICカードに対して電子署名生成処理を命令する機能を実装する必要がある。複数の異なるICカードに対応するために、アプリケーションとICカード間には標準化されたインターフェースが設けられている。標準のインターフェースで電子署名生成処理を命令する機能を実装することにより、アプリケーションは、複数の種類のICカードと相互運用性を保つことが可能である。なお、前記を実現するには、オンラインサービスを実行する端末装置に、標準化されたインターフェースからICカード固有のコマンドに変換するためのドライバ(以下、ICカードドライバと記載する)をインストールすることが前提となる。例えば、標準化されたインターフェースの一つであるPKCS#11の仕様が、非特許文献1に詳細に記載されている。   In order to generate an electronic signature using an IC card, it is necessary to install a function for instructing the IC card to generate an electronic signature on the application side that executes the online service. In order to support a plurality of different IC cards, a standardized interface is provided between the application and the IC card. By implementing a function for instructing electronic signature generation processing with a standard interface, an application can maintain interoperability with a plurality of types of IC cards. In order to realize the above, it is assumed that a driver (hereinafter referred to as an IC card driver) for converting from a standardized interface to an IC card specific command is installed in a terminal device that executes an online service. It becomes. For example, the specification of PKCS # 11, which is one of standardized interfaces, is described in detail in Non-Patent Document 1.

電子署名の生成処理の中で、ハッシュ演算に関しては、秘密鍵を利用しないため、ICカード内での実施することが必須ではない。そのため、ハッシュ演算をICカード内で実行するか、ICカードドライバ内で実行するかは、それぞれのICカードに依存する。   In the electronic signature generation process, the hash calculation does not use a secret key, and therefore it is not essential to perform it in the IC card. Therefore, whether the hash operation is executed in the IC card or in the IC card driver depends on each IC card.

一方で、近年の暗号解読技術の進歩や電子計算機能力の向上により、電子署名などの演算で利用する一部の暗号アルゴリズム、また、鍵長の短い公開鍵暗号の安全性に、問題があることが指摘されている。米国連邦政府の標準暗号を制定する米国立標準技術研究所では、2010年までに、米国政府での情報システムにおいて、電子署名に利用するハッシュ関数を、SHA−1からSHA-2へ移行することを強く推奨している。SHA−1の安全性に関するコメントは、非特許文献2に詳細に記載されている。   On the other hand, due to recent advances in cryptanalysis technology and improvements in electronic computing capabilities, there are problems with the security of some cryptographic algorithms used in operations such as digital signatures and public key cryptography with a short key length. Has been pointed out. By 2010, the National Institute of Standards and Technology that establishes the US federal standard encryption will move the hash function used for electronic signatures from SHA-1 to SHA-2 in the information system in the US government. Is strongly recommended. Comments on the safety of SHA-1 are described in detail in Non-Patent Document 2.

非特許文献2のコメントを受け、各国の認証基盤やアプリケーション提供者は、アプリケーションで利用する暗号アルゴリズムをより安全性の高いものに移行し、また、複数の暗号アルゴリズムから選択できるようにするなど、情報システムの安全性を高める施策を実施している。例えば、非特許文献3によると、日本の政府認証基盤では、2014年度から、電子署名に利用する暗号アルゴリズムとして、現行使用している暗号アルゴリズムに加えて、安全性の高い暗号アルゴリズムを追加する。さらに、一定期間経過後には、安全性の高い暗号アルゴリズムのみを利用することが記載されている。   In response to comments from Non-Patent Document 2, the authentication infrastructure and application providers in each country migrated to more secure cryptographic algorithms used in applications, and made it possible to select from a plurality of cryptographic algorithms. Implement measures to increase the safety of information systems. For example, according to Non-Patent Document 3, the Japanese government authentication platform will add a highly secure cryptographic algorithm in addition to the currently used cryptographic algorithm as a cryptographic algorithm used for electronic signatures from 2014. Further, it is described that only a highly secure cryptographic algorithm is used after a certain period of time.

また、ICカードベンダは、安全性の高い暗号アルゴリズムに対応したICカードを発行し、さらに、安全性の高い暗号アルゴリズムに対応したICカードドライバを提供している。ユーザは、最新のICカードの発行を受け、また、最新のICカードドライバを取得し、端末装置に再インストールすることで、ICカードで実行する暗号アルゴリズムの種類を追加することができる。   The IC card vendor issues an IC card corresponding to a highly secure cryptographic algorithm, and further provides an IC card driver corresponding to a highly secure cryptographic algorithm. The user can add the type of encryption algorithm to be executed by the IC card by receiving the latest IC card issued, obtaining the latest IC card driver, and reinstalling it in the terminal device.

PKCS #11 v2.20: Cryptographic Token Interface Standard, 2004年6月, [online], [平成23年08月日検索], インターネット<URL:ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs-11v2-20.pdf>PKCS # 11 v2.20: Cryptographic Token Interface Standard, June 2004, [online], [searched August 08, 2011], Internet <URL: ftp://ftp.rsasecurity.com/pub/pkcs/pkcs -11 / v2-20 / pkcs-11v2-20.pdf> NIST Comments on Cryptanalytic Attacks on SHA-1, 2006年4月, [online], [平成23年08月日検索], インターネット<URL:http://csrc.nist.gov/groups/ST/hash/statement.html>NIST Comments on Cryptanalytic Attacks on SHA-1, April 2006, [online], [searched August 08, 2011], Internet <URL: http: //csrc.nist.gov/groups/ST/hash/statement .html> 政府認証基盤相互運用性仕様書(移行期間編), 2010年3月, [online], [平成23年08月日検索], インターネット<URL:http://www.gpki.go.jp/session/CompatibilitySpecifications_phase2.pdf>Government Authentication Infrastructure Interoperability Specification (Transition Period), March 2010, [online], [searched on August 08, 2011], Internet <URL: http://www.gpki.go.jp/session /CompatibilitySpecifications_phase2.pdf>

非特許文献2に記載されているように、暗号解読技術の進歩及び電子計算機能力の向上により、暗号アルゴリズムの安全性は、日々変化している。そこで、電子申請など、電子署名を求めるアプリケーションでは、暗号アルゴリズムの技術動向を確認し、安全性が担保された暗号アルゴリズムを電子署名の生成処理に採用する必要がある。   As described in Non-Patent Document 2, the security of cryptographic algorithms is changing day by day due to advances in cryptanalysis techniques and improvements in electronic computing capabilities. Therefore, in applications that require an electronic signature, such as an electronic application, it is necessary to check the technical trend of the cryptographic algorithm and to employ a cryptographic algorithm that ensures security in the electronic signature generation process.

さらに、非特許文献3に示すように、安全性の高い暗号アルゴリズムへ移行する際には、現行の暗号アルゴリズムと安全性の高い暗号アルゴリズムの両方を利用できる期間(以下、移行期間)が設けられている。アプリケーションやICカードなどは、移行期間中の各々の時期に暗号アルゴリズム移行を進めていくことになるため、アプリケーションやICカードによっては、暗号アルゴリズム移行の完了時期が一致しない場合がある。   Furthermore, as shown in Non-Patent Document 3, when transitioning to a highly secure cryptographic algorithm, a period during which both the current cryptographic algorithm and the highly secure cryptographic algorithm can be used (hereinafter referred to as transition period) is provided. ing. Since applications, IC cards, and the like will proceed with the encryption algorithm transition at each time during the transition period, the completion time of the encryption algorithm transition may not match depending on the application or the IC card.

そのため、移行期間中に、アプリケーションがICカードによる電子署名の生成処理を要求する場合には、ICカードで実行可能な暗号アルゴリズムを考慮した上で、電子署名で利用する暗号アルゴリズムを決定する必要がある。   Therefore, when an application requests generation processing of an electronic signature by an IC card during the transition period, it is necessary to determine an encryption algorithm to be used for the electronic signature in consideration of an encryption algorithm that can be executed by the IC card. is there.

しかしながら、非特許文献1においては、電子署名などの暗号演算を実行する際の、アプリケーションとICカード間でインターフェースが記載されているだけであり、ICカードで実行可能な暗号アルゴリズムを管理する方法については記載されていない。   However, Non-Patent Document 1 only describes an interface between an application and an IC card when executing cryptographic operations such as an electronic signature, and a method for managing cryptographic algorithms that can be executed by an IC card. Is not listed.

そのため、ユーザは、電子署名を求めるアプリケーションを利用する前に、ユーザの保持するICカードが、アプリケーションの求める暗号アルゴリズムに対応しているか確認する必要がある。さらに、定期的に、ユーザは安全性の高い暗号アルゴリズムに対応したICカードドライバが公開されているか確認し、更新されたICカードドライバを再度セットアップする必要がある。   Therefore, before using an application for requesting an electronic signature, the user needs to check whether the IC card held by the user corresponds to the encryption algorithm required by the application. Furthermore, periodically, the user needs to check whether an IC card driver corresponding to a highly secure encryption algorithm is disclosed and set up the updated IC card driver again.

ユーザが上記に示すような確認作業を行った結果、アプリケーションが求める安全性の高い暗号アルゴリズムに、ICカードやICカードドライバが対応していない場合には、暗号アルゴリズム移行を完了したICカードやICカードドライバが発行されない限り、電子申請などのオンラインサービスを実施することができない。   If the IC card or IC card driver does not correspond to the highly secure cryptographic algorithm required by the application as a result of the confirmation work as described above, the IC card or IC that has completed the cryptographic algorithm migration Unless a card driver is issued, online services such as electronic application cannot be implemented.

以上のように、暗号アルゴリズムの移行期間中に、ICカードを利用して、電子署名を実施する上でユーザの利便性が悪いという課題がある。   As described above, there is a problem in that the convenience of the user is poor in implementing an electronic signature using an IC card during the encryption algorithm transition period.

本発明は上記事項に鑑みてなされたものであり、署名生成で利用する暗号方式を柔軟に拡張できる電子署名生成方法及び電子署名生成プログラムを提供することを目的とする。   The present invention has been made in view of the above-described matters, and an object of the present invention is to provide an electronic signature generation method and an electronic signature generation program capable of flexibly extending an encryption scheme used for signature generation.

上記課題を解決するための一手段を説明する。本発明は、電子署名生成装置により、電子署名を実施する電子文書の情報、あるいは、電子署名を実施する電子文書を一定の長さに圧縮した情報、さらに、電子署名に利用する暗号アルゴリズムを含んだ、電子署名生成要求を生成し、前記電子署名生成要求を、ICカードリーダライタを介して接続されているICカードに送信して、前記ICカードから電子署名生成応答を受信し、電子署名生成処理を実施する、電子署名生成方法である。前記電子署名生成装置は、ICカード管理情報と、前記ICカードの機能を補完するドライバを記憶する記憶部を具備する。前記電子署名生成装置により、前記ICカード管理情報に基づいて、電子署名を実施する文書を一定の長さに圧縮した情報を、電子署名生成装置で実施するか、ICカードで実施するか判定する処理と、前記ICカードの機能を補完するドライバを利用して、前記電子署名を実施する文書を一定の長さに圧縮した情報を生成する処理とを実施する。   One means for solving the above problem will be described. The present invention includes information on an electronic document that implements an electronic signature, information obtained by compressing an electronic document that implements an electronic signature to a certain length, and an encryption algorithm used for the electronic signature. However, an electronic signature generation request is generated, the electronic signature generation request is transmitted to an IC card connected via an IC card reader / writer, an electronic signature generation response is received from the IC card, and an electronic signature is generated. An electronic signature generation method that performs processing. The electronic signature generation device includes a storage unit that stores IC card management information and a driver that complements the function of the IC card. Based on the IC card management information, the electronic signature generation apparatus determines whether information obtained by compressing a document to be subjected to the electronic signature to a certain length is to be executed by the electronic signature generation apparatus or the IC card. A process and a process for generating information obtained by compressing a document to be subjected to the electronic signature to a certain length are performed using a driver that complements the function of the IC card.

本発明によれば、署名生成で利用する暗号方式を柔軟に拡張できる。   According to the present invention, it is possible to flexibly expand an encryption method used for signature generation.

本発明の実施形態に係る電子署名生成システムの構成を示す図である。It is a figure which shows the structure of the electronic signature production | generation system which concerns on embodiment of this invention. 電子署名生成装置11の構成を示す図である。2 is a diagram illustrating a configuration of an electronic signature generation device 11. FIG. 電子署名生成装置11のハードウェア構成例を示す図である。2 is a diagram illustrating an example of a hardware configuration of an electronic signature generation device 11. FIG. 電子署名生成装置11の設定情報保持部28に保存されている、ICカードドライバの情報を示した図である。FIG. 4 is a diagram showing information of an IC card driver stored in a setting information holding unit 28 of the electronic signature generation device 11. 電子署名生成装置11の設定情報保持部28に保存されている、ICカード13が対応する暗号アルゴリズムを示した図である。3 is a diagram showing an encryption algorithm corresponding to an IC card 13 stored in a setting information holding unit 28 of the electronic signature generation device 11. FIG. 電子署名生成装置11における、ICカードドライバの初期インストール処理を示すフローチャートである。4 is a flowchart showing an initial installation process of an IC card driver in the electronic signature generation apparatus 11. 電子署名生成装置11における、ICカードドライバの更新インストール処理を示すフローチャートである。5 is a flowchart showing an IC card driver update installation process in the electronic signature generation apparatus 11. 電子署名生成装置11とICカード13における、電子署名生成処理を示すシーケンス図である。FIG. 11 is a sequence diagram illustrating an electronic signature generation process in the electronic signature generation apparatus 11 and the IC card 13. 電子署名生成装置11とICカード13における、電子署名生成処理を示すシーケンス図である。FIG. 11 is a sequence diagram illustrating an electronic signature generation process in the electronic signature generation apparatus 11 and the IC card 13. 電子署名生成装置11とICカード13における、電子署名生成処理を示すシーケンス図である。FIG. 11 is a sequence diagram illustrating an electronic signature generation process in the electronic signature generation apparatus 11 and the IC card 13.

以下に、本発明の実施形態について、図面を参照して、詳細に説明する。   Embodiments of the present invention will be described below in detail with reference to the drawings.

図1は、本発明の実施形態に係る電子署名生成システムの構成を示す図である。   FIG. 1 is a diagram showing a configuration of an electronic signature generation system according to an embodiment of the present invention.

本実施形態では、電子署名を生成する複数の電子署名生成装置11a〜電子署名生成装置11l(「電子署名生成装置11」と総称する)と、電子署名生成装置11からの命令により暗号演算を実行するICカード13a〜ICカード13n(「ICカード13」と総称する)と、電子署名生成装置11とICカード13の間の通信を制御するICカードリーダライタ12a〜ICカードリードライタ12m(「ICカードリードライタ12」と総称する)、ICカード13を実行するためのドライバを提供するICカードドライバ提供装置14と、イーサネット(登録商標)等のネットワーク15からなる。なお、電子署名生成装置11に複数のICカードリーダライタ12を接続し、複数のICカード13を使い分ける場合もある。   In the present embodiment, a plurality of electronic signature generation devices 11a to 11l (generically referred to as “electronic signature generation device 11”) that generate electronic signatures and cryptographic operations are executed according to instructions from the electronic signature generation device 11. IC card 13a to IC card 13n (collectively referred to as “IC card 13”), and IC card reader / writer 12a to IC card reader / writer 12m (“IC card reader / writer 12m”) for controlling communication between the electronic signature generation apparatus 11 and the IC card 13. Card reader / writer 12 "), an IC card driver providing device 14 for providing a driver for executing the IC card 13, and a network 15 such as Ethernet (registered trademark). In some cases, a plurality of IC card readers / writers 12 are connected to the electronic signature generation apparatus 11 and a plurality of IC cards 13 are used properly.

次に、図2を用いて、電子署名生成装置11を説明する。   Next, the electronic signature generation apparatus 11 will be described with reference to FIG.

電子署名生成装置11は、処理部20aと記憶部20bと、ユーザからの指示の受付を行う入出力部20cと、ネットワーク15を介して他装置と通信を行うための通信部20dと、を有する。   The electronic signature generation device 11 includes a processing unit 20a, a storage unit 20b, an input / output unit 20c that receives an instruction from a user, and a communication unit 20d that communicates with other devices via the network 15. .

処理部20aは、電子申請・申告や電子契約を行う際に必要となる電子文書を生成する電子文書生成部21と、電子文書生成部21で生成した電子文書に対して電子署名を付与する電子署名生成部22と、電子署名生成装置11にインストールされているICカード13を管理し、電子署名生成部22とICカード13間の命令を制御するICカード管理部23と、ICカード13固有のICカードコマンドを生成するICカードアクセス部24を有する。   The processing unit 20a includes an electronic document generation unit 21 that generates an electronic document necessary for electronic application / declaration and an electronic contract, and an electronic document that provides an electronic signature to the electronic document generated by the electronic document generation unit 21. A signature generation unit 22, an IC card management unit 23 that manages the IC card 13 installed in the electronic signature generation apparatus 11, and controls commands between the electronic signature generation unit 22 and the IC card 13, An IC card access unit 24 that generates an IC card command is included.

記憶部20bは、ユーザが入出力20dを介して生成した電子文書を保持する電子文書保持部25と、ICカード13の機能を補完するICカード補完ドライバを保持するICカード補完ドライバ保持部26と、ICカード13に付属するICカードドライバを保持するICカードドライバ保持部27と、電子署名生成装置11で利用するICカード13を管理するための情報を保持する設定情報保持部28を有する。   The storage unit 20b includes an electronic document holding unit 25 that holds an electronic document generated by the user via the input / output 20d, and an IC card complementary driver holding unit 26 that holds an IC card complementary driver that complements the functions of the IC card 13. And an IC card driver holding unit 27 that holds an IC card driver attached to the IC card 13 and a setting information holding unit 28 that holds information for managing the IC card 13 used in the electronic signature generation apparatus 11.

ICカード管理部23は、ユーザがICカード13のICカードドライバを電子署名生成装置11にインストールし、ICカードドライバ保持部27にICカードドライバが保存されたことを検知すると、ICカード13が実行可能な暗号アルゴリズムをリスト化し、暗号アルゴリズム対応リストを設定情報保持部28に保存する。また、ICカード13に付属するICカードドライバをインストールした日時を記憶し、予め設定した時間毎にインストールした日時と現在時刻とを比較する。その結果、一定以上の時間が経過している場合には、ICカードドライバ提供装置14にアクセスし、ICカード13に付属するICカードドライバが更新されているか否か確認する。   When the user installs the IC card driver of the IC card 13 in the electronic signature generation apparatus 11 and detects that the IC card driver is stored in the IC card driver holding unit 27, the IC card management unit 23 executes the IC card 13 Possible encryption algorithms are listed, and the encryption algorithm correspondence list is stored in the setting information holding unit 28. Also, the installation date and time of the IC card driver attached to the IC card 13 is stored, and the installation date and time are compared with the current time every preset time. As a result, when a predetermined time or more has elapsed, the IC card driver providing device 14 is accessed to check whether the IC card driver attached to the IC card 13 has been updated.

さらに、ICカード管理部23は、電子署名生成部22から、ハッシュ値生成要求や、署名生成要求を受けると、ICカード13が、ハッシュ値生成要求や署名生成要求に含まれる暗号アルゴリズムで、ハッシュ演算や暗号演算を実行可能であるか確認する。ハッシュ値生成要求の暗号アルゴリズムに対応していない場合には、ICカード補完ドライバを利用して、ハッシュ演算を実行し、電子署名生成部22へハッシュ値を応答する。また、署名生成要求の暗号アルゴリズムに対応していない場合には、要求された署名生成処理をハッシュ演算と暗号演算に分解可能か確認する。分解可能な場合には、最初にハッシュ演算をICカード補完ドライバで実施し、次に、その実行結果に対して暗号演算を行うようにICカード13に命令して署名値を得る。そして、得られた署名値を電子署名生成部22へ応答する。   Further, when the IC card management unit 23 receives a hash value generation request or signature generation request from the electronic signature generation unit 22, the IC card 13 uses an encryption algorithm included in the hash value generation request or signature generation request to perform hashing. Check if the calculation or cryptographic calculation can be executed. If the encryption algorithm for the hash value generation request is not supported, the hash calculation is performed using the IC card complement driver, and the hash value is returned to the electronic signature generation unit 22. If the signature generation request encryption algorithm is not supported, it is confirmed whether the requested signature generation processing can be decomposed into a hash operation and a cryptographic operation. If it can be disassembled, the hash calculation is first performed by the IC card complementary driver, and then the IC card 13 is instructed to perform the cryptographic operation on the execution result to obtain the signature value. Then, the obtained signature value is returned to the electronic signature generation unit 22.

なお、図2に示す電子署名生成装置11は、例えば、図3に示すような、CPU31と、メモリ32と、ハードディスク等の外部記憶装置33と、ネットワーク15を介して他装置と通信を行うための通信装置34と、キーボードやマウス等の入力装置35と、モニタやプリンタ等の出力装置36と、CD−ROM等の可搬性を有する記憶媒体38から情報を読み取る読取装置37と、これらの各装置間のデータ送受を行う内部通信線30とを備えた、一般的な電子計算機(コンピュータ)上に構築できる。   The electronic signature generation device 11 shown in FIG. 2 communicates with other devices via the network 31, for example, a CPU 31, a memory 32, an external storage device 33 such as a hard disk, as shown in FIG. A communication device 34, an input device 35 such as a keyboard and a mouse, an output device 36 such as a monitor and a printer, a reading device 37 that reads information from a portable storage medium 38 such as a CD-ROM, and the like. It can be constructed on a general electronic computer (computer) provided with an internal communication line 30 for transmitting and receiving data between devices.

そして、CPU31が外部記憶装置33からメモリ32上にロードされた所定のプログラムを実行することにより、上述の各処理部を実現できる。すなわち、通信部20dは、CPU31が通信装置34を利用することにより、入出力部20cは、CPU31が入力装置35や出力装置36や読取装置37を利用することにより、そして、記憶部20bは、CPU31がメモリ32や外部記憶装置33や可搬性を有する記憶媒体38を利用することにより実現される。また、処理部20aは、CPU31のプロセスとして実現される。   Then, the CPU 31 executes a predetermined program loaded on the memory 32 from the external storage device 33, whereby the above-described processing units can be realized. That is, the communication unit 20d uses the communication device 34 by the CPU 31, the input / output unit 20c uses the input device 35, the output device 36, and the reading device 37, and the storage unit 20b This is realized by the CPU 31 using the memory 32, the external storage device 33, or the portable storage medium 38. The processing unit 20a is realized as a process of the CPU 31.

上記所定のプログラムは、予め外部記憶装置33に格納されていても良いし、上記電子計算機が利用可能な記憶媒体38に格納されており、読み取り装置37を介して、必要に応じて読み出され、あるいは、上記電子計算機が利用可能な通信媒体であるネットワークまたはネットワーク上を伝搬する搬送波を利用する通信装置34と接続された他の装置から、必要に応じてダウンロードされて、外部記憶装置33に導入されるものであっても良い。   The predetermined program may be stored in the external storage device 33 in advance, or stored in a storage medium 38 that can be used by the electronic computer, and read out as necessary via the reading device 37. Alternatively, it is downloaded as necessary from the network, which is a communication medium that can be used by the electronic computer, or another device connected to the communication device 34 that uses a carrier wave propagating on the network, to the external storage device 33. It may be introduced.

次に図4を用いて、電子署名生成装置11の設定情報保持部28に記憶されている、ICカードドライバ管理リスト40を説明する。ICカードドライバ管理リスト40は、ICカード管理部23が、ICカードドライバの初期インストールや更新インストールを実行する際に編集される。また、ICカードドライバ管理リスト40は、ユーザにより、入出力部20cを介して、編集される。   Next, the IC card driver management list 40 stored in the setting information holding unit 28 of the electronic signature generation apparatus 11 will be described with reference to FIG. The IC card driver management list 40 is edited when the IC card management unit 23 performs initial installation or update installation of the IC card driver. The IC card driver management list 40 is edited by the user via the input / output unit 20c.

各々のICカードドライバについて、番号41の列に、ICカードドライバを識別する番号を、ICカード42の列に、ICカードを識別する名前を、ICカードドライバファイル名43の列に、ICカードドライバのフルパスを、バージョン44の列にICカードドラバのバージョンを記載する。また、ネットワーク15に接続されたICカードドライバ提供装置14がICカードドライバを公開している場合には、ダウンロードサイト45の列に、ダウンロードサイトのアドレスを記載する。さらに、インストール日時46の列に、ICカードドライバを初期インストールあるいは更新インストールした日時を記載する。   For each IC card driver, the number 41 identifies the IC card driver number, the IC card 42 column identifies the IC card name, and the IC card driver file name 43 column IC card driver. The version of the IC card driver is described in the version 44 column. When the IC card driver providing device 14 connected to the network 15 discloses the IC card driver, the download site address is written in the column of the download site 45. Further, the date and time when the IC card driver is initially installed or updated is written in the column of installation date 46.

次に図5を用いて、電子署名生成装置11の設定情報保持部28に記憶されている、暗号アルゴリズムリスト50を説明する。暗号アルゴリズムリスト50は、ICカードドライバの初期インストールや更新インストールを実行する際に、ICカード管理部23により、編集される。また、暗号アルゴリズムリスト50は、ユーザがICカードドライバ提供装置14などからICカード13が実行可能な暗号アルゴリズムリストを取得した際に、ユーザにより、入出力部20cを介して、編集される。   Next, the encryption algorithm list 50 stored in the setting information holding unit 28 of the electronic signature generation device 11 will be described with reference to FIG. The encryption algorithm list 50 is edited by the IC card management unit 23 when initial installation or update installation of the IC card driver is executed. The encryption algorithm list 50 is edited by the user via the input / output unit 20c when the user obtains an encryption algorithm list executable by the IC card 13 from the IC card driver providing device 14 or the like.

暗号アルゴリズム51の列に、ハッシュ演算のアルゴリズム(SHA−1、SHA−256、SHA−384、SHA−512)や、暗号演算のアルゴリズム(RSA、DSA、ECDSA)や、ハッシュ演算と暗号演算を併せたアルゴリズム(sha1withRSAEncryption、sha256withRSAEncryption、sha384withRSAEncryption、sha512withRSAEncryption、dsaWithSha1、ecdsaWithSha1)を記載する。さらに、ICカード52の列に、各々のICカード13において、実行可能な暗号アルゴリズムの項目に○を記載する。   In the column of the cryptographic algorithm 51, hash calculation algorithms (SHA-1, SHA-256, SHA-384, SHA-512), cryptographic calculation algorithms (RSA, DSA, ECDSA), hash calculation and cryptographic calculation are combined. (Sha1withRSAEncryption, sha256withRSAEncryption, sha384withRSAEncryption, sha512withRSAEncryption, dsaWithShaW1 and ecdshaW1). Further, in the column of the IC card 52, “◯” is written in the item of the encryption algorithm executable in each IC card 13.

次に、図6において、ユーザが、入出力部20cを介して、ICカード13に付属するICカードドライバを初期インストールや更新インストールする際の、ICカード管理部23の処理について示す。   Next, FIG. 6 shows processing of the IC card management unit 23 when the user performs initial installation or update installation of the IC card driver attached to the IC card 13 via the input / output unit 20c.

電子署名生成装置11のICカード管理部23は、ICカードドライバ保持部27に、新たなICカードドライバがインストールされたことを検知する(S101)と、ICカードドライバ管理リスト40を作成し、設定情報保持部28に保存する(S102)。次に、ICカード管理部23は、新たにインストールされたICカード13にアクセスし、ICカード13やICカード13に付属するICカードドライバが、実行可能な暗号アルゴリズムのリストを取得する(S103)。さらに、ICカード管理部23は、実行可能な暗号アルゴリズムを暗号アルゴリズムリスト50に記載し、設定情報保持部28に保存する(S104)。なお、S102やS104において、すでに検知したICカードドライバの情報が、ICカードドライバ管理リスト40や暗号アルゴリズムリスト50に記載されている場合は、記載内容を上書きする。   When the IC card management unit 23 of the electronic signature generation apparatus 11 detects that a new IC card driver is installed in the IC card driver holding unit 27 (S101), it creates and sets an IC card driver management list 40. The information is stored in the information holding unit 28 (S102). Next, the IC card management unit 23 accesses the newly installed IC card 13 and acquires a list of encryption algorithms that can be executed by the IC card 13 and the IC card driver attached to the IC card 13 (S103). . Further, the IC card management unit 23 describes executable encryption algorithms in the encryption algorithm list 50 and stores them in the setting information holding unit 28 (S104). In S102 and S104, if the IC card driver information already detected is described in the IC card driver management list 40 or the encryption algorithm list 50, the description is overwritten.

次に、図7において、ICカード管理部23が、予め設定した時間毎にインストールしたICカードドライバの更新を確認する処理について示す。   Next, FIG. 7 shows a process in which the IC card management unit 23 confirms the update of the IC card driver installed every preset time.

電子署名生成装置11のICカード管理部23は、ICカードドライバ管理リスト40の番号41の最初の行を読み込み(S201)、S201で選択した行に記載されているインストール日時46を取得する(S202)。ICカード管理部23は、S202で取得したインストール日時46と現在時刻を比較し、予め設定した更新間隔を経過していない場合には(S203でNo)、S210へ進む。   The IC card management unit 23 of the electronic signature generation apparatus 11 reads the first line of the number 41 in the IC card driver management list 40 (S201), and acquires the installation date 46 described in the line selected in S201 (S202). ). The IC card management unit 23 compares the installation date 46 acquired in S202 with the current time, and if the preset update interval has not elapsed (No in S203), the process proceeds to S210.

一方、予め設定した更新間隔を経過している場合には(S203でYes)、ICカード管理部23は、ICカードドライバ管理リスト40において、S201で選択した番号41の行に、ダウンロードサイト45が記載されているかを確認する。ダウンロードサイト45が記載されていない場合には(S204でNo)、ICカード管理部23は、入出力部20cを介して、ICカードドライバの更新を確認する旨のメッセージを電子署名生成装置11の出力装置36に表示し(S205)、S210へ進む。なお、ユーザがメッセージを確認し、ICカードドライバを更新すると、図6で示した処理を実施する。   On the other hand, when the preset update interval has elapsed (Yes in S203), the IC card management unit 23 displays the download site 45 in the line of the number 41 selected in S201 in the IC card driver management list 40. Check whether it is described. If the download site 45 is not described (No in S204), the IC card management unit 23 sends a message to the electronic signature generation apparatus 11 that confirms the update of the IC card driver via the input / output unit 20c. The information is displayed on the output device 36 (S205), and the process proceeds to S210. If the user confirms the message and updates the IC card driver, the processing shown in FIG. 6 is performed.

一方、ダウンロードサイト45が記載されている場合には(S204でYes)、ICカード管理部23は、記載されているアドレスに基づいて、ICカードドライバ提供装置14にアクセスする(S206)。ICカードドライバ提供装置14で提供されているICカードドライバのバージョンと、S201で選択した番号41の行に記載されているバージョン44が一致する場合には(S207でNo)、S210へ進む。   On the other hand, when the download site 45 is described (Yes in S204), the IC card management unit 23 accesses the IC card driver providing device 14 based on the described address (S206). If the version of the IC card driver provided by the IC card driver providing apparatus 14 matches the version 44 described in the line of the number 41 selected in S201 (No in S207), the process proceeds to S210.

一方、ICカードドライバ提供装置14で提供されているICカードドライバのバージョンが、S201で選択した番号41の行に記載されているバージョン44より新しい場合には(S207でYes)、ICカード管理部23は、通信部20dを介して、ICカードドライバをダウンロードし、ICカードドライバ保持部27にインストールする。さらに、ICカード管理部23は、ICカードドライバ管理リスト40において、S201で選択した番号41の行に記載されているバージョン44とインストール日時46を更新する(S208)。   On the other hand, when the version of the IC card driver provided by the IC card driver providing apparatus 14 is newer than the version 44 described in the line of the number 41 selected in S201 (Yes in S207), the IC card management unit 23 downloads the IC card driver via the communication unit 20 d and installs it in the IC card driver holding unit 27. Further, the IC card management unit 23 updates the version 44 and the installation date 46 described in the line of the number 41 selected in S201 in the IC card driver management list 40 (S208).

次に、ICカード管理部23は、S208で更新インストールしたICカード13にアクセスし、ICカード13やICカード13に付属するICカードドライバが実行可能な暗号アルゴリズムのリストを取得し、暗号アルゴリズムリスト50において、S201で選択した番号41に該当するICカード52の列を更新する(S209)。   Next, the IC card management unit 23 accesses the IC card 13 updated and installed in S208, acquires a list of encryption algorithms that can be executed by the IC card 13 and the IC card driver attached to the IC card 13, and stores the encryption algorithm list. In 50, the column of the IC card 52 corresponding to the number 41 selected in S201 is updated (S209).

次に、ICカードドライバ管理リスト40において、最後の行まで達しているか確認し、最後まで達している場合には(S210でYes)、処理を終了する。   Next, it is confirmed whether the last line has been reached in the IC card driver management list 40. If the last line has been reached (Yes in S210), the process is terminated.

一方、最後の行まで達していない場合には(S210でNo)、S201に進み、ICカードドライバ管理リスト40の次の行を読み込む。   On the other hand, when the last line has not been reached (No in S210), the process proceeds to S201, and the next line of the IC card driver management list 40 is read.

次に、図8、図9、図10を用いて、電子署名生成装置11とICカード13において、ユーザが入出力部20cを介して選択した電子文書に対して、電子署名を生成する処理について説明する。   Next, with reference to FIGS. 8, 9, and 10, processing for generating an electronic signature for an electronic document selected by the user via the input / output unit 20 c in the electronic signature generation device 11 and the IC card 13. explain.

最初に、図8において、電子署名生成部22とICカード管理部23が実行する処理について示す。   First, FIG. 8 shows processing executed by the electronic signature generation unit 22 and the IC card management unit 23.

電子署名生成部22は、ユーザが選択した電子文書を電子文書保持部25から取得する(S301)。署名生成処理をハッシュ演算と暗号演算に分けて実施しない場合には(S302でNo)、S307へ進む。   The electronic signature generation unit 22 acquires the electronic document selected by the user from the electronic document holding unit 25 (S301). If the signature generation process is not performed separately for the hash calculation and the cryptographic calculation (No in S302), the process proceeds to S307.

一方、電子署名生成部22が、署名生成処理をハッシュ演算と暗号演算に分けて実施する場合には(S302でYes)、まず、ハッシュ演算を行うために、電子署名生成部22がICカード管理部23に対してハッシュ値生成要求を送信する(S303)。ハッシュ値生成要求には、電子文書のデータとハッシュ演算のための暗号アルゴリズムを含む。ICカード管理部23は、ハッシュ値生成要求を受信すると(S304)、ICカード管理部23あるいはICカード13でハッシュ演算処理を実施する。次に、ハッシュ演算処理の実行結果をもとに、ハッシュ値生成応答を送信する(S305)。電子署名生成部22は、ハッシュ値生成応答を受信する(S306)。なお、ハッシュ演算の詳細な処理については、図9で説明する。   On the other hand, when the electronic signature generation unit 22 performs the signature generation processing separately for the hash operation and the cryptographic operation (Yes in S302), first, the electronic signature generation unit 22 performs IC card management in order to perform the hash operation. A hash value generation request is transmitted to the unit 23 (S303). The hash value generation request includes data of the electronic document and a cryptographic algorithm for hash calculation. When the IC card management unit 23 receives the hash value generation request (S304), the IC card management unit 23 or the IC card 13 performs hash calculation processing. Next, a hash value generation response is transmitted based on the execution result of the hash calculation process (S305). The electronic signature generation unit 22 receives the hash value generation response (S306). Detailed processing of the hash calculation will be described with reference to FIG.

次に、電子署名値を生成するために、電子署名生成部22は、ICカード管理部23に対して署名生成要求を送信する。署名生成要求には、署名対象データと署名生成のための暗号アルゴリズムが含まれる。なお、署名生成処理をハッシュ演算と暗号演算に分けて実施する場合には(S302でYes)場合には、署名対象のデータはS306で受信した電子文書のハッシュ値であり、また、指定する暗号アルゴリズムは、暗号演算の暗号アルゴリズムとなる。一方、署名生成処理をハッシュ演算と暗号演算に分けて実施しない場合には(S302でNo)、署名対象のデータは電子文書全体であり、また、指定する暗号アルゴリズムは、ハッシュ演算と暗号演算を併せた暗号アルゴリズムとなる。   Next, in order to generate an electronic signature value, the electronic signature generation unit 22 transmits a signature generation request to the IC card management unit 23. The signature generation request includes signature target data and a cryptographic algorithm for generating a signature. When the signature generation process is performed separately for hash operation and encryption operation (Yes in S302), the data to be signed is the hash value of the electronic document received in S306, and the designated encryption The algorithm is a cryptographic algorithm for cryptographic operations. On the other hand, when the signature generation processing is not performed separately for the hash operation and the cryptographic operation (No in S302), the data to be signed is the entire electronic document, and the encryption algorithm to be specified includes the hash operation and the cryptographic operation. It becomes a combined encryption algorithm.

ICカード管理部23は、署名生成要求を受信すると(S308)、署名生成処理を実施する。次に、署名生成処理の実行結果をもとに、署名生成応答を送信する(S309)。電子署名生成部22は、署名生成応答を受信する(S310)。なお、署名生成処理の詳細な処理については、図9で説明する。   When receiving the signature generation request (S308), the IC card management unit 23 performs signature generation processing. Next, a signature generation response is transmitted based on the execution result of the signature generation process (S309). The electronic signature generation unit 22 receives the signature generation response (S310). Details of the signature generation process will be described with reference to FIG.

次に、図9において、電子署名生成装置11のICカード管理部23とICカードアクセス部24と、ICカード13が実行するハッシュ演算の処理について示す。   Next, FIG. 9 shows hash calculation processing executed by the IC card management unit 23, the IC card access unit 24, and the IC card 13 of the electronic signature generation apparatus 11.

最初に、ICカード管理部23は、S304で受信したハッシュ値生成要求に含まれる暗号アルゴリズムにICカードが対応しているか確認する。具体的には、暗号アルゴリズムリスト50において、暗号アルゴリズム51の中でハッシュ値生成要求に含まれる暗号アルゴリズムに該当する行と、ICカード52の中で署名生成処理を実行するICカードに該当する列を検索し、「○」となっているか確認する(S401)。   First, the IC card management unit 23 checks whether the IC card corresponds to the encryption algorithm included in the hash value generation request received in S304. Specifically, in the encryption algorithm list 50, a row corresponding to the encryption algorithm included in the hash value generation request in the encryption algorithm 51 and a column corresponding to the IC card that executes the signature generation processing in the IC card 52. And whether it is “◯” is checked (S401).

S304で受信したハッシュ値生成要求に含まれる暗号アルゴリズムにICカードが対応している場合には(S401でYes)、ICカードドライバ保持部27に保存されているICカードドライバを利用して、ICカード13固有のハッシュ値生成コマンドを作成し(S402)、ICカードアクセス部24へ送信する(S403)。   When the IC card corresponds to the encryption algorithm included in the hash value generation request received in S304 (Yes in S401), the IC card driver stored in the IC card driver holding unit 27 is used to perform the IC card. A hash value generation command unique to the card 13 is created (S402) and transmitted to the IC card access unit 24 (S403).

ICカードアクセス部24は、ICカード管理部23からのハッシュ値生成コマンドを受信する(S404)。ハッシュ演算をICカードで実行する場合には(S405でYes)、ICカードリーダライタ12を介して、ICカード13へハッシュ値生成を命令し、ICカード13でハッシュ演算を実行する(S406)。一方、ハッシュ演算をICカードで実行しない場合には(S405でNo)、ICカードドライバを利用してハッシュ演算を実行する(S407)。ICカードアクセス部24は、ハッシュ演算結果であるハッシュ値をICカード管理部23へ送信する(S408)。   The IC card access unit 24 receives the hash value generation command from the IC card management unit 23 (S404). When the hash calculation is executed by the IC card (Yes in S405), the IC card 13 is instructed to generate a hash value via the IC card reader / writer 12, and the hash calculation is executed by the IC card 13 (S406). On the other hand, when the hash calculation is not executed on the IC card (No in S405), the hash calculation is executed using the IC card driver (S407). The IC card access unit 24 transmits a hash value, which is a hash calculation result, to the IC card management unit 23 (S408).

ICカード管理部23は、ICカードアクセス部24からハッシュ値を受信すると(S409)、S411へ進む。   When receiving the hash value from the IC card access unit 24 (S409), the IC card management unit 23 proceeds to S411.

一方、S304で受信したハッシュ値生成要求に含まれる暗号アルゴリズムにICカードが対応していない場合には(S401でNo)、ICカード補完ドライバ保持部26に保存されているICカード補完ドライバを利用してハッシュ演算を実行する(S410)。   On the other hand, when the IC card does not correspond to the encryption algorithm included in the hash value generation request received in S304 (No in S401), the IC card complementary driver stored in the IC card complementary driver holding unit 26 is used. A hash operation is then executed (S410).

ICカード管理部23は、S409で受信した、あるいは、S410で生成したハッシュ値を含むハッシュ値生成応答を作成する(S411)。   The IC card management unit 23 creates a hash value generation response including the hash value received in S409 or generated in S410 (S411).

なお、ICカードリーダライタ12は、ICカードアクセス部24とICカード13の通信を制御する(S400)。   The IC card reader / writer 12 controls communication between the IC card access unit 24 and the IC card 13 (S400).

次に、図10において、電子署名生成装置11のICカード管理部23とICカードアクセス部24と、ICカード13が実行する署名生成処理について示す。   Next, FIG. 10 shows a signature generation process executed by the IC card management unit 23, the IC card access unit 24, and the IC card 13 of the electronic signature generation apparatus 11.

ICカード管理部23は、S308で受信した署名生成要求に含まれる暗号アルゴリズムにICカードが対応しているか確認する。具体的には、暗号アルゴリズムリスト50において、暗号アルゴリズム51の中で署名生成要求に含まれる暗号アルゴリズムに該当する行と、ICカード52の中で署名生成処理を実行するICカードに該当する列を検索し、「○」となっているか確認する(S501)。   The IC card management unit 23 confirms whether the IC card corresponds to the encryption algorithm included in the signature generation request received in S308. Specifically, in the encryption algorithm list 50, a row corresponding to the encryption algorithm included in the signature generation request in the encryption algorithm 51 and a column corresponding to the IC card executing the signature generation processing in the IC card 52 are displayed. A search is made and it is confirmed whether it is “◯” (S501).

S308で受信した署名生成要求に含まれる暗号アルゴリズムにICカードが対応していない場合には(S501でNo)、ICカード管理部23は、前記暗号アルゴリズムにハッシュ演算と暗号演算を両方共含むかを確認する(S502)。ICカード管理部23では、秘密鍵利用した暗号演算を補完できないため、暗号演算のみの場合は(S502でNo)の場合は、エラー値を含んだ署名生成応答を作成する(S503)。   If the IC card does not support the encryption algorithm included in the signature generation request received in S308 (No in S501), the IC card management unit 23 includes both the hash operation and the encryption operation in the encryption algorithm. Is confirmed (S502). Since the IC card management unit 23 cannot complement the cryptographic calculation using the secret key, in the case of only the cryptographic calculation (No in S502), a signature generation response including an error value is created (S503).

一方、ハッシュ演算と暗号演算を両方共含む場合には(S502でYes)、ICカード管理部23は、暗号アルゴリズムをハッシュ演算と暗号演算に分解する。分解した暗号演算の暗号アルゴリズムがICカード13に対応しているか、S501と同様に確認する(S504)。例えば、暗号アルゴリズムがsha256withRSAEncryptionであれば、SHA−256とRSAに分解し、RSAにICカードが対応しているか確認する。分解した暗号演算の暗号アルゴリズムにICカード13が対応していない場合には(S504でNo)、ICカード管理部23は、S503へ進む。   On the other hand, when both the hash calculation and the cryptographic calculation are included (Yes in S502), the IC card management unit 23 decomposes the cryptographic algorithm into the hash calculation and the cryptographic calculation. It is checked in the same manner as in S501 whether the decomposed cryptographic algorithm is compatible with the IC card 13 (S504). For example, if the encryption algorithm is sha256withRSAEncryption, it is decomposed into SHA-256 and RSA, and it is confirmed whether the IC card is compatible with RSA. If the IC card 13 does not correspond to the decrypted cryptographic algorithm (No in S504), the IC card management unit 23 proceeds to S503.

一方、分解した暗号演算の暗号アルゴリズムにICカード13が対応している場合には(S504でYes)、ICカード管理部23は、ICカード補完ドライバを用いて、分解したハッシュ演算を実行する(S505)。さらに、ICカード管理部23は、S505で生成したハッシュ値を署名対象とし、S504で分解した暗号演算の暗号アルゴリズムによる署名コマンドを作成する(S506)。   On the other hand, when the IC card 13 corresponds to the cipher algorithm of the decomposed cryptographic operation (Yes in S504), the IC card management unit 23 executes the decomposed hash operation using the IC card complementary driver ( S505). Further, the IC card management unit 23 uses the hash value generated in S505 as a signature target and creates a signature command based on the cryptographic algorithm of the cryptographic operation decomposed in S504 (S506).

S308で受信した署名生成要求に含まれる暗号アルゴリズムにICカードが対応している場合には(S501でYes)、ICカード管理部23は、ICカードドライバ保持部27に保存されているICカードドライバを利用して、S308に含まれる署名対象データを署名対象とし、S308に含まれる暗号アルゴリズムによる署名コマンドを作成する(S507)。   When the IC card corresponds to the encryption algorithm included in the signature generation request received in S308 (Yes in S501), the IC card management unit 23 stores the IC card driver stored in the IC card driver holding unit 27. , The signature target data included in S308 is set as the signature target, and a signature command based on the encryption algorithm included in S308 is created (S507).

ICカード管理部23は、S506あるいはS507で生成した署名コマンドをICカードアクセス部24へ送信する(S508)。   The IC card management unit 23 transmits the signature command generated in S506 or S507 to the IC card access unit 24 (S508).

ICカードアクセス部24は、ICカード管理部23からの署名コマンドを受信すると(S509)、ICカードリーダライタ12を介して、ICカード13へ署名コマンドを送信する(S510)。次に、ICカード13は、ICカードアクセス部24から署名コマンドを受信すると(S511)、署名コマンドに含まれる暗号アルゴリズムで署名生成を実行する(S512)。さらに、ICカード13は、ICカードリーダライタ12を介して、S512で生成した署名値をICカードアクセス部24へ送信する(S513)。次に、ICカードアクセス部24は、ICカード13から署名値を受信すると(S514)、ICカード管理部23へ送信する(S515)。   When receiving the signature command from the IC card management unit 23 (S509), the IC card access unit 24 transmits the signature command to the IC card 13 via the IC card reader / writer 12 (S510). Next, when the IC card 13 receives a signature command from the IC card access unit 24 (S511), the IC card 13 generates a signature using the encryption algorithm included in the signature command (S512). Further, the IC card 13 transmits the signature value generated in S512 to the IC card access unit 24 via the IC card reader / writer 12 (S513). Next, when receiving the signature value from the IC card 13 (S514), the IC card access unit 24 transmits the signature value to the IC card management unit 23 (S515).

ICカード管理部23は、ICカードアクセス部24から署名値を受信すると(S516)、署名値を含んだ署名生成応答を作成する(S517)。   When receiving the signature value from the IC card access unit 24 (S516), the IC card management unit 23 creates a signature generation response including the signature value (S517).

以上、本発明の実施形態について詳述したが、上記実施形態によれば、署名生成で利用する暗号方式を柔軟に拡張できる電子署名生成方法、これを実施する電子署名生成装置及び電子署名生成プログラムを提供することができる。   As described above, the embodiment of the present invention has been described in detail. According to the embodiment, an electronic signature generation method capable of flexibly extending an encryption method used for signature generation, an electronic signature generation apparatus and an electronic signature generation program for implementing the method Can be provided.

また、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。   The present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention.

11・・・電子署名生成装置、12・・・ICカードリーダライタ、13・・・ICカード、14・・・ICカードドライバ提供装置、15・・・ネットワーク、20a・・・処理部、20b・・・記憶部、20c・・・入出力部、20d・・・通信部、21・・・電子文書生成部、22・・・電子署名生成部、23・・・ICカード管理部、24・・・ICカードアクセス部、25・・・電子文書保持部、26・・・ICカード補完ドライバ保持部、27・・・ICカードドライバ保持部、28・・・設定情報保持部、30・・・内部通信線、31・・・CPU、32・・・メモリ、33・・・外部記憶装置、34・・・通信装置、35・・・入力装置、36・・・出力装置、37・・・読取装置、38・・・可搬性を有する記憶媒体。 DESCRIPTION OF SYMBOLS 11 ... Digital signature production | generation apparatus, 12 ... IC card reader / writer, 13 ... IC card, 14 ... IC card driver provision apparatus, 15 ... Network, 20a ... Processing part, 20b. ..Storage unit 20c... Input / output unit 20d... Communication unit 21... Electronic document generation unit 22. IC card access unit 25 ... electronic document holding unit 26 ... IC card complementary driver holding unit 27 ... IC card driver holding unit 28 ... setting information holding unit 30 ... inside Communication line 31 ... CPU, 32 ... memory, 33 ... external storage device, 34 ... communication device, 35 ... input device, 36 ... output device, 37 ... reading device 38... A storage medium having portability.

Claims (6)

電子署名生成装置により、電子署名を実施する電子文書の情報、あるいは、電子署名を実施する電子文書を一定の長さに圧縮した情報、さらに、電子署名に利用する暗号アルゴリズムを含んだ、電子署名生成要求を生成し、前記電子署名生成要求を、ICカードリーダライタを介して接続されているICカードに送信して、前記ICカードから電子署名生成応答を受信し、電子署名生成処理を実施する、電子署名生成方法であって、
前記電子署名生成装置は、ICカード管理情報と、前記ICカードの機能を補完するドライバを記憶する記憶部を具備し、
前記ICカード管理情報に基づいて、電子署名を実施する文書を一定の長さに圧縮した情報を、電子署名生成装置で実施するか、前記ICカードで実施するか判定する処理と、
前記判定結果に基づき、前記ICカードの機能を補完するドライバを利用して、前記電子署名を実施する文書を一定の長さに圧縮した情報を生成する処理と、
を実施する、
ことを特徴とする電子署名生成方法。
An electronic signature that includes information on an electronic document for which an electronic signature is to be executed by an electronic signature generation device, or information obtained by compressing an electronic document for which an electronic signature is to be executed into a certain length, and an encryption algorithm used for the electronic signature A generation request is generated, the electronic signature generation request is transmitted to an IC card connected via an IC card reader / writer, an electronic signature generation response is received from the IC card, and an electronic signature generation process is performed. An electronic signature generation method,
The electronic signature generation apparatus includes a storage unit that stores IC card management information and a driver that complements the function of the IC card,
Based on the IC card management information, a process for determining whether information obtained by compressing a document to be subjected to electronic signature to a certain length is to be implemented by the electronic signature generation device or the IC card;
Based on the determination result, using a driver that complements the function of the IC card, a process for generating information obtained by compressing a document for performing the electronic signature to a certain length;
Carry out the
An electronic signature generation method characterized by the above.
前記ICカード管理情報は、前記ICカードに付属するICカードドライバに関する情報及び前記ICカードが実行可能な暗号アルゴリズムに関する情報である、
ことを特徴とする請求項1に記載の電子署名生成方法。
The IC card management information is information related to an IC card driver attached to the IC card and information related to an encryption algorithm executable by the IC card.
The electronic signature generation method according to claim 1.
前記電子署名生成装置により、
前記ICカード導入時に、前記ICカードリーダライタを介して、前記ICカードに付属するICカードドライバに関する情報及び前記ICカードが実行可能な暗号アルゴリズムを取得し、前記ICカード管理情報を作成する処理を実施する、
ことを特徴とする請求項2に記載の電子署名生成方法。
By the electronic signature generation device,
When the IC card is introduced, through the IC card reader / writer, obtain information related to the IC card driver attached to the IC card and an encryption algorithm executable by the IC card, and create the IC card management information. carry out,
The electronic signature generation method according to claim 2.
前記電子署名生成装置により、
前記ICカードを導入してから一定期間経過後に、ネットワークを介してICカードドライバ提供装置に接続し、前記ICカードに付属するICカードドライバが更新されているか確認する処理を実施する、
ことを特徴とする請求項3に記載の電子署名生成方法。
By the electronic signature generation device,
After a certain period of time has passed since the introduction of the IC card, connect to the IC card driver providing device via a network, and perform processing to check whether the IC card driver attached to the IC card has been updated,
The electronic signature generation method according to claim 3.
前記電子署名生成装置により、
ネットワークを介して前記ICカード提供装置に接続して、最新のICカードドライバを取得し、前記ICカードに付属するICカードドライバに関する情報及び前記ICカードが実行可能な暗号アルゴリズムを取得し、前記ICカードドライバ管理情報を更新する処理を実施する、
ことを特徴とする請求項4に記載の電子署名生成方法。
By the electronic signature generation device,
Connect to the IC card providing device via a network to obtain the latest IC card driver, obtain information on the IC card driver attached to the IC card and an encryption algorithm executable by the IC card, and Implement processing to update card driver management information,
The electronic signature generation method according to claim 4.
コンピュータに、請求項1乃至請求項5の何れか1項に記載の電子署名生成方法を実行させる電子署名生成プログラム。   An electronic signature generation program for causing a computer to execute the electronic signature generation method according to any one of claims 1 to 5.
JP2011240761A 2011-11-02 2011-11-02 Electronic signature generating method and electronic signature generating program Pending JP2013098808A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011240761A JP2013098808A (en) 2011-11-02 2011-11-02 Electronic signature generating method and electronic signature generating program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011240761A JP2013098808A (en) 2011-11-02 2011-11-02 Electronic signature generating method and electronic signature generating program

Publications (1)

Publication Number Publication Date
JP2013098808A true JP2013098808A (en) 2013-05-20

Family

ID=48620307

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011240761A Pending JP2013098808A (en) 2011-11-02 2011-11-02 Electronic signature generating method and electronic signature generating program

Country Status (1)

Country Link
JP (1) JP2013098808A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902505A (en) * 2017-12-11 2019-06-18 方正国际软件(北京)有限公司 A kind of storage of Electronic Signature, verification method and device
WO2020049951A1 (en) * 2018-09-04 2020-03-12 ソニー株式会社 Ic card, processing method, and information processing system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109902505A (en) * 2017-12-11 2019-06-18 方正国际软件(北京)有限公司 A kind of storage of Electronic Signature, verification method and device
WO2020049951A1 (en) * 2018-09-04 2020-03-12 ソニー株式会社 Ic card, processing method, and information processing system
JPWO2020049951A1 (en) * 2018-09-04 2021-09-24 ソニーグループ株式会社 IC card, processing method, and information processing system
JP7424294B2 (en) 2018-09-04 2024-01-30 ソニーグループ株式会社 IC cards, processing methods, and information processing systems

Similar Documents

Publication Publication Date Title
US11683187B2 (en) User authentication with self-signed certificate and identity verification and migration
US9875363B2 (en) Use of generic (browser) encryption API to do key exchange (for media files and player)
EP3291504B1 (en) Authentication and secure transmission of data between signature devices and host computers using transport layer security
US9148415B2 (en) Method and system for accessing e-book data
JP5852265B2 (en) COMPUTER DEVICE, COMPUTER PROGRAM, AND ACCESS Permission Judgment Method
US20170295013A1 (en) Method for fulfilling a cryptographic request requiring a value of a private key
KR101712784B1 (en) System and method for key management for issuer security domain using global platform specifications
US8837734B2 (en) Managing encrypted data and encryption keys
US20040039932A1 (en) Apparatus, system and method for securing digital documents in a digital appliance
US8638932B2 (en) Security method and system and computer-readable medium storing computer program for executing the security method
CN103617394A (en) SDK providing and invoking method and associated device
US20140059341A1 (en) Creating and accessing encrypted web based content in hybrid applications
AU2019204724C1 (en) Cryptography chip with identity verification
JP2018067807A (en) Electronic signature system, electronic signature client, electronic signature program, server, and electronic signature method
JP2013115522A (en) Link access control method, program, and system
CN110414269B (en) Processing method, related device, storage medium and system of application installation package
JP2006285697A (en) File management method and file management system
JP2013098808A (en) Electronic signature generating method and electronic signature generating program
CN110611674B (en) Protocol interaction method, system and storage medium between different computer systems
WO2022211899A1 (en) Agile cryptographic deployment service
JP2019057827A (en) Distributed authentication system and program
CN109933994B (en) Data hierarchical storage method and device and computing equipment
CN104023008A (en) Method and device for downloading and starting tool kit
JP4912809B2 (en) Electronic signature server, electronic signature system, and electronic signature method
JP2016201675A (en) Communication method and server