JP2017511619A - セキュアな音声とデータの方法及びシステム - Google Patents
セキュアな音声とデータの方法及びシステム Download PDFInfo
- Publication number
- JP2017511619A JP2017511619A JP2016544143A JP2016544143A JP2017511619A JP 2017511619 A JP2017511619 A JP 2017511619A JP 2016544143 A JP2016544143 A JP 2016544143A JP 2016544143 A JP2016544143 A JP 2016544143A JP 2017511619 A JP2017511619 A JP 2017511619A
- Authority
- JP
- Japan
- Prior art keywords
- security
- communication
- kernel module
- application
- module
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/03—Protecting confidentiality, e.g. by encryption
- H04W12/033—Protecting confidentiality, e.g. by encryption of the user plane, e.g. user's traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/02—Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W12/00—Security arrangements; Authentication; Protecting privacy or anonymity
- H04W12/08—Access security
- H04W12/082—Access security using revocation of authorisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/66—Substation equipment, e.g. for use by subscribers with means for preventing unauthorised or fraudulent calling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/60—Aspects of automatic or semi-automatic exchanges related to security aspects in telephonic communication systems
- H04M2203/609—Secret communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
Abstract
本発明は、スマートフォンでモバイル通信を安全に行う方法及びシステムを提供する。本発明の好適な実施形態において、スマートフォンのマイクロホンを制御するセキュアな方法を提供する。この方法は、電話が待機中にスパイ電話として利用され、音や声を記録することを回避する。一実施形態において、一旦ファームウェアが配置されると、オペレーティングシステムは終了し、アプリの追加又は更新ができないので、スマートフォンは堅牢化される。本発明の一実施形態において、GPSデータはこれへの権限を与えられていないアクセスを防止するため、安全性が保証される。GPSデータはオーディオデータと同様にカーネル空間で暗号化されて、それらのアクセスを暗号化された信頼できるアプリに制限することができる。
Description
本発明は電気通信技術に関し、特に音声及びデータ端子として使用される場合、通信デバイス(例えば、スマートフォン)のセキュリティを向上させる方法及びシステムに関する。
スマートフォン、すなわち高度な処理能力を持つ携帯電話の普及に伴い、モバイル通信のセキュリティ問題は主要な問題の1つになってきている。スマートフォンの波及的な広がりにより、新しい可能性と共に深刻な脅威がもたらされる。モバイル通信のプライバシーは大きな関心を集めており、これは、暗号化による通信の保護を目的とした多数のアプリケーションによく表れている。基本概念はセキュリティアプリケーションをスマートフォンで動作させることであるが、セキュアなアプリケーションを非セキュアな動作環境で動作させることは、情報の機密性に深刻な課題を提起する。
従来の技術を見てみると、どのセキュアな音声ソリューションも、非セキュアなチャネルでの音声伝送を保護しようとするハイレベルのアプリケーションにいかに頼っているのかがわかる。しかしながら現在のソリューションは全て、脅威が通信チャネルに限定されている間はOS環境が信頼できることを想定している。これは一般にハイレベルのセキュリティドメインにおいては十分良く理解された手法であるが、ハードウェアとソフトウェアのコンポーネントがメーカによって直接制御される場合、スマートフォン環境には当てはまらない。スマートフォンは、スマートフォンがデスクトップ環境の典型的な、ウイルス、トロイの木馬、マルウェアなどの新しいクラスの脅威を導入するというセキュリティ上の問題を生じさせるという意味で、新たな課題を提起する。このように複雑な環境において、攻撃がネットワークのみから来ると想定するのは、あまりにも単純な手法である。本発明では、OS及びネットワークレベルで、音声とデータの両方の機密性を保護することのできるシステムを提案する。
特許文献1は、コンピュータ又は通信システムに対する暗号化サービスの統合を簡素化するセキュリティカーネルインターフェースを開示しているが、この発明は携帯デバイスから生じる典型的な課題に対処していない。出願人は、暗号化フレームワーク及びそれをカーネルレベルでいかに使用することができるかに加えて、以下の対処が重要であると判断した:
・ ユニット内で鍵をどのように、そしてどこに保存するか;
・ どのようなタイプの鍵管理を実装するか;
・ 携帯デバイス内でセンシティブデータ(すなわち音声サンプル)をいかに攻撃から守るか;
・ 機械内にどのようなタイプのライフサイクルを実装し、これを緊急消去手順とどのように関連付けるか。
・ ユニット内で鍵をどのように、そしてどこに保存するか;
・ どのようなタイプの鍵管理を実装するか;
・ 携帯デバイス内でセンシティブデータ(すなわち音声サンプル)をいかに攻撃から守るか;
・ 機械内にどのようなタイプのライフサイクルを実装し、これを緊急消去手順とどのように関連付けるか。
本発明の目的は、従来技術の欠点のいくつかを克服することである。
本発明の第1の態様によれば、通信ネットワークと接続可能な通信デバイスによって通信を安全に行う方法を提供する。この通信デバイスは、少なくとも1つのユーザ通信アプリケーションと、通信デバイスの入力/出力通信を制御し、少なくとも1つのユーザ通信アプリケーションと通信ネットワークとの間の唯一の考えられるアクセスであるセキュリティカーネルモジュールと、デバイス固有のセキュリティ情報を含むセキュリティコアモジュールと、 セキュリティカーネルモジュールと接続された複数の入力/出力デバイスとを含み、セキュリティコアモジュールとセキュリティカーネルモジュールとの間、及び少なくとも1つのユーザ通信アプリケーションとセキュリティカーネルモジュールとの間の情報交換は全て暗号化される。この方法は以下のステップ、すなわち、セキュリティカーネルモジュールにおいて通信要求を遮断するステップと、セキュリティカーネルモジュールにおいて、通信要求が権限を与えられたソースから来たものか、セキュリティコアモジュールのセキュリティ情報を確認するステップと、権限を与えられたソースの場合、セキュリティカーネルモジュールにおいて、情報を少なくとも1つのユーザ通信アプリケーションに送信する前に、複数の入力/出力デバイスから受信した任意の情報を暗号化するステップであって、暗号化はセキュリティコアモジュールに格納された鍵に基づいて行うステップと、セキュリティカーネルモジュールにおいて、複数の入力/出力デバイスの中の少なくとも1つに情報を送信する前に、少なくとも1つのユーザ通信アプリケーションから受信した任意の情報を復号化するステップと、権限を与えられていないソースの場合、緊急セキュリティ手順を行うステップとを含む。
好適な実施形態において、セキュリティコアモジュールはハードウェアによって実装され、好適には、例えばMicroSDカードなどのスマートカードチップを含む。
上述のユーザ通信アプリケーションには、音声アプリケーション、Eメールなどのデータ通信アプリケーション、連携アプリケーション、インスタント・メッセージがある。
本発明の実施形態において、スマートフォンの任意の入力/出力機能は、電話待機中ディセーブルされる。
緊急手順はまた、少なくとも1つのユーザ通信アプリケーションと外部ネットワークとの間の任意の通信を防止するステップを含む。更なる実施形態において、緊急手順は、保護されたデータへの権限の与えられていないアクセスを回避するため、センシティブ情報を消去するステップを含む。別の考えられる実施形態において、緊急手順には、権限を与えられていないソースにダミーの音声サンプルを提供するステップが含まれる。
好適には、セキュリティカーネルモジュールの存在は、権限を与えられていないソースによって検出することはできない。
本発明の第2の態様において、通信ネットワークに接続可能なセキュア通信のための通信デバイスを提供する。この通信デバイスは、少なくとも1つのユーザ通信アプリケーションと、通信デバイスの入力/出力通信を制御し、少なくとも1つのユーザ通信アプリケーションと通信ネットワークとの間の唯一の考えられるアクセスであるセキュリティカーネルモジュールと、デバイス固有のセキュリティ情報を含むセキュリティコアモジュールと、セキュリティカーネルモジュールと接続された複数の入力/出力デバイスとを含み、セキュリティコアモジュールとセキュリティカーネルモジュールとの間、及び少なくとも1つのユーザ通信アプリケーションとセキュリティカーネルモジュールとの間の情報交換は全てセキュリティカーネルモジュールによって暗号化され、任意の通信要求はセキュリティカーネルモジュールによって遮断される。セキュリティカーネルモジュールにおいて、通信要求が権限を与えられたソースから来たものか、セキュリティコアモジュールのセキュリティ情報を確認し、権限を与えられたソースの場合、セキュリティカーネルモジュールにおいて、情報を少なくとも1つのユーザ通信アプリケーションに送信する前に、複数の入力/出力デバイスから受信した任意の情報を暗号化し、この暗号化はセキュリティコアモジュールに格納された鍵に基づいて行い、セキュリティカーネルモジュールにおいて、複数の入力/出力デバイスの中の少なくとも1つに情報を送信する前に、少なくとも1つのユーザ通信アプリケーションから受信した任意の情報を復号化し、権限を与えられていないソースの場合、緊急セキュリティ手順を行う。
本発明の別の態様において、上述の方法を実行するように構成された1つ又は複数のコンポーネントを含む、セキュア通信のためのスマートフォンを提供する。
本発明の更に別の態様において、上述の方法を実装するように構成されたコンポーネントを含むデータ処理システムを提供する。
本発明のまた更なる態様は、上述の方法を実行するためのコンピュータプログラムを提供する。
本発明は、制御されたコンテナにセキュリティセンシティブパーツを全て移すことにより、セキュアなアプリが非セキュアな動作環境に接近しないようにし、そのような環境へのアクセスを堅牢化によって制限する方法を提供する。特に音声の暗号化に関しては、暗号化を行う前にセンシティブ情報へのアクセスを回避するのは不可欠である、というのもこれは暗号化によって提供される保護を無効にすることができるからである。本発明の一実施形態において、 セキュリティカーネルは、音声サンプルがオペレーティングシステムから分離され、カーネル空間において直接確実に暗号化されるようにする。本発明の好適な実施形態において、スマートフォンのマイクロホンを制御するセキュアな方法を提供する。この方法は、マイクロホンが待機中に音声を録音するスパイホンとして利用されないようにする。一実施形態においてスマートフォンを堅牢化する、というのも、オペレーティングシステムがクローズされてファームウェアが設置されると、アプリケーションの追加や更新を行うことができなくなるからである。本発明の一実施形態において、GPSデータを保護してこれへの不正アクセスを防止する。GPSデータは音声データと同様にカーネル空間で暗号化し、それらのアクセスを暗号化によって信頼できるアプリケーションのみに制限することができる。
本発明の更なる実施形態を添付の従属請求項に記載する。
本発明並びに本発明の更なる特徴及び利点は、非制限的な表示のみによって与えられる下記の詳細な説明を添付の図面と併せて参照することにより、最もよく理解することができる。
本発明の好適な実施形態によるシステムを、図1を参照して説明する。ここで説明する実施形態では、システム100をスマートフォンに実装する。より一般的には、音声通信機能とデータ処理能力とを有する任意の通信システムに実装することができる。システムによって簡単な通信及び使用が保証され、一方で、マルウェアアプリケーション及びいくつかのより精巧な脅威からの攻撃に対する高められた免疫を取得することができる。具体的に、主な目的は、呼び出し及び待機状態のいずれの場合においても音声チャネルの捕捉を保護することである。従来、アプリケーションベースの音声暗号化ソリューションは、現代のモバイルオペレーティングシステムの複雑性を考えると、音声チャネルの保護が非常に困難であるという現状に苦しんでいる。
図1に示す様に、セキュリティカーネルモジュール101は、システムのセキュリティセンシティブサブシステム及びリソースを全て監視する。セキュリティカーネルモジュールの管理下におけるシステムへのアクセスは、強力な認証メカニズムを通してのみ、アプリケーションから取得することができる。本発明の好適な実施形態において、セキュリティカーネルモジュール101はオペレーティングシステムカーネル103に埋め込まれている。
本発明の好適な実施形態において、セキュリティカーネルモジュール101は、スマートフォンプラットフォームの音声ソース及び出力の完全な制御を維持する。これらのデバイスは、限定された所定の状況においてのみ、セキュリティカーネルモジュール101によってアクティブにすることができる。これらの状況には、例えば以下、すなわち、
‐例えば2G/3G/4Gチャネルを使った、平文の音声コール要求;及び
‐データチャネルでの暗号化音声コールがある。
‐例えば2G/3G/4Gチャネルを使った、平文の音声コール要求;及び
‐データチャネルでの暗号化音声コールがある。
待機中又はスマートフォンが上述のアクティビティの内の1つを行わない度に、音声源を好適にはOFFにしておく。
セキュリティカーネルモジュール101は音声経路を完全に制御しなければならない。これは記録ストリーム及び再生ストリームにも当てはまる。セキュリティカーネルモジュール101は、音声へのアクセスを取得する必要のある全てのコンポーネントのために厳格なセキュリティメカニズム(強制アクセス制御(Mandatory Access Control:MACと称する)を実装して、音声データへの全てのアクセスの制御と監視を行う。セキュリティカーネルモジュール101音声サンプルは、セキュリティカーネルによって認証されたアプリケーションによってのみ処理される。
考えられる追加機能として、セキュリティカーネルモジュール101で認証されないアプリケーションはダミーの音声サンプルを受信する。反対に、システム(プレイアウト)に書き込まれた音声サンプルは全てドロップされる。理想的に、セキュリティカーネルモジュール101で認証されないアプリケーションは、セキュリティカーネルモジュール101の存在を検出できない。
好適な実施形態において、オペレーティングシステムカーネルモジュールは全て暗号化して署名される。署名確認はセキュリティカーネルモジュール101によって、モジュールが実際システムに接続される前に行われる。主要材料、アルゴリズム及びメカニズムは、セキュリティコア(SC)と称される専用のハードウェア暗号化モジュール105に格納することができる。SC105へのアクセスはセキュリティカーネルモジュール101によってのみ要求され、実行されることができる。SC105で動作を行う必要のあるその他のモジュールは全て、先ずセキュリティカーネルモジュール101で認証し、後でセキュリティカーネルモジュール101に対する動作を要求する。セキュリティカーネルモジュール101はプロキシとして機能し、全てのリクエストをSC105に転送する。本例において、セキュリティコア105には、MicroSDカードフォームファクタを提供する専用のスマートカードチップが実装される。以下MicroSCと称する。このMicroSCカードはSCに求められる全ての関連セキュリティ機能を実装するために使用される。
しかしながら、当業者であればその他の実装も可能であることを理解するだろう。例えば、Bluetooth型トークン又は近接場型通信デバイスなどの外部トークンを使用することができる。別の考えられる実装は、専用のUSBトークンを使って取得することができる。SC105の必要な機能は、選択されたデバイスが、公開される暗号化環境保全秘密鍵とアルゴリズムのパラメータの完全性を保証することができることである。
アプリケーションとセキュリティカーネルモジュール101との間の通信は全て暗号化で行われる。本発明の好適な実施形態において、機密性と完全性を提供するために、専用セキュリティプロトコルが使用される。 音声暗号化は最低限の抽象レベルで行わなければならない。理想的には、音声暗号化はセキュリティカーネルモジュール101の拡張として実装され、セキュリティカーネルモジュール101の外周以内にクリア音声パルス符合変調(Pulsed Code Modulation:PCM)は全て保たれる。セキュア音声に対応するアプリケーションはセキュリティカーネルモジュール101と相互作用し、この暗号化プロセスの結果を受信する。
セキュリティカーネルモジュール101は主要フラッシュメモリへの読み取り/書き込み動作を全て制御する。セキュリティカーネルモジュール101は、このメカニズムを利用して、読み取り専用パーティション及び読み取り専用ファイルを強制する。セキュリティカーネルモジュール101が強制する読み取り専用ファイルへ書き込みを試みる場合、書き込まれるデータは破棄され、書き込み動作は、書き込み動作が成功したかのように確実に戻る。
セキュリティカーネルモジュール101は、理想的には、USBポートの機能性を制御する。システムに実装されるセキュリティポリシーに応じて、USBポートの挙動を決定することができる。例えば、USBポートを、考えられる通信アクティビティを行わない、充電インターフェースとしてのみ機能させるか、あるいはUSBポートにセキュアなチャネル機能を行わせるかを決定することができる。後者の場合、インターフェース上の全ての通信を(機密性及び完全性のために)暗号化によって保護しなくてはならない。
セキュリティカーネルモジュール101のその他の考えられる機能には、
‐ WiFi無線動作のイネーブルまたはディセーブルによる制御;
‐ Bluetooth無線動作のイネーブルまたはディセーブルによる制御;及び
‐ GPSモジュールの制御があり、セキュリティカーネルモジュール101で認証されていないアプリケーションは、フェイクのGPSデータを受信する。セキュリティカーネルモジュール101はアプリケーションに応じてGPS座標の暗号化を決定し、これらを暗号化形態でアプリケーションに直接提供することができる。
‐ WiFi無線動作のイネーブルまたはディセーブルによる制御;
‐ Bluetooth無線動作のイネーブルまたはディセーブルによる制御;及び
‐ GPSモジュールの制御があり、セキュリティカーネルモジュール101で認証されていないアプリケーションは、フェイクのGPSデータを受信する。セキュリティカーネルモジュール101はアプリケーションに応じてGPS座標の暗号化を決定し、これらを暗号化形態でアプリケーションに直接提供することができる。
好適な実施形態では、アプリケーションのインストレーションをセキュリティカーネルモジュール101の直接制御下で行う。第三者によるインストレーションサービスは取り除かなければならない、そうでなければ適切に実行させることはできない。セキュリティカーネルモジュール101は、権限を与えられたソースによるソフトウェアパッケージのみを受け入れる。
セキュリティカーネルモジュール101のもう1つの特徴は、任意のオーバー・ジ・エア(Over The Air:OTA)ファームウェアの更新を防止することである。
更に、セキュリティカーネルモジュール101は、下記の事を行う:
‐電話がリカバリーモードに保持されている場合、ファームウェアパーツのインストールの可能性を阻止する;
‐アプリケーション層からデータの一部に暗号化及び/又はデジタル署名が直接行われるようにする、アプリケーション・プログラミング・インターフェース(Application Programming Interface:API)をアプリケーションに提供する。上述の様に、アプリケーション層とセキュリティカーネルモジュール101との間の通信は全て暗号化して行わなければならない;
‐ 緊急消去(通常「ゼロ化」と称する)の場合、暗号化材料(鍵、アルゴリズム、一時鍵・・・)の完全な削除を確実に行う方法を提供する。緊急の場合、ユーザは含まれる秘密を全て安全に削除するために、ユニットをゼロ化する決定を行うことができる。ゼロ化が発生すると、SKMはSCに、それに格納された全ての鍵とアルゴリズムを取り除くために通知を行わなければならない;
‐携帯デバイスに格納されている間の、ユーザデータ保護方法(保存データ)の提供。この保護はフラッシュのデータ部分のフルディスク暗号化によって実装されなければならない。このメカニズムは紛失した電話又は盗難にあった電話からデータの漏洩を防止するのに有益である;
‐バイナリコードを暗号化及び復号化する方法の提供。これらの方法はシステム(例えば、著作権、クリティカルなセキュリティコンポーネントなどを含む共有ライブラリ)のセンシティブバイナリコードを保護し、それらがリクエストされ、必要とされる際にロードできるようにする。
‐電話がリカバリーモードに保持されている場合、ファームウェアパーツのインストールの可能性を阻止する;
‐アプリケーション層からデータの一部に暗号化及び/又はデジタル署名が直接行われるようにする、アプリケーション・プログラミング・インターフェース(Application Programming Interface:API)をアプリケーションに提供する。上述の様に、アプリケーション層とセキュリティカーネルモジュール101との間の通信は全て暗号化して行わなければならない;
‐ 緊急消去(通常「ゼロ化」と称する)の場合、暗号化材料(鍵、アルゴリズム、一時鍵・・・)の完全な削除を確実に行う方法を提供する。緊急の場合、ユーザは含まれる秘密を全て安全に削除するために、ユニットをゼロ化する決定を行うことができる。ゼロ化が発生すると、SKMはSCに、それに格納された全ての鍵とアルゴリズムを取り除くために通知を行わなければならない;
‐携帯デバイスに格納されている間の、ユーザデータ保護方法(保存データ)の提供。この保護はフラッシュのデータ部分のフルディスク暗号化によって実装されなければならない。このメカニズムは紛失した電話又は盗難にあった電話からデータの漏洩を防止するのに有益である;
‐バイナリコードを暗号化及び復号化する方法の提供。これらの方法はシステム(例えば、著作権、クリティカルなセキュリティコンポーネントなどを含む共有ライブラリ)のセンシティブバイナリコードを保護し、それらがリクエストされ、必要とされる際にロードできるようにする。
SKMインターフェースライブラリ107は、ユーザ空間とカーネル空間のセキュリティ関連コンポーネントの間に適切な抽象化層を提供する機能ブロックである。従ってその主な目的は、SKM101によって通信機能109に提供された全てのサービスを行うことである。これらのサービスはヴォイス・オーバー・アイピー(Voice Over IP:VoIP)を実装するため、通信機能109によって使用される。このVoIPサービスは、エンドツーエンド暗号化を使ってセキュアな音声サービスを伝えるために使用される。このサービスは、図1において111で示されるVoIPフロントエンドアプリケーションによって使用される。
上述の様に、本発明の目的は、スマートフォンの能力を持ち、スパイウェアやマルウェアアプリケーションに対してより強力な、安全性の保証された携帯電話を提供することである。この強さは以下の段落で詳述する一連の暗号化メカニズムによって得られる。
当業者であれば、本発明に開示された方法が複数の異なる環境に適用できることを理解するであろう。更に、セキュリティカーネルモジュールの意味は、上述の様なMicroSCの形態のSCによって提供されるサービスの使用を含むことができる。セキュリティコアは、ソフトウェアコンポーネント又はソフトウェアとハードウェアの組み合わせを含む主要コンポーネントであることもある。セキュリティコアモジュールはいくつかの異なる従来技術の方法で実装することができる。この方法には、例えば、専用のセキュリティプロセッサ又は適切なインターフェースによってスマートフォンに接続された外部モジュールを使用する、専用のハードウェア暗号モジュール、又はソフトウェアコンポーネント(すなわちライブラリ)が含まれる。
最良のセキュリティカバレッジと制御能力とを確保するために、セキュリティカーネルモジュール101をオペレーティングシステムのカーネルレベルで動作させる。更に、セキュリティカーネルモジュールをデバイス固有のセキュリティコンポーネントとして考える。各ユニットは、その特別な電話のみで作動する専用のセキュリティカーネルモジュールを有する。2つのユーザが自分たちのセキュリティカーネルモジュールを交換しようとするならば、電話のセキュリティ関連部分は全て利用できなくなる。反対に、SCはまた、特定のセキュリティカーネルモジュールとペアになるようにプログラムされる。このペア形成はSCとセキュリティカーネルモジュールとの間の相互の認証に基づいて行われる。
図2において、システムの汎用コンピュータ(例えばモバイルコンピュータユニット、サーバ、保存場所、ネットワークルータ)は200で示されている。コンピュータ200はシステムバス201に平行に接続された、いくつかのユニットによって形成される。詳述すれば、1つ又は複数のマイクロプロセッサ203はコンピュータ200の動作を制御する。RAM205はマイクロプロセッサ203によってワーキングメモリとして直接使用され、ROM207はコンピュータ200をブートするための基本コードを格納している。周辺ユニットはローカルバス209の周囲に(それぞれのインターフェースによって)群がっている。特に、大容量メモリは大容量記憶装置(例えば半導体ドライブ)211及びフラッシュメモリ213などの、少なくとも1つの永続記憶装置で構成される。
更にコンピュータ200は、入力デバイス215(例えば、キーボード及びマウス及び/又はタッチセンサデバイス)と出力デバイス217(例えば、表示、画面及びプリンタ)とを含んでいる。ネットワークインターフェース219はコンピュータ200をネットワークに接続させるために使用される。ネットワークは有線ネットワーク又は無線電気通信ネットワークの何れかとすることができる。インターフェース221はシステムバス201をローカルバス209と通信させる。マイクロプロセッサ203及びインターフェースユニット221は各々マスターエージェントとして動作し、情報送信のためにシステムバス201へのアクセスを要求する。
システムが異なる接続形態を持つ、又は別のネットワークに基づくものであれば、同様の考慮が適用される。あるいは、コンピュータは異なる構造で、同等のユニットを含んでいてもよいし、又は別のデータ処理エンティティ(PDA,携帯電話など)で構成されてもよい。
図3は、本発明の好適な実施形態によるシステムの主要なソフトウェアコンポーネントを示している。図3のシステムは、セキュリティカーネルモジュールの周囲に構築されるセキュアな音声アプリケーションを実装する。尚、「内部」及び「外部」の信号経路はセキュリティカーネルモジュール101のみによって接続される。図3において外部経路は実線で示され、内部経路は点線で示されている。このような厳密な分離は、セキュリティカーネルモジュールを通らない限り外部からのアクセスが取得できないことを意味している。
特定の実施形態として、ここでは、例えば Samsung Galaxy S2(登録商標)又はSamsung Galaxy S3(登録商標)などのAndroidオーディオデバイスに実装される、セキュアな音声通信の例を示す。
図3に示す例において、マイクロホン301からのアナログオーディオ信号は、オーディオコーデック303によって、先ずデジタルサンプルに変換される。そしてデジタルサンプルは、オペレーティングシステムが動作するアプリケーションプロセッサ(AP)305に伝送される。オーディオサンプルを処理する第1ソフトウェアコンポーネントは、オーディオコーデック管理を行うデバイスドライバ307である。本発明の好適な実施形態において、このデバイスドライバ307はセキュリティカーネルモジュール101によって直接制御される。このように、オーディオの挙動は、セキュリティカーネルモジュールの状態と現在確立されている通信とに依存する。
好適な実施形態において、デジタルサンプルは、明瞭な通信も暗号通信も確立されない場合には破棄される。明瞭な音声通信の場合、デジタルサンプルは暗号化がイネーブルされたオーディオ管に進む。デバイスは作動状態に維持され、デコイ音(例えばホワイトノイズ、予め録音したメッセージなど)が供給される。これによってスパイ電話及びマルウェアの、実際のオーディオサンプルへのアクセスが防止される。暗号化音声通信の場合、デジタルサンプルは抽象化の最低レベル(すなわちカーネルレベル)で暗号化される。セキュリティカーネルモジュールはセキュリティコア105に格納された暗号化鍵及びアルゴリズムを使ってそれらを暗号化する。鍵の選択は専用の鍵設定プロトコルに基づいて行われる。オーディオサンプルはカーネルを離れる時、既にBLACK(すなわち暗号化)形態である。従来のAndroid オーディオデバイスは先の場合と同様にビジーに保たれている。そこからオーディオサンプルを収集しようとすると、デコイ音が得られるだけである。これに加え、アプリケーションレベルでオーディオサンプルを記録するための攻撃も、暗号化が行われる前に、用いられる暗号化技術のために失敗する。信号は一旦符合化されるとユーザアプリケーション309に通信され、ネットワーク311を通して送信させることができる。
復号化チェーンは逆の順序で行われる。ユーザ空間からのデジタルサンプルは、セキュリティカーネルモジュール101によって処理される。セキュリティカーネルモジュールの状態及び確立された通信に応じて、挙動は下記の様になる:
‐ 暗号化音声通信の場合、暗号化サンプルはSC105に格納された鍵及びアルゴリズムを使って復号化される。そして復号化されたサンプルはデバイスドライバに供給されてハードウェアコーデック及び、例えばスピーカー313に送られる;
‐ プレーン通信の場合、暗号化データはSKM101に許容されない、又は受け入れられない。全ての書き込みデータは破棄される;
‐ 通信が行われていない場合、データはこのインターフェースを通ることができない。この挙動は先の場合と同じである。
‐ 暗号化音声通信の場合、暗号化サンプルはSC105に格納された鍵及びアルゴリズムを使って復号化される。そして復号化されたサンプルはデバイスドライバに供給されてハードウェアコーデック及び、例えばスピーカー313に送られる;
‐ プレーン通信の場合、暗号化データはSKM101に許容されない、又は受け入れられない。全ての書き込みデータは破棄される;
‐ 通信が行われていない場合、データはこのインターフェースを通ることができない。この挙動は先の場合と同じである。
図4は有限状態機械(FSM)の形態のセキュリティカーネルモジュールのステートフルライフサイクルを示している。FSMは以下の考えられる4つの状態、すなわち、
・鍵の挿入(401);
・ロック(403);
・認証(405);及び
・ゼロ化 (407)を含んでいる。
・鍵の挿入(401);
・ロック(403);
・認証(405);及び
・ゼロ化 (407)を含んでいる。
機械のライフサイクルの初めに、セキュリティカーネルモジュールは鍵挿入状態である。この状態では、電話によって提供されるセキュアアプリケーションを何れも使用することはできない。暗号化材料がまだロードされていないため、ログインプロセスを行うことはできない。鍵挿入プロセスは、セキュリティ責任者(すなわち、必要とされる権限の与えられた管理者)によって、鍵配布センター(Key Distribution Centre:KDC)を使用し. 集中設備で行われる。KDCは鍵及びアルゴリズムで、暗号化材料を端子にロードする。この処理の後、ユニットはロック状態にされる。ここでユニットはエンドユーザに出荷され、いつでも動作させることができる。
電話をブートする度にセキュリティカーネルモジュールサービスが開始される。この段階でシステムはロックされた状態にあると言え、この状態において暗号化動作は不可能である。ユニットの構成によって、明瞭な音声電話などのその他の電話の機能をイネーブルにしたり、しなかったりすることができる。 セキュリティカーネルモジュールはユニットのポリシー及びデバイスの完全性を監視する。セキュアな音声動作をイネーブルにするには、ユーザはセキュリティカーネルモジュールで認証する必要がある。ユーザ認証は、使用に応じ、通常はPIN又はパスワードによって行われる。システムのセキュリティを高めるために、PINを、
‐ 各数字の位置がランダムで、キーストローク毎に変えられる「スクランブル」キーボードに入力する;及び
‐ 後処理する、すなわち、SKMによってPIN値をSKMとSCとで共有される対称鍵と結合させる。PIN*と呼ばれるこの結合の結果は実際のPIN値を表す。SKMとSCとの間の認証はこの値を使って行われる。
‐ 各数字の位置がランダムで、キーストローク毎に変えられる「スクランブル」キーボードに入力する;及び
‐ 後処理する、すなわち、SKMによってPIN値をSKMとSCとで共有される対称鍵と結合させる。PIN*と呼ばれるこの結合の結果は実際のPIN値を表す。SKMとSCとの間の認証はこの値を使って行われる。
ユニットはロックされた状態でゼロ化することもでき、この推移は図4に示される。この推移は、安全保障上の脅威の場合、認証の必要なく全てのセンシティブな材料を安全に削除する能力をユーザに提供するためにある。この場合、システムはゼロ化状態にする。
認証手順が終了すると、(図4のPINロック解除参照)電話は認証状態になる。全ての暗号化動作はイネーブルされ、実行することができるようになる。
最後に電話をゼロ化状態にすることができる。この状態において、電話とSCの何れにも含まれる全ての暗号化材料は消去される。ユニットは、鍵が生成されてユニットに挿入される管理ステーションに戻されるまで動作することはできない。
鍵の挿入状態において、セキュリティカーネルモジュールはアクティビティを行うことができず、KDCが暗号化材料をロードするのを待つのみである。ロードが終わると、機械はいつでも動作することができる。
上述の実施形態によって実装することのできるアクティビティ及びコマンドの例を以下に詳述する。
ロックされた状態でSKMは以下のアクティビティを行う:
LCK1:全マイクロホンの状態の制御。明瞭な電話が行われない限り、又はアプリケーションがその起動を暗号認証によって要求する場合、OFFにされたままである。
LCK2:システムの周期的な完全性の確認。
LCK3: microSDアクセス及び使用の制御。権限を与えられたmicroSD(SC)のみの使用が許される;
LCK4:認証されていない、オーディオデバイスにアクセスしようとしているアプリケーションにダミーのオーディオサンプルを提供;
LCK5:ランタイムにロードする必要のあるカーネルモジュールの連続的な確認。モジュールをロードしなければならない場合、SKMはモジュールオブジェクトコードを認証及び解読し、それをカーネルアドレス空間にロードする;
LCK6:制御下で、主要フラッシュメモリからの、またはこのメモリへの読み取り/書き込み動作を続ける。禁止場所へデータの書き込みを行う度に正常リターンコードを報告し、一方でデータを破棄しなければならない;
LCK7:GPSの状態と動作の制御。権限を与えられていないアプリケーションはフェイクのGPS座標を受信する;
LCK8: オーバー・ジ・エア(Over The Air:OTA)などの、権限を与えられていないソフトウェアパッケージのインストレーション及び更新の防止。
LCK1:全マイクロホンの状態の制御。明瞭な電話が行われない限り、又はアプリケーションがその起動を暗号認証によって要求する場合、OFFにされたままである。
LCK2:システムの周期的な完全性の確認。
LCK3: microSDアクセス及び使用の制御。権限を与えられたmicroSD(SC)のみの使用が許される;
LCK4:認証されていない、オーディオデバイスにアクセスしようとしているアプリケーションにダミーのオーディオサンプルを提供;
LCK5:ランタイムにロードする必要のあるカーネルモジュールの連続的な確認。モジュールをロードしなければならない場合、SKMはモジュールオブジェクトコードを認証及び解読し、それをカーネルアドレス空間にロードする;
LCK6:制御下で、主要フラッシュメモリからの、またはこのメモリへの読み取り/書き込み動作を続ける。禁止場所へデータの書き込みを行う度に正常リターンコードを報告し、一方でデータを破棄しなければならない;
LCK7:GPSの状態と動作の制御。権限を与えられていないアプリケーションはフェイクのGPS座標を受信する;
LCK8: オーバー・ジ・エア(Over The Air:OTA)などの、権限を与えられていないソフトウェアパッケージのインストレーション及び更新の防止。
権限を与えられた状態で、SKMは以下のアクティビティを行う:
AUTH1:全マイクロホンの状態の制御(LCK1参照)。マイクロホンは以下、すなわち、
・ 明瞭なネイティブのGSM又はUMTS音声電話;及び
・ 暗号化UMTS音声電話の場合、イネーブルされる;
AUTH2:LCK2と同じ;
AUTH3:LCK3と同じ;
AUTH4:LCK4と同じ;
AUTH5:microSDアクセス、使用及びプログラミングインターフェースの制御。ホストスマートフォンとmicroSDとの間の全てのプロトコルデータユニットはSKMによって処理される;
AUTH6:LCK6と同じ;
AUTH7:LCK7と同じ。アプリケーションに応じて専用のSKMモジュールを起動させ、GPS座標を保護することができる。このような場合、現在のGPS位置を暗号化し、ユーザアプリケーションに暗号化形態で送信する。この値はセキュアな方法で遠隔送信することができる;
AUTH8:LCK8と同じ;
AUTH9:この状態でSCモジュールを解除する。暗号化機能を起動するために必要な全ての暗号化情報をSCからSKMに送信しなければならない;
AUTH10:SKMはゼロ化事象を周期的に確認する。ゼロ化が発生した場合、SCの暗号化材料は全て破壊される。更にSKMの暗号化材料も全て破壊する必要がある;
AUTH11:SKMアクティビティは、ユーザ空間コンポーネントとカーネル空間システムとの間の全ての通信を積極的に保護する。この保護は以下に詳述する独自のメカニズムによって実行される;
AUTH12:SKMはUSB挙動を制御する。USBは「充電のみ」のインターフェースとして構成するか、又は機密性と完全性の確認を提供する暗号化層を支持するかの何れかとすることができる。後者の場合、専用のアプリケーションをクライアントの機械にロードしてボックスと通信できるようにする;
AUTH13:SKMはユーザデータのプライバシーを管理し、一方で永続記憶装置に保存する。これらのデータは要求に応じて解読され、権限を与えられたアプリケーションで利用できるようにする;
AUTH14:SKMはバイナリコードの認証及び解読を管理する。このバイナリコードは大抵製品の主要部を表している。SKMは有効な盗難防止方法として使用される。TelsyのIPは全て、ユーザが自分自身をSKM及びSCで認証して初めて開かれる;
AUTH15:SKMは音声暗号化を行う。上述の様に、音声暗号化は慎重に考慮する必要がある。実装は、実際、できる限り低い抽象化層で提供されなければならない。
AUTH1:全マイクロホンの状態の制御(LCK1参照)。マイクロホンは以下、すなわち、
・ 明瞭なネイティブのGSM又はUMTS音声電話;及び
・ 暗号化UMTS音声電話の場合、イネーブルされる;
AUTH2:LCK2と同じ;
AUTH3:LCK3と同じ;
AUTH4:LCK4と同じ;
AUTH5:microSDアクセス、使用及びプログラミングインターフェースの制御。ホストスマートフォンとmicroSDとの間の全てのプロトコルデータユニットはSKMによって処理される;
AUTH6:LCK6と同じ;
AUTH7:LCK7と同じ。アプリケーションに応じて専用のSKMモジュールを起動させ、GPS座標を保護することができる。このような場合、現在のGPS位置を暗号化し、ユーザアプリケーションに暗号化形態で送信する。この値はセキュアな方法で遠隔送信することができる;
AUTH8:LCK8と同じ;
AUTH9:この状態でSCモジュールを解除する。暗号化機能を起動するために必要な全ての暗号化情報をSCからSKMに送信しなければならない;
AUTH10:SKMはゼロ化事象を周期的に確認する。ゼロ化が発生した場合、SCの暗号化材料は全て破壊される。更にSKMの暗号化材料も全て破壊する必要がある;
AUTH11:SKMアクティビティは、ユーザ空間コンポーネントとカーネル空間システムとの間の全ての通信を積極的に保護する。この保護は以下に詳述する独自のメカニズムによって実行される;
AUTH12:SKMはUSB挙動を制御する。USBは「充電のみ」のインターフェースとして構成するか、又は機密性と完全性の確認を提供する暗号化層を支持するかの何れかとすることができる。後者の場合、専用のアプリケーションをクライアントの機械にロードしてボックスと通信できるようにする;
AUTH13:SKMはユーザデータのプライバシーを管理し、一方で永続記憶装置に保存する。これらのデータは要求に応じて解読され、権限を与えられたアプリケーションで利用できるようにする;
AUTH14:SKMはバイナリコードの認証及び解読を管理する。このバイナリコードは大抵製品の主要部を表している。SKMは有効な盗難防止方法として使用される。TelsyのIPは全て、ユーザが自分自身をSKM及びSCで認証して初めて開かれる;
AUTH15:SKMは音声暗号化を行う。上述の様に、音声暗号化は慎重に考慮する必要がある。実装は、実際、できる限り低い抽象化層で提供されなければならない。
ゼロ化状態において、電話はセキュアな動作を行うことができない。鍵挿入状態に戻す唯一の方法は、鍵配布センターと接続してSKM及びSCをいずれも再起動させることである。
セキュアなプロセス間通信メカニズムの説明
セキュアなプロセス間通信メカニズムの説明
電話のセキュリティコンポーネント間の通信は全て、セキュアシグナリング2(Secure Signalling 2:SS2)と称される専用のプロセス間通信プロトコルを通して行われる。SS2プロトコルは送信情報の機密性及び完全性に関する保証を提供する、セキュアな2点間チャネルの確立を可能にする。
SS2プロトコルデータユニット(PDU)は図5に示す様にフォーマットされる。PDUフィールドの意味は以下の通り:
・ PV(1バイト):プロトコルバージョン。使用されるSS2プロトコルのバージョンを示す。異なるSS2プロトコルバージョンを共存させる必要がある;
・ TAG(1バイト):PDUタグ。伝送されるSS2PDUのタイプを示す。この値により、異なるSS2PDU、すなわち
‐ 制御PDU:鍵誘導プロシージャの実行及び相手側に制御メッセージを送付するための、セキュリティアソシエーションをセットアップするために使用される;及び
‐ データPDU:保護されるデータを伝送するために使用される。TAG値に応じて認証コードを付けて、又は付けずにペイロードを伝送することができる;を識別することができる;
・ セキュアパケットインデックス(Secure Packet Index:SPI):8バイト。通信で使用される一組の事前共有鍵と、ペイロードの保護及びMAC操作のために使用されるアルゴリズムとを識別するために使用される。
・ LEN(2バイト):ペイロード長さ、バイト;
・ IV(16バイト):ペイロードにおける暗号化動作のために使用される初期化ベクトル;
・ MAC(16バイト):ヘッダ及び暗号化ペイロードの両方で計算されるメッセージ認証コード。
・ PV(1バイト):プロトコルバージョン。使用されるSS2プロトコルのバージョンを示す。異なるSS2プロトコルバージョンを共存させる必要がある;
・ TAG(1バイト):PDUタグ。伝送されるSS2PDUのタイプを示す。この値により、異なるSS2PDU、すなわち
‐ 制御PDU:鍵誘導プロシージャの実行及び相手側に制御メッセージを送付するための、セキュリティアソシエーションをセットアップするために使用される;及び
‐ データPDU:保護されるデータを伝送するために使用される。TAG値に応じて認証コードを付けて、又は付けずにペイロードを伝送することができる;を識別することができる;
・ セキュアパケットインデックス(Secure Packet Index:SPI):8バイト。通信で使用される一組の事前共有鍵と、ペイロードの保護及びMAC操作のために使用されるアルゴリズムとを識別するために使用される。
・ LEN(2バイト):ペイロード長さ、バイト;
・ IV(16バイト):ペイロードにおける暗号化動作のために使用される初期化ベクトル;
・ MAC(16バイト):ヘッダ及び暗号化ペイロードの両方で計算されるメッセージ認証コード。
SS2チャネルは以下の2つの異なるモードで動作させることができる:
・ 事前共有鍵:この場合、チャネルは制御PDUなしで動作させすることができる。2つの当事者は2,3の事前共有鍵(各方面につき1つの鍵)を使用してデータを保護する。鍵交渉は行われない;
・事前共有鍵と一時鍵:この場合、2つの当事者が制御PDUを交換する初期段階の後のみデータPDUを生成することができる。この場合、制御PDUは、以下に使用される:
‐ 通信で使用される事前共有鍵の合意;及び
‐ 一時鍵を派生させるための楕円曲線ディフィー・ヘルマン鍵交換の実行。実際の通信鍵は、不可逆機能を使って事前共有鍵と一時鍵とを組み合わせることによって取得される。
・ 事前共有鍵:この場合、チャネルは制御PDUなしで動作させすることができる。2つの当事者は2,3の事前共有鍵(各方面につき1つの鍵)を使用してデータを保護する。鍵交渉は行われない;
・事前共有鍵と一時鍵:この場合、2つの当事者が制御PDUを交換する初期段階の後のみデータPDUを生成することができる。この場合、制御PDUは、以下に使用される:
‐ 通信で使用される事前共有鍵の合意;及び
‐ 一時鍵を派生させるための楕円曲線ディフィー・ヘルマン鍵交換の実行。実際の通信鍵は、不可逆機能を使って事前共有鍵と一時鍵とを組み合わせることによって取得される。
SS2は、 ユーザとカーネル空間セキュリティコンポーネントとの間の通信を全て保護するために使用される。例えば、セキュアな音声アプリケーションは、ユーザ空間に、SS2符合化フレームのみを送受信する暗号化オーディオデバイスを提供する。更に、SS2は、ユーザ空間プロセスの間でセキュリティ関連情報を共有するためにも使用される。図6には、セキュリティコンポーネントとそれらの接続との全体像が示されており、以下の機能ブロックがある:
・ SKMは以下の4つのサブシステム、すなわち、
‐ 全ての暗号化材料及び動作を行う暗号プロバイダ;
‐上述のオーディオ処理を行うオーディオ;
‐保護及び認証されたバイナリパッケージ(実行ファイル、ライブラリ又はカーネルモジュール)をロードするローダ;及び
‐ microSD 実装SCと通信を行うサブシステムのASSD、によって構成される。
・ SCは外部microSDトークンに実装される;
・ 図の最上部にユーザ空間コンポーネントが全て集められている。これらの機能は:
‐ r2d2_client:r2d2_serverプロセスと話すサブシステム。このスタブはセキュアな音声アプリケーションと話す必要のあるその他のOSサービスによって使用される;
‐ r2d2_server:セキュアな電話の管理、セキュアなSMSサービスの実装、SKM状態の制御及びシステムの健全性の監視の1セットの動作を行うサブシステム;
‐ solib:セキュアな音声プロトコルを実装する一組の共有ライブラリ。r2d2_server は電話の構成に応じて適切なものを選択することができる。これらのライブラリは全てセキュアな音声電話の間のみ暗号化形態に保たれ、必要に応じて解読される。
・ SKMは以下の4つのサブシステム、すなわち、
‐ 全ての暗号化材料及び動作を行う暗号プロバイダ;
‐上述のオーディオ処理を行うオーディオ;
‐保護及び認証されたバイナリパッケージ(実行ファイル、ライブラリ又はカーネルモジュール)をロードするローダ;及び
‐ microSD 実装SCと通信を行うサブシステムのASSD、によって構成される。
・ SCは外部microSDトークンに実装される;
・ 図の最上部にユーザ空間コンポーネントが全て集められている。これらの機能は:
‐ r2d2_client:r2d2_serverプロセスと話すサブシステム。このスタブはセキュアな音声アプリケーションと話す必要のあるその他のOSサービスによって使用される;
‐ r2d2_server:セキュアな電話の管理、セキュアなSMSサービスの実装、SKM状態の制御及びシステムの健全性の監視の1セットの動作を行うサブシステム;
‐ solib:セキュアな音声プロトコルを実装する一組の共有ライブラリ。r2d2_server は電話の構成に応じて適切なものを選択することができる。これらのライブラリは全てセキュアな音声電話の間のみ暗号化形態に保たれ、必要に応じて解読される。
図6の中間部には、ユーザ空間でSS2プロトコルを実装するために必要なミドルウェアライブラリが含まれている。
図6の下部には、カーネルに含まれていないがSKMによって制御されるハードウェアコンポーネントの例が示されている。これらのハードウェアコンポーネントには、microSDカード、マイクロホン、スピーカーがある。
図7を参照すると、本発明の実施形態による方法の論理フローチャートが示されている。セキュア通信を必要とする通信デバイス(例えば、スマートフォン、通信能力を備えたタブレット)の動作を参照して本方法を説明する。本例による通信デバイスはスマートフォンであり、これは、スマートフォンの通信機能を実装するための複数のユーザ通信アプリケーションと、スマートフォンの任意の入力/出力通信を制御し、複数のユーザ通信アプリケーションと外部ネットワークとの間の唯一の考えられるアクセスであるセキュリティカーネルモジュール(SKM)と、デバイス固有の情報を含むセキュリティコアモジュール(SC)とを含み、セキュリティコアモジュールとセキュリティカーネルモジュールとの間、及び複数のユーザ通信アプリケーションとセキュリティカーネルモジュールとの間の情報交換は全て暗号化され、暗号化はセキュリティコアモジュールに格納された鍵に基づいて行われる。スマートフォンはまた、スマートフォンを1つ又は複数の通信ネットワーク及び外部環境(例えば、ユーザの音声)とインターフェース接続させるように構成された一組の入力/出力デバイス(例えば、マイクロホン、スピーカー、ネットワークカード、アンテナ)も含んでいる。本方法は開始の黒い丸701から始まって703へと進み、ここでシステムはSKMによって音声通信要求を検出する。本発明の好適な実施形態において、音声通信要求には、着信、ユーザ通信アプリケーションの中の1つからの、電話をかける要求、又は入力/出力デバイスの中の1つを使用する要求、着信データの伝送、及びスマートフォンと外部通信システム(例えば、電話ネットワーク、データネットワーク又は BlueTooth、NFC,赤外線又はRFIDなどの近接ベース通信を含むその他の通信手順)、又は1つ又は複数のユーザとの間に通信の確立を要求するその他の事象が含まれる。次に制御はステップ705に進み、ここでSKMはSCに含まれるセキュリティ情報を確認し、受信した音声通信要求が権限を与えられたソースからのものであるか否かを決定する(ステップ707)。権限を与えられたソースであれば、SKMはスマートフォン内の全ての通信(すなわち、SCとSKMとの間、及び複数のユーザ通信アプリケーションとSKMとの間の全ての通信)が暗号化されていることを確認し、この暗号化通信が確実に行われるようにし、SKMは、情報を複数のユーザアプリケーションに送信する前に、外部ネットワークから受信した任意の情報を暗号化し(ステップ709)、情報を外部ネットワークに送信する前に複数のユーザ通信アプリケーションから受信した任意の情報を復号化する(ステップ711)。暗号化/復号化はセキュリティコアモジュールに格納された情報(例えば鍵)に基づいて行う。ステップ707の確認の結果が否定的なものである場合、システムは通信を安全でないものと想定して緊急手順を採用する(713)。このような緊急手順は、例えば、複数のユーザ通信アプリケーションと外部ネットワークとの間の通信の防止、SCからのセンシティブ情報の消去、権限を与えられていないソースへのダミーオーディオサンプルの提供を含む複数のアクションを実装することができる。
本発明又は本発明の一部は、全体がハードウェアの実施形態、全体がソフトウェアの実施形態又はハードウェア要素及びソフトウェア要素の何れも含む実施形態の形態をとることができる。例えば、上述の実施形態において、セキュリティコアモジュールはハードウェアコンポーネント(例えばSDチップカード)で実装される。しかしながら当業者であれば、同じ機能性を持つセキュリティコアモジュールはソフトウェアを介して実現できることを理解するだろう。好適な実施形態において、本発明の一部は、ファームウェア、レジデントソフトウェア、マイクロコードなどを含むが、これらに限定されないソフトウェアに実装される。
更に、本発明はコンピュータ又は任意の命令実行システムによって、又はこれと接続して使用するためのプログラムコードを提供する、コンピュータが使用可能な、又はコンピュータ読み取り可能な有形的表現媒体からアクセス可能なコンピュータプログラム製品の形態をとることができる。この説明において、コンピュータ使用可能、又はコンピュータ読み取り可能な媒体は、命令実行システム、装置又はデバイスによって、又はこれと接続して使用されるプログラムの含有、格納、通信、伝播又は移植を行うことのできる任意の装置とすることができる。
媒体は、電子、磁気、光、電磁、赤外線もしくは半導体システム(装置、デバイス)又は伝播媒体とすることができる。コンピュータ可読媒体の例には、半導体又はソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダム・アクセス・メモリ(RAM)、リード・オンリ・メモリ(ROM)、剛体磁気ディスク及び光ディスクがある。光ディスクの例として、コンパクトディスク・リードオンリメモリ(CD−ROM)、コンパクトディスク・読み取り/書き込み(CD−R/W)及びDVDがある。
プログラムコードの格納及び/又は実行に適切なデータ処理システムには、システムバスによってメモリ素子と直接的又は間接的に連結される、少なくとも1つのプロセッサが含まれる。メモリ素子には、プログラムコードを実際に実行する際に使用されるローカルメモリ、大容量記憶装置、及び実行中にコードが大容量記憶装置から検索する回数を減らすために、少なくともいくつかのプログラムコードの一時的な格納を提供するキャッシュメモリが含まれる。
入力/出力、すなわちI/Oデバイス(キーボード、ディスプレイ、ポインティングデバイスを含むがこれらに限定されない)は、直接的又はI/Oコントローラを介入することによってシステムと連結させることができる。
Claims (14)
- 通信ネットワークと接続可能な通信デバイスによって通信を安全に行う方法であって、前記通信デバイスは、少なくとも1つのユーザ通信アプリケーションと、前記通信デバイスの入力/出力通信を制御し、前記少なくとも1つのユーザ通信アプリケーションと前記通信ネットワークとの間の唯一の考えられるアクセスであるセキュリティカーネルモジュールと、デバイス固有のセキュリティ情報を含むセキュリティコアモジュールと、前記セキュリティカーネルモジュールと接続された複数の入力/出力デバイスとを含み、前記セキュリティコアモジュールと前記セキュリティカーネルモジュールとの間、及び前記少なくとも1つのユーザ通信アプリケーションと前記セキュリティカーネルモジュールとの間の情報交換は全て暗号化され、以下のステップ、すなわち:
‐ 前記セキュリティカーネルモジュールにおいて通信要求を遮断するステップと、
‐ 前記セキュリティカーネルモジュールにおいて、前記通信要求が権限を与えられたソースからのものか、前記セキュリティコアモジュールのセキュリティ情報を確認するステップと、
‐ 権限を与えられたソースの場合、
‐ 前記セキュリティカーネルモジュールにおいて、前記情報を前記少なくとも1つのユーザ通信アプリケーションに送信する前に、前記複数の入力/出力デバイスから受信した任意の情報を暗号化するステップであって、該暗号化は前記セキュリティコアモジュールに格納された鍵に基づいて行うステップと、
‐ 前記セキュリティカーネルモジュールにおいて、前記情報を前記複数の入力/出力デバイスの少なくとも1つに送信する前に、前記少なくとも1つのユーザ通信アプリケーションから受信した任意の情報を復号化するステップと、
‐ 権限を与えられていないソースの場合、緊急セキュリティ手順を行うステップとを含む方法。 - 請求項1に記載の方法において、前記セキュリティコアモジュールはハードウェアコンポーネントを含む方法。
- 請求項2に記載の方法において、前記セキュリティコアモジュールはスマートカードチップを含む方法。
- 請求項1〜3の何れか1項に記載の方法において、前記少なくとも1つのユーザ通信アプリケーションは、音声アプリケーション、データ通信アプリケーション、Eメールアプリケーション、連携アプリケーション及びインスタント・メッセージを含む方法。
- 請求項1〜4の何れか1項に記載の方法において、前記通信デバイスの任意の入力/出力機能を電話待機中にディセーブルする方法。
- 請求項1〜5の何れか1項に記載の方法において、前記緊急手順には、前記少なくとも1つのユーザ通信アプリケーションと前記通信ネットワークとの間の任意の通信を防止するステップが含まれる方法。
- 請求項1〜6の何れか1項に記載の方法において、前記緊急手順には、保護されたデータへの権限を与えられていないアクセスを回避するために、選択された情報を消去するステップが含まれる方法。
- 請求項1〜7の何れか1項に記載の方法において、前記緊急手順には、前記権限を与えられていないソースにダミーのオーディオサンプルを提供するステップが含まれる方法。
- 請求項1〜8の何れか1項に記載の方法において、音声通信要求には、以下、すなわち、着信、前記少なくとも1つのユーザ通信アプリケーションからの、電話をかける、又は前記入力/出力デバイスの中の1つを使うという要求、着信データの伝送、前記通信デバイスと外部通信システムとの間に通信の確立を要求する事象の中の1つ又は複数が含まれる方法。
- 通信ネットワークと接続可能なセキュア通信用の通信デバイスであって、該通信デバイスは、
‐ 少なくとも1つのユーザ通信アプリケーションと、
‐ 前記通信デバイスの任意の入力/出力通信を制御し、前記少なくとも1つのユーザ通信アプリケーションと前記通信ネットワークとの間の唯一の考えられるアクセスであるセキュリティカーネルモジュールと、
‐ デバイス固有のセキュリティ情報を含むセキュリティコアモジュールと、
‐ 前記セキュリティカーネルモジュールと接続された複数の入力/出力デバイスとを含み、
前記セキュリティコアモジュールと前記セキュリティカーネルモジュールとの間、及び前記少なくとも1つのユーザ通信アプリケーションと前記セキュリティカーネルモジュールとの間の情報交換は全て前記セキュリティカーネルモジュールによって暗号化され、任意の通信要求は前記セキュリティカーネルモジュールによって遮断され、前記セキュリティカーネルモジュールは、前記通信要求が権限を与えられたソースからのものか、前記セキュリティコアモジュールのセキュリティ情報を確認し、
‐ 権限を与えられたソースの場合、
‐ 前記セキュリティカーネルモジュールは、前記情報を前記少なくとも1つのユーザアプリケーションに送信する前に、前記複数の入力/出力デバイスから受信した任意の情報を暗号化し、該暗号化は前記セキュリティコアモジュールに格納された鍵に基づいて行われ、
‐ 前記セキュリティカーネルモジュールは、前記情報を前記入力/出力デバイスの中の少なくとも1つに送信する前に、前記少なくとも1つのユーザ通信アプリケーションから受信した任意の情報を復号化し、
‐ 権限を与えられていないソースの場合、緊急セキュリティ手順を行う通信デバイス。 - 請求項10に記載の通信デバイスにおいて、前記セキュリティコアモジュールはハードウェアコンポーネントを含む通信デバイス。
- 請求項1〜9の何れか一項に記載の方法を行うように構成された1つ又は複数のコンポーネントを含む、セキュア通信のためのスマートフォン。
- コンピュータプログラムであって、該コンピュータプログラムがコンピュータで実行される場合、請求項1〜9に記載の方法のステップを実行するための命令を含むコンピュータプログラム。
- 請求項13に記載のコンピュータプログラムが符合化された、コンピュータ可読媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IT2014/000007 WO2015104726A1 (en) | 2014-01-10 | 2014-01-10 | Secure voice and data method and system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017511619A true JP2017511619A (ja) | 2017-04-20 |
Family
ID=50780830
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016544143A Pending JP2017511619A (ja) | 2014-01-10 | 2014-01-10 | セキュアな音声とデータの方法及びシステム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160337857A1 (ja) |
EP (1) | EP3092838B1 (ja) |
JP (1) | JP2017511619A (ja) |
WO (1) | WO2015104726A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10867074B2 (en) | 2017-11-08 | 2020-12-15 | Samsung Electronics Co., Ltd. | Electronic device and control method thereof |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB201212878D0 (en) | 2012-07-20 | 2012-09-05 | Pike Justin | Authentication method and system |
US10021213B2 (en) * | 2015-02-09 | 2018-07-10 | Google Llc | Systems and methods for adaptive cloning of mobile devices |
GB201520741D0 (en) * | 2015-05-27 | 2016-01-06 | Mypinpad Ltd And Licentia Group Ltd | Authentication methods and systems |
US10185599B2 (en) * | 2015-07-07 | 2019-01-22 | Openvpn Technologies, Inc. | Kernel mode accelerator |
US20210141911A1 (en) * | 2017-06-05 | 2021-05-13 | Sony Semiconductor Solutions Corporation | Communication device and control method |
CN107301011A (zh) * | 2017-06-11 | 2017-10-27 | 成都吱吖科技有限公司 | 一种互联网人机交互移动终端节能运行方法及装置 |
KR102629424B1 (ko) | 2018-01-25 | 2024-01-25 | 삼성전자주식회사 | 보안 기능을 지원하는 저전력 보이스 트리거 시스템을 포함하는 애플리케이션 프로세서, 이를 포함하는 전자 장치 및 그 동작 방법 |
CN110135151B (zh) * | 2019-05-23 | 2020-12-01 | 北京计算机技术及应用研究所 | 基于lsm与系统调用拦截相配合的可信计算实现系统及方法 |
US11786694B2 (en) | 2019-05-24 | 2023-10-17 | NeuroLight, Inc. | Device, method, and app for facilitating sleep |
WO2021158868A1 (en) * | 2020-02-06 | 2021-08-12 | Quantum Cloak, Inc. | Securing communications via computing devices |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5029206A (en) | 1989-12-27 | 1991-07-02 | Motorola, Inc. | Uniform interface for cryptographic services |
US5524134A (en) * | 1994-04-28 | 1996-06-04 | Motorola, Inc. | Telecommunications security module |
US20040243845A1 (en) * | 2002-02-01 | 2004-12-02 | Larsen Vincent Alan | System and method for process-based security in a network device |
EP1696605A1 (en) * | 2004-03-10 | 2006-08-30 | Matsushita Electric Industrial Co., Ltd. | Access control system, access control device used for the same, and resource providing device |
CN100512098C (zh) * | 2004-03-26 | 2009-07-08 | 上海山丽信息安全有限公司 | 具有指纹限制的机密文件访问授权系统 |
CA2462495A1 (en) * | 2004-03-30 | 2005-09-30 | Dspfactory Ltd. | Method and system for protecting content in a programmable system |
US8045958B2 (en) * | 2005-11-21 | 2011-10-25 | Research In Motion Limited | System and method for application program operation on a wireless device |
CN100437618C (zh) * | 2006-12-29 | 2008-11-26 | 北京飞天诚信科技有限公司 | 一种便携式信息安全设备 |
US9886590B2 (en) * | 2009-07-23 | 2018-02-06 | Oracle International Corporation | Techniques for enforcing application environment based security policies using role based access control |
KR20110034729A (ko) * | 2009-09-29 | 2011-04-06 | 삼성전자주식회사 | 프로세서를 포함하는 장치의 전력 관리 방법 |
TW201132040A (en) * | 2010-03-01 | 2011-09-16 | Gotrust Technology Inc | Encryption/decryption system for portable mobile phones |
US8918841B2 (en) * | 2011-08-31 | 2014-12-23 | At&T Intellectual Property I, L.P. | Hardware interface access control for mobile applications |
US9565576B2 (en) * | 2013-10-09 | 2017-02-07 | At&T Intellectual Property I, L.P. | Network operating system client architecture for mobile user equipment |
-
2014
- 2014-01-10 EP EP14726010.3A patent/EP3092838B1/en active Active
- 2014-01-10 US US15/109,958 patent/US20160337857A1/en not_active Abandoned
- 2014-01-10 JP JP2016544143A patent/JP2017511619A/ja active Pending
- 2014-01-10 WO PCT/IT2014/000007 patent/WO2015104726A1/en active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10867074B2 (en) | 2017-11-08 | 2020-12-15 | Samsung Electronics Co., Ltd. | Electronic device and control method thereof |
Also Published As
Publication number | Publication date |
---|---|
EP3092838A1 (en) | 2016-11-16 |
US20160337857A1 (en) | 2016-11-17 |
EP3092838B1 (en) | 2019-10-09 |
WO2015104726A1 (en) | 2015-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3092838B1 (en) | Secure voice and data method and system | |
US11848753B2 (en) | Securing audio communications | |
US9317702B2 (en) | System and method for providing secure inter-process communications | |
KR101571641B1 (ko) | 모바일 디바이스 상에 보안 가상 환경을 제공하기 위한 방법 및 장치 | |
US9396325B2 (en) | Provisioning an app on a device and implementing a keystore | |
US9426159B2 (en) | Securing sensor data | |
CN108509802B (zh) | 一种应用程序数据防泄密方法和装置 | |
TW201251482A (en) | Apparatus and methods for storing electronic access clients | |
CN104335548A (zh) | 安全数据处理 | |
WO2017166362A1 (zh) | 一种esim号码的写入方法、安全系统、esim号码服务器及终端 | |
Wang et al. | MobileGuardian: A security policy enforcement framework for mobile devices | |
Luo et al. | Towards hierarchical security framework for smartphones | |
JP6225426B2 (ja) | 情報資源保護プログラム、及び情報資源保護方法 | |
Boukayoua et al. | Improving secure storage of data in android | |
Moran | Security for mobile ATE applications | |
EP4174695A1 (en) | Method to store data persistently by a software payload | |
EP4175219A1 (en) | Method to establish a secure channel | |
Boukayoua et al. | Secure storage on Android with context-aware access control | |
WO2023073197A1 (en) | Method to establish a secure channel | |
Jones | An analysis of vulnerabilities presented by Android malware and iOS jailbreaks | |
Raza et al. | Security Analysis and Countermeasures of Current Smart Phones Applications |