特許第6801448号(P6801448)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 大日本印刷株式会社の特許一覧

特許6801448電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム
<>
  • 特許6801448-電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム 図000002
  • 特許6801448-電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム 図000003
  • 特許6801448-電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム 図000004
  • 特許6801448-電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム 図000005
  • 特許6801448-電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム 図000006
  • 特許6801448-電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム 図000007
  • 特許6801448-電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム 図000008
  • 特許6801448-電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム 図000009
  • 特許6801448-電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6801448
(24)【登録日】2020年11月30日
(45)【発行日】2020年12月16日
(54)【発明の名称】電子情報記憶媒体、認証システム、認証方法、及び認証アプリケーションプログラム
(51)【国際特許分類】
   H04L 9/14 20060101AFI20201207BHJP
   H04L 9/32 20060101ALI20201207BHJP
【FI】
   H04L9/00 641
   H04L9/00 675B
【請求項の数】6
【全頁数】17
(21)【出願番号】特願2016-253313(P2016-253313)
(22)【出願日】2016年12月27日
(65)【公開番号】特開2018-107667(P2018-107667A)
(43)【公開日】2018年7月5日
【審査請求日】2019年10月30日
(73)【特許権者】
【識別番号】000002897
【氏名又は名称】大日本印刷株式会社
(74)【代理人】
【識別番号】110000958
【氏名又は名称】特許業務法人 インテクト国際特許事務所
(74)【代理人】
【識別番号】100120189
【弁理士】
【氏名又は名称】奥 和幸
(72)【発明者】
【氏名】小林 歩
【審査官】 中里 裕正
(56)【参考文献】
【文献】 特開2016−100007(JP,A)
【文献】 特開2009−140275(JP,A)
【文献】 特開2007−281892(JP,A)
【文献】 特開2006−254423(JP,A)
【文献】 特開2005−268931(JP,A)
【文献】 特開2004−80174(JP,A)
【文献】 国際公開第2006/114906(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/14
H04L 9/32
(57)【特許請求の範囲】
【請求項1】
処理部と記憶部を備え、且つ、複数のサーバ装置と個別に認証処理を行う電子情報記憶媒体であって、
前記記憶部は前記認証処理を行うための認証アプリケーションプログラムを記憶し、
前記認証アプリケーションプログラムは前記処理部を、
前記サーバ装置毎に、公開鍵暗号方式により秘密鍵及び公開鍵を作成する作成手段、
前記サーバ装置毎に、当該サーバ装置を他のサーバ装置と識別するための第1識別情報と、前記作成手段が当該サーバ装置について作成した秘密鍵を対応付けて前記記憶部に記憶させる登録手段、
前記サーバ装置毎に、当該サーバ装置の前記第1識別情報、及び、前記電子情報記憶媒体を他の電子情報記憶媒体と識別するための第2識別情報を暗号化した暗号データを生成する生成手段、
前記サーバ装置毎に、前記作成手段が当該サーバ装置について作成した公開鍵と、前記生成手段が当該サーバ装置の前記第1識別情報に基づいて生成した暗号データを、当該サーバ装置に送信する第1送信手段、
サーバ装置から、前記暗号データ及びメッセージを受信した場合に、当該暗号データを復号する復号手段、
前記復号手段により復号された第2識別情報が前記生成手段により暗号化された第2識別情報と一致し、且つ、前記復号手段により復号された第1識別情報と一致する第1識別情報が前記記憶部に記憶されている場合に、当該第1識別情報と対応付けて記憶されている秘密鍵を用いて前記メッセージを暗号化する暗号化手段、
前記暗号化したメッセージを前記メッセージの送信元であるサーバ装置に送信する第2送信手段、
として機能させることを特徴とする電子情報記憶媒体。
【請求項2】
請求項1に記載の電子情報記憶媒体であって、
前記生成手段は、前記公開鍵暗号方式として楕円曲線暗号を用いることを特徴とする電子情報記憶媒体。
【請求項3】
請求項1又は2に記載の電子情報記憶媒体であって、
前記登録手段は、前記第1識別情報及び前記秘密鍵を新たに記憶させる場合に、既に所定件数分の前記第1識別情報及び前記秘密鍵が記憶されている場合、前記暗号化手段が前記メッセージの暗号化に用いた時期が最も古い秘密鍵と、当該秘密鍵と対応付けられた第1識別情報を記憶している領域に記憶させることを特徴とする電子情報記憶媒体。
【請求項4】
複数のサーバ装置と、処理部と記憶部を備え、且つ、当該複数のサーバ装置と個別に認証処理を行う電子情報記憶媒体と、を含む認証システムであって、
前記記憶部は前記認証処理を行うための認証アプリケーションプログラムを記憶し、
前記認証アプリケーションプログラムは前記処理部を、
サーバ装置から、当該サーバ装置を他のサーバ装置と識別するための第1識別情報を受信する第1受信手段、
前記第1識別情報の送信元であるサーバ装置について、公開鍵暗号方式により秘密鍵及び公開鍵を作成する作成手段、
前記第1識別情報の送信元であるサーバ装置について、当該サーバ装置の第1識別情報と前記作成手段が当該サーバ装置について作成した秘密鍵を対応付けて記憶部に記憶させる登録手段、
前記第1識別情報の送信元であるサーバ装置について、当該サーバ装置の前記第1識別情報、及び、前記電子情報記憶媒体を他の電子情報記憶媒体と識別するための第2識別情報を暗号化した暗号データを生成する生成手段、
前記第1識別情報の送信元であるサーバ装置に対して、前記作成手段が当該サーバ装置について作成した公開鍵と、前記生成手段が当該サーバ装置について生成した暗号データを送信する第1送信手段、
サーバ装置から、前記暗号データ及びメッセージを受信した場合に、当該暗号データを復号する復号手段、
前記復号手段により復号された第2識別情報が前記生成手段により暗号化された第2識別情報と一致し、且つ、前記復号手段により復号された第1識別情報と一致する第1識別情報が前記記憶部に記憶されている場合に、当該第1識別情報と対応付けて記憶されている秘密鍵を用いて前記メッセージを暗号化する暗号化手段、
前記暗号化手段により暗号化されたメッセージを前記メッセージの送信元であるサーバ装置に送信する第2送信手段、として機能させ、
前記サーバ装置は、
自己の前記第1識別情報を前記電子情報記憶媒体に送信する第3送信手段と、
前記第1送信手段により送信された公開鍵と暗号データを保持する保持手段と、
前記保持手段が保持する暗号データとメッセージを前記電子情報記憶媒体に送信する第4送信手段と、
前記第2送信手段により送信された前記暗号化されたメッセージを前記保持手段が保持する公開鍵により復号し、前記第4送信手段が送信したメッセージと一致するか検証する検証手段と、
を備えることを特徴とする認証システム。
【請求項5】
処理部と記憶部を備え、且つ、複数のサーバ装置と個別に認証処理を行う電子情報記憶媒体において、前記処理部が前記記憶部に記憶された前記認証処理を行うための認証アプリケーションプログラムに基づいて行う認証方法であって、
前記サーバ装置毎に、公開鍵暗号方式により秘密鍵及び公開鍵を作成する作成工程と、
前記サーバ装置毎に、当該サーバ装置を他のサーバ装置と識別するための第1識別情報と、前記作成工程により当該サーバ装置について作成した秘密鍵を対応付けて記憶部に記憶させる登録工程と、
前記サーバ装置毎に、当該サーバ装置の前記第1識別情報、及び、前記電子情報記憶媒体を他の電子情報記憶媒体と識別するための第2識別情報を暗号化した暗号データを生成する生成工程と、
前記サーバ装置毎に、前記作成工程により当該サーバ装置について作成した公開鍵と、前記生成工程により当該サーバ装置の前記第1識別情報に基づいて生成した暗号データを、当該サーバ装置に送信する第1送信工程と、
サーバ装置から、前記暗号データ及びメッセージを受信した場合に、当該暗号データを復号する復号工程と、
前記復号工程により復号された第2識別情報が前記生成工程により暗号化された第2識別情報と一致し、且つ、前記復号工程により復号された第1識別情報と一致する第1識別情報が前記記憶部に記憶されている場合に、当該第1識別情報と対応付けて記憶されている秘密鍵を用いて前記メッセージを暗号化する暗号化工程と、
前記暗号化したメッセージを前記メッセージの送信元であるサーバ装置に送信する第2送信工程と、
を含むことを特徴とする認証方法。
【請求項6】
処理部と記憶部を備え、且つ、複数のサーバ装置と個別に認証処理を行う電子情報記憶媒体における、前記記憶部に記憶された前記認証処理を行うための認証アプリケーションプログラムであって、
前記処理部を、
前記サーバ装置毎に、公開鍵暗号方式により秘密鍵及び公開鍵を作成する作成手段、
前記サーバ装置毎に、当該サーバ装置を他のサーバ装置と識別するための第1識別情報と、前記作成手段が当該サーバ装置について作成した秘密鍵を対応付けて記憶部に記憶させる登録手段、
前記サーバ装置毎に、当該サーバ装置の前記第1識別情報、及び、前記電子情報記憶媒体を他の電子情報記憶媒体と識別するための第2識別情報を暗号化した暗号データを生成する生成手段、
前記サーバ装置毎に、前記作成手段が当該サーバ装置について作成した公開鍵と、前記生成手段が当該サーバ装置の前記第1識別情報に基づいて生成した暗号データを、当該サーバ装置に送信する第1送信手段、
サーバ装置から、前記暗号データ及びメッセージを受信した場合に、当該暗号データを復号する復号手段、
前記復号手段により復号された第2識別情報が前記生成手段により暗号化された第2識別情報と一致し、且つ、前記復号手段により復号された第1識別情報と一致する第1識別情報が前記記憶部に記憶されている場合に、当該第1識別情報と対応付けて記憶されている秘密鍵を用いて前記メッセージを暗号化する暗号化手段、
前記暗号化したメッセージを前記メッセージの送信元であるサーバ装置に送信する第2送信手段、
として機能させることを特徴とする認証アプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
ICチップ等の電子情報記憶媒体の技術分野に関する。
【背景技術】
【0002】
近年、IoT(Internet of Things)などの分野が普及するにつれ、PCやスマートフォンといった端末装置のWebブラウザ上で動作するWebアプリケーションが、当該端末装置のデバイスを制御するサービスが考えられている。例えば、Webアプリケーションから、端末装置のBluetooth(登録商標)、NFC(Near field radio communication)、USB(Universal Serial Bus)といった外部機器との接続デバイスを制御し、外部機器から情報を取得したり、外部機器の動作を制御したりする。
【0003】
また、このような仕組みでは、WebアプリケーションがIC(Integrated Circuit)チップ等の電子情報記憶媒体に対して制御を行うケースも想定される。例えば、ネットバンキング、オンライントレード、ショッピングカートといったWebアプリケーションが、ユーザ認証を行うために電子情報記憶媒体に問い合わせを行うケースが考えられる。ユーザID及びパスワードによる一般的なユーザ認証では不十分な場合や、ユーザ認証のためにWebサーバ側でユーザの機密情報を管理したくない場合に、電子情報記憶媒体を用いたユーザ認証が有効と考えられる。
【0004】
電子情報記憶媒体を用いたユーザ認証を行うにあたり、Webアプリケーション毎(Webサーバ毎)に、これに対応する電子情報記憶媒体や、電子情報記憶媒体上で動作するユーザ認証用のJavaCardアプリケーションプログラム(以下、「認証アプリ」という場合がある)が必要となる。後者については、特許文献1に記載された、インターネットを利用した電子情報記憶媒体へのアプリケーションの追加方法を利用することで、一つの電子情報記憶媒体に複数のJavaCardアプリケーションをインストールすることができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特許4743374号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、Webサーバ毎に電子情報記憶媒体を用意することはユーザの管理負担が大きく、又、Webサーバ毎に認証アプリをダウンロードしてインストールすることは、ユーザのインストールに要する負担が大きいことに加えて、ダウンロードのための通信コストが掛かるという問題がある。
【0007】
そこで、本発明は、複数のWebサーバ等のサーバ装置との認証処理を一の電子情報記憶媒体で実現し、且つ、当該一の電子情報記憶媒体にサーバ装置毎の認証アプリを記憶しなくて済む電子情報記憶媒体等を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記課題を解決するために、請求項1に記載の発明は、処理部と記憶部を備え、且つ、複数のサーバ装置と個別に認証処理を行う電子情報記憶媒体であって、前記記憶部は前記認証処理を行うための認証アプリケーションプログラムを記憶し、前記認証アプリケーションプログラムは前記処理部を、前記サーバ装置毎に、公開鍵暗号方式により秘密鍵及び公開鍵を作成する作成手段、前記サーバ装置毎に、当該サーバ装置を他のサーバ装置と識別するための第1識別情報と、前記作成手段が当該サーバ装置について作成した秘密鍵を対応付けて前記記憶部に記憶させる登録手段、前記サーバ装置毎に、当該サーバ装置の前記第1識別情報、及び、前記電子情報記憶媒体を他の電子情報記憶媒体と識別するための第2識別情報を暗号化した暗号データを生成する生成手段、前記サーバ装置毎に、前記作成手段が当該サーバ装置について作成した公開鍵と、前記生成手段が当該サーバ装置の前記第1識別情報に基づいて生成した暗号データを、当該サーバ装置に送信する第1送信手段、サーバ装置から、前記暗号データ及びメッセージを受信した場合に、当該暗号データを復号する復号手段、前記復号手段により復号された第2識別情報が前記生成手段により暗号化された第2識別情報と一致し、且つ、前記復号手段により復号された第1識別情報と一致する第1識別情報が前記記憶部に記憶されている場合に、当該第1識別情報と対応付けて記憶されている秘密鍵を用いて前記メッセージを暗号化する暗号化手段、前記暗号化したメッセージを前記メッセージの送信元であるサーバ装置に送信する第2送信手段、として機能させることを特徴とする。
【0009】
請求項2に記載の発明は、請求項1に記載の電子情報記憶媒体であって、前記生成手段は、前記公開鍵暗号方式として楕円曲線暗号を用いることを特徴とする。
【0010】
請求項3に記載の発明は、請求項1又は2に記載の電子情報記憶媒体であって、前記登録手段は、前記第1識別情報及び前記秘密鍵を新たに記憶させる場合に、既に所定件数分の前記第1識別情報及び前記秘密鍵が記憶されている場合、前記暗号化手段が前記メッセージの暗号化に用いた時期が最も古い秘密鍵と、当該秘密鍵と対応付けられた第1識別情報を記憶している領域に記憶させることを特徴とする。
【0011】
請求項4に記載の発明は、複数のサーバ装置と、処理部と記憶部を備え、且つ、当該複数のサーバ装置と個別に認証処理を行う電子情報記憶媒体と、を含む認証システムであって、前記記憶部は前記認証処理を行うための認証アプリケーションプログラムを記憶し、前記認証アプリケーションプログラムは前記処理部を、サーバ装置から、当該サーバ装置を他のサーバ装置と識別するための第1識別情報を受信する第1受信手段、前記第1識別情報の送信元であるサーバ装置について、公開鍵暗号方式により秘密鍵及び公開鍵を作成する作成手段、前記第1識別情報の送信元であるサーバ装置について、当該サーバ装置の第1識別情報と前記作成手段が当該サーバ装置について作成した秘密鍵を対応付けて記憶部に記憶させる登録手段、前記第1識別情報の送信元であるサーバ装置について、当該サーバ装置の前記第1識別情報、及び、前記電子情報記憶媒体を他の電子情報記憶媒体と識別するための第2識別情報を暗号化した暗号データを生成する生成手段、前記第1識別情報の送信元であるサーバ装置に対して、前記作成手段が当該サーバ装置について作成した公開鍵と、前記生成手段が当該サーバ装置について生成した暗号データを送信する第1送信手段、サーバ装置から、前記暗号データ及びメッセージを受信した場合に、当該暗号データを復号する復号手段、前記復号手段により復号された第2識別情報が前記生成手段により暗号化された第2識別情報と一致し、且つ、前記復号手段により復号された第1識別情報と一致する第1識別情報が前記記憶部に記憶されている場合に、当該第1識別情報と対応付けて記憶されている秘密鍵を用いて前記メッセージを暗号化する暗号化手段、前記暗号化手段により暗号化されたメッセージを前記メッセージの送信元であるサーバ装置に送信する第2送信手段、として機能させ、前記サーバ装置は、自己の前記第1識別情報を前記電子情報記憶媒体に送信する第3送信手段と、前記第1送信手段により送信された公開鍵と暗号データを保持する保持手段と、前記保持手段が保持する暗号データとメッセージを前記電子情報記憶媒体に送信する第4送信手段と、前記第2送信手段により送信された前記暗号化されたメッセージを前記保持手段が保持する公開鍵により復号し、前記第4送信手段が送信したメッセージと一致するか検証する検証手段と、を備えることを特徴とする。
【0012】
請求項5に記載の発明は、処理部と記憶部を備え、且つ、複数のサーバ装置と個別に認証処理を行う電子情報記憶媒体において、前記処理部が前記記憶部に記憶された前記認証処理を行うための認証アプリケーションプログラムに基づいて行う認証方法であって、前記サーバ装置毎に、公開鍵暗号方式により秘密鍵及び公開鍵を作成する作成工程と、前記サーバ装置毎に、当該サーバ装置を他のサーバ装置と識別するための第1識別情報と、前記作成工程により当該サーバ装置について作成した秘密鍵を対応付けて記憶部に記憶させる登録工程と、前記サーバ装置毎に、当該サーバ装置の前記第1識別情報、及び、前記電子情報記憶媒体を他の電子情報記憶媒体と識別するための第2識別情報を暗号化した暗号データを生成する生成工程と、前記サーバ装置毎に、前記作成工程により当該サーバ装置について作成した公開鍵と、前記生成工程により当該サーバ装置の前記第1識別情報に基づいて生成した暗号データを、当該サーバ装置に送信する第1送信工程と、サーバ装置から、前記暗号データ及びメッセージを受信した場合に、当該暗号データを復号する復号工程と、前記復号工程により復号された第2識別情報が前記生成工程により暗号化された第2識別情報と一致し、且つ、前記復号工程により復号された第1識別情報と一致する第1識別情報が前記記憶部に記憶されている場合に、当該第1識別情報と対応付けて記憶されている秘密鍵を用いて前記メッセージを暗号化する暗号化工程と、前記暗号化したメッセージを前記メッセージの送信元であるサーバ装置に送信する第2送信工程と、を含むことを特徴とする。
【0013】
請求項6に記載の発明は、処理部と記憶部を備え、且つ、複数のサーバ装置と個別に認証処理を行う電子情報記憶媒体における、前記記憶部に記憶された前記認証処理を行うための認証アプリケーションプログラムであって、前記処理部を、前記サーバ装置毎に、公開鍵暗号方式により秘密鍵及び公開鍵を作成する作成手段、前記サーバ装置毎に、当該サーバ装置を他のサーバ装置と識別するための第1識別情報と、前記作成手段が当該サーバ装置について作成した秘密鍵を対応付けて記憶部に記憶させる登録手段、前記サーバ装置毎に、当該サーバ装置の前記第1識別情報、及び、前記電子情報記憶媒体を他の電子情報記憶媒体と識別するための第2識別情報を暗号化した暗号データを生成する生成手段、前記サーバ装置毎に、前記作成手段が当該サーバ装置について作成した公開鍵と、前記生成手段が当該サーバ装置の前記第1識別情報に基づいて生成した暗号データを、当該サーバ装置に送信する第1送信手段、サーバ装置から、前記暗号データ及びメッセージを受信した場合に、当該暗号データを復号する復号手段、前記復号手段により復号された第2識別情報が前記生成手段により暗号化された第2識別情報と一致し、且つ、前記復号手段により復号された第1識別情報と一致する第1識別情報が前記記憶部に記憶されている場合に、当該第1識別情報と対応付けて記憶されている秘密鍵を用いて前記メッセージを暗号化する暗号化手段、前記暗号化したメッセージを前記メッセージの送信元であるサーバ装置に送信する第2送信手段、として機能させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、一の電子情報記憶媒体における一の認証アプリケーションプログラムが、サーバ装置毎に認証処理を行うための情報(第1識別情報、第2識別情報、秘密鍵)を保持しておくとともに、第1識別情報及び第2識別情報に基づく暗号データと公開鍵をサーバ装置毎に送信しておき、サーバ装置から暗号データとメッセージを受信した場合には、当該暗号データを復号して得た情報が電子情報記憶媒体で保持していた情報と一致するか検証し、更に、保持しておいた秘密鍵により受信したメッセージを暗号化して返信することにより、サーバ装置側での認証を可能とする(サーバ装置は、秘密鍵で暗号化されたメッセージを事前に受信した公開鍵で復号することにより認証を行うことができる)。すなわち、サーバ装置毎(Webサーバ毎)の認証処理(ユーザ認証)を一の電子情報記憶媒体で実現し、且つ、当該一の電子情報記憶媒体にサーバ装置毎の認証アプリケーションプログラムを記憶せずに済ませることができる。
【図面の簡単な説明】
【0015】
図1】本実施形態に係る認証システムSの概要構成例を示すブロック図である。
図2】本実施形態に係る携帯端末1の概要構成例を示すブロック図である。
図3】本実施形態に係るUIMカード18に搭載されるICチップCの概要構成例を示すブロック図である。
図4】本実施形態に係るフラッシュメモリ183上に設けられる認証テーブルTの概要構成例を示す図である。
図5】(A)は本実施形態に係るWebサーバ2の概要構成例を示すブロック図であり、(B)は本実施形態に係る記憶部212上に設けられるユーザテーブルUTの概要構成例を示す図である。
図6】本実施形態に係る認証システムSによる登録処理を示すフローチャートの一例である。
図7】本実施形態に係る登録処理においてICチップCが行う認証テーブルチェック処理を示すフローチャートの一例である。
図8】本実施形態に係る認証システムSによる第2認証処理を示すフローチャートの一例である。
図9】変形例に係る認証システムS−2の概要構成例を示すブロック図である。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、携帯端末とWebサーバを含む認証システムにおいて、携帯端末に備えられたUIMカードに搭載されるICチップに対して本発明を適用した場合の実施の形態である。
【0017】
まず、図1等を参照して、本実施形態に係る認証システムSと携帯端末1の構成及び機能概要を説明する。
【0018】
[1.認証システムSの構成]
図1は、本実施形態に係る認証システムSの概要構成例を示すブロック図である。図1に示すように、認証システムSは、携帯端末1と、それぞれサービスを提供するWebサーバ2−1、2−2、・・・、2−n(これらをまとめてWebサーバ2という場合がある)を含んで構成され、携帯端末1とWebサーバ2は、ネットワークNWを介して相互にデータの送受信が可能になっている。なお、ネットワークNWは、例えば、インターネット、専用通信回線(例えば、CATV(Community Antenna Television)回線)、移動体通信網(基地局等を含む)、及びゲートウェイ等により構築されている。
【0019】
携帯端末1にはWebブラウザがインストールされており、携帯端末1のユーザUはWebブラウザ上で動作するWebアプリケーションを介して、それぞれのWebサーバ2が提供するサービスを利用する。Webサーバ2はサービスを提供するにあたり、ユーザUを認証するための認証処理を行う。認証処理は2段階で行われ、まず、ユーザIDとパスワードによる一般的な第1認証処理を行った後、携帯端末1が備えるICチップに登録されている情報を利用した第2認証処理を行う。Webサーバ2は2段階の認証処理が正常に終了すると、ユーザUにサービスの提供を行う。
【0020】
[2.携帯端末1の構成]
図2は、本実施形態に係る携帯端末1の概要構成例を示すブロック図である。図2に示すように、携帯端末1は、制御部11、記憶部12、無線通信部13、表示部14、入力部15、CLFインターフェース16a、ICカードインターフェース16b、及びCLF19等を備えて構成され、これらの構成要素はバス17を介して相互に接続される。なお、携帯端末1は、例えば携帯電話機やスマートフォン、タブレット端末等である。
【0021】
制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、及びRAM(Random Access Memory)等により構成される。記憶部12は、例えばフラッシュメモリ等の不揮発性メモリにより構成される。上記ROMまたは記憶部12には、OS(Operating System)及びミドルウェアが記憶される。また、記憶部12には、携帯端末1にインストールされたAPI(Application Program Interface)及びWebブラウザを含むアプリケーションソフトウェア(アプリケーションプログラム言語から構成されるソフトウェア)等が記憶される。APIは、アプリケーションソフトウェアからオペレーティングシステムの機能を利用するためのインターフェースである。アプリケーションソフトウェアは、例えば所定のサーバからダウンロード可能なプログラムである。
【0022】
無線通信部13は、アンテナを有し、移動体通信網における基地局との間で行われる無線通信を制御する。表示部14は、例えばタッチパネル方式の表示パネルを有し、表示パネルへの表示制御、及びユーザUからの操作指示の受け付けを行う。入力部15は、ユーザUからの操作指示を入力するための操作ボタンを有し、操作ボタンに応じた信号を制御部11に出力する。CLFインターフェースは、制御部11とCLF19との間のインターフェースを担い、ICカードインターフェース16bは、制御部11とUIMカード18との間のインターフェースを担う。
【0023】
UIMカード18は、UICC(Universal Integrated Circuit Card)の一つであり、例えば、従来のSIM(Subscriber Identity Module)をベースに機能を拡張された接触型ICチップを搭載する。
【0024】
CLF19は、NFCの規格で規定される非接触通信を行う非接触型ICチップであり、非接触通信のフィールド内で読取装置(図示せず)との間で各種信号の送受信を行うためのアンテナに接続されている。そして、ユーザUが携帯端末1を読取装置に翳すと、読取装置から送信されたコマンドを、インターフェイス(図示せず)を介してUIMカード18へ送信し、UIMカード18から送信された、コマンドに対する応答を読取装置に返すようになっている。なお、CLF19は、携帯端末1のOSにより操作可能になっている。
【0025】
[3.ICチップCの構成]
図3は、本実施形態に係るUIMカード18に搭載されるICチップCの概要構成例を示すブロック図である。図3に示すように、ICチップCは、CPU181(「処理部」の一例)、RAM182、フラッシュメモリ183、及びI/O回路184等を備え、これらの構成要素はバス185を介して相互に接続される。
【0026】
RAM182には、例えばOS、ミドルウェア、各種アプリケーションが機能するうえで一時的に必要となるデータが記憶される。
【0027】
フラッシュメモリ183は、例えばNOR型フラッシュメモリであって、OS、ミドルウェア及びアプリケーション(TELアプリや、Webサーバ2と認証処理を行うための認証アプリ)等を記憶する。
【0028】
認証アプリは、フラッシュメモリ183上の認証アプリに割り当てられた記憶領域に認証カウンタと、図4を用いて後述する認証テーブルを記憶する。認証カウンタは、Webサーバ2との間で認証処理が正常に行われる度にインクリメントされる。
【0029】
図4は、本実施形態に係るフラッシュメモリ183上に設けられる認証テーブルTの概要構成例を示す図である。認証テーブルTは、ICチップCに認証アプリがインストールされた際に作成され、認証処理に係る認証情報を所定件数(本実施形態では「5件」)分記憶する。認証情報は認証処理の相手となるWebサーバ2毎に登録される情報であって、それぞれインデックスにより管理されている。
【0030】
認証情報は、WebID、秘密鍵、認証時のカウンタ値をそれぞれ示す情報により構成されている。WebIDは、認証処理の相手となるWebサーバ2によるサービスを提供するためのWebアプリケーション(Webサーバ2に対応するWebアプリケーション)を識別するための情報である(換言すれば、WebIDは、Webアプリケーションに対応するWebサーバ2を識別する情報と同義である)。秘密鍵は、ICチップCがWebサーバ2毎に公開鍵暗号方式により作成する鍵ペア(秘密鍵と公開鍵)の一つである。なお、鍵ペアのもう一つの鍵である公開鍵は認証処理の相手となるWebサーバ2に送信され、保持される。認証時のカウンタ値は、Webサーバ2との間で認証処理が行われた際の、認証カウンタの値を示す情報である。つまり、認証時のカウンタ値が大きいほど、現在に近い時点で認証処理を行ったことを意味する。よって、認証情報を新たに登録する必要がある場合(例えば、新たなWebサーバ2との認証処理を行うための認証情報を登録する場合)であって、認証テーブルTに既に5件分の認証情報が登録済みである場合には、新たに認証情報を追加することができないので、認証時のカウンタ値が最小である認証情報(最も遠い過去に行われた認証処理に使用した認証情報)が登録されていた領域に登録する。
【0031】
I/O回路184は、ISO7816等によって定められた、C1〜C8の8個の接続端子を有する。ここで、C1端子は電源端子(VCC)であり、C5端子はグランド端子(GND)である。また、C2端子は、リセット端子(RST)であり、C3端子は、クロック端子(CLK)である。また、C7端子は、CPU181と制御部11との間の通信のために用いられる。また、C6端子は、CPU181とCLF19との間の通信のために用いられる。なお、CPU181とCLF19間の通信プロトコルには、SWP(Single Wire Protocol)が適用される。
【0032】
CPU181は、CLF19からコマンドを受信すると、当該コマンドに応じたコマンド処理を実行し、コマンドに対する応答をCLF19に対して行う。また、CPU181は、制御部11からコマンドを受信すると、当該コマンドに応じたコマンド処理を実行し、コマンドに対する応答を制御部11に対して行う。
【0033】
また、CPU181は、Webサーバ2から送信されるコマンド(後述する登録コマンド、認証コマンド)を、携帯端末1のICカードインターフェース16bを介して受信した場合には、認証アプリを実行することにより、コマンドに応じた処理を行う。
【0034】
[4.Webサーバ2の構成]
次に、Webサーバ2の構成について説明する。図5(A)に示すように、Webサーバ2は、大別して、制御部211、記憶部212、通信部213、表示部214及び操作部215を含んで構成されている。
【0035】
記憶部212は、例えばハードディスクドライブ等により構成されており、OS(Operating System)、サービス提供プログラムや、ICチップCと認証処理を行うための認証プログラム、及び各種データを記憶する。
【0036】
また、記憶部212には、認証プログラムで使用するユーザテーブルが設けられている。図5(B)に示すように、ユーザテーブルUTには、インデックス(ユーザID)毎に、パスワード、公開鍵及び暗号データを示す情報が登録される。パスワードとしてはユーザIDに対応するパスワードが登録され、ユーザIDとパスワードによる一般的な認証処理(後述する第1認証処理)において参照される。また、公開鍵及び暗号データは、後述するように、ICチップCから受信した公開鍵及び暗号データが登録され、後述する第2認証処理において利用される。
【0037】
通信部213は、ネットワークNWに接続して、携帯端末1(ICチップC)等との通信状態を制御する。
【0038】
表示部214は、例えば、液晶ディスプレイ等により構成されており、文字や画像等の情報を表示するようになっている。
【0039】
操作部215は、例えば、キーボード、マウス等により構成されており、オペレータからの操作指示を受け付け、その指示内容を指示信号として制御部211に出力するようになっている。
【0040】
制御部211は、CPU、ROM、RAM等により構成されている。そして、CPUが、ROMや記憶部212に記憶された各種プログラムを読み出し実行することにより各種機能を実現する。
【0041】
[5.認証システムSの動作]
次に、認証システムSによるWebサーバ2とICチップCによる認証処理について説明する。但し、第1認証処理はユーザIDとパスワードによる一般的な認証処理であるので、第1認証処理の後に行われる第2認証処理に係る説明のみを行うこととする。なお、Webサーバ2とICチップC間で第2認証処理を行うためには、両者間で認証処理を行うために必要な情報を登録する登録処理を事前に行う必要がある。よって、まず登録処理について説明した後に、第2認証処理について説明する。
【0042】
図6及び図7を用いて登録処理について説明する。図6は、認証システムSによる登録処理を示すフローチャートの一例であり、図7は、登録処理においてICチップCが行う認証テーブルチェック処理を示すフローチャートの一例である。
【0043】
図6に示すように、まず、Webサーバ2の制御部211は登録コマンドを、ネットワークNW及びICチップCを含む携帯端末1を介して(以下、Webサーバ2とICチップC間での通信する場合について同様)、ICチップCに送信する(ステップS101A)。このとき、制御部211は自らに対応するWebアプリケーションを、他のWebサーバに対応するWebアプリケーションと識別するためのWebIDを登録コマンドとともに送信する。
【0044】
これに対して、ICチップCのCPU181は登録コマンドを受信すると(S101B)、認証テーブルチェック処理を行う(ステップS102B)。
【0045】
ここで、図7を用いて認証テーブルチェック処理について説明する。図7に示すように、CPU181は、まず、認証テーブルTの登録済み件数が最大(5件)であるか否かを判定する(ステップS121)。このとき、CPU181は、認証テーブルTの登録済み件数が最大(5件)でない(認証テーブルTに空きがある)と判定した場合には(ステップS121:NO)、次いで、ステップS101Bの処理で登録コマンドとともに受信したWebIDと同一のWebIDが認証テーブルTに登録されているか否かを判定する(ステップS122)。
【0046】
CPU181は、受信したWebIDと同一のWebIDが認証テーブルTに登録されていると判定した場合には(ステップS122:YES)、認証テーブルチェック処理を終了する。一方、CPU181は、受信したWebIDと同一のWebIDが認証テーブルTに登録されていないと判定した場合には(ステップS122:NO)、受信したWebIDを認証テーブルTに追加登録し(ステップS123)、認証テーブルチェック処理を終了する。
【0047】
また、CPU181は、ステップS121の処理で、認証テーブルTの登録済み件数が最大(5件)である(認証テーブルTに空きがない)と判定した場合には(ステップS121:YES)、認証テーブルTにおいて認証時のカウンタ値が最小のWebIDを特定する(ステップS124)。次いで、CPU181は、ステップS101Bの処理で登録コマンドとともに受信したWebIDにより、ステップS124の処理で特定したWebIDを上書き登録し(ステップS125)、認証テーブルチェック処理を終了する。
【0048】
図6のステップS103Bに戻り、CPU181は、公開鍵暗号方式による鍵ペア(秘密鍵・公開鍵)を作成する(ステップS103B)。なお、公開鍵暗号方式による鍵ペアの作成方法は、従来公知の手法を採用することができるが、作成処理に要する時間がRSA暗号よりも短い楕円曲線暗号であることが好ましい。
【0049】
次に、CPU181は、ステップS103Bの処理で作成した秘密鍵を認証テーブルTに登録する(ステップS104B)。なお、秘密鍵を登録する領域は、図7の認証テーブルチェック処理を何れの手順で行ったかによって異なる。例えば、ステップS123の処理でWebIDを追加登録した場合には、当該追加登録したWebIDに対応する領域に登録する(例えば、インデックス「4」のWebIDに追加登録したのであれば、インデックス「4」の秘密鍵に登録する。他のケースについても同様)。また、ステップS125の処理でWebIDを上書き登録した場合には、当該上書き登録したWebIDに対応する領域に登録する。更に、ステップS122の処理で、Webサーバ2から受信したWebIDと同一のWebIDが認証テーブルTに登録されていると判定した場合には、当該WebIDに対応する領域に登録する。
【0050】
次に、CPU181は、フラッシュメモリ183上の認証カウンタの値を認証テーブルTに登録する(ステップS105B)。なお、認証カウンタの値を登録する領域は、直近のステップS104Bの処理で秘密鍵を登録した領域に対応する領域である。
【0051】
次に、CPU181は、ステップS101Bの処理で受信したWebIDと、認証アプリのアプリケーションID(AID)、と、カード固有ID(Webサーバ2が他のUIMカードと識別するためのID)を、カード固有の秘密鍵で暗号化することにより、暗号データを生成する(ステップS106B)。
【0052】
次に、CPU181は、ステップS101Bの処理で受信した登録コマンドに対するレスポンスとともに、ステップS103Bの処理で作成した公開鍵と、ステップS106Bの処理で生成した暗号データを、Webサーバ2に送信する(S107B)。
【0053】
これに対して、Webサーバ2の制御部211は、ICチップCからレスポンスを受信すると(ステップS102A)、レスポンスとともに受信した公開鍵と暗号データを所定の記憶装置(図示しない)に登録し(ステップS103A)、登録処理を終了する。
【0054】
次に、図8を用いて、認証システムSによる第2認証処理について説明する。なお、図8は、認証システムSによる第2認証処理を示すフローチャートの一例である。第2認証処理は、Webサーバ2と携帯端末1との間の、ユーザIDとパスワードによる第1認証処理が正常終了した場合に実行される。
【0055】
図8に示すように、まず、Webサーバ2の制御部211は認証コマンドをICチップCに送信する(ステップS131A)。このとき、制御部211は、図6のステップS103Aの処理で登録した暗号データと、Webサーバ2が作成したメッセージ(例えば、乱数)を認証コマンドとともに送信する。
【0056】
これに対して、ICチップCのCPU181は認証コマンドを受信すると(S131B)、認証コマンドとともに受信した暗号データを復号する(ステップS132B)。このとき、CPU181は、図6のステップS106Bの処理で使用した秘密鍵を用いて復号する。なお、図6のステップS106Bの処理で暗号データを暗号化し、ステップS132Bで暗号データを復号する暗号方式は任意の方式を採用することができる。
【0057】
次に、CPU181は、復号したAIDとカード固有IDが、図6のステップS106Bの処理で暗号化したものと同一であるか否かをチェックする(ステップS133B)。なお、このとき、同一でなかった場合には、エラーを示すレスポンスをWebサーバ2に送信し、第2認証処理を終了する。
【0058】
次に、CPU181は、復号したWebIDに基づいて、認証テーブルTから秘密鍵を取得する(ステップS134B)。具体的には、CPU181は、復号したWebIDと同一のWebIDがあるか認証テーブルTを検索し、該当するWebIDがあった場合に当該WebIDと対応付けられている秘密鍵を取得する。なお、CPU181は、検索の結果、該当するWebIDが見つからなかった場合には、エラーを示すレスポンスをWebサーバ2に送信し、第2認証処理を終了する。
【0059】
次に、CPU181は、ステップS134の処理で取得した秘密鍵により、認証コマンドとともに受信したメッセージに署名を行う(ステップS135B)。メッセージの署名は、秘密鍵によりメッセージを暗号化することにより行う。
【0060】
次に、CPU181は、認証カウンタをインクリメントする(ステップS136B)。
【0061】
次に、CPU181は、ステップS131Bの処理で受信した認証コマンドに対するレスポンスとともに、ステップS135Bの処理で作成した署名付きメッセージをWebサーバ2に送信する(S137B)。
【0062】
これに対して、Webサーバ2の制御部211は、ICチップCからレスポンスを受信すると(ステップS132A)、レスポンスとともに受信した署名付きメッセージを、図6のステップS103Aの処理で登録した公開鍵により検証する。具体的には、制御部211は、受信した署名付きメッセージを公開鍵により復号し、ステップS131Aの処理で送信したメッセージと同一であるか否かをチェックし、同一であれば、第2認証処理を正常終了する。一方、制御部211は、同一でなければ、エラーを示すレスポンスをWebサーバ2に送信し、第2認証処理を終了する。
【0063】
以上のように、本実施形態のICチップC(「電子情報記憶媒体」の一例)は、複数のWebサーバ2(「サーバ装置」の一例)と個別に認証処理を行い、且つ、CPU181(「処理部」の一例)とフラッシュメモリ183(「記憶部」の一例)を備え、フラッシュメモリ183は認証アプリ(「認証アプリケーションプログラム」の一例)を記憶し、認証アプリはCPU181(「作成手段」、「登録手段」、「生成手段」、「第1送信手段」、「復号手段」、「第2送信手段」の一例)に、Webサーバ2毎に、公開鍵暗号方式により秘密鍵及び公開鍵を作成させ、Webサーバ2毎に、Webサーバ2を他のWebサーバ2と識別するためのWebID(「第1識別情報」の一例)と、当該Webサーバ2について作成した秘密鍵を対応付けてフラッシュメモリ183の認証テーブルTに記憶させ、Webサーバ2毎に、当該Webサーバ2毎のWebID、及び、ICチップCを他のICチップと識別するためのカード固有ID(「第2識別情報」の一例)を暗号化した暗号データを生成させ、Webサーバ2毎に、当該Webサーバ2について作成した公開鍵と、当該Webサーバ2のWebIDに基づいて生成した暗号データを、当該Webサーバ2に送信させ、Webサーバ2から、暗号データ及びメッセージを受信した場合に、当該暗号データを復号させ、復号されたカード固有IDが暗号化されたカード固有IDと一致し、且つ、復号されたWebIDと一致するWebIDが認証テーブルTに記憶されている場合に、当該WebIDと対応付けて記憶されている秘密鍵を用いてメッセージを暗号化させ、暗号化したメッセージをメッセージの送信元であるWebサーバ2に送信させる。
【0064】
したがって、本実施形態のICトップCによれば、一のICチップCにおける一の認証アプリが、Webサーバ2毎に認証処理を行うための情報(WebID、秘密鍵)を登録しておくとともに、公開鍵と暗号データをWebサーバ2毎に送信しておき、Webサーバ2から暗号データとメッセージを受信した場合には、当該暗号データを復号して得た情報がICチップCで保持している情報と一致するか検証し、更に、登録しておいた秘密鍵により受信したメッセージを暗号化して返信することにより、Webサーバ2による認証を可能とする。すなわち、Webサーバ2毎の認証処理を一のICチップCで実現し、且つ、当該一のICチップCにWebサーバ2毎の認証アプリを記憶せずに済ませることができる。
【0065】
また、本実施形態のCPU181は、公開鍵暗号方式として楕円曲線暗号を用いる。これにより、RSA暗号を用いた場合よりも高速に鍵ペアを生成することができることから、図6のステップS101Bの処理で、登録コマンドを受信してから、図6のステップS107Bの処理で、レスポンスを送信するまでの応答時間を短縮することができる。
【0066】
更に、本実施形態のCPU181は、WebID及び秘密鍵を新たに記憶させる場合に、既に5件(「所定件数」の一例)分のWebID及び秘密鍵(認証情報)が記憶されている場合、認証テーブルTにおいて認証時のカウンタ値が最小である秘密鍵(「暗号化手段がメッセージの暗号化に用いた時期が最も古い秘密鍵」と、当該秘密鍵と対応付けられたWebIDを記憶している領域に記憶させる。これにより、前回の認証処理から最も時間の経過している認証情報が記憶されている領域に新たに記憶する認証情報が記憶される。よって、容量に限りのあるフラッシュメモリ183を有効に使用することができる。
【0067】
[6.変形例]
次に、上記実施形態の変形例について説明する。なお、以下に説明する変形例は適宜組み合わせることができる。
【0068】
[6.1.変形例1]
図9は、変形例1に係る認証システムS−2の概要構成例を示すブロック図である。図9に示すように、認証システムS−2は、パーソナルコンピュータPCと、パーソナルコンピュータPCに接続されたリーダ・ライタRWと、ICチップCが組み込まれたICカード30と、それぞれサービスを提供するWebサーバ2(上記実施形態と同様)を含んで構成され、パーソナルコンピュータPCとWebサーバ2はネットワークNWを介して相互にデータの送受信が可能になっている。
【0069】
パーソナルコンピュータPCにはWebブラウザがインストールされており、パーソナルコンピュータPCのユーザUはWebブラウザ上で動作するWebアプリケーションを介して、それぞれのWebサーバ2が提供するサービスを利用する。Webサーバ2は自己のサービスを提供するにあたり2段階認証を行う。具体的には、Webサーバ2は、ユーザIDとパスワードによる一般的な第1認証処理を行った後、リーダ・ライタRWにICカード30を翳してもらい、パーソナルコンピュータPCを介してICカード30と通信を行い、第2認証処理を行う。
【0070】
変形例1におけるICカード30は、上記実施形態のUIMカード18と同様の構成を有しているが、I/O回路184の代わりにI/Oインターフェースを有している。I/Oインターフェースは、データを送受信するための入出力回路であり、CPU181は、このI/Oインターフェースを介してリーダ・ライタRW等と交信する。
【0071】
変形例1における登録処理及び第2認証処理については、図6乃至図8を用いて説明した上記実施形態と同様であるので説明を省略する。
【0072】
[6.2.変形例2]
変形例2では、図8のステップS137Bの処理において、レスポンス及び署名付きメッセージに加えて、認証カウンタの値を示す情報をWebサーバ2に送信することとしてもよい。これに対して、Webサーバ2は、ICチップCから受信した認証カウンタの値を示す情報を、ユーザIDと対応付けて保持しておき、次回の第2認証処理において認証カウンタの値を示す情報を受信した際に、両者を比較することにより妥当性チェックを行うこととする。第2認証処理を行う度に当該妥当性チェックを行うことにより、不正利用の防止効果を向上させることができる。
【0073】
具体的には、制御部211は、以下の(1)−(3)の通り、妥当性チェックを行う。
・前回の第2認証処理で受信したカウンタの値:Cb
・今回の第2認証処理で受信したカウンタの値:Cn
(1) Cn<Cb+1・・・不正利用と判定
(2) Cn=Cb+1・・・正常利用と判定
(3) Cn>Cb+1・・・正常利用と判定
なお、(2)の場合は、あるICチップCが同一のWebサーバ(例えば、Webサーバ2−1)との間で連続して認証処理を行ったことを意味する。(3)は、あるICチップCが一のWebサーバ(例えば、Webサーバ2−1)との間で認証処理を行った後、他のWebサーバ(例えば、Webサーバ2−2等)との間で認証処理を行い(他のWebサーバとの間の認証処理の回数は2以上の場合もある)、再度、一のWebサーバ(例えば、Webサーバ2−1)との間で認証処理を行ったことを意味する。
【符号の説明】
【0074】
1 携帯端末
11 制御部
12 記憶部
13 無線通信部
14 表示部
15 入力部
16a CLFインターフェース
16b ICカードインターフェース
17 バス
18 UIMカード
C ICチップ
181 CPU
182 RAM
183 フラッシュメモリ
184 I/O回路
185 バス
19 CLF
2 Webサーバ
図1
図2
図3
図4
図5
図6
図7
図8
図9