JP2013098808A - Electronic signature generating method and electronic signature generating program - Google Patents
Electronic signature generating method and electronic signature generating program Download PDFInfo
- 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
Links
Images
Abstract
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
電子署名の生成処理の中で、ハッシュ演算に関しては、秘密鍵を利用しないため、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
非特許文献2のコメントを受け、各国の認証基盤やアプリケーション提供者は、アプリケーションで利用する暗号アルゴリズムをより安全性の高いものに移行し、また、複数の暗号アルゴリズムから選択できるようにするなど、情報システムの安全性を高める施策を実施している。例えば、非特許文献3によると、日本の政府認証基盤では、2014年度から、電子署名に利用する暗号アルゴリズムとして、現行使用している暗号アルゴリズムに加えて、安全性の高い暗号アルゴリズムを追加する。さらに、一定期間経過後には、安全性の高い暗号アルゴリズムのみを利用することが記載されている。
In response to comments from Non-Patent
また、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.
非特許文献2に記載されているように、暗号解読技術の進歩及び電子計算機能力の向上により、暗号アルゴリズムの安全性は、日々変化している。そこで、電子申請など、電子署名を求めるアプリケーションでは、暗号アルゴリズムの技術動向を確認し、安全性が担保された暗号アルゴリズムを電子署名の生成処理に採用する必要がある。
As described in Non-Patent
さらに、非特許文献3に示すように、安全性の高い暗号アルゴリズムへ移行する際には、現行の暗号アルゴリズムと安全性の高い暗号アルゴリズムの両方を利用できる期間(以下、移行期間)が設けられている。アプリケーションやICカードなどは、移行期間中の各々の時期に暗号アルゴリズム移行を進めていくことになるため、アプリケーションやICカードによっては、暗号アルゴリズム移行の完了時期が一致しない場合がある。
Furthermore, as shown in
そのため、移行期間中に、アプリケーションが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
そのため、ユーザは、電子署名を求めるアプリケーションを利用する前に、ユーザの保持する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.
以下に、本発明の実施形態について、図面を参照して、詳細に説明する。 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
次に、図2を用いて、電子署名生成装置11を説明する。
Next, the electronic
電子署名生成装置11は、処理部20aと記憶部20bと、ユーザからの指示の受付を行う入出力部20cと、ネットワーク15を介して他装置と通信を行うための通信部20dと、を有する。
The electronic
処理部20aは、電子申請・申告や電子契約を行う際に必要となる電子文書を生成する電子文書生成部21と、電子文書生成部21で生成した電子文書に対して電子署名を付与する電子署名生成部22と、電子署名生成装置11にインストールされているICカード13を管理し、電子署名生成部22とICカード13間の命令を制御するICカード管理部23と、ICカード13固有のICカードコマンドを生成するICカードアクセス部24を有する。
The processing unit 20a includes an electronic
記憶部20bは、ユーザが入出力20dを介して生成した電子文書を保持する電子文書保持部25と、ICカード13の機能を補完するICカード補完ドライバを保持するICカード補完ドライバ保持部26と、ICカード13に付属するICカードドライバを保持するICカードドライバ保持部27と、電子署名生成装置11で利用するICカード13を管理するための情報を保持する設定情報保持部28を有する。
The storage unit 20b includes an electronic
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カード管理部23は、電子署名生成部22から、ハッシュ値生成要求や、署名生成要求を受けると、ICカード13が、ハッシュ値生成要求や署名生成要求に含まれる暗号アルゴリズムで、ハッシュ演算や暗号演算を実行可能であるか確認する。ハッシュ値生成要求の暗号アルゴリズムに対応していない場合には、ICカード補完ドライバを利用して、ハッシュ演算を実行し、電子署名生成部22へハッシュ値を応答する。また、署名生成要求の暗号アルゴリズムに対応していない場合には、要求された署名生成処理をハッシュ演算と暗号演算に分解可能か確認する。分解可能な場合には、最初にハッシュ演算をICカード補完ドライバで実施し、次に、その実行結果に対して暗号演算を行うようにICカード13に命令して署名値を得る。そして、得られた署名値を電子署名生成部22へ応答する。
Further, when the IC
なお、図2に示す電子署名生成装置11は、例えば、図3に示すような、CPU31と、メモリ32と、ハードディスク等の外部記憶装置33と、ネットワーク15を介して他装置と通信を行うための通信装置34と、キーボードやマウス等の入力装置35と、モニタやプリンタ等の出力装置36と、CD−ROM等の可搬性を有する記憶媒体38から情報を読み取る読取装置37と、これらの各装置間のデータ送受を行う内部通信線30とを備えた、一般的な電子計算機(コンピュータ)上に構築できる。
The electronic
そして、CPU31が外部記憶装置33からメモリ32上にロードされた所定のプログラムを実行することにより、上述の各処理部を実現できる。すなわち、通信部20dは、CPU31が通信装置34を利用することにより、入出力部20cは、CPU31が入力装置35や出力装置36や読取装置37を利用することにより、そして、記憶部20bは、CPU31がメモリ32や外部記憶装置33や可搬性を有する記憶媒体38を利用することにより実現される。また、処理部20aは、CPU31のプロセスとして実現される。
Then, the
上記所定のプログラムは、予め外部記憶装置33に格納されていても良いし、上記電子計算機が利用可能な記憶媒体38に格納されており、読み取り装置37を介して、必要に応じて読み出され、あるいは、上記電子計算機が利用可能な通信媒体であるネットワークまたはネットワーク上を伝搬する搬送波を利用する通信装置34と接続された他の装置から、必要に応じてダウンロードされて、外部記憶装置33に導入されるものであっても良い。
The predetermined program may be stored in the
次に図4を用いて、電子署名生成装置11の設定情報保持部28に記憶されている、ICカードドライバ管理リスト40を説明する。ICカードドライバ管理リスト40は、ICカード管理部23が、ICカードドライバの初期インストールや更新インストールを実行する際に編集される。また、ICカードドライバ管理リスト40は、ユーザにより、入出力部20cを介して、編集される。
Next, the IC card
各々のICカードドライバについて、番号41の列に、ICカードドライバを識別する番号を、ICカード42の列に、ICカードを識別する名前を、ICカードドライバファイル名43の列に、ICカードドライバのフルパスを、バージョン44の列にICカードドラバのバージョンを記載する。また、ネットワーク15に接続されたICカードドライバ提供装置14がICカードドライバを公開している場合には、ダウンロードサイト45の列に、ダウンロードサイトのアドレスを記載する。さらに、インストール日時46の列に、ICカードドライバを初期インストールあるいは更新インストールした日時を記載する。
For each IC card driver, the
次に図5を用いて、電子署名生成装置11の設定情報保持部28に記憶されている、暗号アルゴリズムリスト50を説明する。暗号アルゴリズムリスト50は、ICカードドライバの初期インストールや更新インストールを実行する際に、ICカード管理部23により、編集される。また、暗号アルゴリズムリスト50は、ユーザがICカードドライバ提供装置14などからICカード13が実行可能な暗号アルゴリズムリストを取得した際に、ユーザにより、入出力部20cを介して、編集される。
Next, the
暗号アルゴリズム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
次に、図6において、ユーザが、入出力部20cを介して、ICカード13に付属するICカードドライバを初期インストールや更新インストールする際の、ICカード管理部23の処理について示す。
Next, FIG. 6 shows processing of the IC
電子署名生成装置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
次に、図7において、ICカード管理部23が、予め設定した時間毎にインストールしたICカードドライバの更新を確認する処理について示す。
Next, FIG. 7 shows a process in which the IC
電子署名生成装置11のICカード管理部23は、ICカードドライバ管理リスト40の番号41の最初の行を読み込み(S201)、S201で選択した行に記載されているインストール日時46を取得する(S202)。ICカード管理部23は、S202で取得したインストール日時46と現在時刻を比較し、予め設定した更新間隔を経過していない場合には(S203でNo)、S210へ進む。
The IC
一方、予め設定した更新間隔を経過している場合には(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
一方、ダウンロードサイト45が記載されている場合には(S204でYes)、ICカード管理部23は、記載されているアドレスに基づいて、ICカードドライバ提供装置14にアクセスする(S206)。ICカードドライバ提供装置14で提供されているICカードドライバのバージョンと、S201で選択した番号41の行に記載されているバージョン44が一致する場合には(S207でNo)、S210へ進む。
On the other hand, when the
一方、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
次に、ICカード管理部23は、S208で更新インストールしたICカード13にアクセスし、ICカード13やICカード13に付属するICカードドライバが実行可能な暗号アルゴリズムのリストを取得し、暗号アルゴリズムリスト50において、S201で選択した番号41に該当するICカード52の列を更新する(S209)。
Next, the IC
次に、ICカードドライバ管理リスト40において、最後の行まで達しているか確認し、最後まで達している場合には(S210でYes)、処理を終了する。
Next, it is confirmed whether the last line has been reached in the IC card
一方、最後の行まで達していない場合には(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
次に、図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 /
最初に、図8において、電子署名生成部22とICカード管理部23が実行する処理について示す。
First, FIG. 8 shows processing executed by the electronic
電子署名生成部22は、ユーザが選択した電子文書を電子文書保持部25から取得する(S301)。署名生成処理をハッシュ演算と暗号演算に分けて実施しない場合には(S302でNo)、S307へ進む。
The electronic
一方、電子署名生成部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
次に、電子署名値を生成するために、電子署名生成部22は、ICカード管理部23に対して署名生成要求を送信する。署名生成要求には、署名対象データと署名生成のための暗号アルゴリズムが含まれる。なお、署名生成処理をハッシュ演算と暗号演算に分けて実施する場合には(S302でYes)場合には、署名対象のデータはS306で受信した電子文書のハッシュ値であり、また、指定する暗号アルゴリズムは、暗号演算の暗号アルゴリズムとなる。一方、署名生成処理をハッシュ演算と暗号演算に分けて実施しない場合には(S302でNo)、署名対象のデータは電子文書全体であり、また、指定する暗号アルゴリズムは、ハッシュ演算と暗号演算を併せた暗号アルゴリズムとなる。
Next, in order to generate an electronic signature value, the electronic
ICカード管理部23は、署名生成要求を受信すると(S308)、署名生成処理を実施する。次に、署名生成処理の実行結果をもとに、署名生成応答を送信する(S309)。電子署名生成部22は、署名生成応答を受信する(S310)。なお、署名生成処理の詳細な処理については、図9で説明する。
When receiving the signature generation request (S308), the IC
次に、図9において、電子署名生成装置11のICカード管理部23とICカードアクセス部24と、ICカード13が実行するハッシュ演算の処理について示す。
Next, FIG. 9 shows hash calculation processing executed by the IC
最初に、ICカード管理部23は、S304で受信したハッシュ値生成要求に含まれる暗号アルゴリズムにICカードが対応しているか確認する。具体的には、暗号アルゴリズムリスト50において、暗号アルゴリズム51の中でハッシュ値生成要求に含まれる暗号アルゴリズムに該当する行と、ICカード52の中で署名生成処理を実行するICカードに該当する列を検索し、「○」となっているか確認する(S401)。
First, the IC
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
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
ICカード管理部23は、ICカードアクセス部24からハッシュ値を受信すると(S409)、S411へ進む。
When receiving the hash value from the IC card access unit 24 (S409), the IC
一方、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
ICカード管理部23は、S409で受信した、あるいは、S410で生成したハッシュ値を含むハッシュ値生成応答を作成する(S411)。
The IC
なお、ICカードリーダライタ12は、ICカードアクセス部24とICカード13の通信を制御する(S400)。
The IC card reader / writer 12 controls communication between the IC
次に、図10において、電子署名生成装置11のICカード管理部23とICカードアクセス部24と、ICカード13が実行する署名生成処理について示す。
Next, FIG. 10 shows a signature generation process executed by the IC
ICカード管理部23は、S308で受信した署名生成要求に含まれる暗号アルゴリズムにICカードが対応しているか確認する。具体的には、暗号アルゴリズムリスト50において、暗号アルゴリズム51の中で署名生成要求に含まれる暗号アルゴリズムに該当する行と、ICカード52の中で署名生成処理を実行するICカードに該当する列を検索し、「○」となっているか確認する(S501)。
The IC
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
一方、ハッシュ演算と暗号演算を両方共含む場合には(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
一方、分解した暗号演算の暗号アルゴリズムにICカード13が対応している場合には(S504でYes)、ICカード管理部23は、ICカード補完ドライバを用いて、分解したハッシュ演算を実行する(S505)。さらに、ICカード管理部23は、S505で生成したハッシュ値を署名対象とし、S504で分解した暗号演算の暗号アルゴリズムによる署名コマンドを作成する(S506)。
On the other hand, when the
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
ICカード管理部23は、S506あるいはS507で生成した署名コマンドをICカードアクセス部24へ送信する(S508)。
The IC
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
ICカード管理部23は、ICカードアクセス部24から署名値を受信すると(S516)、署名値を含んだ署名生成応答を作成する(S517)。
When receiving the signature value from the IC card access unit 24 (S516), the IC
以上、本発明の実施形態について詳述したが、上記実施形態によれば、署名生成で利用する暗号方式を柔軟に拡張できる電子署名生成方法、これを実施する電子署名生成装置及び電子署名生成プログラムを提供することができる。 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
Claims (6)
前記電子署名生成装置は、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.
ことを特徴とする請求項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.
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)
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 |
-
2011
- 2011-11-02 JP JP2011240761A patent/JP2013098808A/en active Pending
Cited By (4)
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 |