説明

受信側の印章によりリモートコードの安全を保証する方法

2つの電子デバイス間におけるデータ交換の安全を保証する方法であって、2つの電子デバイスのうち少なくとも一つについての印章を使用する。当該印章は、このデバイスを構成する電子部品の全部又は一部に基づいて取得される。当該印章は、交換されるデータの秘密性を保護するため、もしくは、そのデータの発行元の身元を証明するために提供される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、受信側の印章によりリモートコードの安全を保証することに係り、より詳細には、配布されたコードを実行している間の2つのデバイス間におけるデータ交換の安全を保証する方法に関するものである。
【背景技術】
【0002】
携帯電子機器の転換は急速に進んでいる。事実、その記憶容量は向上しており、また、面積単位当たりの計算能力を増加させ、全体的面積を削減している。
【0003】
そのようなデバイスの新たな世代では、新しい分布モデルの開発が可能となった。
そのようなデバイスは最近ではスマートキーと呼ばれ、メモリと、電子秘密情報と、保全された電子モジュールにアクセスするための手段とを備えることを特徴とする。実行可能コンピュータコード(1つ又はいくつかのソフトウェア)は、そのようなスマートキーのメモリに記憶され、(通常USBキーである、スマートキーの通信インターフェースを介して)実行デバイスとも呼ばれる別のホスト電子デバイスにロードされるよう意図されている。
【0004】
そのような特定のコードは、現在CDROMと呼ばれている。なぜなら、多くの場合当該コードは、ホスト電子デバイス(コンピュータ)によってCD−ROMとみなされるように(即ち「コンパクトディスク」のように)真似た「読取り専用」領域に、「ISO」イメージとして貯蔵されるからである。
【0005】
一般的には、スマートキーがコンピュータに挿入されると、コンピュータはスマートキーを検出及び認識し、そして活性化させる。当該活性化の段階は、とりわけ、CD−ROMを含む、スマートキーによって供給される様々な「ディスク」を、オペレーションシステムに設ける段階を含む。一旦活性化されると、スマートキーは当該CDROMの内容を、その内容を実行するコンピュータに送信する。
【0006】
このような技術によって、可能な限り大きな実行可能コードを、USB通信インターフェースを介して不特定のサポートへ移送し、コンピュータ内に広く普及させることができる。事実、コンパクトディスク及びその後続世代では、そのようなコンピュータコードを移送することができ、しかも静的に行うことができる。
【0007】
スマートキーは、当該コンピュータコードの発達を可能とするだけではなく、埋め込まれた秘密情報や保全された電子モジュールに関する全ての機能性を提供することができる。そのような機能性は、例えば、安全に関するものであってよい。
【0008】
さらに、そのようなデバイスは、あるデバイス(実行デバイスと呼ぶ)のソフトウェアリソースに依存することなく、実行デバイス内のコンピュータアプリケーションを実行することを可能にする。事実、スマートキーから提供されるコンピュータコードは、実行デバイスの電子リソースのみを使用する。
このことは、実行デバイスに依存することを必要とせず、実行デバイスのソフトウェアを使用することを可能にする。また、実行されるコンピュータコードが永久または永続的に実行デバイスに保存されないので、何等形跡を残すことなく実行デバイスのソフトウェアを使用することができる。
【発明の概要】
【発明が解決しようとする課題】
【0009】
このシステムに伴う主要なリスクは、実行デバイスがコンピュータウイルスやトロイの木馬型の不正プログラムを含んでいる可能性があることである。
厳密に言えば、コンピュータウイルスは、「ホスト」プログラムと呼ばれる正規のプログラムへ密かに侵入することによって他のコンピュータへ伝播するように作成されたコンピュータプログラムである。またこれは、感染コンピュータの動作に大なり小なり深刻な憂慮すべき悪影響を(想定されていようがいまいが)与えうる。
トロイの木馬は、ユーザには有益なアプリケーション又はファイルであると見せかけつつ、有害な動作を実行するプログラムである。
【0010】
その不正プログラムあるいは「マルウェア(悪意あるソフトウェア)」が何であれ、それらの多くの主機能は、攻撃の足掛かりとなることである。すなわちこのプログラムは、感染コンピュータ内で発生した全部又は一部のイベントを獲得し、それらをいわゆる攻撃コンピュータに(一般的にインターネットを介して)伝送する。またその逆も同様である。この動作は、とりわけ、感染コンピュータに対するスパイ行為や感染コンピュータのアプリケーションのいくつかを悪用することを可能にする。
【0011】
事実、感染コンピュータに挿入されたスマートキーを起源とするプログムのコピーを(同様なスマートキーを適法に有していたり、他の手段によって大容量メモリのコンテンツを見つけたりすることにより)攻撃コンピュータが有している場合に、このプログラムを利用することで、マルウェアは正規の持ち主に気付かれずに、攻撃コンピュータが例えばスマートキーのサービスを使用することを可能にする。
【0012】
このようなマルウェアを、感染コンピュータ内で発生したイベントをスパイすることやそのイベントを攻撃コンピュータに伝送することができるものと基本的に定義する。またその逆も同様である。
【0013】
従って、感染コンピュータで実行されるアプリケーションと感染コンピュータに接続されたスマートキーとの間の情報交換をスパイすることができてしまう。従って、攻撃コンピュータで実行されるアプリケーションに、感染コンピュータで実行されるアプリケーションによって受信された情報と同じ情報を提供することができる。この技術はアプリケーションの同期と呼ばれる。反対に、攻撃コンピュータも自身のアプリケーションを起動することができ、そのアプリケーションがスマートキーからのサービスを必要とすれば、感染コンピュータ内にあるマルウェアに要求を送信し、その動作が感染コンピュータ内のアプリケーションで発生したかのように装うことにより、感染コンピュータに、当該要求をスマートキーへ伝送させることができる。
このトリックにより、被害者に気付かれることなく、攻撃者は被害者のスマートキーから提供されるサービスや機能を利用することができる。
本発明はそのような攻撃を回避することを目的とする。
【課題を解決するための手段】
【0014】
上述の目的のため、具体的に本発明は、「コンピュータ」とも呼ばれる少なくとも1つの第2の電子デバイスと通信可能な、「スマートキー」とも呼ばれる少なくとも1つの第1の電子デバイスとの間のデータ交換の安全を保証する方法であって、「スマートキー」電子デバイスは、少なくとも1つのコントローラと第1の実行可能コンピュータコードを格納する大容量メモリと、「安全エージェント」とも呼ばれる第2の実行可能コンピュータコードとのアクセス手段とを含み、第1の実行可能コンピュータコードは「コンピュータ」デバイスで実行されるよう意図されている。この方法は少なくとも、
−コントローラが、「コンピュータ」デバイスに対して第2の実行可能安全エージェントコード(25)と第2の電子デバイスによってこれを実行させるコマンドとを送信したことを認識するステップと、
−安全エージェントコードが、「コンピュータ」デバイスを構成する電子部品の全部又は一部に関連する情報を収集するステップと、
−収集した情報に基づいて「コンピュータ」デバイスの印章を作成(又は発生:どちらの用語も正しい)するステップと、
−印章を用いて「コンピュータ」デバイスと「スマートキー」デバイスとの間のデータ交換の全部又は一部の保全をはかるステップと、を含む。
【0015】
ある実施例では、「コンピュータ」デバイスを構成する電子部品の全部又は一部に関連する情報は、修正不可能な情報であってもよい。
そのような情報は、例えばシリーズ番号や技術的特徴であってもよい。
【0016】
ある実施例では、印章は安全エージェントコードによって作成されてもよい。また別の実施例では、収集された情報は「スマートキー」デバイスに送信され、この「スマートキー」デバイスによって印章が作成されるようにしてもよい。若しくは、収集された情報は保全電子デバイスSEに送信され、この保全電子デバイスによって印章が作成されるようにしてもよい。
印章の作成は、一定でないデータの利用を含むようにしてもよく、この一定でないデータはランダム番号であってもよい。
【0017】
ある実施例によっては、本方法は第1の実行可能コンピュータコードが実行される前に実行されてもよいし、若しくは、例えば本方法を起動する第1の実行可能コードの実行中に実行されてもよい。
【0018】
本発明のその他特徴及び利点は、添付図面を参照し、これに限定されない一例として示す以下の記載により明らかになる。
【図面の簡単な説明】
【0019】
【図1】従来技術による、マルウェアの不正オペレーションを示す図。
【図2】本発明の実装を示す図。
【発明を実施するための形態】
【0020】
図1には、電子デバイス1に接続されたスマートキー2が示されている。この電子デバイスはコンピュータとして示される。通常のシステム動作において、コンピュータ1とキー2とは両方向矢印4で示される通信チャンネルを介して通信を行う。このチャンネルは如何なるコンピュータ通信プロトコルによっても提供されうる。
そのようなプロトコルは、Tキャリア(T1,T3等)、RS232、イーサネット(登録商標)、IDE等のような有線のものであってもよいし、若しくは赤外線、Wifi、Bluetooth(登録商標)、RFID等のような無線のものであってもよい。
【0021】
好適な実施例では、キーとコンピュータとはUSB(ユニバーサル・シリアル・バス:Universal Serial Bus)プロトコルを介して通信する。このプロトコルを使用することにより、キー2が図1のコンピュータ1のようなパーソナルコンピュータに接続し、(ほとんどのオペレーションシステムに存在し、現在「ドライバ」とも呼ばれる低レベルのソフトウェアを介して)認識されることを容易にすることができる。
【0022】
最適には、キーがチップカードのような保全モジュール3を備えることが好ましい。
キー2とコンピュータ1と場合によっては保全モジュール3との間の情報交換を容易に管理するために、コントローラ6がしばしばスマートキーに挿入される。図1においてボックス6で示されるコントローラは、少なくとも1つの演算部(マイクロプロセッサ)と、ワーキングメモリ(揮発性メモリ)と、不揮発性メモリ(例えばRAM又はROM)とがスマートキー2内に設けられることを前提としている。
【0023】
さらにキーは、大容量メモリとも呼ばれる不揮発性メモリ7を含む。不揮発性メモリ7は、実行可能コンピュータコード5を備える。以下、本明細書では、この実行可能コンピュータコード5を「アプリケーション」と呼ぶ。
【0024】
キー2がコンピュータ1に接続されると、キーはその起動のために必要な電源を受取る。するとコントローラ6はコンピュータ1と通信する。
この段階において、コントローラは、通信セッションを開始する。この通信セッションでは特に、キーが有する電子デバイス(大容量記憶部やマルチメディアデバイス等)のタイプによってキーの識別が行われるものとする。
【0025】
また、アプリケーション5がキーに含まれており、そのアプリケーションがコンピュータ1の電子リソースによって実行されなければならないものであることを、キーがコンピュータ1に通知する間にも、通信は開始する。好適には、コンピュータがそのアプリケーションをCDROMであると識別することによっても、そのような通信は開始しうる。実際、CDROMをコンピュータに挿入すると、コンピュータはCDROMを識別し、CDROMが許可する場合には、コンピュータ(又はより正確にはコンピュータオペレーションシステム)からの標準的な応答としてそのコンテントを実行する(自動実行)。
【0026】
アプリケーションがコンピュータ1に登録されると、キー2のコントローラ6はアプリケーション5を、コンピュータ1に送る。8として示されるようにコンピュータ1はこれを実行する。
このコンピュータシステムは、とりわけ、コンピュータ1にはないアプリケーション5をコンピュータ1で実行することを可能にする。さらに、保全モジュール3を用いることにより、最先端の暗号ツールを有するアプリケーション5の使用を制限することができる。例えば、(例として、パーソナルコード(「PIN」コード)を使用することにより)保全モジュールに与えられた認証は、如何なる侵襲的命令にも対応することができる。
【0027】
本発明による動作はソフトフォンを例として説明されるため、図1においてこのアプリケーション8は電話機として示されている。
ソフトフォンとは、電話機からではなくインターネットを介したコンピュータからの電話通信用に使用されるソフトウェアの種類のことである。最適な安全レベルを提供するために、ソフトフォンのいくつかは、一般的にUSB形態の外部ドングルを用いて操作される。
【0028】
図1に示す例では、ソフトフォンのコード5は、キー2の不揮発性メモリ7内に設けられ、CDROMを介してコンピュータ1に伝送される。保全モジュール3は、電話通信ネットワークのユーザを認証するために必要なすべての要素をさらに備える。かかる情報は、ユーザへの課金やユーザの責任を課すために使用されるため、秘密かつ重要である。事実、私的通信を介した不正行為は、その所有者の責任となる。
【0029】
図1においてアイコン9で示されているものは、コンピュータ1内に存在するウイルスである。ウイルスは、ハッカーのコンピュータ11内にある対応物10と接触を図る。ウイルスは如何なる手段によっても通信することができる。さらに具体的には、赤外線やBluetooth等や、より多くの場合には、インターネット接続があれば、インターネット接続13の作用によって通信することができる。
【0030】
攻撃が届くように、ハッカーのコンピュータ12は、ソフトフォン・アプリケーションのバージョン12を有する。ハッカーのコンピュータがこのアプリケーションのバーションを有しうるのは、ハッカーもキー2と同一タイプのスマートキーを所有している場合もあるが、例えばアプリケーションの権利が失効していたり、あるいは例えば違法ローディング等によってアプリケーションを違法に取得したりする場合もある。
【0031】
動作を実行するには、すなわち本実施例では電話をかけるには、アプリケーション12は、ハッカーが有していない有効な認証要素を備えるキーへのアクセス手段が必要である。
ここで、ウイルス10は、キー2の保全モジュール3内に含まれる要素を使用するために、ウイルス9に接触する。
実際には、ウイルス10はソフトフォン12を有するとともに、キーであるかのように偽る。そして、当該仮のキーに対することを意図した通信を受信する。そのような情報はウイルス9に伝送され、引き換えに、それをソフトフォン8ではなくキー2に送信する。キー2によって返送された情報は、ソフトフォン12へ通信する伝送路を介して戻される。
【0032】
図2は、本発明を図1のダイアグラムに統合したものである。
実際には、本発明による方法では、ソフトフォン・アプリケーション20を起動する前に、コンピュータ21の印章を計算する。そのような印章は、コンピュータの電子部品に基づく。
【0033】
実際、コンピュータのような電子デバイスは、電子部品22、23、24を備える。そのような部品は、本質的に固有のものである。基本的に、同一モデルかつ同一シリーズの2つのプロセッサは、そのシリーズ番号により区別される。例えば、2つの記憶装置は、そのシリーズ番号又はアドレス可能領域の配置によって区別される。本発明は、デバイス21に固有の印章を得るために、いくつかの部品にある上述したような情報を収集する。
シリーズ番号を使用することは、実施例において特に有効な方法であり、その性能計算も非常に優れた結果をもたらす。
性能計算は、2つの部品によって実行される同一の(比較的複雑な)動作が、若干異なる時間で実行されるという事実に基づく。そのような異なる時間は、その部品の特徴的性質でもある。
【0034】
本発明は従って、安全エージェントとも呼ばれ、上述したような情報収集を担う実行可能コンピュータコード25を提案する。安全エージェントはキー26によって提供され、コンピュータ21によって実行され、コンピュータの部品22、23,24を分析する。安全エージェントは、キー26の不揮発性メモリ27又は保全モジュール28のうちいずれかに貯蔵されうる。そのような安全エージェントはまた、収集したデータに基づいて印章29を計算することを担う。本実施例によると、安全エージェントは、スマートキーの設定時点から又はその設定の後、かつどちらの場合においても本発明によってもたらされる安全レベルを要求するアプリケーションを使用する前に、伝送及び実行されうる。
【0035】
実施例による方法によれば、特徴的な値を有する部品22、23、24の全てが使用される。しかしながら、好適な実施例によれば、一部の部品のみが印章29を規定するために使用される。そのような特定の部品は、その本質によって、又はランダムに、若しくはその両方によって、選択されうる。
【0036】
例えば、本発明による解決方法では、印章29を規定する間、安全エージェント25は、特徴的な値を与えることができる部品22、23、24の全部又は一部のリストを収集する。そのようなリストはキー26に伝送され、キーはこのリストからサブセットを選択することにより、印章29を作成するための値を有する部品を規定する。
【0037】
通信スパイや「リプレイ」から保護するために、そのようなサブセットの交換を定期的に行うことが特に効果的な方法である。
「リプレイ攻撃」とは、「介入者」型攻撃であり、データパケットを妨害し、それらをそのまま(暗号解読をせずに)受信側コンピュータに返送、すなわち再伝送するものである。
【0038】
本発明のある実施例によっては、印章29はアプリケーション20の一部によって計算されたり、キー26内あるいは保全モジュール28内で計算されたりする。
印章の作成に保全モジュールを使用すれば、その作成中、保全モジュール28内に埋め込まれた暗号手段の全部又は一部を使用することができる。
【0039】
印章は、少なくとも1つの機能を利用することにより、選択された部品の値に基づき作成される。
この機能は、再成可能でなくてはならない。すなわちその機能は、入力パラメータの1つのセットとただ1つの結果とを一致させる。
また、非可逆的な機能を選択してもよい。すなわち、その結果から入力パラメータを見つけることができないようにする。
そのような機能の特に効果的な例として、例えば、「排他的論理和」機能やハッシング機能を用いてもよい。
【0040】
ハッシング機能とは、印章を1つの要素と適合させることができる機能であり(ハッシュバージョンとも呼ばれる)、以下の3つの重要な特徴を維持するものである。
−印章作成のために使用される情報を見つけることが不可能なハッシュバージョンから開始すること。
−電子データ処理の場合、それが何であれ、同一のハッシュ機能が適用されるときに同一のハッシュバージョンを与える2つのデータを見つけることが不可能であること。
−電子データ処理の場合、データ及びハッシュバージョンから及びハッシュ機能から、同一のハッシュバージョンを有する別のデータを見つけることが不可能であること。
【0041】
SHA−1(安全ハッシュアルゴリズム1(Secure Hash Algorithm 1):160ビット)やSHA−2(SHA−256、SHA−384又はSHA−512ビットのうちどれを選択してもよい)がハッシュ機能として頻繁に使用される。
【0042】
本発明の好適な実施例では、印章を作成する段階で他の値を利用してもよい。そのような値は固定値ではなく、従って、例えばランダム番号でもよい。
印章29が作成されると、全部又は一部のデータ交換の安全を保証するために、印章はソフトフォン・アプリケーション20及びキー26によって共有されなければならない。通常、保全モジュール28がキー26のために印章29を保持及び使用する。
【0043】
本発明の特に興味深い実施例では、そのような印章29の通信妨害を防止するために、安全エージェント25は、コンピュータ21によってロード及び実行される。安全エージェントはコンピュータ21の部品22、23、24の全部又は一部にある情報を収集し、それらをキー26に伝送する。
【0044】
キー26は、保全モジュール28を用いてそのような情報のサブアセンブリを選択し、上述した方法で印章29を作成する。印章は、プログラム20bisがコンピュータ21によってロード及び実行される前にプログラム20bisに統合される。すると当該プログラムは、印章がコンピュータ21とキー26との間で直接交換されることなく、印章29を識別することができる。
【0045】
データ交換の安全を保証する方法として、様々な形態がある。実際、それは一方方向又は両方向で適用されうる。
一方方向で安全を保証する場合、例えばソフトフォン・アプリケーション20から発生しキー26へと伝送される情報、もしくは、その逆方向の情報にのみ有効である。
ソフトフォンはそのメッセージに印章29を使用し、キー26は正しい印章が使用されたか否かをチェックする。
【0046】
さらに、そのデータ交換が秘密か否かよってその安全を保護することができる。
もし秘密保護が選択された場合、データ交換は、全部又は一部の印章を含むキーと秘密鍵アルゴリズムとにより暗号化され、安全が保証される。もしデータ交換の秘密性に関して保証しないという選択がなされた場合、発行元が保証されるようにデータ交換をマークすることによって安全が保証される。印章をデータの始め又は終わりに付けることも、本実施例における解決方法のひとつである。安全を保証するデータは、印章29を考慮しつつ、ハッシュバージョンに関連付けられるようにしてもよい。
【0047】
もしシステムのデバイスのうち一つが受信したデータが想定よりも安全ではない場合、本発明の好適な実施例によれば、そのようなデータは無視されるであろう。また別の実施例では、そのようなデータは処理されてもよいが、その情報の一部はその後の分析のために保存されうる。
【0048】
従って、コンピュータ21にインストールされたウイルス31は、データの安全を保証するために要求される印章29を有しないので、アプリケーション32の情報をキー26に伝送することはない。
【符号の説明】
【0049】
1、21:コンピュータ
2、26:スマートキー
3、28:保全モジュール
6、30:コントローラ
7、27:不揮発性メモリ
22、23、24:電子部品
25:安全エージェントコード
29:印章

【特許請求の範囲】
【請求項1】
少なくとも1つの第2の電子デバイス(1)と通信可能な少なくとも1つの第1の電子デバイス(2)との間のデータ交換の安全を保証する方法であって、
前記第1の電子デバイス(2)は、少なくとも1つのコントローラと、第1の実行可能コンピュータコード(5)を格納する大容量メモリ(7)と、安全エージェントコード(25)と呼ばれる第2の実行可能コンピュータコードとのアクセス手段とを含み、
前記第1の実行可能コンピュータコード(5)は前記第2の電子デバイス(1)で実行されるよう意図されており、
前記方法は、
a)前記コントローラが、前記第2の電子デバイス(1)に対して前記第2の実行可能コンピュータコード(25)と前記第2の電子デバイス(1)によってこれを実行させるコマンドとを送信したことを認識するステップと、
b)前記第2の実行可能コンピュータコード(25)が、前記第2の電子デバイス(1)を構成する電子部品(22,23,24)の全部又は一部に関連する情報を収集するステップと、
c)収集した情報に基いて前記第2の電子デバイス(1)の印章を作成するステップと、
d)前記印章を用いて前記第1の電子デバイス(2)と前記第2の電子デバイスとの間のデータ交換の全部又は一部の保全をはかるステップと、
を含むことを特徴とする方法。
【請求項2】
請求項1に記載の方法において、
前記第2の電子デバイス(1)を構成する電子部品(22,23,24)の全部又は一部に関連する前記情報は、修正不可能な情報であることを特徴とする方法。
【請求項3】
請求項2に記載の方法において、
前記情報は、シリーズ番号であることを特徴とする方法。
【請求項4】
請求項2に記載の方法において、
前記情報は、技術情報であることを特徴とする方法。
【請求項5】
請求項1乃至4のいずれか1項に記載の方法において、
前記印章は、前記第2の実行可能コンピュータコード(25)によって作成されることを特徴とする方法。
【請求項6】
請求項1乃至4のいずれか1項に記載の方法において、
前記情報は前記第1の電子デバイス(2)に送信され、前記第1の電子デバイス(2)によって前記印章が作成されることを特徴とする方法。
【請求項7】
請求項1乃至4のいずれか1項に記載の方法において、
前記情報は保全電子デバイス(SE)に送信され、前記保全電子デバイス(SE)によって前記印章が作成されることを特徴とする方法。
【請求項8】
請求項5乃至7のいずれか1項に記載の方法において、
前記印章の作成は、一定でないデータの利用を含むことを特徴とする方法。
【請求項9】
請求項8に記載の方法において、
前記一定でないデータは、ランダム番号であることを特徴とする方法。
【請求項10】
請求項1乃至9のいずれか1項に記載の方法において、
前記方法は、前記第1の実行可能コンピュータコード(5)が実行される前に実行されることを特徴とする方法。
【請求項11】
請求項1乃至9のいずれか1項に記載の方法において、
前記方法は、前記第1の実行可能コンピュータコード(5)の実行中に実行されることを特徴とする方法。
【請求項12】
請求項11に記載の方法において、
前記方法は、前記第1の実行可能コンピュータコード(5)によって起動されることを特徴とする方法。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2012−532392(P2012−532392A)
【公表日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2012−518865(P2012−518865)
【出願日】平成22年6月18日(2010.6.18)
【国際出願番号】PCT/EP2010/058668
【国際公開番号】WO2011/003721
【国際公開日】平成23年1月13日(2011.1.13)
【出願人】(309014746)ジェムアルト エスアー (23)
【Fターム(参考)】