JP2008219619A - Authentication apparatus, authentication method and authentication program - Google Patents

Authentication apparatus, authentication method and authentication program Download PDF

Info

Publication number
JP2008219619A
JP2008219619A JP2007056056A JP2007056056A JP2008219619A JP 2008219619 A JP2008219619 A JP 2008219619A JP 2007056056 A JP2007056056 A JP 2007056056A JP 2007056056 A JP2007056056 A JP 2007056056A JP 2008219619 A JP2008219619 A JP 2008219619A
Authority
JP
Japan
Prior art keywords
authentication
distributed
random number
token device
secret key
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.)
Withdrawn
Application number
JP2007056056A
Other languages
Japanese (ja)
Inventor
Arata Noguchi
新 野口
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007056056A priority Critical patent/JP2008219619A/en
Publication of JP2008219619A publication Critical patent/JP2008219619A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent illegal access to a database that is made accessible by authentication using information recorded in a token device, without reducing easiness of system construction due to performing the authentication using the information recorded in the token device. <P>SOLUTION: When there is an Init command, a terminal device reads a private key and a random number n1 recorded in a token device 104 using a multiplexer 402 and generates multiplexed data by multiplexing the read private key and random number n1. Shares d1, d2 are then generated by performing distributed encoding upon the generated multiplexed data using a distributed encoder 403. Between the generated shares d1, d2, the share d1 is outputted to the token device 104 and the share d2 is written on an HD 205. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

この発明は、公開鍵暗号方式により認証をおこなう認証装置、認証方法及び認証プログラムに関する。   The present invention relates to an authentication apparatus, an authentication method, and an authentication program for performing authentication by a public key cryptosystem.

近年、たとえば特定の部屋や建物における入退出状況の管理、企業における顧客情報の管理、クレジットカードやキャッシュカードを利用した決算内容の管理など、管理される情報の秘匿が要求される状況下において、管理にかかわる情報が正しい情報であるか否かの認証をおこなう認証システムを導入するケースが増えている。   In recent years, for example, management of customer information in a specific room or building, management of customer information in a company, management of financial results using a credit card or cash card, etc. An increasing number of cases introduce authentication systems that authenticate whether or not information related to management is correct.

一般的な認証技術である公開鍵暗号方式により認証をおこなう認証システムにおいては、認証に際して秘密鍵を用いる。このような認証システムでは、システム構築の容易性が高いことから、たとえばUSBトークンやICカードなどのトークンデバイスに秘密鍵を格納することが多い。秘密鍵としては、偽造防止を目的として、予測不可能なデータであってトークンデバイスの所有者本人も知り得ないデータが使用される。   In an authentication system that performs authentication by a public key cryptosystem that is a general authentication technique, a secret key is used for authentication. In such an authentication system, since the system construction is easy, for example, a secret key is often stored in a token device such as a USB token or an IC card. As the secret key, for the purpose of preventing forgery, unpredictable data that cannot be known by the owner of the token device is used.

従来では、たとえば、PKI(Public Key Infrastructure)方式に基づいて生成した秘密鍵および公開鍵を、外部から読み出し不可能な書き込み専用領域を備える記憶部に書き込み、外部から入力された被認証情報が認証された場合に上記記憶部に書き込まれた秘密鍵を用いて所定のセキュリティ処理をおこなうことにより、秘密鍵の不正取得を防止するようにした技術があった(たとえば、下記特許文献1を参照。)。   Conventionally, for example, a secret key and a public key generated based on a public key infrastructure (PKI) method are written in a storage unit having a write-only area that cannot be read from the outside, and the authentication information input from the outside is authenticated. In such a case, there is a technique for preventing unauthorized acquisition of the secret key by performing predetermined security processing using the secret key written in the storage unit (see, for example, Patent Document 1 below). ).

また、従来では、たとえば、ランダムに分割された電子データのうちの一方の電子データを自装置が備える記憶媒体に残し他方の電子データを外部記憶媒体に保存するとともに、電子データの分割の仕方を記録した分割マップを自装置または外部記憶媒体に記録保存することにより、電子データの流出の危険性を回避するようにした技術があった(たとえば、下記特許文献2を参照。)。   Conventionally, for example, one electronic data among randomly divided electronic data is left in a storage medium provided in the device, and the other electronic data is stored in an external storage medium. There has been a technique for avoiding the risk of leakage of electronic data by recording and saving the recorded divided map in its own device or an external storage medium (see, for example, Patent Document 2 below).

特開2004−266360号公報JP 2004-266360 A 特開2006−221259号公報JP 2006-221259 A

しかしながら、認証に際してトークンデバイスに格納した秘密鍵を用いる従来の技術においては、認証に用いる秘密鍵をトークンデバイスから端末側に読み出す際にトークンデバイスと端末とを接続する通信回線上を生の秘密鍵が流れることとなるため、秘密鍵が通信回線上にある間に複写(スキミング)されるなどして盗難される可能性があった。   However, in the conventional technology that uses the secret key stored in the token device for authentication, the raw secret key is used on the communication line connecting the token device and the terminal when the secret key used for authentication is read from the token device to the terminal side. Therefore, the secret key may be stolen by being copied (skimmed) while it is on the communication line.

そして、秘密鍵が盗難された場合、盗難された秘密鍵および認証システムに接続可能な端末を用いて、秘密鍵の正当な保持者ではない第3者が、本来厳密な管理が必要であるデータベースなどに不正にアクセスできてしまうという問題があった。   If a secret key is stolen, a third party who is not a legitimate holder of the secret key, using a stolen secret key and a terminal that can be connected to the authentication system, originally needs strict management. There was a problem that could be accessed illegally.

また、上述した従来の技術において、インターネットに接続されたPCなどのような任意の端末を含む認証システムを構築した場合、秘密鍵を記録したトークンデバイスが装着された端末がサーバにアクセス可能となるため、たとえば正当なアクセス権利を有する利用者がトークンデバイスを紛失すると、当該トークンデバイスを入手した第3者が正当なアクセス権利がないままでデータベースに不正にアクセスできてしまうという問題があった。   Further, in the above-described conventional technique, when an authentication system including an arbitrary terminal such as a PC connected to the Internet is constructed, a terminal equipped with a token device that records a secret key can access the server. Therefore, for example, when a user who has a legitimate access right loses the token device, there is a problem that a third party who obtains the token device can illegally access the database without having a legitimate access right.

このような場合、紛失したトークンデバイスに記録されていた秘密鍵を無効とし、あらたな秘密鍵に交換する処理(初期化)を実施するまでの間、正当なアクセス権利のない第3者がデータベースに不正にアクセスする可能性があるという問題があった。   In such a case, a third party who does not have a valid access right until the process (initialization) for invalidating the secret key recorded in the lost token device and exchanging it with a new secret key is performed by the database. There was a problem that could be accessed illegally.

上記の不具合を回避して秘密鍵を安全に管理するためにはトークンデバイス内で認証をおこなうことが望ましいが、この方法では認証をおこなうためのプログラムやデータなどをトークンデバイス内に格納しておく必要があり、これらのプログラムやデータなどを格納できる容量をもったメモリをトークンデバイスに確保しなくてはならないため実現性が低いという問題があった。   It is desirable to perform authentication within the token device in order to avoid the above problems and securely manage the private key. However, with this method, programs and data for authentication are stored in the token device. There is a problem that it is not feasible because the token device must secure a memory having a capacity capable of storing these programs and data.

また、上述した特許文献1に記載された技術では、外部から読み出し不可能な書き込み専用領域を備え、秘密鍵および公開鍵を書き込むための記憶部が必要であり、当該記憶部を設けることによりシステム構築の容易性が低下するという問題があった。   In addition, the technique described in Patent Document 1 described above requires a storage unit that has a write-only area that cannot be read from the outside and writes a secret key and a public key. There was a problem that the ease of construction was reduced.

また、一般的に秘密鍵をあらわす情報量は数バイトから100バイト程度であるため、上述した特許文献2に記載された技術を用いても、一部の分割データを用いて秘密鍵を復元することが可能となり、秘匿性を確保できないという問題があった。   In general, since the amount of information representing a secret key is about several bytes to 100 bytes, the secret key is restored using a part of the divided data even if the technique described in Patent Document 2 described above is used. There is a problem that confidentiality cannot be secured.

この発明は、上述した従来技術による問題点を解消するため、トークンデバイスに記録された情報を用いて認証をおこなうことによるシステム構築の容易性を低下させることなく、トークンデバイスに記録された情報を用いた認証によりアクセス可能となるデータベースへの不正なアクセスを防止することができる認証装置、認証方法及び認証プログラムを提供することを目的とする。   In order to solve the above-described problems caused by the prior art, the present invention can record information recorded in the token device without reducing the ease of system construction by performing authentication using the information recorded in the token device. An object of the present invention is to provide an authentication apparatus, an authentication method, and an authentication program that can prevent unauthorized access to a database that can be accessed by the used authentication.

上述した課題を解決し、目的を達成するため、この発明にかかる認証装置は、公開鍵暗号方式により認証をおこなう認証装置において、乱数を生成し、トークンデバイスからの秘密鍵と生成された乱数とを多重化し、得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データを前記トークンデバイスに出力するとともに、残余の分散符号化データを前記トークンデバイス以外の他のデバイスに書き込むことを特徴とする。   In order to solve the above-described problems and achieve the object, an authentication apparatus according to the present invention generates a random number in an authentication apparatus that performs authentication by a public key cryptosystem, and generates a secret key from a token device, a generated random number, Is multiplexed, and the obtained multiplexed data is distributed and encoded, and a part of the distributed encoded data obtained by the distributed encoding is output to the token device, and the remaining distributed encoded data is output to the token. It is characterized by writing to a device other than the device.

この発明によれば、各々単体では意味をもたない分散符号化データを、トークンデバイスおよび他のデバイスに分散して記録することができる。   According to the present invention, distributed encoded data each having no meaning can be distributed and recorded in the token device and other devices.

また、この発明にかかる認証装置は、上記の認証装置において、前記トークンデバイスに出力された一部の分散符号化データと前記他のデバイスに書き込まれた残余の分散符号化データとを読み込んで、前記多重化データに復号し、復号された多重化データから前記秘密鍵を抽出し、抽出された秘密鍵を用いて認証をおこなうことを特徴とする。   Further, in the authentication apparatus according to the present invention, in the above authentication apparatus, a part of the distributed encoded data output to the token device and the remaining distributed encoded data written to the other device are read, Decrypting the multiplexed data, extracting the secret key from the decrypted multiplexed data, and performing authentication using the extracted secret key.

この発明によれば、トークンデバイスと他のデバイスとを1対1に対応付け、トークンデバイスに記録された一部の分散符号化データと他のデバイスに記録された残余の分散符号化データとの双方が揃った場合に限って秘密鍵を抽出することができる。   According to the present invention, a token device and another device are associated with each other in one-to-one correspondence, and a part of the distributed encoded data recorded in the token device and the remaining distributed encoded data recorded in the other device The secret key can be extracted only when both are available.

また、この発明にかかる認証装置は、上記の認証装置において、前記秘密鍵が抽出された場合、乱数をあらたに生成し、抽出された秘密鍵とあらたに生成された乱数とを多重化し、あらたに得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データを前記トークンデバイスに出力するとともに、残余の分散符号化データを前記他のデバイスに書き込むことを特徴とする。   In the authentication device according to the present invention, when the secret key is extracted, the authentication device newly generates a random number, multiplexes the extracted secret key and the newly generated random number, The distributed data obtained in the above is distributedly encoded, a part of the distributed encoded data obtained by the distributed encoding is output to the token device, and the remaining distributed encoded data is output to the other device. It is characterized by writing.

この発明によれば、毎回異なる分散符号化データを用いて秘密鍵の抽出をおこなうことができる。   According to the present invention, it is possible to extract a secret key using different distributed encoded data every time.

また、この発明にかかる認証装置は、上記の認証装置において、前記他のデバイスが、前記認証装置内部のデバイスであることを特徴とする。   The authentication apparatus according to the present invention is characterized in that, in the authentication apparatus, the other device is a device inside the authentication apparatus.

この発明によれば、トークンデバイスと認証装置とを1対1に対応付けることができる。   According to the present invention, a token device and an authentication device can be associated with each other on a one-to-one basis.

また、この発明にかかる認証装置は、上記の認証装置において、前記他のデバイスが、前記認証装置外部のデバイスであることを特徴とする。   The authentication apparatus according to the present invention is characterized in that, in the above authentication apparatus, the other device is a device outside the authentication apparatus.

この発明によれば、トークンデバイスと他のデバイスとを1対1に対応付けることができる。   According to the present invention, a token device and another device can be associated with each other on a one-to-one basis.

また、この発明にかかる認証装置は、上記の認証装置において、秘密分散法により前記分散符号化をおこなうことを特徴とする。   An authentication apparatus according to the present invention is characterized in that in the above authentication apparatus, the distributed encoding is performed by a secret sharing method.

この発明によれば、トークンデバイスまたは他のデバイスに記録された分散符号化データのみを用いての秘密鍵の抽出を防止することができる。   According to the present invention, it is possible to prevent the secret key from being extracted using only the distributed encoded data recorded in the token device or other devices.

この発明によれば、仮にトークンデバイスまたは他のデバイスに記録された分散符号化データがスキミングされ、正当な使用者より早く使用された場合には、正当な使用者が認証に失敗するため、早期にデータ盗難を発見することができる。   According to the present invention, if the distributed encoded data recorded in the token device or another device is skimmed and used earlier than the authorized user, the authorized user fails in authentication. You can discover data theft.

また、この発明にかかる認証方法および認証プログラムは、公開鍵暗号方式により認証をおこなう際に、乱数を生成し、トークンデバイスからの秘密鍵と生成された乱数とを多重化し、得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データを前記トークンデバイスに出力するとともに、残余の分散符号化データを前記トークンデバイス以外の他のデバイスに書き込むことを特徴とする。   The authentication method and the authentication program according to the present invention generate a random number when authenticating by a public key cryptosystem, multiplex the secret key from the token device and the generated random number, and obtain the multiplexed Perform distributed encoding of data, output a part of the distributed encoded data obtained by the distributed encoding to the token device, and write the remaining distributed encoded data to another device other than the token device It is characterized by.

この発明によれば、各々単体では意味をもたない分散符号化データを、トークンデバイスおよび他のデバイスに分散して記録することができる。   According to the present invention, distributed encoded data each having no meaning can be distributed and recorded in the token device and other devices.

本発明にかかる認証装置、認証方法及び認証プログラムによれば、トークンデバイスに記録された情報を用いて認証をおこなうことによるシステム構築の容易性を低下させることなく、トークンデバイスに記録された情報を用いた認証によりアクセス可能となるデータベースへの不正なアクセスを防止することができるという効果を奏する。   According to the authentication apparatus, the authentication method, and the authentication program according to the present invention, the information recorded in the token device is reduced without reducing the ease of system construction by performing authentication using the information recorded in the token device. There is an effect that it is possible to prevent unauthorized access to a database that can be accessed by the used authentication.

以下に添付図面を参照して、この発明にかかる認証装置、認証方法及び認証プログラムの好適な実施の形態を詳細に説明する。   Exemplary embodiments of an authentication device, an authentication method, and an authentication program according to the present invention will be described below in detail with reference to the accompanying drawings.

(認証システムのシステム構成)
まず、この発明の実施の形態にかかる認証システムのシステム構成について説明する。図1は、この発明の実施の形態にかかる認証システムのシステム構成図である。図1において、認証システム100は、インターネットなどの通信網を介して互いに通信可能に接続される複数のコンピュータ装置によって実現される。
(System configuration of authentication system)
First, the system configuration of the authentication system according to the embodiment of the present invention will be described. FIG. 1 is a system configuration diagram of an authentication system according to an embodiment of the present invention. In FIG. 1, the authentication system 100 is realized by a plurality of computer devices that are communicably connected to each other via a communication network such as the Internet.

複数のコンピュータ装置は、それぞれ、サーバとなるコンピュータ装置(以下、「サーバ」という。)101、および、ホストコンピュータあるいはクライアントとなるコンピュータ装置(以下、「端末装置」という)102であり、LAN,WAN,インターネットなどのネットワーク110に接続されることにより互いに通信可能とされている。   The plurality of computer devices are a computer device (hereinafter referred to as “server”) 101 serving as a server and a computer device (hereinafter referred to as “terminal device”) 102 serving as a host computer or a client, and includes LAN, WAN. , And can communicate with each other by being connected to a network 110 such as the Internet.

認証システム100において、端末装置102は複数設けられている。認証システム100においては、認証システム100の管理者などが設定した任意の端末装置102がホストコンピュータとなり、それ以外の端末装置102はクライアントとなる。ホストコンピュータとなる端末装置102(図3における符号102aを参照)は、クライアントとなる端末装置102(図3における符号102bを参照)に対する各種のコマンドを発行することが可能となる(下記図4〜7を参照)。   In the authentication system 100, a plurality of terminal devices 102 are provided. In the authentication system 100, an arbitrary terminal device 102 set by the administrator of the authentication system 100 is a host computer, and the other terminal devices 102 are clients. The terminal device 102 serving as a host computer (see reference numeral 102a in FIG. 3) can issue various commands to the terminal device 102 serving as a client (see reference numeral 102b in FIG. 3) (FIGS. 4 to 4 below). 7).

なお、ホストコンピュータとなる端末装置102は、クライアントとなる端末装置102との間で通信可能であればよく、ホストコンピュータとなる端末装置102とクライアントとなる端末装置102とはインターネットなどの通信網を介さず、USBケーブルなどを介して直接接続されていてもよい。また、ホストコンピュータとなる端末装置102は、ホストコンピュータとしての機能に加えて、クライアントとしての機能を備えていてもよい。   Note that the terminal device 102 serving as the host computer only needs to be able to communicate with the terminal device 102 serving as the client. The terminal device 102 serving as the host computer and the terminal device 102 serving as the client are connected to a communication network such as the Internet. It may be directly connected via a USB cable or the like without being interposed. Further, the terminal device 102 serving as a host computer may have a function as a client in addition to a function as a host computer.

認証システム100においては、クライアントとなる端末装置102がサーバ101に対してアクセス要求をおこなった場合に、当該端末装置102がサーバ101に対するアクセス権を有する端末装置102であるか否かを認証する。認証システム100における認証は、公開鍵暗号方式によっておこなわれる。公知の技術であるため説明を省略するが、公開鍵暗号方式とは、公開鍵を用いてデータの暗号化をおこない、暗号化されたデータを秘密鍵を用いて復号する暗号方式である。   In the authentication system 100, when the terminal device 102 serving as a client makes an access request to the server 101, it is authenticated whether the terminal device 102 is a terminal device 102 having an access right to the server 101. Authentication in the authentication system 100 is performed by a public key cryptosystem. The public key cryptosystem is an encryption scheme in which data is encrypted using a public key and the encrypted data is decrypted using a secret key.

本実施の形態において、認証システム100を利用する利用者の公開鍵は、あらかじめサーバ101に登録されており、当該公開鍵と対をなす秘密鍵はトークンデバイス104に書き込まれた状態で各利用者に配布されているものとする。サーバ101およびトークンデバイス104には、登録された公開鍵と当該公開鍵と対をなす秘密鍵とが互いに対応付けられた状態で記憶されている。また本実施の形態において、サーバ101およびトークンデバイス104間においては、対をなす公開鍵および秘密鍵を用いて暗号化/復号をおこなう利用者のユーザ名(識別情報)が共有されている。   In the present embodiment, the public key of the user who uses the authentication system 100 is registered in the server 101 in advance, and the secret key paired with the public key is written in the token device 104 for each user. It is assumed that it is distributed to. The server 101 and the token device 104 store a registered public key and a secret key that is paired with the public key in a state of being associated with each other. In the present embodiment, the server 101 and the token device 104 share the user name (identification information) of the user who performs encryption / decryption using a paired public key and secret key.

サーバ101は、たとえばプロバイダや所定の管理会社などによって管理されるコンピュータ装置である。端末装置102は、たとえば企業の受け付けなどの事務処理を担当する事務課や個人の所有するパーソナル・コンピュータなどによって実現されるコンピュータ装置である。   The server 101 is a computer device managed by, for example, a provider or a predetermined management company. The terminal device 102 is a computer device realized by, for example, an office section in charge of office processing such as company reception or a personal computer owned by an individual.

また、サーバ101は、たとえば住所・氏名・電話番号・嗜好などの個人情報や、業績・取引会社・業務(研究)内容など、不特定多数に公開することを目的としないデータを記録するデータベース103を備えている。データベース103には、他に、上記のユーザ名(識別情報)、公開鍵、および秘密鍵が関連付けて記憶されている。   In addition, the server 101 is a database 103 that records data that is not intended to be disclosed to an unspecified number of people, such as personal information such as addresses, names, telephone numbers, and preferences, and business results, trading companies, and business (research) contents. It has. In addition, the database 103 stores the above user name (identification information), public key, and secret key in association with each other.

各端末装置102は、トークンデバイス104が脱離自在に装着されるインターフェース(以下、「I/F」という)を備えている(図2における符号214を参照)。トークンデバイス104は、たとえばUSBトークンやICカードなどによって実現することができる。公知の技術であるため説明を省略するが、USBトークンやICカードなどのトークンデバイス104は、ICチップを備えている。   Each terminal device 102 includes an interface (hereinafter referred to as “I / F”) to which the token device 104 is detachably attached (see reference numeral 214 in FIG. 2). The token device 104 can be realized by, for example, a USB token or an IC card. Although the description is omitted because it is a known technique, the token device 104 such as a USB token or an IC card includes an IC chip.

ICチップには、I/Fにおけるコネクタピンを介して端末装置102との間でデータをやり取りする接点が設けられている。また、ICチップには、接点を介して入力された任意のデータを消去可能に記録するメモリが確保されている。メモリには、公開鍵暗号方式にしたがった認証に用いる秘密鍵が記録されている。ここで、秘密鍵とは、公開鍵暗号方式にしたがった認証に用いる秘密鍵をあらわす情報であり、サーバ101にアクセスする場合に用いられる情報である。   The IC chip is provided with a contact for exchanging data with the terminal device 102 via a connector pin in the I / F. Further, the IC chip has a memory for erasable recording of arbitrary data input via the contacts. In the memory, a secret key used for authentication according to the public key cryptosystem is recorded. Here, the secret key is information representing a secret key used for authentication according to the public key cryptosystem, and is information used when accessing the server 101.

トークンデバイス104は、端末装置102から出力されたコマンドに応じて、ICチップにおけるメモリにデータを記録したり、メモリに記録されたデータを端末装置102へ送出したり、メモリに記録されたデータを消去したりする。   In response to the command output from the terminal device 102, the token device 104 records data in the memory in the IC chip, sends the data recorded in the memory to the terminal device 102, and stores the data recorded in the memory. Or erase.

認証システム100においては、たとえばデータベース103に記録されたデータを端末装置102において閲覧する場合など、サーバ101と端末装置102との間で接続を確立する要求が発生した場合に、接続を確立しようとする端末装置102がサーバ101に対する正式なアクセス権利を有するか否かが認証される。   The authentication system 100 tries to establish a connection when a request for establishing a connection between the server 101 and the terminal device 102 occurs, for example, when the data recorded in the database 103 is viewed on the terminal device 102. It is authenticated whether or not the terminal device 102 to be authorized has a proper access right to the server 101.

(コンピュータ装置のハードウェア構成)
つぎに、図1に示したコンピュータ装置のハードウェア構成について説明する。図2は、図1に示したコンピュータ装置のハードウェア構成を示すブロック図である。図2において、サーバ101となるコンピュータ装置は、CPU201と、ROM202と、RAM203と、HDD(ハードディスクドライブ)204と、HD(ハードディスク)205と、FDD(フレキシブルディスクドライブ)206と、FD(フレキシブルディスク)207と、ディスプレイ208と、通信I/F(インターフェース)209と、キーボード210と、マウス211と、スキャナ212と、プリンタ213と、トークンデバイス104用のI/F214と、を備えている。各構成部201〜214は、バス200によってそれぞれ接続されている。
(Hardware configuration of computer device)
Next, the hardware configuration of the computer apparatus shown in FIG. 1 will be described. FIG. 2 is a block diagram showing a hardware configuration of the computer apparatus shown in FIG. In FIG. 2, the computer apparatus serving as the server 101 includes a CPU 201, a ROM 202, a RAM 203, an HDD (hard disk drive) 204, an HD (hard disk) 205, an FDD (flexible disk drive) 206, and an FD (flexible disk). 207, a display 208, a communication I / F (interface) 209, a keyboard 210, a mouse 211, a scanner 212, a printer 213, and an I / F 214 for the token device 104. Each component 201 to 214 is connected by a bus 200.

ここで、CPU201は、コンピュータ装置の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。HDD204は、CPU201の制御にしたがってHD205に対するデータのリード/ライトを制御する。HDD204は、コンピュータ装置の電源のON/OFFに拘わらず、記録された情報を保持する。HDD204に記録された情報は、所定のコマンドによって消去される以外には記録されつづける。本実施の形態においては、端末装置102におけるHD205によって他のデバイスの一例を実現することができる。   Here, the CPU 201 controls the entire computer apparatus. The ROM 202 stores a program such as a boot program. The RAM 203 is used as a work area for the CPU 201. The HDD 204 controls data read / write with respect to the HD 205 according to the control of the CPU 201. The HDD 204 holds the recorded information regardless of whether the power of the computer device is on or off. The information recorded in the HDD 204 is continuously recorded except for being erased by a predetermined command. In the present embodiment, an example of another device can be realized by the HD 205 in the terminal apparatus 102.

FDD206は、CPU201の制御にしたがってFD207に対するデータのリード/ライトを制御する。FD207は、FDD206の制御で書き込まれたデータを記憶したり、FD207に記憶されたデータをコンピュータ装置に読み取らせたりする。FD207は、コンピュータ装置の電源のON/OFFに拘わらず記録された情報を保持し、所定のコマンドによって消去される以外には記録された情報を記録しつづける。このため、本実施の形態においては、端末装置102に着脱自在なFD207によって他のデバイスの一例を実現することもできる。   The FDD 206 controls reading / writing of data with respect to the FD 207 according to the control of the CPU 201. The FD 207 stores data written under the control of the FDD 206 or causes the computer device to read data stored in the FD 207. The FD 207 holds the recorded information regardless of whether the power of the computer apparatus is turned on or off, and continues to record the recorded information except for being erased by a predetermined command. Therefore, in the present embodiment, an example of another device can be realized by the FD 207 that is detachable from the terminal apparatus 102.

また、着脱可能な記録媒体として、FD207のほか、CD−ROM(CD−R、CD−RW)、MO、DVD(Digital Versatile Disk)、メモリーカードなどであってもよい。ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。   In addition to the FD 207, the removable recording medium may be a CD-ROM (CD-R, CD-RW), MO, DVD (Digital Versatile Disk), memory card, or the like. The display 208 displays data such as a document, an image, and function information as well as a cursor, an icon, or a tool box. As the display 208, for example, a CRT, a TFT liquid crystal display, a plasma display, or the like can be adopted.

通信I/F209は、通信回線を通じてインターネットなどのネットワーク110に接続され、このネットワーク110を介して他の装置に接続される。そして、通信I/F209は、ネットワーク110と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。通信I/F209には、たとえばモデムやLANアダプタなどを採用することができる。   The communication I / F 209 is connected to a network 110 such as the Internet through a communication line, and is connected to other devices via the network 110. The communication I / F 209 controls an internal interface with the network 110 and controls data input / output from an external device. As the communication I / F 209, for example, a modem or a LAN adapter can be employed.

キーボード210は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス211は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。   The keyboard 210 includes keys for inputting characters, numbers, various instructions, and the like, and inputs data. Moreover, a touch panel type input pad or a numeric keypad may be used. The mouse 211 performs cursor movement, range selection, window movement, size change, and the like. A trackball or a joystick may be used as long as they have the same function as a pointing device.

スキャナ212は、画像を光学的に読み取り、コンピュータ装置内に画像データを取り込む。なお、スキャナ212は、OCR機能をもたせてもよい。また、プリンタ213は、画像データや文書データを印刷する。プリンタ213には、たとえば、レーザプリンタやインクジェットプリンタを採用することができる。   The scanner 212 optically reads an image and takes in the image data into the computer apparatus. The scanner 212 may have an OCR function. The printer 213 prints image data and document data. As the printer 213, for example, a laser printer or an ink jet printer can be employed.

トークンデバイス104に記録されたデータは、トークンデバイス104が端末装置102に装着され、トークンデバイス104が端末装置102のI/F214に接続されたことがCPU201によって認識された場合に読み取り可能となる。また、トークンデバイス104が端末装置102に装着され、トークンデバイス104がI/F214に接続されたことがCPU201によって認識された場合に、端末装置102によるトークンデバイス104へのデータの記録が可能になる。   The data recorded in the token device 104 can be read when the CPU 201 recognizes that the token device 104 is attached to the terminal device 102 and the token device 104 is connected to the I / F 214 of the terminal device 102. In addition, when the token device 104 is attached to the terminal device 102 and the CPU 201 recognizes that the token device 104 is connected to the I / F 214, the terminal device 102 can record data on the token device 104. .

(認証システム100の概略構成)
つぎに、図1に示した認証システム100の概略構成について説明する。図3は、認証システム100の概略構成を示すブロック図である。図3においては、認証システム100においておこなわれる認証にかかわる各部が示されている。図3において、認証システム100における端末装置102は、鍵管理部301、認証部302、コマンド処理部303を備えている。
(Schematic configuration of authentication system 100)
Next, a schematic configuration of the authentication system 100 shown in FIG. 1 will be described. FIG. 3 is a block diagram illustrating a schematic configuration of the authentication system 100. In FIG. 3, each part related to the authentication performed in the authentication system 100 is shown. In FIG. 3, the terminal device 102 in the authentication system 100 includes a key management unit 301, an authentication unit 302, and a command processing unit 303.

図3において、端末装置102のHD205は他のデバイスとして機能し、端末装置102のFD207は外部のデバイスとして機能する。認証部302は、通信I/F209を介してサーバ101との間で通信をおこなう。コマンド処理部303は、I/F214を介してホストコンピュータとなる端末装置102aとの間で通信をおこなう。   In FIG. 3, the HD 205 of the terminal apparatus 102 functions as another device, and the FD 207 of the terminal apparatus 102 functions as an external device. The authentication unit 302 communicates with the server 101 via the communication I / F 209. The command processing unit 303 communicates with the terminal device 102a serving as a host computer via the I / F 214.

鍵管理部301は、乱数を生成し、トークンデバイス104からの秘密鍵と生成された乱数とを多重化し、得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データをトークンデバイス104に出力するとともに、残余の分散符号化データをトークンデバイス104以外の他のデバイスに書き込む。これによって、各々単体では意味をもたない分散符号化データを、トークンデバイス104および端末装置102におけるHD205に分散して記録することができる。   The key management unit 301 generates a random number, multiplexes the secret key from the token device 104 and the generated random number, performs distributed encoding of the obtained multiplexed data, and obtains the one obtained by the distributed encoding. Are output to the token device 104, and the remaining distributed encoded data is written to a device other than the token device 104. As a result, distributed encoded data each having no meaning can be distributed and recorded on the HD 205 in the token device 104 and the terminal device 102.

また、鍵管理部301は、トークンデバイス104に出力された一部の分散符号化データと端末装置102におけるHD205に書き込まれた残余の分散符号化データとを読み込んで上記多重化データに復号し、復号された多重化データから秘密鍵を抽出する。これによって、トークンデバイス104と端末装置102におけるHD205とを1対1に対応付け、トークンデバイス104に記録された一部の分散符号化データと端末装置102におけるHD205に記録された残余の分散符号化データとの双方が揃った場合に限って秘密鍵を抽出することができる。   In addition, the key management unit 301 reads a part of the distributed encoded data output to the token device 104 and the remaining distributed encoded data written in the HD 205 in the terminal device 102, decodes it into the multiplexed data, A secret key is extracted from the decrypted multiplexed data. As a result, the token device 104 and the HD 205 in the terminal device 102 are associated with each other in a one-to-one correspondence, and a part of the distributed encoded data recorded in the token device 104 and the remaining distributed encoding recorded in the HD 205 in the terminal device 102 A secret key can be extracted only when both data and data are available.

認証部302は、鍵管理部301によって抽出された秘密鍵を用いて認証をおこなう。公知の技術であるため秘密鍵を用いた認証については説明を省略するが、認証部302は、秘密鍵をパスワードとして用いて、トークンデバイス104が装着されている端末装置102がサーバ101にアクセス可能であるか否かの認証をおこなう。認証システム100においては、トークンデバイス104および端末装置102におけるHD205に分散して記録された分散符号化データを用いて得られる秘密鍵を用いることで認証にかかるセキュリティ性の向上を図ることができる。   The authentication unit 302 performs authentication using the secret key extracted by the key management unit 301. Description of authentication using a secret key is omitted because it is a known technique, but the authentication unit 302 can access the server 101 by the terminal device 102 to which the token device 104 is attached, using the secret key as a password. It authenticates whether or not. In the authentication system 100, it is possible to improve the security of authentication by using a secret key obtained by using distributed encoded data that is distributed and recorded in the HD 205 in the token device 104 and the terminal device 102.

秘密鍵は、トークンデバイス104を用いてサーバ101へのアクセスを試みる利用者自身も知り得ない情報であり、人間が予測することは不可能な情報である。認証部302は、認証の結果鍵管理部301によって抽出された秘密鍵が正しい秘密鍵である場合に、端末装置102における通信I/F209を介してサーバ101に対してアクセス要求を送信する。   The secret key is information that a user who tries to access the server 101 using the token device 104 cannot know, and cannot be predicted by a human. The authentication unit 302 transmits an access request to the server 101 via the communication I / F 209 in the terminal device 102 when the secret key extracted by the authentication key management unit 301 is a correct secret key.

サーバ101は、認証部302を介して端末装置102からアクセス要求が送信された場合に、端末装置102との接続を確立する処理をおこない、アクセス要求に応じた応答を端末装置102へ送信する。アクセス要求に応じた応答を端末装置102が受信した場合に、サーバ101と端末装置102との間での接続が確立され、端末装置102のサーバ101へのアクセスが可能となる。   When an access request is transmitted from the terminal device 102 via the authentication unit 302, the server 101 performs processing for establishing a connection with the terminal device 102, and transmits a response according to the access request to the terminal device 102. When the terminal device 102 receives a response corresponding to the access request, the connection between the server 101 and the terminal device 102 is established, and the terminal device 102 can access the server 101.

また、鍵管理部301は、秘密鍵が抽出された場合に、乱数をあらたに生成し、抽出された秘密鍵とあらたに生成された乱数とを多重化し、あらたに得られた多重化データの分散符号化をおこなうことにより、当該分散符号化により得られた一部の分散符号化データをトークンデバイス104に出力するとともに、残余の分散符号化データを端末装置102におけるHD205に書き込む。これによって、端末装置102は、毎回異なる分散符号化データを用いて秘密鍵を抽出することができる。   In addition, when the secret key is extracted, the key management unit 301 newly generates a random number, multiplexes the extracted secret key and the newly generated random number, and obtains the newly obtained multiplexed data. By performing the distributed encoding, a part of the distributed encoded data obtained by the distributed encoding is output to the token device 104, and the remaining distributed encoded data is written to the HD 205 in the terminal apparatus 102. As a result, the terminal apparatus 102 can extract the secret key using different distributed encoded data each time.

公知の技術であるため説明を省略するが、多重化データを生成する際に用いる多重化技術は、あらかじめ決められた所定の周波数帯域において多チャンネル通信を実現する技術として多数存在する。本実施の形態においては、たとえばTDM(Time Division Multiplex:時分割多重化)や、CDM(Code Division Multiplex:符号分割多重化)などの多重化技術を用いて多重化データを生成することができる。   Although the description is omitted because it is a known technique, there are many multiplexing techniques used for generating multiplexed data as a technique for realizing multi-channel communication in a predetermined frequency band determined in advance. In the present embodiment, multiplexed data can be generated using a multiplexing technique such as TDM (Time Division Multiplex) or CDM (Code Division Multiplex).

多重化データの生成に際しては、たとえば、秘密鍵と乱数とを用いて得られる排他論理和を多重化データとしてもよい。これによって、多重化データの生成にかかわる各部にかかる処理負担の軽減を図ることができる。   In generating multiplexed data, for example, exclusive OR obtained using a secret key and a random number may be used as multiplexed data. As a result, it is possible to reduce the processing burden on each unit involved in the generation of multiplexed data.

なお、本実施の形態における端末装置102は、たとえば一部の分散符号化データが複写(スキミング)された場合に、複写(スキミング)されたことが判明した時点であらたな分散符号化データを生成することにより、複写(スキミング)された分散符号化データを直ちに無効とすることができる。   Note that the terminal apparatus 102 in the present embodiment generates new distributed encoded data when it is determined that the distributed (skimmed) data has been copied, for example, when a part of the distributed encoded data is copied (skimmed). This makes it possible to immediately invalidate the distributed (skimmed) distributed encoded data.

コマンド処理部303は、端末装置102におけるI/F214を介して入力された情報に応じた各種コマンドを鍵管理部301に出力する。コマンド処理部303は、ホストコンピュータとなる端末装置102から出力されたコマンドを、鍵管理部301に出力する。コマンド処理部303から鍵管理部301に出力されるコマンドとしては、たとえば、生の秘密鍵を用いて分散符号化データを生成する処理を実行させるコマンド(以下、「Initコマンド」という)、生成された分散符号化データを用いてあらたな分散符号化データを生成する処理を実行させるコマンド(以下、「Createコマンド」という)、生成された分散符号化データの記録先を端末装置102におけるHD205から別のデバイスに変更する処理を実行させるコマンド(以下、「Moveコマンド」という)、変更された記録先から分散符号化データを取得する処理を実行させるコマンド(以下、「Setコマンド」という)などがある。   The command processing unit 303 outputs various commands corresponding to information input via the I / F 214 in the terminal device 102 to the key management unit 301. The command processing unit 303 outputs a command output from the terminal device 102 serving as a host computer to the key management unit 301. As a command output from the command processing unit 303 to the key management unit 301, for example, a command (hereinafter referred to as an “Init command”) for generating a process for generating distributed encoded data using a raw secret key is generated. A command for executing processing for generating new distributed encoded data using the distributed encoded data (hereinafter referred to as “Create command”), and the recording destination of the generated distributed encoded data is separated from the HD 205 in the terminal device 102. There are commands (hereinafter referred to as “Move command”) for executing processing to be changed to the device of the device, and commands (hereinafter referred to as “Set command”) for executing processing for acquiring distributed encoded data from the changed recording destination. .

(鍵管理部301の機能(その1))
つぎに、鍵管理部301の機能(その1)について詳細に説明する。図4は、鍵管理部301を示すブロック図(その1)である。図4においては、鍵管理部301が備える各部の中で、コマンド処理部303から鍵管理部301に対してInitコマンドが入力された場合に実現されるInit機能にかかわる各部を示している。
(Function of Key Management Unit 301 (Part 1))
Next, the function (part 1) of the key management unit 301 will be described in detail. FIG. 4 is a block diagram (part 1) illustrating the key management unit 301. In FIG. 4, among the units included in the key management unit 301, the units related to the Init function realized when an Init command is input from the command processing unit 303 to the key management unit 301 are illustrated.

図4において、鍵管理部301は、乱数生成部401、多重化部402、および分散符号化部403を備え、これらの各部401〜403を用いてInit機能を実現する。乱数生成部401は、任意の乱数を生成し、生成した乱数を多重化部402へ出力する。多重化部402は、トークンデバイス104に記録された秘密鍵と乱数生成部401から出力された乱数n1とを用いて、秘密鍵と乱数n1とを多重化した多重化データを生成する。   4, the key management unit 301 includes a random number generation unit 401, a multiplexing unit 402, and a distributed encoding unit 403, and implements the Init function using these units 401 to 403. The random number generation unit 401 generates an arbitrary random number and outputs the generated random number to the multiplexing unit 402. The multiplexing unit 402 uses the secret key recorded in the token device 104 and the random number n1 output from the random number generation unit 401 to generate multiplexed data obtained by multiplexing the secret key and the random number n1.

分散符号化部403は、多重化部402によって生成された多重化データを用いて分散符号化データであるシェアd1、d2を生成する。分散符号化部403による符号化方式は、下記の分散復号部(図4〜図6における符号601を参照)において復号可能な方式にしたがっておこなわれるものであって、かつ、個々のシェアd1またはd2では元の秘密鍵を復元することが不可能な方式であればよい。   The distributed encoding unit 403 generates shares d1 and d2 that are distributed encoded data using the multiplexed data generated by the multiplexing unit 402. The encoding method by the distributed encoding unit 403 is performed according to a method that can be decoded by the following distributed decoding unit (see reference numeral 601 in FIGS. 4 to 6), and each share d1 or d2 Then, any method that cannot restore the original secret key may be used.

具体的に、本実施の形態における分散符号化部403は、秘密分散法を用いてシェアd1、d2を生成する。ここで、秘密分散法とは、秘密情報(ここでは秘密鍵を含む多重化データ)を複数の分散符号化データに分け、分散させることにより秘密情報を秘匿するようにした暗号方式である。   Specifically, distributed encoding section 403 in the present embodiment generates shares d1 and d2 using a secret sharing method. Here, the secret sharing method is an encryption method in which secret information (here, multiplexed data including a secret key) is divided into a plurality of distributed encoded data and distributed to conceal the secret information.

公知の技術であるため秘密分散法についての説明を省略するが、秘密分散法によれば、各々同じデータサイズになるように複数生成した分散符号化データのうち、所定の数の分散符号化データが揃った場合のみ秘密情報を復元することが可能となり、所定の数の分散符号化データが揃わない場合には秘密情報を復元することはできない。秘密情報の復元を可能とする所定の数は、任意に設定することができる。   Description of the secret sharing method is omitted because it is a known technique, but according to the secret sharing method, a predetermined number of distributed encoded data among a plurality of distributed encoded data generated to have the same data size. It is possible to restore the secret information only when the information is prepared, and it is not possible to restore the secret information when the predetermined number of distributed encoded data is not prepared. The predetermined number that makes it possible to restore the secret information can be arbitrarily set.

たとえば、分散符号化部403によって任意に設定されるk個の分散符号化データを用いて復元可能なn個(ただし、n≧k)のシェアを生成する場合、生成された複数のシェアのうちk’個(ただし、k’<k)の分散符号化データをトークンデバイス104に記録させた場合、トークンデバイス104に記録されたシェアが複写(スキミング)された場合にも、複写(スキミング)したシェアのみでは多重化データ(秘密鍵を含む多重化データ)への復号が不可能であるので、認証にかかるセキュリティ性の向上を図ることができる。   For example, when generating n shares (where n ≧ k) that can be restored using k pieces of distributed encoded data arbitrarily set by the distributed encoding unit 403, among the generated shares When k ′ (where k ′ <k) distributed encoded data is recorded in the token device 104, even when the share recorded in the token device 104 is copied (skimmed), it is copied (skimmed). Since it is impossible to decrypt the multiplexed data (multiplexed data including the secret key) only by sharing, it is possible to improve the security for authentication.

すなわち、トークンデバイス104に記録させるシェアの個数を、多重化データへの復号が可能となるk個のシェアよりも少ないk’個とすることにより、トークンデバイス104に記録されたシェアが複写(スキミング)された場合にも、複写(スキミング)したシェアのみでは多重化データの復元が不可能であるので、認証にかかるセキュリティ性の向上を図ることができる。   That is, by setting the number of shares to be recorded in the token device 104 to k ′ smaller than k shares that can be decoded into multiplexed data, the shares recorded in the token device 104 are copied (skimming). ), It is impossible to restore the multiplexed data only with the copied (skimmed) share, so that the security of authentication can be improved.

秘密分散法においては、分割された後の個々のデータのデータサイズを任意に指定したり、分割された後の個々のデータのデータサイズをそれぞれ異ならせたりすることができる。また、秘密分散法においては、上記のようにしきい値kによって決められるk個の分散符号化データを集めることにより秘密情報を復元することができる方法(しきい値法)に代えて、秘密情報を復元できる/できない集合を任意に定め、復元できる集合を集めた場合に秘密情報を復元することができる方法(一般アクセス構造に対する秘密分散法)を用いてもよい。   In the secret sharing method, the data size of individual data after division can be arbitrarily designated, or the data size of individual data after division can be made different. Further, in the secret sharing method, instead of the method (threshold method) in which the secret information can be restored by collecting k pieces of distributed encoded data determined by the threshold k as described above, the secret information It is also possible to use a method (a secret sharing method for a general access structure) that can arbitrarily set a set that can / cannot be restored and restore secret information when a set that can be restored is collected.

上記の一般アクセス構造に対する秘密分散法によれば、n個の分散符号化データのうち、指定された分散符号化データの部分集合からは秘密情報を復号することができ、それ以外の分散情報の組合せからは秘密情報に関する情報が一切もれないようにすることができる。分散符号化に際して秘密分散法を用いることにより、秘密情報の秘匿性を確保することができる。   According to the secret sharing method for the general access structure described above, secret information can be decoded from a specified subset of distributed encoded data among n distributed encoded data, and other shared information It is possible to prevent any information relating to confidential information from being stored. By using the secret sharing method at the time of distributed encoding, the confidentiality of the secret information can be ensured.

上記の分散符号化部403は、シェアd1、d2を生成した後、生成されたシェアd1、d2のうち一部の分散符号化データであるシェアd1をトークンデバイス104に出力し、残余の分散符号化データであるシェアd2を端末装置102におけるHD205に記録する。これによって、各々単体では意味をもたないシェアd1、d2を、トークンデバイス104および端末装置102におけるHD205に分散して記録することができる。   The distribution encoding unit 403 generates the shares d1 and d2, and then outputs a share d1 that is a part of the generated distributions d1 and d2 to the token device 104 to generate the remaining distribution codes. The share d2 that is the digitized data is recorded in the HD 205 in the terminal device 102. As a result, the shares d1 and d2 that have no meaning by themselves can be distributed and recorded in the HD 205 in the token device 104 and the terminal device 102.

Init機能を実現することにより、たとえばトークンデバイス104に記録された情報の読み出しに際してトークンデバイス104に記録されたシェアd1が複写(スキミング)された場合にも、シェアd1に基づいて秘密鍵を抽出することを防止できる。これによって、秘密鍵の漏洩を防止することができる。   By realizing the Init function, for example, when the share d1 recorded in the token device 104 is copied (skimmed) when reading the information recorded in the token device 104, the secret key is extracted based on the share d1. Can be prevented. Thereby, leakage of the secret key can be prevented.

これによって、トークンデバイス104に記録された情報を用いて認証をおこなうことによるシステム構築の容易性を低下させることなく、盗難などによって不正に入手した秘密鍵を用いてのデータベース103への不正なアクセスを防止することができる。   As a result, unauthorized access to the database 103 using a secret key obtained illegally by theft without reducing the ease of system construction by performing authentication using information recorded in the token device 104 Can be prevented.

また、Init機能を実現することにより、トークンデバイス104とトークンデバイス104を用いて認証をおこなう端末装置102とを1対1に対応付け、トークンデバイス104に対して1対1に対応付けられた端末装置102を用いた場合に限って認証をおこなうことが可能になる。これによって、トークンデバイス104に記録された情報を用いて認証をおこなうことによるシステム構築の容易性を低下させることなく、データベース103への不正なアクセスを効果的に防止することができる。   Further, by realizing the Init function, the token device 104 and the terminal device 102 that performs authentication using the token device 104 are associated one-to-one, and the terminal device is associated one-to-one with the token device 104 Authentication can be performed only when the apparatus 102 is used. Accordingly, unauthorized access to the database 103 can be effectively prevented without reducing the ease of system construction by performing authentication using information recorded in the token device 104.

(鍵管理部301の機能(その2))
つぎに、鍵管理部301の機能(その2)について詳細に説明する。図5は、鍵管理部301を示すブロック図(その2)である。図5においては、鍵管理部301が備える各部の中で、コマンド処理部303から鍵管理部301に対してCreateコマンドが入力された場合に実現されるCreate機能にかかわる各部を示している。なお、上述した図4に示した構成と同一部分については同一名称および同一符号で示し、説明を省略する。
(Function of key management unit 301 (part 2))
Next, the function (part 2) of the key management unit 301 will be described in detail. FIG. 5 is a block diagram (part 2) of the key management unit 301. In FIG. 5, among the units included in the key management unit 301, each unit related to the Create function realized when a Create command is input from the command processing unit 303 to the key management unit 301 is illustrated. In addition, about the same part as the structure shown in FIG. 4 mentioned above, it shows with the same name and the same code | symbol, and abbreviate | omits description.

図5において、鍵管理部301は、分散復号部(復号部)501、乱数除去(抽出)部502、多重化部503、分散符号化部504、および乱数生成部401を備え、これらの各部501〜504および501を用いてCreate機能を実現する。分散復号部501は、上記のInit機能によってトークンデバイス104に記録されたシェアd1と端末装置102におけるHD205に書き込まれたシェアd2とを読み込んで、秘密鍵と乱数n1とを多重化した多重化データに復号する。   In FIG. 5, the key management unit 301 includes a distributed decryption unit (decryption unit) 501, a random number removal (extraction) unit 502, a multiplexing unit 503, a distributed encoding unit 504, and a random number generation unit 401. The Create function is realized using ˜504 and 501. The distributed decryption unit 501 reads the share d1 recorded in the token device 104 by the above Init function and the share d2 written in the HD 205 in the terminal device 102, and multiplex data obtained by multiplexing the secret key and the random number n1. To decrypt.

乱数除去(抽出)部502は、分散復号部501によって復号された多重化データから乱数n1を除去し、秘密鍵を抽出する。図5においては図示を省略するが、抽出された秘密鍵は上記の認証部302へ出力され、認証部302における認証に供される。   A random number removal (extraction) unit 502 removes the random number n1 from the multiplexed data decrypted by the distributed decryption unit 501, and extracts a secret key. Although not shown in FIG. 5, the extracted secret key is output to the authentication unit 302 and used for authentication in the authentication unit 302.

図5における乱数生成部401は、任意の乱数n2を生成し、生成した乱数n2を多重化部503へ出力する。多重化部503は、乱数除去(抽出)部502によって抽出された秘密鍵と乱数生成部401から出力された乱数n2とを用いて、秘密鍵と乱数n2とを多重化した多重化データを生成する。   The random number generation unit 401 in FIG. 5 generates an arbitrary random number n2 and outputs the generated random number n2 to the multiplexing unit 503. The multiplexing unit 503 generates multiplexed data by multiplexing the secret key and the random number n2 using the secret key extracted by the random number removal (extraction) unit 502 and the random number n2 output from the random number generation unit 401. To do.

分散符号化部504は、多重化部503によって生成された多重化データを用いて分散符号化データであるシェアd3、d4を生成し、生成されたシェアd3、d4のうち一部の分散符号化データであるシェアd3をトークンデバイス104に出力し、残余の分散符号化データであるシェアd4を端末装置102におけるHD205に記録する。   The distributed encoding unit 504 generates shares d3 and d4 which are distributed encoded data using the multiplexed data generated by the multiplexing unit 503, and a part of the generated shares d3 and d4 is distributed encoded The share d3 that is data is output to the token device 104, and the share d4 that is the remaining distributed encoded data is recorded on the HD 205 in the terminal apparatus 102.

Create機能を実現することによって、トークンデバイス104と端末装置102におけるHD205とを1対1に対応付け、トークンデバイス104に記録された一部の分散符号化データであるシェアd3と、端末装置102におけるHD205に記録された残余の分散符号化データであるシェアd4との双方が揃った場合に限って秘密鍵を抽出することができる。   By realizing the Create function, the token device 104 and the HD 205 in the terminal device 102 are associated one-to-one, the share d3 that is a part of the distributed encoded data recorded in the token device 104, and the terminal device 102 The secret key can be extracted only when both the share d4, which is the remaining distributed encoded data recorded in the HD 205, are prepared.

また、Create機能を実現することによって、毎回異なるシェアを用いて秘密鍵の抽出をおこなうことができる。すなわち、Create機能を実現することによって、上記のInit機能を実現することによって生成されたシェアd1、d2を用いておこなわれた秘密鍵の抽出が、次回はCreate機能を実現することによって生成されたシェアd3、d4を用いておこなわれる。   Further, by realizing the Create function, it is possible to extract a secret key using a different share each time. In other words, by realizing the Create function, the extraction of the secret key performed using the shares d1 and d2 generated by realizing the above Init function was generated by realizing the Create function next time. This is performed using the shares d3 and d4.

これによって、たとえばトークンデバイス104に記録された情報の読み出しに際してトークンデバイス104に記録されたシェアd1が複写(スキミング)された場合にも、シェアd3が生成された時点でシェアd1が無効となり、シェアd3を利用可能な期間を短くすることができる。   Thus, for example, even when the share d1 recorded in the token device 104 is copied (skimmed) at the time of reading the information recorded in the token device 104, the share d1 becomes invalid when the share d3 is generated. The period in which d3 can be used can be shortened.

これによって、たとえばトークンデバイス104が盗難された場合にも盗難されたトークンデバイス104のみでは秘密鍵を抽出することができず認証をおこなうことができないため、トークンデバイス104に記録されたデータを用いて認証をおこなうことによるシステム構築の容易性を低下させることなく、データベース103への不正なアクセスを効果的に防止することができる。   Thus, for example, even if the token device 104 is stolen, the secret key cannot be extracted and the authentication cannot be performed only with the stolen token device 104, so that the data recorded in the token device 104 can be used. Unauthorized access to the database 103 can be effectively prevented without reducing the ease of system construction by performing authentication.

なお、Create機能を実現することによって、秘密鍵は端末装置102の内部にのみ存在することとなる。これによって、たとえばトークンデバイス104に記録された情報の読み出しに際して、トークンデバイス104と端末装置102との間で秘密鍵が送受信されることがないので、秘密鍵の漏洩を効果的に防止することができる。   By realizing the Create function, the secret key exists only inside the terminal device 102. Accordingly, for example, when reading information recorded in the token device 104, a secret key is not transmitted and received between the token device 104 and the terminal device 102, so that leakage of the secret key can be effectively prevented. it can.

そして、上記のInit機能を、認証システム100の利用者に対してトークンデバイス104を提供する前に、認証システム100の提供元において実現しておくことにより、生の秘密鍵が記録された状態のトークンデバイス104が市場に流通することがないので、秘密鍵の漏洩をより確実に防止することができる。   Then, before providing the token device 104 to the user of the authentication system 100, the above Init function is realized at the provider of the authentication system 100, so that the raw secret key is recorded. Since the token device 104 is not distributed in the market, it is possible to prevent the leakage of the secret key more reliably.

また、認証システム100の利用者に対してトークンデバイス104を提供する前に上記のInit機能をおこない、その後にCreate機能を実現することによって、仮にトークンデバイス104(あるいは他のデバイス)に記録された分散符号化データをスキミングされ、スキミングされた分散符号化データが正当な使用者より早く使用された場合、以降、正当な使用者がおこなった認証が失敗となる。これによって、分散符号化データあるいは秘密鍵などのデータが盗難されたことを早期に発見することができる。   Further, the above-described Init function is performed before providing the token device 104 to the user of the authentication system 100, and then the Create function is realized, so that the token device 104 (or another device) is temporarily recorded. If the distributed encoded data is skimmed and the skimmed distributed encoded data is used earlier than the authorized user, the authentication performed by the authorized user fails thereafter. As a result, it is possible to detect at an early stage that data such as distributed encoded data or a secret key has been stolen.

(鍵管理部301の機能(その3))
つぎに、鍵管理部301の機能(その3)について詳細に説明する。図6は、鍵管理部301を示すブロック図(その3)である。図6においては、鍵管理部301が備える各部の中で、コマンド処理部303から鍵管理部301に対してMoveコマンドが入力された場合に実現されるMove機能にかかわる各部を示している。なお、上述した図4〜図5に示した構成と同一部分については同一名称および同一符号で示し、説明を省略する。
(Function of key management unit 301 (part 3))
Next, the function (part 3) of the key management unit 301 will be described in detail. FIG. 6 is a block diagram (part 3) illustrating the key management unit 301. In FIG. 6, among the units included in the key management unit 301, the units related to the Move function realized when a Move command is input from the command processing unit 303 to the key management unit 301 are illustrated. In addition, about the same part as the structure shown in FIGS. 4-5 mentioned above, it shows with the same name and the same code | symbol, and abbreviate | omits description.

図6において、鍵管理部301は、分散復号部501、乱数除去(抽出)部502、多重化部503、分散符号化部504、および乱数生成部401を備え、これらの各部501〜504および401を用いてMove機能を実現する。分散復号部501は、上記のCreate機能によってトークンデバイス104に記録されたシェアd3と端末装置102におけるHD205に書き込まれたシェアd4とを読み込んで、秘密鍵と乱数n2とを多重化した多重化データに復号する。   6, the key management unit 301 includes a distributed decryption unit 501, a random number removal (extraction) unit 502, a multiplexing unit 503, a distributed encoding unit 504, and a random number generation unit 401. These units 501 to 504 and 401 are included. The Move function is realized using. The distributed decryption unit 501 reads the share d3 recorded in the token device 104 by the above Create function and the share d4 written in the HD 205 in the terminal device 102, and multiplex data obtained by multiplexing the secret key and the random number n2. To decrypt.

乱数除去(抽出)部502は、分散復号部501によって復号された多重化データから乱数n2を除去し、秘密鍵を抽出する。図6においては図示を省略するが、抽出された秘密鍵は上記の認証部302へ出力され、認証部302における認証に供される。   A random number removal (extraction) unit 502 removes the random number n2 from the multiplexed data decrypted by the distributed decryption unit 501, and extracts a secret key. Although not shown in FIG. 6, the extracted secret key is output to the authentication unit 302 and used for authentication in the authentication unit 302.

図6における乱数生成部401は、任意の乱数n3を生成し、生成した乱数n3を多重化部503へ出力する。多重化部503は、乱数除去(抽出)部502によって抽出された秘密鍵と乱数生成部401から出力された乱数n3とを用いて、秘密鍵と乱数n3とを多重化した多重化データを生成する。   The random number generation unit 401 in FIG. 6 generates an arbitrary random number n3 and outputs the generated random number n3 to the multiplexing unit 503. The multiplexing unit 503 generates multiplexed data by multiplexing the secret key and the random number n3 using the secret key extracted by the random number removal (extraction) unit 502 and the random number n3 output from the random number generation unit 401. To do.

分散符号化部504は、多重化部503によって生成された多重化データを用いて分散符号化データであるシェアd5、d6を生成し、生成されたシェアd5、d6のうち一部の分散符号化データであるシェアd5をトークンデバイス104に出力し、残余の分散符号化データであるシェアd6を端末装置102におけるHD205以外の他のデバイスとして、端末装置102に着脱自在なFD207に記録する。   The distributed encoding unit 504 generates shares d5 and d6, which are distributed encoded data, using the multiplexed data generated by the multiplexing unit 503, and some of the generated shares d5 and d6 are distributed encoded The share d5 that is data is output to the token device 104, and the share d6 that is the remaining distributed encoded data is recorded on the FD 207 that is detachable from the terminal apparatus 102 as a device other than the HD 205 in the terminal apparatus 102.

Move機能を実現することにより、トークンデバイス104と端末装置102に着脱自在なFD207とを1対1に対応付けることができ、1対1に対応付けられたトークンデバイス104と端末装置102に着脱自在なFD207とが揃った場合に限って認証をおこなうことが可能になる。   By realizing the Move function, the token device 104 and the FD 207 that can be attached to and detached from the terminal device 102 can be associated one-to-one, and the token device 104 and the terminal device 102 that are associated one-to-one can be attached to and detached from each other. Authentication can be performed only when the FD 207 is ready.

すなわち、サーバ101に接続可能な環境にあって、かつ、トークンデバイス104および端末装置102に着脱自在なFD207に記録されたデータの読み出しが可能な任意の端末装置102を用いて認証をおこなうことが可能になる。これによって、データベース103への不正なアクセスを防止するとともに、トークンデバイス104に記録された情報を用いて認証をおこなうことによる利便性の向上を図ることができる。   That is, authentication can be performed using any terminal device 102 that can be connected to the server 101 and can read data recorded in the FD 207 that is detachable from the token device 104 and the terminal device 102. It becomes possible. As a result, unauthorized access to the database 103 can be prevented, and convenience can be improved by performing authentication using information recorded in the token device 104.

(鍵管理部301の機能(その4))
つぎに、鍵管理部301の機能(その4)について詳細に説明する。図7は、鍵管理部301を示すブロック図(その4)である。図7においては、鍵管理部301が備える各部の中で、コマンド処理部303から鍵管理部301に対してSetコマンドが入力された場合に実現されるSet機能にかかわる各部を示している。なお、上述した図4〜図6に示した構成と同一部分については同一名称および同一符号で示し、説明を省略する。
(Function of Key Management Unit 301 (Part 4))
Next, the function (part 4) of the key management unit 301 will be described in detail. FIG. 7 is a block diagram (part 4) illustrating the key management unit 301. In FIG. 7, among the units included in the key management unit 301, each unit related to the Set function realized when a Set command is input from the command processing unit 303 to the key management unit 301 is illustrated. In addition, about the same part as the structure shown in FIGS. 4-6 mentioned above, it shows with the same name and the same code | symbol, and abbreviate | omits description.

図7において、鍵管理部301は、分散復号部501、乱数除去(抽出)部502、多重化部503、分散符号化部504、および乱数生成部401を備え、これらの各部501〜504および401を用いてSet機能を実現する。分散復号部501は、上記のMove機能によってトークンデバイス104に記録されたシェアd5と端末装置102に着脱自在なFD207に書き込まれたシェアd6とを読み込んで、秘密鍵と乱数n3とを多重化した多重化データに復号する。   7, the key management unit 301 includes a distributed decryption unit 501, a random number removal (extraction) unit 502, a multiplexing unit 503, a distributed encoding unit 504, and a random number generation unit 401. These units 501 to 504 and 401 are included. The Set function is realized using. The distributed decryption unit 501 reads the share d5 recorded in the token device 104 by the Move function and the share d6 written in the FD 207 detachable from the terminal device 102, and multiplexes the secret key and the random number n3. Decode into multiplexed data.

乱数除去(抽出)部502は、分散復号部501によって復号された多重化データから乱数n3を除去し、秘密鍵を抽出する。図7においては図示を省略するが、抽出された秘密鍵は上記の認証部302へ出力され、認証部302における認証に供される。   A random number removal (extraction) unit 502 removes the random number n3 from the multiplexed data decrypted by the distributed decryption unit 501, and extracts a secret key. Although not shown in FIG. 7, the extracted secret key is output to the authentication unit 302 and used for authentication in the authentication unit 302.

図7における乱数生成部401は、任意の乱数n4を生成し、生成した乱数n4を多重化部503へ出力する。多重化部503は、乱数除去(抽出)部502によって抽出された秘密鍵と乱数生成部401から出力された乱数n4とを用いて、秘密鍵と乱数n4とを多重化した多重化データを生成する。   The random number generation unit 401 in FIG. 7 generates an arbitrary random number n4 and outputs the generated random number n4 to the multiplexing unit 503. The multiplexing unit 503 generates multiplexed data by multiplexing the secret key and the random number n4 using the secret key extracted by the random number removing (extracting) unit 502 and the random number n4 output from the random number generating unit 401. To do.

分散符号化部504は、多重化部503によって生成された多重化データを用いて分散符号化データであるシェアd7、d8を生成し、生成されたシェアd7、d8のうち一部の分散符号化データであるシェアd7をトークンデバイス104に出力し、残余の分散符号化データであるシェアd8を端末装置102におけるHD205に記録する。   The distributed encoding unit 504 generates shares d7 and d8, which are distributed encoded data, using the multiplexed data generated by the multiplexing unit 503, and some of the generated shares d7 and d8 are distributed encoded The share d7 that is data is output to the token device 104, and the share d8 that is the remaining distributed encoded data is recorded on the HD 205 in the terminal apparatus 102.

Set機能を実現することにより、端末装置102に着脱自在なFD207に記録されたシェアd6を用いて認証をおこなうことが可能になり、また、あらたに生成したシェアd8を再び端末装置102におけるHD205に記録することができる。すなわち、サーバ101に接続可能な環境にあって、かつ、トークンデバイス104および端末装置102におけるFD207に記録されたデータの読み出しが可能な任意の端末装置102を用いて認証をおこなうことが可能になる。これによって、データベース103への不正なアクセスを防止するとともに、トークンデバイス104に記録された情報を用いて認証をおこなうことによる利便性の向上を図ることができる。   By realizing the Set function, authentication can be performed using the share d6 recorded in the FD 207 detachable from the terminal apparatus 102, and the newly generated share d8 is again stored in the HD 205 in the terminal apparatus 102. Can be recorded. That is, it is possible to perform authentication using any terminal device 102 that can be connected to the server 101 and can read data recorded in the FD 207 in the token device 104 and the terminal device 102. . As a result, unauthorized access to the database 103 can be prevented, and convenience can be improved by performing authentication using information recorded in the token device 104.

(端末装置102の処理手順(その1))
つぎに、端末装置102の処理手順(その1)について説明する。図8は、端末装置102の処理手順(その1)を示すフローチャートである。図8においては、上記Init機能の実現に際して実行される処理手順が示されている。図8に示す処理手順は、あらかじめ秘密鍵が記録されたトークンデバイス104が端末装置102に装着されていることを前提としておこなわれる。図8において、まず、Initコマンドがあるまで待機する(ステップS801:No)。
(Processing procedure of terminal device 102 (part 1))
Next, a processing procedure (part 1) of the terminal apparatus 102 will be described. FIG. 8 is a flowchart illustrating a processing procedure (part 1) of the terminal apparatus 102. FIG. 8 shows a processing procedure executed when the Init function is realized. The processing procedure shown in FIG. 8 is performed on the assumption that the token device 104 in which the secret key is recorded in advance is attached to the terminal device 102. In FIG. 8, first, it waits until there is an Init command (step S801: No).

ステップS801において、Initコマンドがあった場合(ステップS801:Yes)には、多重化部402によって、トークンデバイス104に記録されている秘密鍵および乱数n1を読み込んで(ステップS802)、読み込んだ秘密鍵および乱数n1を多重化した多重化データを生成する(ステップS803)。   If there is an Init command in step S801 (step S801: Yes), the multiplexing unit 402 reads the private key and random number n1 recorded in the token device 104 (step S802), and the read private key Then, multiplexed data is generated by multiplexing the random number n1 (step S803).

そして、分散符号化部403によって、ステップS803において生成された多重化データの分散符号化をおこなうことによりシェアd1、d2を生成し(ステップS804)、生成されたシェアd1、d2のうちシェアd1をトークンデバイス104に出力するとともにシェアd2を端末装置102におけるHD205に書き込んで(ステップS805)、一連の処理を終了する。   Then, the distributed encoder 403 generates shares d1 and d2 by performing distributed encoding of the multiplexed data generated in step S803 (step S804), and sets the share d1 among the generated shares d1 and d2. In addition to outputting to the token device 104, the share d2 is written to the HD 205 in the terminal apparatus 102 (step S805), and a series of processing ends.

図示を省略するが、上記ステップS805においてトークンデバイス104に出力されたシェアd1は、トークンデバイス104が備えるCPUによって制御されてトークンデバイス104が備えるメモリに書き込まれる。トークンデバイス104に書き込まれたシェアd1は、端末装置102などを用いて所定の操作をおこなうまでの間記録されつづける。   Although not shown, the share d1 output to the token device 104 in step S805 is controlled by the CPU included in the token device 104 and written to the memory included in the token device 104. The share d1 written in the token device 104 is continuously recorded until a predetermined operation is performed using the terminal device 102 or the like.

(端末装置102の処理手順(その2))
つぎに、端末装置102の処理手順(その2)について説明する。図9は、端末装置102の処理手順(その2)を示すフローチャートである。図9においては、上記Create機能の実現に際して実行される処理手順が示されている。図9において、まず、Createコマンドがあるまで待機する(ステップS901:No)。
(Processing procedure of terminal device 102 (part 2))
Next, a processing procedure (part 2) of the terminal apparatus 102 will be described. FIG. 9 is a flowchart illustrating the processing procedure (part 2) of the terminal apparatus 102. FIG. 9 shows a processing procedure executed when the Create function is realized. In FIG. 9, first, it waits until there is a Create command (step S901: No).

ステップS901においてCreateコマンドがあった場合(ステップS901:Yes)には、トークンデバイス104が装着されているか否かを判断する(ステップS902)。トークンデバイス104が装着されている場合(ステップS902:Yes)には、分散復号部501によって、装着されているトークンデバイス104に記録されているシェアd1および端末装置102におけるHD205に記録されているシェアd2を読み込んで(ステップS903)、読み込んだシェアd1、d2を、秘密鍵および乱数n1を多重化した多重化データに復号する(ステップS904)。   If there is a Create command in step S901 (step S901: Yes), it is determined whether or not the token device 104 is attached (step S902). When the token device 104 is attached (step S902: Yes), the share d1 recorded in the attached token device 104 and the share recorded in the HD 205 in the terminal device 102 by the distributed decoding unit 501. d2 is read (step S903), and the read shares d1 and d2 are decrypted into multiplexed data obtained by multiplexing the secret key and the random number n1 (step S904).

つづいて、乱数除去(抽出)部502によって、ステップS904において復号された多重化データ(秘密鍵+乱数n1)から乱数n1を除去することにより秘密鍵を抽出する(ステップS905)。ステップS905において抽出された秘密鍵は、上記認証部302による認証に供される。なお、秘密鍵を用いた認証については公知の技術であるため、ここでは説明を省略する。   Subsequently, the random number removal (extraction) unit 502 extracts the secret key by removing the random number n1 from the multiplexed data (secret key + random number n1) decrypted in step S904 (step S905). The secret key extracted in step S905 is used for authentication by the authentication unit 302. Since authentication using a secret key is a known technique, the description thereof is omitted here.

そして、多重化部503によって、乱数生成部401においてあらたに生成された乱数n2を取得し(ステップS906)、ステップS905において抽出された秘密鍵およびステップS906において取得された乱数n2を多重化した多重化データを生成する(ステップS907)。   Then, the multiplexing unit 503 obtains the random number n2 newly generated by the random number generation unit 401 (step S906), and multiplexes the secret key extracted in step S905 and the random number n2 acquired in step S906. Generated data is generated (step S907).

そして、分散符号化部504によって、ステップS907において生成された多重化データの分散符号化をおこなうことによりシェアd3、d4を生成し(ステップS908)、生成されたシェアd3、d4のうちシェアd3をトークンデバイス104に出力するとともにシェアd4を端末装置102におけるHD205に書き込んで(ステップS909)、一連の処理を終了する。   Then, the distributed encoding unit 504 generates shares d3 and d4 by performing distributed encoding of the multiplexed data generated in step S907 (step S908), and sets the share d3 among the generated shares d3 and d4. In addition to outputting to the token device 104, the share d4 is written to the HD 205 in the terminal apparatus 102 (step S909), and a series of processing ends.

図示を省略するが、上記ステップS909においてトークンデバイス104に出力されたシェアd3は、トークンデバイス104が備えるCPUによって制御されてトークンデバイス104が備えるメモリに書き込まれる。トークンデバイス104に書き込まれたシェアd3は、端末装置102などを用いて所定の操作をおこなうまでの間記録されつづける。   Although not shown, the share d3 output to the token device 104 in step S909 is controlled by the CPU included in the token device 104 and written to the memory included in the token device 104. The share d3 written in the token device 104 is continuously recorded until a predetermined operation is performed using the terminal device 102 or the like.

一方、ステップS902において、トークンデバイス104が装着されていない場合(ステップS902:No)には、ステップS901においてCreateコマンドがあった時点から所定時間が経過したか否かを判断する(ステップS910)。そして、所定時間が経過していない場合(ステップS910:No)にはステップS902へ戻る。   On the other hand, if the token device 104 is not attached in step S902 (step S902: No), it is determined whether or not a predetermined time has elapsed since the Create command was issued in step S901 (step S910). If the predetermined time has not elapsed (step S910: No), the process returns to step S902.

ステップS910において、所定時間が経過した場合(ステップS910:Yes)には、たとえばディスプレイ208に所定のエラーメッセージを表示するなどのエラー処理をおこなって(ステップS911)、一連の処理を終了する。   In step S910, when the predetermined time has elapsed (step S910: Yes), for example, error processing such as displaying a predetermined error message on the display 208 is performed (step S911), and the series of processing is terminated.

(端末装置102の処理手順(その3))
つぎに、端末装置102の処理手順(その3)について説明する。図10は、端末装置102の処理手順(その3)を示すフローチャートである。図10においては、上記Move機能の実現に際して実行される処理手順が示されている。図10において、まず、Moveコマンドがあるまで待機する(ステップS1001:No)。
(Processing procedure of terminal device 102 (part 3))
Next, a processing procedure (part 3) of the terminal apparatus 102 will be described. FIG. 10 is a flowchart illustrating a processing procedure (part 3) of the terminal apparatus 102. FIG. 10 shows a processing procedure executed when the Move function is realized. In FIG. 10, first, it waits until there is a Move command (step S1001: No).

ステップS1001においてMoveコマンドがあった場合(ステップS1001:Yes)には、トークンデバイス104が装着されているか否かを判断する(ステップS1002)。トークンデバイス104が装着されている場合(ステップS1002:Yes)には、分散復号部501によって、装着されているトークンデバイス104に記録されているシェアd3および端末装置102におけるHD205に記録されているシェアd4を読み込んで(ステップS1003)、読み込んだシェアd3、d4を、秘密鍵および乱数n2を多重化した多重化データに復号する(ステップS1004)。   If there is a Move command in step S1001 (step S1001: Yes), it is determined whether or not the token device 104 is attached (step S1002). When the token device 104 is attached (step S1002: Yes), the share d3 recorded in the attached token device 104 and the share recorded in the HD 205 in the terminal device 102 by the distributed decoding unit 501. d4 is read (step S1003), and the read shares d3 and d4 are decrypted into multiplexed data obtained by multiplexing the secret key and the random number n2 (step S1004).

つづいて、乱数除去(抽出)部502によって、ステップS1004において復号された多重化データ(秘密鍵+乱数n2)から乱数n2を除去することにより秘密鍵を抽出する(ステップS1005)。ステップS1005において抽出された秘密鍵は、上記認証部302による認証に供される。なお、秘密鍵を用いた認証については公知の技術であるため、ここでは説明を省略する。   Subsequently, the random number removing (extracting) unit 502 extracts the secret key by removing the random number n2 from the multiplexed data (secret key + random number n2) decrypted in step S1004 (step S1005). The secret key extracted in step S1005 is used for authentication by the authentication unit 302. Since authentication using a secret key is a known technique, the description thereof is omitted here.

そして、多重化部503によって、乱数生成部401においてあらたに生成された乱数n3を取得し(ステップS1006)、ステップS1005において抽出された秘密鍵およびステップS1006において取得された乱数n3を多重化した多重化データを生成する(ステップS1007)。   Then, the multiplexing unit 503 acquires a random number n3 newly generated by the random number generation unit 401 (step S1006), and multiplexes the secret key extracted in step S1005 and the random number n3 acquired in step S1006. Generated data (step S1007).

そして、分散符号化部504によって、ステップS1007において生成された多重化データの分散符号化をおこなうことによりシェアd5、d6を生成し(ステップS1008)、生成されたシェアd5、d6のうちシェアd5をトークンデバイス104に出力するとともにシェアd6を端末装置102に着脱自在なFD207に書き込んで(ステップS1009)、一連の処理を終了する。   Then, the distributed encoding unit 504 generates shares d5 and d6 by performing distributed encoding of the multiplexed data generated in step S1007 (step S1008), and sets the share d5 among the generated shares d5 and d6. In addition to outputting to the token device 104, the share d6 is written to the FD 207 detachably attached to the terminal device 102 (step S1009), and a series of processing ends.

図示を省略するが、上記ステップS1009においてトークンデバイス104に出力されたシェアd5は、トークンデバイス104が備えるCPUによって制御されてトークンデバイス104が備えるメモリに書き込まれる。トークンデバイス104に書き込まれたシェアd5は、端末装置102などを用いて所定の操作をおこなうまでの間記録されつづける。   Although not shown, the share d5 output to the token device 104 in step S1009 is controlled by the CPU included in the token device 104 and written to the memory included in the token device 104. The share d5 written in the token device 104 is continuously recorded until a predetermined operation is performed using the terminal device 102 or the like.

一方、ステップS1002において、トークンデバイス104が装着されていない場合(ステップS1002:No)には、ステップS1001においてMoveコマンドがあった時点から所定時間が経過したか否かを判断する(ステップS1010)。そして、所定時間が経過していない場合(ステップS1010:No)にはステップS1002へ戻る。   On the other hand, if the token device 104 is not attached in step S1002 (step S1002: No), it is determined whether or not a predetermined time has elapsed since the move command was issued in step S1001 (step S1010). If the predetermined time has not elapsed (step S1010: No), the process returns to step S1002.

ステップS1010において、所定時間が経過した場合(ステップS1010:Yes)には、たとえばディスプレイ208に所定のエラーメッセージを表示するなどのエラー処理をおこなって(ステップS1011)、一連の処理を終了する。   In step S1010, when a predetermined time has elapsed (step S1010: Yes), for example, error processing such as displaying a predetermined error message on the display 208 is performed (step S1011), and the series of processing ends.

(端末装置102の処理手順(その4))
つぎに、端末装置102の処理手順(その4)について説明する。図11は、端末装置102の処理手順(その4)を示すフローチャートである。図11においては、上記Set機能の実現に際して実行される処理手順が示されている。図11において、まず、Setコマンドがあるまで待機する(ステップS1101:No)。
(Processing procedure of terminal device 102 (part 4))
Next, a processing procedure (part 4) of the terminal apparatus 102 will be described. FIG. 11 is a flowchart illustrating the processing procedure (part 4) of the terminal apparatus 102. FIG. 11 shows a processing procedure executed when the Set function is realized. In FIG. 11, first, it waits until there is a Set command (step S1101: No).

ステップS1101においてSetコマンドがあった場合(ステップS1101:Yes)には、トークンデバイス104が装着されているか否かを判断する(ステップS1102)。トークンデバイス104が装着されている場合(ステップS1102:Yes)には、分散復号部501によって、装着されているトークンデバイス104に記録されているシェアd5および端末装置102に着脱自在なFD207に記録されているシェアd6を読み込んで(ステップS1103)、読み込んだシェアd5、d6を、秘密鍵および乱数n3を多重化した多重化データに復号する(ステップS1104)。   If there is a Set command in step S1101 (step S1101: Yes), it is determined whether or not the token device 104 is attached (step S1102). When the token device 104 is attached (step S1102: Yes), the distributed decoding unit 501 records the share d5 recorded in the attached token device 104 and the FD 207 that is detachable from the terminal device 102. The share d6 is read (step S1103), and the read shares d5 and d6 are decrypted into multiplexed data in which the secret key and the random number n3 are multiplexed (step S1104).

つづいて、乱数除去(抽出)部502によって、ステップS1104において復号された多重化データ(秘密鍵+乱数n3)から乱数n3を除去することにより秘密鍵を抽出する(ステップS1105)。ステップS1105において抽出された秘密鍵は、上記認証部302による認証に供される。なお、秘密鍵を用いた認証については公知の技術であるため、ここでは説明を省略する。   Subsequently, the random number removal (extraction) unit 502 extracts the secret key by removing the random number n3 from the multiplexed data (secret key + random number n3) decrypted in step S1104 (step S1105). The secret key extracted in step S1105 is used for authentication by the authentication unit 302. Since authentication using a secret key is a known technique, the description thereof is omitted here.

そして、多重化部503によって、乱数生成部401においてあらたに生成された乱数n4を取得し(ステップS1106)、ステップS1105において抽出された秘密鍵およびステップS1106において取得された乱数n4を多重化した多重化データを生成する(ステップS1107)。   Then, the multiplexing unit 503 acquires a random number n4 newly generated by the random number generation unit 401 (step S1106), and multiplexes the secret key extracted in step S1105 and the random number n4 acquired in step S1106. Generated data is generated (step S1107).

そして、分散符号化部504によって、ステップS1107において生成された多重化データの分散符号化をおこなうことによりシェアd7、d8を生成し(ステップS1108)、生成されたシェアd7、d8のうちシェアd7をトークンデバイス104に出力するとともにシェアd8を端末装置102におけるHD205に書き込んで(ステップS1109)、一連の処理を終了する。   Then, the distributed encoding unit 504 generates shares d7 and d8 by performing distributed encoding of the multiplexed data generated in step S1107 (step S1108), and sets the share d7 out of the generated shares d7 and d8. In addition to outputting to the token device 104, the share d8 is written to the HD 205 in the terminal apparatus 102 (step S1109), and a series of processing ends.

図示を省略するが、上記ステップS1009においてトークンデバイス104に出力されたシェアd7は、トークンデバイス104が備えるCPUによって制御されてトークンデバイス104が備えるメモリに書き込まれる。トークンデバイス104に書き込まれたシェアd7は、端末装置102などを用いて所定の操作をおこなうまでの間記録されつづける。   Although not shown, the share d7 output to the token device 104 in step S1009 is controlled by the CPU included in the token device 104 and written to the memory included in the token device 104. The share d7 written in the token device 104 is continuously recorded until a predetermined operation is performed using the terminal device 102 or the like.

一方、ステップS1102において、トークンデバイス104が装着されていない場合(ステップS1102:No)には、ステップS1101においてSetコマンドがあった時点から所定時間が経過したか否かを判断する(ステップS1110)。そして、所定時間が経過していない場合(ステップS1110:No)にはステップS1102へ戻る。   On the other hand, when the token device 104 is not attached in step S1102 (step S1102: No), it is determined whether or not a predetermined time has elapsed since the Set command was issued in step S1101 (step S1110). If the predetermined time has not elapsed (step S1110: No), the process returns to step S1102.

ステップS1110において、所定時間が経過した場合(ステップS1110:Yes)には、たとえばディスプレイ208に所定のエラーメッセージを表示するなどのエラー処理をおこなって(ステップS1111)、一連の処理を終了する。   In step S1110, when a predetermined time has elapsed (step S1110: Yes), for example, error processing such as displaying a predetermined error message on the display 208 is performed (step S1111), and the series of processing ends.

上述したように、本実施の形態によれば、公開鍵暗号方式により認証をおこなう端末装置102において、乱数を生成し、トークンデバイス104からの秘密鍵と生成された乱数とを多重化し、得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データをトークンデバイス104に出力するとともに、残余の分散符号化データを前記トークンデバイス以外の他のデバイスに書き込むことにより、各々単体では意味をもたない分散符号化データを、トークンデバイス104およびHD205に分散して記録することができる。   As described above, according to the present embodiment, in the terminal device 102 that performs authentication by the public key cryptosystem, a random number is generated, and the secret key from the token device 104 and the generated random number are multiplexed. The distributed data is subjected to distributed encoding, a part of the distributed encoded data obtained by the distributed encoding is output to the token device 104, and the remaining distributed encoded data is transmitted to other devices other than the token device. By writing in the, it is possible to distribute and record distributed encoded data that has no meaning on its own in the token device 104 and the HD 205.

これによって、トークンデバイス104に記録されたデータの読み出しに際してトークンデバイス104と端末装置102とを接続する通信回線上を生の秘密鍵が流れることがないので、トークンデバイス104に記録されたデータが複写(スキミング)された場合にも、秘密鍵の漏洩を防止することができる。   As a result, since the raw secret key does not flow on the communication line connecting the token device 104 and the terminal device 102 when reading the data recorded in the token device 104, the data recorded in the token device 104 is copied. Even in the case of (skimming), leakage of the secret key can be prevented.

また、本実施の形態によれば、トークンデバイス104に出力されたシェアd1あるいはd3と端末装置102におけるHD205に記録されたシェアd2あるいは端末装置102に着脱自在なFD207に記録されたシェアd6とを読み込んで多重化データに復号し、復号された多重化データから秘密鍵を抽出し、抽出された秘密鍵を用いて認証をおこなうことにより、トークンデバイス104と端末装置102におけるHD205あるいはFD207とを1対1に対応付け、トークンデバイス104に記録された一部の分散符号化データと他のデバイスに記録された残余の分散符号化データとの双方が揃った場合に限って秘密鍵を抽出することができる。   Further, according to the present embodiment, the share d1 or d3 output to the token device 104 and the share d2 recorded on the HD 205 in the terminal device 102 or the share d6 recorded on the FD 207 detachable from the terminal device 102 are obtained. The token device 104 and the HD 205 or FD 207 in the terminal device 102 are set to 1 by reading and decrypting into multiplexed data, extracting a secret key from the decrypted multiplexed data, and performing authentication using the extracted secret key. The secret key is extracted only when both of the part of the distributed encoded data recorded in the token device 104 and the remaining distributed encoded data recorded in the other device are in correspondence with each other. Can do.

これによって、たとえばトークンデバイス104が盗難された場合にも盗難されたトークンデバイス104のみでは認証をおこなうことができないため、トークンデバイス104に記録された情報を用いて認証をおこなうことによるシステム構築の容易性を低下させることなく、データベース103への不正なアクセスを防止することができる。   As a result, for example, even when the token device 104 is stolen, authentication cannot be performed only with the stolen token device 104. Therefore, it is easy to construct a system by performing authentication using information recorded in the token device 104. Unauthorized access to the database 103 can be prevented without degrading performance.

また、本実施の形態によれば、秘密鍵が抽出された場合、乱数をあらたに生成し、抽出された秘密鍵とあらたに生成された乱数とを多重化し、あらたに得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データをトークンデバイス104に出力するとともに、残余の分散符号化データを前記他のデバイスに書き込むことにより、毎回異なる分散符号化データを用いて秘密鍵の抽出をおこなうことができる。   Further, according to the present embodiment, when a secret key is extracted, a random number is newly generated, the extracted secret key and a newly generated random number are multiplexed, and newly obtained multiplexed data is obtained. Is distributed, and a part of the distributed encoded data obtained by the distributed encoding is output to the token device 104, and the remaining distributed encoded data is written to the other device, so that the distribution is different each time. The secret key can be extracted using the encoded data.

これによって、たとえばトークンデバイス104に記録された情報の読み出しに際してトークンデバイス104に記録された分散符号化データが複写(スキミング)された場合にも、当該分散符号化データを利用可能な期間を短くすることができ、トークンデバイス104に記録された情報を用いて認証をおこなうことによるシステム構築の容易性を低下させることなく、データベース103への不正なアクセスを効果的に防止することができる。   Thus, for example, even when the distributed encoded data recorded in the token device 104 is copied (skimmed) when reading the information recorded in the token device 104, the period in which the distributed encoded data can be used is shortened. Thus, unauthorized access to the database 103 can be effectively prevented without reducing the ease of system construction by performing authentication using the information recorded in the token device 104.

また、本実施の形態によれば、シェアd2、d4、d8を、端末装置102内部のデバイスである端末装置102におけるHD205に記録することにより、トークンデバイス104と端末装置102とを1対1に対応付けることができる。   Further, according to the present embodiment, the shares d2, d4, and d8 are recorded in the HD 205 in the terminal device 102 that is a device inside the terminal device 102, whereby the token device 104 and the terminal device 102 are in a one-to-one relationship. Can be associated.

これによって、トークンデバイス104に対して1対1に対応付けられた端末装置102を用いた場合に限って認証をおこなうことが可能になり、トークンデバイス104に記録された情報を用いて認証をおこなうことによるシステム構築の容易性を低下させることなく、トークンデバイス104に記録された情報を用いた認証によりアクセス可能となるデータベースへの不正なアクセスを効果的に防止することができる。   As a result, authentication can be performed only when the terminal device 102 associated with the token device 104 in a one-to-one relationship is used, and authentication is performed using information recorded in the token device 104. Accordingly, unauthorized access to a database that can be accessed by authentication using information recorded in the token device 104 can be effectively prevented without reducing the ease of system construction.

また、本実施の形態によれば、端末装置102外部のデバイスである端末装置102に着脱自在な端末装置102におけるFD207にシェアd6を記録することにより、トークンデバイス104と端末装置102におけるFD207とを1対1に対応付けることができる。   Further, according to the present embodiment, the share d6 is recorded in the FD 207 in the terminal device 102 that is detachable to the terminal device 102 that is a device external to the terminal device 102, whereby the token device 104 and the FD 207 in the terminal device 102 are recorded. One-to-one correspondence is possible.

これによって、1対1に対応付けられたトークンデバイス104と端末装置102におけるFD207とが揃った場合に限って認証をおこなうことが可能になり、データベース103への不正なアクセスを防止するとともに、トークンデバイス104に記録された情報を用いて認証をおこなうことによる利便性の向上を図ることができる。   As a result, authentication can be performed only when the token devices 104 associated with the one-to-one correspondence and the FD 207 in the terminal device 102 are prepared, and unauthorized access to the database 103 is prevented, and It is possible to improve convenience by performing authentication using information recorded in the device 104.

また、本実施の形態によれば、分散符号化部504が、秘密分散法により分散符号化をおこなってシェアを生成することにより、トークンデバイス104、端末装置102におけるHD205あるいは端末装置102におけるFD207に記録されたシェアのみを用いての秘密鍵の抽出を防止することができる。これによって、トークンデバイス104に記録された情報を用いて認証をおこなうことによるシステム構築の容易性を低下させることなく、データベース103への不正なアクセスを効果的に防止することができる。   In addition, according to the present embodiment, the distributed encoding unit 504 generates a share by performing distributed encoding by the secret sharing method, whereby the token device 104, the HD 205 in the terminal apparatus 102, or the FD 207 in the terminal apparatus 102 It is possible to prevent extraction of the secret key using only the recorded share. Accordingly, unauthorized access to the database 103 can be effectively prevented without reducing the ease of system construction by performing authentication using information recorded in the token device 104.

以上説明したように、本発明にかかる認証装置、認証方法及び認証プログラムによれば、トークンデバイスに記録された情報を用いて認証をおこなうことによるシステム構築の容易性を低下させることなく、トークンデバイスに記録された情報を用いた認証によりアクセス可能となるデータベースへの不正なアクセスを防止することができるという効果を奏する。   As described above, according to the authentication device, the authentication method, and the authentication program of the present invention, the token device can be used without reducing the ease of system construction by performing authentication using information recorded in the token device. It is possible to prevent unauthorized access to a database that can be accessed by authentication using information recorded in the database.

なお、本実施の形態で説明した認証方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。   The authentication method described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The program may be a transmission medium that can be distributed via a network such as the Internet.

また、本実施の形態で説明した端末装置102は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した端末装置102の機能的構成401〜403および501〜504をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、端末装置102を製造することができる。   Further, the terminal device 102 described in the present embodiment is a PLD (Programmable Logic) such as an application specific integrated circuit (hereinafter referred to simply as “ASIC”) such as a standard cell or a structured ASIC (hereinafter simply referred to as “ASIC”). (Device). Specifically, for example, the functional configurations 401 to 403 and 501 to 504 of the terminal device 102 described above are defined by HDL description, and the HDL description is logically synthesized and given to the ASIC or PLD, thereby the terminal device 102. Can be manufactured.

(付記1)公開鍵暗号方式により認証をおこなう認証装置において、
乱数を生成する乱数生成手段と、
トークンデバイスからの秘密鍵と前記乱数生成手段によって生成された乱数とを多重化する多重化手段と、
前記多重化手段によって得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データを前記トークンデバイスに出力するとともに、残余の分散符号化データを前記トークンデバイス以外の他のデバイスに書き込む分散符号化手段と、
を備えることを特徴とする認証装置。
(Appendix 1) In an authentication device that performs authentication by public key cryptography,
Random number generating means for generating a random number;
A multiplexing means for multiplexing the secret key from the token device and the random number generated by the random number generating means;
Performs distributed encoding of the multiplexed data obtained by the multiplexing means, outputs a part of the distributed encoded data obtained by the distributed encoding to the token device, and outputs the remaining distributed encoded data to the token device. Distributed encoding means for writing to devices other than token devices;
An authentication device comprising:

(付記2)前記トークンデバイスに出力された一部の分散符号化データと前記他のデバイスに書き込まれた残余の分散符号化データとを読み込んで、前記多重化データに復号する復号手段と、
前記復号手段によって復号された多重化データから前記秘密鍵を抽出する抽出手段と、
前記抽出手段によって抽出された秘密鍵を用いて認証をおこなう認証手段と、
を備えることを特徴とする付記1に記載の認証装置。
(Supplementary Note 2) Decoding means for reading a part of the distributed encoded data output to the token device and the remaining distributed encoded data written to the other device, and decoding the read data into the multiplexed data;
Extraction means for extracting the secret key from the multiplexed data decrypted by the decryption means;
Authentication means for performing authentication using the secret key extracted by the extraction means;
The authentication apparatus according to appendix 1, further comprising:

(付記3)前記乱数生成手段は、
前記抽出手段によって前記秘密鍵が抽出された場合、乱数をあらたに生成し、
前記多重化手段は、
前記抽出手段によって抽出された秘密鍵と前記乱数生成手段によってあらたに生成された乱数とを多重化し、
前記分散符号化手段は、
前記多重化手段によってあらたに得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データを前記トークンデバイスに出力するとともに、残余の分散符号化データを前記他のデバイスに書き込むことを特徴とする付記2に記載の認証装置。
(Supplementary Note 3) The random number generation means includes:
When the secret key is extracted by the extracting means, a random number is newly generated,
The multiplexing means includes
Multiplexing the secret key extracted by the extracting means and the random number newly generated by the random number generating means,
The distributed encoding means includes
The distributed data obtained by the multiplexing means is distributedly encoded, a part of the distributed encoded data obtained by the distributed encoding is output to the token device, and the remaining distributed encoded data is output. The authentication apparatus according to appendix 2, wherein the authentication device is written in the other device.

(付記4)前記他のデバイスは、
前記認証装置内部のデバイスであることを特徴とする付記1〜3のいずれか一つに記載の認証装置。
(Appendix 4) The other devices are:
4. The authentication apparatus according to any one of appendices 1 to 3, wherein the authentication apparatus is a device inside the authentication apparatus.

(付記5)前記他のデバイスは、
前記認証装置外部のデバイスであることを特徴とする付記1〜3のいずれか一つに記載の認証装置。
(Appendix 5) The other device is
4. The authentication apparatus according to any one of appendices 1 to 3, wherein the authentication apparatus is a device outside the authentication apparatus.

(付記6)前記分散符号化手段は、
秘密分散法により前記分散符号化をおこなうことを特徴とする付記1〜5のいずれか一つに記載の認証装置。
(Supplementary Note 6) The distributed encoding means includes:
The authentication apparatus according to any one of appendices 1 to 5, wherein the distributed encoding is performed by a secret sharing method.

(付記7)公開鍵暗号方式により認証をおこなう認証方法において、
乱数を生成する乱数生成工程と、
トークンデバイスからの秘密鍵と前記乱数生成工程によって生成された乱数とを多重化する多重化工程と、
前記多重化工程によって得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データを前記トークンデバイスに出力するとともに、残余の分散符号化データを前記トークンデバイス以外の他のデバイスに書き込む分散符号化工程と、
を含んだことを特徴とする認証方法。
(Appendix 7) In an authentication method for performing authentication by public key cryptography,
A random number generation step for generating a random number;
A multiplexing step of multiplexing the secret key from the token device and the random number generated by the random number generation step;
Perform distributed encoding of the multiplexed data obtained by the multiplexing step, and output a part of the distributed encoded data obtained by the distributed encoding to the token device, and the remaining distributed encoded data to the A distributed encoding process for writing to a device other than the token device;
The authentication method characterized by including.

(付記8)公開鍵暗号方式による認証をコンピュータに実行させる認証プログラムにおいて、
乱数を生成させる乱数生成工程と、
トークンデバイスからの秘密鍵と前記乱数生成工程によって生成された乱数とを多重化させる多重化工程と、
前記多重化工程によって得られた多重化データの分散符号化をおこなわせ、当該分散符号化により得られた一部の分散符号化データを前記トークンデバイスに出力させるとともに、残余の分散符号化データを前記トークンデバイス以外の他のデバイスに書き込ませる分散符号化工程と、
を前記コンピュータに実行させることを特徴とする認証プログラム。
(Supplementary note 8) In an authentication program for causing a computer to perform authentication by public key cryptography,
A random number generation step for generating a random number;
A multiplexing step for multiplexing the secret key from the token device and the random number generated by the random number generation step;
The distributed data of the multiplexed data obtained by the multiplexing process is distributed and a part of the distributed encoded data obtained by the distributed encoding is output to the token device, and the remaining distributed encoded data is A distributed encoding step for writing to a device other than the token device;
An authentication program that causes the computer to execute.

(付記9)付記8に記載の認証プログラムを記録した前記コンピュータに読み取り可能な記録媒体。 (Additional remark 9) The said computer-readable recording medium which recorded the authentication program of Additional remark 8.

以上のように、本発明にかかる認証装置、認証方法、および認証プログラムは、公開鍵暗号方式により秘密鍵を用いた認証に有用であり、特に、トークンデバイスに記録された秘密鍵を用いた認証に適している。   As described above, the authentication device, authentication method, and authentication program according to the present invention are useful for authentication using a secret key by a public key cryptosystem, and in particular, authentication using a secret key recorded in a token device. Suitable for

この発明の実施の形態にかかる認証システムのシステム構成図である。1 is a system configuration diagram of an authentication system according to an embodiment of the present invention. 図1に示したコンピュータ装置のハードウェア構成を示すブロック図である。It is a block diagram which shows the hardware constitutions of the computer apparatus shown in FIG. 認証システムの概略構成を示すブロック図である。It is a block diagram which shows schematic structure of an authentication system. 鍵管理部を示すブロック図(その1)である。It is a block diagram (the 1) which shows a key management part. 鍵管理部を示すブロック図(その2)である。It is a block diagram (the 2) which shows a key management part. 鍵管理部を示すブロック図(その3)である。It is a block diagram (the 3) which shows a key management part. 鍵管理部を示すブロック図(その4)である。It is a block diagram (the 4) which shows a key management part. 端末装置の処理手順(その1)を示すフローチャートである。It is a flowchart which shows the process sequence (the 1) of a terminal device. 端末装置の処理手順(その2)を示すフローチャートである。It is a flowchart which shows the process sequence (the 2) of a terminal device. 端末装置の処理手順(その3)を示すフローチャートである。It is a flowchart which shows the process sequence (the 3) of a terminal device. 端末装置の処理手順(その4)を示すフローチャートである。It is a flowchart which shows the process sequence (the 4) of a terminal device.

符号の説明Explanation of symbols

102 端末装置
104 トークンデバイス
205 HD
207 FD
302 認証部
401 乱数生成部
402、503 多重化部
403、504 分散符号化部
501 分散復号部
102 Terminal device 104 Token device 205 HD
207 FD
302 Authentication Unit 401 Random Number Generation Unit 402, 503 Multiplexing Unit 403, 504 Distributed Coding Unit 501 Distributed Decoding Unit

Claims (5)

公開鍵暗号方式により認証をおこなう認証装置において、
乱数を生成する乱数生成手段と、
トークンデバイスからの秘密鍵と前記乱数生成手段によって生成された乱数とを多重化する多重化手段と、
前記多重化手段によって得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データを前記トークンデバイスに出力するとともに、残余の分散符号化データを前記トークンデバイス以外の他のデバイスに書き込む分散符号化手段と、
を備えることを特徴とする認証装置。
In an authentication device that authenticates using public key cryptography,
Random number generating means for generating a random number;
A multiplexing means for multiplexing the secret key from the token device and the random number generated by the random number generating means;
Performs distributed encoding of the multiplexed data obtained by the multiplexing means, outputs a part of the distributed encoded data obtained by the distributed encoding to the token device, and outputs the remaining distributed encoded data to the token device. Distributed encoding means for writing to devices other than token devices;
An authentication device comprising:
前記トークンデバイスに出力された一部の分散符号化データと前記他のデバイスに書き込まれた残余の分散符号化データとを読み込んで、前記多重化データに復号する復号手段と、
前記復号手段によって復号された多重化データから前記秘密鍵を抽出する抽出手段と、
前記抽出手段によって抽出された秘密鍵を用いて認証をおこなう認証手段と、
を備えることを特徴とする請求項1に記載の認証装置。
Decoding means for reading a part of the distributed encoded data output to the token device and the remaining distributed encoded data written to the other device and decoding the multiplexed data;
Extraction means for extracting the secret key from the multiplexed data decrypted by the decryption means;
Authentication means for performing authentication using the secret key extracted by the extraction means;
The authentication apparatus according to claim 1, further comprising:
前記乱数生成手段は、
前記抽出手段によって前記秘密鍵が抽出された場合、乱数をあらたに生成し、
前記多重化手段は、
前記抽出手段によって抽出された秘密鍵と前記乱数生成手段によってあらたに生成された乱数とを多重化し、
前記分散符号化手段は、
前記多重化手段によってあらたに得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データを前記トークンデバイスに出力するとともに、残余の分散符号化データを前記他のデバイスに書き込むことを特徴とする請求項2に記載の認証装置。
The random number generation means includes
When the secret key is extracted by the extracting means, a random number is newly generated,
The multiplexing means includes
Multiplexing the secret key extracted by the extracting means and the random number newly generated by the random number generating means,
The distributed encoding means includes
The distributed data obtained by the multiplexing means is distributedly encoded, a part of the distributed encoded data obtained by the distributed encoding is output to the token device, and the remaining distributed encoded data is output. The authentication apparatus according to claim 2, wherein the authentication device is written in the other device.
公開鍵暗号方式により認証をおこなう認証方法において、
乱数を生成する乱数生成工程と、
トークンデバイスからの秘密鍵と前記乱数生成工程によって生成された乱数とを多重化する多重化工程と、
前記多重化工程によって得られた多重化データの分散符号化をおこない、当該分散符号化により得られた一部の分散符号化データを前記トークンデバイスに出力するとともに、残余の分散符号化データを前記トークンデバイス以外の他のデバイスに書き込む分散符号化工程と、
を含んだことを特徴とする認証方法。
In an authentication method that authenticates using public key cryptography,
A random number generation step for generating a random number;
A multiplexing step of multiplexing the secret key from the token device and the random number generated by the random number generation step;
Perform distributed encoding of the multiplexed data obtained by the multiplexing step, and output a part of the distributed encoded data obtained by the distributed encoding to the token device, and the remaining distributed encoded data to the A distributed encoding process for writing to a device other than the token device;
The authentication method characterized by including.
公開鍵暗号方式による認証をコンピュータに実行させる認証プログラムにおいて、
乱数を生成させる乱数生成工程と、
トークンデバイスからの秘密鍵と前記乱数生成工程によって生成された乱数とを多重化させる多重化工程と、
前記多重化工程によって得られた多重化データの分散符号化をおこなわせ、当該分散符号化により得られた一部の分散符号化データを前記トークンデバイスに出力させるとともに、残余の分散符号化データを前記トークンデバイス以外の他のデバイスに書き込ませる分散符号化工程と、
を前記コンピュータに実行させることを特徴とする認証プログラム。
In an authentication program that causes a computer to execute authentication using a public key cryptosystem,
A random number generation step for generating a random number;
A multiplexing step for multiplexing the secret key from the token device and the random number generated by the random number generation step;
The distributed data of the multiplexed data obtained by the multiplexing process is distributed and a part of the distributed encoded data obtained by the distributed encoding is output to the token device, and the remaining distributed encoded data is A distributed encoding step for writing to a device other than the token device;
An authentication program that causes the computer to execute.
JP2007056056A 2007-03-06 2007-03-06 Authentication apparatus, authentication method and authentication program Withdrawn JP2008219619A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007056056A JP2008219619A (en) 2007-03-06 2007-03-06 Authentication apparatus, authentication method and authentication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007056056A JP2008219619A (en) 2007-03-06 2007-03-06 Authentication apparatus, authentication method and authentication program

Publications (1)

Publication Number Publication Date
JP2008219619A true JP2008219619A (en) 2008-09-18

Family

ID=39839102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007056056A Withdrawn JP2008219619A (en) 2007-03-06 2007-03-06 Authentication apparatus, authentication method and authentication program

Country Status (1)

Country Link
JP (1) JP2008219619A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011010170A (en) * 2009-06-29 2011-01-13 Pioneer Electronic Corp Electronic device, and method for preventing unauthorized use thereof
JP2021118406A (en) * 2020-01-23 2021-08-10 株式会社リーディングエッジ User authentication method and user authentication method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011010170A (en) * 2009-06-29 2011-01-13 Pioneer Electronic Corp Electronic device, and method for preventing unauthorized use thereof
JP2021118406A (en) * 2020-01-23 2021-08-10 株式会社リーディングエッジ User authentication method and user authentication method

Similar Documents

Publication Publication Date Title
US9240883B2 (en) Multi-key cryptography for encrypting file system acceleration
JP4999751B2 (en) Data sharing techniques
KR100910378B1 (en) System and method for issuing electronically accredited certificate using encrypted image
US8880879B2 (en) Accelerated cryptography with an encryption attribute
US20130028419A1 (en) System and a method for use in a symmetric key cryptographic communications
CN110084599B (en) Key processing method, device, equipment and storage medium
JP2010098769A (en) Method and system for data communication
CN101685425A (en) Mobile storage device and method of encrypting same
CN110661814A (en) Bidding file encryption and decryption method, device, equipment and medium
WO2007001075A1 (en) Encryption device, encryption method, decryption device, decryption method, and data structure
CN109613990A (en) Soft keyboard secured inputting method, server, client, electronic equipment and medium
JP2001244925A (en) System and method for managing enciphered data and storage medium
TW201223225A (en) Method for personal identity authentication utilizing a personal cryptographic device
JP2010011109A (en) Authentication unit, authentication terminal, authentication system, authentication method, and program
CN102255728B (en) Identity recognition method for computer system
JP4791193B2 (en) Information processing apparatus, portable terminal apparatus, and information processing execution control method
JP2008042718A (en) Image reading system, information processing apparatus, image reader and program
JP2008219619A (en) Authentication apparatus, authentication method and authentication program
JP2006268513A (en) Log-on management device for terminal device
Chavan et al. An intelligent system for secured authentication using hierarchical visual cryptography-review
JP2005284703A (en) Medical information distribution system and information access control method therefor, computer program
JP2015022460A (en) Information storage system, information storage device, method therefor, and program
JP2008294734A (en) Content management system
WO2022255151A1 (en) Data management system, data management method, and non-transitory recording medium
JP5361850B2 (en) Access management system

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091202

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20101201