(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-07-29
(45)【発行日】2022-08-08
(54)【発明の名称】電子認証方法及びプログラム
(51)【国際特許分類】
H04L 9/32 20060101AFI20220801BHJP
G06F 21/31 20130101ALI20220801BHJP
【FI】
H04L9/32 200Z
G06F21/31
(21)【出願番号】P 2018550251
(86)(22)【出願日】2017-11-09
(86)【国際出願番号】 JP2017040432
(87)【国際公開番号】W WO2018088475
(87)【国際公開日】2018-05-17
【審査請求日】2020-11-09
(31)【優先権主張番号】P 2016218939
(32)【優先日】2016-11-09
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】516260888
【氏名又は名称】ソラミツ株式会社
(74)【代理人】
【識別番号】100094569
【氏名又は名称】田中 伸一郎
(74)【代理人】
【識別番号】100103610
【氏名又は名称】▲吉▼田 和彦
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【識別番号】100086771
【氏名又は名称】西島 孝喜
(74)【代理人】
【識別番号】100109335
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100120525
【氏名又は名称】近藤 直樹
(74)【代理人】
【識別番号】100139712
【氏名又は名称】那須 威夫
(74)【代理人】
【識別番号】100122563
【氏名又は名称】越柴 絵里
(72)【発明者】
【氏名】武宮 誠
(72)【発明者】
【氏名】岡田 隆
(72)【発明者】
【氏名】米津 武至
【審査官】行田 悦資
(56)【参考文献】
【文献】米国特許出願公開第2015/0128240(US,A1)
【文献】特開2015-146165(JP,A)
【文献】淵田 康之,ブロックチェーンと金融取引の革新,野村資本市場クォータリー,日本,株式会社野村資本市場研究所,2015年11月01日,Vol.19,No.2,pp.11-35
【文献】ブロックチェーン過熱 JPモルガンやIBMも夢中に part3 4社が試す潜在能力,日経コンピュータ,日本,日経BP社,2016年07月07日,pp.32-35
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/31
(57)【特許請求の範囲】
【請求項1】
ネットワーク上に接続する複数のコンピュータを用いて認証処理を行うためのプログラムであって、
前記複数のコンピュータに含まれる一のコンピュータは、ユーザ登録のリクエストに応答して、前記ネットワーク上に個人又は組織体を特定する情報を含む
初期登録データを出力する処理と、
前記複数のコンピュータに含まれる前記一のコンピュータ以外の少なくとも1以上のコンピュータは、前記ネットワーク上に出力された前記
初期登録データを取り込み、同一の演算を実行することによりコンピュータ間の合意形成が得られた場合に前記複数のコンピュータは各自の記録媒体に前記
初期登録データを記憶する処理と、
前記複数のコンピュータに含まれる任意のコンピュータが、前記ユーザ登録したユーザの本人認証の要求を事業体又は個人から受けた場合、
前記ユーザとの送受信のための一時的な秘密鍵及び公開鍵のキーペアを作成し、前記ユーザから本人認証データを受信すると、前記複数のコンピュータの少なくとも1つのコンピュータが自身の記録媒体に前記
初期登録データが記憶されているか否かを判定する処理と、
前記
初期登録データが記憶され
且つ前記ユーザからの前記本人認証データが前記初期登録データと同一である場合、前記本人認証を要求する事業体又は個人に対し、本人認証済みの報告を送信する
と共に前記キーペアを破棄する処理と、
が実行されるようにする、プログラム。
【請求項2】
前記複数のコンピュータの各コンピュータの記録媒体には、前記
初期登録データが完全同一で記憶されている、請求項1に記載のプログラム。
【請求項3】
前記合意形成の有無は、前記各コンピュータによる演算結果の一致が所定数以上か否かにより決定する、請求項1又は2に記載のプログラム。
【請求項4】
ネットワーク上に接続する複数のコンピュータを用いた電子認証方法であって、
前記複数のコンピュータに含まれる一のコンピュータが、ユーザ登録のリクエストに応答して、個人又は組織体を特定する情報を含む
初期登録データを、前記複数のコンピュータに含まれる他のコンピュータに送信し、
前記複数のコンピュータの各コンピュータが、同一の演算を実行することによりコンピュータ間の合意形成が得られた場合に各自の記録媒体に前記
初期登録データを記憶し、
前記複数のコンピュータに含まれる任意のコンピュータが、前記ユーザ登録したユーザの本人認証の要求を事業体又は個人から受けた場合、
前記ユーザとの送受信のための一時的な秘密鍵及び公開鍵のキーペアを作成し、前記ユーザから本人認証データを受信すると、前記複数のコンピュータの少なくとも1つのコンピュータが自身の記録媒体に前記
初期登録データが記憶されているか否かを判定し、
前記
初期登録データが記憶され
且つ前記本人認証データが前記初期登録データと同一である場合、前記本人認証を要求する事業体又は個人に対し、本人認証済みの報告を送信する
と共に前記キーペアを破棄する、
ことが実行される電子認証方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子認証に係り、特に、一の事業者との関係で本人確認済みがされている個人又は組織体が、他の事業者との関係でも本人確認の認証が必要な場合に、一の事業者との関係で記憶されている本人確認済みの事実を用いて他の事業者のための本人確認の認証に利用する技術に関する。
【背景技術】
【0002】
従来、個人が銀行又は証券会社等の金融機関に口座を開設する場合や、インターネットを介してネット業者から物品やサービス等を購入する際には、少なくとも氏名、住所、生年月日等を含む個人情報及びその証明書が要求される。この個人情報が悪用された場合、プライバシー侵害につながるのみならず経済的損失の可能性もあるため、秘密情報として扱っている企業も多い。例えば、個人XがA銀行に口座を開設するためA銀行へ身元確認を示す個人情報及び証明書を提供し、その後にB銀行にも口座を開設するときは、同じように個人情報及び証明書を提供する必要がある。したがって、個人は各金融機関に対して本人確認手続きをしなければならないという手間が生じていた。
【0003】
近年、証明書に関しては電子認証が普及しつつある。インターネット上の情報のやりとりは相手が誰なのか、別人がなりすまししていないか、交わした情報は信用できるものかといった懸念がある。そこで、電子認証局から発行される電子証明書を用いてなりすまし防止や情報の改ざんを防止する有効な一手段が、電子認証技術である。例えば、すでに、多くの都道府県では納税をはじめとする様々な行政手続き等において公的個人認証サービスが利用可能であり、電子証明書が使用されている。公的個人認証サービスはこれまで行政機関等に限られていたが、総務省は平成28年より、ID・パスワード方式よりも高いセキュリティレベルが要求される様々な民間サービスに対しても公的個人認証サービスを普及拡大させるよう推進している。最近では、金融機関等での口座開設時の個人情報及び証明書の提供に代わり、公的個人認証サービスによる電子証明書の利用が提案されはじめている。
【0004】
上述した金融機関の口座開設のケースにおいて、従来では、個人情報を記入した口座開設申込書や本人確認書類を金融機関等に送付又は送信し、金融機関等が送られた書類を確認して、利用者カード等を書留郵便などで個人に返送するため、多くの時間及びコストがかかっていた。これに代わり、電子証明書を利用した手続きにすれば、口座開設の申込み後すぐに手続が開始され、コストもかなり安価に抑えることが期待できる。
【0005】
公的個人認証サービスの他にも各電子認証サービス会社によって様々な種類の民間電子認証サービスがインターネット上のウェブサイトで提供されるようになると、ユーザは何が認証されるのかを判別し難くなったり、その電子認証サービスを提供するウェブサイトが信頼できるのかを確認することが新たな課題としてあらわれてくる。そこで、下記特許文献1は、様々な電子認証サービスを提供するウェブサイトの信頼性を画面上でユーザが確認できるシステムを開示している。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
確かに、電子認証サービスによる電子証明書の利用は、従来に較べて即時性及びコスト面で優れているといえよう。しかしながら、電子証明書の取得をするには各ユーザが認証局に申込みをして所定の手続に従った操作が必要である。例えば、電子認証サービスを利用するための所定のプログラムを自分の端末にインストールすること等が要求されるので、手間のかかるセットアップ作業が面倒で電子認証サービスの利用を断念するユーザもいる。
【0008】
また、電子証明書を発行する機関である認証局は、単一の組織又は団体であるか、若しくは認証パス上にルート認証局と中間認証局が存在するという複数体の構成である。後者は、発行元の認証局から順に、その認証局を認証している上位の認証局、さらに上位の認証局…といった具合に辿っていき、最終的にルート認証局にたどり着くという認証手順をとる。単一の組織又は団体である認証局の場合、その認証局が統括機能を実現していることは当然であるが、ルート認証局及び中間認証局で構成される場合であっても、1つ1つの認証局においてはやはり中央管理的な制御及び管理がなされていることに変わりはない。つまり、認証パス上の各認証局は、他の認証局による認証を順次引き継いではいるものの、それぞれのローカルな認証において複数の独立した認証局が同時並行に認証処理を行いながら協働体制で運営されているわけではない。
【0009】
このため、従来の中央管理型認証局は、認証局のサーバ等が稼働していない時間帯では電子証明書の発行ができないので、電子証明書の発行を望むユーザは利用時間が制限されてしまうことになる。仮に一日24時間のサービス利用可能な体制で運用したとしても、サーバメンテナンス等を定期的に行う必要があったり、様々な要因による不測のシステムダウンが発生し得るので、実際には年中無休のサービスにはならない。中央管理型で構成される認証局の場合は、いつでも好きな時に電子証明書を取得できるサービスを提供できないのである。
【0010】
また、発行される電子証明書の中には、個人情報(例えば、氏名・住所・生年月日・性別の基本4情報)を含んでいるものがある。情報化の急速な進展に伴い、個人情報の目的外利用の禁止、適正な取得方法、安全管理措置、第三者提供の制限など個人情報に対する保護(個人情報保護法)が強化されている事情から、国や地方自自体、及び民間企業が保有・管理する情報サーバは、悪意者による不正侵入されないようにする対策を講じてはいる。しかし、厳重なセキュリティ体制が施されていると言われているサーバであっても、結果として情報漏洩が完全に防止できなかったニュースが後を絶たないことから理解できるとおり、認証局が個人情報の保有をしていた場合、その漏洩や改ざんがされないことを長期にわたり保証できないのが現状である。
【0011】
ところで、最近は、主に金融関係の分野で分散型台帳技術(DLT, Distributed Ledger Technology)が注目をあびてきている。現時点で分散型台帳技術の正確な定義は確定していないが、台帳を承認する者がネットワークに接続する任意のノード端末にするか限定したノード端末にするか(Permissionless/Permissioned)を一つの指標として分類することができる。
【0012】
公開型のPermissionlessトランザクションで、特にデータの公開をしている典型例が、暗号通貨(ビットコイン)のためのブロックチェーンである。これに対し、ネットワークの参加資格(特に、データ承認者)、取引を発行する者、APIからデータを読み込む者が信頼性のあるノード端末に限定したPermissionedネットワークを対象としているのが、“Ripple”や“Hyperledger”と呼ばれている仕組みである。これらについては、下記を参照されたい。
https://ripple.com/files/ripple_consensus_whitepaper.pdf、及び
http://www.linuxfoundation.org/news-media/announcements/2016/02/linux-foundation
-s-hyperledger-project-announces-30-founding。
【0013】
分散型台帳技術の特徴の一つは、トランザクション及びアクションの正当性を決定する際に特定のサーバにおける検証に依存することなく、非中央集権なピア・ツー・ピア(P2P)型ネットワークを基盤にしているという点である。特定のサーバがトランザクション等に関する台帳を統括して管理するのではなく、各端末が同一の台帳を管理することによって、新たなトランザクション等に対してどの台帳においても矛盾が生じないと認められた場合にのみ、各台帳に追加する正規なトランザクション等として認められるという管理構成をとる。例えば、或る端末が攻撃され、その端末が保有する分散型台帳が不正者によって改ざんされたとしても、ネットワーク上の承認者グループに参加する他の端末の台帳と整合しない場合は、改ざんトランザクションは拒絶されてしまう。ネットワーク上の承認者グループに参加する一定数以上の端末からの合意が得られなければ、分散型台帳の完全性の欠如となり、正規のデータとして記録されることはない。各端末のネットワーク接続をP2P型にすることにより、セキュリティ管理の分散化及び信頼性向上を図っているのである。
【0014】
このように分散型台帳技術は各端末が保有するデータがネットワーク全体で完全同一であることを求める一方で、各端末それぞれでのローカルな事情、即ち、既存のシステム構成やトランザクション処理手順や内容に対して何ら変更を要求するわけではない柔軟性をあわせ持っている。したがって、各端末の独立性を維持しながらセキュリティ性の分散化・高信頼性を図る一手段として、分散型台帳技術は優れた手段の一つとして注目され始めている。
【0015】
そこで、本発明は、電子認証に関する上述した様々な課題を解決するべく、分散型台帳技術を基に電子認証を行う技術を提供することを目的とする。
【課題を解決するための手段】
【0016】
前記目的を達成するために本発明に係る情報共有のためのプログラム及び方法は、ネットワーク上に接続する複数のコンピュータを用いて認証処理を行うためのプログラムであって、前記複数のコンピュータに含まれる一のコンピュータは、ユーザ登録のリクエストに応答して、前記ネットワーク上に個人又は組織体を特定する情報を含むデータを出力する処理と、前記複数のコンピュータに含まれる前記一のコンピュータ以外の少なくとも1以上のコンピュータは、前記ネットワーク上に出力された前記データを取り込み、同一の演算を実行することによりコンピュータ間の合意形成が得られた場合に前記複数のコンピュータは各自の記録媒体に前記データを記憶する処理と、前記複数のコンピュータに含まれる任意のコンピュータが、前記ユーザ登録したユーザの本人認証の要求を事業体又は個人から受けた場合、前記複数のコンピュータの少なくとも1つのコンピュータが自身の記録媒体に前記データが記憶されているか否かを判定する処理と、前記データが記憶されていた場合、前記本人認証を要求する事業体又は個人に対し、本人認証済みの報告を送信する処理と、が実行されるようにすることを特徴とする。
【0017】
また、前記複数のコンピュータの各コンピュータの記録媒体には、前記データが完全同一で記憶されている。前記合意形成の有無は、前記各コンピュータによる演算結果の一致が所定数以上か否かにより決定する。
【発明の効果】
【0018】
本発明に係る電子認証処理によれば、ネットワークを介して通信可能な複数の独立したコンピュータ相互が認証局となり、個人又は組織体が正当な本人認証済み記録を有しているかをコンピュータ間で連携して証明する。このため、仮に複数の独立したコンピュータの一部のコンピュータが任意の要因により機能不全になったとしても認証局全体としては常時稼働可能という耐障害性があるので、常にタイムリーな電子認証が可能となる。従来の中央管理型の認証局が24時間稼働を保証すようとすれば、耐障害性や冗長構成のためのコストがかかるが、本発明は複数のコンピュータがそれぞれ独立に同一の本人認証済み記録を分散共有することを前提とするP2P型分散型台帳技術の標準仕様を実装するため、低コストでゼロダウンタイムの認証局システムを構築することができる。
【0019】
また、本発明の場合、或る事業者の業務の必要性からユーザ(個人又は組織体)の行った本人認証済みの事実が認証局システムとして機能する複数の独立したコンピュータに記憶されている場合、その本人認証済みの事実を別の事業者で必要となる本人認証に利用する。既に記憶された本人認証済みの事実を信頼して、当該ユーザの本人認証を完了させるものである。つまり、別の事業者は、本発明の認証局システムから正当な本人認証が記録されている報告を受け取った場合、有効な期間内の本人認証であれば、その別の事業者が改めて同様の本人確認作業を行う必要がない。これは、別の事業者の手間を削減することのみならず、事業者ごとに本人確認書類を送付していたユーザ側の煩雑な処理を省略させることができるという効果を奏する。
【0020】
本人認証済みの事実を別の事業者での本人認証に利用するということは、認証局である複数のコンピュータに記憶された本人確認の事実が完璧に真性であることが認証の信頼性を担保する上で常に要求される。この点に関し、本発明における複数のコンピュータの各々は、本人確認済みの事実、確認内容の変更の有無等を完全同一な電子証明書履歴データとして時系列に保管しており、各コンピュータ間で不一致のない記録状態を保持している。このため、仮に複数のコンピュータに含まれる一のコンピュータにおいて、不正目的等で履歴データが変更されたとしても、複数のコンピュータに含まれる他のコンピュータ内の履歴データと同じでなければ、その変更された履歴データが正当なデータとして最終的に認められることはない。複数のコンピュータすべてが一致した状態で記録管理されていない履歴データは真性(正当)でないものと推定されることになる。不正者が複数のコンピュータすべてに対して履歴データの変更を一斉に実行することは事実上不可能であることから、本人認証済みの事実である電子証明書の改ざんリスクを無くすことが可能である。したがって、本発明に係る電子認証処理は、極めて高いセキュリティを保証することができる。
【図面の簡単な説明】
【0021】
【
図1】A銀行に口座を開設し、本発明の認証処理を実行する認証システムにユーザ登録するときの手順を示したフローチャートである。
【
図2(A)】B銀行で口座を開設する際に、ユーザの本人確認を認証システムに依頼するときの手順を示したフローチャートである。
【
図2(B)】B銀行で口座を開設する際に、ユーザの本人確認を認証システムに依頼するときの手順を示したフローチャートである。
【
図3】各コンピュータに記憶されたトランザクションデータ(電子証明書)のデータ構造を模式的に表した図である。
【
図4(A)】電子認証方法を実現する複数のコンピュータを示した図である。
【
図4(B)】
図4(A)と異なる構成例の複数のコンピュータを示した図である。
【発明を実施するための形態】
【0022】
以下に図面を参照しながら、本発明に係る電子認証方法又はそのプログラムに規定する各処理を実行する認証局システムについて説明する。以下の実施の形態においては、個人が金融機関に口座を開設する際に必要な本人確認の事実をデータ化して記録し、別の金融機関の口座開設時においては個人から本人確認書類を受領せずとも本人確認を行える手順を例にしている。また、記録されたデータは本人確認がされていた事実の証拠となるため、いわゆる電子証明書として使用することも可能である。なお、個人に限らず、法人などの組織体に対する電子認証の場合であってもまったく同様である。
【0023】
本発明の電子認証処理を実行するシステム構成は、個人を認証するための認証局が複数のコンピュータによって構築され、しかも複数のコンピュータは中央集権的な端末が存在しない複数の金融機関によるコンソーシアムを形成するというP2P型のネットワーク接続になっている。複数のコンピュータは互いに対等であり、詳細は後述するが、本人確認した事実を示すデータを複数のコンピュータそれぞれが保管し合うことで同一データの分散化を図っている。
【0024】
以下では、まず、従来どおりに口座開設を行う手順、次に本発明の電子認証処理を実行する認証局となる認証システム100に本人確認済み事実を登録していないユーザが本人確認の事実を登録する手順、そして、金融機関から登録後ユーザの本人確認済み事実の真偽のリクエストがあったとき、認証システム100が実行する電子認証処理について説明する。
【0025】
ユーザXは認証システム100に本人確認をまだ登録していないとする。ユーザXは、A銀行に口座を開設するため、従来のように、自分のコンピュータ端末からインターネット経由でA銀行のサイト上で、口座開設の申し込みをする。具体的には、口座開設に必要となる少なくとも、自分の氏名、住所、生年月日、性別(以下、この4つの情報を「基本4情報」と呼ぶ。)等をWEB画面上で入力する。本人確認書類の提出と住所確認などの手続きを経て口座開設が完了し、口座開設完了後に、A銀行は所定のID及びパスワードをユーザXに返送する。ここでは住所確認を兼ねる目的で郵送するが、ユーザXのeメールアドレスに送信するようにしてもよい。以降、ユーザXはこのID及びパスワードを用いてA銀行にログインし残高を確認することや、取引実行などを行うこととなる。なお、ID及びパスワードは、口座番号やATMの暗証番号と同じ場合又は異なる場合の両方を含む。
【0026】
口座開設のためには、基本4情報の真偽を証明する本人確認書類を送付することが必要である。本人確認書類のコピー書面を郵送してもよいが、郵送の代わりに本人確認書類の電子データの送信も従来から行われている。ここでは、本人確認書類を電子データにしてA銀行に送信するものとする。もっとも、口座を開設するためには、インターネット経由だけではなく、対面での申込も存在する。
【0027】
A銀行は、基本4情報を含む個人情報と、送信された本人確認書類の内容をチェックし、ユーザXの本人確認作業を行う。具体的には、基本4情報が本人確認書類の内容の一致、住所の確認し、ブラックリストとの照合などで、ユーザXが実在する人物として識別できて口座取引を許可してもよいと判断できた場合、本人確認済みであるとしてユーザXの口座開設を行う。これにより、ユーザXはA銀行の口座開設が完了したことを確認できる。ユーザXは、A銀行から送られたID及びパスワードを用いてA銀行のサイトにログインし、入出金や振込み等をインターネット経由で行ういわゆるネット取引を開始できるようになる。
【0028】
ここまでの処理は、従来から既に行われてきたものであるが、本発明は、A銀行がユーザXの本人確認を行った事実を認証システム100に登録することで、A銀行以外の銀行等での口座開設時には本人確認済みの事実を利用できるという点に特徴がある。認証システム100に登録するか否かはユーザXからの申込みを前提とし、口座開設後、任意の時にユーザ登録アプリケーションを実行することによって認証システム100に登録することができる。
【0029】
<認証システム100への登録>
図1は、認証システム100を利用するための登録を行う手順を示したフローチャートである。
図1の左部は、ユーザXを認証システム100に初めて登録するときの処理を時系列のフローで示し、各処理においてどのようなデータ又は信号がやりとりされているかをフローの右側にあらわしている。図示するとおり、ユーザXのコンピュータ端末(C1)、スマートフォン等のユーザXの携帯端末(C2)、認証端末(A1)、認証局端末(Aall)の間でデータ又は信号が送受信される。ここで、認証端末(A1)とは、ユーザXが口座開設したA銀行の端末に相当する。A銀行の端末を“認証”端末と称しているのは、上述したようにA銀行がユーザXの本人確認(認証)をしているからである。認証局端末(Aall)は、認証システム100において分散型台帳技術(DLT)又はブロックチェーンを構築する所定の複数の端末である。この複数の端末が認証局としての機能を果たし、後述するように、A銀行、即ち認証端末(A1)が、ユーザの登録要求を受けて、認証局である認証システム100に登録を依頼することになる。
【0030】
A銀行の口座開設が完了すると、上述したように、所定のID及びパスワードを記載した書面がユーザXに返送される。ユーザXが認証システム100への登録を希望する場合、まずユーザXはユーザPC(C1)からA銀行のサイトに付与されたID及びパスワードを入力してログインする。(
図1の「1. ユーザログイン」参照)。つぎに、ログイン画面上には認証システム100による認証サービスを利用するために必要なユーザ登録申込みボタンが表示されているため、ユーザXがこのボタンを押下する。これにより、A銀行の端末である認証端末(A1)は、ノンス(nonce)と呼ばれる使い捨てのランダムな値を発行し、このノンスに電子署名を付与してユーザPC(C1)に送信する(
図1の「2. nonce送信」参照)。そして、ユーザPC(C1)は、受け取ったノンスなどを利用してQRコード(登録商標)を生成し、画面上に表示する。なお、電子署名自体は既知の技術的事項であるため、本明細書では説明を省略する。
【0031】
図中における“A1署名(nonce)”は、認証端末(A1)による電子署名付きのノンスを意味する。同様に、
図1及び
図2(A)-(B)において送受信される##署名(**)の記載の意味は、##による電子署名付きの**をあらわしている。
認証端末(A1)がユーザXにノンスを発行する目的は、後の手続処理で、ユーザ登録を要求するユーザXが真に登録手続きを行っていることを確認するためであり、ノンスがユーザXから認証端末(A1)へ返信されなければ、ユーザX以外の者による登録手続きであると判定する。
【0032】
ユーザXは、次に、携帯端末(スマートフォン等)が認証システム100で利用可能になる手続きを行う。これは、昨今は少なくとも1台の携帯端末(C2)を所持するユーザが増加し、携帯端末(C2)の使用によって二段階認証を利用してセキュリティを強化すると共に、出先からであっても入出金や振込み等のために個人認証を行いたい要求に応えるためである。
【0033】
携帯端末(C2)には、所定のアプリサイトからダウンロードされたユーザ登録アプリケーションが起動されているとする。認証端末(A1)の電子署名付きのノンスをユーザPC(C1)で受信したユーザXは、ユーザPC(C1)の画面上に表示されているQRコードを携帯端末(C2)を用いて読み込む。QRコードにはA銀行に関する銀行情報が含まれており、例えば、携帯端末(C2)からA銀行に接続する接続先アドレスを含んでいる。携帯端末(C2)は、読み込んだQRコードからの銀行情報及びユーザPC(C1)で受信されたノンスを受信する(
図1の「3. QRコード読取」参照)。
なお、他の実施形態では、QRコード(登録商標)は、所定のID及びパスワードが記載された書面に表示されていてもよい。
【0034】
次に、携帯端末(C2)では、ユーザ登録アプリケーションによって秘密鍵及び公開鍵のキーペアを作成する(
図1の「4. キーペア作成」参照)。キーペアのうち秘密鍵(C2秘密鍵)は、携帯端末(C2)内に保管される。一方、キーペアのうち公開鍵(C2公開鍵)は、A銀行である認証端末(A1)に送信される。このとき、携帯端末(C2)は、「3. QRコード読取」の際に受信したノンス及びC2公開鍵に対してC2秘密鍵を用いて電子署名を付与する。携帯端末(C2)の電子書署名付きのノンス及びC2公開鍵は認証端末(A1)に送信される(
図1の「5. ユーザ公開鍵送信」参照)。
【0035】
認証端末(A1)は、受信したC2公開鍵を用いて携帯端末(C2)の電子署名を検証する。C2公開鍵に対応するのはキーペアを成すC2秘密鍵しか存在しない。したがって、C2秘密鍵を用いて付与した電子署名をC2公開鍵によって確認できれば、キーペアを成すC2秘密鍵を保管する携帯端末(C2)によってC2公開鍵が署名されたことを確認できる。さらに、認証端末(A1)は、C2公開鍵の他にノンスも受信しており、このノンスが、「2. nonce送信」の際に認証端末(A1)が発行したノンスと同一であるか否かを確認することで、ユーザXがユーザ登録を望む真のユーザであることを確認する。ノンスの同一性を確認できなければ、ユーザX以外の者による手続として拒絶する。
【0036】
認証端末(A1)は、ユーザ登録をリクエストするユーザXの真性を確認できると、次に、複数のコンピュータで構成された認証局端末(Aall)へユーザ登録を依頼するため、C2公開鍵、基本4情報のハッシュ値、認証端末(A1)の公開鍵(A1公開鍵)に対して自身の電子署名を付与して認証局端末(Aall)へ送信する(
図1の「6. 認証局に登録」参照)。さらに、オプションとして、ユーザ登録の効力を期限付きなものにさせる有効期限を追加して認証局端末(Aall)へ送信するようにしてもよい。なお、認証端末(A1)は、口座開設にあたりユーザXから基本4情報が提供されているので、この基本4情報に所定のハッシュ関数を用いてハッシュ演算を実行し、ハッシュ値を生成して送信する。ハッシュについては当業者であれば既知の技術的事項なため、本明細書では説明を省略する。
【0037】
認証局端末(Aall)では、いわゆる分散型台帳技術(DLT)又はブロックチェーンといわれることもあるデータ構造で、認証端末(A1)から送られてきたデータを、複数のコンピュータの各々が同じように記憶する(分散型台帳)。データ登録の具体的な処理方法については後述する。認証端末(A1)は登録がされたかの確認を行い(
図1の「7. 登録結果の確認」参照)、認証局端末(Aall)はその確認結果を認証端末(A1)に返す(
図1の「8. 登録確認の結果」参照)。
【0038】
正常に登録が完了されていた場合、認証端末(A1)は、「5. ユーザ公開鍵送信」の際に受信したC2公開鍵を用いて基本4情報を暗号化して暗号データを作成する。そして、認証端末(A1)は、暗号データ及び認証端末(A1)の公開鍵(A1公開鍵)に対して自身の電子署名を付与して携帯端末(C2)へ送信する(
図1の「9. 基本4情報の登録」参照)。基本4情報の暗号データを作成するのは、通信回線上で生(平文)の基本4情報が盗聴されると不正利用等されてしまうリスクを回避するためである。
【0039】
携帯端末(C2)は、受信したA1公開鍵を用いて認証端末(A1)の電子署名を検証する。A1公開鍵に対応するのはキーペアを成すA1秘密鍵しか存在しない。したがって、携帯端末(C2)は、A1公開鍵によって、A1秘密鍵を用いた認証端末(A1)の電子署名を確認して認証端末(A1)からの正しい通信であることを確認することができる。さらに、自身が保管するC2秘密鍵で基本4情報を復号化してアプリデータ以外の安全な領域(例えば、キーチェーンなど)に登録しておく。さらに、オプションとして有効期限を登録してもよい。
【0040】
また、認証端末(A1)は、ユーザPC(C1)にも登録結果(基本4情報や有効期限を含んでもよい。)を送信し、ユーザ登録の事実が携帯端末(C2)と齟齬しないようにしておく(
図1の「10. 登録結果通知」参照)。上述した一連の手続きにより、ユーザXは認証システム100に登録され、認証システム100によるユーザ認証サービスを利用することが可能になる。
【0041】
<認証システム100の利用>
次に、ユーザXがA銀行以外の別の金融機関(例えば、B銀行とする。)に口座開設をする場合を想定する。ユーザXはB銀行の口座開設の申し込みをする際、従来であれば、B銀行もユーザXに対して本人確認書類の送信を要求し、A銀行と同じようにユーザXの本人確認作業を行うものであるが、本実施形態の場合、この本人確認作業を認証システム100に依頼する。
【0042】
図2(A)及び(B)は、B銀行の口座開設時に認証システム100を利用した本人確認の手順を示すフローチャートである。認証システム100による本人確認サービスの依頼は、ユーザXからの申込みがあることを前提とする。本人確認サービスの申込みは、PC端末からでも、スマートフォン等の携帯端末からでも行える。ユーザXが申込まなければ従来どおりB銀行へ本人確認書類のコピー書面を郵送又はデータ送信し、B銀行は基本4情報を含む個人情報を本人確認書類に基づき検証する。
【0043】
ユーザXは、ユーザPC(C1)からB銀行の口座開設をリクエストする(
図2(A)の「1. V1の口座開設要求」参照)。
【0044】
WEB画面上には、本人確認書類のデータ送信に代わり認証システム100を利用した本人確認サービスを利用するか否かの選択ボタンが表示され、ユーザXが利用するボタンを選択した場合、認証システム100にユーザ登録しているかの確認が行われる。ユーザ登録していなければ本人確認サービスを利用できないので、既存の本人確認フロー(すなわち、本人確認書類を提出して口座開設を行うなど)を行う。なお、ここでユーザ登録を希望すれば
図1の手順に従いユーザ登録の処理を行うようにしてもよい。
【0045】
上述したように、ユーザXは既にユーザ登録しているので、B銀行の端末である検証端末(V1)は、ユーザXにノンス(nonce)と呼ばれる使い捨てのランダムな値を発行すると、これに検証端末(V1)の電子署名を付与して、ユーザXの端末であるユーザPC(C1)に送信する(
図2(A)の「2. nonce送信」参照)。
【0046】
A銀行の口座開設時と同様、検証端末(V1)の電子署名付きのノンスをユーザPC(C1)で受信したユーザXは、ユーザPC(C1)の画面上に表示されるQRコードを携帯端末(C2)を用いて読み込む。QRコードにはB銀行に関する銀行情報が含まれており、例えば、携帯端末(C2)からB銀行に接続する接続先アドレスを含んでいる。携帯端末(C2)は、読み込んだQRコードから銀行情報及びユーザPC(C1)で受信されたノンスを受信する(
図2(A)の「3. QRコード読取」参照)。
【0047】
図1(A)の「4. キーペア作成」で説明したとおり、携帯端末(C2)はC2用のキーペア(秘密鍵、公開鍵)を保管している。そこで、次に携帯端末(C2)は、受信したノンス及びC2公開鍵に対してC2秘密鍵を用いて電子署名を付与する。携帯端末(C2)の電子書署名付きのノンス及びC2公開鍵が検証端末(V1)に送信される(
図2(A)の「4. ユーザ公開鍵送信」参照)。
【0048】
検証端末(V1)は、受信したC2公開鍵を用いて携帯端末(C2)の電子署名を検証し、携帯端末(C2)から送信されたデータの正当性を確認する。さらに、「2. nonce送信」の際に自身が発行したノンスと同一であるか否かを確認することで、ユーザXがB銀行の口座開設を望む真のユーザであることを確認する。ノンスの同一性を確認できなければ、ユーザX以外の者による登録手続として拒絶する。
【0049】
次に、検証端末(V1)は、テンポラリーなキーペア(T秘密鍵、T公開鍵)を作成する(
図2(A)の「5. 一時的通信鍵作成」参照)。ユーザXから基本4情報を受信するときの暗号化に用いるためである。検証端末(V1)は、テンポラリーなキーペアのT公開鍵及び発行済みのノンスに電子署名を付与して、携帯端末(C2)に送信する(
図2(A)の「6. 一時的通信鍵送信」参照)。T秘密鍵は検証端末(V1)が保管しておく。
【0050】
T公開鍵を受信した携帯端末(C2)は、このT公開鍵を用いて基本4情報を暗号化して暗号データを作成する。そして、携帯端末(C2)は、暗号データ及びノンスに対して電子署名を付与して、検証端末(V1)に送信する(
図2(A)の「7. 基本4情報送信」参照)。
【0051】
検証端末(V1)は、保管してあるT秘密鍵を用いて暗号データを復号化することによって基本4情報を平文に戻した上で、所定のハッシュ関数で基本4情報をハッシュする(hash(4情報))。次に、検証端末(V1)は、このhash(4情報)及びC2公開鍵を認証局端末(Aall)に送信し、ユーザXが認証局端末(Aall)に真に登録された事実があるかの検証をリクエストする(
図2(B)の「8. 既登録の確認要求」参照)。
【0052】
認証局端末(Aall)における複数のコンピュータの各々は、上述したように各自の記録媒体に同じようにユーザ登録の事実を保管及び管理している。本実施形態の場合、例えば、C2公開鍵を検索キーとして記録媒体内をサーチしてユーザ登録の有無を検出する。
同一ユーザに関して複数の登録がされていれば、登録が最新のものを検出したりする。これは、住所や氏名が変更されたケースに適用されるであろう。また、有効期限も含んで登録されている場合は失効されていないものを検出すればよい。このように、認証局端末(Aall)は、(i)認証局端末(Aall)を構成する少なくとも1つのコンピュータ(好ましくは、一定数以上のコンピュータ)がそのユーザ登録の事実を記録していること、及び(ii)記録されたhash(4情報)が検証端末(V1)から送られたhash(4情報)と同一であること、を確認できた場合はユーザ登録有りの結果、確認できなかった場合はユーザ登録無しの結果を、検証端末(V1)に返す(
図2(B)の「9. 既登録の確認処理」参照)。
【0053】
検証端末(V1)は、ユーザ登録有りの結果の場合は本人確認がとれたとみなして、ユーザXのB銀行口座を開設する。ユーザ登録無しの結果の場合はB銀行口座を開設しない(
図2(B)の「10. V1で口座開設」参照)。
【0054】
さらに、検証端末(V1)は、ユーザXのB銀行口座開設の事実を認証局端末(Aall)に登録するリクエストを出す。本登録のため、検証端末(V1)は、C2公開鍵、ハッシュされた基本4情報であるhash(4情報)、検証端末(V1)の公開鍵(V1公開鍵)に対して電子署名を付与して、認証局端末(Aall)に送信する。オプションとして、ユーザ登録の効力の期限を設けるための有効期限や登録した日時などを含んでいてもよい。更に他の実施形態では、有効期限を運転免許証や保険証の有効期限に設定したり、登録日時から例えば1年などと決めるようにすることを含む。
これを受けて、認証局端末(Aall)は受信した上記データを登録する(
図2(B)の「11. 認証局に登録」参照)。
【0055】
また、検証端末(V1)は認証局端末(Aall)に正常に登録がされたかの確認を行い、認証局端末(Aall)はその確認結果を検証端末(V1)に返す(
図2(B)の「12. 登録結果の確認」参照)。検証端末(V1)は、認証局端末(Aall)にユーザ登録された報告を携帯端末(C2)に送信する(
図2(B)の「13. 登録完了の報告」参照)。
【0056】
なお、他の実施形態においては、ユーザ登録された報告を携帯端末(C2)に送信する際に「4. ユーザ公開鍵送信」の際に受信したC2公開鍵で暗号化した基本4情報と、検証端末(V1)の公開鍵とに、検証端末(V1)の電子署名(更に、オプションとして有効期限も含んでもよい。)を付与して携帯端末(C2)へ送信するようにしてもよい。検証端末(V1)からの送信を受けて、携帯端末(C2)は、検証端末(V1)の公開鍵を用いて検証端末(V1)の電子署名を検証するとともに、自身のC2秘密鍵で暗号データを復号化する。これにより、認証局端末(Aall)にB銀行の口座開設が登録されたことを知るようにしてもよい。
【0057】
その後、検証端末(V1)は、テンポラリーなキーペア(T秘密鍵、T公開鍵)を使用できなくする、鍵の破棄を実行しておく(
図2(B)の「14. 一時的通信鍵破棄」参照)。そして、検証端末(V1)は、ユーザPC(C1)にも登録結果(基本4情報や有効期限を含んでもよい。)を送信し、B銀行の口座開設の登録が携帯端末(C2)と齟齬しないようにしておく(
図2(B)の「15. 登録結果通知」参照)
【0058】
以上のとおり、B銀行は従来のような本人確認書類の送信をユーザXに要求するのではなく、ユーザXが他の事業者との間での取引等のために既に認証システム100に登録されている事実をもって本人確認作業を行うものであり、事業者ごとに行っていた本人確認作業の代わりを処理することができるようになる。
【0059】
<登録データの構成と登録処理>
以降は、認証システム100を構成する複数のコンピュータに記憶されるデータの構成と、複数のコンピュータがユーザXを各自の記録媒体に登録する際に行う演算処理について説明する。
本実施形態の認証システム100は、分散型台帳技術に基づく処理を実行する。分散型台帳技術の特徴の一つは、ネットワークに参加する複数の端末間で同じ帳簿(即ち、履歴データ)をそれぞれ持ち合い、常に情報が共有されるように構成されている点である。P2P型でネットワーク接続するノード(端末)が履歴データを分散して保存しているのである。従来の多くのシステムのようなサーバを核とする中央集権型に構成され、ネットワーク上のインスタンスやデータを中央集権サーバがコントロールするような仕組みとは大きく異なる。したがって、本実施形態の認証システム100の場合、複数のコンピュータの各コンピュータが各自の記録媒体に登録(記憶)しているユーザデータが、同一なデータであることを前提とすることに特徴がある。
【0060】
1.登録されるデータ構成
図3は、認証局(Aall)における各コンピュータが登録するデータの構成例を示している。
図1の登録フローに従い、「6. 認証局に登録」の手順のとき登録されるデータは、
図3の左部に示すとおり、携帯端末(C2)の公開鍵、ユーザXの基本4情報のハッシュ値、A銀行である認証端末(A1)の公開鍵、そしてオプションとして有効期限、及び認証端末(A1)の電子署名のデータ群31を含む。必ずしもこれらのデータ群31に限定しているわけではなく、他のデータを適宜含むこともある。例えば、記憶する時点のタイムスタンプ情報を含んでいてもよい。このタイムスタンプ情報は、認証局(Aall)の各コンピュータで共通の日時、あるいは各コンピュータで記憶した日時の両方の場合がある。
【0061】
また、A銀行の口座開設時にユーザ登録した後、B銀行の口座開設時に本人確認を認証局(Aall)にリクエストした事実を記録したデータ構成例を
図3の右部に示す。このデータ構成では、A銀行のときに記録したデータ群31の直後にB銀行のときに記録したデータ群32がつながって記録されているケースを概念的にあらわしている。このようなデータ群の連鎖として考えられることから、いわゆる分散型台帳技術(DLT)又はブロックチェーン構造とも呼ばれている。
【0062】
実際には、データ群31の記録の後、A銀行やB銀行等の任意の事業体で行われる他のユーザ登録が登録されることになるため、時系列でデータ登録をあらわすとすれば、データ群31とデータ群32との間にはユーザYに関する同様のデータが記録されることになろう。この場合、データ群31とデータ群32は互いの記憶アドレスを示すリンク情報(例えば、ポインターなど)を有することで、ユーザXという同一人物の記憶データを迅速にサーチできるようにしてもよい。認証局(Aall)における各コンピュータは、これら複数のデータ群を同一のデータ構成で記憶する。
【0063】
2.登録処理
次に、認証局(Aall)における各コンピュータが合意形成をした上で、携帯端末(C2)の公開鍵、ユーザXの基本4情報のハッシュ値、A銀行である認証端末(A1)の公開鍵を登録することについて説明する。
【0064】
まず、複数のコンピュータの中から一のコンピュータをリーダーとして選定し、そのリーダーが下す結論を他のコンピュータが従うものとする。各コンピュータは自分の信頼度スコアがあり、複数のコンピュータは所定の信頼度レートを共有していることから、この信頼度レートを閾値として超えるコンピュータの中から例えば最も信頼度スコアが高いコンピュータをリーダーとして選定する。他の実施形態では、ランダムにリーダーを選定したり、所定の時間が経過すると順繰りにリーダーとなるようにすることもある。
【0065】
リーダーとなったコンピュータは、他のコンピュータに、各自がユーザXに関して記録している
図3に示す構成の分散型台帳技術(DLT)又はブロックチェーンのデータを用いて所定の演算を実行するよう指示する。所定の演算とはハッシュ関数Hを用いた数学計算である。例えば、本実施形態では、楕円曲線に基づく公開暗号技術を用い、使用するハッシュ関数Hは、512ビットのSHA3である。
秘密鍵Kをランダムな256ビット整数としたとき、秘密鍵Kに対応する公開鍵Aは、
H(k)=(h
0,h
1,…,h
511) (1)
a=2
256+Σ2
ih
i(但し、3≦i≦253) (2)
A=aB (3)
の各ステップを実行することにより生成することができる。
ここで、Bは、所定の楕円曲線を形成するための基本ポイントの集合であり、膨大な数の要素を有する。Aは、256ビット整数にエンコードされ得る集合Bの各要素でもある。このように、Aは集合Bの要素であるため、公開鍵として機能する256ビット整数の公開鍵Aにエンコードされる。
【0066】
記憶する対象データとしてのメッセージM、秘密鍵K及び関連する公開鍵Aとしたとき、
H(k)=(h0,h1,…,h511) (4)
r=H(h256,…,h511,M) (5)
R=rB (6)
S=(r+H(R,A,M)a) mod q (7)
の各ステップを実行することにより、署名を生成することができる。
また、(R,S)は、秘密鍵Kの下でのメッセージMの署名となる。
【0067】
各コンピュータは、所与のメッセージM及び公開鍵Aに関する署名(R,S)を検証するため、R’=SB―H(R,A,M)Aを計算し、R’=Rであることを検証する。値が一致するコンピュータの数が所定の数を超えた場合、複数のコンピュータ間で登録の合意が形成されたものとみなし、登録対象にするデータと判定する。なお、合意が形成されなかった場合、そのデータはブロック分散型台帳技術(DLT)又はチェーンの一要素として登録されることなく排除される。
【0068】
なお、上述した各コンピュータによる実行される集団的合意(コンセンサス)に関する数学的演算は、あくまで一例であって上述の手順に限定するものではなく、例えばビットコインで行われるようなProof of Work(POW)の計算の手法を排除するわけではない。
複数のコンピュータが連携して記録対象のデータの正当性に対する集団的合意をとることは、不正データの複製や記憶データの改ざんを発見する上で極めて有効である。
【0069】
これまで、説明してきた複数のコンピュータによる認証システム100の構成例を
図4(A)及び
図4(B)に示す。
図4(A)は、ネットワーク3に複数の認証局の端末Y(1)~Y(N)が接続され、端末Y(1)~Y(N)それぞれが同一のトランザクションデータを記録してP2P型分散型台帳技術を具現化する例である。一点波線で囲った端末Y(1)~Y(N)端末が、特許請求の範囲に記載する「複数のコンピュータ」を指す。
【0070】
また、
図4(B)のように、端末Y(1)~Y(N)以外の端末Z(1)が認証システム100に含まれることもある。このようなシステム構成の場合、端末Y(1)~Y(N)及び端末Z(1)が、特許請求の範囲に記載する「複数のコンピュータ」を指す。なお、端末Zが必ず単一であることを要求するものではない。したがって、2以上の第三者的な機関に対応して端末Zが複数であってもよい。
【0071】
端末Z(1)は、第三者的な立場(例えば、犯罪収益の移転を防止する目的で金融機関や認証局等を監督する組織体、本発明に係る認証サービスを提供する会社など)に位置づけられる端末である。分散型台帳として複数のコンピュータに記録される一連のデータ又はトランザクションは、過去の履歴記録が個人の認証事実を示すための証拠となるので、後から記録の改ざんを行なったかのトレースが容易である。法律上の要請から、情報漏洩に関連する事件等が発生した場合や金融機関の監査においては情報の流れを確認する必要があるので、過去の履歴記録を調べ直すことは避けられない。端末Zのような第三者的な機関が含まれていると、銀行等が拒否したとしても端末Zの記録媒体の履歴をトレースすることで送信記録をチェックでき、透明性が高いシステムを構築することができる。
【0072】
上述した説明では、A銀行やB銀行が、認証局の端末Y(1)~Y(N)のいずれかに認証依頼して、ユーザの電子証明書の発行をリクエストするものであったが、A銀行やB銀行が認証局の端末Yとして機能する場合もある。A銀行及びB銀行が上述した認証サービスを利用するには、認証システム100においてサービス提供事業者としてあらかじめ登録されていることは当然であるが、サービス提供事業者が認証局を構成するコンピュータとして機能してはいけないという制限は本実施形態において設けていない。別の実施形態では、本発明の認証サービス提供事業者(例えば、金融機関)と、認証局は区別するようにしてもよい。
【0073】
また、端末Y(1)~Y(N)及び端末Zには所定の実行プログラムがインストールされ、当該実行プログラムが起動することによって、本発明に係る各処理がそれぞれの端末で実行される。その実行プログラムは、端末Y(1)~Y(N)及び端末Zがネットワーク経由で所定のサイトからダウンロードできるようにしたり、或いは実行プログラムが格納されたCDやUSBメモリなどからインストールされるものとする。したがって、本発明は、CD-ROM等の光学ディスク、磁気ディスク、半導体メモリなどの各種の記録媒体を通じて、又は通信ネットワークなどを介してダウンロードすることにより、コンピュータにインストール又はロードしたプログラム、及びこれら記憶媒体を発明の範疇として含む。
【0074】
本発明に関する認証局システム100は、中央管理主体を必要としないP2Pネットワークであって、複数のコンピュータでデータ記録を分散する。これにより、一部のコンピュータがダウンしても、システム全体がダウンしない耐障害性を有するのであり、不稼働時間のない24時間運用システムの構築を実現する。そして、不正者による改ざんが極めて困難な分散型台帳技術(DLT)又はブロックチェーン型のデータ構造であることから高いセキュリティ性のあるシステムを低コストで構築することが可能である。
なお、各コンピュータが各自の記録媒体内に記録する基本4情報は、生データではなくハッシュ化されているため、各コンピュータから基本4情報が読み出されたとしても、解読される事態にはならず、高いセキュリティ性がある。
【0075】
上述した実施形態では、金融機関に口座を開設するときのユーザの認証について説明してきたが、必ずしも金融機関での認証に限定されるものではない。例えば、医療、通信、不動産、教育、行政、物流、保険、任意の契約、インターネットサービス、シェアリングエコノミーサービスなど様々な分野についても本発明の範疇に含まれる。また、個人情報に限らず、デジタルアセットとして定義可能な情報(例えば、権利や価値記録)を取得する際の認証を任意の機関又は組織で行う場合も本発明の技術的意義が発揮されることになろう。
【符号の説明】
【0076】
2 ユーザのPC端末
3 ネットワーク
100 認証システム
X ユーザのモバイル端末
Y 認証局端末
Z 監督組織体又は認証システム提供会社などの端末