(57)【要約】本発明は、スマートフォンでモバイル通信を安全に行う方法及びシステムを提供する。本発明の好適な実施形態において、スマートフォンのマイクロホンを制御するセキュアな方法を提供する。この方法は、電話が待機中にスパイ電話として利用され、音や声を記録することを回避する。一実施形態において、一旦ファームウェアが配置されると、オペレーティングシステムは終了し、アプリの追加又は更新ができないので、スマートフォンは堅牢化される。本発明の一実施形態において、ＧＰＳデータはこれへの権限を与えられていないアクセスを防止するため、安全性が保証される。ＧＰＳデータはオーディオデータと同様にカーネル空間で暗号化されて、それらのアクセスを暗号化された信頼できるアプリに制限することができる。
2017511619.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークと接続可能な通信デバイスによって通信を安全に行う方法であって、前記通信デバイスは、少なくとも１つのユーザ通信アプリケーションと、前記通信デバイスの入力／出力通信を制御し、前記少なくとも１つのユーザ通信アプリケーションと前記通信ネットワークとの間の唯一の考えられるアクセスであるセキュリティカーネルモジュールと、デバイス固有のセキュリティ情報を含むセキュリティコアモジュールと、前記セキュリティカーネルモジュールと接続された複数の入力／出力デバイスとを含み、前記セキュリティコアモジュールと前記セキュリティカーネルモジュールとの間、及び前記少なくとも１つのユーザ通信アプリケーションと前記セキュリティカーネルモジュールとの間の情報交換は全て暗号化され、以下のステップ、すなわち：
‐ 前記セキュリティカーネルモジュールにおいて通信要求を遮断するステップと、
‐ 前記セキュリティカーネルモジュールにおいて、前記通信要求が権限を与えられたソースからのものか、前記セキュリティコアモジュールのセキュリティ情報を確認するステップと、
‐ 権限を与えられたソースの場合、
‐ 前記セキュリティカーネルモジュールにおいて、前記情報を前記少なくとも１つのユーザ通信アプリケーションに送信する前に、前記複数の入力／出力デバイスから受信した任意の情報を暗号化するステップであって、該暗号化は前記セキュリティコアモジュールに格納された鍵に基づいて行うステップと、
‐ 前記セキュリティカーネルモジュールにおいて、前記情報を前記複数の入力／出力デバイスの少なくとも１つに送信する前に、前記少なくとも１つのユーザ通信アプリケーションから受信した任意の情報を復号化するステップと、
‐ 権限を与えられていないソースの場合、緊急セキュリティ手順を行うステップとを含む方法。
【請求項２】
請求項１に記載の方法において、前記セキュリティコアモジュールはハードウェアコンポーネントを含む方法。
【請求項３】
請求項２に記載の方法において、前記セキュリティコアモジュールはスマートカードチップを含む方法。
【請求項４】
請求項１〜３の何れか１項に記載の方法において、前記少なくとも１つのユーザ通信アプリケーションは、音声アプリケーション、データ通信アプリケーション、Ｅメールアプリケーション、連携アプリケーション及びインスタント・メッセージを含む方法。
【請求項５】
請求項１〜４の何れか１項に記載の方法において、前記通信デバイスの任意の入力／出力機能を電話待機中にディセーブルする方法。
【請求項６】
請求項１〜５の何れか１項に記載の方法において、前記緊急手順には、前記少なくとも１つのユーザ通信アプリケーションと前記通信ネットワークとの間の任意の通信を防止するステップが含まれる方法。
【請求項７】
請求項１〜６の何れか１項に記載の方法において、前記緊急手順には、保護されたデータへの権限を与えられていないアクセスを回避するために、選択された情報を消去するステップが含まれる方法。
【請求項８】
請求項１〜７の何れか１項に記載の方法において、前記緊急手順には、前記権限を与えられていないソースにダミーのオーディオサンプルを提供するステップが含まれる方法。
【請求項９】
請求項１〜８の何れか１項に記載の方法において、音声通信要求には、以下、すなわち、着信、前記少なくとも１つのユーザ通信アプリケーションからの、電話をかける、又は前記入力／出力デバイスの中の１つを使うという要求、着信データの伝送、前記通信デバイスと外部通信システムとの間に通信の確立を要求する事象の中の１つ又は複数が含まれる方法。
【請求項１０】
通信ネットワークと接続可能なセキュア通信用の通信デバイスであって、該通信デバイスは、
‐ 少なくとも１つのユーザ通信アプリケーションと、
‐ 前記通信デバイスの任意の入力／出力通信を制御し、前記少なくとも１つのユーザ通信アプリケーションと前記通信ネットワークとの間の唯一の考えられるアクセスであるセキュリティカーネルモジュールと、
‐ デバイス固有のセキュリティ情報を含むセキュリティコアモジュールと、
‐ 前記セキュリティカーネルモジュールと接続された複数の入力／出力デバイスとを含み、
前記セキュリティコアモジュールと前記セキュリティカーネルモジュールとの間、及び前記少なくとも１つのユーザ通信アプリケーションと前記セキュリティカーネルモジュールとの間の情報交換は全て前記セキュリティカーネルモジュールによって暗号化され、任意の通信要求は前記セキュリティカーネルモジュールによって遮断され、前記セキュリティカーネルモジュールは、前記通信要求が権限を与えられたソースからのものか、前記セキュリティコアモジュールのセキュリティ情報を確認し、
‐ 権限を与えられたソースの場合、
‐ 前記セキュリティカーネルモジュールは、前記情報を前記少なくとも１つのユーザアプリケーションに送信する前に、前記複数の入力／出力デバイスから受信した任意の情報を暗号化し、該暗号化は前記セキュリティコアモジュールに格納された鍵に基づいて行われ、
‐ 前記セキュリティカーネルモジュールは、前記情報を前記入力／出力デバイスの中の少なくとも１つに送信する前に、前記少なくとも１つのユーザ通信アプリケーションから受信した任意の情報を復号化し、
‐ 権限を与えられていないソースの場合、緊急セキュリティ手順を行う通信デバイス。
【請求項１１】
請求項１０に記載の通信デバイスにおいて、前記セキュリティコアモジュールはハードウェアコンポーネントを含む通信デバイス。
【請求項１２】
請求項１〜９の何れか一項に記載の方法を行うように構成された１つ又は複数のコンポーネントを含む、セキュア通信のためのスマートフォン。
【請求項１３】
コンピュータプログラムであって、該コンピュータプログラムがコンピュータで実行される場合、請求項１〜９に記載の方法のステップを実行するための命令を含むコンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムが符合化された、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電気通信技術に関し、特に音声及びデータ端子として使用される場合、通信デバイス（例えば、スマートフォン）のセキュリティを向上させる方法及びシステムに関する。
【背景技術】
【０００２】
スマートフォン、すなわち高度な処理能力を持つ携帯電話の普及に伴い、モバイル通信のセキュリティ問題は主要な問題の１つになってきている。スマートフォンの波及的な広がりにより、新しい可能性と共に深刻な脅威がもたらされる。モバイル通信のプライバシーは大きな関心を集めており、これは、暗号化による通信の保護を目的とした多数のアプリケーションによく表れている。基本概念はセキュリティアプリケーションをスマートフォンで動作させることであるが、セキュアなアプリケーションを非セキュアな動作環境で動作させることは、情報の機密性に深刻な課題を提起する。
【０００３】
従来の技術を見てみると、どのセキュアな音声ソリューションも、非セキュアなチャネルでの音声伝送を保護しようとするハイレベルのアプリケーションにいかに頼っているのかがわかる。しかしながら現在のソリューションは全て、脅威が通信チャネルに限定されている間はＯＳ環境が信頼できることを想定している。これは一般にハイレベルのセキュリティドメインにおいては十分良く理解された手法であるが、ハードウェアとソフトウェアのコンポーネントがメーカによって直接制御される場合、スマートフォン環境には当てはまらない。スマートフォンは、スマートフォンがデスクトップ環境の典型的な、ウイルス、トロイの木馬、マルウェアなどの新しいクラスの脅威を導入するというセキュリティ上の問題を生じさせるという意味で、新たな課題を提起する。このように複雑な環境において、攻撃がネットワークのみから来ると想定するのは、あまりにも単純な手法である。本発明では、ＯＳ及びネットワークレベルで、音声とデータの両方の機密性を保護することのできるシステムを提案する。
【０００４】
特許文献１は、コンピュータ又は通信システムに対する暗号化サービスの統合を簡素化するセキュリティカーネルインターフェースを開示しているが、この発明は携帯デバイスから生じる典型的な課題に対処していない。出願人は、暗号化フレームワーク及びそれをカーネルレベルでいかに使用することができるかに加えて、以下の対処が重要であると判断した：
・ ユニット内で鍵をどのように、そしてどこに保存するか；
・ どのようなタイプの鍵管理を実装するか；
・ 携帯デバイス内でセンシティブデータ（すなわち音声サンプル）をいかに攻撃から守るか；
・ 機械内にどのようなタイプのライフサイクルを実装し、これを緊急消去手順とどのように関連付けるか。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】欧州特許出願第0435094号B1
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、従来技術の欠点のいくつかを克服することである。
【課題を解決するための手段】
【０００７】
本発明の第１の態様によれば、通信ネットワークと接続可能な通信デバイスによって通信を安全に行う方法を提供する。この通信デバイスは、少なくとも１つのユーザ通信アプリケーションと、通信デバイスの入力／出力通信を制御し、少なくとも１つのユーザ通信アプリケーションと通信ネットワークとの間の唯一の考えられるアクセスであるセキュリティカーネルモジュールと、デバイス固有のセキュリティ情報を含むセキュリティコアモジュールと、 セキュリティカーネルモジュールと接続された複数の入力／出力デバイスとを含み、セキュリティコアモジュールとセキュリティカーネルモジュールとの間、及び少なくとも１つのユーザ通信アプリケーションとセキュリティカーネルモジュールとの間の情報交換は全て暗号化される。この方法は以下のステップ、すなわち、セキュリティカーネルモジュールにおいて通信要求を遮断するステップと、セキュリティカーネルモジュールにおいて、通信要求が権限を与えられたソースから来たものか、セキュリティコアモジュールのセキュリティ情報を確認するステップと、権限を与えられたソースの場合、セキュリティカーネルモジュールにおいて、情報を少なくとも１つのユーザ通信アプリケーションに送信する前に、複数の入力／出力デバイスから受信した任意の情報を暗号化するステップであって、暗号化はセキュリティコアモジュールに格納された鍵に基づいて行うステップと、セキュリティカーネルモジュールにおいて、複数の入力／出力デバイスの中の少なくとも１つに情報を送信する前に、少なくとも１つのユーザ通信アプリケーションから受信した任意の情報を復号化するステップと、権限を与えられていないソースの場合、緊急セキュリティ手順を行うステップとを含む。
【０００８】
好適な実施形態において、セキュリティコアモジュールはハードウェアによって実装され、好適には、例えばMicroSDカードなどのスマートカードチップを含む。
【０００９】
上述のユーザ通信アプリケーションには、音声アプリケーション、Ｅメールなどのデータ通信アプリケーション、連携アプリケーション、インスタント・メッセージがある。
【００１０】
本発明の実施形態において、スマートフォンの任意の入力／出力機能は、電話待機中ディセーブルされる。
【００１１】
緊急手順はまた、少なくとも１つのユーザ通信アプリケーションと外部ネットワークとの間の任意の通信を防止するステップを含む。更なる実施形態において、緊急手順は、保護されたデータへの権限の与えられていないアクセスを回避するため、センシティブ情報を消去するステップを含む。別の考えられる実施形態において、緊急手順には、権限を与えられていないソースにダミーの音声サンプルを提供するステップが含まれる。
【００１２】
好適には、セキュリティカーネルモジュールの存在は、権限を与えられていないソースによって検出することはできない。
【００１３】
本発明の第２の態様において、通信ネットワークに接続可能なセキュア通信のための通信デバイスを提供する。この通信デバイスは、少なくとも１つのユーザ通信アプリケーションと、通信デバイスの入力／出力通信を制御し、少なくとも１つのユーザ通信アプリケーションと通信ネットワークとの間の唯一の考えられるアクセスであるセキュリティカーネルモジュールと、デバイス固有のセキュリティ情報を含むセキュリティコアモジュールと、セキュリティカーネルモジュールと接続された複数の入力／出力デバイスとを含み、セキュリティコアモジュールとセキュリティカーネルモジュールとの間、及び少なくとも１つのユーザ通信アプリケーションとセキュリティカーネルモジュールとの間の情報交換は全てセキュリティカーネルモジュールによって暗号化され、任意の通信要求はセキュリティカーネルモジュールによって遮断される。セキュリティカーネルモジュールにおいて、通信要求が権限を与えられたソースから来たものか、セキュリティコアモジュールのセキュリティ情報を確認し、権限を与えられたソースの場合、セキュリティカーネルモジュールにおいて、情報を少なくとも１つのユーザ通信アプリケーションに送信する前に、複数の入力／出力デバイスから受信した任意の情報を暗号化し、この暗号化はセキュリティコアモジュールに格納された鍵に基づいて行い、セキュリティカーネルモジュールにおいて、複数の入力／出力デバイスの中の少なくとも１つに情報を送信する前に、少なくとも１つのユーザ通信アプリケーションから受信した任意の情報を復号化し、権限を与えられていないソースの場合、緊急セキュリティ手順を行う。
【００１４】
本発明の別の態様において、上述の方法を実行するように構成された１つ又は複数のコンポーネントを含む、セキュア通信のためのスマートフォンを提供する。
【００１５】
本発明の更に別の態様において、上述の方法を実装するように構成されたコンポーネントを含むデータ処理システムを提供する。
【００１６】
本発明のまた更なる態様は、上述の方法を実行するためのコンピュータプログラムを提供する。
【００１７】
本発明は、制御されたコンテナにセキュリティセンシティブパーツを全て移すことにより、セキュアなアプリが非セキュアな動作環境に接近しないようにし、そのような環境へのアクセスを堅牢化によって制限する方法を提供する。特に音声の暗号化に関しては、暗号化を行う前にセンシティブ情報へのアクセスを回避するのは不可欠である、というのもこれは暗号化によって提供される保護を無効にすることができるからである。本発明の一実施形態において、 セキュリティカーネルは、音声サンプルがオペレーティングシステムから分離され、カーネル空間において直接確実に暗号化されるようにする。本発明の好適な実施形態において、スマートフォンのマイクロホンを制御するセキュアな方法を提供する。この方法は、マイクロホンが待機中に音声を録音するスパイホンとして利用されないようにする。一実施形態においてスマートフォンを堅牢化する、というのも、オペレーティングシステムがクローズされてファームウェアが設置されると、アプリケーションの追加や更新を行うことができなくなるからである。本発明の一実施形態において、ＧＰＳデータを保護してこれへの不正アクセスを防止する。ＧＰＳデータは音声データと同様にカーネル空間で暗号化し、それらのアクセスを暗号化によって信頼できるアプリケーションのみに制限することができる。
【００１８】
本発明の更なる実施形態を添付の従属請求項に記載する。
【００１９】
本発明並びに本発明の更なる特徴及び利点は、非制限的な表示のみによって与えられる下記の詳細な説明を添付の図面と併せて参照することにより、最もよく理解することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の好適な実施形態による方法を実装するシステムの略ブロック図である。
【図２】本発明の好適な実施形態で使用される汎用コンピュータシステムのコンポーネントを示す図である。
【図３】主要ソフトウェアコンポーネントを含む、本発明の考えられる実装を略的に示す図である。
【図４】本発明の好適な実施形態によるセキュリティカーネルモジュールの考えられる状態を示す、有限状態機械（Finite State Machine：ＦＳＭ）の略図である。
【図５】本発明の実施形態で使用されるプロトコルデータの略図である。
【図６】本発明の考えられる特定のセキュア通信の実装を、ソフトウェアモジュールとハードウェアモジュールとの間の相互作用と共に示した略図である。
【図７】本方法の例示的な実装に関するアクティビティを示すフローチャートである。
【発明を実施するための形態】
【００２１】
本発明の好適な実施形態によるシステムを、図１を参照して説明する。ここで説明する実施形態では、システム１００をスマートフォンに実装する。より一般的には、音声通信機能とデータ処理能力とを有する任意の通信システムに実装することができる。システムによって簡単な通信及び使用が保証され、一方で、マルウェアアプリケーション及びいくつかのより精巧な脅威からの攻撃に対する高められた免疫を取得することができる。具体的に、主な目的は、呼び出し及び待機状態のいずれの場合においても音声チャネルの捕捉を保護することである。従来、アプリケーションベースの音声暗号化ソリューションは、現代のモバイルオペレーティングシステムの複雑性を考えると、音声チャネルの保護が非常に困難であるという現状に苦しんでいる。
【００２２】
図１に示す様に、セキュリティカーネルモジュール１０１は、システムのセキュリティセンシティブサブシステム及びリソースを全て監視する。セキュリティカーネルモジュールの管理下におけるシステムへのアクセスは、強力な認証メカニズムを通してのみ、アプリケーションから取得することができる。本発明の好適な実施形態において、セキュリティカーネルモジュール１０１はオペレーティングシステムカーネル１０３に埋め込まれている。
【００２３】
本発明の好適な実施形態において、セキュリティカーネルモジュール１０１は、スマートフォンプラットフォームの音声ソース及び出力の完全な制御を維持する。これらのデバイスは、限定された所定の状況においてのみ、セキュリティカーネルモジュール１０１によってアクティブにすることができる。これらの状況には、例えば以下、すなわち、
‐例えば２Ｇ／３Ｇ／４Ｇチャネルを使った、平文の音声コール要求；及び
‐データチャネルでの暗号化音声コールがある。
【００２４】
待機中又はスマートフォンが上述のアクティビティの内の１つを行わない度に、音声源を好適にはＯＦＦにしておく。
【００２５】
セキュリティカーネルモジュール１０１は音声経路を完全に制御しなければならない。これは記録ストリーム及び再生ストリームにも当てはまる。セキュリティカーネルモジュール１０１は、音声へのアクセスを取得する必要のある全てのコンポーネントのために厳格なセキュリティメカニズム（強制アクセス制御（Mandatory Access Control：ＭＡＣと称する）を実装して、音声データへの全てのアクセスの制御と監視を行う。セキュリティカーネルモジュール１０１音声サンプルは、セキュリティカーネルによって認証されたアプリケーションによってのみ処理される。
【００２６】
考えられる追加機能として、セキュリティカーネルモジュール１０１で認証されないアプリケーションはダミーの音声サンプルを受信する。反対に、システム（プレイアウト）に書き込まれた音声サンプルは全てドロップされる。理想的に、セキュリティカーネルモジュール１０１で認証されないアプリケーションは、セキュリティカーネルモジュール１０１の存在を検出できない。
【００２７】
好適な実施形態において、オペレーティングシステムカーネルモジュールは全て暗号化して署名される。署名確認はセキュリティカーネルモジュール１０１によって、モジュールが実際システムに接続される前に行われる。主要材料、アルゴリズム及びメカニズムは、セキュリティコア（ＳＣ）と称される専用のハードウェア暗号化モジュール１０５に格納することができる。ＳＣ１０５へのアクセスはセキュリティカーネルモジュール１０１によってのみ要求され、実行されることができる。ＳＣ１０５で動作を行う必要のあるその他のモジュールは全て、先ずセキュリティカーネルモジュール１０１で認証し、後でセキュリティカーネルモジュール１０１に対する動作を要求する。セキュリティカーネルモジュール１０１はプロキシとして機能し、全てのリクエストをＳＣ１０５に転送する。本例において、セキュリティコア１０５には、MicroSDカードフォームファクタを提供する専用のスマートカードチップが実装される。以下MicroSCと称する。このMicroSCカードはＳＣに求められる全ての関連セキュリティ機能を実装するために使用される。
【００２８】
しかしながら、当業者であればその他の実装も可能であることを理解するだろう。例えば、Bluetooth型トークン又は近接場型通信デバイスなどの外部トークンを使用することができる。別の考えられる実装は、専用のＵＳＢトークンを使って取得することができる。ＳＣ１０５の必要な機能は、選択されたデバイスが、公開される暗号化環境保全秘密鍵とアルゴリズムのパラメータの完全性を保証することができることである。
【００２９】
アプリケーションとセキュリティカーネルモジュール１０１との間の通信は全て暗号化で行われる。本発明の好適な実施形態において、機密性と完全性を提供するために、専用セキュリティプロトコルが使用される。 音声暗号化は最低限の抽象レベルで行わなければならない。理想的には、音声暗号化はセキュリティカーネルモジュール１０１の拡張として実装され、セキュリティカーネルモジュール１０１の外周以内にクリア音声パルス符合変調（Pulsed Code Modulation：ＰＣＭ）は全て保たれる。セキュア音声に対応するアプリケーションはセキュリティカーネルモジュール１０１と相互作用し、この暗号化プロセスの結果を受信する。
【００３０】
セキュリティカーネルモジュール１０１は主要フラッシュメモリへの読み取り／書き込み動作を全て制御する。セキュリティカーネルモジュール１０１は、このメカニズムを利用して、読み取り専用パーティション及び読み取り専用ファイルを強制する。セキュリティカーネルモジュール１０１が強制する読み取り専用ファイルへ書き込みを試みる場合、書き込まれるデータは破棄され、書き込み動作は、書き込み動作が成功したかのように確実に戻る。
【００３１】
セキュリティカーネルモジュール１０１は、理想的には、ＵＳＢポートの機能性を制御する。システムに実装されるセキュリティポリシーに応じて、ＵＳＢポートの挙動を決定することができる。例えば、ＵＳＢポートを、考えられる通信アクティビティを行わない、充電インターフェースとしてのみ機能させるか、あるいはＵＳＢポートにセキュアなチャネル機能を行わせるかを決定することができる。後者の場合、インターフェース上の全ての通信を（機密性及び完全性のために）暗号化によって保護しなくてはならない。
【００３２】
セキュリティカーネルモジュール１０１のその他の考えられる機能には、
‐ WiFi無線動作のイネーブルまたはディセーブルによる制御； 
‐ Bluetooth無線動作のイネーブルまたはディセーブルによる制御；及び 
‐ ＧＰＳモジュールの制御があり、セキュリティカーネルモジュール１０１で認証されていないアプリケーションは、フェイクのＧＰＳデータを受信する。セキュリティカーネルモジュール１０１はアプリケーションに応じてＧＰＳ座標の暗号化を決定し、これらを暗号化形態でアプリケーションに直接提供することができる。
【００３３】
好適な実施形態では、アプリケーションのインストレーションをセキュリティカーネルモジュール１０１の直接制御下で行う。第三者によるインストレーションサービスは取り除かなければならない、そうでなければ適切に実行させることはできない。セキュリティカーネルモジュール１０１は、権限を与えられたソースによるソフトウェアパッケージのみを受け入れる。
【００３４】
セキュリティカーネルモジュール１０１のもう１つの特徴は、任意のオーバー・ジ・エア（Over The Air：ＯＴＡ）ファームウェアの更新を防止することである。
【００３５】
更に、セキュリティカーネルモジュール１０１は、下記の事を行う：
‐電話がリカバリーモードに保持されている場合、ファームウェアパーツのインストールの可能性を阻止する；
‐アプリケーション層からデータの一部に暗号化及び／又はデジタル署名が直接行われるようにする、アプリケーション・プログラミング・インターフェース（Application Programming Interface：ＡＰＩ）をアプリケーションに提供する。上述の様に、アプリケーション層とセキュリティカーネルモジュール１０１との間の通信は全て暗号化して行わなければならない；
‐ 緊急消去（通常「ゼロ化」と称する）の場合、暗号化材料（鍵、アルゴリズム、一時鍵・・・）の完全な削除を確実に行う方法を提供する。緊急の場合、ユーザは含まれる秘密を全て安全に削除するために、ユニットをゼロ化する決定を行うことができる。ゼロ化が発生すると、ＳＫＭはＳＣに、それに格納された全ての鍵とアルゴリズムを取り除くために通知を行わなければならない；
‐携帯デバイスに格納されている間の、ユーザデータ保護方法（保存データ）の提供。この保護はフラッシュのデータ部分のフルディスク暗号化によって実装されなければならない。このメカニズムは紛失した電話又は盗難にあった電話からデータの漏洩を防止するのに有益である；
‐バイナリコードを暗号化及び復号化する方法の提供。これらの方法はシステム（例えば、著作権、クリティカルなセキュリティコンポーネントなどを含む共有ライブラリ）のセンシティブバイナリコードを保護し、それらがリクエストされ、必要とされる際にロードできるようにする。
【００３６】
ＳＫＭインターフェースライブラリ１０７は、ユーザ空間とカーネル空間のセキュリティ関連コンポーネントの間に適切な抽象化層を提供する機能ブロックである。従ってその主な目的は、ＳＫＭ１０１によって通信機能１０９に提供された全てのサービスを行うことである。これらのサービスはヴォイス・オーバー・アイピー（Voice Over IP：ＶｏＩＰ）を実装するため、通信機能１０９によって使用される。このＶｏＩＰサービスは、エンドツーエンド暗号化を使ってセキュアな音声サービスを伝えるために使用される。このサービスは、図１において１１１で示されるＶｏＩＰフロントエンドアプリケーションによって使用される。
【００３７】
上述の様に、本発明の目的は、スマートフォンの能力を持ち、スパイウェアやマルウェアアプリケーションに対してより強力な、安全性の保証された携帯電話を提供することである。この強さは以下の段落で詳述する一連の暗号化メカニズムによって得られる。
【００３８】
当業者であれば、本発明に開示された方法が複数の異なる環境に適用できることを理解するであろう。更に、セキュリティカーネルモジュールの意味は、上述の様なMicroSCの形態のＳＣによって提供されるサービスの使用を含むことができる。セキュリティコアは、ソフトウェアコンポーネント又はソフトウェアとハードウェアの組み合わせを含む主要コンポーネントであることもある。セキュリティコアモジュールはいくつかの異なる従来技術の方法で実装することができる。この方法には、例えば、専用のセキュリティプロセッサ又は適切なインターフェースによってスマートフォンに接続された外部モジュールを使用する、専用のハードウェア暗号モジュール、又はソフトウェアコンポーネント（すなわちライブラリ）が含まれる。
【００３９】
最良のセキュリティカバレッジと制御能力とを確保するために、セキュリティカーネルモジュール１０１をオペレーティングシステムのカーネルレベルで動作させる。更に、セキュリティカーネルモジュールをデバイス固有のセキュリティコンポーネントとして考える。各ユニットは、その特別な電話のみで作動する専用のセキュリティカーネルモジュールを有する。２つのユーザが自分たちのセキュリティカーネルモジュールを交換しようとするならば、電話のセキュリティ関連部分は全て利用できなくなる。反対に、ＳＣはまた、特定のセキュリティカーネルモジュールとペアになるようにプログラムされる。このペア形成はＳＣとセキュリティカーネルモジュールとの間の相互の認証に基づいて行われる。
【００４０】
図２において、システムの汎用コンピュータ（例えばモバイルコンピュータユニット、サーバ、保存場所、ネットワークルータ）は２００で示されている。コンピュータ２００はシステムバス２０１に平行に接続された、いくつかのユニットによって形成される。詳述すれば、１つ又は複数のマイクロプロセッサ２０３はコンピュータ２００の動作を制御する。ＲＡＭ２０５はマイクロプロセッサ２０３によってワーキングメモリとして直接使用され、ＲＯＭ２０７はコンピュータ２００をブートするための基本コードを格納している。周辺ユニットはローカルバス２０９の周囲に（それぞれのインターフェースによって）群がっている。特に、大容量メモリは大容量記憶装置（例えば半導体ドライブ）２１１及びフラッシュメモリ２１３などの、少なくとも１つの永続記憶装置で構成される。
【００４１】
更にコンピュータ２００は、入力デバイス２１５（例えば、キーボード及びマウス及び／又はタッチセンサデバイス）と出力デバイス２１７（例えば、表示、画面及びプリンタ）とを含んでいる。ネットワークインターフェース２１９はコンピュータ２００をネットワークに接続させるために使用される。ネットワークは有線ネットワーク又は無線電気通信ネットワークの何れかとすることができる。インターフェース２２１はシステムバス２０１をローカルバス２０９と通信させる。マイクロプロセッサ２０３及びインターフェースユニット２２１は各々マスターエージェントとして動作し、情報送信のためにシステムバス２０１へのアクセスを要求する。
【００４２】
システムが異なる接続形態を持つ、又は別のネットワークに基づくものであれば、同様の考慮が適用される。あるいは、コンピュータは異なる構造で、同等のユニットを含んでいてもよいし、又は別のデータ処理エンティティ（ＰＤＡ，携帯電話など）で構成されてもよい。
【００４３】
図３は、本発明の好適な実施形態によるシステムの主要なソフトウェアコンポーネントを示している。図３のシステムは、セキュリティカーネルモジュールの周囲に構築されるセキュアな音声アプリケーションを実装する。尚、「内部」及び「外部」の信号経路はセキュリティカーネルモジュール１０１のみによって接続される。図３において外部経路は実線で示され、内部経路は点線で示されている。このような厳密な分離は、セキュリティカーネルモジュールを通らない限り外部からのアクセスが取得できないことを意味している。
【００４４】
特定の実施形態として、ここでは、例えば Samsung Galaxy S2（登録商標）又はSamsung Galaxy S3（登録商標）などのAndroidオーディオデバイスに実装される、セキュアな音声通信の例を示す。
【００４５】
図３に示す例において、マイクロホン３０１からのアナログオーディオ信号は、オーディオコーデック３０３によって、先ずデジタルサンプルに変換される。そしてデジタルサンプルは、オペレーティングシステムが動作するアプリケーションプロセッサ（ＡＰ）３０５に伝送される。オーディオサンプルを処理する第１ソフトウェアコンポーネントは、オーディオコーデック管理を行うデバイスドライバ３０７である。本発明の好適な実施形態において、このデバイスドライバ３０７はセキュリティカーネルモジュール１０１によって直接制御される。このように、オーディオの挙動は、セキュリティカーネルモジュールの状態と現在確立されている通信とに依存する。
【００４６】
好適な実施形態において、デジタルサンプルは、明瞭な通信も暗号通信も確立されない場合には破棄される。明瞭な音声通信の場合、デジタルサンプルは暗号化がイネーブルされたオーディオ管に進む。デバイスは作動状態に維持され、デコイ音（例えばホワイトノイズ、予め録音したメッセージなど）が供給される。これによってスパイ電話及びマルウェアの、実際のオーディオサンプルへのアクセスが防止される。暗号化音声通信の場合、デジタルサンプルは抽象化の最低レベル（すなわちカーネルレベル）で暗号化される。セキュリティカーネルモジュールはセキュリティコア１０５に格納された暗号化鍵及びアルゴリズムを使ってそれらを暗号化する。鍵の選択は専用の鍵設定プロトコルに基づいて行われる。オーディオサンプルはカーネルを離れる時、既にBLACK（すなわち暗号化）形態である。従来のAndroid オーディオデバイスは先の場合と同様にビジーに保たれている。そこからオーディオサンプルを収集しようとすると、デコイ音が得られるだけである。これに加え、アプリケーションレベルでオーディオサンプルを記録するための攻撃も、暗号化が行われる前に、用いられる暗号化技術のために失敗する。信号は一旦符合化されるとユーザアプリケーション３０９に通信され、ネットワーク３１１を通して送信させることができる。
【００４７】
復号化チェーンは逆の順序で行われる。ユーザ空間からのデジタルサンプルは、セキュリティカーネルモジュール１０１によって処理される。セキュリティカーネルモジュールの状態及び確立された通信に応じて、挙動は下記の様になる：
‐ 暗号化音声通信の場合、暗号化サンプルはＳＣ１０５に格納された鍵及びアルゴリズムを使って復号化される。そして復号化されたサンプルはデバイスドライバに供給されてハードウェアコーデック及び、例えばスピーカー３１３に送られる；
‐ プレーン通信の場合、暗号化データはＳＫＭ１０１に許容されない、又は受け入れられない。全ての書き込みデータは破棄される；
‐ 通信が行われていない場合、データはこのインターフェースを通ることができない。この挙動は先の場合と同じである。
【００４８】
図４は有限状態機械（ＦＳＭ）の形態のセキュリティカーネルモジュールのステートフルライフサイクルを示している。ＦＳＭは以下の考えられる４つの状態、すなわち、
・鍵の挿入（４０１）；
・ロック（４０３）；
・認証（４０５）；及び
・ゼロ化 （４０７）を含んでいる。
【００４９】
機械のライフサイクルの初めに、セキュリティカーネルモジュールは鍵挿入状態である。この状態では、電話によって提供されるセキュアアプリケーションを何れも使用することはできない。暗号化材料がまだロードされていないため、ログインプロセスを行うことはできない。鍵挿入プロセスは、セキュリティ責任者（すなわち、必要とされる権限の与えられた管理者）によって、鍵配布センター（Key Distribution Centre：ＫＤＣ）を使用し. 集中設備で行われる。ＫＤＣは鍵及びアルゴリズムで、暗号化材料を端子にロードする。この処理の後、ユニットはロック状態にされる。ここでユニットはエンドユーザに出荷され、いつでも動作させることができる。
【００５０】
電話をブートする度にセキュリティカーネルモジュールサービスが開始される。この段階でシステムはロックされた状態にあると言え、この状態において暗号化動作は不可能である。ユニットの構成によって、明瞭な音声電話などのその他の電話の機能をイネーブルにしたり、しなかったりすることができる。 セキュリティカーネルモジュールはユニットのポリシー及びデバイスの完全性を監視する。セキュアな音声動作をイネーブルにするには、ユーザはセキュリティカーネルモジュールで認証する必要がある。ユーザ認証は、使用に応じ、通常はＰＩＮ又はパスワードによって行われる。システムのセキュリティを高めるために、ＰＩＮを、
‐ 各数字の位置がランダムで、キーストローク毎に変えられる「スクランブル」キーボードに入力する；及び
‐ 後処理する、すなわち、ＳＫＭによってＰＩＮ値をＳＫＭとＳＣとで共有される対称鍵と結合させる。ＰＩＮ*と呼ばれるこの結合の結果は実際のＰＩＮ値を表す。ＳＫＭとＳＣとの間の認証はこの値を使って行われる。
【００５１】
ユニットはロックされた状態でゼロ化することもでき、この推移は図４に示される。この推移は、安全保障上の脅威の場合、認証の必要なく全てのセンシティブな材料を安全に削除する能力をユーザに提供するためにある。この場合、システムはゼロ化状態にする。
【００５２】
認証手順が終了すると、（図４のＰＩＮロック解除参照）電話は認証状態になる。全ての暗号化動作はイネーブルされ、実行することができるようになる。
【００５３】
最後に電話をゼロ化状態にすることができる。この状態において、電話とＳＣの何れにも含まれる全ての暗号化材料は消去される。ユニットは、鍵が生成されてユニットに挿入される管理ステーションに戻されるまで動作することはできない。
【００５４】
鍵の挿入状態において、セキュリティカーネルモジュールはアクティビティを行うことができず、ＫＤＣが暗号化材料をロードするのを待つのみである。ロードが終わると、機械はいつでも動作することができる。
【００５５】
上述の実施形態によって実装することのできるアクティビティ及びコマンドの例を以下に詳述する。
【００５６】
ロックされた状態でＳＫＭは以下のアクティビティを行う：
ＬＣＫ１：全マイクロホンの状態の制御。明瞭な電話が行われない限り、又はアプリケーションがその起動を暗号認証によって要求する場合、ＯＦＦにされたままである。
ＬＣＫ２：システムの周期的な完全性の確認。  
ＬＣＫ３： microSDアクセス及び使用の制御。権限を与えられたmicroSD（ＳＣ）のみの使用が許される；
ＬＣＫ４：認証されていない、オーディオデバイスにアクセスしようとしているアプリケーションにダミーのオーディオサンプルを提供；
ＬＣＫ５：ランタイムにロードする必要のあるカーネルモジュールの連続的な確認。モジュールをロードしなければならない場合、ＳＫＭはモジュールオブジェクトコードを認証及び解読し、それをカーネルアドレス空間にロードする；
ＬＣＫ６：制御下で、主要フラッシュメモリからの、またはこのメモリへの読み取り／書き込み動作を続ける。禁止場所へデータの書き込みを行う度に正常リターンコードを報告し、一方でデータを破棄しなければならない；
ＬＣＫ７：ＧＰＳの状態と動作の制御。権限を与えられていないアプリケーションはフェイクのＧＰＳ座標を受信する；
ＬＣＫ８： オーバー・ジ・エア（Over The Air：ＯＴＡ）などの、権限を与えられていないソフトウェアパッケージのインストレーション及び更新の防止。  
【００５７】
権限を与えられた状態で、ＳＫＭは以下のアクティビティを行う：
ＡＵＴＨ１：全マイクロホンの状態の制御（ＬＣＫ１参照）。マイクロホンは以下、すなわち、
・ 明瞭なネイティブのＧＳＭ又はＵＭＴＳ音声電話；及び
・ 暗号化ＵＭＴＳ音声電話の場合、イネーブルされる；
ＡＵＴＨ２：ＬＣＫ２と同じ；
ＡＵＴＨ３：ＬＣＫ３と同じ；
ＡＵＴＨ４：ＬＣＫ４と同じ；
ＡＵＴＨ５：microSDアクセス、使用及びプログラミングインターフェースの制御。ホストスマートフォンとmicroSDとの間の全てのプロトコルデータユニットはＳＫＭによって処理される；
ＡＵＴＨ６：ＬＣＫ６と同じ；
ＡＵＴＨ７：ＬＣＫ７と同じ。アプリケーションに応じて専用のＳＫＭモジュールを起動させ、ＧＰＳ座標を保護することができる。このような場合、現在のＧＰＳ位置を暗号化し、ユーザアプリケーションに暗号化形態で送信する。この値はセキュアな方法で遠隔送信することができる；
ＡＵＴＨ８：ＬＣＫ８と同じ；
ＡＵＴＨ９：この状態でＳＣモジュールを解除する。暗号化機能を起動するために必要な全ての暗号化情報をＳＣからＳＫＭに送信しなければならない； 
ＡＵＴＨ１０：ＳＫＭはゼロ化事象を周期的に確認する。ゼロ化が発生した場合、ＳＣの暗号化材料は全て破壊される。更にＳＫＭの暗号化材料も全て破壊する必要がある；
ＡＵＴＨ１１：ＳＫＭアクティビティは、ユーザ空間コンポーネントとカーネル空間システムとの間の全ての通信を積極的に保護する。この保護は以下に詳述する独自のメカニズムによって実行される；
ＡＵＴＨ１２：ＳＫＭはＵＳＢ挙動を制御する。ＵＳＢは「充電のみ」のインターフェースとして構成するか、又は機密性と完全性の確認を提供する暗号化層を支持するかの何れかとすることができる。後者の場合、専用のアプリケーションをクライアントの機械にロードしてボックスと通信できるようにする；
ＡＵＴＨ１３：ＳＫＭはユーザデータのプライバシーを管理し、一方で永続記憶装置に保存する。これらのデータは要求に応じて解読され、権限を与えられたアプリケーションで利用できるようにする；
ＡＵＴＨ１４：ＳＫＭはバイナリコードの認証及び解読を管理する。このバイナリコードは大抵製品の主要部を表している。ＳＫＭは有効な盗難防止方法として使用される。TelsyのＩＰは全て、ユーザが自分自身をＳＫＭ及びＳＣで認証して初めて開かれる；
ＡＵＴＨ１５：ＳＫＭは音声暗号化を行う。上述の様に、音声暗号化は慎重に考慮する必要がある。実装は、実際、できる限り低い抽象化層で提供されなければならない。
【００５８】
ゼロ化状態において、電話はセキュアな動作を行うことができない。鍵挿入状態に戻す唯一の方法は、鍵配布センターと接続してＳＫＭ及びＳＣをいずれも再起動させることである。
セキュアなプロセス間通信メカニズムの説明
【００５９】
電話のセキュリティコンポーネント間の通信は全て、セキュアシグナリング２（Secure Signalling 2：ＳＳ２）と称される専用のプロセス間通信プロトコルを通して行われる。ＳＳ２プロトコルは送信情報の機密性及び完全性に関する保証を提供する、セキュアな２点間チャネルの確立を可能にする。
【００６０】
ＳＳ２プロトコルデータユニット（ＰＤＵ）は図５に示す様にフォーマットされる。ＰＤＵフィールドの意味は以下の通り：
・ ＰＶ（１バイト）：プロトコルバージョン。使用されるＳＳ２プロトコルのバージョンを示す。異なるＳＳ２プロトコルバージョンを共存させる必要がある；
・ ＴＡＧ（１バイト）：ＰＤＵタグ。伝送されるＳＳ２ＰＤＵのタイプを示す。この値により、異なるＳＳ２ＰＤＵ、すなわち
‐ 制御ＰＤＵ：鍵誘導プロシージャの実行及び相手側に制御メッセージを送付するための、セキュリティアソシエーションをセットアップするために使用される；及び
‐ データＰＤＵ：保護されるデータを伝送するために使用される。ＴＡＧ値に応じて認証コードを付けて、又は付けずにペイロードを伝送することができる；を識別することができる；  
・ セキュアパケットインデックス（Secure Packet Index：ＳＰＩ）：８バイト。通信で使用される一組の事前共有鍵と、ペイロードの保護及びＭＡＣ操作のために使用されるアルゴリズムとを識別するために使用される。  
・ ＬＥＮ（２バイト）：ペイロード長さ、バイト；
・ ＩＶ（１６バイト）：ペイロードにおける暗号化動作のために使用される初期化ベクトル；
・ ＭＡＣ（１６バイト）：ヘッダ及び暗号化ペイロードの両方で計算されるメッセージ認証コード。
【００６１】
ＳＳ２チャネルは以下の２つの異なるモードで動作させることができる：
・ 事前共有鍵：この場合、チャネルは制御ＰＤＵなしで動作させすることができる。２つの当事者は２，３の事前共有鍵（各方面につき１つの鍵）を使用してデータを保護する。鍵交渉は行われない；
・事前共有鍵と一時鍵：この場合、２つの当事者が制御ＰＤＵを交換する初期段階の後のみデータＰＤＵを生成することができる。この場合、制御ＰＤＵは、以下に使用される：
‐ 通信で使用される事前共有鍵の合意；及び
‐ 一時鍵を派生させるための楕円曲線ディフィー・ヘルマン鍵交換の実行。実際の通信鍵は、不可逆機能を使って事前共有鍵と一時鍵とを組み合わせることによって取得される。
【００６２】
ＳＳ２は、 ユーザとカーネル空間セキュリティコンポーネントとの間の通信を全て保護するために使用される。例えば、セキュアな音声アプリケーションは、ユーザ空間に、ＳＳ２符合化フレームのみを送受信する暗号化オーディオデバイスを提供する。更に、ＳＳ２は、ユーザ空間プロセスの間でセキュリティ関連情報を共有するためにも使用される。図６には、セキュリティコンポーネントとそれらの接続との全体像が示されており、以下の機能ブロックがある：
・ ＳＫＭは以下の４つのサブシステム、すなわち、
‐ 全ての暗号化材料及び動作を行う暗号プロバイダ；
‐上述のオーディオ処理を行うオーディオ；
‐保護及び認証されたバイナリパッケージ（実行ファイル、ライブラリ又はカーネルモジュール）をロードするローダ；及び
‐ microSD 実装ＳＣと通信を行うサブシステムのＡＳＳＤ、によって構成される。
・ ＳＣは外部microSDトークンに実装される；
・ 図の最上部にユーザ空間コンポーネントが全て集められている。これらの機能は：
‐ r2d2_client：r2d2_serverプロセスと話すサブシステム。このスタブはセキュアな音声アプリケーションと話す必要のあるその他のＯＳサービスによって使用される；
‐ r2d2_server：セキュアな電話の管理、セキュアなＳＭＳサービスの実装、ＳＫＭ状態の制御及びシステムの健全性の監視の１セットの動作を行うサブシステム；
‐ solib：セキュアな音声プロトコルを実装する一組の共有ライブラリ。r2d2_server は電話の構成に応じて適切なものを選択することができる。これらのライブラリは全てセキュアな音声電話の間のみ暗号化形態に保たれ、必要に応じて解読される。
【００６３】
図６の中間部には、ユーザ空間でＳＳ２プロトコルを実装するために必要なミドルウェアライブラリが含まれている。
【００６４】
図６の下部には、カーネルに含まれていないがＳＫＭによって制御されるハードウェアコンポーネントの例が示されている。これらのハードウェアコンポーネントには、microSDカード、マイクロホン、スピーカーがある。
【００６５】
図７を参照すると、本発明の実施形態による方法の論理フローチャートが示されている。セキュア通信を必要とする通信デバイス（例えば、スマートフォン、通信能力を備えたタブレット）の動作を参照して本方法を説明する。本例による通信デバイスはスマートフォンであり、これは、スマートフォンの通信機能を実装するための複数のユーザ通信アプリケーションと、スマートフォンの任意の入力／出力通信を制御し、複数のユーザ通信アプリケーションと外部ネットワークとの間の唯一の考えられるアクセスであるセキュリティカーネルモジュール（ＳＫＭ）と、デバイス固有の情報を含むセキュリティコアモジュール（ＳＣ）とを含み、セキュリティコアモジュールとセキュリティカーネルモジュールとの間、及び複数のユーザ通信アプリケーションとセキュリティカーネルモジュールとの間の情報交換は全て暗号化され、暗号化はセキュリティコアモジュールに格納された鍵に基づいて行われる。スマートフォンはまた、スマートフォンを１つ又は複数の通信ネットワーク及び外部環境（例えば、ユーザの音声）とインターフェース接続させるように構成された一組の入力／出力デバイス（例えば、マイクロホン、スピーカー、ネットワークカード、アンテナ）も含んでいる。本方法は開始の黒い丸７０１から始まって７０３へと進み、ここでシステムはＳＫＭによって音声通信要求を検出する。本発明の好適な実施形態において、音声通信要求には、着信、ユーザ通信アプリケーションの中の１つからの、電話をかける要求、又は入力／出力デバイスの中の１つを使用する要求、着信データの伝送、及びスマートフォンと外部通信システム（例えば、電話ネットワーク、データネットワーク又は BlueTooth、ＮＦＣ，赤外線又はＲＦＩＤなどの近接ベース通信を含むその他の通信手順）、又は１つ又は複数のユーザとの間に通信の確立を要求するその他の事象が含まれる。次に制御はステップ７０５に進み、ここでＳＫＭはＳＣに含まれるセキュリティ情報を確認し、受信した音声通信要求が権限を与えられたソースからのものであるか否かを決定する（ステップ７０７）。権限を与えられたソースであれば、ＳＫＭはスマートフォン内の全ての通信（すなわち、ＳＣとＳＫＭとの間、及び複数のユーザ通信アプリケーションとＳＫＭとの間の全ての通信）が暗号化されていることを確認し、この暗号化通信が確実に行われるようにし、ＳＫＭは、情報を複数のユーザアプリケーションに送信する前に、外部ネットワークから受信した任意の情報を暗号化し（ステップ７０９）、情報を外部ネットワークに送信する前に複数のユーザ通信アプリケーションから受信した任意の情報を復号化する（ステップ７１１）。暗号化／復号化はセキュリティコアモジュールに格納された情報（例えば鍵）に基づいて行う。ステップ７０７の確認の結果が否定的なものである場合、システムは通信を安全でないものと想定して緊急手順を採用する（７１３）。このような緊急手順は、例えば、複数のユーザ通信アプリケーションと外部ネットワークとの間の通信の防止、ＳＣからのセンシティブ情報の消去、権限を与えられていないソースへのダミーオーディオサンプルの提供を含む複数のアクションを実装することができる。
【００６６】
本発明又は本発明の一部は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態又はハードウェア要素及びソフトウェア要素の何れも含む実施形態の形態をとることができる。例えば、上述の実施形態において、セキュリティコアモジュールはハードウェアコンポーネント（例えばＳＤチップカード）で実装される。しかしながら当業者であれば、同じ機能性を持つセキュリティコアモジュールはソフトウェアを介して実現できることを理解するだろう。好適な実施形態において、本発明の一部は、ファームウェア、レジデントソフトウェア、マイクロコードなどを含むが、これらに限定されないソフトウェアに実装される。
【００６７】
更に、本発明はコンピュータ又は任意の命令実行システムによって、又はこれと接続して使用するためのプログラムコードを提供する、コンピュータが使用可能な、又はコンピュータ読み取り可能な有形的表現媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。この説明において、コンピュータ使用可能、又はコンピュータ読み取り可能な媒体は、命令実行システム、装置又はデバイスによって、又はこれと接続して使用されるプログラムの含有、格納、通信、伝播又は移植を行うことのできる任意の装置とすることができる。
【００６８】
媒体は、電子、磁気、光、電磁、赤外線もしくは半導体システム（装置、デバイス）又は伝播媒体とすることができる。コンピュータ可読媒体の例には、半導体又はソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、剛体磁気ディスク及び光ディスクがある。光ディスクの例として、コンパクトディスク・リードオンリメモリ（ＣＤ−ＲＯＭ）、コンパクトディスク・読み取り／書き込み（ＣＤ−Ｒ／Ｗ）及びＤＶＤがある。
【００６９】
プログラムコードの格納及び／又は実行に適切なデータ処理システムには、システムバスによってメモリ素子と直接的又は間接的に連結される、少なくとも１つのプロセッサが含まれる。メモリ素子には、プログラムコードを実際に実行する際に使用されるローカルメモリ、大容量記憶装置、及び実行中にコードが大容量記憶装置から検索する回数を減らすために、少なくともいくつかのプログラムコードの一時的な格納を提供するキャッシュメモリが含まれる。
【００７０】
入力／出力、すなわちＩ／Ｏデバイス（キーボード、ディスプレイ、ポインティングデバイスを含むがこれらに限定されない）は、直接的又はＩ／Ｏコントローラを介入することによってシステムと連結させることができる。
【図１】
2017511619.tif 000003
【図２】
2017511619.tif 000004
【図３】
2017511619.tif 000005
【図４】
2017511619.tif 000006
【図５】
2017511619.tif 000007
【図６】
2017511619.tif 000008
【図７】
2017511619.tif 000009
【国際調査報告】
2017511619.tif 000010
2017511619.tif 000011
2017511619.tif 000012