[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2013005220A - アプリケーション認証システム、アプリケーション認証方法 - Google Patents

アプリケーション認証システム、アプリケーション認証方法 Download PDF

Info

Publication number
JP2013005220A
JP2013005220A JP2011134271A JP2011134271A JP2013005220A JP 2013005220 A JP2013005220 A JP 2013005220A JP 2011134271 A JP2011134271 A JP 2011134271A JP 2011134271 A JP2011134271 A JP 2011134271A JP 2013005220 A JP2013005220 A JP 2013005220A
Authority
JP
Japan
Prior art keywords
key
information
information terminal
authenticator
authentication server
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.)
Granted
Application number
JP2011134271A
Other languages
English (en)
Other versions
JP5622668B2 (ja
Inventor
Satoshi Iizuka
智 飯塚
Naohisa Ichihara
尚久 市原
Yasumasa Hirai
康雅 平井
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.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2011134271A priority Critical patent/JP5622668B2/ja
Publication of JP2013005220A publication Critical patent/JP2013005220A/ja
Application granted granted Critical
Publication of JP5622668B2 publication Critical patent/JP5622668B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】情報端末において動作するアプリケーションが、適切な情報端末にインストールされた正当なアプリケーションであるか否かを検証する。
【解決手段】認証サーバが、メッセージを情報端末に送信し、情報端末が、送信されるメッセージを、鍵情報を用いて暗号化して耐タンパ装置に入力し、情報端末の耐タンパ装置が、暗号化されたメッセージを復号し、復号したメッセージと署名鍵とに基づいて第1の認証子を生成して出力し、情報端末が、耐タンパ装置に入力したメッセージに応じて耐タンパ装置から出力される第1の認証子と、鍵情報とに基づいて第2の認証子を生成して認証サーバに送信し、認証サーバが、情報端末に送信したメッセージに応じて、情報端末から送信される第2の認証子を受信し、受信した第2の認証子を、鍵情報を用いて検証し、第2の認証子に含まれる第1の認証子を、署名鍵に対応する検証鍵を用いて検証する。
【選択図】図1

Description

本発明は、情報端末において動作するアプリケーションを認証する技術に関する。
様々なアプリケーションソフトウェア(以下、アプリケーション)が動作するスマートフォンやタブレットPC(パーソナルコンピュータ)等の情報端末が普及しており、これらの情報端末を様々な場面で有効に活用することが望まれている。例えば、これらの情報端末をビジネスの場面で利用する場合、その情報端末には様々な顧客情報、個人情報、営業秘密等の機密情報が記憶されていたり、このような機密情報が記憶されている外部のサーバにアクセスしたりすることがあると考えられるため、十分なセキュリティの確保が望まれる。例えば、非特許文献1には、情報端末において動作するアプリケーションの正当性を検証することが記載されている。ここでは、正当なアプリケーションのハッシュ値を予め算出して記憶しておく。そして、アプリケーションを動作させる際に、そのアプリケーションのハッシュ値を算出し、算出したハッシュ値と予め記憶したハッシュ値とを比較する。算出したハッシュ値と予め記憶したハッシュ値とが一致すれば、そのアプリケーションは正当であると判定して動作を許可し、算出したハッシュ値と予め記憶したハッシュ値とが一致しなければ、そのアプリケーションは正当でないと判定して動作を許可しない。
植松建至、芦野佑樹、藤田圭祐、多田真崇、高塚光幸、佐々木良一、「構造計算書不正検知システムの提案」、2008年7月、情報処理学会論文誌、Vol.49、No.9、pp.3199−3208
しかしながら、上述のようなハッシュ値による認証は、アプリケーション自体の正当性を検証するものであるが、そのアプリケーションが適切な情報端末にインストールされ、動作するものであるか否かを検証するものではない。ここで、このような情報端末を、より高いセキュリティの求められる場面で活用する場合には、そのアプリケーションが適切な情報端末にインストールされ、動作する正当なアプリケーションであるか否かを検証することが望ましい。
本発明は、このような状況に鑑みてなされたもので、情報端末において動作するアプリケーションが、適切な情報端末にインストールされた正当なアプリケーションであるか否かを検証するアプリケーション認証システム、アプリケーション認証方法を提供する。
上述した課題を解決するために、本発明は、耐タンパ装置を有する情報端末と、情報端末とネットワークを介して接続された認証サーバとを備えたアプリケーション認証システムであって、情報端末の耐タンパ装置は、情報端末において動作するアプリケーションソフトウェアに予めハードコーディングされた鍵情報が記憶されている耐タンパ鍵情報記憶部と、予め定められた署名鍵が記憶されている署名鍵記憶部と、アプリケーションソフトウェアから入力される、鍵情報を用いて暗号化されたメッセージを、耐タンパ鍵情報記憶部に記憶されている鍵情報を用いて復号する耐タンパ復号部と、耐タンパ復号部が復号したメッセージと、署名鍵とに基づいて第1の認証子を生成して出力する暗号化部と、を備え、情報端末は、鍵情報がハードコーディングされたソースコードに基づくアプリケーションソフトウェアであって、認証サーバから送信されるメッセージを、鍵情報を用いて暗号化して耐タンパ装置に入力し、耐タンパ装置に入力したメッセージに応じて耐タンパ装置から出力される第1の認証子と、自身にハードコーディングされた鍵情報とに基づいて第2の認証子を生成し、認証サーバに送信するアプリケーションソフトウェアが記憶されているAP記憶部と、AP記憶部に記憶されているアプリケーションソフトウェアを動作させる制御部と、を備え、認証サーバは、鍵情報が記憶されている認証サーバ鍵情報記憶部と、耐タンパ装置に記憶されている署名鍵に対応する検証鍵が記憶されている検証鍵記憶部と、メッセージを生成して情報端末に送信する送信部と、送信部が情報端末に送信したメッセージに応じて、情報端末から送信される第2の認証子を受信する受信部と、受信部が受信した第2の認証子を、認証サーバ鍵情報記憶部に記憶されている鍵情報を用いて検証し、第2の認証子に含まれる第1の認証子を、検証鍵記憶部に記憶されている検証鍵を用いて検証する検証部と、を備えることを特徴とする。
また、本発明は、認証サーバは、ネットワークを介して複数の情報端末に接続されており、検証部によって検証成功と判定された場合、第2の認証子を送信した情報端末に記憶されているアプリケーションソフトウェアを識別する固有APIDを生成する固有APID生成部と、複数の情報端末に記憶されているアプリケーションソフトウェアを識別する固有APID毎に、アプリケーションソフトウェアに対応する固有鍵が対応付けられて記憶される固有鍵記憶部とを備え、認証サーバの受信部は、情報端末から送信される固有鍵を受信し、情報端末に記憶されているアプリケーションソフトウェアを識別する固有APIDに対応付けて固有鍵記憶部に記憶させ、情報端末は、検証部によって検証成功と判定された場合、固有鍵を生成し、認証サーバに送信する固有鍵送信部と、を備えることを特徴とする。
また、本発明は、AP記憶部に記憶されているアプリケーションソフトウェアは、複数の鍵情報がハードコーディングされたソースコードに基づくアプリケーションソフトウェアであって、複数の鍵情報のうち定められた条件に応じた鍵情報を用いて暗号化し、耐タンパ装置の耐タンパ鍵情報記憶部には、複数の鍵情報が記憶され、耐タンパ装置の耐タンパ復号部は、耐タンパ鍵情報記憶部に記憶された複数の鍵情報のうち、条件に応じた鍵情報を用いて復号し、認証サーバの認証サーバ鍵情報記憶部には、複数の鍵情報が記憶され、認証サーバの検証部は、認証サーバ鍵情報記憶部に記憶された複数の鍵情報のうち、条件に応じた鍵情報を用いて検証することを特徴とする。
また、本発明は、アプリケーション認証システムは、情報端末において動作するアプリケーションソフトウェアと通信を行う業務APサーバを備え、認証サーバは、セッション鍵を生成し、鍵情報を用いて暗号化して情報端末との間で共有し、セッション鍵を業務APサーバに送信し、業務APサーバと情報端末とは、セッション鍵に基づいて暗号化通信を行うことを特徴とする。
また、本発明は、認証サーバの送信部が情報端末に送信するメッセージは、チャレンジレスポンス方式におけるチャレンジであり、情報端末がチャレンジに応じて認証サーバに送信する第2の認証子は、チャレンジに対応するレスポンスであることを特徴とする。
また、本発明は、情報端末において動作するアプリケーションソフトウェアに予めハードコーディングされた鍵情報が記憶されている耐タンパ鍵情報記憶部と、予め定められた署名鍵が記憶されている署名鍵記憶部とを備える耐タンパ装置を有し、鍵情報がハードコーディングされたソースコードに基づくアプリケーションソフトウェアであって、ネットワークを介して接続された認証サーバから送信されるメッセージを、鍵情報を用いて暗号化して耐タンパ装置に入力し、耐タンパ装置に入力したメッセージに応じて耐タンパ装置から出力される第1の認証子と、自身にハードコーディングされた鍵情報とに基づいて第2の認証子を生成し、認証サーバに送信するアプリケーションソフトウェアが記憶されているAP記憶部を備える情報端末と、鍵情報が記憶されている認証サーバ鍵情報記憶部と、耐タンパ装置に記憶されている署名鍵に対応する検証鍵が記憶されている検証鍵記憶部とを備えた認証サーバと、を備えたアプリケーション認証システムのアプリケーション認証方法であって、認証サーバが、メッセージを生成して情報端末に送信するステップと、情報端末の制御部が、AP記憶部に記憶されているアプリケーションソフトウェアを動作させることにより、認証サーバから送信されるメッセージを、鍵情報を用いて暗号化して耐タンパ装置に入力するステップと、情報端末の耐タンパ装置が、アプリケーションソフトウェアから入力される、鍵情報を用いて暗号化されたメッセージを、耐タンパ鍵情報記憶部に記憶されている鍵情報を用いて復号するステップと、復号したメッセージと、署名鍵とに基づいて第1の認証子を生成して出力するステップと、情報端末の制御部が、AP記憶部に記憶されているアプリケーションソフトウェアを動作させることにより、耐タンパ装置に入力したメッセージに応じて耐タンパ装置から出力される第1の認証子と、自身にハードコーディングされた鍵情報とに基づいて第2の認証子を生成し、認証サーバに送信するステップと、認証サーバが、情報端末に送信したメッセージに応じて、情報端末から送信される第2の認証子を受信するステップと、受信した第2の認証子を、認証サーバ鍵情報記憶部に記憶されている鍵情報を用いて検証し、第2の認証子に含まれる第1の認証子を、検証鍵記憶部に記憶されている検証鍵を用いて検証するステップと、を備えることを特徴とする。
以上説明したように、本発明によれば、認証サーバが、メッセージを情報端末に送信し、情報端末が、送信されるメッセージを、鍵情報を用いて暗号化して耐タンパ装置に入力し、情報端末の耐タンパ装置が、暗号化されたメッセージを復号し、復号したメッセージと署名鍵とに基づいて第1の認証子を生成して出力し、情報端末が、耐タンパ装置に入力したメッセージに応じて耐タンパ装置から出力される第1の認証子と、鍵情報とに基づいて第2の認証子を生成して認証サーバに送信し、認証サーバが、情報端末に送信したメッセージに応じて、情報端末から送信される第2の認証子を受信し、受信した第2の認証子を、鍵情報を用いて検証し、第2の認証子に含まれる第1の認証子を、署名鍵に対応する検証鍵を用いて検証するようにしたので、情報端末において動作するアプリケーションが、適切な情報端末にインストールされた正当なアプリケーションであるか否かを検証することができる。
本発明の一実施形態によるアプリケーション認証システムの構成例を示すブロック図である。 本発明の一実施形態によるアプリケーション認証システムの概要を示す図である。 本発明の一実施形態によるアプリケーション認証システムの有効化処理の動作例を示すシーケンス図である。 本発明の一実施形態によるアプリケーション認証システムの有効化処理の動作例を示すシーケンス図である。 本発明の一実施形態によるアプリケーション認証システムの有効化処理の動作例を示すシーケンス図である。 本発明の一実施形態によるアプリケーション認証システムの有効化処理の動作例を示すシーケンス図である。 本発明の一実施形態によるアプリケーション認証システムの有効化処理の動作例を示すシーケンス図である。 本発明の一実施形態によるアプリケーション認証システムのAP検証処理の動作例を示すシーケンス図である。 本発明の一実施形態によるアプリケーション認証システムのAP検証処理の動作例を示すシーケンス図である。 本発明の一実施形態によるアプリケーション認証システムのAP検証処理の動作例を示すシーケンス図である。 本発明の一実施形態によるアプリケーション認証システムのAP検証処理の動作例を示すシーケンス図である。
以下、本発明の一実施形態について、図面を参照して説明する。
図1は、本実施形態によるアプリケーション認証システム1の構成を示すブロック図である。アプリケーション認証システム1は、認証サーバ100と、業務APサーバ200と、情報端末300とを備えている。ここで、図2を参照して、本実施形態の概要について説明する。本実施形態では、スマートフォンやタブレットPC等の情報端末300にアプリケーション(以下、APともいう)をインストールし、例えば企業内において、企業内の情報を扱うために利用する例を示す。そこで、このような情報端末300自体と、その情報端末300において動作するAPとの正当性を、認証サーバ100との三者間で検証することによってセキュリティを確保する。ここで、APの正当性とは、情報端末300において動作するAPが、AP管理者がインストールしたAPであるか否かを示し、AP管理者がインストールしたAPであれば正当であり、AP管理者がインストールしたAPでなければ正当でない。
まず、符号aに示すAP開発者は、APのソースコードに定められた鍵情報をハードコーディングし、ハードコーディングした鍵情報に基づく暗号化処理を行うソースコードを作成する。鍵情報は、本実施形態においては共通鍵暗号方式による共通鍵であることとし、コンピュータに発生させた擬似乱数である。そして、作成したソースコードに基づくコンパイルをコンピュータ装置に行わせ、オブジェクトコードであるAPを生成させる。このように生成されたオブジェクトコードからは、その元であるソースコードにハードコーディングされた鍵情報を解読することは非常に困難である。ここで、ソースコードにハードコーディングされた鍵情報を、HCP(ハードコードパラメータ)という。APは、例えば社内のデータベースに記憶されている個人情報や顧客情報等の機密情報に、ネットワークを介してアクセスする機能を有するものとする。
AP開発者は、HCPと、HCPを埋め込んだAPとを、物理媒体に記憶させること等により、符号bに示すプロジェクト管理者に受け渡す。プロジェクト管理者は、APの運用を管理し、企業内において情報端末300を用いてAPを使用するAP利用者に、APがインストールされた情報端末300を配布する。ここで、プロジェクト管理者のコンピュータ装置は、署名鍵を生成し、情報端末300が備える耐タンパ装置(セキュアエレメント)に、署名鍵とHCPとを記憶させておく。また、署名鍵に対応する検証鍵とHCPとを、符号cに示すような、信頼できる第三者である認証局の認証サーバ100に記憶させておく。ここでは、プロジェクト管理者のコンピュータ装置が生成する署名鍵は共通鍵暗号方式による鍵情報であるとして説明するため、署名鍵と共通鍵とは同一の鍵情報である。ただし、後述するように、鍵情報としては公開鍵暗号方式の秘密鍵と公開鍵とを用いることもできる。プロジェクト管理者は、情報端末300にAPをインストールし、符号dに示すAP利用者に、情報端末300を配布する。
AP利用者は、プロジェクト管理者から配布された情報端末300を利用して、インストールされたAPの起動要求を入力する。情報端末300に記憶されているAPは、認証サーバ100と通信を行ってAPの有効化処理を行う。有効化処理とは、APが認証サーバ100と通信を行って、情報端末300にインストールされたAPが動作することを認証サーバ100との間で共有するための処理である。このような有効化処理により、認証サーバ100によって情報端末300と情報端末300にインストールされたAPとが検証され、検証成功と判定された場合、情報端末300は、ネットワークを介して符号eに示す社内サービスを提供する業務APサーバ200に接続する。ここでは、1台の情報端末300を図示して説明するが、アプリケーション認証システム1は、社内サービスを利用する複数のAP利用者のそれぞれに配布する複数台の情報端末300を備えることができる。
図1に戻り、認証サーバ100は、情報端末300と情報端末300に記憶されたAPとの正当性を検証する認証局のコンピュータ装置であり、HCP記憶部101と、検証鍵記憶部102と、C&R処理部103と、受信部104と、復号部105と、検証部106と、第2のセッション鍵生成部107と、固有APID生成部108とを備えている。
HCP記憶部101には、APを識別するAPID毎に、そのAPに埋め込まれたHCPが対応付けられて予め記憶されている。ここで、HCPは、プロジェクト管理者と認証局との間で適切な方法で共有される。HCPの共有方法としては、例えば、(1)対面による事前共有、(2)鍵配布センターによる共有、(3)公開鍵による共有、などの共有方法がある。
(1)の方法は、認証局がプロジェクト管理者の本人確認を行うものである。(2)の方法では、事前に鍵配送センターにプロジェクト管理者のコンピュータ装置と認証局のコンピュータ装置との通信路を暗号化するための共通鍵をそれぞれ登録しておく。鍵配布センターは、セッション鍵を生成して、プロジェクト管理者の共通鍵でセッション鍵を暗号化し、プロジェクト管理者のコンピュータ装置に送信する。そして、認証局の共通鍵を用いてセッション鍵を暗号化し、認証局のコンピュータ装置に送信する。プロジェクト管理者のコンピュータ装置と、認証局のコンピュータ装置とは、鍵配布センターから送信されたセッション鍵を用いて暗号化通信を行い、HCPを共有する。(3)の方法は、ハイブリッドな鍵方式による共有であり、公開鍵証明書を別途用いるようにしても良い。
検証鍵記憶部102には、情報端末300の耐タンパ装置320に予め記憶されている署名鍵に対応する検証鍵が記憶されている。このような署名鍵は、プロジェクト管理者のコンピュータ装置によって生成され、上述の(1)〜(3)の共有方法や、(4)DH(Diffie Hellman)方式による共有方法によって共有される。(4)の方法は、プロジェクト管理者と認証局とが秘密の数を作り出し、そこからHCPを作り出す方法である。
C&R(チャレンジアンドレスポンス)処理部103は、情報端末300の正当性を検証するためのチャレンジであるメッセージを生成して情報端末に送信し、送信したチャレンジに対する応答であるレスポンスを受信して検証処理を行う。チャレンジ生成には、擬似乱数生成器を用いることができる。このように、本実施形態では、認証サーバ100と情報端末300との間で通信を行う際には、チャレンジレスポンス方式による認証を行うようにしたので、ネットワークを流れるメッセージの内容を毎回異なるものにすることができる。すなわち、メッセージが一度盗聴された場合でも、再度の通信の際には異なる値であるメッセージを利用することができ、盗聴による脅威が軽減される。
受信部104は、C&R処理部103が情報端末300に送信したチャレンジに応じて、その情報端末300から送信される認証子(第2の認証子)を受信する。認証子とは、鍵情報と、認証の対象であるメッセージとに基づいて生成される情報である。例えば、認証子としては、メッセージ自体をAES(Advanced Encryption Standard))等のアルゴリズムによって暗号化した結果や、認証の対象であるメッセージと、鍵情報とメッセージとに基づいて生成されるMAC(Message Authentication Code)との情報等が適用できる。また、受信部104は、情報端末300から送信される固有鍵を受信し、その情報端末300に記憶されているAPを識別する固有APIDに対応付けて、固有APID生成部108の記憶領域に記憶させる。固有鍵は、複数の情報端末300において動作するAPについて付与される固有の鍵情報であり、固有APIDは、複数の情報端末300のそれぞれにおいて動作するAPの固有の識別情報である。すなわち、同一のAPであっても、記憶されている情報端末300が異なる場合には、異なる固有鍵、異なる固有APIDが付与される。
復号部105は、HCP記憶部101に記憶されているHCPを読み出し、読み出したHCPを用いて、情報端末300から送信される暗号化情報を復号する。また、復号部105は、第2のセッション鍵生成部107に記憶されている第2のセッション鍵を読み出し、読み出した第2のセッション鍵を用いて、情報端末300から送信される暗号化情報を復号する。
検証部106は、HCP記憶部101に記憶されているHCPを読み出し、読み出したHCPを用いて、情報端末300から送信される認証子を検証する。検証処理は、例えば、送信したチャレンジに対するレスポンスである認証子を復号し、復号した結果が、送信したチャレンジと一致するか否かを判定することによって行う。一致すれば検証成功と判定し、一致しなければ検証失敗と判定する。また、検証部106は、第2のセッション鍵生成部107に記憶されている第2のセッション鍵を読み出し、読み出した第2のセッション鍵を用いて、情報端末300から送信される認証子を検証する。例えば、検証部106は、受信部104が受信した第2の認証子を、HCP記憶部101に記憶されているHCPを用いて検証し、第2の認証子に含まれる第1の認証子を、検証鍵記憶部102に記憶されている検証鍵を用いて検証する。
第2のセッション鍵生成部107は、擬似乱数を生成することにより、鍵情報である第2のセッション鍵を生成する。第2のセッション鍵は、認証サーバ100と情報端末300との間で共有されるとともに、情報端末300と業務APサーバ200とが暗号化通信を行うために、業務APサーバ200との間でも共有される。認証サーバ100と業務APサーバ200とがセッション鍵を共有する方法としては、上述の(1)〜(3)のような方法が適用できる。
固有APID生成部108は、検証部106によって検証成功と判定された場合、第2の認証子を送信した情報端末300に記憶されているAPを識別する固有APIDを生成し、自身の記憶領域に記憶させる。また、固有APID生成部108には、このような固有APID毎に、対応するAPIDと、対応する固有鍵とが対応付けられて記憶される。
業務APサーバ200は、情報端末300において動作するAPと通信を行うコンピュータ装置である。ここで、業務APサーバ200と情報端末300とは、認証サーバ100によって生成された第2のセッション鍵を用いて暗号化通信を行う。
情報端末300は、スマートフォンやタブレットPC等のコンピュータ装置である。情報端末300は、AP記憶部310と、耐タンパ装置320と、制御部330とを備えている。
AP記憶部310には、HCPがハードコーディングされたソースコードに基づいてコンパイルされ生成されたAPが記憶される。AP記憶部310に記憶されているAPは、例えば企業内における業務アプリケーション等の機能を備えるとともに、耐タンパ装置320や認証サーバ100と通信を行ってAP認証を行う機能を有する。APは、例えば、情報端末300から送信されるチャレンジを、HCPを用いて暗号化して耐タンパ装置320に入力し、耐タンパ装置320に入力したチャレンジに応じて耐タンパ装置320から出力される第1の認証子(レスポンス)と、HCPとに基づいて第2の認証子(レスポンス)を生成し、認証サーバ100に送信する機能を有する。AP記憶部310に記憶されているAPは、制御部330によって読み出され、実行される。
耐タンパ装置320は、HCP記憶部321と、署名鍵記憶部322と、暗号処理部323と、有効化フラグ記憶部324と、C&R処理部325と、第1のセッション鍵生成部326と、固有鍵生成部327と、有効化フラグ制御部328と、要求送信部329とを備えている。
HCP記憶部321には、情報端末300において動作するAPに予めハードコーディングされたHCPが記憶されている。ここでは、プロジェクト管理者が、AP開発者から適切に受け取ったHCPが、プロジェクト管理者のコンピュータ装置を介してHCP記憶部321に予め記憶される。
署名鍵記憶部322には、予め定められた署名鍵が記憶されている。署名鍵は、認証サーバ100の検証鍵記憶部102に記憶された検証鍵に対応する鍵情報であり、例えば上述の(1)〜(4)のいずれかの方法によって共有され、予め記憶される。
暗号処理部323は、制御部330において動作するAPから入力される、HCPを用いて暗号化されたチャレンジを、HCP記憶部321に記憶されているHCPを用いて復号する。また、暗号処理部323は、このように復号したチャレンジと、署名鍵記憶部322から読み出した署名鍵とに基づいて、第1の認証子を生成して出力する。
有効化フラグ記憶部324には、AP記憶部310に記憶されている複数のAP毎に、そのAPを識別するAPIDと、複数の情報端末300のうちでその情報端末300に固有に付与される固有APIDと、そのAPが有効化されているか否かを示す有効化フラグとが対応付けられて記憶される。有効とは、APが耐タンパ装置320と認証サーバ100とによって検証され、正当なものであると判定されていることをいう。有効化フラグは、例えば有効であればON(1)の値が、有効でなければOFF(0)の値が対応付けられる。有効化フラグは、例えば1ビットで表され、ISO/IEC7816−4に規定されるEF(エレメンタリファイル)に格納される。
C&R処理部325は、制御部330において動作するAPの正当性を検証するためのチャレンジであるメッセージを生成してAPに出力し、出力したチャレンジに対する応答であるレスポンスを受信して検証処理を行う。
第1のセッション鍵生成部326は、擬似乱数を生成することにより、鍵情報である第1のセッション鍵を生成する。第1のセッション鍵は、耐タンパ装置320と制御部330との間で共有される。
固有鍵生成部327は、認証サーバ100によって制御部330において動作するAPの正当性が検証され、検証成功と判定された場合、複数の情報端末300に記憶されたAPのうちで一意となる鍵情報である固有鍵を生成する。
有効化フラグ制御部328は、制御部330において動作するアプリや認証サーバ100から送信される情報に応じて、有効化フラグ記憶部324に記憶されている有効化フラグの読み出しや更新を行う。
要求送信部329は、業務APサーバ200への接続要求コマンドや、AP起動要求コマンドを生成して送信する。
制御部330は、AP利用者から入力されるAPの起動要求に応じて、起動要求に対応するAPをAP記憶部310から読み出して動作させる。ここで、制御部330は、AP記憶部310から読み出したAPに基づいて、HCP記憶部331と、認証要求部332と、暗号処理部333と、セッション鍵受信部334と、有効化フラグ確認要求部335と、要求送信部336との機能部を構成する。
HCP記憶部331には、APID毎に予め定められたHCPが対応付けられて記憶されている。
認証要求部332は、耐タンパ装置320や認証サーバ100に対してC&Rによる認証要求を行う
暗号処理部333は、HCP記憶部331から読み出したHCPや、セッション鍵受信部334から読み出した第1のセッション鍵または第2のセッション鍵による暗号化処理または復号処理を行う。
セッション鍵受信部334は、耐タンパ装置320の第1のセッション鍵生成部326によって生成された第1のセッション鍵を受信し、自身の記憶領域に記憶させる。同様に、認証サーバ100の第2のセッション鍵生成部107によって生成された第2のセッション鍵を受信し、自身の記憶領域に記憶させる。
有効化フラグ確認要求部335は、APの起動時に、耐タンパ装置320に対して有効化フラグ確認要求を入力する。有効化フラグ確認要求部335が耐タンパ装置320に入力する確認要求には、自身のAPを識別するAPIDが含まれる。
要求送信部336は、耐タンパ装置320から送信される各要求を、認証サーバ100に送信する。
次に、本実施形態によるアプリケーション認証システム1の動作例を説明する。図3から図7は、アプリケーション認証システム1によるAP有効化処理を示すシーケンス図である。
図3に示すように、まず、AP利用者により、情報端末300に起動要求が入力されると、制御部330が、起動要求の入力を受け付ける(ステップS1)。制御部330は、起動要求に対応するAPをAP記憶部310から読み出して展開し、制御部330に含まれる各機能部を構成する。認証要求部332は、自身のAPIDが含まれる認証要求を耐タンパ装置320に入力する(ステップS2)。C&R処理部325は、チャレンジを生成し(ステップS3)、制御部330に出力する(ステップS4)。制御部330の暗号処理部333は、HCP記憶部331に記憶されているHCPを読み出し、読み出したHCPと、耐タンパ装置320から出力されたチャレンジとに基づいて認証子を生成する(ステップS5)。
暗号処理部333は、生成した認証子を耐タンパ装置320に入力する(ステップS6)。C&R処理部325は、HCP記憶部321に記憶されているHCPを読み出し、読み出したHCPを用いて、制御部330から入力された認証子を検証する(ステップS7)。ここで、C&R処理部325が、検証失敗と判定すれば(ステップS8:NO)、エラーとして処理を終了する(ステップS9)。一方、C&R処理部325が、検証成功と判定すれば(ステップS8:YES)、第1のセッション鍵生成部326が、第1のセッション鍵を生成して自身の記憶領域に記憶させる(ステップS10)。暗号処理部323は、HCP記憶部321に記憶されたHCPを読み出し、読み出したHCPにより、第1のセッション鍵生成部326が生成した第1のセッション鍵を暗号化する(ステップS11)。
暗号処理部323は、暗号化した第1のセッション鍵を出力する(ステップS12)。セッション鍵受信部334は、HCP記憶部331に記憶されているHCPを読み出し、読み出したHCPにより、暗号処理部323が出力した第1のセッション鍵を復号し、自身の記憶領域に記憶させる(ステップS13)。
図4に進み、有効化フラグ確認要求部335が、自身のAPIDに対応する有効化フラグの確認要求を耐タンパ装置320に入力する(ステップS14)。有効化フラグの確認要求には、確認要求を入力するAPのAPIDが含まれる。耐タンパ装置320の有効化フラグ制御部328は、有効化フラグ確認要求部335から入力された有効化フラグの確認要求に応じて、確認要求に含まれるAPIDに対応付けられて有効化フラグ記憶部324に記憶されている有効化フラグを読み出す(ステップS15)。
有効化フラグ制御部328は、読み出した有効化フラグが、無効を示すと判定すると(ステップS16:NO)、有効化要求コマンドを生成する(ステップS17)。暗号処理部323は、署名鍵記憶部322に記憶されている署名鍵を読み出し、読み出した署名鍵と、有効化フラグ制御部328が生成した有効化要求コマンドに基づいて認証子を生成する(ステップS18)。暗号処理部323は、第1のセッション鍵生成部326が生成した第1のセッション鍵を用いて、生成した認証子を暗号化する(ステップS19)。暗号処理部323は、暗号化した認証子を出力する(ステップS20)。
暗号処理部323から、暗号化した認証子が出力されると、要求送信部336は、自身のAPIDが含まれる認証要求を認証サーバ100に送信する(ステップS21)。認証サーバ100が、情報端末300から送信された認証要求を受信すると、C&R処理部103は、チャレンジを生成し(ステップS22)、情報端末300に送信する(ステップS23)。情報端末300が、認証サーバ100から送信されたチャレンジを受信すると、暗号処理部333は、HCP記憶部331に記憶されているHCPを読み出し、読み出したHCPを鍵情報として、認証サーバ100から送信されたチャレンジの認証子を生成する(ステップS24)。暗号処理部333は、生成した認証子を認証サーバ100に送信する(ステップS25)。認証サーバ100のC&R処理部103は、情報端末300から送信された認証子を受信すると、HCP記憶部101に記憶されているHCPを読み出し、読み出したHCPを用いて認証子を検証する(ステップS26)。
図5に進み、C&R処理部103が、検証失敗と判定すれば(ステップS27:NO)、エラーとして処理を終了する(ステップS28)。一方、C&R処理部103が、検証成功と判定すれば(ステップS27:YES)、第2のセッション鍵生成部107が、第2のセッション鍵を生成して自身の記憶領域に記憶させる(ステップS29)。辞書データ生成部107は、HCP記憶部101に記憶されているHCPを読み出し、読み出したHCPにより、第2のセッション鍵を暗号化する(ステップS30)。辞書データ生成部107は、暗号化した第2のセッション鍵を情報端末300に送信する(ステップS31)。情報端末300のセッション鍵受信部334は、HCP記憶部331に記憶されているHCPを読み出し、読み出したHCPにより、認証サーバ100から送信された第2のセッション鍵を復号し、自身の記憶領域に記憶させる(ステップS32)。
暗号処理部333は、セッション鍵受信部334に記憶された第1のセッション鍵を読み出し、ステップS20において耐タンパ装置320から出力された認証子を、読み出した第1のセッション鍵で復号し、復号した認証子を、セッション鍵受信部334に記憶された第2のセッション鍵を用いて暗号化する(ステップS33)。暗号処理部333は、暗号化した認証子を認証サーバ100に送信する(ステップS34)。認証サーバ100の受信部104は、情報端末300から送信される、暗号化された認証子を受信する。復号部105が、第2のセッション鍵生成部107に記憶されている第2のセッション鍵を用いて、受信部104が受信した認証子を検証する。ここで検証失敗と判定すれば、エラーとして処理を終了する。検証成功と判定すれば、認証子に含まれる有効化要求コマンドを読み出す(ステップS35)。
そして、認証サーバ100のC&R処理部103が、チャレンジを生成し、情報端末300に送信すると、情報端末300の暗号処理部333が、認証サーバ100から送信されたチャレンジを受信する。暗号処理部333は、HCP記憶部331に記憶されたHCPを読み出し、読み出したHCPによりチャレンジを暗号化する(ステップS38)。暗号処理部333は、暗号化したチャレンジを耐タンパ装置320に入力する(ステップS39)。
図6に進み、耐タンパ装置320の暗号処理部323は、HCP記憶部321に記憶されているHCPを読み出し、読み出したHCPにより、制御部330から入力されたチャレンジを復号する(ステップS40)。そして、署名鍵記憶部322に記憶されている署名鍵を読み出し、読み出した署名鍵と、復号したチャレンジとに基づいて認証子を生成する(ステップS41)。暗号処理部323は、生成した認証子を出力する(ステップS42)。制御部330の暗号処理部333は、HCP記憶部331からHCPを読み出し、読み出したHCPと、耐タンパ装置320から出力された認証子とに基づいて第2の認証子を生成する(ステップS43)。暗号処理部333は、生成した第2の認証子を認証サーバ100に送信する(ステップS44)。
認証サーバ100の受信部104が、情報端末300から送信された第2の認証子を受信すると、検証部106が、HCP記憶部101に記憶されているHCPを読み出し、第2の認証子を検証する(ステップS45)。ここで検証失敗と判定すれば、エラーとして処理を終了する。検証成功と判定すれば、検証鍵記憶部102に記憶されている検証鍵を読み出し、読み出した検証鍵により、第2の認証子に含まれる認証子を検証する(ステップS46)。ここで検証失敗と判定すれば、エラーとして処理を終了する。検証成功と判定すれば、固有APID生成部108が、情報端末300のAPを識別する固有APIDを生成し、自身の記憶領域に記憶させる(ステップS47)。
また、固有APID生成部108は、有効化許可コマンドを生成し、生成した有効化許可コマンドと、固有APIDとを、第2のセッション鍵生成部107から読み出した第2のセッション鍵により暗号化する(ステップS48)。固有APID生成部108は、暗号化した有効許可コマンドと固有APIDとを、情報端末300に送信する(ステップS49)。情報端末300の暗号処理部333は、認証サーバ100から送信された、暗号化された有効化許可コマンドと固有APIDとを、セッション鍵受信部334から読み出した第2のセッション鍵で復号し、セッション鍵受信部334から読み出した第1のセッション鍵により暗号化する(ステップS50)。暗号処理部333は、第1のセッション鍵により暗号化した有効化許可コマンドと固有APIDとを、耐タンパ装置320に入力する(ステップS51)。
図7に進み、耐タンパ装置320の暗号処理部323は、暗号化された有効化許可コマンドと固有APIDとを、第1のセッション鍵生成部326から読み出した第1のセッション鍵を用いて復号する(ステップS52)。有効化フラグ制御部328は、暗号処理部323によって復号された有効化許可コマンドを実行し、制御部330のAPIDに対応付けられて有効化フラグ記憶部324に記憶されている有効化フラグをONに更新する(ステップS53)。また、復号した固有APIDを、有効化フラグ記憶部324に記憶させる(ステップS54)。そして、固有鍵生成部327が、固有鍵を生成する(ステップS55)と、暗号処理部323が、第1のセッション鍵生成部326から読み出した第1のセッション鍵を用いて固有鍵を暗号化し(ステップS56)、暗号化した固有鍵を出力する(ステップS57)。
制御部330の暗号処理部333は、セッション鍵受信部334から読み出した第1のセッション鍵を用いて、耐タンパ装置320から出力された固有鍵を復号し、セッション鍵受信部334から読み出した第2のセッション鍵を用いて暗号化する(ステップS58)。暗号処理部333は、暗号化した固有鍵を認証サーバ100に送信する(ステップS59)。認証サーバ100の受信部104が、情報端末300から送信された、暗号化された固有鍵を受信すると、固有APID生成部108が、第2のセッション鍵生成部107から読み出した第2のセッション鍵を用いて固有鍵を復号し、ステップS47において生成した固有APIDと対応付けて自身の記憶領域に記憶させる(ステップS60)。そして、ステップS14に戻り、有効化フラグがONになった状態でAPの検証処理を行う。
図8から図11は、アプリケーション認証システム1によるAP検証処理を示すシーケンス図である。
図4のステップS16において、有効化フラグ制御部328が、読み出した有効化フラグは有効を示すと判定すると(ステップS16:YES)、図8に進み、要求送信部329が、接続要求コマンドとAP起動要求コマンドとを生成する(ステップS61)。暗号処理部323は、固有鍵生成部327に記憶されている固有鍵を読み出し、要求送信部329が生成した接続要求コマンドの認証子を生成する。また、第1のセッション鍵生成部326に記憶されている第1のセッション鍵を読み出し、認証子を暗号化する(ステップS62)。また、暗号処理部323は、要求送信部329が生成したAP起動要求コマンドを、第1のセッション鍵を用いて暗号化する(ステップS63)。
暗号処理部323は、暗号化した接続要求コマンドの認証子と、暗号化したAP起動要求コマンドと、固有APIDとを出力する(ステップS64)。制御部330の暗号処理部333は、セッション鍵受信部334に記憶されている第1のセッション鍵を読み出し、暗号処理部323から出力されたAP起動要求コマンドを復号する(ステップS65)。要求送信部336は、復号されたAP起動要求コマンドに応じて、自身の固有APIDが含まれる認証要求を、業務APサーバ200に送信する(ステップS66)。業務APサーバ200は、情報端末300から送信された認証要求を認証サーバ100に転送する(ステップS67)。認証サーバ100の受信部104が、業務APサーバ200から転送された認証要求を受信すると、C&R処理部103が、チャレンジを生成し(ステップS68)、業務APサーバ200に送信する(ステップS69)。業務APサーバ200は、認証サーバ100から送信されたチャレンジを情報端末300に転送する(ステップS70)。
図9に進み、情報端末300の暗号処理部333は、HCP記憶部331に記憶されているHCPを読み出し、読み出したHCPとチャレンジとに基づいて認証子を生成する(ステップS71)。暗号処理部333は、生成した認証子を業務APサーバ200に送信する(ステップS72)。業務APサーバ200は、情報端末300から送信された認証子を認証サーバ100に転送する(ステップS73)。認証サーバ100の受信部104が、業務APサーバ200から転送された認証子を受信すると、検証部106は、HCP記憶部101に記憶されているHCPを読み出し、認証子を検証する(ステップS74)。検証部106が検証失敗と判定すれば、エラーとして処理を終了し、検証成功と判定すれば、第2のセッション鍵生成部107が、第2のセッション鍵を生成する(ステップS75)。
第2のセッション鍵生成部107は、HCP記憶部101に記憶されているHCPを読み出し、読み出したHCPを用いて第2のセッション鍵を暗号化する(ステップS76)。第2のセッション鍵生成部107は、暗号化した第2のセッション鍵を業務APサーバ200に送信する(ステップS77)。業務APサーバ200は、認証サーバ100から転送された第2のセッション鍵を情報端末300に転送する(ステップS78)。制御部330の暗号処理部333は、HCP記憶部331に記憶されているHCPを読み出し、業務APサーバ200から送信された第2のセッション鍵を復号する(ステップS79)。
暗号処理部333は、セッション鍵受信部334から読み出した第1のセッション鍵を用いて、ステップS64において出力された接続要求コマンドを復号し、セッション鍵受信部334から読み出した第2のセッション鍵を用いて暗号化する(ステップS80)。そして、暗号処理部333は、暗号化した接続要求コマンドを業務APサーバ200に送信する(ステップS81)。業務APサーバ200は、情報端末300から送信された、暗号化された接続要求コマンドを、認証サーバ100に転送する(ステップS82)。
図10に進み、認証サーバ100の受信部104が、業務APサーバ200から転送された、暗号化された接続要求コマンドを受信すると、復号部105が、第2のセッション鍵生成部107から読み出した2のセッション鍵を用いて接続要求コマンドを復号する(ステップS83)。認証サーバ100のC&R処理部103は、復号された接続要求コマンドに応じて、チャレンジを生成する(ステップS84)。C&R処理部103は、生成したチャレンジを、業務APサーバ200に送信する(ステップS85)。
業務APサーバ200は、認証サーバ100から送信されたチャレンジを、情報端末300に転送する(ステップS86)。情報端末300の暗号処理部333は、業務APサーバ200から転送されたチャレンジを受信すると、HCP記憶部331から読み出したHCPを用いて暗号化する(ステップS87)。暗号処理部333は、暗号化したチャレンジを耐タンパ装置320に入力する(ステップS88)。耐タンパ装置320の暗号処理部323は、受信したチャレンジを、HCP記憶部321から読み出したHCPを用いて復号し、復号したチャレンジと、固有鍵生成部327から読み出した固有鍵とに基づいて認証子を生成する(ステップS89)。暗号処理部323は、生成した認証子を出力する(ステップS90)。
制御部330の暗号処理部333は、耐タンパ装置320から出力された認証子と、HCP記憶部331から読み出したHCPとに基づいて、第2の認証子を生成する(ステップS91)。暗号処理部333は、生成した第2の認証子を業務APサーバ200に送信する(ステップS92)。業務APサーバ200は、情報端末300から送信された第2の認証子を、認証サーバ100に転送する(ステップS93)。認証サーバ100
受信部104が、業務APサーバ200から送信された第2の認証子を受信すると、検証部106が、HCP記憶部101から読み出したHCPを用いて第2の認証子を検証する(ステップS94)。
検証部106が、検証失敗と判定すればエラーとして処理を終了し、認証成功と判定すれば、固有APID生成部108に記憶されている固有鍵を読出し、読み出した固有鍵を用いて認証子を検証する(ステップS95)。検証失敗と判定すればエラーとして処理を終了し、認証成功と判定すれば、図11に進み、認証サーバ100が接続許可コマンドを生成して第2のセッション鍵生成部107から読み出した第2のセッション鍵を用いて暗号化し(ステップS96)、業務APサーバ200に送信する(ステップS97)。
業務APサーバ200は、認証サーバ100から送信される、暗号化した接続許可コマンドを、情報端末300に転送する(ステップS98)。制御部330の暗号処理部333は、業務APサーバ200から転送された接続許可コマンドを、セッション鍵受信部334から読み出した第2のセッション鍵を用いて復号する(ステップS99)。認証サーバ100は、第2のセッション鍵生成部107に記憶されている第2のセッション鍵を業務APサーバ200に送信すると(ステップS100)、業務APサーバ200は、認証サーバ100から送信された第2のセッション鍵を自身の記憶領域に記憶させる。以降、業務APサーバ200と情報端末300とは、第2のセッション鍵を用いて、暗号化された通信を行うことができる(ステップS101)。
以上説明したように、本実施形態によれば、APのソースコードにハードコーディングされた鍵情報であるHCPを用いて、APと、耐タンパ装置320と、認証サーバ100とが通信を行い、耐タンパ装置320とAPとの正当性を、認証サーバ100を加えた三者間で検証するようにした。これにより、プロジェクト管理者ではない第三者が、正当ではなく、予め定められたHCPが含まれないAPを情報端末300にインストールして起動しようとした場合、検証を失敗させ、エラーとすることができる。このため、例えば、正当なAPになりすましたAPがインストールされたような場合に、そのAPが動作し、機密情報等にアクセスすることを防ぐことができる。
あるいは、例えば何らかの方法により、プロジェクト管理者の管理対象ではない情報端末に、正当なAPがインストールされたような場合でも、その情報端末の耐タンパ装置に適切なHCPが記憶されていなければ、検証を失敗させ、エラーとすることができる。このように、本実施形態によれば、正当な情報端末300において、正当なAPが動作しているか否かを検証することができる。これにより、例えば個人情報や顧客情報等の機密情報を扱う企業内においてスマートフォンやタブレットPC等の情報端末を利用する場合にも、安全に処理を行うことができる。
また、本実施形態によれば、耐タンパ装置320と制御部330において動作するAPとの間、および情報端末300と認証サーバ100との間で情報の送受信を行う際には、チャレンジレスポンスによる一時的な情報か、あるいは鍵を用いて暗号化された情報を送受信するようにした。これにより、万が一、情報が盗聴されたような場合でも、それにより情報の内容が漏れたり、再生攻撃を仕掛けられたりするといった脅威を低減することができる。
また、APの有効化処理において、複数の情報端末300に記憶されたAPそれぞれに対応する固有鍵を生成し、この固有鍵を用いて、AP起動の度に認証を行うようにした。これにより、例えば複数の情報端末300において同一のAPが利用されている場合でも、どの情報端末300に記憶されているAPが動作しているか等の情報を管理することができ、柔軟かつ多様なAPの利用管理を行うことができる。
このように、本実施形態によれば、情報端末300から業務APサーバ200にアクセスする際に、業務APサーバ200側から情報端末300にインストールされているAPの正当性を確認することができる。また、情報端末300にAPをインストールして配布する際に、情報端末300に記憶させる設定情報を同一なものとすることができる。例えば、複数のAP利用者の複数の情報端末300には、同一の署名鍵、同一のHCPが埋め込まれたAPを、同様にインストールして配布できる。しかし、有効化処理により、それぞれの情報端末300のAPに固有の固有APID、固有鍵が付与されるため、AP利用者が、情報端末300を用いて業務APサーバ200にアクセスする際には、複数の情報端末300のうちで、その情報端末300のAPを識別することができる。
上述の例では、APに埋め込むHCP、及び耐タンパ装置320に記憶させる署名鍵として、共通鍵暗号方式の鍵情報を適用する例を示したが、HCP、及び署名鍵としては公開鍵暗号方式の秘密鍵を適用しても良い。この場合、秘密鍵に対応する公開鍵により認証子の検証を行う際には、公開鍵証明書に含まれる公開鍵を用いた認証を行うことができる。公開鍵証明書には、例えば、ITU−T(International Telecommunication Union Telecommunication Standardization Sector)による公開鍵基盤の規格であるX.509に定められる公開鍵証明書を適用することができる。このような公開鍵証明書には、例えば、発行者、所有者、有効期限、公開鍵証明書バージョン、署名アルゴリズム、鍵情報(公開鍵)などの情報が含まれる。また、公開鍵証明書の拡張領域には、情報端末300のデバイスID、APのハッシュ値、固有APID、AP名称などの情報を含ませることができる。デバイスIDとは、例えば、情報端末300に固有の製造番号等である。APのハッシュ値とは、例えば、情報端末300がAndroid(登録商標)であれば、「.apk」ファイル自体のハッシュ値である。検証の際には、このような情報を用いて、例えばAP毎に有効期間を設けたり、情報端末300のデバイスID毎に有効無効を制御したりすることにより、より柔軟に、多様な認証を行うことができる。この場合、認証処理は例えば業務APサーバ200が行うようにすることができる。
本実施形態においては、情報端末300においてAPに埋め込むHCPと、署名鍵記憶部322に記憶される署名鍵とのいずれか、または双方を公開鍵暗号方式における秘密鍵とし、認証サーバ100においてHCP記憶部101に記憶されるHCPと、検証鍵記憶部102に記憶される検証鍵とのいずれか、または双方を、秘密鍵に対応する公開鍵証明書に置き換えることができる。
情報端末300のAPに埋め込んでおくHCPと認証サーバ100のHCP記憶部101に記憶させておくHCPとのペアを、このような秘密鍵と公開鍵証明書とのペアに置き換えた場合には、本実施形態におけるステップS45及びステップS94の検証処理を、公開鍵証明書を用いて行うことができる。
署名鍵記憶部322に記憶される署名鍵と検証鍵記憶部102に記憶される検証鍵とのペアを、このような秘密鍵と公開鍵証明書とのペアに置き換えた場合には、本実施形態におけるステップS46及びステップS95の検証処理を、公開鍵証明書を用いて行うことができる。
あるいは、有効化フラグ記憶部324に記憶させる有効化フラグとして、公開鍵暗号方式の公開鍵証明書を適用することもできる。この場合、例えば、耐タンパ装置320の署名鍵記憶部322に、公開鍵暗号方式の署名鍵と、この署名鍵に対応する公開鍵証明書を記憶させる。そして、図4に示したステップS15の有効化フラグのチェック処理において、公開鍵証明書に応じた検証を行う。すなわち、本実施形態においては、耐タンパ装置320の有効化フラグ記憶部324に、有効化フラグとしてON(1)の値、またはOFF(0)の値のいずれかが記憶されることとしているが、このようなフラグに加え、公開鍵証明書を記憶しておくようにしてもよい。この場合、有効化フラグのチェック処理(ステップS15)において、公開鍵証明書内に含まれる所有者、有効期限、公開鍵証明書バージョンの情報を追加のチェック情報として用いることができる。具体的には、例えば、ステップS15において、有効化フラグがON(1)であった場合にも、公開鍵証明書の有効期限が現在の時刻よりも古いものであった場合には、APの有効化フラグが無効であると判定することが可能となる。
ここでは、有効化フラグに加えて公開鍵証明書を用いることが可能なことはもちろん、公開鍵証明書の拡張領域に有効化フラグを含めて検証を行うことも可能である。
また、本実施形態におけるAPと耐タンパ装置320と認証サーバ100とに、複数のHCPを予め記憶させておき、条件に応じたHCPを選択して利用することにより、さらにセキュリティを高めることができる。例えば、情報端末300のAP記憶部310に記憶されているAPとして、複数のHCPがハードコーディングされたソースコードに基づくAPを記憶させておき、複数のHCPのうち定められた条件に応じたHCPを用いて暗号化処理を行うようにすることができる。この場合、耐タンパ装置320のHCP記憶部321には、同様に複数のHCPが予め記憶され、暗号処理部323は、HCP記憶部321に記憶された複数のHCPのうち、条件に応じたHCPを用いて復号処理を行う。同様に、認証サーバ100のHCP記憶部101には、複数のHCPが記憶され、認証サーバ100の検証部106は、HCP記憶部101に記憶された複数のHCPのうち、条件に応じたHCPを用いて検証処理を行う。
ここで、条件とは、例えば、処理実行時間、情報端末300による通信を行うキャリア(通信事業者)等が適用できる。あるいは、上述のように公開鍵暗号方式の公開鍵証明書を用いた検証を行う場合には、公開鍵証明書に含まれる様々な情報を条件とすることができる。
なお、本実施形態では、情報端末300としてスマートフォンやタブレットPCを適用する例を示したが、PC等においても同様のAP検証を行うこともできる。
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより検証処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1 アプリケーション認証システム
100 認証サーバ
101 HCP記憶部
102 検証鍵記憶部
103 C&R処理部
104 受信部
105 復号部
106 検証部
107 第2のセッション鍵生成部
108 固有APID生成部
200 業務APサーバ
300 情報端末
310 AP記憶部
320 耐タンパ装置
321 HCP記憶部
322 署名鍵記憶部
323 暗号処理部
324 有効化フラグ記憶部
325 C&R処理部
326 第1のセッション鍵生成部
327 固有鍵生成部
328 有効化フラグ制御部
329 要求送信部
330 制御部
331 HCP記憶部
332 認証要求部
333 暗号処理部
334 セッション鍵受信部
335 有効化フラグ確認要求部
336 要求送信部

Claims (6)

  1. 耐タンパ装置を有する情報端末と、当該情報端末とネットワークを介して接続された認証サーバとを備えたアプリケーション認証システムであって、
    前記情報端末の耐タンパ装置は、
    前記情報端末において動作するアプリケーションソフトウェアに予めハードコーディングされた鍵情報が記憶されている耐タンパ鍵情報記憶部と、
    予め定められた署名鍵が記憶されている署名鍵記憶部と、
    前記アプリケーションソフトウェアから入力される、前記鍵情報を用いて暗号化されたメッセージを、前記耐タンパ鍵情報記憶部に記憶されている前記鍵情報を用いて復号する耐タンパ復号部と、
    前記耐タンパ復号部が復号した前記メッセージと、前記署名鍵とに基づいて第1の認証子を生成して出力する暗号化部と、を備え、
    前記情報端末は、
    前記鍵情報がハードコーディングされたソースコードに基づく前記アプリケーションソフトウェアであって、前記認証サーバから送信されるメッセージを、当該鍵情報を用いて暗号化して前記耐タンパ装置に入力し、当該耐タンパ装置に入力した当該メッセージに応じて当該耐タンパ装置から出力される前記第1の認証子と、自身にハードコーディングされた前記鍵情報とに基づいて第2の認証子を生成し、前記認証サーバに送信するアプリケーションソフトウェアが記憶されているAP記憶部と、
    前記AP記憶部に記憶されている前記アプリケーションソフトウェアを動作させる制御部と、を備え、
    前記認証サーバは、
    前記鍵情報が記憶されている認証サーバ鍵情報記憶部と、
    前記耐タンパ装置に記憶されている前記署名鍵に対応する検証鍵が記憶されている検証鍵記憶部と、
    前記メッセージを生成して前記情報端末に送信する送信部と、
    前記送信部が前記情報端末に送信した前記メッセージに応じて、当該情報端末から送信される前記第2の認証子を受信する受信部と、
    前記受信部が受信した前記第2の認証子を、前記認証サーバ鍵情報記憶部に記憶されている前記鍵情報を用いて検証し、当該第2の認証子に含まれる前記第1の認証子を、前記検証鍵記憶部に記憶されている前記検証鍵を用いて検証する検証部と、
    を備えることを特徴とするアプリケーション認証システム。
  2. 前記認証サーバは、前記ネットワークを介して複数の前記情報端末に接続されており、
    前記検証部によって検証成功と判定された場合、前記第2の認証子を送信した前記情報端末に記憶されている前記アプリケーションソフトウェアを識別する固有APIDを生成する固有APID生成部と、
    前記複数の情報端末に記憶されている前記アプリケーションソフトウェアを識別する固有APID毎に、当該アプリケーションソフトウェアに対応する固有鍵が対応付けられて記憶される固有鍵記憶部とを備え、
    前記認証サーバの受信部は、前記情報端末から送信される前記固有鍵を受信し、当該情報端末に記憶されている前記アプリケーションソフトウェアを識別する前記固有APIDに対応付けて前記固有鍵記憶部に記憶させ、
    前記情報端末は、
    前記検証部によって検証成功と判定された場合、前記固有鍵を生成し、前記認証サーバに送信する固有鍵送信部と、
    を備えることを特徴とする請求項1に記載のアプリケーション認証システム。
  3. 前記AP記憶部に記憶されている前記アプリケーションソフトウェアは、複数の前記鍵情報がハードコーディングされたソースコードに基づく前記アプリケーションソフトウェアであって、前記複数の鍵情報のうち定められた条件に応じた鍵情報を用いて暗号化し、
    前記耐タンパ装置の前記耐タンパ鍵情報記憶部には、前記複数の鍵情報が記憶され、
    前記耐タンパ装置の前記耐タンパ復号部は、当該耐タンパ鍵情報記憶部に記憶された複数の鍵情報のうち、前記条件に応じた鍵情報を用いて復号し、
    前記認証サーバの前記認証サーバ鍵情報記憶部には、前記複数の鍵情報が記憶され、
    前記認証サーバの前記検証部は、当該認証サーバ鍵情報記憶部に記憶された複数の鍵情報のうち、前記前記条件に応じた鍵情報を用いて検証する
    ことを特徴とする請求項1または請求項2に記載のアプリケーション認証システム。
  4. 前記アプリケーション認証システムは、前記情報端末において動作する前記アプリケーションソフトウェアと通信を行う業務APサーバを備え、
    前記認証サーバは、セッション鍵を生成し、前記鍵情報を用いて暗号化して前記情報端末との間で共有し、当該セッション鍵を前記業務APサーバに送信し、
    前記業務APサーバと前記情報端末とは、前記セッション鍵に基づいて暗号化通信を行う
    ことを特徴とする請求項1から請求項3までのいずれか1項に記載のアプリケーション認証システム。
  5. 前記認証サーバの前記送信部が前記情報端末に送信する前記メッセージは、チャレンジレスポンス方式におけるチャレンジであり、
    前記情報端末が前記チャレンジに応じて前記認証サーバに送信する前記第2の認証子は、前記チャレンジに対応するレスポンスである
    ことを特徴とする請求項1から請求項4までのいずれか1項に記載のアプリケーション認証システム。
  6. 情報端末において動作するアプリケーションソフトウェアに予めハードコーディングされた鍵情報が記憶されている耐タンパ鍵情報記憶部と、予め定められた署名鍵が記憶されている署名鍵記憶部とを備える耐タンパ装置を有し、前記鍵情報がハードコーディングされたソースコードに基づく前記アプリケーションソフトウェアであって、ネットワークを介して接続された認証サーバから送信されるメッセージを、当該鍵情報を用いて暗号化して前記耐タンパ装置に入力し、当該耐タンパ装置に入力した当該メッセージに応じて当該耐タンパ装置から出力される前記第1の認証子と、自身にハードコーディングされた前記鍵情報とに基づいて第2の認証子を生成し、前記認証サーバに送信するアプリケーションソフトウェアが記憶されているAP記憶部を備える情報端末と、前記鍵情報が記憶されている認証サーバ鍵情報記憶部と、前記耐タンパ装置に記憶されている前記署名鍵に対応する検証鍵が記憶されている検証鍵記憶部とを備えた前記認証サーバと、を備えたアプリケーション認証システムのアプリケーション認証方法であって、
    前記認証サーバが、
    メッセージを生成して前記情報端末に送信するステップと、
    前記情報端末の前記制御部が、
    前記AP記憶部に記憶されている前記アプリケーションソフトウェアを動作させることにより、認証サーバから送信されるメッセージを、前記鍵情報を用いて暗号化して前記耐タンパ装置に入力するステップと、
    前記情報端末の耐タンパ装置が、
    前記アプリケーションソフトウェアから入力される、前記鍵情報を用いて暗号化されたメッセージを、前記耐タンパ鍵情報記憶部に記憶されている前記鍵情報を用いて復号するステップと、
    復号した前記メッセージと、前記署名鍵とに基づいて第1の認証子を生成して出力するステップと、
    前記情報端末の前記制御部が、
    前記AP記憶部に記憶されている前記アプリケーションソフトウェアを動作させることにより、前記耐タンパ装置に入力した当該メッセージに応じて当該耐タンパ装置から出力される前記第1の認証子と、自身にハードコーディングされた前記鍵情報とに基づいて第2の認証子を生成し、前記認証サーバに送信するステップと、
    前記認証サーバが、
    前記情報端末に送信した前記メッセージに応じて、当該情報端末から送信される前記第2の認証子を受信するステップと、
    受信した前記第2の認証子を、前記認証サーバ鍵情報記憶部に記憶されている前記鍵情報を用いて検証し、当該第2の認証子に含まれる前記第1の認証子を、前記検証鍵記憶部に記憶されている前記検証鍵を用いて検証するステップと、
    を備えることを特徴とするアプリケーション認証方法。
JP2011134271A 2011-06-16 2011-06-16 アプリケーション認証システム、アプリケーション認証方法 Active JP5622668B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011134271A JP5622668B2 (ja) 2011-06-16 2011-06-16 アプリケーション認証システム、アプリケーション認証方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011134271A JP5622668B2 (ja) 2011-06-16 2011-06-16 アプリケーション認証システム、アプリケーション認証方法

Publications (2)

Publication Number Publication Date
JP2013005220A true JP2013005220A (ja) 2013-01-07
JP5622668B2 JP5622668B2 (ja) 2014-11-12

Family

ID=47673308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011134271A Active JP5622668B2 (ja) 2011-06-16 2011-06-16 アプリケーション認証システム、アプリケーション認証方法

Country Status (1)

Country Link
JP (1) JP5622668B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101509585B1 (ko) 2013-08-23 2015-04-07 주식회사 마크애니 모바일 애플리케이션의 위변조 방지 장치, 사용자 디바이스, 방법 및 시스템
JP2016066845A (ja) * 2014-09-24 2016-04-28 株式会社 ディー・エヌ・エー ユーザに所定のサービスを提供するシステム及び方法
JP2016526223A (ja) * 2013-05-20 2016-09-01 サイトリックス システムズ,インコーポレイテッド モバイルアプリケーション管理のためのモバイルアプリケーションのアイデンティティの検証
JP2021527342A (ja) * 2018-06-11 2021-10-11 アーム・リミテッド データ処理
CN114629634A (zh) * 2020-12-09 2022-06-14 精工爱普生株式会社 加密通信系统、加密通信方法及加密通信装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002279373A (ja) * 2001-03-15 2002-09-27 Nippon Telegr & Teleph Corp <Ntt> 複数icカード間及び同一icカード内のアプリケーション連携方法
JP2004135325A (ja) * 2002-09-20 2004-04-30 Toshiba Corp 認証サーバ、認証方法、認証依頼端末及び認証依頼プログラム
JP2006024237A (ja) * 2005-09-26 2006-01-26 Systemneeds Inc データ更新システム
US20070041584A1 (en) * 2005-08-16 2007-02-22 O'connor Clint H Method for providing activation key protection
JP2008251021A (ja) * 2001-11-26 2008-10-16 Matsushita Electric Ind Co Ltd アプリケーション認証システム
JP2008287335A (ja) * 2007-05-15 2008-11-27 Felica Networks Inc 認証情報管理システム、認証情報管理サーバ、認証情報管理方法及びプログラム
JP2010244366A (ja) * 2009-04-07 2010-10-28 Sony Corp 情報処理装置、および実行制御方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002279373A (ja) * 2001-03-15 2002-09-27 Nippon Telegr & Teleph Corp <Ntt> 複数icカード間及び同一icカード内のアプリケーション連携方法
JP2008251021A (ja) * 2001-11-26 2008-10-16 Matsushita Electric Ind Co Ltd アプリケーション認証システム
JP2004135325A (ja) * 2002-09-20 2004-04-30 Toshiba Corp 認証サーバ、認証方法、認証依頼端末及び認証依頼プログラム
US20070041584A1 (en) * 2005-08-16 2007-02-22 O'connor Clint H Method for providing activation key protection
JP2006024237A (ja) * 2005-09-26 2006-01-26 Systemneeds Inc データ更新システム
JP2008287335A (ja) * 2007-05-15 2008-11-27 Felica Networks Inc 認証情報管理システム、認証情報管理サーバ、認証情報管理方法及びプログラム
JP2010244366A (ja) * 2009-04-07 2010-10-28 Sony Corp 情報処理装置、および実行制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9838398B2 (en) 2013-03-29 2017-12-05 Citrix Systems, Inc. Validating the identity of an application for application management
JP2016526223A (ja) * 2013-05-20 2016-09-01 サイトリックス システムズ,インコーポレイテッド モバイルアプリケーション管理のためのモバイルアプリケーションのアイデンティティの検証
KR101509585B1 (ko) 2013-08-23 2015-04-07 주식회사 마크애니 모바일 애플리케이션의 위변조 방지 장치, 사용자 디바이스, 방법 및 시스템
JP2016066845A (ja) * 2014-09-24 2016-04-28 株式会社 ディー・エヌ・エー ユーザに所定のサービスを提供するシステム及び方法
JP2021527342A (ja) * 2018-06-11 2021-10-11 アーム・リミテッド データ処理
CN114629634A (zh) * 2020-12-09 2022-06-14 精工爱普生株式会社 加密通信系统、加密通信方法及加密通信装置
CN114629634B (zh) * 2020-12-09 2024-02-23 精工爱普生株式会社 加密通信系统、加密通信方法及加密通信装置

Also Published As

Publication number Publication date
JP5622668B2 (ja) 2014-11-12

Similar Documents

Publication Publication Date Title
JP4866863B2 (ja) セキュリティコード生成方法及びユーザ装置
US9338163B2 (en) Method using a single authentication device to authenticate a user to a service provider among a plurality of service providers and device for performing such a method
US8209744B2 (en) Mobile device assisted secure computer network communication
US8059818B2 (en) Accessing protected data on network storage from multiple devices
KR101982237B1 (ko) 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
US20190147441A1 (en) Method and device for providing and obtaining graphic code information, and terminal
CN109728909A (zh) 基于USBKey的身份认证方法和系统
JP4803145B2 (ja) 鍵共有方法、鍵配信システム
EP1984889A2 (en) Secure digital content management using mutating identifiers
JP7617047B2 (ja) ハードウェアセキュリティモジュールを備えたメッセージ伝送システム
JP6627043B2 (ja) Ssl通信システム、クライアント、サーバ、ssl通信方法、コンピュータプログラム
EP3292654B1 (en) A security approach for storing credentials for offline use and copy-protected vault content in devices
JP2017152880A (ja) 認証システム、鍵処理連携方法、および、鍵処理連携プログラム
JP5622668B2 (ja) アプリケーション認証システム、アプリケーション認証方法
JP2010231404A (ja) 秘密情報管理システム、秘密情報管理方法、および秘密情報管理プログラム
EP3289724B1 (en) 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
KR101996317B1 (ko) 인증변수를 이용한 블록체인 기반의 사용자 인증 시스템 및 그 방법
JP6501701B2 (ja) システム、端末装置、制御方法、およびプログラム
JP2021073564A (ja) 通信装置、通信方法、およびコンピュータプログラム
KR100970552B1 (ko) 비인증서 공개키를 사용하는 보안키 생성 방법
KR102053993B1 (ko) 인증서를 이용한 사용자 인증 방법
Nishimura et al. Secure authentication key sharing between personal mobile devices based on owner identity
JP6165044B2 (ja) 利用者認証装置、システム、方法及びプログラム
CN116912985B (zh) 基于动态口令的门锁控制方法、装置、系统、设备及介质
Culnane et al. Formalising Application-Driven Authentication & Access-Control based on Users’ Companion Devices

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130516

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130816

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130828

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140617

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140806

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140826

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140922

R150 Certificate of patent or registration of utility model

Ref document number: 5622668

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250