(57)【要約】【課題】通信コストを抑制しつつ、セキュリティ性を向上させること。【解決手段】第１の通信装置が、互いに異なる複数の演算手順から、自装置と第２の通信装置との間で共通する時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成し、鍵データを用いてデータを暗号化して第２の通信装置に送信し、第２の通信装置が、上記複数の演算手順から、上記共通する時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成し、鍵データを用いて第１の通信装置から受信した暗号化されたデータを復号する。【選択図】図６
2014099793.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置と第２の通信装置とを備える通信システムであって、
前記第１の通信装置は、
互いに異なる複数の演算手順から、自装置と前記第２の通信装置との間で共通する時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成する第１の通信装置側鍵生成部と、
前記第１の通信装置側鍵生成部により生成された鍵データを用いてデータを暗号化する暗号化部と、
前記暗号化されたデータを前記第２の通信装置に送信する送信部と、を備え、
前記第２の通信装置は、
前記第１の通信装置から前記暗号化されたデータを受信する受信部と、
前記共通する時刻に基づいて、前記複数の演算手順から一以上の演算手順を選択することを含む処理によって鍵データを生成する第２の通信装置側鍵生成部と、
前記第２の通信装置側鍵生成部により生成された鍵データを用いて前記暗号化されたデータを復号する復号部と、を備える、
通信システム。
【請求項２】
請求項１に記載の通信システムであって、
前記互いに異なる複数の演算手順は、論理演算の組み合わせが互いに異なる演算手順、または、繰り返し行われる演算の繰り返し回数が互いに異なる演算手順、または、論理演算の組み合わせが互いに異なり且つ繰り返し行われる演算の繰り返し回数が互いに異なる演算手順である、
通信システム。
【請求項３】
請求項１または２に記載の通信システムであって、
前記第１の通信装置は、
時刻を出力する時計と、
前記第２の通信装置から取得した前記第２の通信装置側の時刻と、前記時計が出力した時刻との差分を演算して記憶部に格納する差分演算部と、を備え、
前記第１の通信装置側鍵生成部は、前記時計が出力した時刻と前記記憶に格納された差分を加算した時刻を、前記共通する時刻として用い、
前記第２の通信装置は、自装置が備える時計が出力する時刻を、前記共通する時刻として用いる、
通信システム。
【請求項４】
請求項１から３のいずれか１項に記載の通信システムであって、
前記第１の通信装置側鍵生成部は、互いに異なる複数の演算手順から、前記共通する時刻の分未満を端数処理した時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成し、
前記第２の通信装置側鍵生成部は、前記複数の演算手順から、前記共通する時刻の分未満を端数処理した時刻に基づいて一以上の演算手順を選択することを含む処理によって、自装置と前記第１の通信装置との間で共通する鍵データを生成し、
前記第２の通信装置は、前記復号されたデータが所定のデータと一致するか否かを判定することにより認証を行う認証部を備え、該認証部による判定において、前記復号されたデータが所定のデータと一致しなかった場合、
前記第２の通信装置側鍵生成部は、前記複数の演算手順から、前記共通する時刻の分未満を端数処理した時刻を所定分ずらした時刻に基づいて一以上の演算手順を選択することを含む処理によって生成される鍵データを生成し、
前記認証部は、前記所定分ずらした時刻に基づいて一以上の演算手順を選択することを含む処理によって生成された鍵データを用いて、前記復号部により復号されたデータが所定のデータと一致するか否かを再度判定する、
通信システム。
【請求項５】
第１の通信装置と第２の通信装置とを備える通信システムが行う通信方法であって、
前記第１の通信装置が、
互いに異なる複数の演算手順から、自装置と前記第２の通信装置との間で共通する時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成し、
前記第１の通信装置において生成された鍵データを用いてデータを暗号化し、
前記暗号化されたデータを前記第２の通信装置に送信し、
前記第２の通信装置が、
前記暗号化されたデータを前記第１の通信装置から受信し、
前記複数の演算手順から、前記共通する時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成し、
前記第２の通信装置において生成された鍵データを用いて前記暗号化されたデータを復号する、
通信方法。
【請求項６】
互いに異なる複数の演算手順から、時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成する鍵生成部と、
前記生成された鍵データを用いて、他装置から受信したデータであって、暗号化されたデータを復号する復号部と、
を備える通信装置。
【請求項７】
通信装置に、
互いに異なる複数の演算手順から、時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成させ、
前記生成された鍵データを用いてデータを暗号化させ、
前記暗号化されたデータを他装置に送信させる、
通信プログラム。
【請求項８】
通信装置に、
互いに異なる複数の演算手順から、時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成させ、
前記生成された鍵データを用いて、他装置から受信したデータであって、暗号化されたデータを復号させる、
通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、通信方法、通信装置、および通信プログラムに関する。
【背景技術】
【０００２】
携帯電話やタブレットＰＣ（Personal  Computer）、その他の端末装置が、ネットワークを介して種々のサービスの提供を受ける際に、ネットワークを介した認証が行われる場合がある。この認証において、端末装置は、認証を行うサーバ（認証サーバ）に暗号化された認証情報を送信し、認証サーバは、受信した認証情報を復号する。そして、認証サーバは、予め登録された情報と復号した情報が一致するか否かを判定し、情報が一致した場合にサービスの提供を許可する。
【０００３】
認証情報を一定期間有効なものとすると、第三者が認証情報を傍受し、試行錯誤によって認証情報を解析してしまう可能性がある。これに対し、使用される度に変化し、１回限り有効な認証情報であるワンタイムパスワードを用いて認証を行う認証方法の発明が開示されている（例えば、特許文献１参照）。この認証方法では、通信を行う機器間で時刻の同期を行っておき、時刻を非可逆性のアルゴリズムで暗号化したワンタイムパスワードが、認証情報として送信される。
【０００４】
ところで、サービスを利用するためのアプリ（アプリケーションプログラム）が端末装置にインストールされる場合がある。この場合、認証を受けるための暗号処理演算手順や鍵の生成手順が、アプリに記述されるケースが増加している。これに対し、解析者（攻撃者）は、鍵の生成手順を含むアプリを読み出して他のコンピュータ装置等に格納し、リバースエンジニアリングによって鍵の生成手順を解析することが可能である。ここで、鍵の生成手順が解析され、解析者がアプリの改ざんを行って不正にサービスを受けようとした場合であっても、改ざんを検知すると正常に動作しない仕組みがアプリに埋め込まれていれば、アプリが正常に動作しない可能性が高い。しかしながら、正規なアプリのコードを再利用せず、演算手順を一から組み立てる手法（スクラッチと称される）でアプリが作成された場合、サービスが不正に利用されてしまう場合がある。
【０００５】
これに対し、共通鍵暗号方式で通信を行う方法の発明が開示されている（例えば、特許文献２参照）。この方法では、通信を行う第１の機器が、固定キーテーブルから任意の固定キーを選択して、所定の演算処理を加えることにより新たな共通鍵を生成する。そして、第１の機器は、生成した共通鍵を暗号化に用いると共に、固定キーのインデックス情報を第２の機器に送信する。第２の機器は、第１の機器と同じ固定キーテーブルを備えており、受信したインデックス情報を用いて固定キーテーブルから固定キーを選択し、所定の演算を加えることにより、第１の機器と同じ共通鍵を生成して復号に用いる。
【０００６】
また、自装置の識別子と、通信相手の識別子に基づいて選択されたアルゴリズムで、暗号鍵を取得する方法の発明が開示されている（例えば、特許文献３参照）。
【０００７】
特許文献２、３に記載された方法によれば、鍵の生成手順がインデックス情報や識別子によって変更されるため、毎回同じ手順で鍵を生成する場合に比して、解析者がリバースエンジニアリングによって鍵の生成手順を解析することが困難となっている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−１９８１４７号公報
【特許文献２】特開２０１２−１４７３４１号公報
【特許文献３】特開平１１−０３２０３４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１に記載の方法では、認証情報の生成手順を解析されてしまう場合がある。この結果、特許文献１に記載の方法では、十分なセキュリティ性が得られない場合がある。
【００１０】
また、特許文献２に記載の方法に、ワンタイムパスワードとしての性質（ワンタイム性）を持たせようとすると、選択する固定キーを通信の度に変更する必要がある。この場合、暗号化通信の度に固定キーのインデックス情報を送信する必要が生じ、通信量が増加してしまう。通信量の増加は、通信料金の増加や消費電力の増加、通信帯域の消費など、通信に関するコスト（通信コスト）の増加を招く。更に、固定キーのインデックス情報を傍受された場合、同じ固定キーテーブルを有する通信主体であれば、本来の通信主体でなくとも不正なアクセスを行うことが可能となる。従って、特許文献２に記載の方法では、十分なセキュリティ性が得られない場合がある。
【００１１】
また、特許文献３に記載の方法では、例えば同じ通信相手と何度も通信を行う場合、通信主体の識別子は変化しないため、ワンタイム性を持たせるのが困難である。異なる相手と通信を行う場合であっても、特許文献２に記載の方法と同様、暗号化通信の度に識別子を送信し合う必要があり、通信コストが増加したり、十分なセキュリティ性が得られない場合がある。
【００１２】
このように、従来の通信システムや通信方法では、通信コストを抑制しつつ、セキュリティ性を向上させることが困難であった。
【００１３】
本発明は、このような事情を考慮してなされたものであり、通信コストを抑制しつつ、セキュリティ性を向上させることを目的の一つとする。
【課題を解決するための手段】
【００１４】
本発明の一態様は、第１の通信装置と第２の通信装置とを備える通信システムであって、前記第１の通信装置は、互いに異なる複数の演算手順から、自装置と前記第２の通信装置との間で共通する時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成する第１の通信装置側鍵生成部と、前記第１の通信装置側鍵生成部により生成された鍵データを用いてデータを暗号化する暗号化部と、前記暗号化されたデータを前記第２の通信装置に送信する送信部と、を備え、前記第２の通信装置は、前記第１の通信装置から前記暗号化されたデータを受信する受信部と、前記共通する時刻に基づいて、前記複数の演算手順から一以上の演算手順を選択することを含む処理によって鍵データを生成する第２の通信装置側鍵生成部と、前記第２の通信装置側鍵生成部により生成された鍵データを用いて前記暗号化されたデータを復号する復号部と、を備える、通信システムである。
【００１５】
また、本発明の他の態様は、第１の通信装置と第２の通信装置とを備える通信システムが行う通信方法であって、前記第１の通信装置が、互いに異なる複数の演算手順から、自装置と前記第２の通信装置との間で共通する時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成し、前記第１の通信装置において生成された鍵データを用いてデータを暗号化し、前記暗号化されたデータを前記第２の通信装置に送信し、前記第２の通信装置が、前記暗号化されたデータを前記第１の通信装置から受信し、前記複数の演算手順から、前記共通する時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成し、前記第２の通信装置において生成された鍵データを用いて前記暗号化されたデータを復号する、通信方法である。
【００１６】
また、本発明の他の態様は、互いに異なる複数の演算手順から、時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成する鍵生成部と、前記生成された鍵データを用いて、他装置から受信したデータであって、暗号化されたデータを復号する復号部と、を備える通信装置である。
【００１７】
また、本発明の他の態様は、通信装置に、互いに異なる複数の演算手順から、時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成させ、前記生成された鍵データを用いてデータを暗号化させ、前記暗号化されたデータを他装置に送信させる、通信プログラムである。
【００１８】
また、本発明の他の態様は、通信装置に、互いに異なる複数の演算手順から、時刻に基づいて一以上の演算手順を選択することを含む処理によって鍵データを生成させ、前記生成された鍵データを用いて、他装置から受信したデータであって、暗号化されたデータを復号させる、通信プログラムである。
【発明の効果】
【００１９】
本発明の一態様によれば、通信コストを抑制しつつ、セキュリティ性を向上させることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１実施形態に係る通信システムのシステム構成例である。
【図２】端末装置１の機能構成例である。
【図３】認証サーバ３の機能構成例である。
【図４】サービスサーバ５の機能構成例である。
【図５】端末装置１と認証サーバ３により実行される処理の流れを示すフローチャートの一例（その１）である。
【図６】端末装置１と認証サーバ３により実行される処理の流れを示すフローチャートの一例（その２）である。
【図７】時刻候補が複数設定される場合の処理の流れを示すフローチャートの一部である。
【図８】第２の端末側鍵生成部１６および第２のサーバ側鍵生成部３３により実行される処理をコードの形式で示す図である。
【図９】第２の端末側鍵生成部１６および第２のサーバ側鍵生成部３３により実行される処理をコードの形式で示す図である。
【図１０】アプリがシミュレーション環境下で実行する一連の命令を、アセンブリ形式で表した図である。
【図１１】第２の端末側鍵生成部１６および第２のサーバ側鍵生成部３３により実行される処理をコードの形式で示す図である。
【発明を実施するための形態】
【００２１】
以下、図面を参照し、本発明の通信システム、通信方法、通信装置、および通信プログラムの実施形態について説明する。
【００２２】
＜第１実施形態＞
図１は、本発明の第１実施形態に係る通信システムのシステム構成例である。通信システムは、端末装置１と、認証サーバ３と、サービスサーバ５とを備える。これらの構成要素は、ネットワーク９によって接続されている。
【００２３】
［端末装置１の構成］
端末装置１は、携帯電話やタブレットＰＣ、ノートＰＣ、デスクトップＰＣ、その他の端末装置である。認証サーバ３は、例えば１台以上のサーバ装置によって実現され、端末装置１がサービスサーバ５からサービスを受ける際に、端末装置１に対する認証を行い、認証結果が正当であればサービスの提供を許可する。サービスサーバ５は、例えば１台以上のサーバ装置によって実現され、端末装置１に、メールの送受信などの各種サービスを提供する。ネットワーク９は、例えば、３Ｇ（3rd.  Generation）網などの携帯電話網、Ｗｉ−Ｆｉ網、光通信網などの通信網を含む。図１では、端末装置１を単独のものとして示したが、複数の端末装置１がネットワーク９を介して認証サーバ３やサービスサーバ５に接続されることがある。
【００２４】
図２は、端末装置１の機能構成例である。端末装置１は、例えば、入力部１１、出力部１２、通信部１３、アプリ実行部１４、第１の端末側鍵生成部１５、第２の端末側鍵生成部１６、時計１７、暗号処理部１８、認証トークン取得部１９、差分演算部２０、記憶部２１を備える。
【００２５】
記憶部２１には、アプリＩＤ２１Ａ、アプリ認証用パスワード２１Ｂ、アプリ認証用パスワードの有効期限２１Ｃ、時刻差分情報２１Ｄなどが格納される。アプリＩＤ２１Ａは、アプリを特定する識別子である。アプリ認証用パスワード２１Ｂは、アプリによるサービスを受けるためのパスワードである。アプリ認証用パスワードの有効期限２１Ｃは、認証サーバ３によって設定されるアプリ認証用パスワードの有効期限である。時刻差分情報２１Ｄについては後述する。
【００２６】
入力部１１は、例えば、ボタンやキー、タッチパネル、キーボード、マウスなどであり、ユーザによる入力を受ける。出力部１２は、例えば、ＬＣＤ（Liquid  Crystal  Display）などの表示装置、スピーカなどを含む。通信部１３は、ネットワーク９を介して、他の装置との間でデータを送受信する。アプリ実行部１４は、サービスサーバ５から提供されるサービスを利用するアプリケーションを実行する。
【００２７】
第１の端末側鍵生成部１５は、暗号処理部１８が暗号化および復号に用いる鍵データＫ１〜Ｋ３を生成する。第２の端末側鍵生成部１６は、暗号処理部１８が暗号化および復号に用いる鍵データＫ４を生成する。第２の端末側鍵生成部１６は、互いに異なる複数の演算手順から、端末装置１と認証サーバ３との間で共通する時刻に基づいて一以上の演算手順を選択することを含む処理によって、端末装置１と認証サーバ３との間で共通する鍵データＫ４を生成する。第１実施形態では、「端末装置１と認証サーバ３との間で共通する時刻」とは、時計１７が出力する時刻に、時刻差分情報２１Ｄを加算して得られる認証サーバ３の時計３４（後述）の推定時刻である。
【００２８】
暗号処理部１８は、第１の端末側鍵生成部１５や第２の端末側鍵生成部１６が生成した鍵データを用いて、データの暗号化および復号を行う。鍵データを用いた暗号化アルゴリズムとしては、例えば、ＡＥＳ（Advanced  Encryption  Standard）を用いることができる。
【００２９】
認証トークン取得部１９は、所定のタイミングで、認証トークン払い出し要求を認証サーバ３に送信する。そして、認証トークン取得部１９は、認証サーバ３から受信し、暗号処理部１８によって復号された認証トークンの少なくとも一部を、記憶部２１に格納する。
【００３０】
認証トークンには、例えば、認証トークンの送信時に認証サーバ３の時計３４が出力した時刻情報、アプリ認証用パスワード２１Ｂ、アプリ認証用パスワードの有効期限２１Ｃなどが含まれる。アプリ認証用パスワードの有効期限２１Ｃは、例えば３か月と定められる。認証トークン取得部１９は、この有効期限が切れると、認証トークンの払い出し要求を認証サーバ３に送信するように通信部１３を制御する。
【００３１】
差分演算部２０は、認証サーバ３から受信したサーバ時刻情報から、認証トークンの受信時に時計１７が出力した時刻を差し引き、時刻差分情報２１Ｄを生成して記憶部２１に格納する。サーバ時刻情報は、認証サーバ３が認証トークンを生成する際に、時計３４が出力した時刻の情報である。時刻差分情報２１Ｄは、時計１７と時計３４の間の誤差を反映した時間である。
【００３２】
［認証サーバ３の構成］
図３は、認証サーバ３の機能構成例である。認証サーバ３は、例えば、通信部３１、第１のサーバ側鍵生成部３２、第２のサーバ側鍵生成部３３、時計３４、暗号処理部３５、認証トークン生成部３６、認証部３７、記憶部３８などを備える。
【００３３】
なお、図２、３に示す矢印は、通信システムにおける代表的な情報の流れを例示したものであり、図２、３に示す以外の情報の流れも発生し得る。
【００３４】
記憶部３８には、アプリＩＤ３８Ａ、アプリ認証用パスワード３８Ｂ、アプリ認証用パスワードの有効期限３８Ｃ、サーバ時刻情報３８Ｄ、端末識別情報３８Ｅ、ＳＩＭ（Subscriber  Identity  Module）識別情報３８Ｆなどが格納される。
【００３５】
端末識別情報３８Ｅとしては、例えば、ＩＭＥＩ（International  Mobile  Equipment  Identity）を用いることができる。また、ＳＩＭ識別情報３８Ｆとしては、例えば、ＭＳＮ（Multiple  Subscriber  Number）やＩＣＣＩＤ（Integrated  Circuit  Card  ID）、Ｗｉ−Ｆｉ（登録商標）パスワードなどを用いることができる。ＳＩＭ識別情報３８Ｆは、例えば、網認証によって、予め端末装置１と認証サーバ３との間で共有されているものとする。
【００３６】
通信部３１は、ネットワーク９を介して、他の装置との間でデータを送受信する。
【００３７】
第１のサーバ側鍵生成部３２は、暗号処理部３５が暗号化および復号に用いる鍵データＫ１、Ｋ２を生成する。第２のサーバ側鍵生成部３３は、暗号処理部３５が暗号化および復号に用いる鍵データＫ４を生成する。第２のサーバ側鍵生成部３３は、互いに異なる複数の演算手順から、時計３４の出力する時刻に基づいて一以上の演算手順を選択することを含む処理によって、端末装置１と認証サーバ３との間で共通する鍵データＫ４を生成する。
【００３８】
暗号処理部３５は、第１のサーバ側鍵生成部３２や第２のサーバ側鍵生成部３３が生成した鍵データを用いて、データの暗号化および復号を行う。鍵データを用いた暗号化アルゴリズムとしては、例えば、ＡＥＳを用いることができる。
【００３９】
認証トークン生成部３６は、端末装置１から受信した認証トークン払い出し要求に応じ、認証トークンを生成し、認証トークンを端末装置１に送信する。認証部３７は、サービスサーバ５が端末装置１から受信した認証情報の認証を行い、認証結果をサービスサーバ５に送信する。
【００４０】
記憶部３８には、アプリＩＤ３８Ａ、アプリ認証用パスワード３８Ｂ、アプリ認証用パスワードの有効期限３８Ｃ、サーバ時刻情報３８Ｄ、端末識別情報３８Ｅ、ＳＩＭ識別情報３８Ｆなどが格納される。
【００４１】
［サービスサーバ５の構成］
図４は、サービスサーバ５の機能構成例である。サービスサーバ５は、例えば、通信部５１、認証依頼部５２、サービス提供部５３などを備える。
【００４２】
通信部５１は、ネットワーク９を介して他の装置との間でデータを送受信する。認証依頼部５２は、端末装置１から受信した認証情報を認証サーバ３に送信し、認証を依頼する。認証依頼部５２は、認証の依頼に対応して認証サーバ３から認証失敗を受信した場合、その旨を端末装置１に通知する。サービス提供部５３は、認証の依頼に対応して認証サーバ３から認証成功を受信した場合、端末装置１にサービスを提供する。
【００４３】
なお、サービスサーバ５が複数台備えられる場合、各サービスサーバ５は、異なるサービスを提供するものであってもよい。例えば、サービスサーバ５は、メールサーバ、ＰＯＰ（Post  Office  Protocol）サーバ、情報提供サーバなどでありうる。
【００４４】
［フローチャート（その１）］
ユーザによって端末装置１のアイコンがタップされること等により、アプリの起動が指示されると、端末装置１と認証サーバ３は、以下に例示するように、乱数の交換によるワンタイムパスワードを用いて情報を送受信する。
【００４５】
図５は、端末装置１と認証サーバ３により実行される処理の流れを示すフローチャートの一例（その１）である。図５のフローチャートにおける各手順は、例えば、ユーザによりアプリの起動が指示されときに開始される。
【００４６】
まず、端末装置１のアプリ実行部１４が、アプリを起動し（ステップＳ１００）、認証トークン取得部１９が、乱数Ｒ１を生成する（ステップＳ１０２）。乱数Ｒ１および後述する乱数Ｒ２は、例えば、メンセルヌ・ツイスタ、ＰＲＮＧ（Pseudo  Random  Number  Generator）等の疑似乱数生成アルゴリズムによって生成される。
【００４７】
次に、端末装置１の第１の端末側鍵生成部１５が、図示しないモジュールなどから読み出したＳＩＭ識別情報に基づき、鍵データＫ１を生成する（ステップＳ１０４）。そして、暗号処理部１８が、鍵データＫ１を用いて乱数Ｒ１を暗号化する（ステップＳ１０６）。暗号化された乱数Ｒ１は、認証サーバ３に送信される（ステップＳ１０８）。
【００４８】
認証サーバ３の第１のサーバ側鍵生成部３２は、暗号化された乱数Ｒ１を受信すると、記憶部３８に格納された端末１のＳＩＭ識別情報３８Ｆに基づき、鍵データＫ１を生成する（ステップＳ１１０）。そして、暗号処理部３５が、鍵データＫ１を用いて、暗号化された乱数Ｒ１を復号する（ステップＳ１１２）。
【００４９】
次に、認証サーバ３の認証トークン生成部３６が、乱数Ｒ２を生成し（ステップＳ１１４）、暗号処理部３５が、鍵データＫ１を用いて、乱数Ｒ２を暗号化する（ステップＳ１１６）。暗号化された乱数Ｒ２は、端末装置１に送信される（ステップＳ１１８）。
【００５０】
端末装置１の暗号処理部１８は、鍵データＫ１を用いて、暗号化された乱数Ｒ２を復号する（ステップＳ１２０）。次に、認証トークン取得部１９が、認証トークン払い出し要求を生成する（ステップＳ１２２）。次に、第１の端末側鍵生成部１５が、乱数Ｒ１と乱数Ｒ２に基づいて鍵データＫ２を生成する（ステップＳ１２４）。そして、暗号処理部１８が、鍵データＫ２を用いて、図示しないモジュールなどから読み出した自装置（端末装置１）の端末識別情報と認証トークン払い出し要求を暗号化する（ステップＳ１２６）。通信部１３は、暗号化された端末識別情報と認証トークン払い出し要求は、認証サーバ３に送信する（ステップＳ１２８）。
【００５１】
認証サーバ３の第１のサーバ側鍵生成部３２は、乱数Ｒ１と乱数Ｒ２に基づいて、鍵データＫ２を生成する（ステップＳ１３０）。次に、暗号処理部３５が、鍵データＫ２を用いて端末識別情報と認証トークン払い出し要求を復号する（ステップＳ１３２）。次に、認証トークン生成部３６が、アプリＩＤと認証トークンを生成する（ステップＳ１３４）。認証トークンには、例えば、アプリ認証用パスワード、アプリ認証用パスワードの有効期限、およびサーバ時刻情報が含まれる。サーバ時刻情報は、ステップＳ１３４において認証トークンを生成する際に、時計３４から取得した時刻の情報である。
【００５２】
認証トークン生成部３６は、上記のように設定等した情報を、アプリＩＤ３８Ａ、アプリ認証用パスワード３８Ｂ、アプリ認証用パスワードの有効期限３８Ｃ、サーバ時刻情報３８Ｄ、端末識別情報３８Ｅ、ＳＩＭ識別情報３８Ｆとして記憶部３８に格納する（ステップＳ１３６）。そして、暗号処理部３５が、鍵データＫ２を用いて、アプリＩＤと認証トークンを暗号化する（ステップＳ１３８）。通信部３１は、暗号化されたアプリＩＤと認証トークンは、端末装置１に送信される（ステップＳ１４０）。
【００５３】
端末装置１の暗号処理部１８は、鍵データＫ２を用いてアプリＩＤと認証トークンを復号する（ステップＳ１４２）。次に、差分演算部２０が、サーバ時刻情報から時計１７の出力する時刻を差し引き、時刻差分情報を生成する（ステップＳ１４４）。
【００５４】
次に、端末装置１の第１の端末側鍵生成部１５が、ＳＩＭ識別情報と端末識別情報に基づいて、鍵データＫ３を生成する（ステップＳ１４６）。暗号処理部１８は、鍵データＫ３を用いて、アプリＩＤ、アプリ認証用パスワード、アプリ認証用パスワードの有効期限の情報、時刻差分情報を暗号化する（ステップＳ１４８）。暗号化されたアプリＩＤ、アプリ認証用パスワード、アプリ認証用パスワードの有効期限の情報、時刻差分情報は、アプリＩＤ２１Ａ、アプリ認証用パスワード２１Ｂ、アプリ認証用パスワードの有効期限２１Ｃ、時刻差分情報２１Ｄとして記憶部２１に格納される。
【００５５】
［フローチャート（その２）］
図５に例示したフローチャートの手順によってアプリＩＤ２１Ａなどが記憶部２１に格納されると、ユーザがアプリによるサービスを受けることが可能な状態となる。この状態で、例えば、ユーザがメール取得のボタンを押下する等して、サービス利用要求を行うと、端末装置１と認証サーバ３は、時刻に基づいて演算手順が選択される鍵データ生成手順によって鍵データＫ４を生成し、暗号化通信を行う。
【００５６】
図６は、端末装置１と認証サーバ３により実行される処理の流れを示すフローチャートの一例（その２）である。図６のフローチャートにおける各手順は、例えば、ユーザによりサービスの利用要求がなされたときに開始される。
【００５７】
まず、端末装置１の第１の端末側鍵生成部１５が、自装置（端末装置１）の端末識別情報とＳＩＭ識別情報に基づいて、鍵データ３を生成する（ステップＳ２００）。次に、暗号処理部１８が、鍵データＫ３を用いて、記憶部２１に格納されたアプリＩＤ２１Ａ、アプリ認証用パスワード２１Ｂ、アプリ認証用パスワードの有効期限２１Ｃ、時刻差分情報２１Ｄを復号する（ステップＳ２０２）。
【００５８】
次に、端末装置１のアプリ実行部１４が、アプリ認証用パスワードの有効期限が切れているか否かを判定する（ステップＳ２０４）。アプリ認証用パスワードの有効期限が切れている場合、例えば図５のフローチャートの手順が実行される（ステップＳ２０６）。
【００５９】
次に、端末装置１の第２の端末側鍵生成部１６が、時計１７の出力する時刻と差分時刻情報の示す時間を加算し、認証サーバ３の推定時刻（認証サーバ３と共通する時刻）を算出する（ステップＳ２０８）。次に、第２の端末側鍵生成部１６が、加算した認証サーバ３の推定時刻の分未満を端数処理して分単位の時刻に丸める（ステップＳ２１０）。ステップＳ２１０の端数処理は、（ａ）切り捨て、（ｂ）切り上げ、（ｃ）３０秒未満なら切り捨て／３０秒以上なら切り上げなど、如何なる処理であっても構わない。
【００６０】
そして、端末装置１の第２の端末側鍵生成部１６が、丸めた時刻を用いて鍵データＫ４を生成する（ステップＳ２１２）。ステップＳ２１２の処理の詳細については、後述する。
【００６１】
端末装置１の暗号処理部１８は、鍵データＫ４を用いてアプリ認証用パスワード、端末識別情報、ＳＩＭ識別情報を暗号化する（ステップＳ２１４）。アプリＩＤと、ステップＳ２１４で暗号化されたアプリ認証用パスワード、端末識別情報、ＳＩＭ識別情報は、サービスサーバ５に送信される（ステップＳ２１６）。
【００６２】
サービスサーバ５の認証依頼部５２は、受信したアプリＩＤと、暗号化されたアプリ認証用パスワード、端末識別情報、およびＳＩＭ識別情報とを、認証サーバ３に転送する（ステップＳ２１８）。
【００６３】
サービスサーバ５から情報が転送されて来ると、認証サーバ３の第２のサーバ側鍵生成部３３は、時計３４が出力した時刻の秒以下を端数処理して分単位の時刻に丸める（ステップＳ２２０）。端数処理としては、如何なる処理を行ってもよいが、端末装置１と共通する処理が行われることが望ましい。
【００６４】
次に、認証サーバ３の第２のサーバ側鍵生成部３３は、丸めた時刻を用いて鍵データＫ４を生成する（ステップＳ２２４）。ステップＳ２２４の処理は、端末装置１によりステップＳ２１２として行われる処理と同じである。従って、ステップ２２４における「丸めた時刻」が、Ｓ２１２における「丸めた時刻」と一致すれば、端末装置１と認証サーバ３の双方で生成される鍵データＫ４は一致する。
【００６５】
そして、認証サーバ３の暗号処理部３５は、生成された鍵データＫ４を用いてアプリ認証用パスワード、端末識別情報、およびＳＩＭ識別情報を復号する（ステップＳ２２６）。
【００６６】
次に、認証サーバ３の認証部３７は、アプリＩＤをキーとして記憶部３８を検索し、アプリ認証用パスワード３８Ｂ、アプリ認証用パスワードの有効期限３８Ｃ、端末識別情報３８Ｅ、ＳＩＭ識別情報３８Ｆを取得する（ステップＳ２２８）。次に、認証部３７は、アプリ認証用パスワードの有効期限が切れていないかを検証し（ステップＳ２３０）、更に、ステップＳ２２６で復号された情報と、記憶部３８から取得した情報が一致するか否かを判定して認証を行う（ステップＳ２３２）。認証部３７は、認証結果をサービスサーバ５に通知する（ステップＳ２３４）。なお、認証部３７は、アプリ認証用パスワードの有効期限が切れている場合には、認証トークンの払い出し処理などを行う。
【００６７】
サービスサーバ５のサービス提供部５３は、認証サーバ３による認証が成功したか否かを判定する（ステップＳ２３６）。サービス提供部５３は、認証が成功した場合、端末装置１にサービス提供（例えば、メール内容の送信など）を行う（ステップＳ２３８）。端末装置１では、アプリ実行部１４がサービス内容を出力部１２に出力させる（ステップＳ２４０）。
【００６８】
ここで、端末装置１において算出される「丸めた時刻」と、認証サーバ３において算出される「丸めた時刻」は、分の切り替わり前後に端末装置１および認証サーバ３で処理が行われた場合や、通信時間が長くなった場合に、ずれを生じる可能性がある。これに対して、認証サーバ３は、自装置が算出した「丸めた時刻」の例えば１分前や１分後、２分前、２分後など、少々ずれた時刻に基づいて端末装置１がＫ４を生成した可能性を考慮し、以下に説明するように、複数の時刻候補を設定してもよい。
【００６９】
図７は、時刻候補が複数設定される場合の処理の流れを示すフローチャートの一部である。図７は、図６のフローチャートにおけるステップＳ２２０からステップＳ２３４までの処理を変更したものであり、変更箇所以外の箇所を省略して示している。また、図６との間で共通する処理については、同一のステップ番号を付している。
【００７０】
図７において、ステップＳ２２０の端数処理が行われると、認証サーバ３の第２のサーバ側鍵生成部３３は、時刻候補を複数設定し、まず、第１候補の時刻候補を選択する（ステップＳ２２２）。例えば、ステップＳ２２０における端数処理が「切り捨て」であり、時計３４の出力した時刻が１２時０１分２５秒であったとすると、第２のサーバ側鍵生成部３３は、端数処理によって丸めた時刻（１２時０１分）を第１候補とし、これに１分を加算した時刻（１２時０２分）を第２候補とし、２分を加算した時刻（１２時０３分）を第３候補とし、というように、所定数の時刻候補を順に設定する。これに限らず、第２のサーバ側鍵生成部３３は、端数処理によって丸めた時刻から所定数を減算した時刻候補を設定してもよい。そして、第２のサーバ側鍵生成部３３は、選択した時刻候補を用いて鍵データＫ４を生成する（ステップＳ２２４）。
【００７１】
以下、図６と同様に、暗号処理部３５が鍵データＫ４を用いてアプリ認証用パスワードなどを復号し（ステップＳ２２６）、認証部３７がアプリ認証用パスワード３８Ｂなどを取得し（ステップＳ２２８）、アプリ認証用パスワードの有効期限が切れていないかを検証し（ステップＳ２３０）、ステップＳ２２６で復号された情報と、記憶部３８から取得した情報が一致するか否かを判定して認証を行う（ステップＳ２３２）。
【００７２】
図７において、ステップＳ２３２で認証が行われると、認証サーバ３の第２のサーバ側鍵生成部３３は、認証が成功したか否かを判定する（ステップＳ２５０）。認証が失敗した場合、第２のサーバ側鍵生成部３３は、所定数（例えば３個など）の時刻候補を既に選択し、これに基づいて所定数の鍵データＫ４を生成したか否かを判定する（ステップＳ２５２）。所定数の時刻候補を未だ選択していない場合、第２のサーバ側鍵生成部３３は、次の時刻候補を選択し（ステップＳ２５４）、ステップＳ２２４に戻る。この結果、新たに選択された時刻候補に基づいて鍵データＫ４が生成され、アプリ認証用パスワードなどの復号が行われる。所定数の時刻候補が既に選択されている場合、認証サーバ３は、ステップＳ２３４に進み、認証失敗をサービスサーバ５に通知する。
【００７３】
［時刻に基づいて演算手順が選択される鍵データ生成手順］
以下、図６または図７のフローチャートにおけるステップＳ２１２、およびステップＳ２２４の処理について、より詳細に説明する。なお、以下に具体例として示す演算手順は、あくまで一例であり、時刻に基づいて演算手順が選択される性質を有する限り、如何なる演算手順が実行されてもよい。
【００７４】
第２の端末側鍵生成部１６および第２のサーバ側鍵生成部３３は、例えば以下のように定義された関数を使用する。「ｈａｓｈ（）」は、括弧内の値のハッシュ値を求める関数である。時刻情報は、第２の端末側鍵生成部１６においてはステップＳ２１０で生成された「丸めた時刻」である。また、時刻情報は、第２のサーバ側鍵生成部３３においてはステップＳ２２０で生成された「丸めた時刻」、或いはステップＳ２２２またはステップＳ２５４で選択された時刻候補（図７のフローチャートを実行する場合）である。
ｘ＝ｈａｓｈ（時刻情報）
ｙ＝ｈａｓｈ（アプリ認証用パスワード）
Ｎ＝アプリ認証用パスワードの最下位バイトの値
α＝アプリ認証用パスワードの最上位バイトの値
【００７５】
図８および図９は、第２の端末側鍵生成部１６および第２のサーバ側鍵生成部３３により実行される処理をコードの形式で示す図である。図８は、第２の端末側鍵生成部１６および第２のサーバ側鍵生成部３３により実行されるメインのループ処理を示す図であり、図９は、メインのループ処理によって呼び出される関数を示す図である。
【００７６】
図８に示すように、第２の端末側鍵生成部１６および第２のサーバ側鍵生成部３３は、関数func1〜func3のいずれかを選択して実行することを、Ｎ回繰り返し実行する（図中、（１）（２）（５）が相当）。そして、いずれの関数を選択するかは、パラメータαを３で除算した剰余によって決定される（図中、（３）〜（４））が相当）。
【００７７】
図９（Ａ）は、メインのループ処理によって呼び出される関数func1の内容を示し、図９（Ｂ）は、関数func2の内容を示し、図９（Ｃ）は、関数func3の内容を示す。また、図９において、「ＯＲ」は、演算子の左右のオペランド（ビット列）の各ビットの論理和を並べたビット列を求めることを示し、「ＡＮＤ」は演算子の左右のオペランド（ビット列）の各ビットの論理積を並べたビット列を求めることを示し、「ＸＯＲ」は、演算子の左右のオペランド（ビット列）の各ビットの排他的論理和を並べたビット列を求めることを示す。また、図９において、msは最上位ビットを求める関数であり、lsは最下位ビットを求める関数である。
【００７８】
パラメータαは、図８に示すループ処理の１回目では、アプリ認証用パスワードの最上位バイトの値、すなわち時刻情報とは無関係であるが、図９に示すように、ループ処理の２回目以降では、時刻情報を反映した「ｘ」の内容に基づくものとなっている。このため、ループ処理の２回目以降では、時刻情報に基づいて、互いに異なる複数の関数（演算手順）func1〜func3のうち１つが選択される。
【００７９】
そして、Ｎ回のループ処理が行われた結果、例えば最後に演算結果として得られたビット列「ｙ」が、鍵データＫ４に設定される。
【００８０】
なお、上記の例では、ループ回数を決定するＮを、アプリ認証用パスワードの最下位バイトの値に設定するものとしたが、ループ回数を決定するＮについても、時刻情報に基づく値に設定してよい。
【００８１】
このように、本実施形態の通信システム１は、時刻情報に基づいて演算手順が選択されることを含む処理によって、鍵データＫ４を生成することにより、セキュリティ性を向上させることができる。
【００８２】
前述したように、端末装置１にインストールされたアプリが暗号処理手順や鍵データの生成手順を記述している場合、解析者は、インストールされた鍵データの生成手順を含むアプリを他のコンピュータ装置等に吸い出し、鍵データの生成手順を解析することが可能である。図１０は、アプリがシミュレーション環境下で（上記「他のコンピュータ装置等」で）実行する一連の命令を、アセンブリ形式で表した図である。解析者は、図１０で示すような命令の流れを見ることができる可能性がある。従って、鍵データの生成手順がいつも同じであると、どこからどこまでが鍵データの生成手順であるか見当を付け易く、アプリの実行に伴ってメモリに格納される値を併せて考慮することによって、鍵データの生成手順が判明してしまう可能性が高くなってしまう。
【００８３】
これに対し、本実施形態の第２の端末側鍵生成部１６および第２のサーバ側鍵生成部３３は、時刻情報に基づいて演算手順が選択されることを含む処理によって、鍵データＫ４を生成するため、鍵データの生成手順は毎回異なるものとなる（同じ時間の同じ分に生成された場合を除く）。従って、図１０に示す（１）〜（１０）の命令が、例えば（８）→（４）→（２）→（１）→（７）の順で実行されたり、（５）→（１）→（９）→（３）の順で実行されたりするため、解析者にとって、どこからどこまでが鍵データの生成手順であるか見当を付けるのが困難となる。この結果、本実施形態の通信システム１は、セキュリティ性を向上させることができる。
【００８４】
また、一度、サーバ時刻情報を取得して時刻差分情報を記憶部２１に格納してしまえば、端末装置１と認証サーバ３は、それぞれの時計に基づいて、端末装置１と認証サーバ３で共通する時刻情報を取得することができる。このため、共通する時刻情報を暗号化通信の度に送受信するといった処理を行う必要が無いため、鍵データの生成手順を毎回変更することに起因して通信コストは増加しない。サーバ時刻情報の取得自体は、サービス提供を受けるための通常の処理として実行されるものであるため、通信コストの増加を招くものではない。
【００８５】
また、時刻情報を暗号化通信の度に送受信すると、解析者が送受信情報を傍受した場合に、鍵データの生成手順に時刻情報を用いているかも知れないというヒントを解析者に与えてしまう可能性がある。しかしながら、本実施形態の通信システム１は、暗号化通信の度に時刻情報を送受信しないため、セキュリティ性の低下を防止することができる。
【００８６】
これらの結果、本実施形態の通信システムは、通信コストを抑制しつつ、セキュリティ性を向上させることができる。
【００８７】
なお、時刻に基づいて演算手順が選択される鍵データ生成手順は、認証を行う場面以外の場面においても行われてよい。例えば、端末装置１がサービスサーバ５とデータを送受信する際に行われてもよいし、その他の場面で行われてもよい。
【００８８】
［鍵データ生成手順の応用例］
なお、上記では、時刻情報とアプリ認証用パスワードを入力パラメータとする簡易な鍵データ生成手順を例示したが、入力パラメータを増加させることによって、よりセキュリティ性の高い暗号化を行うことができる。
【００８９】
例えば、第２の端末側鍵生成部１６および第２のサーバ側鍵生成部３３は、時刻情報およびアプリ認証用パスワードに加えて、端末識別情報、ＳＩＭ識別情報などを入力パラメータとすることができる。入力パラメータを例えばｙ１，ｙ２，‥，ｙｋのｋ個とし、そのうちの少なくとも１つの入力パラメータを、時刻情報を反映したものとする。そして、例えばｍ個の互いに異なる関数func1〜funcmを定義し、図１１に例示するループ処理を実行する。図１１は、第２の端末側鍵生成部１６および第２のサーバ側鍵生成部３３により実行される処理をコードの形式で示す図である。関数funcmは、例えば以下のように概念的に表される。各定義式において、ｆ１ｍ、ｆ２ｍ、ｆｋｍ、ｇｍは、引数ｍが異なれば内容が異なり、括弧内のデータを入力パラメータとする任意の関数（演算手順）である。
【００９０】
funcm｛
ｙ１＝ｆ１ｍ（ｙ１，ｙ２，‥，ｙｋ，α）；
ｙ２＝ｆ２ｍ（ｙ１，ｙ２，‥，ｙｋ，α）；
‥
ｙｋ＝ｆｋｍ（ｙ１，ｙ２，‥，ｙｋ，α）；
α  ＝ｇｍ（ｙ１，ｙ２，‥，ｙｋ，α）；
｝
【００９１】
［まとめ］
以上説明した本実施形態の端末装置１および認証サーバ３を含む通信システムによれば、通信コストを抑制しつつ、セキュリティ性を向上させることができる。
【００９２】
＜第２実施形態＞
【００９３】
以下、本発明の第２実施形態に係る通信システムについて説明する。第２実施形態における端末装置１および認証サーバ３が有する時計１７および３４は、例えば電波時計のように、標準時刻を取得可能な時計である。このため、第２実施形態に係る端末装置１では、差分演算部２０を省略することが可能であり、時刻差分情報２１Ｄを記憶部２１に格納する必要がない。
【００９４】
この場合、端末装置１で暗号化データが生成される際に時計１７の出力する時刻と、認証サーバ３が暗号化データを受信して復号をする際に時計３４の出力する時刻は、一致する可能性が高い。また、端末装置１と認証サーバ３の双方において分未満の端数処理を行うのであれば、通信環境が良好ならば、通信時間は誤差の範囲内となる可能性が高い。このため、第２の端末側鍵生成部１６および第２のサーバ側鍵生成部３３は、それぞれ時計１７および３４が出力する時刻（或いは端数処理を行って丸めたもの）を、共通する時刻として扱う。
【００９５】
＜ハードウェア構成等＞
前述した各実施形態における端末装置１、認証サーバ３、およびサービスサーバ５は、内部にコンピュータシステムを有している。「コンピュータシステム」は、ＣＰＵ（Central  Processing  Unit）、ＲＡＭ（Random  Access  Memory）等のメモリ装置、ＲＯＭ（Read  Only  Memory）、ＨＤＤ（Hard  Disk  Drive）、ＳＳＤ（Solid  State  Drive）等の記憶装置、記憶媒体を装着可能なドライブ装置、周辺機器等のハードウェアを含むものである。
【００９６】
そして、前述した端末装置１のアプリ実行部１４、第１の端末側鍵生成部１５、第２の端末側鍵生成部１６、暗号処理部１８、認証トークン取得部１９、差分演算部２０、認証サーバ３の第１のサーバ側鍵生成部３２、第２のサーバ側鍵生成部３３、暗号処理部３５、認証トークン生成部３６、認証部３７等の動作の過程は、例えば、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。なお、上記各機能部の処理が、全てプログラムを実行することによって行われる必要は無く、一部の機能部は、ＩＣ（Integrated  Circuit）やＬＳＩ（Large  Scale  Integration）などのハードウェアによって実現されてもよい。
【００９７】
「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光ディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるＨＤＤ等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。
【００９８】
また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、更に、前述した機能を、コンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００９９】
なお、上記各実施形態における第２の端末側鍵生成部１６が、「第１の通信装置側鍵生成部」の一例であり、第２のサーバ側鍵生成部３３が、「第２の通信装置側鍵生成部」の一例である。
【０１００】
＜その他＞
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形、置換、他の構成要素の追加などを行うことができる。
【０１０１】
例えば、第１実施形態では、端末装置１で時刻差分情報に基づく演算を行った結果として得られる時刻に基づき鍵データＫ４を生成し、認証サーバで自装置の時計３４の出力した時刻に基づき鍵データＫ４を生成するものとしたが、この関係は逆であってもよい。すなわち、認証サーバ３が、予め時刻差分情報を保持しておき、端末装置１が、時計１７の出力した時刻に基づいて鍵データＫ４を生成し、認証サーバ３が、暗号化データの受信時に時計３４の出力した時刻に時刻差分情報を加算（または減算）した時刻に基づいて鍵データＫ４を生成してもよい。
【符号の説明】
【０１０２】
１      端末装置
１１    入力部
１２    出力部
１３    通信部
１４    アプリ実行部
１５    第１の端末側鍵生成部
１６    第２の端末側鍵生成部
１７    時計
１８    暗号処理部
１９    認証トークン取得部
２０    差分演算部
２１    記憶部
２１Ａ  アプリＩＤ
２１Ｂ  アプリ認証用パスワード
２１Ｃ  アプリ認証用パスワードの有効期限
２１Ｄ  時刻差分情報
３      認証サーバ
３１    通信部
３２    第１のサーバ側鍵生成部
３３    第２のサーバ側鍵生成部
３４    時計
３５    暗号処理部
３６    認証トークン生成部
３７    認証部
３８    記憶部
３８Ａ  アプリＩＤ
３８Ｂ  アプリ認証用パスワード
３８Ｃ  アプリ認証用パスワードの有効期限
３８Ｄ  サーバ時刻情報
３８Ｅ  端末識別情報
３８Ｆ  ＳＩＭ識別情報
５      サービスサーバ
９      ネットワーク
【図１】
2014099793.tif 000003
【図２】
2014099793.tif 000004
【図３】
2014099793.tif 000005
【図４】
2014099793.tif 000006
【図５】
2014099793.tif 000007
【図６】
2014099793.tif 000008
【図７】
2014099793.tif 000009
【図８】
2014099793.tif 000010
【図９】
2014099793.tif 000011
【図１０】
2014099793.tif 000012
【図１１】
2014099793.tif 000013