(57)【要約】  コンピュータ・デバイスのためのインストーラはまず、インストールされるソフトウェア・パッケージが署名されているか否かを判定する。パッケージが署名されている場合、デバイスにインストールされる。しかしながら、パッケージが署名されていない場合、パッケージが非ヌルＶＩＤ（ベンダーＩＤ）を含む場合のみインストーラはデバイスにパッケージをインストールする。【選択図】図１
2009505194.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ・デバイスの動作方法であって、
ｇ．各実行ファイルはビルド時点でベンダーＩＤ（ＶＩＤ）又はゼロからなるヌルＶＩＤのいずれかが選択的に割り当てられ、
ｈ．前記ＶＩＤは前記デバイスに使用される前記実行ファイルのフォーマットのメタデータの一部に含まれ、
ｉ．製造時点で前記デバイスに含まれないすべての実行ファイルは該実行ファイルを実行する前に単一のコンポーネント（インストーラ）によって前記デバイスにインストールされ、
ｊ．前記デバイスにアプリケーション・パッケージがインストールされるときに、前記インストーラが該アプリケーション・パッケージに適切に署名されているかを確認し、
ｋ．前記パッケージが署名されていない場合は、前記パッケージがヌルＶＩＤ以外の任意のＶＩＤを含む実行ファイルを含まないことを前記インストーラが検証し、
ｌ．パッケージの署名処理は、すべての割り当てられたＶＩＤを、アプリケーション署名時点でアプリケーション・パッケージに含まれる任意の実行ファイルが前記適切なＶＩＤを含むことを保証するすべての署名局に対して配布することを含む
ことを特徴とするコンピュータ・デバイスの動作方法。
【請求項２】
請求項１に記載の方法に従う動作を備えるコンピュータ・デバイス。
【請求項３】
コンピュータ・デバイスに請求項１に記載の方法に従う動作を行わせるオペレーティング・システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・デバイスの動作のセキュリティ向上のための方法に関し、特にオープンプラットフォームを有する携帯電話向けのアプリケーションのソースコードを所有する企業を識別するためのベンダーＩＤの使用によるコンピュータ・デバイスの動作のセキュリティ向上のための方法に関する。
【背景技術】
【０００２】
「コンピュータ・デバイス」という用語は、デスクトップ・コンピュータ、ラップトップ・コンピュータ、ＰＤＡ（Personal Digital Assistant）、携帯電話、スマートフォン、デジタルカメラ、及びデジタル音楽プレーヤーを制限することなく含む。この用語はさらに、すでに言及したデバイスの一つ以上の種類の機能を、多くのその他の産業用及び家庭用の電化製品に一緒に組み込んだコンバージェンス機器も含む。
【０００３】
所有者や使用者に新しいアプリケーションや新しい機能を提供するソフトウェアをインストールすることを許容するコンピュータ・デバイスをオープン・デバイスと呼ぶ。このようにデバイスの実用性の拡張を可能にすることには明らかな利益があるものの、この容易さは所有者や使用者に対する重大なセキュリティ上の危険性を意味し得ることは明白である。コンピュータ・デバイスがネットワークを介して他のデバイスと接続されると、危険性はネットワークに接続される他のすべてのデバイスに拡張され、ネットワーク自体の整合性をも脅かす。
【０００４】
オープン・コンピュータ・デバイスに影響を与える悪意のあるプログラム（マルウェア）の重大な危険性が存在することは今では広く認識される。最近のインターネットの記事（非特許文献１）に、ウィルス、ワーム、ワビット、トロイ、バックドア、スパイウェア、エクスプロイド、ルートキッド、キーロガー、ダイヤラ、ＵＲＬインジェクターを含む１１種類の異なるマルウェアが確認され、記載されている。
【０００５】
ソフトウェアの要素（ｉｔｅｍ）を創出する企業や個人に関する信頼できる情報を獲得できれば、このソフトウェアの要素に適用できる信頼性のレベルを定義するのに計り知れないほど役立つ。このことは使用者だけでなく、特にコンピュータ・デバイスで実行され得るオペレーティング・システム（ＯＳ）と関連するサービスとについても当てはまる。
【０００６】
この問題に対する一つの解決策は、デバイスが読み出すことができる全世界で一意なベンダーＩＤ（ＶＩＤ）をソフトウェアに割り当てることである。ＶＩＤは、特定の製造元やベンダーに一意に割り当てることができる単なる数字である。ＶＩＤを読み出すことで作成者を識別することができ、このことにより要素が信頼できることの証拠が提供される。
【０００７】
ＶＩＤはコンピュータ・デバイスを含む多くの技術分野で使用されている。ＶＩＤはハードウェア・デバイスで広く用いられている。非特許文献２に定義がある。
非特許文献３は、ＵＳＢ（Universal Serial Bus）を組み込むデバイスがどのように自己の製品にベンダーＩＤを含むかの例を提供する。非特許文献４は、ＰＣＩカードのメーカーによって使用されるすべてのベンダーＩＤの一覧を含む。ベンダーＩＤはソフトウェア・パッケージにも使用される。非特許文献５はパームＯＳにおいて製造者ＩＤがどのように割り当てられるかを説明し、非特許文献６はインターネット鍵交換プロトコルの独自仕様の拡張子に接続するときのベンダーＩＤの使用について論じる。
【非特許文献１】http://en.wikipedia.org/wiki/Malware
【非特許文献２】http://www.computerhope.com/jargon/v/vendorid.htm
【非特許文献３】http://www.usb.org/developers/vendor/
【非特許文献４】http://www.pcidatabase.com/vendors.php?sort=id
【非特許文献５】http://www.palmos.com/dev/tech/palmos/creatorid/
【非特許文献６】http://www.ietf.org/rfc/rfc2408.txt?number=2408
【発明の開示】
【発明が解決しようとする課題】
【０００８】
上記で与えられるベンダーＩＤの実装は、セキュリティの観点ではものすごく実用的というわけではない。どのベンダーＩＤも偽装（ｉｍｐｅｒｓｏｎａｔｉｏｎ）やなりすまし（ｓｐｏｏｆｉｎｇ）に対抗した実際の証拠を提供しない。このことはおそらく、ハードウェアに組み込まれたベンダーＩＤにとっては重要ではない。ハードウェアは一般的に悪意のあるソフトウェアによる同じ種類の攻撃に影響を受けにくいからである。しかし、ベンダーＩＤはなりすましに対抗する証拠自体にはならないという事実はちょっとした弱点である。明らかに、悪意のあるソフトウェアの製造者はサードパーティのＶＩＤを調達することを気にしないだろう。実際に、マルウェアを使用者に真正品としてより魅力的に及びより受け入れやすくしそうならば、悪意あるソフトウェアの製造者はまさにそうするであろう。
【０００９】
もちろんこの問題はＶＩＤをセキュアなデジタル署名証明書に組み込むことで解決する。しかし、これをした場合、セキュリティの方法としてＶＩＤ自体は不必要になる。なぜならば、証明書の連鎖自体で誰が署名したかを確認でき、信頼性を確証するためのすばらしい方法がよく知られているためである。
【００１０】
しかしながら、デジタル署名証明書はソフトウェアをインストールするときにだけ実用的である。デジタル署名証明書はコンピュータ的にとても高価なものであり、コンピュータ・デバイスで実行時に連続して使用するにはとても負荷が高い。
【００１１】
対照的に、ＶＩＤは算術的な比較を要求するだけなので、迅速にかつ単純に確認される。これにより、ひとたびソフトウェアがデバイスに配置されたら、その出所を確認するのが必要なときに、実用的にＶＩＤを使用することができる。残念なことに、前述のＶＩＤの実装は、実行時の識別における絶対的な証明として依存できる十分な信用を提供しない。
【課題を解決するための手段】
【００１２】
本発明によれば、アプリケーションの署名に使用されるデジタル証明書をインストールされたときにアプリケーションＶＩＤが有するため、実行時に確認されるアプリケーションＶＩＤに対する十分な信頼をオープン・コンピュータ・デバイスに持たせることを許容できる。
【００１３】
本発明の第１の側面によれば、コンピュータ・デバイスの動作方法であって、
ａ．各実行ファイルはビルド時点でベンダーＩＤ（ＶＩＤ）又はゼロからなるヌルＶＩＤのいずれかを選択的に割り当てられ、
ｂ．前記ＶＩＤは前記デバイスに使用される前記実行ファイルのフォーマットのメタデータの一部に含まれ、
ｃ．製造時点で前記デバイスに含まれないすべての実行ファイルは該実行ファイルを実行する前に単一のコンポーネント（インストーラ）によって前記デバイスにインストールされ、
ｄ．前記デバイスにアプリケーション・パッケージがインストールされるときに、前記インストーラが該アプリケーション・パッケージに適切に署名されているかを確認し、
ｅ．前記パッケージに署名されていない場合は、前記パッケージがヌルＶＩＤ以外の任意のＶＩＤを含む実行ファイルを含まないことを前記インストーラが検証し、
ｆ．パッケージの前記署名の工程は、すべての割り当てられたＶＩＤを、アプリケーション署名時点でアプリケーション・パッケージに含まれる任意の実行ファイルが前記適切なＶＩＤを含むことを保証するすべての署名局に対して配布することを含む
ことを特徴とするコンピュータ・デバイスの動作方法が提供される。
【００１４】
本発明の第２の側面によれば、第１の側面の方法に従って動作するコンピュータ・デバイスが提供される。
【００１５】
本発明の第３の側面によれば、コンピュータ・デバイスに第１の側面の方法に従って動作するオペレーティング・システムが提供される。
【発明を実施するための最良の形態】
【００１６】
ここで、単なる例示を目的として、本発明の一つの実施形態について、図１を参照して説明する。図１は本発明の一つの実施形態を示す。
【００１７】
本発明は以下の要素に基づくと見なされるだろう。
１．コンピュータ・デバイス向けの各実行ファイルは（コンパイル及びリンクがされる）ビルド時点でＶＩＤ、又は、ＶＩＤが割り当てられなかった実行ファイルに使用されるゼロからなるヌルＶＩＤのいずれかを選択的に割り当てられる。
２．ＶＩＤはデバイスに使用される実行ファイルのフォーマットのメタデータの一部に含まれる。
３．コンピュータ・デバイスは製造後のデバイスにソフトウェアをインストールする唯一の方法であるインストール・プログラムを含む。
４．デバイスにアプリケーション・パッケージがインストールされるときに、インストール・プログラムがパッケージに適切に署名されているかを確認する。
５．前記パッケージが署名されていない場合は、前記パッケージがヌルＶＩＤ以外のＶＩＤを含む実行ファイルを含まないことを前記インストーラが検証する。
６．パッケージの署名の工程は、すべての割り当てられたＶＩＤを、アプリケーション署名時点でアプリケーション・パッケージに含まれる任意の実行ファイルが前記適切なＶＩＤを含むことを保証しなければならないすべての署名局に対して配布することを含まなければならない。
【００１８】
要約すれば、実行ファイルのフォーマットの一部として各実行ファイルにベンダーＩＤが割り当てられる。
【００１９】
図１を参照して、携帯電話の形態かもしれないコンピュータ・デバイスにアプリケーション・パッケージがインストールされるとき、パッケージをインストールする要求がデバイスにされる。それに応じて、デバイスのインストーラはそのアプリケーション・パッケージに適切な署名されているかを検証する。パッケージに署名されている場合は、ソフトウェア・パッケージはインストールされる。しかしながら、パッケージが署名されていない場合、インストーラは、パッケージに含まれる実行ファイルのいずれかが非ヌルＶＩＤを含むかどうか、言い換えると、ＶＩＤを割り当てられたかどうかを検証する。答えが「はい」の場合、インストーラは図１からわかるとおり、インストールを行わない。しかしながら、答えが「いいえ」の場合、ソフトウェア・パッケージがインストールされる。要約すれば、署名されているか検証可能なＶＩＤを含んでいる場合にソフトウェアがインストールされる。
【００２０】
したがって、アプリケーション署名時に実行ファイルが正しいＶＩＤを含んでいることを保証すべき署名局のすべて渡ってＶＩＤを配布する適切なアプリケーション署名プログラムに本発明は依存する。 
実行時に確認されるＶＩＤはデジタル証明書で使用される暗号化メカニズムと同じレベルの信頼性を与えることが、単なる数字であるＶＩＤを用いてなし得る点で、従来の方法と比較して明確な優位性を提供する。さらに、オペレーティング・システムは暗号化方式を要求されることなしにコードの出所を簡単に特定できる。それに加えて、あるデバイスでは、特定のベンダーだけからのサービスやソフトウェアのリソースに限ることができる。
【００２１】
本発明は特定の実施形態を参照して説明されたが、添付の特許請求の範囲によって定義された本発明の範囲内で変形は効果を生じることが正しく理解されるだろう。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施形態を説明する。
【図１】
2009505194.tif 000003
【国際調査報告】
2009505194.tif 000004
2009505194.tif 000005
2009505194.tif 000006