JP2015007827A - 通信制御システム、通信端末装置、認証コンピュータ及び通信制御方法 - Google Patents

通信制御システム、通信端末装置、認証コンピュータ及び通信制御方法 Download PDF

Info

Publication number
JP2015007827A
JP2015007827A JP2013131972A JP2013131972A JP2015007827A JP 2015007827 A JP2015007827 A JP 2015007827A JP 2013131972 A JP2013131972 A JP 2013131972A JP 2013131972 A JP2013131972 A JP 2013131972A JP 2015007827 A JP2015007827 A JP 2015007827A
Authority
JP
Japan
Prior art keywords
data
program
status
authentication
unit
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.)
Pending
Application number
JP2013131972A
Other languages
English (en)
Inventor
中村 健一
Kenichi Nakamura
健一 中村
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013131972A priority Critical patent/JP2015007827A/ja
Publication of JP2015007827A publication Critical patent/JP2015007827A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

【課題】通信端末装置におけるステータス偽装を防ぐ。
【解決手段】通信制御システムは、セキュアゾーンを有するプロセッサと不揮発性メモリと揮発性メモリとを有する通信端末装置と、当該通信端末装置と通信を行う認証コンピュータとを有する。また、上記プロセッサは、上記不揮発性メモリに保持されている所定のデータを読み取るためのプログラムを、セキュアブートによって上記揮発性メモリにロードした後、通信端末装置が認証コンピュータを含むネットワークに接続しようとする際に当該プログラムを実行し、更に、セキュアゾーンに上記所定のデータを取り込んで、セキュアゾーンにおいて上記所定のデータの特徴を表す第1特徴データを算出し、第1特徴データを、認証コンピュータに送信するための処理を実行する。認証コンピュータは、第1特徴データに基づき通信端末装置におけるステータスを認証する認証部を有する。
【選択図】図9

Description

本発明は、ネットワーク通信における認証技術に関する。
近年、仮想プライベートネットワーク技術を用いることによって、スマートフォンのような通信端末装置からインターネットを介してイントラネット(例えば、企業内ネットワーク)に接続し、通信を行う形態が普及している。
このような形態におけるイントラネット側では、通信端末装置から接続要求を受けると、認証サーバによってユーザ認証を行う。また、認証サーバによって端末認証が行われる場合もある。これらの認証によって、他人の操作による接続要求や他人の通信端末装置からの接続要求を拒否することができる。
しかし、適正な通信端末装置を適正なユーザが用いる場合であっても、セキュリティの問題が生じることがある。例えば、通信端末装置がウイルスソフトウエアに感染し、不正な動作を行う恐れがある場合には、当該通信端末装置によるイントラネットへの接続を許可することはリスクを伴う。例えば、当該通信端末装置の不正な動作によってイントラネット内の情報が外部に持ち出されるかもしれない。
ある文献には、認証サーバが通信端末装置側のウイルス対策ソフトウエアを更新させる技術が開示されている。ウイルス対策ソフトウエアのようなセキュリティ手段によって通信端末装置のステータスを検証すれば、当該通信端末装置がイントラネットに対して不正な動作を行うことをある程度抑止できる。
しかし、通信端末装置におけるセキュリティ手段が外部からの攻撃を受けた場合には、当該セキュリティ手段は、当該通信端末装置のステータスを正しく検出できなくなるかもしれない。
特開2006−252471号公報
本発明の目的は、一側面では、通信端末装置におけるステータス偽装を防ぐことである。
一態様に係る通信制御システムは、セキュアゾーンを有するプロセッサと不揮発性メモリと揮発性メモリとを有する通信端末装置と、当該通信端末装置と通信を行う認証コンピュータとを有する。また、上記プロセッサは、上記不揮発性メモリに保持されている所定のデータを読み取るためのプログラムを、セキュアブートによって上記揮発性メモリにロードした後、通信端末装置が認証コンピュータを含むネットワークに接続しようとする際に当該プログラムを実行し、更に、セキュアゾーンに上記所定のデータを取り込んで、セキュアゾーンにおいて上記所定のデータの特徴を表す第1特徴データを算出し、第1特徴データを、認証コンピュータに送信するための処理を実行する。また、認証コンピュータは、第1特徴データを受信すると、第1特徴データに基づき通信端末装置におけるステータスを認証する認証部を有する。
一態様に係る認証コンピュータは、所定のネットワークに含まれ、更に、上記所定のネットワークに接続しようとする通信端末装置から、当該通信端末装置の不揮発性メモリに保持されている所定のデータのバージョンを識別するためのバージョンデータと、当該所定のデータの特徴を表す第1特徴データとを受信する受信部と、バージョンデータに基づき、不揮発性メモリに保持されているべき正規データを特定する特定部と、正規データの特徴を表す第2特徴データを算出する算出部と、第1特徴データと第2特徴データとに基づき、通信端末装置におけるステータスを判定する判定部とを有する。
一側面としては、通信端末装置におけるステータス偽装を防ぐことができる。
図1は、通信制御システムのネットワーク構成例を示す図である。 図2は、通信制御シーケンスの例を示す図である。 図3は、スマートフォンのハードウエア構成例を示す図である。 図4は、フラッシュメモリにおける記憶状態の例を示す図である。 図5は、スマートフォンにおけるステータス被認証部のモジュール構成例を示す図である。 図6は、ステータス認証サーバにおけるステータス認証部のモジュール構成例を示す図である。 図7は、ROM(Read Only Memory)データ記憶部における記憶状態の例を示す図である。 図8は、スマートフォンにおける監視処理フローの例を示す図である。 図9は、スマートフォンにおけるステータス被認証処理フローの例を示す図である。 図10は、ステータス認証サーバにおけるステータス認証処理フローの例を示す図である。 図11は、スマートフォンにおけるユーザ被認証処理フローの例を示す図である。 図12は、実施の形態2に係るROMデータ記憶部における記憶状態の例を示す図である。 図13は、実施の形態3に係る通信制御シーケンスの例を示す図である。 図14は、実施の形態3に係るフラッシュメモリにおける記憶状態の例を示す図である。 図15は、実施の形態3に係るステータス被認証部のモジュール構成例を示す図である。 図16は、実施の形態3に係る監視処理フローの例を示す図である。 図17Aは、実施の形態3に係るステータス被認証処理フローの例を示す図である。 図17Bは、実施の形態3に係るステータス被認証処理フローの例を示す図である。 図18Aは、実施の形態3に係るステータス認証処理フローの例を示す図である。 図18Bは、実施の形態3に係るステータス認証処理フローの例を示す図である。 図19は、コンピュータの機能ブロック図である。
[実施の形態1]
本実施の形態に係る通信制御システムのネットワーク構成について説明する。図1に、通信制御システムのネットワーク構成例を示す。スマートフォン101は、移動体通信システム103を介してインターネット105に接続する機能を有している。VPN(Virtual Private Network:仮想プライベートネットワーク)ルータ107は、スマートフォン101からイントラネット109への接続要求を受け付け、ステータス認証サーバ111によるステータス認証の結果と、ユーザ認証サーバ113によるユーザ認証の結果に応じて、スマートフォン101による接続を許可する。
仮想プライベートネットワークによってスマートフォン101がイントラネット109に接続した状態では、スマートフォン101とイントラネット109との間の通信における機密が保持される。
例えば、イントラネット109は企業内ネットワークであり、社員の利用に供される。スマートフォン101は社員専用の通信端末装置であり、ユーザ認証サーバ113は、社員を認証することに用いられる。
尚、スマートフォン101は、通信端末装置の例である。例えば、携帯電話端末、タブレット端末あるいはPC(Personal Computer)等の通信端末装置によって、イントラネット109に接続するようにしてもよい。
本実施の形態に係るステータス認証サーバ111は、スマートフォン101におけるステータスを検査して、不正なステータスを検出する。これにより、ステータス認証サーバ111は、接続要求元であるスマートフォン101が、ハッキングされていないクリーンな状態であることを確認する。この例では、ステータス認証サーバ111は、スマートフォン101のROMデータが改竄されていないかをチェックする。
ユーザ認証サーバ113には、例えばRadius(Remote Authentication Dial In User Service)サーバが用いられる。この例では、ユーザ認証サーバ113と別にステータス認証サーバ111を設けているが、ユーザ認証サーバ113がステータス認証サーバ111を兼ねるようにしてもよい。つまり、ステータス認証サーバ111とユーザ認証サーバ113とは、一体の認証サーバ装置であってもよい。
また、この例では、ユーザ認証サーバ113によってユーザ認証を行うが、ユーザ認証に代えて端末認証を行うようにしてもよい。あるいは、ユーザ認証と端末認証とを行うようにしてもよい。端末認証を行う場合にも、Radiusサーバを用いるようにしてもよい。以上で、通信制御システムのネットワーク構成についての説明を終える。
次に、本実施の形態に係る通信制御シーケンスについて説明する。図2に、通信制御シーケンスの例を示す。イントラネット109に接続しようとするスマートフォン101は、自らのステータスについて認証を受けるためのステータス被認証処理を行う(S201)。
まず、スマートフォン101は、VPNルータ107へステータス認証要求を送信する(S203)。ステータス認証要求を受け付けたVPNルータ107は、ステータス認証サーバ111へスマートフォン101によるステータス認証要求を送信する(S205)。ステータス認証要求には、例えばスマートフォン101に割り当てられているIPアドレスが含まれている。
ステータス認証サーバ111は、ステータス認証要求を受信すると、スマートフォン101におけるステータスを認証するためのステータス認証処理を行う(S207)。
本実施の形態では、スマートフォン101が保持するROMデータが改ざんされていないことを確認するために、メッセージ認証技術を用いる。メッセージ認証技術は、データ改ざんの有無を検出するためにMAC(Message Authentication Code:メッセージ認証コード)を用い、データの完全性を担保する。更に、データの送信元も確認する。つまり、第三者によるなりすましも防止する。尚、この例では、メッセージ認証コードをMAC値と表す。
ステータス認証サーバ111は、スマートフォン101にMAC値を生成させるための暗号化MAC用鍵を送信する(S209)。
スマートフォン101は、暗号化MAC用鍵を用いて、ROMデータのMAC値を生成する。そして、スマートフォン101は、ROMデータのバージョンを示すバージョンデータとともに、MAC値をステータス認証サーバ111へ送信する(S211)。
ステータス認証サーバ111は、バージョンデータとMAC値とに基づいて、スマートフォン101のステータスを認証する。スマートフォン101が保持しているROMデータが改ざんされていないと判定した場合には、ステータス認証結果に「成功」をセットする。他方、スマートフォン101が保持しているROMデータが改ざんされていると判定した場合には、ステータス認証結果に「失敗」をセットする。ステータス認証サーバ111は、VPNルータ107へステータス認証結果を送信する(S213)。
VPNルータ107は、スマートフォン101へステータス認証結果を返信する(S215)。ステータス認証結果に「失敗」がセットされている場合には、VPNルータ107はスマートフォン101による接続要求を拒否し、処理を中断する。
ステータス認証結果に「成功」がセットされている場合には、図2に示すように、スマートフォン101は、ユーザの認証を受けるためのユーザ被認証処理を行う(S217)。
スマートフォン101は、VPNルータ107へユーザ認証要求を送信する(S219)。
ユーザ認証要求を受け付けたVPNルータ107は、ユーザ認証サーバ113へスマートフォン101によるユーザ認証要求を送信する(S221)。ユーザ認証要求には、例えばユーザIDとパスワードとが含まれている。
ユーザ認証サーバ113は、ユーザ認証要求を受信すると、スマートフォン101のユーザを認証するためのユーザ認証処理を行う(S223)。
スマートフォン101のユーザが正当であることを確認するために、例えばユーザIDとパスワードとが予め登録されているか否かを判定する。ユーザIDとパスワードとが予め登録されている場合には、ユーザ認証結果に「成功」をセットする。他方、ユーザIDとパスワードとが予め登録されていない場合には、ユーザ認証結果に「失敗」をセットする。そして、ユーザ認証サーバ113は、VPNルータ107へユーザ認証結果を送信する(S225)。
VPNルータ107は、受信したユーザ認証結果に「成功」をセットされている場合に、許可処理を行う(S227)。許可処理によって、スマートフォン101からイントラネット109への接続が許可される。例えば、スマートフォン101のIPアドレスが、接続を許可されている装置のリストに登録される。そして、VPNルータ107は、スマートフォン101へユーザ認証結果を送信する(S229)。
「成功」がセットされているユーザ認証結果を受信すると、スマートフォン101はイントラネット109に含まれる装置との通信準備が整ったことになる。
他方、VPNルータ107は、受信したユーザ認証結果に「失敗」がセットされている場合に、スマートフォン101による接続要求を拒否する。
前述の通り、ユーザ認証に代えて、端末認証を行うシーケンスとしてもよい。あるいは、ユーザ認証と端末認証とを行うシーケンスとしてもよい。以上で、通信制御シーケンスについての説明を終える。
次に、スマートフォン101のハードウエア構成について説明する。図3に、スマートフォン101のハードウエア構成例を示す。スマートフォン101に含まれるプロセッサ301は、セキュアゾーン303及びノンセキュアゾーン305を有している。セキュアゾーン303は、外部からの不正アクセスを受け付けないためのハード的な仕組みを備えている。つまり、セキュアゾーン303はハッキングされる恐れがなく、信頼性の高い演算処理部である。後述するように、セキュアゾーン303においてMAC値の算出や読み取りプログラムの監視等の処理が実行される。
ノンセキュアゾーン305は、通常の演算処理部である。例えば、オペレーティングシステムプログラムによる処理や通常のアプリケーションプログラムによる処理は、ノンセキュアゾーン305において実行される。
セキュアゾーン303は、セキュアゾーン用ROM307及びセキュアゾーン用RAM(Random Access Memory)309と接続している。セキュアゾーン用ROM307は、ノンセキュアゾーン305とは接続されていない。従って、セキュアゾーン用ROM307に記憶されているデータが、ノンセキュアゾーン305から読み取られる恐れはない。セキュアゾーン用ROM307には、例えば、暗号化MAC用鍵を復号するための共有鍵や読み取りプログラムのハッシュ値が格納されている。尚、セキュアゾーン用ROM307には、例えばFUSEメモリのような、1回限りの書き込み機能を有する不揮発性メモリが用いられる。
セキュアゾーン用RAM309は、セキュアゾーン303において実行されるプログラムや当該プログラムで用いるデータを記憶するために用いられる。セキュアゾーン用RAM309には、書き換え機能を有する揮発性メモリが用いられる。
ノンセキュアゾーン305は、ブート用ROM311、フラッシュメモリ313及びノンセキュアゾーン用RAM315と接続している。ブート用ROM311には、プライマリーブートローダーが格納されている。フラッシュメモリ313は、書き換え機能を有する不揮発性メモリである。
フラッシュメモリ313に記憶されているプログラム及びデータについて説明する。図4に、フラッシュメモリ313における記憶状態の例を示す。フラッシュメモリ313には、スマートフォン101がステータスの認証を受けるためのステータス被認証プログラム401が格納されている。ステータス被認証プログラム401は、出力プログラム407、受信プログラム409、読み取りプログラム411及び送信プログラム413を含んでいる。出力プログラム407は、後述する出力部511(図5)を実現するためのプログラムである。受信プログラム409は、後述する受信部513(図5)を実現するためのプログラムである。読み取りプログラム411は、後述する読み取り部515(図5)を実現するためのプログラムである。送信プログラム413は、後述する送信部517(図5)を実現するためのプログラムである。
ステータス被認証プログラム401は、他のセキュアブート対象のプログラム403群とともに、セキュアブート対象405に含まれる。この図では、ステータス被認証プログラム401を含むセキュアブート対象のプログラム403群が存在することを示すために、便宜的にセキュアブート対象405を破線の囲みで示したが、セキュアブート対象405の領域が管理されているとは限らない。
セキュアブート対象405に含まれるプログラム群は、セキュアブート処理によってデジタル署名を確認した上でロードされる。セキュアブート処理は、例えばブート用ROM311から読み出されるプライマリーブートローダー、あるいはプライマリーブートローダーによって読み出される別のブートローダーによって実行される。プログラムが改ざんされている場合には、そのプログラムはロードされない。従って、セキュアブート処理によってロードされたプログラムは、改ざんされていないことが保証される。
この図では、セキュアブート対象405以外のプログラムやデータが存在することを示すために、便宜的にセキュアブート対象外421を破線の囲みで示したが、セキュアブート対象外421の領域が管理されているとは限らない。
フラッシュメモリ313は、ROMデータ423を記憶している。ROMデータ423には、スマートフォン101の基礎的な動作を行うためのプログラムやデータが含まれている。例えば、オペレーティングシステムプログラム427が含まれている。また、ROMデータ423は、ROMデータ423のバージョンを識別するためのバージョンデータ425に対応付けられている。尚、オペレーティングシステムプログラム427も命令コードの集合であるという観点から、データの一形態である。
スマートフォン101が製造元からリリースされる時点で、初期のROMデータ423とそのROMデータ423を識別するバージョンデータ425が格納されている。また、その後ROMデータ423がバージョンアップされることもある。その場合には、新たなROMデータ423とそのROMデータ423を識別するバージョンデータ425に更新される。ROMデータ423とバージョンデータ425は、セキュアブート対象外421に相当する。
ユーザエリア429も、セキュアブート対象外421に相当する。ユーザエリア429は、アプリケーションプログラム431及びアプリケーションデータ433などを格納するために用いられる。ユーザエリア429は、例えばオペレーティングシステムにおけるファイルシステムによって管理される。アプリケーションプログラム431及びアプリケーションデータ433は、仮に改ざんされても、そのことがオペレーティングシステムによって検出されない場合もある。以上で、フラッシュメモリ313に格納されているプログラム及びデータについての説明を終える。
図3の説明に戻る。ノンセキュアゾーン用RAM315は、ノンセキュアゾーン305で実行されるプログラム(例えば、オペレーティングシステムプログラムやアプリケーションプログラム)及びデータを保持する主記憶領域として用いられる。
セキュアゾーン303は、ノンセキュアゾーン305と接続している。ノンセキュアゾーン305で実行されるプログラムがセキュアゾーン303による認証を受けた場合には、ノンセキュアゾーン305からセキュアゾーン303へデータが転送される場合もある。また、セキュアゾーン303が動作するときには、ノンセキュアゾーン305による動作は停止するように制御される。
スマートフォン101は、更に、無線制御部317、アンテナ319、ディスプレイ321、タッチパッド323、キー群325、オーディオ制御部327、スピーカ329及びマイク331を有している。無線制御部317は、移動体通信システム103との無線通信の制御を行う。無線通信の制御により、例えばデータ通信が行われる。アンテナ319は、例えば、セルラー方式、無線LAN(Local Area Network)、あるいは近距離通信方式などによる電波を受信する。ディスプレイ321は、各種の画面を表示する。タッチパッド323は、ディスプレイ321上に配置されたパネル状のセンサであり、タッチ操作による指示を受け付ける。キー群325は、スマートフォン101の筐体の一部に設けられている。オーディオ制御部327は、音データに関するアナログ/デジタル変換とデジタル/アナログ変換とを行う。スピーカ329は、アナログデータを音として出力する。マイク331は、音をアナログデータに変換する。以上で、スマートフォン101のハードウエア構成についての説明を終える。
次に、スマートフォン101におけるステータス被認証部501のモジュール構成について説明する。図5に、スマートフォン101におけるステータス被認証部501のモジュール構成例を示す。ステータス被認証部501は、スマートフォン101自身のステータスについて認証を受けるためのステータス被認証処理を行う。ステータス被認証部501は、ノンセキュアゾーン305で実現されるモジュール503とセキュアゾーン303で実現されるモジュール505とを含んでいる。
ノンセキュアゾーン305で実現されるモジュール503には、出力部511、受信部513、読み取り部515、送信部517及び受付部519が含まれている。出力部511は、許可画面あるいはエラー画面などをディスプレイ321に表示させる。受信部513は、移動体通信システム103を介して、暗号化MAC用鍵(図2のS209)、ステータス認証結果(図2のS215)及びユーザ認証結果(図2のS229)などを受信する。読み取り部515は、フラッシュメモリ313からバージョンデータ425及びROMデータ423を読み取る。送信部517は、移動体通信システム103を介して、ステータス認証要求(図2のS203)、バージョンデータと被認証側のMAC値(図2のS211)、更にユーザ認証要求(図2のS219)などを送信する。受付部519は、ユーザID及びパスワードを受け付ける。
セキュアブート処理によってノンセキュアゾーン用RAM315にロードされ、且つ常駐するステータス被認証プログラム401に含まれる命令コードが、ノンセキュアゾーン305に順次読み込まれ実行されることによって、上述のモジュール503は実現される。
セキュアゾーン303で実現されるモジュール505は、セキュアゾーン303がセキュアゾーン用RAM309からプログラムに含まれる命令コードを順次読込み、実行することによって実現される。
セキュアゾーン303で実現されるモジュール505には、監視部521、判定部523、復号部525及び算出部527が含まれている。監視部521は、ノンセキュアゾーン用RAM315にロードされている読み取りプログラム411の改変を監視する。判定部523は、ステータス認証結果及びユーザ認証結果を判定する。復号部525は、暗号化MAC用鍵を復号する。算出部527は、MAC値を算出する。
更に、ステータス被認証部501は、ハッシュ値記憶部531及び共有鍵記憶部533を有している。ハッシュ値記憶部531及び共有鍵記憶部533は、セキュアゾーン用ROM307に設けられている。ハッシュ値記憶部531は、正規の読み取りプログラム411から算出されたハッシュ値を予め記憶している。このハッシュ値は、ノンセキュアゾーン用RAM315にロードされている読み取りプログラム411の改変を監視するために用いられる。共有鍵記憶部533は、予め共有鍵を記憶している。この共有鍵は、暗号化MAC用鍵(図2のS209)を復号するために用いられる。尚、通信制御システムに含まれる正規のスマートフォン101は同じ共有鍵を有している。以上で、スマートフォン101におけるステータス被認証部501のモジュール構成についての説明を終える。
次に、ステータス認証サーバ111におけるステータス認証部601のモジュール構成について説明する。図6に、ステータス認証サーバ111におけるステータス認証部601のモジュール構成例を示す。
ステータス認証部601は、受信部603、生成部605、暗号化部607、共有鍵記憶部609、送信部611、特定部613、ROMデータ記憶部615、算出部617及び判定部619を有している。受信部603、生成部605、暗号化部607、共有鍵記憶部609、送信部611、特定部613、ROMデータ記憶部615、算出部617及び判定部619は、例えば図19を用いて後述するハードウエア資源によって実現される。また、受信部603、生成部605、暗号化部607、送信部611、特定部613、算出部617及び判定部619は、当該モジュールの処理の一部又は全部を、図19に示すメモリ2501にロードされたプログラムをCPU(Central Processing Unit)2503で順次実行することにより実現するようにしてもよい。
受信部603は、ステータス認証要求(図2のS205)、バージョンデータと被認証側のMAC値(図2のS211)などを受信する。生成部605は、MAC用鍵を生成する。暗号化部607は、MAC用鍵を暗号化する。
共有鍵記憶部609は、共有鍵を記憶する。共有鍵は、MAC鍵を暗号化する際に用いられる。この例では、通信制御システムに含まれる正規のスマートフォン101が保持する共有鍵は、ステータス認証サーバ111で保持している共有鍵と同一である。
但し、ステータス認証サーバ111で保持する暗号鍵で暗号化したMAC用鍵を、スマートフォン101で保持する復号鍵で復号する形態に適応していれば、共有鍵に相当するスマートフォン101で保持する暗号鍵とステータス認証サーバ111で保持する復号鍵は、同一でなくてもよい。
送信部611は、例えば、暗号化MAC用鍵(図2のS209)及びステータス認証結果(図2のS213)などを送信する。特定部613は、バージョンデータに対応するROMデータを特定する。ROMデータ記憶部615は、スマートフォン101で保持しているROMデータを予め記憶している。
次に、ROMデータ記憶部615における記憶状態について説明する。図7に、ROMデータ記憶部615における記憶状態の例を示す。ROMデータ記憶部615は、ROMデータのバージョンを識別するためのバージョンデータに対応付けて、ROMデータを記憶している。ROMデータには、例えば、オペレーティングシステムプログラムが含まれている。その他に、スマートフォン101の動作に用いられる設定データなどを、ROMデータに含めるようにしてもよい。
例えば、スマートフォン101がリリースされた後に、オペレーティングシステムプログラムがバージョンアップされると、スマートフォン101のROMデータが更新されるとともに、ROMデータ記憶部615に新たなROMデーが追加される。
この例では、「Ver1」のバージョンに相当する「ROMデータ Ver1」が記憶されている。「ROMデータ Ver1」には、「オペレーティングシステムプログラム Ver1」が含まれている。このデータは、リリース時のデータである。
また、その後のバージョンアップによって追加されたデータも記憶されている。「Ver2」のバージョンに相当する「ROMデータ Ver2」が記憶されている。「ROMデータ Ver2」には、「オペレーティングシステムプログラム Ver2」が含まれている。
更に、「Ver3」のバージョンに相当する「ROMデータ Ver3」が記憶されている。「ROMデータ Ver3」には、「オペレーティングシステムプログラム Ver3」が含まれている。従って、Ver1乃至Ver3のいずれにも対応することができる。以上で、ROMデータ記憶部615における記憶状態についての説明を終える。
図6の説明に戻って、算出部617は、MAC値を算出する。判定部619は、ステータス認証結果をセットするための判定を行う。以上で、ステータス認証サーバ111におけるステータス認証部601のモジュール構成についての説明を終える。
以下、通信制御システムにおける処理について詳述する。まず、スマートフォン101における監視処理について説明する。図8に、スマートフォン101における監視処理フローの例を示す。監視部521は、以下のように、ノンセキュアゾーン用RAM315にロードされている読み取りプログラム411の改変を監視する。
監視部521は、所定の間隔で監視動作を繰り返す。その為、監視部521は、所定のタイミングを待つ(S801)。
所定のタイミングに至ると、監視部521は、ノンセキュアゾーン用RAM315にロードされている読み取りプログラム411を読み込み(S803)、読み取りプログラム411のハッシュ値を算出する(S805)。監視部521は、算出されたハッシュ値が正当であるか否かを判定する(S807)。具体的には、監視部521は、予めハッシュ値記憶部531に記憶されている正規の読み取りプログラム411におけるハッシュ値を読み込む。そして、監視部521は、算出されたハッシュ値と正規の読み取りプログラム411におけるハッシュ値とを比較する。算出されたハッシュ値と正規の読み取りプログラム411におけるハッシュ値とが一致する場合には、監視部521は、算出されたハッシュ値が正当であると判定する。算出されたハッシュ値と正規の読み取りプログラム411におけるハッシュ値とが一致しない場合には、監視部521は、算出されたハッシュ値が正当でないと判定する。
算出されたハッシュ値が正当であると判定した場合には、監視部521は、S801において再び所定のタイミングを待ち、S803以降の処理を繰り返す。
一方、算出されたハッシュ値が正当でないと判定した場合には、ノンセキュアゾーン用RAM315にロードされている読み取りプログラム411が改変されていることになる。そのため、出力部511は、例えば、ノンセキュアゾーン用RAM315にロードされている読み取りプログラム411が改変されている旨の表記を含むエラー画面を出力する(S809)。また、スマートフォン101はハッキングされている可能性があるので、ステータス被認証部501は、以降のステータス被認証処理(S201)を禁止する(S811)。そして、監視処理はエラーによって終了する。以上で、スマートフォン101における監視処理についての説明を終える。
次に、スマートフォン101におけるステータス被認証処理(S201)について説明する。図9に、スマートフォン101におけるステータス被認証処理フローの例を示す。ステータス被認証部501は、以下に示すステータス被認証処理を行う。
スマートフォン101がイントラネット109に接続しようとする場合に、送信部517は、VPNルータ107にステータス認証要求(図2のS203)を送信する(S901)。
ノンセキュアゾーン305側の受信部513は、ステータス認証サーバ111から暗号化MAC用鍵(図2のS209)を受信する(S903)。受信した暗号化MAC用鍵は、ノンセキュアゾーン305からセキュアゾーン303に転送される。
セキュアゾーン303側の復号部525は、転送された暗号化MAC用鍵を、共有鍵記憶部533に予め記憶されている共有鍵を用いて復号する(S905)。S905の復号処理によって、MAC用鍵が得られる。
ノンセキュアゾーン305側の読み取り部515は、フラッシュメモリ313からバージョンデータ425及びROMデータ423を読み取る(S907)。読み取られたROMデータ423は、ノンセキュアゾーン305からセキュアゾーン303に転送される。
セキュアゾーン303側の算出部527は、MAC用鍵を用いて、転送されたROMデータ423のMAC値を算出する(S909)。以降の説明で、このMAC値は被認証側のMAC値と呼ばれる。被認証側のMAC値は、セキュアゾーン303からノンセキュアゾーン305に転送される。
ノンセキュアゾーン305側の送信部517は、バージョンデータ及び被認証側のMAC値(図2のS211)をステータス認証サーバ111に送信する(S911)。
ここで、ステータス認証サーバ111におけるステータス認証処理について説明する。図10に、ステータス認証サーバ111におけるステータス認証処理フローの例を示す。ステータス認証部601は、以下に示すステータス認証処理を行う。
受信部603は、VPNルータ107からステータス認証要求(図2のS205)を受信する(S1001)。生成部605は、乱数算出ロジックに従ってMAC用鍵を生成する(S1003)。ステータス認証要求を受信する度に、新しい乱数値がMAC用鍵に用いられるので、仮にMAC用鍵が流出したとしても、流出したMAC用鍵が再利用されることによる成り済ましは生じない。
暗号化部607は、共有鍵記憶部609に記憶されている共有鍵を用いてMAC用鍵を暗号化する(S1005)。以降、暗号化されたMAC用鍵を暗号化MAC用鍵と呼ぶ。
送信部611は、暗号化MAC用鍵(図2のS209)をスマートフォン101に送信する(S1007)。
受信部603は、スマートフォン101からバージョンデータ及び被認証側のMAC値(図2のS211)を受信する(S1009)。特定部613は、ROMデータ記憶部615でバージョンデータに対応付けられているROMデータを特定する(S1011)。以降、特定されたROMデータを認証側のROMデータと呼ぶ。
算出部617は、S1003で生成したMAC用鍵を用いて、認証側のROMデータにおけるMAC値を算出する(S1013)。算出されたMAC値を、認証側のMAC値と呼ぶ。判定部619は、被認証側のMAC値と認証側のMAC値とが一致するか否かを判定する。(S1015)。
被認証側のMAC値と認証側のMAC値とが一致すると判定した場合には、判定部619は、ステータス認証結果に「成功」とセットする(S1017)。そして、送信部611は、「成功」とセットされたステータス認証結果(図2のS213)をVPNルータ107に送信する(S1019)。
他方、被認証側のMAC値と認証側のMAC値とが一致しないと判定した場合には、スマートフォン101のROMデータ423が改変されていることになる。従って、判定部619は、ステータス認証結果に「失敗」とセットする(S1021)。そして、送信部611は、「失敗」とセットされたステータス認証結果をVPNルータ107に送信する(S1019)。以上で、ステータス認証サーバ111におけるステータス認証処理(S207)についての説明を終える。
図9に示したスマートフォン101におけるステータス被認証処理(S201)の説明に戻る。ステータス認証サーバ111におけるステータス認証処理(図2のS207)が終了すると、受信部513は、VPNルータ107からステータス認証結果(図2のS215)を受信する(S913)。
判定部523は、ステータス認証結果が「成功」であるか否かを判定する(S915)。ステータス認証結果が「成功」ではないと判定した場合、つまりステータス認証結果が「失敗」であると判定した場合には、出力部511は、ステータスの認証に失敗した旨の表記を含むエラー画面を出力する(S917)。スマートフォン101はハッキングされている可能性があるので、ステータス被認証部501は、以降のステータス被認証処理(S201)を禁止する(S919)。そして、ステータス被認証処理はエラーによって終了する。
他方、ステータス認証結果が「成功」であると判定した場合には、ステータス被認証処理(S201)を終え、端子Aを介して図11の処理に移る。
図11は、ユーザ被認証処理(図のS217)のフローを示している。受付部519は、ディスプレイ321にユーザID及びパスワードの入力を促す画面を表示させ、タッチパッド323に対するユーザ操作によって入力されたユーザID及びパスワードを受け付ける(S1101)。送信部517は、ユーザID及びパスワードを含むユーザ認証要求(図2のS219)を、VPNルータ107に送信する(S1103)。
受信部513は、VPNルータ107からユーザ認証結果(図2のS229)を受信する(S1105)。判定部523は、ユーザ認証結果が「成功」であるか否かを判定する(S1107)。
ユーザ認証結果が「成功」であると判定した場合には、出力部511は、イントラネット109への接続が許可された旨のメッセージを表示した許可画面を出力する(S1109)。ユーザ認証結果が「成功」ではないと判定した場合、つまり、ユーザ認証結果が「失敗」であると判定した場合には、出力部511は、イントラネット109への接続が拒否された旨のメッセージを表示したエラー画面を出力する(S1111)。そして、スマートフォン101におけるユーザ被認証処理を終える。以上で、通信制御システムにおける処理の説明を終える。
ROMデータの特徴を表す特徴データの例として、MAC値を用いる形態について説明した。但し、ROMデータの特徴を表す特徴データとして、ハッシュ値や署名データなど他の値を用いるようにしてもよい。
本実施の形態によれば、スマートフォン101において、フラッシュメモリ313からROMデータを読み取るための読み取りプログラム411をセキュアブート処理によって保障し、更にステータス認証サーバ111におけるステータス認証の基礎となるMAC値を算出する処理をセキュアゾーン303における実行によって保全するので、フラッシュメモリ313におけるROMデータの改ざんを隠蔽しようとするステータス偽装を防ぐことができる。
更に、ノンセキュアゾーン用RAM315にロードされている読み取りプログラム411を書き換えて、不正な動作をさせようとする攻撃を排除できる。また、読み取りプログラム411の改変を監視するための処理をセキュアゾーン303における実行によって保全するので、当該監視に対する妨害も排除できる。
更に、ROMデータに対する偽のバージョンアップを装い、スマートフォン101のフラッシュメモリ313におけるROMデータの改ざんを隠蔽しようとするステータス偽装を防ぐことができる。
[実施の形態2]
本実施の形態では、スマートフォン101の機種に対応する例について説明する。
まず、スマートフォン101における処理について説明する。図9のS911で、送信部517は、バージョンデータと被認証側のMAC値(図2のS211)とともに、自らの機種IDをステータス認証サーバ111に送信する。
次に、ステータス認証サーバ111における処理について説明する。図10のS1009で、受信部603は、バージョンデータと被認証側のMAC値(図2のS211)とともに、機種IDを受信する。
本実施の形態では、ステータス認証サーバ111のROMデータ記憶部615において、機種ID毎にバージョンデータとROMデータを対応付けて記憶する。図12に、実施の形態2に係るROMデータ記憶部615における記憶状態の例を示す。
この例では、オペレーティングシステムプログラムAを用いる機種Aと、オペレーティングシステムプログラムBを用いる機種Bとに関するROMデータを記憶している。
機種Aについて、「Ver1」のバージョンに相当する「ROMデータ Ver1」と、「Ver2」のバージョンに相当する「ROMデータ Ver2」と、「Ver3」のバージョンに相当する「ROMデータ Ver3」とが記憶されている。
機種Aの「ROMデータ Ver1」は、「オペレーティングシステムプログラムA Ver1」を含んでいる。同様に機種Aの「ROMデータ Ver2」は、「オペレーティングシステムプログラムA Ver2」を含んでいる。同様に機種Aの「ROMデータ Ver3」は、「オペレーティングシステムプログラムA Ver3」を含んでいる。
また、機種Bについて、「Ver1」のバージョンに相当する「ROMデータ Ver1」と、「Ver2」のバージョンに相当する「ROMデータ Ver2」と、「Ver3」のバージョンに相当する「ROMデータ Ver3」とが記憶されている。
機種Bの「ROMデータ Ver1」は、「オペレーティングシステムプログラムB Ver1」を含んでいる。同様に機種Bの「ROMデータ Ver2」は、「オペレーティングシステムプログラムB Ver2」を含んでいる。同様に機種Bの「ROMデータ Ver3」は、「オペレーティングシステムプログラムB Ver3」を含んでいる。
各ROMデータは、機種ID及びバージョンデータによって特定されるように対応付けられている。
ステータス認証サーバ111における処理を示した図10のS1011で、特定部613は、機種ID及びバージョンデータに対応する認証側のROMデータを特定する。他の処理については、実施の形態1と同様である。
本実施の形態によれば、機種の異なるスマートフォン101を用いても、それぞれ正しくステータスを検証することができる。
[実施の形態3]
上述した実施の形態では、ステータス認証によって、スマートフォン101のROMデータが改ざんされていないことを確認する例を示したが、本実施の形態では、ステータス認証によって、更にスマートフォン101が不適切なアプリケーションプログラムを保持していないことを確認する例を示す。
まず、本実施の形態に係る通信制御シーケンスについて説明する。図13に、実施の形態3に係る通信制御シーケンスの例を示す。図2と同様に、スマートフォン101はステータス被認証処理(S201)を行い、ステータス認証サーバ111はステータス認証処理(S207)を行う。
S203乃至S209のステップについては、図2の場合と同様である。スマートフォン101は、ROMデータのバージョンを示すバージョンデータとともに、第1MAC値をステータス認証サーバ111へ送信する(S1301)。第1MAC値は、上述した実施の形態におけるMAC値と同様である。後述する第2MAC値と区別するために、第1MAC値と呼ぶ。
スマートフォン101は、アプリケーション一覧データと第2MAC値とをステータス認証サーバ111に送る(S1303)。アプリケーション一覧データは、スマートフォン101で保持しているアプリケーションプログラムのリストである。第2MAC値は、アプリケーション一覧データのMAC値である。
ステータス認証サーバ111におけるステータス認証処理(S207)では、ROMデータの検証に加えて、アプリケーション一覧データの検証を行う。ステータス認証処理(S207)において、不適切なアプリケーションプログラムを検出した場合には、ステータス認証サーバ111はステータス認証結果(S213)に「失敗」とセットする。これにより、スマートフォン101による接続要求は、拒否される。S213以降のステップについては、図2の場合と同様である。以上で、実施の形態3に係る通信制御シーケンスについての説明を終える。
図14に、実施の形態3に係るフラッシュメモリ313における記憶状態の例を示す。ステータス被認証プログラム401は、上述した実施の形態で示したプログラム群に加えて、取得プログラム1401を有する。取得プログラム1401には、後述する取得部を実現するためのプログラムである。
図15に、実施の形態3に係るステータス被認証部501のモジュール構成例を示す。ノンセキュアゾーンで実現されるモジュール503は、取得部1501を有する。取得部1501は、アプリケーション一覧データを取得する。
また、セキュアゾーン用ROM307は、ハッシュ値記憶部531に代えて第1ハッシュ値記憶部1511及び第2ハッシュ値記憶部1513を有する。第1ハッシュ値記憶部1511は、正規の読み取りプログラム411から算出されたハッシュ値を予め記憶している。この第1ハッシュ値は、ノンセキュアゾーン用RAM315にロードされている読み取りプログラム411の改変を監視するために用いられる。つまり、本実施の形態における第1ハッシュ値は、上述した実施の形態におけるハッシュ値と同様である。後述する第2ハッシュ値と区別するために、第1ハッシュ値と呼ぶ。
第2ハッシュ値記憶部1513は、正規の取得プログラム1401から算出された第2ハッシュ値を予め記憶している。この第2ハッシュ値は、ノンセキュアゾーン用RAM315にロードされている取得プログラム1401の改変を監視するために用いられる。以上で、実施の形態3に係るステータス被認証部501のモジュール構成についての説明を終える。
次に、本実施の形態に係る監視処理について説明する。本実施の形態に係る監視処理では、読み取りプログラム411の改変を監視するとともに、取得プログラム1401の改変も監視する。
図16に、実施の形態3に係る監視処理フローの例を示す。図8の場合と同様に、監視部521は、所定のタイミングを待ち(S801)、ノンセキュアゾーン用RAM315にロードされている読み取りプログラム411を読み込む(S803)。
監視部521は、読み取りプログラム411のハッシュ値(第1ハッシュ値)を算出する(S1601)。監視部521は、算出された第1ハッシュ値が正当であるか否かを判定する(S1603)。具体的には、監視部521は、第1ハッシュ値記憶部1511に予め記憶されている正規の第1ハッシュ値を読み込む。そして、監視部521は、算出された第1ハッシュ値と正規の第1ハッシュ値とを比較する。算出された第1ハッシュ値と正規の第1ハッシュ値とが一致する場合には、監視部521は、算出された第1ハッシュ値が正当であると判定する。算出された第1ハッシュ値と正規の第1ハッシュ値とが一致しない場合には、監視部521は、算出された第1ハッシュ値が正当でないと判定する。これらS1601及びS1603の処理は、ハッシュ値の名称が異なる点を除き、図8に示したS805及びS807の処理と実質的に同様である。
算出された第1ハッシュ値が正当であると判定した場合には、監視部521は、ノンセキュアゾーン用RAM315にロードされている取得プログラム1401を読み込む(S1605)。
監視部521は、取得プログラム1401のハッシュ値(第2ハッシュ値)を算出する(S1607)。監視部521は、算出された第2ハッシュ値が正当であるか否かを判定する(S1609)。
このとき、監視部521は、第2ハッシュ値記憶部1513に予め記憶されている正規の第2ハッシュ値を読み込む。そして、監視部521は、算出された第2ハッシュ値と正規の第2ハッシュ値とを比較する。算出された第2ハッシュ値と正規の第2ハッシュ値とが一致する場合には、監視部521は、算出された第2ハッシュ値が正当であると判定する。算出された第2ハッシュ値と正規の第2ハッシュ値とが一致しない場合には、監視部521は、算出された第2ハッシュ値が正当でないと判定する。
算出された第2ハッシュ値が正当であると判定した場合には、監視部521は、S801において再び所定のタイミングを待ち、S803以降の処理を繰り返す。
一方、算出された第2ハッシュ値が正当でないと判定した場合には、ノンセキュアゾーン用RAM315にロードされている取得プログラム1401が改変されていることになる。そのため、出力部511は、例えば、ノンセキュアゾーン用RAM315にロードされている取得プログラム1401が改変されている旨の表記を含むエラー画面を出力する(S809)。また、スマートフォン101はハッキングされている可能性があるので、ステータス被認証部501は、以降のステータス被認証処理(S201)を禁止する(S811)。
S1603において、算出された第1ハッシュ値が正当でないと判定した場合には、ノンセキュアゾーン用RAM315にロードされている読み取りプログラム411が改変されていることになる。そのため、出力部511は、例えば、ノンセキュアゾーン用RAM315にロードされている読み取りプログラム411が改変されている旨の表記を含むエラー画面を出力する(S809)。また、スマートフォン101はハッキングされている可能性があるので、ステータス被認証部501は、以降のステータス被認証処理(S201)を禁止する(S811)。そして、監視処理はエラーによって終了する。以上で、実施の形態3に係るスマートフォン101における監視処理についての説明を終える。
次に、実施の形態3に係るステータス被認証処理(S201)について説明する。図17A及び図17Bに、実施の形態3に係るステータス被認証処理フローの例を示す。図17Aに示したS901乃至S907の処理は、図9に示したS901乃至S907の処理と同様である。S907において、読み取り部515が、バージョンデータ及びROMデータを読み取ると、端子Bを介して図17Bの処理に移る。
セキュアゾーン303側の算出部527は、MAC用鍵を用いて、転送されたROMデータ423のMAC値を算出する(S1701)。このMAC値は、上述した実施の形態における被認証側のMAC値と同様である。但し、このMAC値は、後述する被認証側の第2MAC値と区別するために、被認証側の第1MAC値と呼ばれる。被認証側の第1MAC値は、セキュアゾーン303からノンセキュアゾーン305に転送される。
ノンセキュアゾーン305側の送信部517は、バージョンデータ及び被認証側の第1MAC値(図13のS1301)をステータス認証サーバ111に送信する(S1703)。
続いて、ノンセキュアゾーン305側の取得部1501は、スマートフォン101で動作しているオペレーティングシステムからアプリケーション一覧データを取得する(S1705)。アプリケーション一覧データは、例えば、スマートフォン101にインストールされているアプリケーションプログラムのリストである。あるいは、アプリケーション一覧データは、例えば、フラッシュメモリ313のユーザエリア429に記憶されているアプリケーションプログラム431のリストである。リストは、例えばアプリケーションプログラムの名称の他に、ファイルサイズや作成又は更新の日時などの情報を含むようにしてもよい。また、アプリケーションプログラム以外のプログラムに関する情報を含むプログラム一覧データを用いるようにしてもよい。アプリケーション一覧データは、ノンセキュアゾーン305からセキュアゾーン303に転送される。
セキュアゾーン303側の算出部527は、MAC用鍵を用いて、取得したアプリケーション一覧データのMAC値を算出する(S1707)。以降、このMAC値を、被認証側の第2MAC値と呼ぶ。被認証側の第2MAC値は、セキュアゾーン303からノンセキュアゾーン305に転送される。
送信部517は、アプリケーション一覧データと被認証側の第2MAC値と(図13のS1303)をステータス認証サーバ111に送信する(S1709)。
S913以降の処理は、図9の場合と同様である。以上で、実施の形態3に係るステータス被認証処理(S201)についての説明を終える。
次に、実施の形態3に係るステータス認証処理(S207)について説明する。図18A及び図18Bに、実施の形態3に係るステータス認証処理フローの例を示す。図18Aに示したS1001乃至S1007の処理は、図10に示したS1001乃至S1007の処理と同様である。
受信部603は、バージョンデータと被認証側の第1MAC値と(図13のS1301)を受信する(S1801)。更に、受信部603は、アプリケーション一覧データと被認証側の第2MAC値と(図13のS1303)を受信する(S1803)。
特定部613は、ROMデータ記憶部615でバージョンデータに対応付けられているROMデータを特定する(S1805)。上述した実施の形態と同様に、このROMデータを認証側のROMデータと呼ぶ。算出部617は、S1003で生成したMAC用鍵を用いて、認証側のROMデータにおけるMAC値を算出する(S1807)。このMAC値を、認証側の第1MAC値と呼ぶ。端子Cを介して図18Bに示した処理に移る。
判定部619は、被認証側の第1MAC値と認証側の第1MAC値とが一致するか否かを判定する(S1809)。
被認証側の第1MAC値と認証側の第1MAC値とが一致しないと判定した場合には、スマートフォン101のROMデータ423が改変されていることになる。従って、判定部619は、ステータス認証結果に「失敗」とセットする(S1811)。そして、送信部611は、「失敗」とセットされたステータス認証結果をVPNルータ107に送信する(S1813)。そして、ステータス認証処理(S207)を終える。
他方、被認証側の第1MAC値と認証側の第1MAC値とが一致すると判定した場合には、算出部617は、S1003で生成したMAC用鍵を用いて、アプリケーション一覧データにおけるMAC値を算出する(S1815)。このMAC値を、認証側の第2MAC値と呼ぶ。
判定部619は、被認証側の第2MAC値と認証側の第2MAC値とが一致するか否かを判定する(S1817)。
被認証側の第2MAC値と認証側の第2MAC値とが一致しないと判定した場合には、スマートフォン101のアプリケーション一覧データが、スマートフォン101からステータス認証サーバ111への伝送中に改変されたことになる。従って、判定部619は、ステータス認証結果に「失敗」とセットする(S1811)。そして、送信部611は、「失敗」とセットされたステータス認証結果をVPNルータ107に送信する(S1813)。そして、ステータス認証処理(S207)を終える。
他方、被認証側の第2MAC値と認証側の第2MAC値とが一致すると判定した場合には、アプリケーション一覧データに所定のアプリケーションプログラム群以外のアプリケーションプログラムが含まれているか否かを判定する(S1819)。
アプリケーション一覧データに所定のアプリケーションプログラム群以外のアプリケーションプログラムが含まれていると判定した場合には、判定部619は、ステータス認証結果に「失敗」とセットする(S1811)。そして、送信部611は、「失敗」とセットされたステータス認証結果をVPNルータ107に送信する(S1813)。そして、ステータス認証処理(S207)を終える。
他方、アプリケーション一覧データに所定のアプリケーションプログラム群以外のアプリケーションプログラムが含まれていないと判定した場合には、判定部619は、ステータス認証結果に「成功」とセットする(S1821)。そして、送信部611は、「成功」とセットされたステータス認証結果(図13のS213)をVPNルータ107に送信する(S1813)。そして、ステータス認証処理(S207)を終える。以上で、実施の形態3に係るユーザ認証処理についての説明を終える。
本実施の形態によれば、スマートフォン101において、アプリケーションプログラム群の一覧データを取得するための取得プログラム1401をセキュアブートによって保障し、更にステータス認証の基礎となる第2MAC値を算出する処理をセキュアゾーンにおける実行によって保全するので、不正プログラムの存在を隠蔽しようとするステータス偽装を防ぐことができる。例えば、会社が指定したアプリケーションプログラム以外のプログラムを、マルウエアかもしれない不正プログラムとみなして排除する。
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上述の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
また、上で説明した各記憶領域の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べたステータス認証サーバ111は、コンピュータ装置であって、図19に示すように、メモリ2501とCPU(Central Processing Unit)2503とハードディスク・ドライブ(HDD:Hard Disk Drive)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本発明の実施の形態をまとめると、以下のようになる。
本実施の形態に係る通信制御システムは、セキュアゾーンを有するプロセッサと不揮発性メモリと揮発性メモリとを有する通信端末装置と、当該通信端末装置と通信を行う認証コンピュータとを有する。また、上記プロセッサは、上記不揮発性メモリに保持されている所定のデータを読み取るためのプログラムを、セキュアブートによって上記揮発性メモリにロードした後、通信端末装置が認証コンピュータを含むネットワークに接続しようとする際に当該プログラムを実行し、更に、セキュアゾーンに上記所定のデータを取り込んで、セキュアゾーンにおいて上記所定のデータの特徴を表す第1特徴データを算出し、第1特徴データを、認証コンピュータに送信するための処理を実行する。また、認証コンピュータは、第1特徴データを受信すると、第1特徴データに基づき通信端末装置におけるステータスを認証する認証部を有する。
このようにすれば、通信端末装置において、不揮発性メモリから所定のデータを読み取るためのプログラムをセキュアブートによって保障し、更にステータス認証の基礎となる第1特徴データを算出する処理をセキュアゾーンにおける実行によって保全するので、不揮発性メモリにおけるデータ改ざんを隠蔽しようとするステータス偽装を防ぐことができる。
また、上記プログラムは、更に、通信端末装置が保持するプログラム群の一覧データを取得するためのプログラムであってもよい。上記プロセッサは、更に、セキュアゾーンに上記一覧データを取り込んで、セキュアゾーンにおいて上記一覧データの特徴を表す第2特徴データを算出するための処理を実行するようにしてもよい。上記プロセッサは、更に、第2特徴データを、認証コンピュータに送信するための処理を実行するようにしてもよい。上記認証部は、更に、第2特徴データに基づき上記ステータスを認証するようにしてもよい。
このようにすれば、通信端末装置において、プログラム群の一覧データを取得するためのプログラムをセキュアブートによって保障し、更にステータス認証の基礎となる第2特徴データを算出する処理をセキュアゾーンにおける実行によって保全するので、不正プログラムの存在を隠蔽しようとするステータス偽装を防ぐことができる。
また、上記プロセッサは、揮発性メモリにロードされているプログラムをセキュアゾーンに取り込んで、セキュアゾーンにおいて上記プログラムの特徴を表す第3特徴データを算出する処理を実行するようにしてもよい。更に、上記プロセッサは、当該第3特徴データに基づき上記プログラムの改変を監視するための処理を実行するようにしてもよい。
このようにすれば、揮発性メモリにロードされているプログラムを書き換えて、不正な動作をさせようとする攻撃を排除できる。また、プログラムの改変を監視するための処理をセキュアゾーンにおける実行によって保全するので、当該監視に対する妨害も排除できる。
本実施の形態に係るコンピュータは、所定のネットワークに含まれ、更に、上記所定のネットワークに接続しようとする通信端末装置から、当該通信端末装置の不揮発性メモリに保持されている所定のデータのバージョンを識別するためのバージョンデータと、当該所定のデータの特徴を表す第1特徴データとを受信する受信部と、バージョンデータに基づき、不揮発性メモリに保持されているべき正規データを特定する特定部と、正規データの特徴を表す第2特徴データを算出する算出部と、第1特徴データと第2特徴データとに基づき、通信端末装置におけるステータスを判定する判定部とを有する。
このようにすれば、不揮発性メモリに保持されている所定のデータに対する偽のバージョンアップを装い、通信端末装置の不揮発性メモリにおけるデータ改ざんを隠蔽しようとするステータス偽装を防ぐことができる。
なお、上で述べた処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納されるようにしてもよい。尚、中間的な処理結果は、一般的にメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
セキュアゾーンを有するプロセッサと不揮発性メモリと揮発性メモリとを有する通信端末装置と、
前記通信端末装置と通信を行う認証コンピュータと、
を有し、
前記プロセッサは、
前記不揮発性メモリに保持されている所定のデータを読み取るためのプログラムを、セキュアブートによって前記揮発性メモリにロードした後、前記通信端末装置が前記認証コンピュータを含むネットワークに接続しようとする際に当該プログラムを実行し、
更に、前記セキュアゾーンに前記所定のデータを取り込んで、前記セキュアゾーンにおいて前記所定のデータの特徴を表す第1特徴データを算出し、
前記第1特徴データを、前記認証コンピュータに送信するための処理を実行し、
前記認証コンピュータは、
前記第1特徴データを受信すると、前記第1特徴データに基づき前記通信端末装置におけるステータスを認証する認証部
を有する通信制御システム。
(付記2)
前記プログラムは、更に、前記通信端末装置が保持するプログラム群の一覧データを取得するためのプログラムであって、
前記プロセッサは、更に、
前記セキュアゾーンに前記一覧データを取り込んで、前記セキュアゾーンにおいて前記一覧データの特徴を表す第2特徴データを算出し、
前記第2特徴データを、前記認証コンピュータに送信するための処理を実行し、
前記認証部は、更に、前記第2特徴データに基づき前記ステータスを認証する
付記1記載の通信制御システム。
(付記3)
前記プロセッサは、
前記揮発性メモリにロードされている前記プログラムを前記セキュアゾーンに取り込んで、前記セキュアゾーンにおいて前記プログラムの特徴を表す第3特徴データを算出し、当該第3特徴データに基づき前記プログラムの改変を監視するための処理を実行する
付記1又は2記載の通信制御システム。
(付記4)
セキュアゾーンを有するプロセッサと不揮発性メモリと揮発性メモリとを有する通信端末装置であって、
前記プロセッサは、
前記不揮発性メモリに保持されている所定のデータを読み取るためのプログラムを、セキュアブートによって前記揮発性メモリにロードした後、所定のネットワークに接続しようとする際に当該プログラムを実行し、
更に、前記セキュアゾーンに前記所定のデータを取り込んで、前記セキュアゾーンにおいて前記所定のデータの特徴を表す特徴データを算出し、
前記特徴データを、前記所定のネットワークに含まれる認証コンピュータに送信するための処理を実行する
通信端末装置。
(付記5)
所定のネットワークに含まれる認証コンピュータであって、
前記所定のネットワークに接続しようとする通信端末装置から、当該通信端末装置の不揮発性メモリに保持されている所定のデータのバージョンを識別するためのバージョンデータと、当該所定のデータの特徴を表す第1特徴データとを受信する受信部と、
前記バージョンデータに基づき、前記不揮発性メモリに保持されているべき正規データを特定する特定部と、
前記正規データの特徴を表す第2特徴データを算出する算出部と、
前記第1特徴データと前記第2特徴データとに基づき、前記通信端末装置におけるステータスを判定する判定部と
を有する認証コンピュータ。
(付記6)
セキュアゾーンを有するプロセッサと不揮発性メモリと揮発性メモリとを有する通信端末装置が所定のネットワークに接続するための通信制御方法であって、
前記プロセッサにおいて、前記不揮発性メモリに保持されている所定のデータを読み取るためのプログラムを、セキュアブートによって前記揮発性メモリにロードした後、前記通信端末装置が前記所定のネットワークに接続しようとする際に当該プログラムを実行し、
更に、前記セキュアゾーンに前記所定のデータを取り込んで、前記セキュアゾーンにおいて前記所定のデータの特徴を表す特徴データを算出するための処理を実行し、
前記所定のネットワーク側において、前記特徴データに基づき前記通信端末装置におけるステータスを認証する
処理を含む通信制御方法。
101 スマートフォン 103 移動体通信システム
105 インターネット 107 VPNルータ
109 イントラネット 111 ステータス認証サーバ
113 ユーザ認証サーバ 301 プロセッサ
303 セキュアゾーン 305 ノンセキュアゾーン
307 セキュアゾーン用ROM 309 セキュアゾーン用RAM
311 ブート用ROM 313 フラッシュメモリ
315 ノンセキュアゾーン用RAM 317 無線制御部
319 アンテナ 321 ディスプレイ
323 タッチパッド 325 キー群
327 オーディオ制御部 329 スピーカ
331 マイク 401 ステータス被認証プログラム
403 セキュアブート対象のプログラム 405 セキュアブート対象
407 出力プログラム 409 受信プログラム
411 読み取りプログラム 413 送信プログラム
421 セキュアブート対象外 423 ROMデータ
425 バージョンデータ 427 オペレーティングシステムプログラム
429 ユーザエリア 431 アプリケーションプログラム
433 アプリケーションデータ 501 ステータス被認証部
503 ノンセキュアゾーンで実現されるモジュール
505 セキュアゾーンで実現されるモジュール
511 出力部 513 受信部
515 読み取り部 517 送信部
519 受付部 521 監視部
523 判定部 525 復号部
527 算出部 531 ハッシュ値記憶部
533 共有鍵記憶部 601 ステータス認証部
603 受信部 605 生成部
607 暗号化部 609 共有鍵記憶部
611 送信部 613 特定部
615 ROMデータ記憶部 617 算出部
619 判定部 1401 取得プログラム
1501 取得部 1511 第1ハッシュ値記憶部
1513 第2ハッシュ値記憶部

Claims (6)

  1. セキュアゾーンを有するプロセッサと不揮発性メモリと揮発性メモリとを有する通信端末装置と、
    前記通信端末装置と通信を行う認証コンピュータと、
    を有し、
    前記プロセッサは、
    前記不揮発性メモリに保持されている所定のデータを読み取るためのプログラムを、セキュアブートによって前記揮発性メモリにロードした後、前記通信端末装置が前記認証コンピュータを含むネットワークに接続しようとする際に当該プログラムを実行し、
    更に、前記セキュアゾーンに前記所定のデータを取り込んで、前記セキュアゾーンにおいて前記所定のデータの特徴を表す第1特徴データを算出し、
    前記第1特徴データを、前記認証コンピュータに送信するための処理を実行し、
    前記認証コンピュータは、
    前記第1特徴データを受信すると、前記第1特徴データに基づき前記通信端末装置におけるステータスを認証する認証部
    を有する通信制御システム。
  2. 前記プログラムは、更に、前記通信端末装置が保持するプログラム群の一覧データを取得するためのプログラムであって、
    前記プロセッサは、更に、
    前記セキュアゾーンに前記一覧データを取り込んで、前記セキュアゾーンにおいて前記一覧データの特徴を表す第2特徴データを算出し、
    前記第2特徴データを、前記認証コンピュータに送信するための処理を実行し、
    前記認証部は、更に、前記第2特徴データに基づき前記ステータスを認証する
    請求項1記載の通信制御システム。
  3. 前記プロセッサは、
    前記揮発性メモリにロードされている前記プログラムを前記セキュアゾーンに取り込んで、前記セキュアゾーンにおいて前記プログラムの特徴を表す第3特徴データを算出し、当該第3特徴データに基づき前記プログラムの改変を監視するための処理を実行する
    請求項1又は2記載の通信制御システム。
  4. セキュアゾーンを有するプロセッサと不揮発性メモリと揮発性メモリとを有する通信端末装置であって、
    前記プロセッサは、
    前記不揮発性メモリに保持されている所定のデータを読み取るためのプログラムを、セキュアブートによって前記揮発性メモリにロードした後、所定のネットワークに接続しようとする際に当該プログラムを実行し、
    更に、前記セキュアゾーンに前記所定のデータを取り込んで、前記セキュアゾーンにおいて前記所定のデータの特徴を表す特徴データを算出し、
    前記特徴データを、前記所定のネットワークに含まれる認証コンピュータに送信するための処理を実行する
    通信端末装置。
  5. 所定のネットワークに含まれる認証コンピュータであって、
    前記所定のネットワークに接続しようとする通信端末装置から、当該通信端末装置の不揮発性メモリに保持されている所定のデータのバージョンを識別するためのバージョンデータと、当該所定のデータの特徴を表す第1特徴データとを受信する受信部と、
    前記バージョンデータに基づき、前記不揮発性メモリに保持されているべき正規データを特定する特定部と、
    前記正規データの特徴を表す第2特徴データを算出する算出部と、
    前記第1特徴データと前記第2特徴データとに基づき、前記通信端末装置におけるステータスを判定する判定部と
    を有する認証コンピュータ。
  6. セキュアゾーンを有するプロセッサと不揮発性メモリと揮発性メモリとを有する通信端末装置が所定のネットワークに接続するための通信制御方法であって、
    前記プロセッサにおいて、前記不揮発性メモリに保持されている所定のデータを読み取るためのプログラムを、セキュアブートによって前記揮発性メモリにロードした後、前記通信端末装置が前記所定のネットワークに接続しようとする際に当該プログラムを実行し、
    更に、前記セキュアゾーンに前記所定のデータを取り込んで、前記セキュアゾーンにおいて前記所定のデータの特徴を表す特徴データを算出するための処理を実行し、
    前記所定のネットワーク側において、前記特徴データに基づき前記通信端末装置におけるステータスを認証する
    処理を含む通信制御方法。
JP2013131972A 2013-06-24 2013-06-24 通信制御システム、通信端末装置、認証コンピュータ及び通信制御方法 Pending JP2015007827A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013131972A JP2015007827A (ja) 2013-06-24 2013-06-24 通信制御システム、通信端末装置、認証コンピュータ及び通信制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013131972A JP2015007827A (ja) 2013-06-24 2013-06-24 通信制御システム、通信端末装置、認証コンピュータ及び通信制御方法

Publications (1)

Publication Number Publication Date
JP2015007827A true JP2015007827A (ja) 2015-01-15

Family

ID=52338082

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013131972A Pending JP2015007827A (ja) 2013-06-24 2013-06-24 通信制御システム、通信端末装置、認証コンピュータ及び通信制御方法

Country Status (1)

Country Link
JP (1) JP2015007827A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018014629A (ja) * 2016-07-21 2018-01-25 Kddi株式会社 通信システム、通信装置、通信方法、及びプログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114656A (ja) * 1995-10-19 1997-05-02 Nippon Telegr & Teleph Corp <Ntt> 端末プログラム改ざん検出方法及びシステム
JPH10333902A (ja) * 1997-05-27 1998-12-18 N Ii C Joho Syst:Kk 改ざん検知機能付きコンピュータシステム
JP2004158025A (ja) * 2003-12-17 2004-06-03 Nsi Co Ltd ネットワークシステム、サーバ装置、および認証方法
JP2005309759A (ja) * 2004-04-21 2005-11-04 Nippon Telegr & Teleph Corp <Ntt> 電子データ提供システムと方法およびプログラム
US20050251867A1 (en) * 2004-05-10 2005-11-10 Sastry Manoj R Methods and apparatus for integrity measurement of virtual machine monitor and operating system via secure launch
JP2009043085A (ja) * 2007-08-09 2009-02-26 Nec Corp 改ざん検出システム、改ざん検出方法、無線ネットワーク制御装置及び携帯電話端末
US20090169017A1 (en) * 2007-12-31 2009-07-02 Ned Smith Configuration of virtual trusted platform module
JP2009175923A (ja) * 2008-01-23 2009-08-06 Dainippon Printing Co Ltd プラットフォーム完全性検証システムおよび方法
WO2011152910A1 (en) * 2010-06-02 2011-12-08 Vmware, Inc. Securing customer virtual machines in a multi-tenant cloud

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09114656A (ja) * 1995-10-19 1997-05-02 Nippon Telegr & Teleph Corp <Ntt> 端末プログラム改ざん検出方法及びシステム
JPH10333902A (ja) * 1997-05-27 1998-12-18 N Ii C Joho Syst:Kk 改ざん検知機能付きコンピュータシステム
JP2004158025A (ja) * 2003-12-17 2004-06-03 Nsi Co Ltd ネットワークシステム、サーバ装置、および認証方法
JP2005309759A (ja) * 2004-04-21 2005-11-04 Nippon Telegr & Teleph Corp <Ntt> 電子データ提供システムと方法およびプログラム
US20050251867A1 (en) * 2004-05-10 2005-11-10 Sastry Manoj R Methods and apparatus for integrity measurement of virtual machine monitor and operating system via secure launch
JP2009043085A (ja) * 2007-08-09 2009-02-26 Nec Corp 改ざん検出システム、改ざん検出方法、無線ネットワーク制御装置及び携帯電話端末
US20090169017A1 (en) * 2007-12-31 2009-07-02 Ned Smith Configuration of virtual trusted platform module
JP2009175923A (ja) * 2008-01-23 2009-08-06 Dainippon Printing Co Ltd プラットフォーム完全性検証システムおよび方法
WO2011152910A1 (en) * 2010-06-02 2011-12-08 Vmware, Inc. Securing customer virtual machines in a multi-tenant cloud

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
中道 理: "企業を熱くする最新テクノロジ", 日経コミュニケーション, vol. 第488号, JPN6017002674, 15 June 2007 (2007-06-15), JP, pages 64 - 68, ISSN: 0003619797 *
山市 良: "仮想化テクノロジー・アップデート", COMPUTERWORLD GET TECHNOLOGY RIGHT, vol. 第5巻,第1号, JPN6016028765, 1 January 2008 (2008-01-01), JP, pages 58 - 65, ISSN: 0003619798 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018014629A (ja) * 2016-07-21 2018-01-25 Kddi株式会社 通信システム、通信装置、通信方法、及びプログラム

Similar Documents

Publication Publication Date Title
EP3458999B1 (en) Self-contained cryptographic boot policy validation
CN107408172B (zh) 从用户信任的设备安全地引导计算机
US8560820B2 (en) Single security model in booting a computing device
US10659237B2 (en) System and method for verifying integrity of an electronic device
KR101377359B1 (ko) 보안 엔진 기반 하드웨어를 사용한 안전한 소프트웨어 라이센싱 및 제공 방법
US11042384B2 (en) Managing the customizing of appliances
JP6371919B2 (ja) セキュアなソフトウェアの認証と検証
US20130185564A1 (en) Systems and methods for multi-layered authentication/verification of trusted platform updates
US20090259855A1 (en) Code Image Personalization For A Computing Device
JP2008537224A (ja) 安全な起動方法およびシステム
WO2016019790A1 (zh) 一种安装包的校验方法、客户端、服务器及系统
KR101756692B1 (ko) 다이나믹 보안모듈 단말장치 및 그 구동방법
US20080301466A1 (en) Methods for program verification and apparatuses using the same
TW201415280A (zh) 用於確保連網至雲端運算環境的系統免於惡意程式碼攻擊之方法及服務
US10579830B1 (en) Just-in-time and secure activation of software
JP6387908B2 (ja) 認証システム
JP6756056B2 (ja) 身元検証による暗号チップ
EP3298529B1 (en) Electronic device and method in an electronic device
CN112613011A (zh) U盘系统认证方法、装置、电子设备及存储介质
US11068598B2 (en) Chassis internal device security
KR101711024B1 (ko) 부정조작방지 장치 접근 방법 및 그 방법을 채용한 단말 장치
JP2015007827A (ja) 通信制御システム、通信端末装置、認証コンピュータ及び通信制御方法
KR102078920B1 (ko) 씰링 및 원격 증명을 기반으로 하는 2차 인증 방법 및 시스템
KR20150049571A (ko) 객체검증장치 및 그 무결성인증방법
KR20150053277A (ko) 소프트웨어의 실행을 제어하기 위한 장치 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170815

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180306