【文献】
竹之内 隆夫、南澤 岳明,“マルチレイヤ仮名通信の仮名ID管理機能の実現”,電子情報通信学会2009年総合大会講演論文集 通信2,日本,社団法人電子情報通信学会,2009年 3月 4日,B−7−35,p.179
(58)【調査した分野】(Int.Cl.,DB名)
前記第2識別子格納手段は、任意の値である世代を含む付帯情報を前記通信相手の識別子と対応付けてさらに格納することを特徴とする請求項2から請求項4のいずれか1項に記載の情報処理装置。
前記認証手段は、前記1以上の承認内容にデジタル署名および前記認証コードの少なくともどちらか1つが付される場合、該デジタル署名および該認証コードについて認証処理を行い、
前記提示手段は、前記認証処理が成功した場合に、前記1以上の承認内容を前記ユーザに提示することを特徴とする請求項1から請求項5のいずれか1項に記載の情報処理装置。
【発明を実施するための形態】
【0009】
以下、図面を参照しながら本発明の実施形態に係る情報処理装置、認証方法及びプログラムについて詳細に説明する。なお、以下の実施形態中では、同一の番号を付した部分については同様の動作を行うものとして、重ねての説明を省略する。
【0010】
本実施形態に係る情報処理装置を含む端末のアーキテクチャについて
図1を参照して説明する。
図1は、いわゆるスマートフォンなどのOSが動作する端末のアーキテクチャ100である。
【0011】
アーキテクチャ100は、セキュアエレメント101、信頼ソフトウェア102、OS(オペレーティングシステム)103およびアプリケーション104−1および104−2を含む。
【0012】
セキュアエレメント101は、本実施形態に係る情報処理装置を含み、例えばSIM(Subscriber Identity Module)、USIM(Universal SIM)などのような耐タンパー性を有したハードウェアである。
【0013】
信頼ソフトウェア102は、製造および修正
の権限がハードウェアを介して直接的または間接的に特定の者に限定されるソフトウェアであり、信頼ソフトウェア102がファームウェアおよびOSの場合は、メーカー、キャリアなど、ハードウェアを製造販売している一部の事業者に製造
および修正の権限が
ハードウェア等によって技術的に限定されるファームウェア
およびOSである。信頼ソフトウェア102がアプリケーションの場合は、
ハードウェア、ファームウェアまたはOSに組み込まれたコード署名などの技術的な方法によって、特定のアプリケーションベンダーにソフトウェアの製造
および修正の権限が限定されるアプリケーションである。
【0014】
信頼ソフトウェア102の一例としては、SIM Application Toolkit、BIOS、GSMA Handset APIs & Requirementsに定義されたAccess Controlで情報処理装置に認証されたアプリケーション、およびGlobalPlatform Trusted Execution Environmentに定義されたTrusted Applicationが挙げられる。信頼ソフトウェア102は、少なくとも、通信機能、表示機能および入力機能を有する。信頼ソフトウェア102の通信機能、表示機能および入力機能はそれぞれ、OS103またはOS上で動作するアプリケーション104
に妨げられずに、通信相手と通信したり、ユーザに対して画面を表示したり、ユーザからの入力を受け付けたりすることができる。
【0015】
なお、信頼ソフトウェア102として、GSMA Handset APIs & Requirementsに定義されたAccess Controlで情報処理装置に認証されたアプリケーションを用いる場合は、OS103およびアプリケーション104の一部を利用することになる。
【0016】
OS103は、システムを動作させるための一般的なOSであり、例えば、Android(登録商標)OSが該当する。
【0017】
アプリケーション104−1およびアプリケーション104−2は、一般の事業者または個人がOSを利用して製造したソフトウェアであり、ユーザがOSの機能を介して利用するソフトウェアである。アプリケーション104は、例えば、オンライン銀行アプリケーション、インターネットブラウザが挙げられる。
【0018】
次に、本実施形態に係る情報処理装置について
図2のブロック図を参照して説明する。
本実施形態に係る情報処理装置200は、通信部201、鍵格納部202、認証部203および提示部204を含む。
【0019】
通信部201は、信頼ソフトウェア102の通信機能のみを介して通信相手から承認内容を受信する。通信相手は、例えば、銀行、オンラインショップ等のプロバイダであり、取引に秘匿性やMitB攻撃耐性が要求される通信相手である。なお、これらの通信相手に限定されず、取引に秘匿性やMitB攻撃耐性が要求されない通信相手でもよい。承認内容とは、例えば、銀行との取引内容やオンラインショップにおける決済内容といった、ユーザの承認を含む、ユーザからの何らかの入力を必要とする内容である。なお、以下では、1つの承認内容を受信して処理する場合を想定して説明するが、複数の承認内容を受信する場合であっても同様に処理できる。通信部201は、後述の認証部203から暗号化データを受け取る場合、暗号化データを信頼ソフトウェア102の通信機能のみを介して通信相手(または外部のデバイス)に出力する。
【0020】
なお、通信部201は、通信相手からの情報をインターネット経由で取得または通信相手に情報をインターネット経由で提供してもよいし、信頼ソフトウェア102を介してショートメールサービス(SMS)および非接触通信(NFCなど)を用いて情報を取得してもよいし、SMSおよびNFCを用いて情報を提供してもよい。
【0021】
鍵格納部202は、通信相手との認証に用いる鍵を格納する。鍵としては、共通鍵暗号方式を用いる場合は、通信相手と同一の共通鍵を格納すればよいし、公開鍵暗号方式(IDベース暗号方式)を用いる場合は、鍵センター(図示せず)より配布される固有の秘密鍵を格納すればよい。鍵格納部202は、鍵として通信相手との認証に用いる鍵のほか、セキュアエレメントごとに一意である利用者を特定するための識別子と任意の値である世代を含む付帯情報とを格納してもよい。
【0022】
認証部203は、通信部201から承認内容を、鍵格納部202から鍵をそれぞれ受け取る。認証部203は、承認内容にデジタル署名および認証コードの少なくともどちらか1つが付される場合、承認内容に付されるデジタル署名または認証コードについて認証処理を行い、認証処理が成功したかどうかを示す認証結果を生成する。
【0023】
また、認証部203は、信頼ソフトウェア102の入力機能のみを介してユーザ指示を取得する場合、鍵格納部202から鍵を受け取り、ユーザ指示に応じて、鍵を用いて認証コードを生成する。認証部203は、認証コードを用いて外部に送信すべきユーザ指示を暗号化し、暗号化データを生成する。なお、認証部203は、暗号化データを生成する場合に、共通鍵暗号方式を用いる場合は、例えばIETF RFC 2104で記載されたHMAC(Hash−based Message Authentication Code)等で認証コードを生成し、ISO/IEC 18033−3で定義されたAES(Advanced Encryption Standard)等の暗号化アルゴリズムで暗号化を行う。IDベース暗号方式を用いる場合は、IDベース署名を認証コードとしてIDベース暗号で暗号化して送信してもよい。
【0024】
さらに、認証部203は、共通鍵暗号方式を用いる場合は、HMAC等で生成した認証コードから部分ビット列を抽出した短いワンタイムパスワードを認証コードとして生成してもよい。
【0025】
提示部204は、認証部203からプロバイダから受信した承認内容に付された認証コードまたはデジタル署名が真正であるか否かの認証結果を受け取り、認証結果が認証処理が成功したことを示す場合、信頼ソフトウェア102の表示機能のみを介して取引情報を実行して良いか否かを確認する承認内容をユーザに提示する。なお、承認内容にデジタル署名または認証コードが付されていない場合、提示部204は、認証部203の認証処理を経ずに、通信部201から承認内容を受け取ってもよい。
【0026】
次に、本実施形態に係る情報処理装置200と通信相手との通信処理について、
図3のシーケンス図を参照して説明する。
図3は、ユーザ351と通信相手である銀行352との間の決済取引に関する通信処理の一例を時系列で示したシーケンス図である。ユーザ351は、情報処理装置200と信頼ソフトウェア102とを搭載する端末(携帯電話、スマートフォン、タブレットなど)を用いて取引を行う例を示す。なお、
図3の例では、通信処理の暗号化方式として、共通鍵暗号方式を用いる場合を想定し、銀行352と情報処理装置200との間で共通の鍵k
1およびk
2を保持しているとする。
【0027】
ステップS301では、ユーザ351から、端末のOS上で動作するWebブラウザまたはアプリケーションを用いて、取引内容xを銀行352に送信する。
【0028】
ステップS302では、銀行352が、ユーザ351から取引内容xを受け取り、取引内容xについて暗号化し、xの暗号化データe
1を生成する。xの暗号化は、例えば、以下の処理を行えばよい。まず、取引内容x、時刻情報t
1および160ビット以上の暗号学的乱数を用いるランダム値rをパラメータとして、鍵k
1についての任意の関数H
k1を計算することで、認証コードc
1を生成する。続いて、取引内容x、時刻情報t
1、ランダム値rおよび認証コードc
1をパラメータとして、鍵k
2についての任意の関数E
k2を計算した計算結果を、xの暗号化データe
1として用いればよい。なお、時刻情報t
1は、認証コードe
1の生成時の時刻である。
【0029】
なお、銀行352では、ランダム値rを取引IDとして(r,x,t
1)をデータベース(図示せず)に格納しておく。
【0030】
ステップS303では、銀行352が、暗号化データe
1をユーザ351の端末に送信する。
【0031】
ステップS304では、端末の信頼ソフトウェア102が、通信機能を用いて銀行352から暗号化データeを受信し、情報処理装置200の通信部201が、信頼ソフトウェア102を介して、暗号化データe
1を受信する。
【0032】
ステップS305では、情報処理装置200の認証部203が、暗号化データe
1を復号して、(x,t
1,r,c
1)を得る。認証部203は、以下の2つの条件を満たすかどうかを判定する。
(1)認証コードc
1が一致するか、すなわちH
k1(x、t
1、r)=c
1
(2)時刻情報t
1が誤差w以内であるか、すなわちt∈[time−w、time+w]
認証部203は、上記(1)および(2)の条件を満たす場合、認証処理が成功したという認証結果を生成する。(1)および(2)の条件の少なくとも1つを満たさない場合、認証処理が失敗したとして通信処理を終了する。ここでは、認証処理が成功したという認証結果を得ると想定する。
【0033】
ステップS306では、認証処理が成功しているので、情報処理装置200の提示部204が、信頼ソフトウェア102の表示機能を介して、復号した取引結果xをユーザ351に提示する。具体的には、信頼ソフトウェア102の表示機能のみによって、取引内容xが端末の画面に表示され、ユーザ351は、取引内容xを閲覧することができる。
【0034】
ステップS307では、ユーザ351が、信頼ソフトウェア102の表示機能を介して表示された取引結果xに対して、OKであるかNGであるかを判断し、判断結果として信頼ソフトウェア102の入力機能のみを用いてOKまたはNGを入力する。なお、ここでは、OKまたはNGの二択としているが、数値や文字列を入力してもよい。
【0035】
ステップS308では、情報処理装置の通信部201が、ユーザ351から信頼ソフトウェア102の入力機能に入力された「OK」または「NG」を、ユーザ指示yとして取得する。具体的には、信頼ソフトウェア102が、信頼ソフトウェア102の入力機能に入力された「OK」または「NG」を情報処理装置200で取り扱い可能なユーザ指示yに変換して、情報処理装置200の通信部201に渡す。例えば、「OK」が入力された場合は「1」を生成し、「NG」が入力された場合は「0(ゼロ)」を生成する。ここでは、「OK」が入力されたとして、ユーザ指示「y=1」が生成される場合を想定する。
【0036】
ステップS309では、情報処理装置200の認証部203が、ユーザ指示yを暗号化して暗号化データe
2を生成する。暗号化データe
2の生成方法としては、ステップS302と同様に、まず、ユーザ指示y、時刻情報t
2およびランダム値rをパラメータとして、鍵k
1についての任意な関数H
k1を計算することで、認証コードc
2を生成する。続いて、ユーザ指示y、時刻情報t
2、ランダム値rおよび認証コードc
2をパラメータとして、鍵k
2についての任意の関数E
k2を計算した計算結果を、暗号化データe
2として用いればよい。
なお、時刻情報t
2は、例えば、信頼ソフトウェア102経由で認証コードc
2の生成時点の時刻を取得すればよい。
【0037】
ステップS310では、情報処理装置200の通信部201が、信頼ソフトウェア102の通信機能を介して暗号化データe
2を送信する。
【0038】
ステップS311では、銀行352が、ユーザ351から暗号化データe
2を受け取り、暗号化データe
2を復号する。復号が成功すると想定すると、ユーザ指示y、時刻情報t
2およびランダム値rを得ることができる。
銀行352は、以下の2つの条件を満たすかどうかを判定する。
(3)認証コードc
2が一致するか、すなわちH
k1(x、t
2、r)=c
2
(4)時刻情報t
2が誤差w以内であるか、すなわちt
2∈[time−w、time+w]
銀行352は、(3)および(4)の条件を満たす場合、ランダム値rを取引IDとして格納したデータベースから、ランダム値rに対応する取引内容xおよび時刻情報t
1を検索し、タイムアウト時間t
0に対して「t<t
2≦time かつ t
2<t+t
0」を満たし、かつ「ユーザ指示y=1」を満たすかどうかを判定する。ここで、タイムアウト時間t
0は、銀行352とユーザ351との取引を中止するための閾値となる時間である。
【0039】
ステップS312では、銀行352が、「t<t
2≦time かつ t
2<t+t
0」を満たし、かつ「ユーザ指示y=1」を満たす場合に、取引xを実行すればよい。以上で情報処理装置200と通信相手との通信処理を終了する。
【0040】
なお、プロバイダなどの通信相手と通信を行う場合は、鍵漏洩時のセキュリティの観点から、プロバイダごとに鍵をユーザの識別子とを変更することが望ましい。
【0041】
通信相手ごとに鍵を変更する場合の情報処理装置の詳細について
図4のブロック図を参照して説明する。
図4に示す情報処理装置400は、通信部201、鍵格納部202、提示部204、第1識別子格納部401、第2識別子格納部402、識別子変換部403、鍵変換部404および認証部405を含む。
通信部201、鍵格納部202および提示部204については、
図2に示す情報処理装置200における動作と同様であるので、ここでの説明を省略する。
【0042】
第1識別子格納部401は、自己の識別子(第1識別子ともいう)を格納する。
第2識別子格納部402は、通信相手の識別子を格納する。なお、第2識別子格納部402は、通信相手の識別子に、世代を含む付帯情報を対応付けて格納してもよい。世代は任意の値であり、1,2,3,・・・といったカウンタ値でもよいし、128bit程度の物理乱数または暗号学的擬似乱数などでもよい。
【0043】
識別子変換部403は、第1識別子格納部401から第1識別子を、第2識別子格納部402から通信相手の識別子をそれぞれ受け取り、通信相手の識別子で表される通信相手に応じて第1識別子を変換し、第2識別子を生成する。第1識別子から第2識別子への変換は、例えば任意のハッシュ関数を用いて変換すればよい。
鍵変換部404は、鍵格納部202から鍵を、第2識別子格納部402から通信相手の識別子をそれぞれ受け取り、通信相手に応じて第1鍵を変換し、第2鍵を生成する。第1鍵から第2鍵への変換は、例えば任意のハッシュ関数を用いて変換すればよい。
【0044】
認証部405は、上述の認証部203とほぼ同様の動作を行うが、識別子変換部403から第2識別子を、鍵変換部404から第2鍵をそれぞれ受け取り、第2識別子および第2鍵を用いて認証を行う点が異なる。
【0045】
次に、情報処理装置400が共通鍵暗号方式を用いる場合の認証処理について説明する。ここでは、情報処理装置400とプロバイダとの間の通信における認証処理を想定する。
【0046】
情報処理装置400には、鍵センターから、任意のプロバイダ(および付帯情報)とセキュアエレメント101との鍵K
ijを導出可能なK
iが、ユーザの鍵として配布される。鍵センターのマスター鍵をMとすれば、K
i=E
M(i)で表せる。
【0047】
プロバイダには、鍵センターから、プロバイダの識別子(および付帯情報)に対応する鍵セットKjが配布される。プロバイダの識別子(および付帯情報)をjとすると、K
j={K
1j,K
2j,...,K
nj}と表せる(nは、3以上の整数)。情報処理装置400とプロバイダとは、互いにK
ijを導出可能であり、例えば情報処理装置400では、鍵変換部404が、K
i(第1鍵)をK
ij(第2鍵)に変換する際に以下の式(1)を用いて導出すればよい。
【0049】
よって、情報処理装置400とプロバイダとの間で共通鍵としてK
ijを用いた暗号通信とメッセージ認証とを行うことができる。
【0050】
一方、識別子については、識別子変換部403が、プロバイダの識別子jに応じて、ユーザi(第1識別子)を式(2)を用いてID
ij(第2識別子)に変換する。
【0052】
情報処理装置400にはサイズが小さいコンパクトな鍵導出アルゴリズムを用いて、プロバイダ側の鍵の格納サイズを大きくすることで、記憶容量の制限が厳しいセキュアエレメント101の記憶領域を大幅に節約することができる。また、プロバイダの識別子に加え、世代などの付帯情報を用いて鍵を生成することで、プロバイダ側で鍵の漏洩がある場合でも世代を更新するだけでよく、同じ識別子を保持したまま鍵K
ijを変更することができる。よって、利便性を保持したまま、取引の安全性を高い状態に保持できる。
【0053】
次に、情報処理装置400がIDベース暗号方式を用いる場合の処理について説明する。
情報処理装置400には、秘密鍵K
iが配布される。鍵センターのマスター秘密鍵をSとすれば、K
i=Gen(S,i)で表せる。
【0054】
プロバイダには、プロバイダjに対して、秘密鍵K
jが配布される。マスター秘密鍵Sを用いれば、K
j=Gen(S,j)で表せる。
【0055】
暗号通信を行う場合は、情報処理装置400が、識別子iと通信相手に送信するメッセージmとを用いて、暗号化アルゴリズムEにより、暗号文cを生成する。すなわち、c=E
i(m)で表せる。
【0056】
復号側であるプロバイダでは、暗号文cと秘密鍵K
iとを用いて、復号アルゴリズムDによりメッセージを復号する。すなわち、
【0058】
で表せる。
また、デジタル署名の作成の場合は、秘密鍵K
jとメッセージmとから署名アルゴリズムSを用いて署名sを作成する。すなわち、
【0060】
で表せる。
検証の場合は、署名sと署名者の識別子jとを用いて検証アルゴリズムVを通した結果が、メッセージmと一致するかどうかで判定されればよい。
【0062】
なお、上記の全てのアルゴリズムは、公開パラメータPも入力されているものとする。
また、例えば以下の式(3)および式(4)に示す式において、鍵変換部404が、K
i(第1鍵)をIDベース暗号の準同型性を用いてi’、Ki’(第2鍵)にそれぞれ変換して用いればよい。
【0064】
なお、式(3)および式(4)は、RFC5091 BB04方式に相手の識別子に応じた識別子変換および鍵変換を施した例であり、hは{0,1}*→Zq*の一方向性ハッシュ関数であり、GqはRFC5091 BB04方式の公開パラメータである。
【0065】
一方、識別子については、識別子変換部403が、プロバイダの識別子jに応じて、ユーザi(第1識別子)を式(5)を用いてID
ij(第2識別子)に変換する。
【0067】
上記のIDベース暗号方式を用いれば、情報処理装置400内にはプロバイダの識別子および付帯情報を格納しておけばよいため、必要となる記憶容量を節約できる。また、プロバイダの鍵漏洩についても世代などの付帯情報を更新することで、セキュリティレベルを維持することができる。
【0068】
次に、信頼ソフトウェアとして、GSMA Handset APIs & Requirementsに定義されたAccess Controlで情報処理装置200に認証されたアプリケーションを用いる場合について
図5を参照して説明する。
図5に示すブロック図は、各要素がどのアーキテクチャに属するかを示したものである。
図5では、アーキテクチャとして、アプリケーション領域551、ネイティブユーザ領域552、システム領域553およびセキュアエレメント領域554が示される。
【0069】
アプリケーション領域551には、プロバイダアプリケーション501およびSIM−OTPアクセス部502が含まれる。
ネイティブユーザ領域552には、ネイティブコード部509が含まれる。
【0070】
システム領域553には、ランタイム部503、Open Mobile API部504、証明書格納部505、画面表示ライブラリ510およびディスプレイドライバ511が含まれる。
セキュアエレメント領域554には、証明書ハッシュ格納部506、セキュアエレメント内Access Control部507および情報処理装置508が含まれる。
【0071】
プロバイダアプリケーション501は、ユーザによりインストールされるアプリケーションである。なお、プロバイダアプリケーション501は、正規ルートのみからダウンロード可能とする。
SIM−OTPアクセス部502は、セキュアエレメント領域554に対するデータの送受信を行う。
【0072】
ランタイム部503は、例えばアンドロイドランタイムであり、Dalvik仮想マシンを含み、Java(登録商標)コードにより、SIM−OTPアクセス部502およびOpen Mobile API部504からのデータが処理される。なお、Javaコードによる処理は、セキュアエレメントから情報を取り出す処理のみである。
Open Mobile API部504は、SIMalianceにて標準化されたAPIであり、Access Controlを含む。Access Controlは、GSMAで標準化された機能である。
【0073】
証明書格納部505は、プロバイダアプリケーション501のUIDとアプリケーション証明書情報とを対応付けて格納する。
証明書ハッシュ格納部506は、セキュアエレメント領域554に情報処理装置508が登録される場合に、情報処理装置508にアクセスするアプリケーションのアプリケーション証明書のハッシュ値(SHA1)を事前に格納する。
【0074】
セキュアエレメント内Access Control部507は、GSMAにて標準化された機能であり、証明書格納部505に格納されるアプリケーション証明書情報に基づくハッシュ値と証明書ハッシュ格納部506に格納されるハッシュ値とを比較する。
情報処理装置508は、上述の情報処理装置200,400と同様の動作を行い、OTPの生成、セッション鍵の交換、取引情報の暗号化、および暗号化された取引情報の送信を行う。
【0075】
ネイティブコード部509は、セッション鍵の交換や、暗号化された取引情報を復号化し、取引情報をネイティブコードにより送信する。
画面表示ライブラリ510は、画面表示を行うためのライブラリである。
ディスプレイドライバ511は、ディスプレイに取引情報などを表示させるためのドライバである。
【0076】
次に、
図5に示す信頼ソフトウェアを用いたアクセス制御処理について具体的に説明する。
ここでは、セキュアエレメントとしてSIMを想定し、プロバイダアプリケーション501として、銀行アプリを想定する。また、証明書ハッシュ格納部506に銀行アプリに関するアプリケーション証明書のハッシュ値が予め格納される場合を想定する。
【0077】
ステップS1では、銀行アプリがインストールされる場合、インストールと同時に、システム領域553の証明書格納部505に、銀行アプリのUIDとアプリケーション証明書情報とが対応付けて登録される。
ステップS2では、銀行アプリからSIM内の情報処理装置508に処理実行の要求が行われる。この場合、銀行アプリは、SIM−OTPアクセス部502およびランタイム部503を介して、Open Mobile API部504にアクセスする。
【0078】
ステップS3では、Open Mobile API部504が、処理実行の要求に含まれる銀行アプリのUIDを取得する。
ステップS4では、Open Mobile API部504が、証明書格納部505からUIDに該当するアプリケーション証明書情報を検索して取得する。
【0079】
ステップS5では、Open Mobile API部504が、Access Controlを経由して、セキュアエレメント領域554内のセキュアエレメント内Access Control部507にアプリケーション証明書情報を渡す。
ステップS6では、セキュアエレメント内Access Control部507が、アプリケーション証明書情報と合致するハッシュ値と、証明書ハッシュ格納部506に格納されるハッシュ値とを比較する。
【0080】
ステップS7では、比較した2つのハッシュ値が同じである場合、正常な処理であると判定され、Open Mobile API部504が、情報処理装置508に処理実行の要求を渡す。その後、情報処理装置508では、処理結果をOpen Mobile API部504、ランタイム部503およびSIM−OTPアクセス部502を介して銀行アプリに送信する。
一方、比較した2つのハッシュ値が異なる場合、不正なアクセスであると判定され、Open Mobile API部504、ランタイム部503およびSIM−OTPアクセス部502を介して銀行アプリにエラーコードを返す。以上でアクセス制御の処理を終了する。
【0081】
以上に示した本実施形態によれば、通信相手との決済処理を含む通信処理において、耐タンパー性を有するセキュアエレメントに含まれる情報処理装置、および、信頼ソフトウェアの通信機能、表示機能および入力機能のみを用いて決済処理を行うことにより、OSやOS上で動作するアプリケーションがマルウェアなどにより感染している場合でも、マルウェアに感染したOSやアプリケーションを介することなく通信処理を行うことできる。よって、アプリケーションを介して通信処理を実行するよりも、取引の安全性を飛躍的に向上させることができる。
【0082】
上述の実施形態の中で示した処理手順に示された指示は、ソフトウェアであるプログラムに基づいて実行されることが可能である。汎用の計算機システムが、このプログラムを予め記憶しておき、このプログラムを読み込むことにより、上述した情報処理装置による効果と同様な効果を得ることも可能である。上述の実施形態で記述された指示は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RW、Blu−ray(登録商標)Discなど)、半導体メモリ、又はこれに類する記録媒体に記録される。コンピュータまたは組み込みシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。コンピュータは、この記録媒体からプログラムを読み込み、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させれば、上述した実施形態の情報処理装置と同様な動作を実現することができる。もちろん、コンピュータがプログラムを取得する場合又は読み込む場合はネットワークを通じて取得又は読み込んでもよい。
また、記録媒体からコンピュータや組み込みシステムにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワーク等のMW(ミドルウェア)等が本実施形態を実現するための各処理の一部を実行してもよい。
さらに、本実施形態における記録媒体は、コンピュータあるいは組み込みシステムと独立した媒体に限らず、LANやインターネット等により伝達されたプログラムをダウンロードして記憶または一時記憶した記録媒体も含まれる。
また、記録媒体は1つに限られず、複数の媒体から本実施形態における処理が実行される場合も、本実施形態における記録媒体に含まれ、媒体の構成は何れの構成であってもよい。
【0083】
なお、本実施形態におけるコンピュータまたは組み込みシステムは、記録媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するためのものであって、パソコン、マイコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であってもよい。
また、本実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本実施形態における機能を実現することが可能な機器、装置を総称している。
【0084】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行なうことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【解決手段】本開示の一実施形態に係る情報処理装置は、通信手段と、提示手段と、格納手段と、認証手段とを含む。通信手段は、製造および修正の少なくとも1つの権限がハードウェアによって直接または間接に特定の者に限定される信頼ソフトウェアの通信機能のみを介して、ユーザからの入力を必要とする1以上の承認内容を通信相手から受信する。提示手段は、前記信頼ソフトウェアの表示機能のみを介して前記1以上の承認内容をユーザに提示する。格納手段は、前記通信相手との認証に用いる鍵を格納する。認証手段は、前記信頼ソフトウェアの入力機能のみを介して取得した前記ユーザからの指示に応じて、前記鍵を用いた認証コードを生成する。