JP2013504804A - ハードウェアトラストアンカー - Google Patents

ハードウェアトラストアンカー Download PDF

Info

Publication number
JP2013504804A
JP2013504804A JP2012528796A JP2012528796A JP2013504804A JP 2013504804 A JP2013504804 A JP 2013504804A JP 2012528796 A JP2012528796 A JP 2012528796A JP 2012528796 A JP2012528796 A JP 2012528796A JP 2013504804 A JP2013504804 A JP 2013504804A
Authority
JP
Japan
Prior art keywords
target computing
computing environment
target
security
hardware
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.)
Granted
Application number
JP2012528796A
Other languages
English (en)
Other versions
JP5510550B2 (ja
Inventor
ソォン・ジョシュアヌ
モリーナ・ヘスス
ゴードン・ジョゼフ
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
Publication of JP2013504804A publication Critical patent/JP2013504804A/ja
Application granted granted Critical
Publication of JP5510550B2 publication Critical patent/JP5510550B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1433Vulnerability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2149Restricted operating environment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Abstract

ターゲットコンピューティング環境は、ハードウェアトラストアンカーによって保護される。ハードウェアトラストアンカーは、ターゲットコンピューティング環境のセキュリティ検査に基づいて、ターゲットコンピューティング環境の信用状態を提供する。ターゲットコンピューティング環境の診断は、セキュリティ診断情報に従って、ハードウェアトラストアンカーによって行われる。

Description

本願明細書において開示される実施形態は、コンピュータのセキュリティに関する。
この出願は、2009年9月9日に出願の米国特許出願第12/556,148号の優先権を主張し、この引用により本出願に組み込まれる。
ターゲットマシン(コンピューティング装置/コンピュータ)のプログラムを実行することによって、アンチウイルスおよびアンチ・マルウェア・ツールが動作する。そして、それはデータを集め、悪意のあるソフトウェアを検出することを試みる。この後に、結果が、ターゲットマシン周辺機器/リソース(モニタ、など)を使用して示される。しかしながら、このアプローチには課題が存在する。第1に、アンチ・ウィルス・ソフトウェアそのものはウイルスおよび/またはマルウェアのターゲットおよび/または犠牲者であり得る場合がある。このような場合には、その役割を果たすことができない。第2に、特定のマルウェアの主目的が、「あなたのコンピュータは、感染している」のようなメッセージを示すことでアンチ・マルウェアを「頒布(sell)」することである。マシン上の仮想マシンの場合には、ユーザには、単一のマシンにある異なる環境(VM)を区別できないという問題があり、正しいマシンであるにもかかわらず、潜在的に障害のある環境を使用していると思わされてしまうことがある。
Tal Garfinkel and Mendel Rosenblum, When Virtual is Harder than Real: Security Challenges in Virtual Machine Based Computing Environments, in 10th Workshop on Hot Topics in Operating Systems, 2005 Steven J. Vaughan-Nichols, Virtualization Sparks Security Concerns, Computer, 41(8):13-15, 2008. Samual T. King and Peter M. Chen, SubVirt: implementing malware with virtual machines, in Security and Privacy, 2006 IEEE Symposium on page 14, 2006 Shane Balfe, Eimear Gallery, Chris J. Mitchell, and Kenneth G. Paterson. Challenges for trusted computing, IEEE Security and Privacy, 6(6):60-66, 2008 Jonathan M. McCune, Adrian Perrig, Arvind Seshadri, and Leendert van Doorn, Turtles all the way down: Research challenges in user-based attestation, in Proceedings of the Workshop on Hot Topics in Security (HotSec), August 2007 Bryan Parno, Bootstrapping trust in a "trusted" platform, in HOTSEC’08: Proceedings of the 3rd conference on Hot topics in security, USENIX Association, pages 1-6, Berkeley, CA, USA, 2008 Tal Garfinkel, Ben Pfaff, Jim Chow, Mendel Rosenblum, and Dan Boneh, Terra: a virtual machine-based platform for trusted computing, in SOSP ’03: Proceedings of the nineteenth ACM symposium on Operating systems principles, pages 193-206, New York, NY, USA, 2003 Tal Garfinkel and Mendel Rosenblum, When Virtual is Harder than Real: Security Challenges in Virtual Machine Based Computing Environments, in 10th Workshop on Hot Topics in Operating Systems, 2005 Steven J. Vaughan-Nichols, Virtualization Sparks Security Concerns, Computer, 41(8):13-15, 2008 TCG Infrastructure Workgroup, Subject key attestation evidence extension, [Online] <URL:https://www.trustedcomputinggroup.org/specs/IWG/IWG SKAE Extension1-00.pdf>, June 2005 Samuel T. King and Peter M. Chen, SubVirt: implementing malware with virtual machines, in Security and Privacy, 2006 IEEE Symposium on, page 14, 2006 James Hendricks and Leendert van Doorn, Secure bootstrap is not enough: shoring up the trusted computing base, in Proceedings of the 11th workshop on ACM SIGOPS European workshop. ACM New York, NY, USA, 2004 Jesus Molina and William A. Arbaugh, "Using independent auditors as intrusion detection systems," In Proc. of the 4th International Conference on Information and Communications Security (ICICS’02), pages 291-302, Singapore, December 2002 Jesus Molina, Houcheng Lee, Sung Lee, and Zhexuan Song, A Mobile Trusted Platform Module (mTPM) Architecture, in Proc. of 2nd Workshop on Advances in Trusted Computing (WATC06), 2006 Michael Becher, Maximillian Dornseif, and Christian N. Klein, FireWire all your memory are belong to us, in Proceedings of CanSecWest, 2005.
この種の結果が純正のアンチ・ウィルス・ツールからの表示である場合であっても、ユーザはスクリーンに示される悪意のあるソフトウェア検出の結果を信じなくなってしまうことがある。この解決策としては、感染したマシンを感染したマシンの記憶装置と異なる記憶装置、例えば、ハードディスクドライブに関連するCD又はUSBドライブから起動することである。その後、ユーザは、悪意のあるソフトウェアをスキャンすることになる。しかしながら、この対策は、コンピュータに関する高度な知識を必要とする。例えば、再起動、そして、感染したマシンを単に再起動させるだけのCDやUSPドライブの知識が必要である。
本発明の一実施形態の方法、装置(コンピューティング装置/デバイス)及びそのコンピュータ可読媒体を提供する。この実施形態によって、ターゲットシステムのセキュリティ検査に従って、ターゲットコンピュータシステム(ターゲットマシン)の健全性又は、「信用(トラスト)状態」を検証することができる。実施形態の一側面は、ハードウェアトラストアンカーとして、ハードウェア(コンピューティングハードウェア)バンド外信用診断装置を用いて、ターゲットコンピュータシステムの信用状態の診断を提供する。ハードウェアトラストアンカーとしては、例えば、外部ハードウェアバンド外信用診断デバイス、及び/又は、ターゲットコンピュータシステムに対するデータ通信接続に係る別の通信接続のないハードウェアトラストアンカーとして、ハードウェア隔離された(hardware isolated)(バンド内)信用診断装置(例えば、バンド内外部ハードウェア信用診断デバイス)が挙げられる。実施形態の側面に従って、ハードウェアバンド外及び/又はバンド内トラストアンカーは、両者とも信用され、ターゲットコンピュータシステムの信用状態を検証する。実施形態の側面に従って、OOB及び/又はバンド内トラストアンカーを含むこのハードウェアトラストアンカーは、ターゲットコンピュータシステムと通信できる外部ハードウェアトラストアンカーとして、及び/又は、ターゲットコンピュータシステムの内部にある/インプリメントされた信用されたプラットフォームモジュール(TPM)として、又は、これらを組み合わせたものとして、ターゲットコンピュータシステムに対して外部に存在する。
実施形態に従って、「信用状態」は、ターゲットコンピュータシステムのセキュリティ検査に従ったターゲットコンピュータ上のターゲット仮想マシンを含むターゲットコンピュータシステムの信用状態を検証することを含む。
留意すべき点としては、上述の一般的な記述及び以下の詳細な記述の両者は、例示的で、説明的なものであり、請求項に係る発明を限定するためのものではない。
本発明の実施形態の機能及び物理コンポーネントのブロック図である。
本発明の実施形態に従ったターゲットマシンの信用状態を報告するフローチャートを示す図である。
本発明の実施形態に従ったコンピュータシステムのブロック図である。
本発明の実施形態に従った図3Aのコンピュータシステムのブロック図である。 本発明の実施形態に従った図3Aのコンピュータシステムのブロック図である。
本発明の実施形態に従った外部ハードウェアトラストアンカーデバイスを伴うターゲットマシンの診断のフローチャートを示す図である。 本発明の実施形態に従った外部ハードウェアトラストアンカーデバイスを伴うターゲットマシンの診断のフローチャートを示す図である。 本発明の実施形態に従った外部ハードウェアトラストアンカーデバイスを伴うターゲットマシンの診断のフローチャートを示す図である。
本発明の実施形態に従った、外部バンド外ハードウェアトラストアンカーデバイスを伴うターゲットコンピュータの診断を示す図である。
本発明の実施形態に従ったコンピュータの基本的ブロック図である。
本明細書では、方法、装置(コンピューティング装置/デバイス)及びそのコンピュータ可読媒体を開示している。ターゲットコンピュータシステムのセキュリティ検査に従って、ターゲットコンピュータシステム(ターゲットマシン)の健康状態すなわち「信用状態(trust state)」を検証する。実施形態の側面では、ハードウェアトラストアンカーとして、ハードウェア(コンピューティングハードウェア)バンド外(OOB:out of band)信用診断装置を用いて、ターゲットコンピュータシステムの信用状態の診断が提供される。例えば、外部ハードウェアバンド信用診断デバイス、及び/又は、ターゲットコンピュータシステムに対して他のデータ通信接続を持たないハードウェアトラストアンカー(例えば、外部ハードウェアバンド内信用診断デバイス)としてハードウェア上分離された(バンド内)信用診断装置が挙げられる。実施形態の側面に従って、ハードウェアバンド外、及び/又は、バンド内トラストアンカーは、両者とも信用され、かつターゲットコンピュータシステムの信用状態を検証する。実施形態の側面に従って、OOB及び/又はバンド内トラストアンカーを含むハードウェアトラストアンカーは、ターゲットコンピュータシステムに通信可能に接続することができ、及び/又は、ターゲットコンピュータシステムに独立のコンピューティング回路(トラストアンカーチップ)として及び/又は、ターゲットコンピュータシステム内に信用されたプラットフォームモジュール(TPM:Trusted Platform Module)の部分として組み込まれ/インプリメントされた形で集積化される。あるいは、これらのいかなる組合せも含まれる。実施形態の側面に従って、この「信用状態」は、ターゲットコンピューティングシステムの信用状態を検証することを含む。ターゲットコンピューティングシステムには、ターゲットコンピュータシステムのセキュリティ検査に従ったターゲットコンピュータシステム上のターゲット仮想マシンを含む。
仮想環境において、現在のセキュリティ技術がポータブル仮想環境に適用される場合、ほとんどの技術は役立たないことが証明されている。従来のセキュリティツールが適用されるとしても、その改造にコストがかかりすぎる。そして操作性を犠牲にし、保護を減少させる。本実施例はその代替措置を提供する。これが、ハードウェアトラストアンカーであり、これは外部に位置し、及び/又は、ターゲットコンピュータに集積化され得る。このハードウェアトラストアンカーは、海洋のいかり(アンカー)と同様に、ハードウェアマシンに仮想マシンを強固に固定することにより、共通の脅威から仮想環境を保護する。実施形態では、ハードウェアトラストアンカーを仮想化されたシステムに利用する。トラストアンカーは、仮想マシンを保護し、かつ、仮想マシンが導入されるプラットフォームの忠実度を担保するメカニズムを提供する。より重要なことは、このハードウェアトラストアンカーは、ターゲットシステムの現状の「信用状態」をユーザに知らせる。これによって、セキュリティの認識を高め、ベストプラクティスを強化する。ハードウェアトラストアンカーデバイスの例が示され、ポータブル仮想環境の柔軟性を犠牲にすることなく、最適なセキュリティが提供される。実施形態に従って、ユーザは、2つの分離された環境で同一のコンピュータをトランスペアレントに利用することができる。一方の環境は、トラストアンカーにバインドされており、これは、厳格なセキュリティポリシを実施する。例えば、ターゲットのセキュアーな処理又はターゲットのセキュアーなアプリケーション(例えば、バンキング)のみ、又は、他のコンピューティングデバイスと共に実施される。そして他方の環境は、完全に管理されておらず、ユーザによって変更可能な環境である。
モバイルコンピューティングとしての仮想化技術は、モバイルコンピューティングを必要とする企業のために有用なものとなった。本明細書におけるモバイルコンピューティングは、コンピューティング環境の仮想化を意味し、これをコンピュータシステム間においてトランスポート/トランスファーを行う。例えば、ネットワーク伝送、コンピュータ可読の記録メディア等によってこれがなされる。一方で、仮想マシン(VM)は、ユーザに対して柔軟性を提供する。ユーザは、全ての仕事の環境(OS、アプリケーション)をトランスポートできるばかりでなく、簡単に仕事の環境を作り替えることができる。他方では、この新しい技術は、どのようにしてこの仮想プラットフォームを保護するかと言うパラダイムの変更を強いることとなった(非特許文献1、2参照)。
ユーザに対して、多くの仮想マシンを生成し、かつ共有することを可能とさせる同様の柔軟性によっても、セキュリティの脅威が発生し、管理の困難さを招く。加えて、仮想マシンが導入されるターゲットプラットフォームの仮想化のソフトウェアは、破壊されるであろう。これによって個人データがターゲットプラットフォームで導入されている他の仮想マシンにリークすることとなる。あいにく、仮想マシンを保護するとしている現在のアンチウイルス及び他のセキュリティ関連の製品は、Samual Tが述べているように、仮想マシンレイヤをターゲットとするルートキット(root kits)又はマルウェアを特定することができない(非特許文献3参照)。
更に、ユーザは、異なる環境同士を区別することが困難である。すなわち、現実の環境と本物VMと単一のマシンに常駐し偽りの/偽物の/悪意のあるVMとである。そして、正しいものの代わりに、潜在的に破壊された環境を利用してしまうことに簡単にだまされてしまう。仮想マシンを複製することは非常に単純である。初心者のアタッカーであっても、ユーザにとって区別のつかない悪意のある環境を構築することが容易にできる。ユーザが異なる環境を区別するのを援助することは、実施形態により解決されるべき課題の一つである。
それ故、それを仮想マシンに適応させる前に現在のセキュリティ設計の徹底的な再調査を実行することが必要である。具体的には、仮想マシンは、直接的に仮想マシンが乗っているターゲットプラットフォームを調査することができないため、事前にクリーンであるかをチェックしておく必要がある。信用されたコンピューティング(trusted computing)は、このニーズを満たし、(遠隔での)証明(attestation)のための信用できる分析値(measurements)を提供している。(オンラインでのTrusted Computing Groupを参照されたい<URL: https://www.trustedcomputinggroup.org>.)信用されたコンピューティングは、暗号化リポジトリ(cryptographic repository)に格納された連鎖された分析(chained measurements)を利用する。この暗号化リポジトリは、証明のために第三者にオンデマンドで提供されている。しかしながら、信用されたコンピューティングは、内在する問題が存在しないわけではない。これについては非特許文献4参照。多くの場合、信用できる形で分析をエンドユーザに提供する容易なメカニズムは存在しない。なぜなら、ターゲットマシンが安全で無い場合、適切なメッセージが表示されているかを保証することができないからである。加えて、信用の連鎖(chain of trust)は、いずれかの場所から開始される。そして、これはある程度のインフラストラクチャを必要とする。興味深いことに、仮想化と信用コンピューティングは、同様の問題を抱えている。すなわち、分析値(measurement)を収集し検証する「アンカー」が欠如しており、かつ、信用できる情報と信用できない情報とを、ユーザに提供することである。これらの問題を解決するために、実施形態においては、ハードウェアトラストアンカーが提供される。通常の舟の碇と同様に、このハードウェアトラストアンカーの目的は、修正を防止することによって、ターゲットコンピューティング環境を「不動(immobile)」を保持することである。これによって、アーキテクチャに対して、サポートの場所(point)を提供する。
実施形態の側面に従って、ハードウェアトラストアンカーは、以下の項目の1つ以上を提供する。すなわち、(1)ターゲットコンピュータシステムの「信用状態」として、ターゲットコンピュータシステムの分析値を取得し及び/又は検証する。(2)VMの場合には、パーソナライズするために必要なデータ(あるいは、VM全体のイメージでもよい)。(3)ターゲットプラットフォームにおいてVM環境が機能するようにする。(4)VM及びVMが機能している信用されたコンピューティングベース(TCB)(ターゲットコンピュータシステム)の「信用状態」を忠実に報告する。あるいは、上記のいかなる組合せであってもよい。分析メカニズムをインプリメントするために一定の範囲の技術が、ハードウェアトラストアンカーによって利用され、ハードウェアトラストアンカーと信用されたコンピューティング技術とによって、良好なインプリメンテーション結果が提供される。これについての一般的事項は、非特許文献5及び6を参照。
セキュリティ検査(security audit)は、以下の1つ以上に関連する。すなわち、ターゲットマシン及び/又はVMの分析(measurement)のコンファメーション、実行及び/又はモニタリングすること、ハードウェアアンカーに仮想マシンを固定(又はバインド)すること(すなわち、バインドとは通信可能なようにバインドすることであり、実施し、モニタリングし、及び/又は、レポート(フィードバック)することである。これは、実環境及び/又は仮想環境に関連し、かつこれを介したセキュリティポリシのハードウェアトラストアンカーによってなされる。これは、例えば、修正及び/又は実環境/VM環境における実行に対する厳格な制限を含む)、キー/証明書の安全な記憶装置、通信のための特定の実環境/VM環境へのハードウェアトラストアンカーの適用の実行、アップデートの信憑性、ユーザ及び/又はアドミニストレータの検証、ターゲットマシンへの信用されたコンピューティングベース(TCB)の検証及び/又はインストール、セキュリティ診断、セキュリティ回復、又は、これらのいかなる組合せも挙げることができる。信用されたコンピューティングベース(TCB)は、ターゲットコンピュータシステムにおける信用された状態の維持のためのハードウェア及び/又はソフトウェア要素の制御に対して必要とされるセキュリティ、又は、これらの要素を提供することに関連する。
分析(measurement)は、いかなる長さの入力データシーケンスの固定長のデジタル表現にも関連する。分析は、例えば、オペレーティング環境(例えば、OS、(メモリ、ハードディスク等の)コンピュータ可読媒体上のデータ、構成された周辺機器/デバイスに係るデータ)の全部及び/又は部分、及び/又は、ファイル(例えば、ソフトウエアアプリケーションのファイル、データファイル等)、VMの場合には、ターゲットコンピューティングデバイスのいかなるVMのいかなるVMハードディスク及び/又はメモリーイメージ、及び/又はファイル(例えばソフトウエアアプリケーションのファイル、テータファイル)のいかなる仮想マシン(VM)イメージ、のデジタル表現であってもよい。そして、これは、例えば他の分析値と比較することによりターゲットマシン及び/又はターゲットマシンのVMのいかなる変更をも検出する。
信用されたコンピューティング:信用されたコンピューティング(TCG:Trusted Computing Group)基礎(foundation)は、信用されたプラットフォームモジュール(TPM:Trusted Platform Module)である。https://www. trustedcomputinggroup.org/specs/TPM/は、信用されたプラットフォームモジュールの仕様であり、ハードウェア信用ルートである(hardware root-of-trust)最も一般的なTPMのインプリメンテーションは、コンピュータに物理的に接続されたチップである。このTPMは、適切に定義された命令を利用して、ソフトウェアによりアクセスされる。この命令セットによって、暗号化、署名、キー生成、及びランダム番号生成等の暗号機能を提供する。TPMは、不揮発性メモリに、限られた量の情報を格納することもできる。加えて、このTPMは、拡張可能なプラットフォーム構成レジスタ(PCR:Platform Configuration Registers)を含んでいる。最新のバージョンにおいては、総数24個のPCRがTPMに存在している。CPRは、プラットフォームの現在のステータスに関する分析値(measurement)を記憶するために利用される。PCRは、システムが起動した際にリセットされる。そして、リセットされるか拡張される(extended)かのいずれかであり、直接的に修正することはできない。PCRの拡張は、暗号式(cryptographic equation)を利用して実行することができる。
Extend(PCRN; value) = Hash(PCRN || value) (1)
ここで、||の記号は、二つのアレーを連結することを意味する。そして、“Hash”は、暗号的ハッシュ関数、とりわけSHA1を適用することを意味する。ターゲットプラットフォームの最初の分析エンティティは、デフォルトで信用されているとする。なぜなら、他のいかなるエンティティも以前に分析していないからである。この初期の分析エンティティ(measuring entity)は、分析のための信用のコアルート(CRT:Core Root of Trust)と呼ばれている。強化されたセキュリティのために、このCRTがTPMチップそのものの中に記憶されてもよい。以下、起動している全てのソフトウエアエンティティは、いかなる他のソフトウェアを起動する前においても、このCPRを拡張することによって、信用の連鎖(chain of trust)を続けることが期待されている。検証パーティ(verification party)がPCRを利用することによって、それぞれの分析は、記録され、かつ暗号的に検証される(cryptographically verified)。検証のために、検証パーティにこれらの分析値を送るアクションは、証明(attestation)と呼ばれる。検証に署名(sign)するために、証明キーがTPMの中で利用される。したがって、このTPMは、ターゲットマシンの分析のための暗号のレポジトリ(cryptographic repository)として捉えることができる。
デスクトップ仮想化:他のソフトウェア上で完全なOSをユーザが使用することができる技術である仮想化は、モバイルユーザに対して改善されたユーザ体験を提供する。仮想化ソフトウェアは、ハードウェアリソースをパーティションで区切り、かつ複数の環境の実行を可能とする。この仮想化ソフトウェアは、通常バーチャルマシンモニタ(VMM)または、ハイパーバイザと呼ばれる。この技術とサーバアドミニストレータとの関係は密接である。一つのハードウェアに幾つかのコンピューティング環境を共存させることにより、アドミニストレータは、ハードウェアリソースを最小化させることができる。デスクトップコンピューティングにおいて、異なるプラットフォーム間で、完全なオペレーティングシステムを移動させることができる。
初期の頃は、デスクトップにおいて、セキュリティ上の利益が存在した、これは、非特許文献7に記載されている。そして、これは、新たなセキュリティ上の問題の浮上により終わりを遂げる(非特許文献8参照)。
非特許文献9においては、多くの場合に、現在のセキュリティツール及び技術でハンドリングできないことが記載されている。仮想化のセキュリティに対する最も大切なファクタの一つは、実環境/VM環境を含むターゲットプラットフォームのインテグリティー(完全性)を確保することである。これは、いかなる環境の分析をも含むターゲットプラットフォームの分析を実行することによって達成することができる。
個別の分析(distinct measurement)及び通信を実行するために開発された技術を含む、ハードウェアトラストアンカーに係る実施形態について、以下に説明する。
実施形態の一態様によれば、モバイル環境(すなわち、VM)が、既知(known)であるが不正と思われる(possibly corrupted)マシン(ターゲットマシン)によって利用されている場合には、データ漏洩は、防止される。最も単純な例としては、会社の従業員が、会社外のプラットフォーム、例えば従業員の家のコンピュータに仕事の環境を構築した場合である。他の、考えられるシナリオとしては、オンラインゲームに対して「チートプルーフ(cheat proof)」ゲームクライアントを生成することである。本実施形態の利点としては、ユーザのセキュリティの認識を向上させ、かつ、日々の業務に対する透明性を維持することによって、ユーザの経験を強化できることである。ユーザは、ユーザの他の環境を変更する必要がない。ターゲットプラットフォームが環境の間を完全に遮断する限り、このユーザの他の環境は安全でないソフトウェアを含む場合がある。本実施形態も、複雑なアーキテクチャは必要ない。例えば、PKI又はプライバシーCAである。この点については、非特許文献10を参照されたい。PKI又はプライバシーCAは特定の目的に利用され、このような解決策にも用いられる。本実施形態は、現実のケースにおいて、継続的なインターネット接続をも必要としない(非特許文献11参照)。
脅威のモデルとしては、以下が挙げられる。(1)VM環境が起動する前に、アタッカーがターゲット環境を修正する。(2)アタッカーが、ユーザに対して、似ている外観であるが、正しくなく、本物でなく、又はトロイの木馬であるVM環境を選択するようミスリードする。(3)ユーザが、間違って、安全でないターゲットプラットフォームでVM環境を起動することを許可する。
以下、実施形態のコンポーネント及びアクタについて説明する。
図1は、本発明の実施形態に係る機能的及び物理的なコンポーネントのブロック図を示している。この実施形態は、4つのメインコンポーネントを含んでいる。すなわち、以下のコンポーネントである。コンポーネントとして、ソフトウェア環境102を含むターゲットコンピュータ又はコンピュータマシンであるターゲットプラットフォーム100が含まれる。そして、ソフトウェア環境102は、実環境であっても、仮想マシン(VM)としての仮想環境であってもよい。他の2つのコンポーネントとしては、ユーザデータ104、及びハードウェアトラストアンカー200が挙げられる。ユーザデータ104上でポリシを確立し、かつ、安定した環境102を維持するために、環境102とユーザデータ104とを分離することが必要である。このコンセプトは、ゲームコンソールシステムと比較した場合に分かりやすい。例えば、ソニープレイステーション(登録商標)である。ソニープレイステーションのユーザは、(ほとんど)不変のプラットフォーム(ゲームコンソール)に(ほとんど)不変(immutable)の環境(ゲーム)を起動することができる。同時に、ゲームデータを外部メモリスティック又は内部メモリに格納することによって、パーソナライズすることができる。ゲームコンソールに対する唯一必要な条件は、環境(ゲーム)が簡単に複製されてはならないということである。加えて、本実施形態は、データが漏洩から守られていることが担保されていることが必要である。
次に、本実施形態のアーキテクチャのこの4つの主要なコンポーネントについて説明する。ターゲットプラットフォーム100は、ソフトウェア環境102が導入された(実行可能な)コンピュータである。ターゲットプラットフォーム100は、信用されたコンピューティングベース(TCB)と呼ばれる「信用されたコンピュータ環境」103を起動することが必要なハードウェア及びソフトウェアを含む(非特許文献12参照)。さらに、必要に応じて、他の環境及びハードウェア周辺装置を含む(実施形態の側面に従って、セキュリティを最大に高めるために、全てのハードウェアは、TCBの一部と認識されることが必要である)。ターゲットプラットフォーム100のこのTCBは、仮想マシン、例えばバーチャルマシンモニタ(VMM)を起動するための仮想化技術を含む。このようにして、TCBは、環境102a−nの間の分離を提供し、ハードウェアトラストアンカーに対して誠実にTCBのインテグリティを報告しなければならない。そして、TCBは、キーの安全なストレージを含まなければならない。そして、通信のために特定の環境に対してトラストアンカーの割り当て(assignment)を行使しなければならない。
環境102は、ソフトウェア、オペレーティングシステム、及びユーザがアクティビティを遂行するために必要な非一時的なデータ(non-transient data)を含む実マシン/仮想マシンのいずれであってもよい。実施形態の側面に従って、VMは、ハードウェアトラストアンカーを絡ませたアップデートのプロセスによってのみ修正することができる。上記のようにしなければ、仮想マシンは、変更することができなくなってしまう。環境102は、その状態を報告し、かつユーザの作成したデータを保存するための、ハードウェアトラストアンカー200と通信するメカニズムを含む。
ユーザデータ104は、ユーザに関連するデータを含む。このユーザデータには、例えば、ユーザにより作成され、変更されたデータ等の、あらゆるデータが含まれる。これらのドキュメントは、アドミニストレータが規定したポリシに従う。このポリシは、環境102及びハードウェアトラストアンカー200によって行使され得る。このユーザデータ104は、ハードウェアトラストアンカー内、ターゲットプラットフォーム100内、及び/又は、他のコンピュータにリモート的に存在し、これらのいずれかに保存され保護される。
このハードウェアトラストアンカー200は、ターゲットプラットフォーム100を検証し、ユーザデータ104を保護し、ユーザ及びアドミニストレータを認証し、ターゲットプラットフォーム100及び/又は環境102の信用状態情報をユーザに伝えるために利用されるための、ターゲットプラットフォーム100から見て外部エンティティであってもよく、及び/又は、ターゲットプラットフォーム100の内部の独立した集積化されたエンティティであってもよい。このハードウェアトラストアンカー200は、例えば分析(measurement)のようなセキュリティに関連する検査データ(audit data)をターゲットプラットフォーム100から収集し、環境102にいかなるユーザデータ104をも転送するために、通信チャネルを必要とする。
実施形態の側面に従って、ハードウェアトラストアンカー200は、独立してターゲットシステムを検査(audit)することができる。この独立した検査とは、アクティブに、プラットフォーム100との最小限のインタラアクション、又はこれとのインターラクション無しに、プラットフォーム100の検査に関連するデータを収集することを意味する。しかしながら、この独立したセキュリティ検査は、ハードウェアトラストアンカー200をダイレクトアクセスバスに接続することによってのみ可能である。ダイレクトアクセスバスとしては、例えばPCI、又はFIREWIREが挙げられる。これらにおいては、DMAのような特別な伝送を介してターゲットプラットフォーム100のリソース(メモリ、ハードディスク)にアクセすることが可能である。これについては、非特許文献13、14,及び15を参照されたい。しかしながら、アプリケーションによっては、ダイレクトアクセスバスを利用することが勧められない場合がある。なぜなら、検査のために、これらのバスを外部の周辺機器に開放することは、潜在的なセキュリティの脅威に対して、扉を開くことにもなり得るからである。また、ハードウェアトラストアンカーは、ターゲットプラットフォーム100のリソースを読むことができるばかりでなく、これに書き込むこともできるからである。実施形態の側面に従って、ハードウェアトラストアンカーは、セキュリティ検査(audit)データを受信することができる。例えば、USBなどの信用されたチャネルを介したプラットフォーム100からの分析値である。例えば分析値のような、セキュリティ検査データは、このセキュリティ検査データが真正であることの認証を提供する。ハードウェアトラストアンカーは、例えば、トラストアンカー200上に、及び/又は、ターゲットプラットフォーム100、及び/又は、他のバンド外ディスプレイに、信用状態又はセキュリティ検査結果をリアルタイム(ライブ)で表示することにより、ターゲットプラットフォームとは独立に、ユーザに対して信用状態情報、又はセキュリティ検査を表示することができる。この情報の表示がクリアであればあるほど、セキュリティの問題がより確実に防止され得る。
この実施形態は、インプリメンテーションのフレキシビリティに基づいたものである。したがって、異なるコンポーネントは、異なる技術でインプリメントすることができる。この実施形態においては、二つの既存のアクタが存在しうる。すなわち、ユーザ106とアドミニストレータ108である。ユーザ106は、ターゲットプラットフォーム100、及びユーザデータ104に対して、最初のコントロールをすることができる。そして、ユーザデータ104を使って仕事をするために、環境102を利用し得る。アドミニストレータ108は、環境102を生成し、ハードウェアトラストアンカー200を提供しセットアップする。そして、ユーザ/所有者106によってコントロールされたターゲットプラットフォーム100上において正しい信用されたコンピューティングベースが存在することを確認する。図1において、異なるコンポーネント間の関係が示されている。ユーザ106によってコントロールされるコンポーネントは、実線で表現されており、アドミニストレータ108によってコントロールされるコンポーネントは、破線で示されている。
図2は、本発明の実施形態に従ったターゲットマシンの信用状態を報告するフローチャートを示している。最初のフェーズ210において、アドミニストレータ108は、トラストアンカー200をユーザ106にパーソナライズし、コンピューティング環境(例えば、ハードウェアトラストアンカー200を環境102)にバインドする。第2のフェーズ220において、ユーザ106は、ハードウェアトラストアンカー200を利用して、ターゲットプラットフォーム100に要求されたTCB103を検証しインストールする(もし必要であれば)。この処理220は、直接アドミニストレータが実行することもできる。この第2のフェーズ220の後、ユーザ106は、この環境102においてターゲットプラットフォーム100を利用することができる。
この第2のフェーズ220において、ハードウェアトラストアンカー200は、まず、環境102が起動しているターゲットプラットフォーム100を検証する。TCB103は、小さいため、ターゲットプラットフォーム100は、限定された状態の集合に存在することとなる。状態は、以前にハードウェアトラストアンカー200に格納されたものである。この第2のフェーズ220において、第2の処理として、ターゲットプラットフォーム100は、これが信用された周辺機器であるか否かを判断するためにハードウェアトラストアンカー200のインテグリティを検証する。この第2のフェーズ220のターゲットプラットフォーム100及びハードウェアトラストアンカー200の検証は、いかなる順番及び組合せで実行されてもよい。ターゲットプラットフォーム100及びハードウェアトラストアンカー200の二つの検証のいずれかが失敗した場合、ハードウェアトラストアンカー200は、本明細書に説明するように、ポリシに依存して様々なアクションを実行することができる。結果の如何を問わず、ハードウェアトラストアンカーによって実行されたアクションは、ユーザ106に表示される。
検証が成功した場合には、230において、ハードウェアトラストアンカー200は、ターゲットプラットフォーム100のセキュリティ検査を実行する。例えば、ソフトウェア環境102は、ターゲットプラットフォーム100によって分析され、ハードウェアトラストアンカー200によってチェックされるよう、ハードウェアトラストアンカー200が制御する。ターゲットプラットフォーム100の「信用状態」が確立すると、240において、その環境102は、トラストアンカー200によって不変のものとなる。そして、このトラストアンカー200は、ターゲットプラットフォーム100の信用状態を継続的にモニタリングし、ユーザに報告する。例えば、240において、ハードウェアトラストアンカー200は、以前に分析された環境102だけがユーザデータ104にアクセスできることを担保する。
実施形態の側面に従って、環境102は、大きなVMである場合があるため、分析は複雑であり時間のかかるものとなり得る。仮想マシンの分析に関しては、本明細書及び米国特許出願12/246,144において説明した。この特許出願は、引用により本明細書に組み込まれる。
210において、バインドの一部として、ターゲットプラットフォーム100は、ハードウェアトラストアンカー200を、210で起動している(実、又は仮想のいずれかの)ソフトウェア環境102にのみ割り当てる。このことにより、他のもの、例えば、ターゲットプラットフォーム100において、その後起動した実環境、及び/又は、仮想ソフトウェア環境が、ハードウェアトラストアンカー200と通信することを許容しない。230において、ユーザ認証が成功した後には、ユーザデータはロックが解除され、ユーザ106によってドキュメントが利用できるようになり、環境をパーソナライズする。
240において、ソフトウェア環境102は、セキュリティ状態をハードウェアトラストアンカー200に連絡する(例えば、起動されているプログラム等)。したがって、アタッカーは、ユーザ106に対して、ターゲットプラットフォーム上の類似している悪意のある環境を利用させるようにだますことはできない。実施形態の側面に従って、(安全な又は信用された)環境102において作られたいかなるデータも、他のソフトウェア環境による悪用及び可能性のあるデータの漏洩を防止するために、自動的にハードウェアトラストアンカー200に格納される。
以上、(許可又は拒絶)の2つの可能性を含むポリシに関して説明した。しかしながら、ハードウェアトラストアンカー200は、このような白黒のアプローチに限られるものではない。例えば、ハードウェアトラストアンカー200は、ソフトウェア検査の結果(例えば、ターゲットプラットフォーム100の分析)に依存して、適切な環境を選択し、又はポリシに基づいて選択的にユーザデータを開放することができる。したがって、ハードウェアトラストアンカーは、幅広いセキュリティポリシをインプリメントすることができ、かつ、アドミニストレータに対して自由度を与えることとなる。
一旦、ユーザ106が環境102を利用した場合、ユーザ106は、ハードウェアトラストアンカー200を、ターゲットプラットフォーム100から取り除かなければならない。これによって、この環境102に残されたメモリートレースが消去されなければならない(例えば、環境102をシャットダウンし、環境102をリブートする)。
図3Aは、本発明の実施形態に従ったコンピュータシステムのブロック図を示す。ハードウェアトラストアンカー200は、TPM814a、トラストコンピューティンググループ(TCG)ソフトウエアスタック(TSS)302、キーマネージメントソフトウエア/ハードウェア304、例えばユーザデータ104のようなデータを格納した安全なストレージ306、指紋/掌紋センサ及び認証器のようなユーザチェッカ/認証器816(ソフトウェア、及び/又は、コンピュータハードウェア)、及びホストセキュリティチェッカ310を含む。ホストセキュリティチェッカ310は、セキュリティを検査する。例えば、ターゲットプラットフォーム100の分析の収集を制御し、及び/又は、収集する。ハードウェアトラストアンカー200は、ターゲットプラットフォーム100の内部にあるか、外部にあってもよい。
図3Aにおいて、ターゲットホスト100は、仮想環境102を含む。非限定的な例として、ターゲットホスト100は、仮想マシンモニタ(VMM)及びXENによるハイパーバイザ320を実行し、ハイパーバイザ320は、ハイパーバイザ320がブートしたときに自動的にブートする第1の仮想化オペレーティングシステム「ドメイン0」すなわちドメインゼロ(Dom0)を含む。Dom0は、特別の管理特権を与えられており、かつ、物理ハードウェアに直接アクセスできる。Dom0の後、他の仮想化オペレーティングシステムがユーザ仮想マシン(VM)330a−nとしてセットアップすなわち起動される。ユーザVM330は、いかなるオペレーティングシステムであってもよい。例えば、マイクロソフトウィンドウズ(登録商標)、アップルOS(登録商標)、LINUX(登録商標)等が挙げられる。230において、ターゲットホスト100は、セキュリティが検査されたときに(例えば、分析されたときに)、ユーザVM330aは、信用されたVM330a_Tとなる。起動しているセキュリティ検査器340は、例えば、ターゲットホスト100の分析を実行し又はこれを得ることによって、ターゲットホスト100のセキュリティを検査する。実施形態の側面に従って、ホストセキュリティチェッカ/コントロール310及びセキュリティ検査器340は、トラストアンカー200、及び/又は、ターゲットホスト100の1つ以上のコンピュータプロセッサのいかなる組合せによっても実行可能な1つ以上のソフトウェアのいかなる組合せであってもよい。
ユーザの経験に対して、実施形態においては、エンタープライズ環境102に焦点を当てる。この場合、ユーザは、仕事の環境をラップトップ又はパーソナルデスクトップ上で利用したいと欲する。最終目的は、ユーザに対して隠れたものではなくトランスペアレントなポリシ決定をすることによる、モバイル仮想環境102を担保することである。ユーザに対して信用の連鎖を確実に知らせるよう保ち、かつ、適切なセキュリティ環境を強化することである。
まず、ユーザは、ハードウェアトラストアンカー(例えば、本明細書に記載した外部K9モバイルサーバ)を選択したターゲットマシン100のUSBポートに挿入する。ターゲットマシン100は、必要とされるキー及び信用されたコンピューティングベース(TCB)を持っており(方法、及び/又は、制御された又は提供されたハードウェア/ソフトウエアコンポーネント)、最初のコンフィギュレーションを実行する。すなわち、図2における処理220であり、この点は以下に説明する。実施形態の側面に従い、図3において、TCBは、ハイパーバイザ320、Dom0(325)、及びターゲットプラットフォーム100のBIOSを含んでいる。
図3Bないし図3Cは、本発明の実施形態に従った図3Aのコンピュータシステムの状態図である。本節において信用された仮想マシンと呼ぶ動作環境(TVM)330a_Tは、ユーザ仮想マシン(UVM)330aと呼ばれるユーザ環境と共存している。プラットフォーム100にハードウェアトラストアンカー200を接続する前に、TVM330a_Tは、ユーザに対してトランスペアレントのままとなっている。これは、全てのTCBでも同じである。仮想マシン技術は、ユーザ106にトランスペアレントのままである。すなわち、ユーザに対して、物理ハードウェアを直接実行している単一のOSによるマシンを使用しているように感じさせる。この感じは、UVM330aがネイティブに近いスピードであることによって達成される。
このハードウェアトラストアンカー200が挿入(又は場合によっては、オンされ/接続)されると、Dom0は、ハードウェアトラストアンカー200を検出し、そして、245aにおいて、ハードウェアトラストアンカー200のイニシャライゼーションルーチン247と協働して、Dom0は、245bで、仮想マシン330aを起動する。249において、TCBは、セキュリティ検査器340、及び/又は、ホストセキュリティチェッカ/コントロール310と協働して、ターゲットプラットフォーム100の分析値(measurements)を分析し、及び/又は、これをハードウェアトラストアンカー200に送る。ハードウェアトラストアンカー200が、正しく分析値を検証した場合、この仮想マシン330aは、TVM330a_Tとして、認識され又は変更される。そして、メッセージが、ハードウェアトラストアンカー200及びTVM330a_Tにより、ユーザ106に表示される。一旦ハードウェアトラストアンカー200が分析値を検証すると、350において、TCBは、TVM330a_TのショートカットをUVM330aのデスクトップに割り当てる。同時に、ハードウェアトラストアンカー200は、ユーザチェッカ816によって、ユーザからの生体認証を要求する。正しいユーザ認証が得られると、ユーザデータ306がアンロックされ、TVMプログラムへのショートカット及びユーザデータがデスクトップ上に現れる。ユーザの認証から、TMb330a_TのショートカットがUVM330aに現れるまでに、約3−10秒を要する。これには、ハードウェアトラストアンカー200の全ての検証が含まれる。
ユーザが新たなショートカットをクリックすると、プログラムがTVM330a_T上で起動する。そして、UVM330aにおいてユーザは、これに対しインターラクト(対話操作)することができる。ユーザがTVM330a_Tベースのアプリケーションを利用している間、ハードウェアトラストアンカー200は、同一のアイコンを表示する。このアイコンは、ユーザが信用されたスペースで作業していることを保証するものである。二つのVMすなわち330a及び330a_Tは、デスクトップ上で視覚的にマージされるが、これらの環境の間には、依然としてTCBによって隔離がなされている。例えば、UVM330aにインストールされた悪意のあるソフトウェアとしてのキーロガーは、TVM330a_Tによって起動されたプログラムの中でタイプされた情報をインターセプトすることはできない。また、UVM330aベースのクロスサイトスクリプティングアタック(cross site scripting attack)は、TVM330a_Tベースのブラウザには(たとえ両者が同時にオープンになっていたとしても)影響しない。TVM330a_Tにおいてプログラムが閉じられると、ハードウェアトラストアンカー200の関連するアイコンが消失する。これによって、このアプリケーションがTVM330a_T上でもはや動作していないことをユーザに知らせる。
ハードウェアトラストアンカー200は、「コンパス」のような役割を演じる。すなわち、ユーザに対してどのプログラムがこのハードウェアトラストアンカー200にバインドされているかを知らせることになる。更に、TVM330a_T上で動作しているプログラムだけが、ハードウェアトラストアンカー200に格納されたユーザデータ306にアクセスできる。したがって、ハードウェアトラストアンカー200に格納された作業文書は、TVM330a_Tを介してのみ利用可能である。
230において、ハードウェアトラストアンカー200が分析値を受信しなかった場合、例えば、5秒後に、ハードウェアトラストアンカー200は、ユーザに知らせ、回復処理を実行する。ハードウェアトラストアンカー200は、例えば、USBドライブとして振る舞い、通常の業務のXクライアント/Xサーバを起動することをユーザに許可する。230において、分析値が正しくなかった場合、ハードウェアトラストアンカー200は、やはり回復処理を開始する。例えば、バンド外ハードウェアトラストアンカーがOOB接続を利用している場合、又は、バンド内ハードウェアトラストアンカーが「信用できない」ホップとしてターゲットプラットフォーム100を利用している場合、ハードウェアトラストアンカーは、アドミニストレータサイト(ヘルスチェックサーバ)にアクセスして、不明の分析値が正当(valid)であるかを見極める。このアドミニストレータサイトは、プライベートキーによってこの分析値に署名することができ、ハードウェアトラストアンカー200は、アドミニストレータからの埋め込まれたパブリックキーを利用することによって、この結果を検証することができる。なお、インプリメンテーションの技術的な詳細は、後述する。
図4ないし図6は、本発明の実施形態に従った、外部のハードウェアトラストアンカーを用いた、ターゲットプラットフォーム100の診断のフローチャートを示している。例示的フローチャートにおいて、ターゲットプラットフォーム100のターゲット仮想化ソフトウェア環境102、及びターゲットプラットフォーム100の分析値の収集のみが、ターゲットプラットフォーム100のセキュリティ検査として示されている。しかしながら、実施形態は、仮想化されたソフトウェア環境102、及びセキュリティ検査としてのターゲットプラットフォーム100の分析値の収集、に限定されるものではない。したがって、本明細書で説明するように、ハードウェアトラストアンカー200は、健全性(ヘルス)を検査し、又は、ターゲット物理ソフトウェア環境102を信用することができ、かつ、ターゲットソフトウエア環境102を含むターゲットプラットフォーム100に関連する他のセキュリティ検査オペレーションを実行することができる。別の言葉で説明すれば、本実施形態は、セキュリティ診断のための分析値、及びセキュリティ診断情報で収集できる診断情報に限定されるものではない。
図4におけるオペレーション400において、ターゲットコンピューティング環境100に対して、ハードウェアトラストアンカー(HTA)200がアクティベートされる。例えば、ハードウェアトラストアンカー200がターゲットコンピューティング環境、すなわち、ターゲットPC100に接続される。404において、HTAが、例えば、ターゲットマシン100の分析値を受信、及び/又は、アクティブ(直接的に)収集することによって、ターゲットプラットフォーム100のセキュリティ検査を実行することができるか否かが判断される。404において、分析値が収集できない場合、406において、ターゲットプラットフォーム100の検証は失敗する。そして、408において、この診断結果がHTA200のディスプレイ802に表示される。404において、分析値が収集できた場合には、410において、その分析値がHTA200によって受信され、かつ、HTA200は、その分析値のソースをチェックする。410において、その分析値が、ターゲットプラットフォーム100のTPM814bによって収集されたか否かが判断される。そして、そうであれば、416TPM証明キー(attestation key)が検証される。もし、分析値のソースがTPM814b以外である場合、分析値の署名が検証される。418において、この署名の検証の結果が、HTA200のディスプレイ802上にユーザに対して表示される。420において、分析値の署名検証が正しいか否かが判断される。420において、分析値の署名が検証されない場合、408において、失敗のメッセージが表示される。420において、分析値の署名が検証された場合、セキュリティ検査が500において継続され、分析値の検証が図5においてなされる。分析値の検証が成功した場合、418において、その成功がユーザに表示される。500において、分析値の検証が失敗した場合には、432において、失敗した分析値の検証結果がユーザに表示される。
図5の500において、HTAは、分析値がすぐに検証できるか、又は、すぐに検証するべきかを決定する。例えば、HTA700が、OOB接続714でサーバ710に接続している場合、セキュリティ検査は、図6の600において継続する。HTA200が502において、内部で分析値を検証する場合、502において、HTA200は、受信した分析値を内部で検証する。例えば、502において、分析値が、メモリ/ストレージデバイスの特定のファイル、又は領域の変化を表示している場合、この表示は、トラブルシューティング、及び/又は、回復(remediation)のために利用される。506において、ターゲットプラットフォーム100が、いずれかの回復を要求しているか否かを判断する。回復が必要であると、506において判断された場合、508において、いずれかの回復のためのパッチ/クリーナのソフトウェア/データがあるか否かが判断される。そして、そうであれば、510において、そのパッチ/クリーナをターゲットプラットフォーム100にプッシュできるか否かが判断される。512において、そのパッチ/クリーナが、ターゲットプラットフォーム100にプッシュされ、かつ実行される。504において、パッチ/クリーナの利用可能性の結果、及び/又は、パッチ/クリーナをターゲットプラットフォーム100にプッシュすることにより回復が可能か否かを、HTA200のディスプレイ802上にユーザのために表示する。
図6において、600で、サーバ700は、分析値、及び/又は、(場合によっては)リモートサーバ710に送られた分析値の署名の検証結果を検証する。サーバ710は、分析値を例えば、(可能であればTPM814b等からの署名を利用して)検証し、結果、及び/又は、回復、及び/又は、パッチをHTA200に送信する。604において、OOB HTA700は、サーバ710から受信した分析値の検証結果、及び/又は、回復を処理する。606において、HTA700は、いずれかの回復(例えば、パッチ及び/又はクリーナソフトウエア等)があるか否かを判断する。もしそうであれば、612において、そのパッチ/クリーナの署名が検証される。610において、612の検証の結果、及び/又は、606におけるパッチ/クリーナがあるか否か、がHTA700のディスプレイ802上に、ユーザのために表示される。612において、パッチ/クリーナがターゲットプラットフォーム100にプッシュできるか否かも判断される。もしそうであれば、614において、パッチ/クリーナが、ターゲットプラットフォーム100にプッシュされ、かつ実行される。このパッチ/クリーナが、ターゲットプラットフォーム100に送信することができない場合、610においては、HTA700のディスプレイ802上にユーザに対してその結果が表示される。
図7は、本発明の実施形態に従ったコンピュータシステムのブロック図を示している。図7において、外部のバンド外(OOB:out-of-band)ハードウェアトラストアンカー700は、ターゲットコンピューティング環境100のセキュリティヘルスを検証し、かつ維持する。OOBデバイス700は、ターゲットコンピュータ100に、挿入、及び/又は、通信接続される。そして、ターゲットコンピュータ100は、セキュリティ検査器340を起動する、例えば、ターゲットプラットフォーム100の状態を収集するための内部分析値収集プログラムを起動する。一つの代替の方法としては、ターゲットシステム100が、OOBハードウェアトラストアンカー700によりホスとされるセキュリティ検査器340を起動することである。例えば、デバイス700をストレージデバイス(例えばCD−ROM、USBデバイス等)としてマスキングし、セキュリティ検査器を実行することによって、これを起動してもよい。
他の代替の方策としては、OOBハードウェアトラストアンカー700そのものが、ターゲットシステム100の状態を直接収集することができるセキュリティ検査器340を、開始させることである。これは、ターゲットシステム100のメモリ及びリソースに直接アクセスできる例えばFIREWIREのコネクタによって可能となる。
その後、検証中のターゲットシステム100は、収集されたデータをポータブルデバイス700、又は、(場合によっては)そのデータはポータブルデバイス700によって収集される。このポータブルデバイス700は、ホストセキュリティ診断ソフトウェア310により、及び/又は、710と協働してその結果を検証し、それ自身のディスプレイメカニズムを用いて、回復をユーザに知らせる。例えば、ポータブルデバイス700上のディスプレイ802は、「あなたは二つのウイルスを持っている」と表示することができる。この告知は、明確でなければならない。したがって、ユーザは、検証中のターゲットシステム100の状態を明確に理解することができ、報告された問題を回復させるために必要なステップをとることができる。
図7において、OOBハードウェアトラストアンカー700は、ターゲットコンピューティング環境100(例えばPC)と、有線又は無線ネットワーク712に接続されている。そして、ターゲットコンピューティング環境100のセキュリティ診断を制御する。バンド外(OOB)は、コンピュータ環境に独立であるということ、又は、ターゲットコンピューティング環境100と排他的(exclusive)であることを意味する。実施形態の側面に従って、OOBは、OOBネットワーク接続を含む。これは、リモートデバイス710に接続するネットワーク接続とは異なり、ターゲットコンピューティング環境100によって利用されるネットワーク接続とは、独立的又は排他的である。実施形態の側面に従って、セキュリティ診断とは、コンピューティング環境のオペレーションに関連するいかなる診断であってもよい。たとえば、(非限定的に)悪意のあるソフトウェア検出/悪意のあるソフトウェア処理防止、コンピューティング環境コンフィギュレーション/セッティング/プロパティ管理(検索、セッティング、分析)、コンピューティング環境分析値等が挙げられる。
実施形態の側面に従って、このOOBハードウェアトラストアンカー700は、バンド外セキュリティヘルスチェック検証器、又はセキュリティ診断器である。これは、外部の診断に用いるコンピューティングデバイスであってもよい。例えば、ハンドヘルド・コンピューティングデバイス・セキュリティヘルスチェック検証器700が挙げられ、これは、例えば、ディスプレイ802を介して、情報を出力するよう構成されている。多くの場合、悪意のあるソフトウェアからの改竄(tampering)及び策略(trickery)を防止するために、ヘルスチェック検証器700のためにオフロードとなっている。別の言葉で説明すれば、この外部OOB接続714は、ターゲットマシンのネットワーク712とは関連せず、すなわち、排他的であるということである。バンド外診断器、例えば、外部診断デバイス(例えば、ハンドヘルド診断デバイス)700は、ターゲットマシン100の状態によって影響されることはない。実施形態の側面に従って、このバンド外診断器700は信用されている。
非限定的な例として外部診断デバイスを利用することによって、ユーザとのインターラクション能力(統合されたディスプレイ等)を持つポータブルOOBセキュリティ検証器すなわちセキュリティ診断デバイス700は、ターゲットプラットフォーム100と、例えばUSB又はFIREWIREなどの既存のコネクタ712を用いて接続される。典型的なOOBセキュリティ検証デバイス700は、ユーザが、より信用できるものであり、例えばIPOD(登録商標)又は携帯電話、及び/又は、信用されるために検証されたものである。例えば、IPOD又は携帯電話は、例えば、ユーザ106から、信用されたデバイスである。これらは、デスクトップコンピュータ等のターゲットマシン100に関連して、高度なネットワークの隔離の特徴を備えている。
OOBセキュリティ検証器700は、OOBセキュリティ検証器700のリポジトリ(コンピュータ可読の記憶媒体)に予め格納された、分析値コレクタ等の、対悪意のあるソフトウェア(anti-malicious software)と呼ばれる、必要な診断ソフトウェアを含んでいる。別の例としては、対ウイルスベンダは、対ウイルスソフトウエアの一部として、このOOBセキュリティ検査器700のための対ウイルスソフトウエアを販売してもよい。
他の代替例としては、単一目的の外部、及び/又は、内部ハードウェア200、700を設計することができる。そして、これをターゲットシステム100において(この中において接続し又はアクティベートし)セキュリティヘルスの検証又は診断に利用することができる。この動作は、ターゲットシステム100の「デジタル温度計」のようなものである。これは、ちょうど人間の体温の熱を計ることによって疾病を治療するのと似ている。
実施形態の側面に従って、収集されたデータは、信用されたソース(例えば、組み込まれたブラックボックス例えばTPM814)から、又は、信用されていないソース(例えば、システムで動作しているソフトウェア310、340であって、その結果は、悪意のあるソフトエア(マルウエア、ウイルス等)によって改竄されたもの)から来るものである。このポータブルデバイス200、700は、情報を収集するために用いたメカニズムに基づいて、これらのセキュリティ診断の信用の推定を、ユーザに与える。例えば、信用されたハードウェア例えばTPM814により保証されている場合、これは、結果と共に「極めて高い自信」を表示することができる。結果が、仮想マシンモニタ/マネジャ330からのものである場合、これは、「高い自信」を表示することができる。結果が、販売されている対ウイルスソフトウエアとの協働でホストセキュリティチェッカ310、及び/又は、セキュリティ検査器340により提供されたものである場合、これは、「低い自信」を表示してもよい。以下、同様である。
データソースの品質を検証するための異なる技術が存在する。TPM814などの組み込まれたデバイスは、証明されたプライベートキーを用いることによりレポートに署名することができる。これは、セキュリティ検査器200、700に対するレポートそのもののインテグリティを示すものである。ホストセキュリティチェッカ310及びセキュリティ検査器が、同じソースからのものである場合(例えば、対ウイルスベンダが両方を提供するような場合)、両プログラムは、相互に鍵付きハッシュ(keyed hash)、例えばHMACの手段により、相互に検証することができる。この場合、収集を制御する、及び/又は、ターゲットホスト100からのセキュリティデータを収集する、ホストセキュリティチェッカソフトウエア310は、レポートの鍵付きハッシュを生成する。この生成は、ホスト100で動作しているソフトウェア340と、セキュリティ検査器デバイス200、700で動作しているソフトウェアとの間の事前にハッシュされたキー(pre-hashed key)を用いて行われる。したがって、セキュリティ検査器デバイス200、700内のソフトウェア310は、鍵付きハッシュを再生成することによって、そのレポートの有効性を検証することができる。一般的に、暗号化手法の検証技術(HMAC、署名キー)は、ターゲットホストコンピュータ100によって利用され得る。これによって、受け取ったセキュリティ検査器デバイス200、700に対する信用を証明することができる。
実施形態の側面に従って、ポータブルセキュリティ検査器が、外部接続機能(例えばWIFI、又は携帯電話ネットワーク)を有するポータブルOOBセキュリティ検査器デバイス700である場合、最終的な検証は、リモートサーバ710においてなされてもよい。そして、回復ツール、例えばマルウエアクリーナは、検証器デバイス700にダウンロードすることができ、そして、その後、これは、検証しているターゲットシステム100にプッシュされる。この操作は、診断が下された後に、医者が薬を患者に提供するのと似たものと捉えることができる。
実施形態の側面に従って、ハードウェアトラストアンカー又はセキュリティ診断デバイス200、700は、ターゲットコンピューティング環境に依存して、診断及びユーザアクションのガイドの組合せを実行する。ハードウェアトラストアンカーのオペレーションは、以下に列挙する診断アクションの1つ以上を含む。(1)ターゲット環境100の情報収集器340に認識されると、ハードウェアトラストアンカー700は、分析(ファイルにおける変更の検出、悪意のあるソフトウェアの検出等)/その回復のために診断情報を受け取る(例えば、メモリ、オペレーティングシステム、イニシャライゼーション/レジストリファイル、ストレージデバイス、ファイル内の変更を検出するためのファイルの分析値等に関する情報を収集する)。(2)ハードウェアトラストアンカーがストレージデバイスとして認識されうる場合、診断情報収集器340を実行する。(3)ターゲット環境100のオペレーティングシステムが壊れていると判断される場合、又は、機能していない場合、ターゲット環境の情報を収集するために、他のオペレーティングシステムでターゲット環境100をリブートする。(4)ターゲット環境100の欠陥のあるOSに応答して、又は、それ以外の場合には、診断情報を収集する仮想マシン(VM)を起動するために、ターゲットマシン環境100上で、バーチャルマシンモニタ/マネジャ(VMM)を起動するか、既にインストールされているものを利用する。VMが感染している場合、VMMを診断情報収集器340として制御/管理する。そして、VMを診断する。なぜなら、VMMは、VMの実行をサポートしている全ての情報にアクセスできるからである。ターゲット環境100のオペレーティングシステムが、破壊されているか、動作しないと判断される場合、ターゲット環境100(例えばメモリ、リソース、ファイル、デバイス等)の状態を直接収集する接続(例えばFIREWIRE等)を確立する。
診断アクションのいかなる組合せでも、実行することができる。実施形態の側面に従って、ハードウェアトラストアンカーは、(状況に応じて)ターゲットコンピューティング環境100の診断情報、及び/又は、OOB接続714から受信した回復情報に基づいて、診断アクションを介して、インターラクティブにユーザに対してガイド行う。実施形態の側面に従って、ハードウェアトラストアンカーは、ターゲットコンピューティング環境100から何も実行しないことにより、又は、ホストセキュリティチェッカソフトウエア310のみを実行することにより、排他的又は独立である。そして、ターゲットコンピューティング環境100の感染から保護されているという利益を提供している。実施形態の側面に従って、ハードウェアトラストアンカーは、読み取り専用である。実施形態の側面に従って、ハードウェアトラストアンカーは、読み取り専用仮想マシンである。ハードウェアトラストアンカーの読み取り専用の特徴を達成するためには、幾つかの方策がある。まず、ハードウェアトラストアンカーをVMとしてインプリメントすることである。そして、特定のVMMが、VMMが終了した後、初期状態にこのVMイメージを戻しリストアすることによって、この読み取り専用機能をサポートする。例えば、VMイメージを起動する前に、VMイメージのスナップショットを生成し、そして、VMMを終了した後、このスナップショットをリストアすることである。あるいは、ハードウェアトラストアンカーが外部コンピューティングデバイスである場合、そのデバイスを読み取り専用又は書き込み不能に設定する。
通常のユーザは、自身のコンピュータがウイルスに完成していると信じると、そのコンピュータに触ることもためらう場合がある。画面をスプラッシュさせたりするマルウェアの技術は、感染したシステムにおけるユーザの自信を低下させる。一つの実施形態の利点としては、バンド外の外部デバイスの助けによる検証は、技術的に未熟なユーザに対して、自信を持って診断が正しいということをより確かに与える。そして、回復のために必要なオペレーションをユーザに理解させることを助ける。更に、システムの診断及び回復を提供する非常に信用されているバンド外の外部デバイス(例えばIPOD又はIphone(登録商標)(例えば携帯電話))をユーザが利用する場合、ユーザは、示されたアクションを実行することによって、ユーザは、より積極的にシステムをクリーンにすることとなろう。このことによって、システムを容易にかつ適切にシステムを修復することができる。
実施形態の側面に従って、外部ハードウェア、バンド内トラストアンカーは、ハンドヘルドデバイスヘルスチェック(信用状態)検証器であり、例えば、ディスプレイを介して、情報を出力するよう構成されている。そして、ターゲットマシンに既に確立している他の通信接続なして、バンド内でターゲットコンピューティングシステムのセキュリティ検査を行う。多くのケースの場合、これは、ウイルスによる改竄及び策略を防止するために、ヘルスチェック検証器に対してオフロードとなっている。この実施形態は、実質的に外部ハードウェアバンド内トラストアンカー(例えば、ハンドヘルドOOB診断デバイス)は、ターゲットマシンの状態に影響されないことを担保する。
実施形態の側面に従って、外部ハードウェアOOBトラストアンカーは、ハンドヘルドデバイスヘルス(信用状態)チェック検証器であり、例えば、ディスプレイを介して、情報を出力するよう構成されている。そして、バンド外(OOB接続)で、有線又は無線で通信するよう構成されている。ターゲットマシンとの間、あるいは他のコンピューティング装置/デバイスとの間で既に存在する確立した通信とは独立の通信であり、かつ排他的である。そしてターゲットコンピュータマシンのOOBセキュリティ検査がなされる。多くの場合、これは、ウイルスによる改竄及び策略を防止するために、ヘルスチェック検証器に対してオフロードである。別の言葉で説明するとすれば、OOB接続は、ターゲットマシンの接続とは関連せず、又は、独立であり、及び/又は、排他的であるということである。この実施形態は、実質的に、外部ハードウェアOOBトラストアンカー(例えばハンドヘルドバンド内診断デバイス)は、ターゲットマシンの状態に影響されないと言うことである。
外部ハードウェアOOBトラストアンカーの場合、利点としては、なじみのあるデバイスを利用するということである。例えばIPOD(登録商標)であり、外部ハードウェアOOB診断デバイスとして、ターゲットコンピューティング環境のいかなる診断結果も検証し、かつ表示する。例えば、対ウイルス収集、ターゲットコンピューティング環境の「信用状態」に関する情報の提供、及び回復技術の提案又はインプリメンテーションが挙げられる。この実施形態の利点は、ターゲットコンピューティング環境のネットワーク接続がディスエーブルである場合、及び/又は、例えば悪意のあるソフトウェアのために機能していない場合における、ターゲットコンピューティング環境のOOB診断である。実施形態の側面に従って、外部ハードウェアOOB診断デバイスは、ターゲットコンピューティング環境へのアクセッシビリティの判断に依存した診断の組合せを実行する。
ターゲットの仮想マシンに対するこの実施形態の他の例示的な利点は、以下の通りである。1.ハードウェアトラストアンカーに基づき仮想マシンを保護する一般的なアーキテクチャ。モバイル仮想マシンのセキュリティの課題が提示されているが、可能なインプリメンテーションの自由度を残している。なぜなら、ハードウェアトラストアンカーは、例えばモバイル/ポータブルコンピュータ、CPUを含むUSBドライブ、携帯電話、又は、特別にデザインされたデバイス等、異なる候補のモバイルデバイスに組みこむことができるからである。3.実践的なユーザの経験が考慮されている。特別の単一目的の組込デバイスにおけるハードウェアトラストアンカーに基づいた実施形態を提供することによって、実施形態の実用性が強調されている。ターゲット仮想マシンとハードウェアトラストアンカーとの間の通信のためのドライバ及びソフトウェアが構築された。セキュリティ及び安定性を改善するために、例えばXEN仮想マシンモニタを改良し、仮想マシンモニタの修正が行われた。
図8は、本発明の実施形態のコンピュータの機能ブロック図を示している。すなわち、このコンピュータは、ヘルスチェック検証器としての外部ハードウェアトラストアンカーデバイス200の例である。更に、このコンピュータは、ターゲットマシン又はターゲットコンピューティング環境100の例である。図8において、コンピュータはいかなるコンピューティングデバイスであってもよい。通常、コンピュータは、ディスプレイ又は出力ユニット802を含み、ユーザインタフェースを表示し、又は、例えばダイオード等の、情報や表示を出力する。コンピュータコントローラ804(例えば、ハードウェア中央処理装置)は、(例えば、コンピュータプログラム、又はソフトウェア等の)命令を実行する。これは、装置を制御し、オペレーションを実行する。通常、メモリ806は、コントローラ804による実行のための命令を記憶する。信用プラットフォームモジュール(TPM)814が提供されてもよい。実施形態の側面に従って、この装置は、いかなるコンピュータ可読媒体810、及び/又はコミュニケーション伝送媒体インタフェース812のデータをも読み/書き/処理する。ユーザ認証装置816は、指紋/掌紋センサ、又はユーザを認証するための他のソフトウェア/コンピューティングハードウェアであってもよい。ディスプレイ802、CPU804(例えば、命令すなわちソフトウェアを処理するハードウェアロジックベースのコンピュータプロセッサ)、メモリ806、コンピュータ可読媒体810、コミュニケーション伝送メディアインターフェース812、TPM814、及びユーザ認証装置816は、データバス808によって通信する。生成されたいかなる結果も、コンピューティングハードウェアのディスプレイ上に表示される。
したがって、本発明の実施形態の側面に従って、記載された特徴、機能、オペレーション、及び/又は、利点の1つ以上のいかなる組合せも提供され得る。組合せは、1つだけ、又は複数を含んでもよい。実施形態は、装置(マシン)としてインプリメントされてもよい。これは、コンピューティングハードウェア(すなわち、コンピューティング装置)を含む。例えば(非限定的例示として)、保存でき、読み出すことができ、及び/又はデータを出力することができ、他のコンピュータと(ネットワークで)通信できるいかなるコンピュータをも含む。加えて、装置は、相互又は他の装置との間のコンピュータネットワークコミュニケーション内に1つ以上の装置を含む。加えて、コンピュータプロセッサは、1つ以上の装置において1つ以上のプロセッサを含んでもよく、1つ以上のコンピュータプロセッサ、及び/又は、装置のいかなる組合せをも含む。実施形態の側面は、1つ以上の装置、及び/又は、コンピュータプロセッサに対し、本明細書に記載されたオペレーションを実行させることに関連する。生成された結果は、ディスプレイ上に表示させることができる。
実施形態をインプリメントするプログラム/ソフトウェアは、コンピュータ可読の記憶媒体に格納してもよい。コンピュータ可読の格納媒体は、磁気記憶装置、光ディスク、磁気光ディスク、及び/又は、揮発性、及び/又は、不揮発性半導体メモリ(例えば、RAM、ROM等)が含まれる。磁気記憶装置の例としては、ハードディスクドライブ(HDD)、フレキシブルディスク(FD)、及び磁気テープ(MT)が含まれる。光ディスクの例としては、DVD、DVD-ROM、ブルーレイディスク、CD−ROM、CD−R/RWが含まれる。
実施形態をインプリメントするプログラム/ソフトウェアは、データ信号として、通信メディア伝送を介したものも含まれ/エンコードされる。データ信号は、通信メディア中を移動する。通信メディアとしては、例えば、有線ネットワーク、又は無線ネットワークが挙げられ、例えば、キャリア信号に組み込まれる。このデータ信号は、いわゆるベースバンド信号によって伝送されてもよい。キャリア信号は、電気的、磁気的、又は電磁気学的形態、又は、光、音、その他の形態で伝送されてもよい。
本明細書において記載した、全ての実施形態及び条件の記述は、説明を目的とするものであり、本発明及び発明者の貢献によって本技術を発展させるためのコンセプトを、読者に理解させるためのものである。そして、このように記載された実施形態及び条件は、限定をするものではない。加えて、本明細書におけるこのような実施形態の構成は、本発明の長所及び短所を示すことに関連するものである。本発明の実施形態を詳細に説明したが、本発明の精神及び技術的範囲を超えない範囲で、様々な変更、置き換え、修正がこれになされ得ることに留意すべきである。

Claims (11)

  1. ターゲットコンピューティング環境を保護する方法であって:
    前記ターゲットコンピューティング環境のために、ハードウェアトラストアンカーデバイスを通信可能にアクティベートさせ;
    前記ターゲットコンピューティング環境への前記ハードウェアトラストアンカーのバインドに基づいて、前記ターゲットコンピューティング環境のセキュリティ検査により、前記ハードウェアトラストアンカーデバイスによって、前記ターゲットコンピューティング環境の信用状態を、確立し、かつ、バインドされた前記ターゲットコンピューティング環境から、セキュリティ診断情報を取得し;
    前記ターゲットコンピューティング環境の前記信用状態を連続的に維持する;
    処理を有する方法。
  2. 前記ハードウェアトラストアンカーのバインドは:
    前記ハードウェアトラストアンカーによって、ターゲットコンピューティングデバイス上に仮想マシンを起動し;
    信用された仮想マシンを確立するために、起動された前記仮想マシンを分析し;
    前記ハードウェアトラストアンカーによって、信用された前記仮想マシンを含むターゲットコンピューティングデバイスに対する確立されたセキュリティポリシを、実施し、モニタリングし、及び/又は報告するための処理の実行を行わせる、
    処理を含む、請求項1記載の方法。
  3. 前記ターゲットコンピューティング環境への前記ハードウェアトラストアンカーのバインドは、ターゲットコンピューティングデバイスに対する確立されたセキュリティポリシを、前記ハードウェアトラストアンカーによって、実施し、モニタリングし、及び/又は報告するための処理の実行を行わせる、
    処理を含む、請求項1記載の方法。
  4. 前記セキュリティポリシは、信用された前記仮想マシンの修正を制限すること、及び/又は、信用された前記仮想マシンにおけるターゲット処理に制限すること、
    を含む、請求項2記載の方法。
  5. 前記セキュリティポリシは、前記ハードウェアトラストアンカーを特定の信用された仮想マシンに割り当てることを実施すること、
    を含む、請求項4記載の方法。
  6. 前記ターゲットコンピューティングデバイスの前記信用状態を前記連続的に維持する処理は、ユーザに前記信用状態のライブフィードバックを提供する処理、
    を含む、請求項1記載の方法。
  7. 前記ライブフィードバックは、前記ターゲットコンピューティング環境において起動されているアプリケーションの情報を提供する処理、
    を含む、請求項6記載の方法。
  8. 前記セキュリティ診断情報は、前記ターゲットコンピューティング環境の分析、
    を含む、請求項1記載の方法。
  9. 前記ターゲットコンピューティング環境の前記信用状態を継続的に維持する処理は、
    サーバとバンド外通信を確立し、
    前記サーバと協働して、セキュリティ診断を実施する処理と、前記信用状態を回復するためのセキュリティ回復プロセスを実行する処理と、を含む前記ターゲットコンピューティング環境の前記信用状態を維持する、
    処理を含む請求項1記載の方法。
  10. ターゲットコンピューティング環境を保護する装置であって:
    コンピュータプロセッサを有し、該コンピュータプロセッサは、
    ターゲットコンピューティング環境への前記ハードウェアトラストアンカーのバインドに基づいて、前記ターゲットコンピューティング環境のセキュリティ検査によって、前記ターゲットコンピューティング環境の信用状態を、確立し、かつ、バインドされた前記ターゲットコンピューティング環境から、セキュリティ診断情報を取得し;
    前記ターゲットコンピューティング環境の前記信用状態を連続的に維持する;
    処理を実行する、装置。
  11. ハードウェアトラストアンカーデバイスを用い、
    ターゲットコンピューティング環境の分析に基づいて、前記ターゲットコンピューティング環境を検証し、
    検証された前記ターゲットコンピューティング環境において、仮想マシンを起動することを含む信用されたコンピューティングベース(TCB)を確立し、
    前記ターゲットコンピューティング環境の継続的なセキュリティ検査に従って、前記ハードウェアトラストアンカーを前記TCBの前記仮想マシンにバインドすることによって、前記ターゲットコンピューティング環境の信用状態を維持する、
    処理を有する方法。
JP2012528796A 2009-09-09 2010-07-28 ハードウェアトラストアンカー Expired - Fee Related JP5510550B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/556,148 US8505103B2 (en) 2009-09-09 2009-09-09 Hardware trust anchor
US12/556,148 2009-09-09
PCT/US2010/043550 WO2011031387A1 (en) 2009-09-09 2010-07-28 Hardware trust anchor

Publications (2)

Publication Number Publication Date
JP2013504804A true JP2013504804A (ja) 2013-02-07
JP5510550B2 JP5510550B2 (ja) 2014-06-04

Family

ID=43648582

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012528796A Expired - Fee Related JP5510550B2 (ja) 2009-09-09 2010-07-28 ハードウェアトラストアンカー

Country Status (5)

Country Link
US (1) US8505103B2 (ja)
EP (1) EP2476057A1 (ja)
JP (1) JP5510550B2 (ja)
CN (1) CN102687118A (ja)
WO (1) WO2011031387A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2016067473A1 (ja) * 2014-10-31 2017-09-07 富士通株式会社 セキュリティシステム及びコンピュータ機器間の通信方法

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140373144A9 (en) * 2006-05-22 2014-12-18 Alen Capalik System and method for analyzing unauthorized intrusion into a computer network
US8739292B2 (en) * 2008-03-04 2014-05-27 Apple Inc. Trust exception management
EP2427818A4 (en) * 2009-05-06 2012-11-21 Hewlett Packard Development Co SYSTEM AND METHOD FOR PRINTING BY VIRTUAL MACHINES
US8332496B2 (en) * 2009-09-23 2012-12-11 International Business Machines Corporation Provisioning of operating environments on a server in a networked environment
US9774630B1 (en) * 2009-09-28 2017-09-26 Rockwell Collins, Inc. Administration of multiple network system with a single trust module
US8499304B2 (en) * 2009-12-15 2013-07-30 At&T Mobility Ii Llc Multiple mode mobile device
CN105072088A (zh) * 2010-01-22 2015-11-18 交互数字专利控股公司 一种在具有用户的无线设备处执行的方法
WO2011152910A1 (en) * 2010-06-02 2011-12-08 Vmware, Inc. Securing customer virtual machines in a multi-tenant cloud
US9106697B2 (en) * 2010-06-24 2015-08-11 NeurallQ, Inc. System and method for identifying unauthorized activities on a computer system using a data structure model
US8458346B2 (en) * 2010-07-30 2013-06-04 Sap Ag Multiplexer for multi-tenant architectures
WO2012023050A2 (en) 2010-08-20 2012-02-23 Overtis Group Limited Secure cloud computing system and method
US20120117143A1 (en) * 2010-11-03 2012-05-10 Paul William Watkinson Computerized system and method for verifying computer operations
US8782791B2 (en) * 2010-12-01 2014-07-15 Symantec Corporation Computer virus detection systems and methods
EP2732397B1 (en) * 2011-07-12 2020-02-26 Hewlett-Packard Development Company, L.P. Computing device including a port and a guest domain
KR20130030132A (ko) * 2011-09-16 2013-03-26 한국전자통신연구원 컴퓨팅 시스템의 보안기능 제공장치 및 제공방법
US9098696B2 (en) * 2011-10-25 2015-08-04 Raytheon Company Appliqué providing a secure deployment environment (SDE) for a wireless communications device
US8782792B1 (en) * 2011-10-27 2014-07-15 Symantec Corporation Systems and methods for detecting malware on mobile platforms
WO2013097177A1 (en) * 2011-12-30 2013-07-04 Telefonaktiebolaget Lm Ericsson (Publ) Virtual sim card cloud platform
US8843650B2 (en) * 2012-01-09 2014-09-23 Fujitsu Limited Trusted network booting system and method
US9992024B2 (en) * 2012-01-25 2018-06-05 Fujitsu Limited Establishing a chain of trust within a virtual machine
US8973138B2 (en) 2012-05-02 2015-03-03 The Johns Hopkins University Secure layered iterative gateway
US9230066B1 (en) * 2012-06-27 2016-01-05 Emc Corporation Assessing risk for third-party data collectors
US10607007B2 (en) 2012-07-03 2020-03-31 Hewlett-Packard Development Company, L.P. Micro-virtual machine forensics and detection
US10129270B2 (en) * 2012-09-28 2018-11-13 Level 3 Communications, Llc Apparatus, system and method for identifying and mitigating malicious network threats
US20140137190A1 (en) * 2012-11-09 2014-05-15 Rapid7, Inc. Methods and systems for passively detecting security levels in client devices
US9922192B1 (en) * 2012-12-07 2018-03-20 Bromium, Inc. Micro-virtual machine forensics and detection
GB2508894A (en) 2012-12-14 2014-06-18 Ibm Preventing a trusted boot device from being booted in a virtual machine
US9167002B2 (en) 2013-08-15 2015-10-20 Microsoft Technology Licensing, Llc Global platform health management
US10013563B2 (en) * 2013-09-30 2018-07-03 Dell Products L.P. Systems and methods for binding a removable cryptoprocessor to an information handling system
US9734325B1 (en) * 2013-12-09 2017-08-15 Forcepoint Federal Llc Hypervisor-based binding of data to cloud environment for improved security
US10389709B2 (en) * 2014-02-24 2019-08-20 Amazon Technologies, Inc. Securing client-specified credentials at cryptographically attested resources
US10362136B2 (en) * 2014-08-20 2019-07-23 Visa International Service Association Device profile data usage for state management in mobile device authentication
CN107078908A (zh) * 2014-08-22 2017-08-18 诺基亚通信公司 公开密钥基础结构中的信任锚更新
WO2016112219A1 (en) 2015-01-07 2016-07-14 CounterTack, Inc. System and method for monitoring a computer system using machine interpretable code
US9509587B1 (en) * 2015-03-19 2016-11-29 Sprint Communications Company L.P. Hardware root of trust (HROT) for internet protocol (IP) communications
US9729572B1 (en) * 2015-03-31 2017-08-08 Juniper Networks, Inc. Remote remediation of malicious files
US10650142B1 (en) * 2015-06-24 2020-05-12 Ca, Inc. Systems and methods for detecting potentially malicious hardware-related anomalies
US10726127B1 (en) 2015-06-30 2020-07-28 Fireeye, Inc. System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US10395029B1 (en) 2015-06-30 2019-08-27 Fireeye, Inc. Virtual system and method with threat protection
US11113086B1 (en) * 2015-06-30 2021-09-07 Fireeye, Inc. Virtual system and method for securing external network connectivity
US10642753B1 (en) 2015-06-30 2020-05-05 Fireeye, Inc. System and method for protecting a software component running in virtual machine using a virtualization layer
US10216927B1 (en) 2015-06-30 2019-02-26 Fireeye, Inc. System and method for protecting memory pages associated with a process using a virtualization layer
US10033759B1 (en) 2015-09-28 2018-07-24 Fireeye, Inc. System and method of threat detection under hypervisor control
US9967745B2 (en) 2016-02-02 2018-05-08 Sprint Communications Company L.P. Hardware-trusted network bearers in network function virtualization infrastructure (NFVI) servers that execute virtual network functions (VNFS) under management and orchestration (MANO) control
US10467402B2 (en) * 2016-08-23 2019-11-05 Lenovo (Singapore) Pte. Ltd. Systems and methods for authentication based on electrical characteristic information
US11750654B2 (en) * 2018-04-25 2023-09-05 Dell Products, L.P. Integrity assurance of a secured virtual environment
RU2748963C2 (ru) * 2019-07-17 2021-06-02 Акционерное общество "Лаборатория Касперского" Система и способ выявления проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины
RU2747465C2 (ru) * 2019-07-17 2021-05-05 Акционерное общество "Лаборатория Касперского" Система и способ устранения проблем функционирования сервисов в сети передачи данных, содержащей виртуальные машины
US11599522B2 (en) * 2019-10-29 2023-03-07 EMC IP Holding Company LLC Hardware trust boundaries and graphs in a data confidence fabric
CN114651240A (zh) * 2019-11-22 2022-06-21 惠普发展公司,有限责任合伙企业 安全检查
US20210141658A1 (en) * 2020-11-11 2021-05-13 Ravi Sahita Method and apparatus for trusted devices using trust domain extensions
US11803454B2 (en) * 2021-04-30 2023-10-31 Dell Products L.P. Chained loading with static and dynamic root of trust measurements
US11816219B2 (en) 2021-06-01 2023-11-14 Cisco Technology, Inc. Binding a trust anchor and an ASIC
US11784807B2 (en) 2021-06-01 2023-10-10 Cisco Technology, Inc. Binding an ASIC to a trust anchor
US11928210B2 (en) * 2022-03-02 2024-03-12 Flexxon Pte. Ltd. Module and method for monitoring systems of a host device for security exploitations

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338554A (ja) * 2005-06-03 2006-12-14 Ntt Docomo Inc サービス利用方法及び端末
JP2008090791A (ja) * 2006-10-05 2008-04-17 Nippon Telegr & Teleph Corp <Ntt> 仮想端末を利用した検疫ネットワークシステム、仮想端末を検疫する方法、及び、仮想端末を検疫するためのプログラム
JP2009032130A (ja) * 2007-07-30 2009-02-12 Hitachi Software Eng Co Ltd 情報処理装置及び方法、コンピュータ読み取り可能な記録媒体、並びに、外部記憶媒体
US20090063857A1 (en) * 2004-04-29 2009-03-05 Bade Steven A Method and system for providing a trusted platform module in a hypervisor environment
US20090172781A1 (en) * 2007-12-20 2009-07-02 Fujitsu Limited Trusted virtual machine as a client

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959384B1 (en) * 1999-12-14 2005-10-25 Intertrust Technologies Corporation Systems and methods for authenticating and protecting the integrity of data streams and other data
US7240202B1 (en) 2000-03-16 2007-07-03 Novell, Inc. Security context sharing
US7131143B1 (en) 2000-06-21 2006-10-31 Microsoft Corporation Evaluating initially untrusted evidence in an evidence-based security policy manager
GB2384874B (en) * 2002-01-31 2005-12-21 Hewlett Packard Co Apparatus for setting access requirements
US7634807B2 (en) 2003-08-08 2009-12-15 Nokia Corporation System and method to establish and maintain conditional trust by stating signal of distrust
US20050039016A1 (en) 2003-08-12 2005-02-17 Selim Aissi Method for using trusted, hardware-based identity credentials in runtime package signature to secure mobile communications and high-value transaction execution
US7313679B2 (en) 2003-10-17 2007-12-25 Intel Corporation Extended trusted computing base
US7380119B2 (en) 2004-04-29 2008-05-27 International Business Machines Corporation Method and system for virtualization of trusted platform modules
US9450966B2 (en) * 2004-11-29 2016-09-20 Kip Sign P1 Lp Method and apparatus for lifecycle integrity verification of virtual machines
US20070204166A1 (en) * 2006-01-04 2007-08-30 Tome Agustin J Trusted host platform
KR20120092675A (ko) 2006-05-05 2012-08-21 인터디지탈 테크날러지 코포레이션 트러스티드 프로세싱 기술을 사용하는 디지탈 권리 관리
US8738786B2 (en) * 2006-05-18 2014-05-27 Sanggyu Lee Method for protecting client and server
DE102006025281A1 (de) * 2006-05-31 2007-12-06 Mitsubishi Polyester Film Gmbh Siegelfähige, biaxial orientierte Polyesterfolie mit hydrophiler Beschichtung
US8522018B2 (en) 2006-08-18 2013-08-27 Fujitsu Limited Method and system for implementing a mobile trusted platform module
GB0707150D0 (en) * 2007-04-13 2007-05-23 Hewlett Packard Development Co Dynamic trust management
US8068899B2 (en) * 2007-07-03 2011-11-29 The Board Of Trustees Of The Leland Stanford Junior University Method and system of using intrinsic-based photosensing with high-speed line scanning for characterization of biological thick tissue including muscle
US20090172871A1 (en) * 2007-10-31 2009-07-09 Bird K Todd Systems and methods for providing a urine deflector shield
US8352740B2 (en) * 2008-05-23 2013-01-08 Microsoft Corporation Secure execution environment on external device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090063857A1 (en) * 2004-04-29 2009-03-05 Bade Steven A Method and system for providing a trusted platform module in a hypervisor environment
JP2006338554A (ja) * 2005-06-03 2006-12-14 Ntt Docomo Inc サービス利用方法及び端末
JP2008090791A (ja) * 2006-10-05 2008-04-17 Nippon Telegr & Teleph Corp <Ntt> 仮想端末を利用した検疫ネットワークシステム、仮想端末を検疫する方法、及び、仮想端末を検疫するためのプログラム
JP2009032130A (ja) * 2007-07-30 2009-02-12 Hitachi Software Eng Co Ltd 情報処理装置及び方法、コンピュータ読み取り可能な記録媒体、並びに、外部記憶媒体
US20090172781A1 (en) * 2007-12-20 2009-07-02 Fujitsu Limited Trusted virtual machine as a client

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2016067473A1 (ja) * 2014-10-31 2017-09-07 富士通株式会社 セキュリティシステム及びコンピュータ機器間の通信方法

Also Published As

Publication number Publication date
EP2476057A1 (en) 2012-07-18
CN102687118A (zh) 2012-09-19
WO2011031387A1 (en) 2011-03-17
US8505103B2 (en) 2013-08-06
US20110060947A1 (en) 2011-03-10
JP5510550B2 (ja) 2014-06-04

Similar Documents

Publication Publication Date Title
JP5510550B2 (ja) ハードウェアトラストアンカー
US20200301764A1 (en) Operating system on a computing system
US10516533B2 (en) Password triggered trusted encryption key deletion
US8850212B2 (en) Extending an integrity measurement
JP4837985B2 (ja) 信頼できる処理モジュールを有するコンピュータを安全にブートするためのシステムおよび方法
US8832778B2 (en) Methods and apparatuses for user-verifiable trusted path in the presence of malware
Parno et al. Bootstrapping trust in commodity computers
US7836299B2 (en) Virtualization of software configuration registers of the TPM cryptographic processor
KR101176646B1 (ko) 상태 검증을 사용하는 보호된 오퍼레이팅 시스템 부팅을 위한 시스템 및 방법
US8335931B2 (en) Interconnectable personal computer architectures that provide secure, portable, and persistent computing environments
JP5455318B2 (ja) 動的信頼管理
JP5992457B2 (ja) オペレーティングシステムのコンフィグレーション値の保護
Meng et al. A survey of Android exploits in the wild
JP2009211686A (ja) 信頼できるコンピューティング方法、コンピューティング取引方法、及びコンピュータシステム
Rutkowska et al. Qubes OS architecture
EP3217310B1 (en) Hypervisor-based attestation of virtual environments
Härtig et al. Lateral thinking for trustworthy apps
Sisinni Verification of Software Integrity in Distributed Systems
WO2019209893A1 (en) Operating system on a computing system
Zhao Authentication and Data Protection under Strong Adversarial Model
Stumpf et al. An architecture providing virtualization-based protection mechanisms against insider attacks
Rossow TPM 2.0, UEFI and their Impact on Security and Users’ Freedom
Uzunay Increasing trustworthiness of security critical applications using trusted computing
Bugiel Using TCG/DRTM for application-specific credential storage and usage

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130827

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131126

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140225

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140310

R150 Certificate of patent or registration of utility model

Ref document number: 5510550

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees