[go: up one dir, main page]

JP2015192446A - プログラム、暗号処理方法、及び暗号処理装置 - Google Patents

プログラム、暗号処理方法、及び暗号処理装置 Download PDF

Info

Publication number
JP2015192446A
JP2015192446A JP2014070845A JP2014070845A JP2015192446A JP 2015192446 A JP2015192446 A JP 2015192446A JP 2014070845 A JP2014070845 A JP 2014070845A JP 2014070845 A JP2014070845 A JP 2014070845A JP 2015192446 A JP2015192446 A JP 2015192446A
Authority
JP
Japan
Prior art keywords
key
data
encrypted
registration
registration data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014070845A
Other languages
English (en)
Inventor
由美 酒見
yumi Sakami
由美 酒見
伊豆 哲也
Tetsuya Izu
哲也 伊豆
武仲 正彦
Masahiko Takenaka
正彦 武仲
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 JP2014070845A priority Critical patent/JP2015192446A/ja
Priority to US14/667,832 priority patent/US9712499B2/en
Publication of JP2015192446A publication Critical patent/JP2015192446A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0478Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0861Network architectures or network communication protocols for network security for authentication of entities using biometrical features, e.g. fingerprint, retina-scan
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】利用者から読み取った生体情報を暗号化したデータ及び暗号化した登録データを暗号状態のまま比較し生体認証を行うシステムにおいて、判定装置による不正登録を防止することのできる暗号処理装置を提供する。【解決手段】第1の鍵KA1を保持し、認証の際に被認証データを受け付ける暗号処理装置10は、被認証データと照合される登録データmAを第1の鍵KA1及び第2の鍵KA2で二重に暗号化した暗号化登録データC2が登録される計算装置20、及び、認証の際に第2の鍵KA2を利用する判定装置30と通信する通信部11と、計算装置20に暗号化登録データC2を登録する際、第1の鍵KA1とは異なる鍵Kを生成し、第1の鍵KA1及び異なる鍵Kで登録データmAを二重に暗号化した暗号データC1を生成し、通信部11を介して、当該異なる鍵Kを判定装置30に送信し、当該暗号データC1を計算装置20に送信する演算部12と、を有する。【選択図】図1

Description

本発明は、プログラム、暗号処理方法、及び暗号処理装置に関する。
高いセキュリティレベルが求められる金融機関のシステムや電子商取引のシステムなどでは高度な認証技術が利用される。最近では、利用者が設定したパスワードに基づくパスワード認証に加え、利用者の生体情報を利用した生体認証などの技術が利用されている。
生体認証を利用するシステムは、認証の際に利用者から生体情報を読み取り、予め登録済みの生体情報であるテンプレートデータと、読み取った生体情報との類似度を比較する。つまり、システムにより読み取られた生体情報が被認証情報として利用され、テンプレートデータが認証情報として利用される。両者が許容可能な範囲内で一致する場合には認証成功と判定され、一致しない場合には認証失敗と判定される。
生体情報としては、例えば、指紋、静脈、虹彩などのパターンが利用される。これらの生体情報は1人1人に固有の情報であり変更がきかない。そのため、テンプレートデータの管理には細心の注意が払われる。例えば、テンプレートデータは、暗号化した状態で認証用のサーバに登録される。但し、認証時に元のテンプレートデータを復号し、利用者から読み取った生体情報と比較する仕組みにすると、復号したテンプレートデータ及び読み取った生体情報が悪意ある第三者に窃取されるリスクが生じる。
上記のリスクを抑圧するため、利用者から読み取った生体情報を暗号化したデータ及び暗号化したテンプレートデータをいずれも復号せずに比較し、生体情報とテンプレートデータとのハミング距離を計算する技術が提案されている。この技術は、データを暗号化する際に排他的論理和演算(以下、記号「∧」で表す場合がある。)を利用する。
例えば、データXを暗号鍵Kで暗号化する関数EK(X)としては、暗号鍵Kと入力情報Xとの排他的論理和を演算するための関数や、AES(Advanced Encryption Standard)暗号化のCTR(CounTeR)モードの関数が適用可能である。なお、鍵情報である暗号鍵Kそのものではなく、暗号鍵Kにより生成された乱数が暗号化に利用されてもよい。ここでは、記号「∧」を用いて、このような関数をEK(X)=K∧Xで与える。
利用者から読み取った生体情報をX1、テンプレートデータをX2、暗号鍵をKとした場合、EK(X1)∧EK(X2)=(X1∧K)∧(X2∧K)=X1∧X2≡HVが成り立つ。但し、HVは、生体情報X1とテンプレートデータX2との差を表すハミングベクトルである。従って、上記の演算を利用すれば、ハミングベクトルHVの長さ(ハミング距離)を基に、暗号化した状態のまま生体情報とテンプレートデータとの一致度を評価でき、生体情報の漏洩リスクを抑圧することができる。
特開2005−130384号公報
太田 陽基、笹野 義二、菅谷 史昭、"プライバシーを保護する虹彩認証方式の提案"、コンピュータセキュリティシンポジウム 2003、pp.163-pp.168
上記の提案に係る技術は、利用者が生体情報を入力する端末装置と認証用のサーバとにより二者間で認証処理を実行する認証システムへの適用を想定した技術である。そのため、上記の技術は、利用者が生体情報を入力する端末装置と、暗号化したテンプレートデータを保持するサーバ(以下、計算装置)と、認証の成否を判定するサーバ(以下、判定装置)との間で認証処理を実行する認証システムへの適用を想定していない。
例えば、端末装置が暗号化した生体情報を計算装置に送信し、計算装置が暗号化した状態のまま生体情報とテンプレートデータとの差を表す距離情報を生成する仕組みについて考える。但し、計算装置で生成された距離情報に基づいて判定装置が認証の成否を判定する。また、セキュリティを高めるため、2つの暗号鍵を用いて二重にテンプレートデータを暗号化して計算装置に登録し、一方の暗号鍵を端末装置が保持し、他方の暗号鍵を判定装置が保持する場合について考える。
上記の場合、テンプレートデータを計算装置に登録する際に、端末装置の暗号鍵でテンプレートデータを暗号化し、判定装置の暗号鍵で更にテンプレートデータを暗号化して計算装置へ登録する処理が生じる。つまり、判定装置が最終的に計算装置へデータを登録するため、端末装置に知られずに、判定装置によりデータの不正登録が行われるリスクがある。例えば、端末装置で暗号化された任意の生体情報との排他的論理和演算が十分に短いハミングベクトルとなるようなデータが不正に登録されると、端末装置に入力される生体情報にかかわらず認証が成功するリスクが生じる。
そこで、1つの側面によれば、本発明の目的は、判定装置による不正登録を防止することが可能なプログラム、暗号処理方法、及び暗号処理装置を提供することにある。
本開示の1つの側面によれば、第1の鍵を保持し、認証の際に被認証データを受け付けるコンピュータに対し、被認証データと照合される登録データを第1の鍵及び第2の鍵で二重に暗号化した暗号化登録データが登録される計算装置、及び、認証の際に第2の鍵を利用する判定装置と通信して計算装置に暗号化登録データを登録する際、第1の鍵とは異なる鍵を生成し、当該異なる鍵を判定装置に送信し、第1の鍵及び異なる鍵で登録データを二重に暗号化した暗号データを生成し、当該暗号データを計算装置に送信する処理を実行させる、プログラムが提供される。
また、本開示の他の1つの側面によれば、第1の鍵を保持し、認証の際に被認証データを受け付けるコンピュータが、被認証データと照合される登録データを第1の鍵及び第2の鍵で二重に暗号化した暗号化登録データが登録される計算装置、及び、認証の際に第2の鍵を利用する判定装置と通信して計算装置に暗号化登録データを登録する際、第1の鍵とは異なる鍵を生成し、当該異なる鍵を判定装置に送信し、第1の鍵及び異なる鍵で登録データを二重に暗号化した暗号データを生成し、当該暗号データを計算装置に送信する暗号処理方法が提供される。
また、本開示の他の1つの側面によれば、第1の鍵を保持し、認証の際に被認証データを受け付ける暗号処理装置であって、被認証データと照合される登録データを第1の鍵及び第2の鍵で二重に暗号化した暗号化登録データが登録される計算装置、及び、認証の際に第2の鍵を利用する判定装置と通信する通信部と、計算装置に暗号化登録データを登録する際、第1の鍵とは異なる鍵を生成し、第1の鍵及び異なる鍵で登録データを二重に暗号化した暗号データを生成し、通信部を介して、当該異なる鍵を判定装置に送信し、当該暗号データを計算装置に送信する演算部と、を有する、暗号処理装置が提供される。
本発明によれば、判定装置による不正登録を防止することが可能になる。
第1実施形態に係る暗号処理装置の一例を示した図である。 第2実施形態に係る認証システムの一例を示した図である。 認証システムにおける照合処理の一例を示した図である。 認証システムにおける登録処理の一例を示した図である。 認証システムに含まれる判定装置による不正登録の一例を示した図である。 第2実施形態に係る端末装置による直接登録の一例を示した図である。 第2実施形態に係る暗号処理装置の機能を実現可能なハードウェアの一例を示した図である。 第2実施形態に係る端末装置が有する機能の一例を示したブロック図である。 第2実施形態に係る計算装置が有する機能の一例を示したブロック図である。 第2実施形態に係る暗号化登録データの一例を示した図である。 第2実施形態に係る判定装置が有する機能の一例を示したブロック図である。 第2実施形態に係る鍵生成関数の利用について説明するための図である。 第2実施形態に係る端末装置の動作例を示したフロー図である。 第2実施形態に係る計算装置の動作例を示したフロー図である。 第2実施形態に係る判定装置の動作例を示したフロー図である。 第2実施形態の一変形例に係る端末装置による直接登録の一例を示した図である。 第2実施形態に係る端末装置の動作例を示したフロー図である。 第2実施形態に係る判定装置の動作例を示したフロー図である。 第2実施形態に係る計算装置の動作例を示したフロー図である。
以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。
<1.第1実施形態>
図1を参照しながら、第1実施形態について説明する。図1は、第1実施形態に係る暗号処理装置の一例を示した図である。なお、暗号処理装置10は、第1実施形態に係る暗号処理装置の一例である。また、図中及び以下の説明において、表示の都合上、排他的論理和演算やAES暗号化のCTRモードの関数を記号「∧」と表現する場合がある。なお、暗号鍵Kそのものではなく、暗号鍵Kにより生成された乱数が暗号化に利用されてもよい。
図1に示すように、暗号処理装置10は、通信部11及び演算部12を有する。なお、暗号処理装置10は、RAM(Random Access Memory)などの揮発性記憶装置(非図示)、或いは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置(非図示)をさらに有していてもよい。また、暗号処理装置10は、計算装置20及び判定装置30と通信することができる。それぞれの通信に利用する通信回線においては、例えば、SSL(Secure Socket Layer)などの暗号化通信技術を適用することが望ましい。
なお、通信部11は、有線又は無線の通信回線を通じて計算装置20及び判定装置30と通信するための通信回路やネットワークインターフェースなどである。また、演算部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。但し、演算部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路であってもよい。演算部12は、例えば、不揮発性記憶装置又は他の可搬記録媒体などのメモリに記憶されたプログラムを実行する。
暗号処理装置10は、第1の鍵KA1を保持し、認証の際に被認証データを受け付ける。なお、計算装置20には、被認証データと照合される登録データmAを第1の鍵KA1及び第2の鍵KA2で二重に暗号化した暗号化登録データC2が登録される。また、判定装置30は、認証の際に第2の鍵KA2を利用する。
なお、登録データmAは、認証情報の一例である。被認証データは、被認証情報の一例である。登録データmA及び被認証データとしては、例えば、利用者の生体情報や、暗号処理装置10又は利用者が管理する電子回路のPUF(Physical Unclonable Function)を適用可能である。
計算装置20に暗号化登録データC2を登録する際、演算部12は、第1の鍵KA1とは異なる鍵Kを生成する。また、演算部12は、第1の鍵KA1及び異なる鍵Kで登録データmAを二重に暗号化した暗号データC1を生成する。また、演算部12は、通信部11を介して異なる鍵Kを判定装置30に送信する。
例えば、演算部12は、第1の鍵KA1、異なる鍵K、及び登録データmAの排他的論理和(mA∧KA1∧K=EK(EKA1(mA)))を計算し、計算結果を暗号データC1として計算装置20へ送信する。このとき、演算部12は、登録データmAを登録する利用者AのID(A)を計算装置20に送信する。また、演算部12は、通信部11を介して暗号データC1を計算装置20に送信する。
(K=KA2の場合)
例えば、異なる鍵Kが第2の鍵KA2である場合、暗号データC1は、暗号化登録データC2と同じになる。従って、計算装置20は、暗号データC1を用いて暗号化登録データC2の登録処理を実行する。また、判定装置30は、暗号処理装置10から受信した異なる鍵Kを第2の鍵KA2として保持する。
(K=一時鍵の場合)
他の例として、異なる鍵Kが計算装置20に暗号化登録データC2を登録する度に新たに生成される一時鍵である場合を考える。この場合、判定装置30は、暗号処理装置10から受信した異なる鍵K(一時鍵)で、予め保持している第2の鍵KA2を暗号化した暗号化鍵データを生成する。そして、判定装置30は、暗号化鍵データを計算装置20へと送信する。例えば、判定装置30は、異なる鍵Kと第2の鍵KA2との排他的論理和(KA2∧K=EK(KA2))を計算し、計算結果を暗号鍵データとして計算装置20へ送信する。
暗号鍵データを受信した計算装置20は、暗号データC1と暗号化鍵データとを用いて暗号化登録データC2を生成する。例えば、計算装置20は、暗号データC1と暗号鍵データとの排他的論理和(EK(EKA1(mA))∧EK(KA2)=EKA2(EKA1(mA)))を計算し、計算結果を暗号化登録データC2とする。そして、計算装置20は、暗号化登録データC2の登録処理を実行する。
いずれの場合も登録データmAを暗号化した暗号データC1が暗号処理装置10から計算装置20へと直接送信される。そのため、暗号化登録データC2の登録処理に際し、暗号処理装置10の知らないところで、判定装置30により不正なデータが計算装置20に登録されるリスクを抑制することができる。
以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、排他的論理和演算に基づく暗号処理により被認証情報及び認証情報を二重に暗号化して管理する方式(以下、重複バーナム暗号方式)を採用した認証システムに関する。なお、図中及び以下の説明において、表示の都合上、排他的論理和演算やAES暗号化のCTRモードの関数を記号「∧」と表現する場合がある。また、暗号鍵KによりデータXを暗号化したデータを「EK(X)」と表現する場合がある。なお、暗号鍵Kそのものではなく、暗号鍵Kにより生成された乱数が暗号化に利用されてもよい。
(排他的論理和演算の性質について)
ここで、排他的論理和演算の性質について述べる。
排他的論理和演算は、任意のビット列X1、X2に対し、(X1∧X2)∧X2=X1が成り立つ。つまり、同じビット列X2に対する排他的論理和演算は打ち消し合う。また、X1∧X2=X2∧X1が成り立つ。従って、EK1(EK(X1))∧EK2(EK(X2))=(X1∧K∧K1)∧(X2∧K∧K2)=(X1∧X2)∧K1∧K2=EK1(EK2(HV))が成り立つ。但し、HV≡X1∧X2である。
第2実施形態に係る認証システムは、上記のような排他的論理和演算の性質を利用する。なお、このような性質を有する他の暗号化関数を排他的論理和演算の代わりに利用して第2実施形態に係る認証システムを構築してもよい。このような変形についても当然に第2実施形態の技術的範囲に属する。
[2−1.認証システム]
図2を参照しながら、第2実施形態に係る認証システムについて説明する。図2は、第2実施形態に係る認証システムの一例を示した図である。
図2に示すように、第2実施形態に係る認証システムは、端末装置100、計算装置200、及び判定装置300を含む。
なお、端末装置100、計算装置200、判定装置300は通信回線により接続されている。通信回線としては、例えば、端末装置100と計算装置200、端末装置100と判定装置300、及び計算装置200と判定装置300をそれぞれ安全に接続する専用回線を適用可能である。また、通信回線として公衆通信網を利用し、SSLやVPN(Virtual Private Network)などの技術を利用してセキュリティを確保する方法を適用することが望ましい。
例えば、金融機関のシステムに適用する場合、手のひらや指などの静脈パターンを読み取る機能を搭載したATM(Automated Teller Machine)端末は、端末装置100の一例である。また、電子商取引や電子決済のシステムに適用する場合、指紋や虹彩のパターンを読み取る機器を接続した利用者のコンピュータは、端末装置100の一例である。これらの例以外にも、第2実施形態に係る認証システムは、認証サービスを提供する任意のシステムに適用可能である。
端末装置100には、照合データMA、MB、…が入力される。照合データMA、MB、…は、被認証情報の一例である。また、照合データMA、MB、…は、それぞれ認証情報である登録データmA、mB、…と照合される。端末装置100は、第1暗号鍵KA1、KB1、…を保持する。第1暗号鍵KA1、KB1、…は、それぞれ照合データMA、MB、…の暗号化に利用される。計算装置200は、暗号化登録データEKA2(EKA1(mA))、EKB1(EKB2(mB))、…を保持する。また、判定装置300は、第2暗号鍵KA2、KB2、…を保持する。
暗号化登録データEKA2(EKA1(mA))は、第1暗号鍵KA1及び第2暗号鍵KA2を用いて登録データmAを暗号化したデータである。つまり、暗号化登録データEKA2(EKA1(mA))は下記の式(1)で与えられる。また、暗号化登録データEKB2(EKB1(mB))は、第1暗号鍵KB1及び第2暗号鍵KB2を用いて登録データmBを暗号化したデータである。つまり、暗号化登録データEKB2(EKB1(mB))は下記の式(2)で与えられる。
KA2(EKA1(mA))=mA∧KA1∧KA2
…(1)
KB2(EKB1(mB))=mB∧KB1∧KB2
…(2)
以下の説明では、簡単のため、図2に例示した認証システムを想定し、照合データMAと登録データmAとの照合に係る処理、及び暗号化登録データEKA2(EKA1(mA))の登録に係る処理に注目して説明を進める。
(照合処理の一例)
ここで、図3を参照しながら、認証システムにおける照合処理の一例について説明する。なお、図3は、認証システムにおける照合処理の一例を示した図である。
図3に示すように、照合データMAが入力された端末装置100は、利用者Aに関する照合データMAの判定依頼を判定装置300へ送信する(S11)。次いで、端末装置100は、下記の式(3)に示すように、第1暗号鍵KA1を利用して暗号データEKA1(MA)を計算する(S12)。次いで、端末装置100は、照合データMAを入力した利用者AのIDと共に暗号データEKA1(MA)を計算装置200へ送信する(S13)。
KA1(MA)=MA∧KA1
…(3)
利用者AのID及び暗号データEKA1(MA)を受信した計算装置200は、受信したIDに対応する暗号化登録データEKA2(EKA1(mA))を抽出する。そして、計算装置200は、暗号化登録データEKA2(EKA1(mA))と暗号データEKA1(MA)とを用いて、下記の式(4)で与えられる暗号化距離データEKA2(HV)を計算する(S14)。次いで、計算装置200は、暗号化距離データEKA2(HV)を判定装置300へ送信する(S15)。
KA2(HV)=EKA1(MA)∧EKA2(EKA1(mA))
…(4)
暗号化距離データEKA2(HV)を受信した判定装置300は、下記の式(5)に示すように、第2暗号鍵KA2を利用してハミングベクトルHVを計算する(S16)。次いで、判定装置300は、ハミングベクトルHVの長さLen(HV)と予め設定された閾値Thとを比較し、Len(HV)>Thであるか否かを判定する(S17)。
例えば、ハミングベクトルHVの長さLen(HV)は、HVにおけるビット値が「1」を示すビットの数である。HVが「00000101」で与えられる場合、Len(HV)は2となる。
S17でLen(HV)>Thであると判定した場合、判定装置300は、認証の失敗を示す判定結果(認証NG)を端末装置100へ送信する(S18)。一方、S17でLen(HV)>Thでないと判定した場合、判定装置300は、認証の成功を示す判定結果(認証OK)を端末装置100へ送信する(S18)。S18の処理が完了すると、図3に示した照合処理は終了する。
HV=EKA2(HV)∧KA2
…(5)
(登録処理の一例)
次に、図4を参照しながら、認証システムにおける登録処理の一例について説明する。なお、図4は、認証システムにおける登録処理の一例を示した図である。
図4に示すように、登録処理を開始した端末装置100は、第1暗号鍵KA1及び登録データmAを用いて、下記の式(6)で与えられる暗号データEKA1(mA)を計算する(S21)。次いで、端末装置100は、登録依頼と共に、利用者AのID及び暗号データEKA1(mA)を判定装置300へ送信する(S22)。
KA1(mA)=mA∧KA1
…(6)
登録依頼、ID、及び暗号データEKA1(mA)を受信した判定装置300は、第2の鍵KA2及び暗号データEKA1(mA)を用いて、下記の式(7)で与えられる暗号化登録データEKA1(EKA2(mA))を計算する(S23)。次いで、判定装置300は、S23で計算した暗号化登録データEKA1(EKA2(mA))を計算装置200へ送信する(S24)。
KA1(EKA2(mA))=EKA1(mA)∧KA2
…(7)
暗号化登録データEKA1(EKA2(mA))を受信した計算装置200は、暗号化登録データEKA1(EKA2(mA))の登録処理を実行する(S25)。S25の処理が完了すると、図4に示した登録処理は終了する。
(判定装置による不正登録について)
図2に例示した認証システムによれば、図4に例示した登録処理を実行できる。但し、図4に例示した登録処理の仕組みを適用した場合、図5に示すような判定装置300による不正登録のリスクが考えられる。なお、図5は、認証システムに含まれる判定装置による不正登録の一例を示した図である。
図5に示したS21、S22の処理は図4に示したS21、S22の処理と同じである。但し、図5の例では符号Qを付した枠内に示すように、判定装置300が、不正なデータYYを生成し(S31)、不正なデータYYを計算装置200へ送信している(S32)。不正なデータYYは、例えば、KA2そのものである。この場合、計算装置200により上記の不正なデータYYが登録される(S33)。
不正なデータYY(YY=KA2)が計算装置200に登録された場合、照合処理において次のような不正な処理が行われる可能性がある。
例えば、図3に例示した照合処理のうち、S13の処理で悪意を持った端末装置100から被認証情報として全てのビット値が「0」のバイナリデータ「00…0」が送信されると、計算装置200により下記の式(8)に示す演算が実行される。この場合、HVは全てのビット値が「0」のバイナリデータとなる。つまり、Len(HV)=0となる。従って、Len(HV)≦Thとなり、認証が成功する。
(00…0)∧YY=EKA2(00…0)
…(8)
図4に例示した登録処理の仕組みを適用すると、図5に示すような判定装置300による不正登録のリスクが考えられる。もちろん、判定装置300自身ではなく、判定装置300と計算装置200との間の通信に割り込み、判定装置300になりすまして第三者が不正なデータYYを計算装置200に登録する攻撃のリスクも考えられる。そこで、第2実施形態では、端末装置100が計算装置200へ直接データを登録できるようにする仕組みを認証システムに設ける方法を提案する。
(端末装置による直接登録について)
図6を参照しながら、端末装置100が計算装置200に暗号化登録データEKA2(EKA1(mA))を直接登録する方法について説明する。なお、図6は、第2実施形態に係る端末装置による直接登録の一例を示した図である。
図6に示すように、登録処理を開始した端末装置100は、第1暗号鍵KA1、第2暗号鍵KA2を生成する(S101)。次いで、端末装置100は、登録データmA、第1暗号鍵KA1、及び第2暗号鍵KA2を用いて、下記の式(9)に与えられる暗号化登録データEKA2(EKA1(mA))を計算する(S102)。次いで、端末装置100は、登録依頼と共に、利用者AのID、及びS102で計算した暗号化登録データEKA2(EKA1(mA))を計算装置200へ送信する(S103)。
KA2(EKA1(mA))=mA∧KA1∧KA2
…(9)
暗号化登録データEKA2(EKA1(mA))を受信した計算装置200は、暗号化登録データEKA2(EKA1(mA))の登録処理を実行する(S104)。また、端末装置100は、S101で生成した第2暗号鍵KA2を判定装置300へ送信する(S105)。第2暗号鍵KA2を受信した判定装置300は、受信した第2暗号鍵KA2を保持する(S106)。S106の処理が完了すると、図6に示した一連の処理は終了する。なお、S105、S106の処理は、S102の前に実行されてもよい。
上記の方法によれば、暗号化登録データEKA2(EKA1(mA))が端末装置100から計算装置200へ直接送信されるため、判定装置300により不正登録されるリスクが回避される。また、第2暗号鍵KA2が暗号化登録データEKA2(EKA1(mA))の計算時に利用した第2暗号鍵KA2が判定装置300へ送信されるため、図3に例示すような認証システムによる照合処理を実行することができる。
以上、第2実施形態に係る認証システムについて説明した。以下では、第2実施形態に係る認証システムの各装置について、さらに説明する。
[2−2.ハードウェア]
図7を参照しながら、端末装置100の機能を実現可能なハードウェアについて説明する。図7は、第2実施形態に係る暗号処理装置の機能を実現可能なハードウェアの一例を示した図である。
端末装置100が有する機能は、例えば、図7に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、端末装置100が有する機能は、コンピュータプログラムを用いて図7に示すハードウェアを制御することにより実現される。
図7に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。
これらの要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、タッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。
出力部918としては、例えば、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、又はELD(Electro-Luminescence Display)などのディスプレイ装置が用いられる。また、出力部918として、スピーカやヘッドホンなどのオーディオ出力装置、又はプリンタなどが用いられることもある。つまり、出力部918は、情報を視覚的又は聴覚的に出力することが可能な装置である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSD(Solid State Drive)やRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。
ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどが用いられる。
接続ポート924は、例えば、USB(Universal Serial Bus)ポート、IEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポート、又は光オーディオ端子など、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタなどが用いられる。
通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、有線又は無線LAN(Local Area Network)用の通信回路、WUSB(Wireless USB)用の通信回路、光通信用の通信回路やルータ、ADSL(Asymmetric Digital Subscriber Line)用の通信回路やルータ、携帯電話ネットワーク用の通信回路などが用いられる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、放送網、衛星通信回線などを含む。
以上、端末装置100の機能を実現可能なハードウェアについて説明した。なお、計算装置200、及び判定装置300の機能も図6に例示したハードウェアを利用して実現可能である。そのため、計算装置200、及び判定装置300の機能を実現可能なハードウェアについての詳細な説明は省略する。
[2−3.装置の機能]
次に、第2実施形態に係る認証システムに含まれる各装置の機能について説明する。
(端末装置の機能)
図8を参照しながら、端末装置100の機能について説明する。なお、図8は、第2実施形態に係る端末装置が有する機能の一例を示したブロック図である。
図8に示すように、端末装置100は、記憶部101と、鍵生成部102と、論理演算部103と、通信部104とを有する。
なお、記憶部101の機能は、上述したRAM906や記憶部920などを用いて実現できる。また、鍵生成部102、及び論理演算部103の機能は、上述したCPU902などを用いて実現できる。また、通信部104の機能は、上述した接続ポート924や通信部926などを用いて実現できる。
記憶部101には、第1暗号鍵101a、及び登録データ101bが格納される。なお、上述した第1暗号鍵KA1、KB1、…は、第1暗号鍵101aの一例である。また、上述した登録データmA、mB、…は、登録データ101bの一例である。以下では、簡単のため、第1暗号鍵KA1及び登録データmAに注目して説明を進める。
登録データmAに係る登録処理を実行する場合、鍵生成部102は、第1暗号鍵KA1及び第2暗号鍵KA2を生成する。鍵生成部102により生成された第1暗号鍵KA1及び第2暗号鍵KA2は、論理演算部103に入力される。また、第1暗号鍵KA1は記憶部101に格納され、第2暗号鍵KA2は通信部104に入力される。
第1暗号鍵KA1及び第2暗号鍵KA2が入力された論理演算部103は、記憶部101から登録データmAを読み出す。また、論理演算部103は、下記の式(10)に示すように、登録データmA、第1暗号鍵KA1、及び第2暗号鍵KA2の排他的論理和演算を実行して暗号化登録データEKA2(EKA1(mA))を生成する。論理演算部103により生成された暗号化登録データEKA2(EKA1(mA))は、通信部104に入力される。
KA2(EKA1(mA))=mA∧KA1∧KA2
…(10)
通信部104は、鍵生成部102により生成された第2暗号鍵KA2を判定装置300へ送信する。また、通信部104は、論理演算部103により生成された暗号化登録データEKA2(EKA1(mA))を計算装置200へ送信する。なお、登録データmAに係る登録処理を実行する場合について説明したが、他の登録データmB、…に係る登録処理についても同様である。また、記憶部101、論理演算部103、通信部104は、照合処理の際にも利用される。
(計算装置の機能)
次に、図9及び図10を参照しながら、計算装置200の機能について説明する。なお、図9は、第2実施形態に係る計算装置が有する機能の一例を示したブロック図である。また、図10は、第2実施形態に係る暗号化登録データの一例を示した図である。
図9に示すように、計算装置200は、記憶部201と、通信部202と、論理演算部203とを有する。
なお、記憶部201の機能は、上述したRAM906や記憶部920などを用いて実現できる。また、通信部202の機能は、上述した接続ポート924や通信部926などを用いて実現できる。また、論理演算部203の機能は、上述したCPU902などを用いて実現できる。
記憶部201には、暗号化登録データ201aが格納される。例えば、暗号化登録データ201aは、図10に示すように、利用者のIDと、暗号化登録データ201aとを対応付けたデータベースにより管理される。図10の例では、利用者AのIDと暗号化登録データEKA2(EKA1(mA))が対応付けられ、利用者BのIDと暗号化登録データEKB2(EKB1(mB))とが対応付けられている。
例えば、通信部202は、端末装置100から利用者AのID及び暗号化登録データEKA2(EKA1(mA))を受信する。そして、通信部202は、利用者AのID及び暗号化登録データEKA2(EKA1(mA))を対応付けて記憶部201に格納し、登録データmAに係る登録処理について計算装置200の処理を完了する。なお、暗号化登録データEKA2(EKA1(mA))の登録処理について説明したが、他の暗号化登録データEKB2(EKB1(mB))、…の登録処理についても同様である。
なお、論理演算部203は、照合処理の際に利用される。例えば、通信部202が端末装置100から暗号データEKA1(MA)を受信した場合、論理演算部203は、記憶部201に格納されている暗号化登録データEKA2(EKA1(mA))と暗号化登録データEKA2(EKA1(mA))との排他的論理和演算(上記の式(4)を参照)を実行し、暗号化距離データEKA2(HV)を計算する。そして、論理演算部203は、通信部202を介して、暗号化距離データEKA2(HV)を判定装置300へ送信する。
(判定装置の機能)
次に、図11を参照しながら、判定装置300の機能について説明する。なお、図11は、第2実施形態に係る判定装置が有する機能の一例を示したブロック図である。
図11に示すように、判定装置300は、記憶部301と、通信部302と、論理演算部303と、判定部304とを有する。
なお、記憶部301の機能は、上述したRAM906や記憶部920などを用いて実現できる。通信部302の機能は、上述した接続ポート924や通信部926などを用いて実現できる。論理演算部303、及び判定部304の機能は、上述したCPU902などを用いて実現できる。
記憶部301には、第2暗号鍵301aが格納される。なお、上述した第2暗号鍵KA2、KB2、…は、第2暗号鍵301aの一例である。
登録データmAの登録処理を実行する場合、通信部302は、端末装置100から第2暗号鍵KA2を受信する。そして、通信部302は、第2暗号鍵KA2を記憶部301に格納し、登録データmAに係る登録処理について判定装置300の処理を完了する。なお、登録データmAに係る登録処理について説明したが、他の登録データmB、…に係る登録処理についても同様である。
なお、論理演算部303、及び判定部304は、照合処理の際に利用される。例えば、登録データmAと照合される照合データMAの判定依頼を通信部302が受信した場合、利用者AのIDを論理演算部303に入力する。その後、通信部302が計算装置200から暗号化距離データEKA2(HV)を受信した場合、論理演算部303は、暗号化距離データEKA2(HV)と第2暗号鍵KA2との排他的論理和演算(上記の式(5)を参照)を実行し、ハミングベクトルHV(HV=mA∧MA)を計算する。
論理演算部303により計算されたハミングベクトルHVは、判定部304に入力される。ハミングベクトルHVが入力された判定部304は、ハミングベクトルHVの長さLen(HV)を求め、Len(HV)と予め設定された閾値Thとを比較する。Len(HV)>Thである場合、判定部304は、通信部302を介して、認証の失敗を示す判定結果(認証NG)を端末装置100へ送信する。Len(HV)>Thでない場合、判定部304は、通信部302を介して、認証の成功を示す判定結果(認証OK)を端末装置100へ送信する。
以上、第2実施形態に係る認証システムに含まれる各装置の機能について説明した。
上記のように、第2実施形態に係る認証システムにおいては、端末装置100が暗号化登録データEKA2(EKA1(mA))を計算装置200へ直接登録する。そのため、登録処理に際して端末装置100の知らないところで、判定装置300により不正なデータが計算装置200に登録されるリスクを抑制することができる。
[2−4.鍵生成関数の利用について]
ここで、図12を参照しながら、鍵生成関数の利用について説明する。なお、図12は、第2実施形態に係る鍵生成関数の利用について説明するための図である。
これまで、端末装置100が第1暗号鍵KA1及び第2暗号鍵KA2を生成し、端末装置100が計算装置200に暗号化登録データEKA2(EKA1(mA))を直接登録する仕組みについて説明してきた。
上記の仕組みを適用する場合、端末装置100から第1暗号鍵KA1及び第2暗号鍵KA2が漏洩すると、計算装置200が保持する暗号化登録データEKA2(EKA1(mA))から登録データmAそのものが漏洩するリスクが生じる。そのため、端末装置100で第1暗号鍵KA1及び第2暗号鍵KA2を安全に管理する仕組みが設けられる。
例えば、登録処理の後、耐タンパ性を有するIC(Integrated Circuit)カードに第1暗号鍵KA1を格納し、端末装置100から第1暗号鍵KA1及び第2暗号鍵KA2を消去する方法が考えられる。そして、照合処理の都度、ICカードから第1暗号鍵KA1が読み出されるようにする。他の方法として、図12に示すように、鍵生成関数及び暗号化関数を利用して、パスワードから第1暗号鍵KA1と第2暗号鍵KA2とのペアを生成する方法が考えられる。
鍵生成関数としては、例えば、PKCS(Public Key Cryptography Standards)#5などで規定されているPBKDF(Password Based Key Derivation Function)などを利用することができる。PBKDFには、パスワードの他、乱数、ソルト、パラメータ(繰り返し回数や暗号鍵のビット長)などが入力され、暗号鍵が出力される。図12の例では、鍵生成関数から中間鍵Kmが出力される。
鍵生成関数から出力された中間鍵Kmは、2つの暗号化関数に入力される。暗号化関数としては、例えば、ハッシュ関数や他の一方向性関数などが利用可能である。一方の暗号化関数には固定値MU1が入力され、他方の暗号化関数には固定値MU2(MU1≠MU2)が入力される。2つの固定値MU1、MU2は利用者毎に設定される。
端末装置100(鍵生成部102)は、一方の暗号化関数の出力を第1暗号鍵KA1、他方の暗号化関数の出力を第2暗号鍵KA2として利用する。このように、鍵生成関数を利用することで、端末装置100から第1暗号鍵KA1及び第2暗号鍵KA2が漏洩するリスクが抑制される。また、ICカードを利用する場合に比べると低コストである。
以上、鍵生成関数の利用について説明した。
[2−5.装置の動作]
次に、第2実施形態に係る認証システムに含まれる各装置の動作について説明する。但し、ここでは登録データmAに係る登録処理の動作について説明する。
(端末装置の動作)
まず、図13を参照しながら、端末装置100の動作について説明する。なお、図13は、第2実施形態に係る端末装置の動作例を示したフロー図である。
図13に示すように、利用者Aの登録データmAに係る登録処理を開始した端末装置100は、鍵生成部102の機能により、第1暗号鍵KA1及び第2暗号鍵KA2を生成する(S111)。次いで、端末装置100は、通信部104の機能により、S111で生成した第2暗号鍵KA2を判定装置300へ送信する(S112)。なお、S112の処理は、後述するS113又はS114の処理後に実行してもよい。
次いで、端末装置100は、論理演算部103の機能により、登録データmA、第1暗号鍵KA1、及び第2暗号鍵KA2の排他的論理和演算(上記の式(9)を参照)を実行し、暗号化登録データEKA2(EKA1(mA))を計算する(S113)。次いで、端末装置100は、通信部104の機能により、利用者AのIDと共に、S113で計算した暗号化登録データEKA2(EKA1(mA))を計算装置200へ送信する(S114)。S114の処理が完了すると、図13に示した一連の処理は終了する。
(判定装置の動作)
次に、図14を参照しながら、判定装置300の動作について説明する。なお、図14は、第2実施形態に係る計算装置の動作例を示したフロー図である。
図14に示すように、判定装置300は、通信部302の機能により、第2暗号鍵KA2を端末装置100から受信する(S121)。次いで、判定装置300は、通信部302の機能により、S121で受信した第2暗号鍵KA2を記憶部301に格納する(S122)。S122の処理が完了すると、図14に示した一連の処理は終了する。
(計算装置の動作)
次に、図15を参照しながら、計算装置200の動作について説明する。なお、図15は、第2実施形態に係る判定装置の動作例を示したフロー図である。
図15に示すように、計算装置200は、通信部202の機能により、暗号化登録データEKA2(EKA1(mA))を端末装置100から受信する(S131)。次いで、計算装置200は、S131で受信した暗号化登録データEKA2(EKA1(mA))を記憶部201に格納する(S132)。S132の処理が完了すると、図15に示した一連の処理は終了する。
以上、第2実施形態に係る認証システムに含まれる各装置の動作について説明した。
上記のように、端末装置100が暗号化登録データEKA2(EKA1(mA))を計算装置200へ直接登録することで、判定装置300により不正なデータが計算装置200に登録されるリスクを抑制することができる。
以上、第2実施形態について説明した。
<3.変形例(一時鍵の利用)>
次に、第2実施形態の一変形例(以下、本変形例)について説明する。本変形例は、第2暗号鍵KA2を判定装置300が予め保持し、かつ、端末装置100が第2暗号鍵KA2を保持していない状態で、端末装置100が登録データmAの暗号データを計算装置200に直接登録できるようにする方法に関する。
(一時鍵を利用して不正登録を防止する方法について)
図16を参照しながら、本変形例に係る上記の方法について説明する。なお、図16は、第2実施形態の一変形例に係る端末装置による直接登録の一例を示した図である。この方法では、登録処理の際に毎回更新される一時鍵Ktが利用される。
図16に示すように、登録データmAに係る登録処理を開始する端末装置100は、第1暗号鍵KA1及び一時鍵Ktを生成する(S201)。次いで、端末装置100は、登録データmA、第1暗号鍵KA1及び一時鍵Ktの排他的論理和演算を実行し、下記の式(11)で与えられる暗号データEKt(EKA1(mA))を計算する(S202)。
Kt(EKA1(mA))=mA∧KA1∧Kt
…(11)
次いで、端末装置100は、利用者AのIDと共に、一時鍵Ktを判定装置300へ送信する(S203)。また、端末装置100は、登録依頼と共に、利用者AのID、及びS202で計算した暗号データEKt(EKA1(mA))を計算装置200へ送信する(S204)。なお、S203、S204の処理は順序を入れ替えてもよい。
ID及び一時鍵Ktを受信した判定装置300は、下記の式(12)に示すように、一時鍵Ktと第2暗号鍵KA2との排他的論理和演算を実行し、暗号化鍵データEKt(KA2)を計算する(S205)。次いで、判定装置300は、S205で計算した暗号化鍵データEKt(KA2)を計算装置200へ送信する(S206)。
Kt(KA2)=Kt∧KA2
…(12)
登録依頼、ID、暗号データEKt(EKA1(mA))、及び暗号化鍵データEKt(KA2)を受信した計算装置200は、下記の式(13)に示す排他的論理和演算により、暗号化登録データEKA2(EKA1(mA))を計算する(S207)。つまり、S207の処理において、計算装置200は、暗号データEKt(EKA1(mA))と暗号化鍵データEKt(KA2)との排他的論理和演算を実行する。
KA2(EKA1(mA))=EKt(EKA1(mA))∧EKt(KA2)
…(13)
次いで、計算装置200は、暗号化登録データEKA2(EKA1(mA))を記憶部101に格納し、暗号化登録データEKA2(EKA1(mA))を登録する(S208)。S208の処理が完了すると、図16に示した一連の登録処理は終了する。
上記のように、一時鍵Ktを利用することで、判定装置300が第2暗号鍵KA2を予め保持している場合でも端末装置100により登録データmAを暗号化したデータを計算装置200へ直接送信することが可能になる。その結果、判定装置300により不正なデータが計算装置200に登録されるリスクを抑制することができる。
[3−1.装置の機能]
ここで、本変形例に係る端末装置100、計算装置200、判定装置300の機能について説明する。但し、図8、図9、図11のブロック図に示された機能から変形された部分について説明し、共通する部分については詳細な説明を省略する。
(端末装置の機能)
端末装置100は、主に鍵生成部102、及び論理演算部103の機能が変形される。本変形例に係る鍵生成部102は、第1暗号鍵KA1及び一時鍵Ktを生成する。また、本変形例に係る論理演算部103は、上記の式(11)に従って暗号データEKt(EKA1(mA))を計算する。そして、通信部104は、第2暗号鍵KA2ではなく一時鍵Ktを判定装置300へ送信し、暗号化登録データEKA2(EKA1(mA))ではなく暗号データEKt(EKA1(mA))を計算装置200へ送信する。
(計算装置の機能)
計算装置200は、主に論理演算部203の機能が変形される。本変形例に係る論理演算部203は、端末装置100から受信した暗号データEKt(EKA1(mA))と、判定装置300から受信した暗号化鍵データEKt(KA2)とに基づき、上記の式(13)に従って暗号化登録データEKA2(EKA1(mA))を計算する。
(判定装置の機能)
判定装置300は、主に論理演算部303の機能が変形される。また、記憶部301に予め第2暗号鍵KA2が格納されている。本変形例に係る論理演算部303は、端末装置100から受信した一時鍵Ktに基づき、上記の式(12)に従って暗号化鍵データEKt(KA2)を計算する。そして、通信部302は、暗号化鍵データEKt(KA2)を計算装置200へ送信する。
以上、本変形例に係る端末装置100、計算装置200、判定装置300の機能について説明した。上記のように、第1暗号鍵KA1が端末装置100で管理され、第2暗号鍵KA2が判定装置300で管理されるため、第1暗号鍵KA1及び第2暗号鍵KA2が両方漏洩して登録データmAが窃取されるリスクが低減される。
[3−2.装置の動作]
次に、本変形例に係る認証システムに含まれる各装置の動作について説明する。但し、ここでは登録データmAに係る登録処理の動作について説明する。
(端末装置の動作)
まず、図17を参照しながら、本変形例に係る端末装置100の動作について説明する。なお、図17は、第2実施形態に係る端末装置の動作例を示したフロー図である。
図17に示すように、端末装置100は、鍵生成部102の機能により、第1暗号鍵KA1及び一時鍵Ktを生成する(S211)。なお、第1暗号鍵KA1及び一時鍵Ktは、図12に示したような鍵生成関数を利用して生成されてもよい。次いで、端末装置100は、通信部104の機能により、S211で生成した一時鍵Ktを判定装置300へ送信する(S212)。
次いで、端末装置100は、論理演算部103の機能により、登録データmA、第1暗号鍵KA1、及び一時鍵Ktの排他的論理和演算(上記の式(11)を参照)を実行し、暗号データEKt(EKA1(mA))を計算する(S213)。次いで、端末装置100は、通信部104の機能により、利用者AのIDと共に、S213で計算した暗号データEKt(EKA1(mA))を計算装置200へ送信する(S214)。S214の処理が完了すると、図17に示した一連の処理は終了する。
(判定装置の動作)
次に、図18を参照しながら、本変形例に係る判定装置300の動作について説明する。なお、図18は、第2実施形態に係る判定装置の動作例を示したフロー図である。
図18に示すように、判定装置300は、通信部302の機能により、一時鍵Ktを端末装置100から受信する(S221)。次いで、判定装置300は、論理演算部303の機能により、一時鍵Ktと第2暗号鍵KA2との排他的論理和演算(上記の式(12)を参照)を実行し、暗号化鍵データEKt(KA2)を計算する(S222)。
次いで、判定装置300は、通信部302の機能により、S222で計算した暗号化鍵データEKt(KA2)を計算装置200へ送信する(S223)。S223の処理が完了すると、図18に示した一連の処理は終了する。
(計算装置の動作)
次に、図19を参照しながら、本変形例に係る計算装置200の動作について説明する。なお、図19は、第2実施形態に係る計算装置の動作例を示したフロー図である。
図19に示すように、計算装置200は、通信部202の機能により、暗号データEKt(EKA1(mA))を端末装置100から受信する(S231)。次いで、計算装置200は、通信部202の機能により、暗号化鍵データEKt(KA2)を判定装置300から受信する(S232)。
次いで、計算装置200は、論理演算部203の機能により、S231で受信した暗号データEKt(EKA1(mA))とS232で受信した暗号化鍵データEKt(KA2)とを用い、暗号化登録データEKA2(EKA1(mA))を計算する(S234)。S234の処理において、暗号化登録データEKA2(EKA1(mA))は、例えば、上記の式(13)に従って計算される。
次いで、計算装置200は、論理演算部203の機能により、暗号化登録データEKA2(EKA1(mA))を記憶部201に格納する(S235)。S235の処理が完了すると、図19に示した一連の処理は終了する。
以上、第2実施形態に係る認証システムに含まれる各装置の動作について説明した。
上記のように、端末装置100が暗号化登録データEKA2(EKA1(mA))を計算装置200へ直接登録することで、判定装置300により不正なデータが計算装置200に登録されるリスクを抑制することができる。また、第1暗号鍵KA1が端末装置100で管理され、第2暗号鍵KA2が判定装置300で管理されるため、第1暗号鍵KA1及び第2暗号鍵KA2が両方漏洩して登録データmAが窃取されるリスクが低減される。
以上、第2実施形態の一変形例について説明した。
<4.付記>
以上説明した実施形態に関し、さらに以下の付記を開示する。
(付記1) 第1の鍵を保持し、認証の際に被認証データを受け付けるコンピュータに対し、
前記被認証データと照合される登録データを前記第1の鍵及び第2の鍵で二重に暗号化した暗号化登録データが登録される計算装置、及び、認証の際に前記第2の鍵を利用する判定装置と通信して前記計算装置に前記暗号化登録データを登録する際、
前記第1の鍵とは異なる鍵を生成し、当該異なる鍵を前記判定装置に送信し、
前記第1の鍵及び前記異なる鍵で前記登録データを二重に暗号化した暗号データを生成し、当該暗号データを前記計算装置に送信する
処理を実行させる、プログラム。
(付記2) 前記異なる鍵は前記第2の鍵であり、
前記計算装置は、前記暗号データを用いて前記暗号化登録データの登録処理を実行する
付記1に記載のプログラム。
(付記3) 前記異なる鍵は、前記計算装置に前記暗号化登録データを登録する度に新たに生成される一時鍵であり、
前記判定装置は、
前記第2の鍵を保持しており、前記一時鍵で前記第2の鍵を暗号化した暗号化鍵データを生成し、当該暗号化鍵データを前記計算装置へと送信し、
前記計算装置は、前記暗号データと前記暗号化鍵データとを用いて前記暗号化登録データを生成し、当該暗号化登録データの登録処理を実行する
付記1に記載のプログラム。
(付記4) 前記第1の鍵及び前記異なる鍵の少なくとも1つは、設定された鍵生成関数を利用して生成される
付記1〜3のいずれかに記載のプログラム。
(付記5) 第1の鍵を保持し、認証の際に被認証データを受け付けるコンピュータが、
前記被認証データと照合される登録データを前記第1の鍵及び第2の鍵で二重に暗号化した暗号化登録データが登録される計算装置、及び、認証の際に前記第2の鍵を利用する判定装置と通信して前記計算装置に前記暗号化登録データを登録する際、
前記第1の鍵とは異なる鍵を生成し、当該異なる鍵を前記判定装置に送信し、
前記第1の鍵及び前記異なる鍵で前記登録データを二重に暗号化した暗号データを生成し、当該暗号データを前記計算装置に送信する
暗号処理方法。
(付記6) 第1の鍵を保持し、認証の際に被認証データを受け付ける暗号処理装置であって、
前記被認証データと照合される登録データを前記第1の鍵及び第2の鍵で二重に暗号化した暗号化登録データが登録される計算装置、及び、認証の際に前記第2の鍵を利用する判定装置と通信する通信部と、
前記計算装置に前記暗号化登録データを登録する際、前記第1の鍵とは異なる鍵を生成し、前記第1の鍵及び前記異なる鍵で前記登録データを二重に暗号化した暗号データを生成し、前記通信部を介して、当該異なる鍵を前記判定装置に送信し、当該暗号データを前記計算装置に送信する演算部と、
を有する、暗号処理装置。
(付記7) 前記異なる鍵は前記第2の鍵であり、
前記計算装置は、前記暗号データを用いて前記暗号化登録データの登録処理を実行する
付記6に記載の暗号処理装置。
(付記8) 前記異なる鍵は、前記計算装置に前記暗号化登録データを登録する度に新たに生成される一時鍵であり、
前記判定装置は、
前記第2の鍵を保持しており、前記一時鍵で前記第2の鍵を暗号化した暗号化鍵データを生成し、当該暗号化鍵データを前記計算装置へと送信し、
前記計算装置は、前記暗号データと前記暗号化鍵データとを用いて前記暗号化登録データを生成し、当該暗号化登録データの登録処理を実行する
付記6に記載の暗号処理装置。
(付記9) 前記第1の鍵及び前記異なる鍵の少なくとも1つは、設定された鍵生成関数を利用して生成される
付記6〜8のいずれかに記載の暗号処理装置。
(付記10) 付記1〜4のいずれかに記載のプログラムが記録された、コンピュータにより読み取り可能な記録媒体。
(付記11) 認証の際に被認証データを受け付ける端末装置、前記被認証データと照合される登録データを第1の鍵及び第2の鍵で二重に暗号化した暗号化登録データが登録される計算装置、及び、認証の際に前記第2の鍵を利用する判定装置を含み、前記端末装置が受け付けた被認証データと前記登録データとの一致度から認証の成否を判定する認証システムであって、
前記端末装置は、
前記第1の鍵を保持し、前記第2の鍵を生成し、前記第1の鍵及び前記第2の鍵で前記登録データを二重に暗号化して前記暗号化登録データを生成し、前記暗号化登録データを前記計算装置に送信し、前記第2の鍵を前記判定装置に送信し、
前記計算装置は、
前記端末装置から受信した前記暗号化登録データの登録処理を実行し、
前記判定装置は、
前記端末装置から受信した前記第2の鍵を保持する
認証システム。
(付記12) 認証の際に被認証データを受け付ける端末装置、前記被認証データと照合される登録データを第1の鍵及び第2の鍵で二重に暗号化した暗号化登録データが登録される計算装置、及び、認証の際に前記第2の鍵を利用する判定装置を含み、前記端末装置が受け付けた被認証データと前記登録データとの一致度から認証の成否を判定する認証システムであって、
前記端末装置は、
前記第1の鍵を保持し、前記暗号化登録データを登録する度に新たに生成される一時鍵を生成し、前記第1の鍵及び前記一時鍵で前記登録データを二重に暗号化した暗号データを生成し、当該暗号データを前記計算装置に送信し、前記一時鍵を前記判定装置に送信し、
前記判定装置は、
前記第2の鍵を生成し、当該第2の鍵を前記端末装置から受信した一時鍵で暗号化して暗号化鍵データを生成し、当該暗号化鍵データを前記計算装置に送信し、
前記計算装置は、
前記端末装置から受信した暗号データと前記判定装置から受信した暗号化鍵データとを用いて前記暗号化登録データを生成し、当該暗号化登録データの登録処理を実行する
認証システム。
10 暗号処理装置
11 通信部
12 演算部
20 計算装置
30 判定装置
KA1 第1の鍵
KA2 第2の鍵
K 異なる鍵
A 登録データ
C1 暗号データ
C2 暗号化登録データ

Claims (6)

  1. 第1の鍵を保持し、認証の際に被認証データを受け付けるコンピュータに対し、
    前記被認証データと照合される登録データを前記第1の鍵及び第2の鍵で二重に暗号化した暗号化登録データが登録される計算装置、及び、認証の際に前記第2の鍵を利用する判定装置と通信して前記計算装置に前記暗号化登録データを登録する際、
    前記第1の鍵とは異なる鍵を生成し、当該異なる鍵を前記判定装置に送信し、
    前記第1の鍵及び前記異なる鍵で前記登録データを二重に暗号化した暗号データを生成し、当該暗号データを前記計算装置に送信する
    処理を実行させる、プログラム。
  2. 前記異なる鍵は前記第2の鍵であり、
    前記計算装置は、前記暗号データを用いて前記暗号化登録データの登録処理を実行する
    請求項1に記載のプログラム。
  3. 前記異なる鍵は、前記計算装置に前記暗号化登録データを登録する度に新たに生成される一時鍵であり、
    前記判定装置は、
    前記第2の鍵を保持しており、前記一時鍵で前記第2の鍵を暗号化した暗号化鍵データを生成し、当該暗号化鍵データを前記計算装置へと送信し、
    前記計算装置は、前記暗号データと前記暗号化鍵データとを用いて前記暗号化登録データを生成し、当該暗号化登録データの登録処理を実行する
    請求項1に記載のプログラム。
  4. 前記第1の鍵及び前記異なる鍵の少なくとも1つは、設定された鍵生成関数を利用して生成される
    請求項1〜3のいずれか1項に記載のプログラム。
  5. 第1の鍵を保持し、認証の際に被認証データを受け付けるコンピュータが、
    前記被認証データと照合される登録データを前記第1の鍵及び第2の鍵で二重に暗号化した暗号化登録データが登録される計算装置、及び、認証の際に前記第2の鍵を利用する判定装置と通信して前記計算装置に前記暗号化登録データを登録する際、
    前記第1の鍵とは異なる鍵を生成し、当該異なる鍵を前記判定装置に送信し、
    前記第1の鍵及び前記異なる鍵で前記登録データを二重に暗号化した暗号データを生成し、当該暗号データを前記計算装置に送信する
    暗号処理方法。
  6. 第1の鍵を保持し、認証の際に被認証データを受け付ける暗号処理装置であって、
    前記被認証データと照合される登録データを前記第1の鍵及び第2の鍵で二重に暗号化した暗号化登録データが登録される計算装置、及び、認証の際に前記第2の鍵を利用する判定装置と通信する通信部と、
    前記計算装置に前記暗号化登録データを登録する際、前記第1の鍵とは異なる鍵を生成し、前記第1の鍵及び前記異なる鍵で前記登録データを二重に暗号化した暗号データを生成し、前記通信部を介して、当該異なる鍵を前記判定装置に送信し、当該暗号データを前記計算装置に送信する演算部と、
    を有する、暗号処理装置。
JP2014070845A 2014-03-31 2014-03-31 プログラム、暗号処理方法、及び暗号処理装置 Pending JP2015192446A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014070845A JP2015192446A (ja) 2014-03-31 2014-03-31 プログラム、暗号処理方法、及び暗号処理装置
US14/667,832 US9712499B2 (en) 2014-03-31 2015-03-25 Method and apparatus for cryptographic processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014070845A JP2015192446A (ja) 2014-03-31 2014-03-31 プログラム、暗号処理方法、及び暗号処理装置

Publications (1)

Publication Number Publication Date
JP2015192446A true JP2015192446A (ja) 2015-11-02

Family

ID=54191992

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014070845A Pending JP2015192446A (ja) 2014-03-31 2014-03-31 プログラム、暗号処理方法、及び暗号処理装置

Country Status (2)

Country Link
US (1) US9712499B2 (ja)
JP (1) JP2015192446A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019124164A1 (ja) * 2017-12-22 2019-06-27 学校法人東京理科大学 暗号データ処理システム、及びプログラム
WO2025004240A1 (ja) * 2023-06-28 2025-01-02 日本電気株式会社 情報処理システム、情報処理装置、情報処理方法及び記録媒体

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6738061B2 (ja) * 2014-11-05 2020-08-12 日本電気株式会社 暗号文照合システム、方法、および記録媒体
US10503915B2 (en) * 2015-02-24 2019-12-10 Nec Corporation Encrypted text verification system, method and recording medium
NL2014743B1 (en) * 2015-04-30 2017-01-18 Ubiqu B V A first entity, a second entity, an intermediate node, methods for setting up a secure session between a first and second entity, and computer program products.
CN105357003B (zh) * 2015-11-19 2018-10-16 广东小天才科技有限公司 一种加密数据的方法及装置
JP6645572B2 (ja) * 2016-03-31 2020-02-14 日本電気株式会社 生体データ登録支援装置、生体データ登録支援システム、生体データ登録支援方法、生体データ登録支援プログラム
CN108334789B (zh) * 2018-01-16 2020-09-01 维沃移动通信有限公司 一种数据传输的方法及终端
FI4109813T3 (fi) * 2020-02-18 2024-10-31 Univ Tokyo Science Found Salausvarmennusjärjestelmä, päätelaite, palvelupalvelin sekä ohjelma

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040010A (ja) * 2004-07-28 2006-02-09 Nec Corp ハイブリッド本人確認システム、受付端末、本人確認端末、ハイブリッド本人確認方法およびプログラム
JP2010114682A (ja) * 2008-11-06 2010-05-20 Japan Science & Technology Agency ストレージノード用再暗号化システム及び方法
JP2010238102A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd 情報処理装置、認証システム、認証方法、認証装置及びプログラム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418854A (en) 1992-04-28 1995-05-23 Digital Equipment Corporation Method and apparatus for protecting the confidentiality of passwords in a distributed data processing system
US5835599A (en) 1996-04-15 1998-11-10 Vlsi Technology, Inc. Muti-cycle non-parallel data encryption engine
US6317834B1 (en) * 1999-01-29 2001-11-13 International Business Machines Corporation Biometric authentication system with encrypted models
US20070156587A1 (en) * 2000-01-06 2007-07-05 Super Talent Electronics Inc. Content Protection Using Encryption Key Embedded with Content File
JP2001209583A (ja) 2000-01-26 2001-08-03 Sony Corp データ記録再生器およびセーブデータ処理方法、並びにプログラム提供媒体
GB0004287D0 (en) * 2000-02-23 2000-04-12 Leeper Kim System and method for authenticating electronic documents
JP2003535559A (ja) * 2000-06-02 2003-11-25 キネティック サイエンシーズ インコーポレイテッド 電子メールの生物測定暗号化方法
JP2005130384A (ja) 2003-10-27 2005-05-19 Kddi Corp 生体認証システム及び生体認証方法
DE102005014194B4 (de) * 2005-03-29 2006-12-14 Axel Ahnert Lesegerät mit integrierter Kryptographieeinheit
US7596812B2 (en) * 2005-06-14 2009-09-29 Motorola, Inc. System and method for protected data transfer
US20070050303A1 (en) * 2005-08-24 2007-03-01 Schroeder Dale W Biometric identification device
US8566247B1 (en) * 2007-02-19 2013-10-22 Robert H. Nagel System and method for secure communications involving an intermediary
JP5439770B2 (ja) * 2008-09-05 2014-03-12 富士通株式会社 生体認証装置
WO2014209190A1 (en) * 2013-06-28 2014-12-31 Telefonaktiebolaget L M Ericsson (Publ) Encrypting and storing data
US9413759B2 (en) * 2013-11-27 2016-08-09 At&T Intellectual Property I, Lp Apparatus and method for secure delivery of data from a communication device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006040010A (ja) * 2004-07-28 2006-02-09 Nec Corp ハイブリッド本人確認システム、受付端末、本人確認端末、ハイブリッド本人確認方法およびプログラム
JP2010114682A (ja) * 2008-11-06 2010-05-20 Japan Science & Technology Agency ストレージノード用再暗号化システム及び方法
JP2010238102A (ja) * 2009-03-31 2010-10-21 Fujitsu Ltd 情報処理装置、認証システム、認証方法、認証装置及びプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019124164A1 (ja) * 2017-12-22 2019-06-27 学校法人東京理科大学 暗号データ処理システム、及びプログラム
JPWO2019124164A1 (ja) * 2017-12-22 2021-02-12 学校法人東京理科大学 暗号データ処理システム、及びプログラム
US11431686B2 (en) 2017-12-22 2022-08-30 Tokyo University Of Science Foundation Encrypted data processing system and program
JP7165414B2 (ja) 2017-12-22 2022-11-04 学校法人東京理科大学 暗号データ処理システム、及びプログラム
WO2025004240A1 (ja) * 2023-06-28 2025-01-02 日本電気株式会社 情報処理システム、情報処理装置、情報処理方法及び記録媒体

Also Published As

Publication number Publication date
US9712499B2 (en) 2017-07-18
US20150281188A1 (en) 2015-10-01

Similar Documents

Publication Publication Date Title
US12244739B2 (en) Confidential authentication and provisioning
US10797879B2 (en) Methods and systems to facilitate authentication of a user
US9875368B1 (en) Remote authorization of usage of protected data in trusted execution environments
US9712499B2 (en) Method and apparatus for cryptographic processing
US8462955B2 (en) Key protectors based on online keys
US8509449B2 (en) Key protector for a storage volume using multiple keys
CN110009346A (zh) 用于拆分和恢复密钥的方法、程序产品、存储介质和系统
WO2019020051A1 (zh) 一种安全认证的方法及装置
US9647842B2 (en) Dual-party session key derivation
US12255880B2 (en) Cryptographic device, system and method thereof
JP7259868B2 (ja) システムおよびクライアント
WO2020121461A1 (ja) 照合システム、クライアントおよびサーバ
TW201426383A (zh) 身份驗證系統及方法
JP7231023B2 (ja) 照合システム、クライアントおよびサーバ
WO2016054905A1 (zh) 一种数据处理方法
CN110557246A (zh) 基于一次性非对称密钥对和可移动身份识别装置的抗量子计算门禁方法和系统
KR20200016506A (ko) 익명 디지털 아이덴티티 수립 방법
CN117176353A (zh) 处理数据的方法及装置
CN112784249B (zh) 实现无标识情形下进行移动终端认证处理的方法、系统、处理器及其计算机可读存储介质
Xie et al. Biometrics based authentication scheme for session initiation protocol
JP2015192352A (ja) プログラム、暗号処理方法、及び暗号処理装置
TWI381696B (zh) 基於利用個人化秘密的rsa非對稱式密碼學之使用者認證
KR102791218B1 (ko) 다자간 컴퓨팅 디지털 서명 장치 및 방법
US11979501B2 (en) Optimized access in a service environment
TWI746504B (zh) 實現會話標識同步的方法及裝置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180619