JP4279856B2 - 情報の転送方法、およびコンピュータ - Google Patents

情報の転送方法、およびコンピュータ Download PDF

Info

Publication number
JP4279856B2
JP4279856B2 JP2006195123A JP2006195123A JP4279856B2 JP 4279856 B2 JP4279856 B2 JP 4279856B2 JP 2006195123 A JP2006195123 A JP 2006195123A JP 2006195123 A JP2006195123 A JP 2006195123A JP 4279856 B2 JP4279856 B2 JP 4279856B2
Authority
JP
Japan
Prior art keywords
control
computer
bios
server
operating system
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.)
Active
Application number
JP2006195123A
Other languages
English (en)
Other versions
JP2008026934A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2006195123A priority Critical patent/JP4279856B2/ja
Priority to US11/779,750 priority patent/US8156331B2/en
Publication of JP2008026934A publication Critical patent/JP2008026934A/ja
Application granted granted Critical
Publication of JP4279856B2 publication Critical patent/JP4279856B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • G06F21/6263Protecting personal data, e.g. for financial or medical purposes during internet communication, e.g. revealing personal data from cookies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、コンピュータ・ネットワークを介して情報を交換する際のセキュリティを確保する技術に関し、さらに詳細にはスパイウェア、キー・ロガーなどのような悪意のあるソフトウェアによる情報の漏洩のリスクを軽減する技術に関する。
パーソナル・コンピュータ(以下PCという)は、家庭においてもオフィスにおいても、何らかの形でネットワークに接続されて使用されることが多い。ネットワークに接続されたPCは他のコンピュータと、ネットワークを介して多くのデータを交換している。交換されるデータの中には、ユーザの認証に係る認証情報や、個人のプライバシーや業務上の機密に関わる情報など、高い機密性を要する情報も多く存在する。これらの情報が、ネットワークの伝送経路上で第三者に悪用もしくは改竄されると、その被害は重大なものとなる。
特にオフィス環境で使用されるPCは、PCやハードディスクにアクセスするためのパスワード、オペレーティング・システム(以後OSという)にログオンするためのユーザIDおよびパスワード、バイオメトリクス認証に係る指紋などの生体情報データ、電子メール・システムやグループウェアなどにログオンするためのユーザIDおよびパスワードなど、ユーザおよびクライアントの認証に係る多くの情報を保持し、またそれらの情報をネットワークを介して交換しなければならない。さらに最近は、セキュリティ・ポリシーの僅かな不徹底が重大な情報漏洩につながりかねないため、それらの認証に係る情報をオフィス内で一括して設定して管理することに対する需要が増大している。当然、そのような認証に係る情報をオフィス内で一括して設定して管理するには、それらの情報をネットワークを介して安全に交換し、かつ個々のPCにおいてそれらの情報を安全に入力して設定に反映できる通信システムが不可欠である。
そのために一般的に行われているのは、データの暗号化である。特に米国ネットスケープ・コミュニケーションズ社が開発したSSL(Secure Socket Layer)は、インターネット上で情報を暗号化して送受信する技術として幅広く使われている。SSLは、公開鍵暗号や秘密鍵暗号、デジタル証明書、ハッシュ関数などのセキュリティ技術を組み合わせ、データの盗聴や改ざん、なりすましを防ぐものである。SSLはOSI参照モデルではセッション層(第5層)とトランスポート層(第4層)の境界で動作し、HTTPやFTPなどのような上位のプロトコルを利用するアプリケーション・ソフトからは、特に意識することなく透過的に利用することができる。
ところで、ウィンドウズ(登録商標)をOSとして使用するPCによって構築されたネットワークでは、論理的に一つのグループとして扱われる複数のPCおよびプリンタなどのコンピュータ資源を総称してドメインという。一つのドメインの中で、ユーザIDおよびセキュリティ・ポリシーを管理するコンピュータをドメイン・コントローラという。ドメインに参加しているPCでは、ユーザが当該ドメインのドメイン・コントローラであるサーバに登録されたユーザIDおよびパスワードを入力してログオンすることができる(これをドメイン・ログオンという)。その際、PCとドメイン・コントローラとの間では、LM認証、NTLM認証、NTLMv2認証などのような方式で相互に認証が行われることにより、SSLによるセキュアな接続が確立される。これにより、PCとドメイン・コントローラとの間で認証に係る情報を、安全に交換することができる。
なお、ユーザの認証に係る認証情報に関する技術として、以下のような文献がある。特許文献1は、トークンに記憶された暗号化キーを、安全メモリを使って安全プロセッサモードで処理する技術を開示する。これにより、スマートカードなどのような特殊なハードウェアを利用せず、安価な記憶装置によって暗号化キーを安全に利用することが可能となる。
特表2000−516373号公報
前述のSSLなどによって通信経路の安全性は確保されても、各々のPCの内部での情報漏洩の危険性は残る。特に最近は、スパイウェア、キー・ロガーなどのような悪意のあるソフトウェアが蔓延している。スパイウェア(Spyware)は、PC内部に存在する情報、またはPCに対する操作の情報を、許可無しに第三者に送信する作用を持ったソフトウェアである。スパイウェアは、他のアプリケーション・ソフトと同時にPCにインストールされる場合もあれば、コンピュータ・ウィルスなどと同様に電子メールの添付ファイルやウェブサイトの閲覧などによってPCにインストールされる場合もある。多くのスパイウェアは、ウィンドウなどを表示せずにバックグラウンドで動作するため、当該PCを利用するユーザがそれらのスパイウェアの存在に気づくことは難しい。また、ユーザがスパイウェアの存在に気づいたとしても、当該スパイウェアをOSから除去することは専門的な知識の乏しいユーザには難しいことである。
スパイウェアの中でも、特にユーザがキーボードを介して入力した内容を取得するものをキー・ロガー(Key Logger)という。キー・ロガーがインストールされたPCでは、ユーザがキーボードを介して入力した全ての内容がキー・ロガーによって取得されるので、特にパスワードやクレジット・カード番号などの機密性の高い情報を盗むためにキー・ロガーが悪用されることが多い。もちろん、キー・ロガーはバックグラウンドで動作し、当該PCを利用するユーザがその存在に気づくことは難しい。実際、日本国内においても、キー・ロガーによって盗まれたインターネット・バンキングのパスワードが悪用されて現金を奪われる被害が発生している。
米国インテル社は、セキュアなコンピューティング環境を実現するLa Grandeテクノロジと呼ばれる新技術を開発している。この技術では、PC本体とキーボードの間にスパイウェアやキー・ロガーなどが介在しえないセキュアな接続を確立し、ユーザがキーボードを介して入力した内容を盗まれる問題を解決しようとしている。しかし、この新技術を適用するためには、PC本体およびキーボード、そしてOSとデバイス・ドライバの全てが新技術に対応する必要がある。
一方、米国インテル社製のCPUは、SMI(System Management Interrupt)入力ピン(SMI#)がアサートされることによって、システム管理用の動作モードであるSMM(System Management Mode)で動作することが可能である。SMMでは、メイン・メモリ内に専用に割り当てられたSMRAM(System Management RAM)と呼ばれるメモリ空間において、同社製のCPUで実行される割り込み制御ハンドラであるSMIハンドラが実行される。OSが直接SMMを利用することは不可能であるので、OSの制御下にあるCPUは、SMIハンドラが呼び出されることによってSMMに入る。SMMでは、CPUはBIOSにより制御されるためにシングル・タスクでの動作となり、すべての割り込みは無効とされる。さらに、SMRAMはSMMで動作するCPUが独占的に使用可能となる。従って、CPUがSMMで動作している間、BIOSの制御下で動作している単一のタスク以外のプログラムが動作することもなく、また当該プログラム以外のプロセスからSMRAM領域にアクセスされることもない。
つまり、SMMで動作するCPUでは、スパイウェアやキー・ロガーなどのような悪意のあるソフトウェアが動作する余地がないので、特に機密性の高い情報を扱うには適している。このことを利用して、特許文献1のように、パスワードなどのような認証に係る機密性の高い情報を、CPUをSMMに移行させてから処理する技術がある。特許文献1の発明では、トークンに記憶された暗号化キーを個人同定番号(PIN)を入力することによって有効にし、この暗号化キーを利用した暗号化をSMMによって行っている。たとえば遠隔サーバにログオンする場合、OSの制御下で遠隔サーバから受け取った文字列(チャレンジ)を、SMIハンドラによってSMMに移行したCPUに渡す。SMMで動作するCPUは、受け取ったチャレンジを前述の暗号化キーによって暗号化し、暗号化された文字列(レスポンス)を生成する。SMMから復帰したOSの制御下で、レスポンスが遠隔サーバに返送されることにより、ログオンに係る処理が完了する。
しかし、この方法には三つの問題点がある。一つは、OSの制御からBIOSを通じてSMIハンドラが呼び出されることによってCPUがSMMに移行したら、一般にPCやOSのアーキテクチャの観点から、数十〜数百ミリ秒以内にSMMを終了してOSの制御に戻る必要がある点である。たとえば、前述の特許文献1で述べたような、予めメモリに記憶された鍵を利用してメモリに記憶された文字列を暗号化する処理などであれば、その時間内に完了できる。しかし、ユーザがキーボードによってパスワードなどを入力するには、表示も含めて最低数秒はかかる。従って、そのようなユーザによる入力を必要とする処理でSMMを利用することはできない。ちなみに、特許文献1では、OSが起動する前のBIOS制御でPINの入力を受け付けてから、トークンに記憶された暗号化キーをメモリに記憶し、その後でOSを起動している。また、同文献の別の実施形態では、OSの制御下でユーザにPINを入力させてから、CPUをSMMに移行している。しかし、OSの制御下でPINのような機密性の高い情報を入力させることには、入力した内容をスパイウェアやキー・ロガーに盗まれる危険性が伴う。
二つめの問題点は、CPUをSMMに移行させて何らかのデータ処理をさせてからOSの制御に戻る際、データ処理を要求するアプリケーションとBIOSの間でのデータ交換はCPUのレジスタを使用するのが通常である。したがって、アプリケーションとBIOSとの間で、それより多くの容量のデータを処理して交換する場合、あるいは複数個のデータを連続して処理して交換する場合には、CPUをSMMに移行させて何らかのデータ処理をさせてOSの制御に戻るというサイクルを短時間で何度も繰り返す必要がある。これでは、当該PCの性能を大きく低下させることとなる。
三つめの問題点は、管理者パスワードや、PCのセキュリティに関する情報を格納するNVRAM(Non-Volatile RAM、不揮発性RAM)は、BIOSによる初期化が終了してOSの動作が開始されると書き込み禁止となり、当該PCをパワーオン・リセットしないと書き込み禁止が解除されない点である。このため、CPUをSMMに移行させるだけでは、NVRAMの書き込み禁止は解除されず、当該設定情報を書き換えることはできない。特に、BIOSパスワードのようなPCの設定情報に関わるデータをSSLによるセキュアな通信環境を介して複数個受け取った場合、受け取った情報をNVRAMに書き込んで当該PCに反映させるためには、1個データを受け取るたびごとに当該PCをパワーオン・リセットしてNVRAMの内容を変更せねばならない。受け取ったデータが複数個である場合、パワーオン・リセットも複数回繰り返されることになる。これでは、当該PCの使い勝手を大きく損なうこととなる。
そこで本発明の目的は、ネットワークを介して接続されたサーバとPCとの間で安全に情報を転送する方法を提供することにある。さらに本発明の目的は、前述のLa Grandeテクノロジのような特殊なハードウェアを必要とすることなく、悪意のあるソフトウェアが動作している環境にあっても機密性の高い情報を転送する方法を提供することにある。さらに本発明の目的は、コンピュータの性能および使い勝手を損なうことなく、機密性の高い情報を安全に転送する方法を提供することにある。さらに本発明の目的は、それらの方法を実行できるコンピュータを提供することにある。
本発明は、OSおよびBIOSのいずれかによる制御で動作するコンピュータとコンピュータにネットワークを介して接続されたサーバとの間で情報を転送する方法を提供する。OSによる制御で動作するコンピュータにサーバから暗号化された情報が転送されると、転送された情報はコンピュータのメモリに記憶される。そこで、コンピュータはOSによる制御からBIOSによる制御に切り替えられる。BIOSによる制御で、メモリに記憶された情報は復号化されて処理される。そこで処理された情報に基づいて処理情報が生成され、この処理情報はコンピュータがOSによる制御に戻ってからサーバに転送される。転送に利用されるメモリの記憶領域は、前述のような64バイトといった容量の制限を受けない。従って、大量の暗号化されたデータや、複数の暗号化されたデータをBIOSによる制御に渡して処理させることができ、それに伴う性能もしくは使い勝手の低下は小さくなる。
サーバに転送される処理情報は、BIOSによってメモリに記憶され、コンピュータがBIOSによる制御からOSによる制御に戻ってサーバに転送される。また、処理情報は暗号化されてからメモリに記憶される。これによって、暗号化されていない情報がOSによる制御を受けるコンピュータ内部で処理されることがなくなる。シングル・タスクであるBIOSによる制御を受ける環境では、悪意のあるソフトウェアが動作することがない。従って、OSによる制御を受ける環境でそれらの情報が暗号化されていれば、悪意のあるソフトウェアにそれらの情報を取得される可能性は小さくなる。
また、コンピュータをOSによる制御からBIOSによる制御に切り替える際、コンピュータをサスペンド状態に移行させ、該サスペンド状態からユーザやネットワークなどからの外部イベントを待たないで、すぐにリジューム(復帰)する。このことにより、メモリの内容は保持されるが、NVRAMはパワーオン・リセットされる際と全く同じようにリセットされ、書き込み禁止が解除される。これにより、BIOSによる制御の下で、サーバから転送された情報でNVRAMの内容を書き換えることができる。サスペンドの替わりにハイバーネーションを利用しても、同じ効果が得られる。そして、サスペンドもしくはハイバーネーションが行われてもメモリの内容は保持されるので、暗号化された情報および処理情報を記憶するメモリは、不揮発性メモリとする必要はない。また、プロセッサに対してSMI(System Management Interrupt)を発行すれば、メモリに記憶された情報が存在するメモリ上の物理アドレスをOSからBIOSに伝達することができるので、BIOSによって当該情報を利用しやすくなる。
前述のように、SMMだと数十〜数百ミリ秒以内にOSによる制御に戻らねばならない制限があるが、サスペンド状態からリジュームしてBIOSによる制御に入れば、そのような時間的な制限は受けない。従って、BIOSによる制御でキーボードから情報の入力を行えば悪意のあるソフトウェアが動作しない環境で、安全に入力を受け付け、入力された情報を利用して処理を行うことができる。また、OSによる制御からBIOSによる制御に切り替える際に、暗号化された情報をサーバから受け取ったことを画面表示や音声などによってユーザに知らせることもできる。もちろん、そのような情報をコンピュータの外部から受け取ったこと自体を、BIOSによる制御に切り替えるイベントを発生させるトリガーとすることもできる。
本発明は、OSが動作し、ネットワークを介して接続されたサーバとの間で情報を転送することのできるコンピュータを提供することもできる。このコンピュータは、情報を転送する方法として説明した各々のステップを実行する手段を持つコンピュータとして捉えられる。また、プロセッサ、BIOS、揮発性メモリと、ネットワーク・インターフェイス、記録媒体を有し、この記録媒体に記録されたプログラムによって各々のステップを実行するコンピュータとしても捉えられる。そして、OSがウィンドウズ(登録商標)・シリーズであれば、暗号化された情報を受け取ってからBIOSによる制御に切り替えるまでのステップをウィンドウズ(登録商標)を構成するモジュールに実行させることができる。つまり本発明は、特殊なハードウェアやOS全体の大規模な改造などを必要とせず、ウィンドウズ(登録商標)の標準的なモジュールおよびBIOSを使用して、わずかのソフトウェアをインストールするだけで実施できる。もちろんウィンドウズ(登録商標)以外のOSであっても、ネットワークを介してサーバと接続でき、かつOSとBIOSとの間で制御を切り替えることのできるものであれば、本発明を適用することができる。
本発明により、ネットワークを介して接続されたサーバとPCとの間で安全に情報を転送する方法を提供することができた。さらに本発明により、前述のLa Grandeテクノロジのような特殊なハードウェアを必要とすることなく、悪意のあるソフトウェアが動作している環境にあっても機密性の高い情報を転送する方法を提供することができた。さらに本発明により、コンピュータの性能および使い勝手を損なうことなく、機密性の高い情報を安全に転送する方法を提供することができた。さらに本発明により、それらの方法を実行できるコンピュータを提供することができた。
図1は、本発明の実施の形態にかかるパーソナル・コンピュータであるPC10のシステム構成を示す概略ブロック図である。PC10の筐体内部には、図1に示す各種のデバイスが搭載されている。CPU11は、PC10の中枢機能を担う演算処理装置で、OS、BIOS、デバイス・ドライバ、あるいはアプリケーション・プログラムなどを実行する。本実施の形態にかかるCPU11は、SMMで動作することが可能である。
CPU11は、システム・バスとしてのFSB(Front Side Bus)13、CPU11と周辺機器との間の通信を行うためのPCI(Peripheral Component Interconnect)バス15、ISAバスに代わるインターフェイスであるLPC(Low Pin Count)バス17という3段階のバスを介して各デバイスに接続されて信号の送受を行っている。FSB13とPCIバス15は、メモリ/PCIチップと呼ばれるCPUブリッジ19によって連絡されている。CPUブリッジ19は、メイン・メモリ21へのアクセス動作を制御するためのメモリ・コントローラ機能や、FSB13とPCIバス15との間のデータ転送速度の差を吸収するためのデータ・バッファ機能などを含んだ構成となっている。メイン・メモリ21は、CPU11が実行するプログラムの読み込み領域、処理データを書き込む作業領域として利用される揮発性の書き込み可能メモリである。同時にメイン・メモリ21はSMMで動作するCPU11が独占的に使用できるSMRAM(System Management RAM)としての領域を含む。ビデオ・カード23は、ビデオ・チップ(図示せず)およびVRAM(図示せず)を有し、CPU21からの描画命令を受けて描画すべきイメージを生成しVRAMに書き込み、VRAMから読み出されたイメージを描画データとしてディスプレイ25に送る。
PCIバス15には、I/Oブリッジ27、CardBusコントローラ30、miniPCIスロット33、イーサネット(登録商標)・コントローラ35がそれぞれ接続されている。CardBusコントローラ30は、PCIバス15とPCカード(図示せず)とのデータ転送を制御するコントローラである。CardBusコントローラ30にはCardBusスロット31が接続され、CardBusスロット31にはPCカード(図示せず)が装着される。miniPCIスロット33には、例えば無線LANモジュールが内蔵されたminiPCIカード(図示せず)が装着される。イーサネット(登録商標)・コントローラ35は、PC10を有線LANに接続するためのコントローラである。
I/Oブリッジ27は、PCIバス15とLPCバス17との間のブリッジとしての機能を備えている。また、I/Oブリッジ27は、IDE(Integrated Device Electronics)インターフェイス機能を備えており、ハード・ディスク・ドライブ(HDD)39および光学ドライブ41(CDドライブ,DVDドライブ等)が接続される。また、I/Oブリッジ27にはUSBコネクタ37、およびEEPROM29も接続される。USBコネクタ37にはUSBに対応した各種周辺機器(図示せず)が接続される。EEPROM29は不揮発性で記憶内容を電気的に書き替え可能とされているメモリであるが、詳細は後述する。LPCバス17には、エンベデッド・コントローラ43、BIOSフラッシュROM47、NVRAM57、I/Oコントローラ51が接続されている。I/Oコントローラ51にはI/Oコネクタ53を介してキーボード55を初めとする入出力機器(図示せず)が接続されている。BIOSフラッシュROM47およびNVRAM57については後述する。さらにI/Oブリッジ27は、PC10の内蔵時計として機能するRTC(Real Time Clock)28を含む。
エンベデッド・コントローラ43は、8〜16ビットのCPU、ROM、RAMなどで構成されたマイクロ・コンピュータであり、さらに複数チャネルのA/D入力端子、D/A出力端子、およびデジタル入出力端子を備えている。エンベデッド・コントローラ43には、それらの入出力端子を介して冷却ファン(図示せず)、温度センサ(図示せず)および電源装置45などが接続されており、PC内部の動作環境の管理にかかるプログラムをCPU11とは独立して動作させることができる。
なお、図1は本実施の形態を説明するために、本実施の形態に関連する主要なハードウェアの構成および接続関係を簡素化して記載したに過ぎないものである。ここまでの説明で言及した以外にも、ノートPC10を構成するには多くのデバイスが使われる。しかしそれらは当業者には周知であるので、ここでは詳しく言及しない。もちろん、図で記載した複数のブロックを1個の集積回路もしくは装置としたり、逆に1個のブロックを複数の集積回路もしくは装置に分割して構成したりすることも、当業者が任意に選択することができる範囲においては本発明の範囲に含まれる。
図2は、本発明の実施の形態に係るノートPC10の中で、BIOSフラッシュROM47、NVRAM57、メイン・メモリ21、およびEEPROM29の内部構成を示す図である。図2(A)に示すBIOSフラッシュROM47は、不揮発性で記憶内容を電気的に書き替え可能なメモリであり、システムの起動および管理に使われる基本プログラムであるシステムBIOS(SSO Shell Bios)61、電源および温度などの動作環境を管理するソフトウェアである各種ユーティリティ63、PC10の起動時にハードウェアのテストを行うソフトウェアであるPOST(Power-On Self Test)65、本発明に係る通信ユーティリティ67、CPU11をSMMで動作させるSMIハンドラ69、HDD39にアクセスするINT13Hハンドラ71、後述するBIOSパスワード入力ユーティリティ73などが記憶されている。システムBIOS61はまた、ACPIに係る電源状態の制御を行うことも可能である。
図2(B)に示すNVRAM57は、ノートPC10の電源を切っても消失しないように電池でバックアップされ、システムBIOS61からのみアクセス可能なRAMである。NVRAM57は、PC10でOSが起動している間は読み書き禁止となり、電源供給がリセットされるまで解除されない。NVRAM57は、PC10のデバイス・コントローラの設定情報75、および後述する暗号化BIOSパスワード77などを記憶している。設定情報75の内容としては、主にディスク装置の起動順序やドライブ番号、各周辺機器の接続方法やデータ転送に関するパラメータなどがある。また、PC10のシリアル・ナンバー81、サーバの公開鍵82、後述するパワーオン・パスワード83およびスーパーバイザー・パスワード84なども、設定情報75に含まれる。なお、HDDパスワード85は、HDD39の管理領域の中に磁気的に保存される。
図2(C)に示すメイン・メモリ21には、PCシステムの通常の動作で使用されるユーザ領域89の他に、SMRAM(System Management RAM)87としての領域が確保されている。システムBIOS61からSMIハンドラ69が呼び出されることによってCPU11がSMMに入ると、CPU11はシングル・タスクでの動作となり、すべての割り込みは無効とされる。さらに、SMRAM87はSMMで動作するCPU11が独占的に使用可能となる。メイン・メモリ21の中には、本発明に係る仮想メールボックス91としての領域が確保されるが、詳しくは後述する。なお、仮想メールボックス91は、図2(C)ではユーザ領域89に含まれるように表記されているが、SMRAM領域87に含まれても、またSMRAM領域87とユーザ領域89の両方にまたがってもよい。
図2(D)に示すEEPROM29は、不揮発性で記憶内容を電気的に書き替え可能とされているメモリであるが、NVRAM57と違ってOSとシステムBIOS61の両方から読み書き可能な領域93が存在し、この領域をOSとシステムBIOS61との間でデータの交換のために利用できる。
PC10を起動する際に使用されるパスワードとして、パワーオン・パスワード83、スーパーバイザー・パスワード84、およびHDDパスワード85の3通りのパスワードが使用される。これらの3種類のパスワードを総称してBIOSパスワードという。PC10の電源を投入し、パワーオン・パスワード83とHDDパスワードを入力し、それらが正しく認証されると、OSの起動だけが可能となる。スーパーバイザー・パスワード84とHDDパスワード85を入力し、それらが正しく認証されると、OSの起動と設定情報75全体の変更が可能になる。なお、OSはHDD39にインストールされており、BIOSパスワードの認証とシステムBIOS61によるハードウェアの初期設定が終了した後で起動される。OSの種類は本実施の形態で特定されるものではなく、たとえばウィンドウズ(登録商標)、Linux(登録商標)などが使用可能である。以後、本実施の形態では、ウィンドウズ(登録商標)2000およびウィンドウズ(登録商標)XPのうちいずれかをOSとして利用するものとして説明を続ける。
以上で示したPC10を構成するハードウェア、および該PC10の上で動作するOSとBIOSは、全てACPI(Advanced Configuration and Power Interface)に対応し、ACPIによって電源の管理が行われる。ACPIではいくつかの電源状態が規定されているが、本実施例ではサスペンド状態(またはSuspend To RAMを略してSTR、ACPIでS3として規定される電源状態)を使用する。サスペンド状態では、メイン・メモリ21に記憶された内容をそのままにして、CPU11やHDD39など、PC10を構成するメイン・メモリ21以外のデバイスのほとんどへの電源の供給が停止される。通常の動作状態(ACPIでいうS0の電源状態)にリジュームする際に、OSを再起動する必要がなく、短時間でリジュームできるという特徴がある。しかも、通常の動作状態でOSが起動している間はアクセス不可能であるNVRAM57は、PC10がサスペンド状態に移行するとBIOSからアクセス可能になる。
図3は、本実施の形態に示すデータの転送における、各々の構成要素の概念図である。PC10で動作するOSの中には、プライベートGINA(Graphical Identification and Authentication)101、物理メモリ・ドライバ103、PSI(Private Security Interface)105、電源状態ドライバ107の各モジュールが存在する。プライベートGINA101は、本実施の形態のためにカスタマイズされ、ウィンドウズ(登録商標)のコンポーネントとして登録されたGINAである。GINAは、ウィンドウズ(登録商標)にユーザがログオンする際に、ユーザID、パスワード、およびログオン先を入力するためのダイアログを表示し、それらの入力を受け付けるモジュールである。本実施の形態では、後述のサーバ110との間のデータの受け渡し、およびBIOSとの間のデータの受け渡しを管理するモジュールとして使用される。
物理メモリ・ドライバ103は、カーネル・モード・ドライバとしてウィンドウズ(登録商標)にインストールされ、後述する仮想メールボックス91を介したデータの受け渡しを実行する。PSI105は、ウィンドウズ(登録商標)のDLL(Dynamic Load Library)の一つであり、SSLによるセキュアなデータ通信を実行する。本実施の形態では、サーバ110との間でSSLによる接続を確立してセキュアな通信を行う。電源状態ドライバ107は、やはりカーネル・モード・ドライバとしてウィンドウズ(登録商標)にインストールされ、ACPIによる電源状態の管理および遷移を、ACPIに対応したシステムBIOS61と協調して行う。
仮想メールボックス91は、物理メモリ・ドライバ103によってメイン・メモリ21の中に確保された領域である。ウィンドウズ(登録商標)が管理しているメイン・メモリ21の論理アドレスをシステムBIOS61で解釈することは不可能であるが、物理メモリ・ドライバ103はメイン・メモリ21上の特定の物理アドレスを仮想メールボックス91としてキープし、I/O命令を使用してCPU11のレジスタ経由でSMIを発行し、CPU11のレジスタで指定される該物理アドレスをシステムBIOS61に伝達することができる。このことを利用して、特定のデータをウィンドウズ(登録商標)からシステムBIOS61の制御に渡し、システムBIOS61の制御下で処理されて仮想メールボックス91内に記憶されたデータをウィンドウズ(登録商標)側で受け取ることができる。
システムBIOS61の制御下で、本発明に係る通信ユーティリティ67が動作し、仮想メールボックス91を介して受け取ったデータを処理する。また通信ユーティリティ67は、NVRAM57に記憶された設定情報75にアクセスし、該設定情報の内容を書き換えることができる。システムBIOS61は、電源状態ドライバ107と協調して電源状態の管理および遷移を行い、またRTC28、およびエンベデッド・コントローラ43などのような、電源状態に関わるデバイスを制御することができる。しかしBIOSはシングル・タスクであるので、通信ユーティリティ67の動作とシステムBIOS61の動作とが同時に行われることはない。もちろん、BIOSの制御下で動作している単一のタスク以外のプログラムが動作することもない。
一方、サーバ110では、PSI.aspx(Private Security Interface in Server)111というモジュール(ここではActive Server Page)が動作する。PSI.aspx111は、PC10上のPSI105との間でSSLによる接続を確立することにより、セキュアな通信を行うことができる。PSI.aspx111を介して、ドメイン・ユーザ・テータベース113、およびBIOSパスワード・テータベース115が、PC10と通信を行う。ドメイン・ユーザ・テータベース113には、サーバ110が管理するドメインに属する全てのユーザのユーザIDおよびパスワードが記憶される。これによってサーバ110は、ドメイン・コントローラとして機能し、当該ドメインに参加する全てのPCにおいて、ドメイン・ログオンしようとする当該ドメインのユーザを認証することができる。BIOSパスワード・テータベース115には、サーバ110が管理するドメインに属する全てのPCのBIOSパスワードが記憶される。以後、本実施の形態では、サーバ110は、「信頼に値する」ものであり、当該サーバ自体からの情報の漏洩の可能性は考えなくてもよいものとする。
図4は、仮想メールボックス91を介したBIOSとウィンドウズ(登録商標)との間のデータの交換について示す図である。物理メモリ・ドライバ103は、メイン・メモリ21上に十分な大きさの領域を確保し、これを仮想メールボックス91とする。その上で物理メモリ・ドライバ103は、仮想メールボックス91に該当するアドレスを、システムBIOS61に通知する。その上で、ウィンドウズ(登録商標)で通信を行うモジュールは、BIOSに渡したいデータを仮想の電子メールに見立てた仮想電子メール200として、仮想メールボックス91上に記憶する。仮想メールボックス91としては、本実施の形態ではおよそ4KB程度のメモリ容量を確保するが、この容量は必要に応じてさらに増加することもできる。
仮想電子メール200は、PC10とサーバ110との間で交換される暗号化された情報の一単位を電子メールに見立てたものであり、ヘッダ201、ボディ203、デジタル署名205で構成される。ヘッダ201は、データ作成元の署名211(Signature)、データの全バイト数212(Length)、データ種類と処理内容213(Request)、送信日時214(Timestamp)、メールのID215(Reference ID)、および初期ベクトル216(Initial Vector)などからなる。データ種類と処理内容213は、たとえばデータ種類は「パワーオン・パスワード」「HDDパスワード」など、処理内容は「更新命令」「更新を行った結果」などのように指定される。初期ベクトル216は、共通鍵暗号化をCBC(Cipher Block Chaining)方式で行うときに使用されるデータである。CBCは、平文を暗号化する前に直前のブロックの暗号文をXOR処理してから暗号化を行う方式であり、平文に繰り返しパターンがあっても暗号文には繰り返しパターンは現れないという特徴がある。ボディ203は、伝達される対象となるデータが暗号化された本文221(Mail Content)、および本文に対するデジタル証明に使用される鍵222(Key concatenated for Digest)からなる。デジタル署名205は、ヘッダ201および本文221から、サーバ110とシステムBIOS61の双方が持つ鍵231を使って生成されたダイジェストである。この鍵231は、送信側と受信側の両方が同一の鍵を持つ共通鍵であってもよいし、また一方が秘密鍵でもう一方がそれに対応した公開鍵であってもよい。
サーバ110で作成された仮想電子メール200は、PSI.aspx111とPSI105との間で確立されたSSLによるセキュアな通信チャネルを介してPC10に届く。PC10内部では、届いた仮想電子メール200は仮想メールボックス91を介してシステムBIOS61に渡される。逆に、システムBIOS61で作成された仮想電子メール200は、仮想メールボックス91を介してOSに制御されるPSI105に渡され、PSI105とPSI.aspx111との間で確立されたSSLによるセキュアな通信チャネルを介してサーバ110に届く。サーバ110とシステムBIOS61の双方が、鍵231を利用して仮想電子メール200のボディ203の暗号化と復号化、さらにはデジタル署名205の付加と検証を行う。つまり、PC10内部でOSの制御下で動作する環境では、仮想電子メール200は伝達される対象のデータを含むボディ203が必ず暗号化された状態でやりとりされるので、この状態でスパイウェアなどにボディ203を読み取られても、対象データの内容を知られることはない。
なお、図4で示した仮想電子メール200のデータ形式は、従来技術で送受信される暗号化されたデータと全く同じである。サーバ110の側では、従来技術と全く同じように情報が暗号化され、PC10に送信される。該暗号化されたデータを受け取ったPC10の側で、該暗号化されたデータを仮想電子メール200と呼んで、処理しているに過ぎない。PC10の側で作成された仮想電子メール200をサーバ110が受け取った場合も、サーバ110の側では、仮想電子メール200に含まれる暗号化済みの情報が従来技術と全く同じように復号化されて処理される。以後の説明で、便宜上「サーバ側で仮想電子メールを作成する」などのような表現をしている部分があるが、実際には本実施の形態を実施するに際して、サーバ110の側でハードウェアの追加もしくは変更は全くない。
図5〜6は、本発明の実施の形態で行われるデータ転送の手順を示すフローチャートである。図面の錯綜を回避するために、フローチャートは図5と図6の2枚に分けて表記されている。また図7は、図5のデータ転送で、相互に送信されるデータの構造を示す図である。ここでは、PC10とサーバ110との間で、次に示す(1)〜(4)の処理を順番に行おうとしている。
(1)ドメインの管理者によってBIOSパスワード・テータベース115に設定されたBIOSパスワードをサーバ110からPC10に送信する。
(2)PC10が、サーバ110から受信したBIOSパスワードを自らに設定し、設定したBIOSパスワードを、ユーザが入力する外部鍵によって暗号化してNVRAM57に保存する。
(3)PC10が、設定結果をサーバ110に返信する。
(4)サーバ110が、PC10から受信した設定結果に基づいて、BIOSパスワード・テータベース115のデータを更新する。
PC10には、ユーザがサーバ110内のドメイン・ユーザ・テータベース113によって認証されてドメイン・ログオンしているものとする。PC10の側からプライベートGINA101を介して、BIOSパスワード設定のリクエストがサーバ110に送信されると(ブロック301〜303)、以下に示す処理が開始される。ここで、BIOSパスワードの設定のリクエストは、ログオン時にBIOSパスワードを入力しているので設定更新のリクエストになるが、PC10にBIOSパスワードが設定されていない場合は新規設定のリクエストになる。送信されるリクエストには、PC10のホスト名およびシリアル・ナンバー81、およびログオンしているユーザのID等が含まれる。サーバ110は、BIOSパスワード・テータベース115で、図7(A)に示す仮想電子メール400aを作成する(ブロック305)。仮想電子メール400aのボディ403aの内容には、BIOSパスワード411、および今回の処理のみに使われるワンタイム・パスワード413が含まれる。ボディ403aの暗号化、およびデジタル署名405aの作成には、BIOSパスワード・テータベース115が保持する当該PCのスーパーバイザー・パスワード84が共通鍵421として使用される。これにヘッダ401aが付加されて、仮想電子メール400aが作成される。BIOSパスワードが複数の場合は、仮想電子メール400aも複数になる。また、それら複数の仮想電子メール400aには、一括して処理を行えるよう、全て同一の共通鍵421が使用される。たとえばパワーオン・パスワード83およびHDDパスワード85を更新する場合は、パワーオン・パスワード83とHDDパスワード85とでそれぞれに仮想電子メール400aが作成される。
PSI.aspx111がPC10とサーバ110の間でSSLによるセキュアな通信チャネルを確立し(ブロック307)、作成された仮想電子メール400aがPSI.aspx111からPSI105へ届く(ブロック309)。PSI105へ届いた仮想電子メール400aは、プライベートGINA101から物理メモリ・ドライバ103に渡る(ブロック311〜313)。物理メモリ・ドライバ103は、仮想電子メール400aを仮想メールボックス91に記憶させる(ブロック315)。物理メモリ・ドライバ103は、仮想電子メール400aが複数ある場合は、複数の仮想電子メール400aを同時に仮想メールボックス91に記憶させる。そして物理メモリ・ドライバ103は、SMIハンドラ69を呼び出すことにより、仮想メールボックス91の物理アドレスと仮想電子メール400aが存在することをシステムBIOS61に伝達する(ブロック317)。
ここでプライベートGINA101は、電源状態ドライバ107に対してPC10の動作状態を「サスペンド/リジューム」に移行することを要求する(ブロック319)。サスペンド/リジュームを実行するために、電源状態ドライバ107から指示を受けたシステムBIOS61が、通常のサスペンド状態に移行する準備(ブロック319)に加えて、サスペンド状態に移行した直後にリジュームさせるための準備を行う(ブロック321)。サスペンド状態に移行した直後にリジュームさせるための準備とは、システムBIOS61によって制御されるRTC28もしくはエンベデッド・コントローラ43などのデバイスに、サスペンド状態に移行した直後にリジュームに関わるイベントを発生させるようにする処理である。これらの処理が完了したらPC10はサスペンド状態に移行し(ブロック323)、すぐにリジュームしてシステムBIOS61による制御に映る(ブロック325)。ここで、それまでOSによる制御の下では読み書きが禁止されていたNVRAM57が読み書き可能になる。
リジュームしたPC10では、システムBIOS61に格納された通信ユーティリティ67が起動し(ブロック327)、仮想メールボックス91に記憶された仮想電子メール400aのボディ403aを復号する処理に入る。PC10がサスペンドしてもメイン・メモリ21には電力が供給され続けているので、仮想メールボックス91の内容は保持されている。ボディ403aは、共通鍵421である、NVRAM57内部の設定情報75に記録されたスーパーバイザー・パスワード84によって復号化され、サーバ110から送られた新しいBIOSパスワード411が取り出される(ブロック331)。取り出されたBIOSパスワード411がパワーオン・パスワード83またはスーパーバイザー・パスワード84であれば、NVRAM57内部の設定情報75に書き込み、反映させる。HDDパスワード85であれば、HDD39に書き込み、反映させる(ブロック333)。なお、通信ユーティリティ67は、処理が終わった仮想電子メール400aを仮想メールボックス91から削除する。また、仮想電子メール400aが複数ある場合は、ブロック327〜333の処理が仮想電子メール400aの数だけ繰り返される。なお、ここで共通鍵421をユーザに入力させるようにして、PC10内に共通鍵を保存しないようにすることもできる。共通鍵421は、サーバ110が保持し、かつユーザが入力できるものであれば、スーパーバイザー・パスワード84以外でもよい。
BIOSパスワードを設定した設定結果についてサーバ110に知らせるために、通信ユーティリティ67は、図7(B)に示す仮想電子メール400bを作成し、仮想メールボックス91に記憶させる(ブロック335)。仮想電子メール400bのボディ403bの内容には、設定結果についてのメッセージ431を、仮想電子メール400aを通じて受け取ったワンタイム・パスワード413で暗号化したメッセージ435と、PC10のシリアル・ナンバー81が含まれる。ワンタイム・パスワード413による暗号化は、共通鍵方式または公開鍵方式のどちらでもよい。ボディ403bの暗号化およびデジタル署名405bの作成には、サーバ110が当該ドメインに参加するコンピュータに対して公開している公開鍵82が使用される。この公開鍵は、予め受け取って設定情報75に書き込んでもよいし、またPC10がサーバ110にアクセスする際にダウンロードするようにしてもよい。ボディ403bおよびデジタル署名405bにヘッダ401bが付加されて、仮想電子メール400bが作成される。仮想電子メール400bの作成で使われるワンタイム・パスワード413は、当該処理が終了すると破棄され、PC10内部に保存されることはない。
以上で示したブロック327〜335の処理はシステムBIOS61による制御下で行われるので、CPU11はシングル・タスクで動作する。しかも該処理にはCPU11が独占的に参照できるSMRAM87が使用される。従って、OSの動作環境で動作するスパイウェアもしくはキー・ロガーなどが、これらの復号化されたデータおよび入力されるデータを取得する事はできない。なお、この次にBIOSパスワード入力ユーティリティ73による処理が、引き続きシステムBIOS61による制御下で行われるが(ブロック351〜355)、これについては後述する。
ここで仮想電子メール400bをサーバ110に転送するために、システムBIOS61がPC10をOSの動作環境に戻す(ブロック337)。なお、PC10がOSの動作環境に戻ると、NVRAM57は読み書き禁止となる。物理メモリ・ドライバ103を介して仮想電子メール400bを得た(ブロック339)プライベートGINA101は、PSI105を介して該仮想電子メール400bをサーバ110のPSI.aspx111に送信する(ブロック341〜343)。PSI.aspx111を介して仮想電子メール400bを受け取ったBIOSパスワード・テータベース115は、ボディ403bを公開鍵82に対応したサーバ110が保有する秘密鍵、および自らが発行したワンタイム・パスワード413によって復号化する。そして、復号化して得られた内容に基づいて、自らのデータを更新する(ブロック345〜347)。これでサーバ110によるPC10に対するBIOSパスワードの設定の処理を完了する(ブロック349)。
BIOSパスワードが設定されたら、PC10において、BIOSの制御下でBIOSパスワード入力ユーティリティ73が、当該PCに係る複数のBIOSパスワードを1本にまとめて暗号化して保存する処理を行う。BIOSパスワード入力ユーティリティ73がユーザに外部鍵433の入力を要求し(ブロック351)、受け取った外部鍵433によってBIOSパスワードを暗号化し(ブロック351)、暗号化BIOSパスワード77としてNVRAM57に保存する(ブロック353)。この暗号化は、ユーザが入力するパスワードを外部鍵433として利用することにより、共通鍵方式で行われる。BIOSパスワードが設定されたPC10を起動する際に、BIOSパスワード入力ユーティリティ73がユーザに外部鍵の入力を要求する。入力された外部鍵によって、BIOSパスワード入力ユーティリティ73が暗号化BIOSパスワード77を復号化し、得られたパワーオン・パスワード83(またはスーパーバイザー・パスワード84)、およびHDDパスワード85を、それぞれシステムBIOS61およびHDD39に入力する。各々のBIOSパスワードが認証されれば、PC10でシステムBIOS61によるシステムの初期化、およびOSの起動が可能となる。この方式によれば、ユーザは自らが覚えやすいパスワードを外部鍵433として使用することができ、さらに外部鍵433をPC10内部に保存する必要はない。
なお、ブロック335で作成される仮想電子メール400bのボディ403bの中に、暗号化BIOSパスワード77の作成に使われた外部鍵433をワンタイム・パスワード405で暗号化してメッセージ435に含めて、ブロック339でサーバ110に送信して、ブロック341でBIOSパスワード・テータベース115に保存させることもできる。その結果、ユーザが該外部鍵を忘れてPC10を起動できなくなったときの救済措置として、BIOSパスワード・テータベース115に保存された外部鍵を利用できる。
なお、PC10の側からではなく、サーバ110の側からPC10に対してBIOSパスワードの新規設定または更新のリクエストを送信することによって、以上に示す処理を開始させることもできる。たとえば、該ドメイン内に定期的にBIOSパスワードもしくは外部鍵433を更新していないPCがあった場合、当該PCが起動しているときに当該PCに対して更新のリクエストを送信し、実際にBIOSパスワードおよび外部鍵433を更新させることができる。ただし、リクエストを送信されたときにユーザが当該PCを利用して作業中である場合など、すぐにBIOSパスワード設定の作業に入れないことがある。その場合は、サーバ110からのリクエストを受信したPC10は、BIOSパスワード設定のリクエストがあった旨をディスプレイ25に表示し、当該リクエストについてユーザに知らせるようにすることが望ましい。ユーザは、すぐにBIOSパスワード設定を開始することも、自らの作業が終了した後でBIOSパスワード設定を開始することも選択できる。以上で述べた実施の形態を、セキュリティ・ポリシーを一括して設定して管理するシステムの中で利用することにより、ドメイン内に存在する全てのPCでもれなくBIOSパスワードを設定し、それらをサーバ側で一括して管理することが可能になる。
本実施の形態は、ほとんどのPCが標準的に備えるハードウェアのみを利用している。そのため、本実施の形態はソフトウェアのインストールおよび変更だけで実施することが可能である。新たにインストールされるソフトウェアは、プライベートGINA101、物理メモリ・ドライバ103、電源状態ドライバ107、および通信ユーティリティ67である。システムBIOS61は、本実施の形態特有の動作に対応するように変更される。サーバ側も、前述の通りハードウェアを一切変更する必要はない。また、前述の実施の形態では、ウィンドウズ(登録商標)をOSとするPCによって構築されたネットワーク(LANもしくはWAN)のドメインについて述べたが、本発明の実施は必ずしもそれに限定されない。もちろん、OSはウィンドウズ(登録商標)・シリーズに限定されない。さらに、サーバとPCとの間でセキュアな接続を確立できる通信方式であれば、通信方式はSSLに限定されず、また通信に使用されるモジュールはPSI105およびPSI.aspx111に限定されない。
以上で述べた実施の形態は、機密性の高い情報をネットワークを介して転送および入力することを必要とする多くの場面で応用されうる。たとえばインターネット・バンキングなどのように、インターネットを介して機密性の高い情報を交換するための通信ソフトとして本発明の方法を提供することもできる。また、インターネット・エクスプローラ(登録商標)などのようなウェブ・ブラウザにプラグインとして組み込み、ウェブサイトとのデータの交換の中で本発明の方法を利用することもできる。
また、前述の実施の形態では、PC10をシステムBIOS61による制御に移行させるために「サスペンド/リジューム」を利用したが、ハイバーネーションが実行された状態(ACPIでS4として規定される電源状態、別名Suspend To Diskを略してSTD)からすぐリジュームする動作を同じ目的で利用することもできる。ハイバーネーションが実行されると、メイン・メモリ21に記憶されていた内容はHDD39に保存され、メイン・メモリ21に対する電力の供給は中断される。しかし、そこからリジュームすれば、メイン・メモリ21に対する電力供給が再開し、メイン・メモリ21に記憶されていた内容はHDD39から当該メモリに復元される。つまり、それによって仮想メールボックス91の内容も復元されることになるので、以後の仮想電子メール400aに係る処理は、サスペンドを利用した場合と全く同じに行うことができる。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることは言うまでもないことである。
ネットワークに接続されるコンピュータにおいて利用可能である。
ノートPCの概略ブロック図である。 BIOSフラッシュROM、セキュアNVRAM、メイン・メモリ、およびEEPROMの内部構成を示す図である。 データの転送における、各々の構成要素の概念図である。 仮想メールボックスを介したBIOSとウィンドウズ(登録商標)との間のデータの交換について示す図である。 データの転送の動作を示すフローチャートである。 図5の続きである。 データの転送で、相互に送信されるデータの構造を示す図である。
符号の説明
10 ノートPC
11 CPU
21 メイン・メモリ
28 RTC(Real Time Clock)
29 EEPROM
39 ハード・ディスク・ドライブ(HDD)
43 エンベデッド・コントローラ
47 BIOSフラッシュROM
57 NVRAM
61 システムBIOS(SSO Shell Bios))
67 通信ユーティリティ
69 SMIハンドラ
73 BIOSパスワード入力ユーティリティ
75 設定情報
77 暗号化BIOSパスワード
81 シリアル・ナンバー
82 サーバの公開鍵
83 パワーオン・パスワード
84 スーパーバイザー・パスワード
85 HDDパスワード
87 SMRAM(System Management RAM)
91 仮想メールボックス
101 プライベートGINA
103 物理メモリ・ドライバ
105 PSI
107 電源状態ドライバ
110 サーバ
111 PSI.aspx
113 ドメイン・ユーザ・テータベース
115 BIOSパスワード・テータベース
200,400a,400b 仮想電子メール
201,401a,401b ヘッダ
203,403a,403b ボディ
205,405a,405b デジタル署名
231 鍵
411 BIOSパスワード
413 ワンタイム・パスワード
421 共通鍵
431 設定の結果についてのメッセージ
433 外部鍵
435 メッセージ

Claims (20)

  1. オペレーティング・システムまたはBIOSのいずれかによる制御で動作するコンピュータと該コンピュータにネットワークを介して接続されたサーバとの間で情報を転送するための前記コンピュータにおける転送方法であって、
    前記オペレーティング・システムによる制御で前記サーバから暗号化された情報を受け取るステップと、
    前記オペレーティング・システムによる制御で前記コンピュータの所定のアドレスに仮想メール・ボックスを確保するステップと、
    前記オペレーティング・システムによる制御で前記暗号化された情報を前記仮想メール・ボックスに記憶する第1の記憶ステップと、
    前記オペレーティング・システムによる制御で前記BIOSに前記仮想メール・ボックスのアドレスを通知するステップと、
    前記コンピュータをサスペンド状態に移行させ、該サスペンド状態からただちに復帰させることにより前記コンピュータの動作を前記オペレーティング・システムによる制御から前記BIOSによる制御に切り替える第1の切り替えステップと、
    前記BIOSによる制御で前記第1の記憶ステップで前記仮想メール・ボックスに記憶された情報を復号化して前記サーバからのリクエストを処理するステップと、
    前記BIOSによる制御で前記リクエストを処理した結果を示す情報を生成するステップと、
    前記オペレーティング・システムによる制御で前記処理した結果を示す情報を前記サーバに転送するステップと
    を有する転送方法。
  2. 前記サーバに転送するステップが、
    前記BIOSによる制御で前記処理した結果を示す情報を前記仮想メール・ボックスに記憶する第2の記憶ステップと、
    前記コンピュータの動作を前記BIOSによる制御から前記前記オペレーティング・システムによる制御に切り替える第2の切り替えステップと、
    前記オペレーティング・システムによる制御で前記第2の記憶ステップで前記仮想メール・ボックスに記憶された前記処理した結果を示す情報を前記サーバに転送するステップと
    を含む請求項1記載の転送方法。
  3. 前記第2の記憶ステップが、前記処理した結果を示す情報を暗号化して前記仮想メール・ボックスに記憶するステップを含む、請求項2記載の転送方法。
  4. 前記仮想メール・ボックスを確保するステップが、前記オペレーティング・システムの制御下で動作する物理メモリ・ドライバにより実行される請求項1に記載の転送方法。
  5. 前記仮想メール・ボックスのアドレスを通知するステップは、前記物理メモリ・ドライバが前記コンピュータのプロセッサに対してSMI(System Management Interrupt)を発行するステップを含む請求項記載の転送方法。
  6. 前記第1の切り替えステップが、前記コンピュータをサスペンド状態に移行させ、該サスペンド状態からただちに復帰させることに換えて、前記コンピュータにハイバーネーションを実行させ、該ハイバーネーションが実行された状態からただちに復帰させるステップを含む請求項1記載の転送方法。
  7. 前記仮想メール・ボックスが揮発性のメモリに確保される請求項1記載の転送方法。
  8. 前記サーバからのリクエストを処理するステップが、復号化して得られた情報を前記コンピュータの設定情報を格納し前記BIOSからのみアクセスが可能な前記コンピュータの不揮発性メモリに記憶するステップを含む請求項1記載の転送方法。
  9. 前記サーバからのリクエストを処理するステップが、
    前記コンピュータにキーボードから情報の入力を受け付けるステップと、
    前記キーボードから入力された情報に基づいて前記サーバからのリクエストを処理するステップと
    を含む請求項1記載の転送方法。
  10. 前記第1の切り替えステップの前に、前記コンピュータが前記暗号化された情報を前記サーバから受け取ったことを前記コンピュータがユーザに知らせるステップを含む請求項1記載の転送方法。
  11. 前記第1の切り替えステップを実行するイベントを前記コンピュータが外部から受け取るステップを含む請求項1記載の転送方法。
  12. オペレーティング・システムまたはBIOSのいずれかによる制御で動作し、ネットワークを介して接続されたサーバとの間で情報を転送することのできるコンピュータであって、
    前記オペレーティング・システムによる制御で前記サーバから暗号化された情報を受け取る手段と、
    前記オペレーティング・システムによる制御で前記コンピュータの所定のアドレスに仮想メール・ボックスを確保する手段と、
    前記オペレーティング・システムによる制御で前記暗号化された情報を前記仮想メール・ボックスに記憶する記憶手段と、
    前記オペレーティング・システムによる制御で前記BIOSに前記仮想メール・ボックスのアドレスを通知する手段と、
    前記コンピュータをサスペンド状態に移行させ、該サスペンド状態からただちに復帰させることにより前記コンピュータの動作を前記オペレーティング・システムによる制御から前記BIOSによる制御に切り替える切り替え手段と、
    前記BIOSによる制御で前記仮想メール・ボックスに記憶された情報を復号化して前記サーバからのリクエストを処理する手段と、
    前記BIOSによる制御で前記リクエストを処理した結果を示す情報を生成する手段と、
    前記オペレーティング・システムによる制御で前記処理した結果を示す情報を前記サーバに転送する手段と
    を有するコンピュータ。
  13. 前記BIOSによる制御で前記処理した結果を示す情報を前記仮想メール・ボックスに記憶する記憶手段と、
    前記コンピュータの動作を前記BIOSによる制御から前記オペレーティング・システムによる制御に切り替える切り替え手段と、
    前記オペレーティング・システムによる制御で前記処理した結果を示す情報を前記サーバに転送する手段と
    をさらに有する請求項12記載のコンピュータ。
  14. 前記BIOSによる制御で前記処理した結果を示す情報を暗号化してから前記仮想メール・ボックスに記憶する記憶手段をさらに有する請求項13記載のコンピュータ。
  15. 前記サーバからのリクエストを処理する手段は、キーボードからの情報の入力に基づいて前記リクエストを処理する請求項12記載のコンピュータ。
  16. オペレーティング・システムまたはBIOSのいずれかによる制御で動作し、ネットワークを介して接続されたサーバとの間で情報を転送することのできるコンピュータであって、
    プロセッサと、
    揮発性メモリと、
    ネットワーク・インターフェイスと、
    プログラムを記録した記録媒体とを有し、
    前記プログラムは前記コンピュータに、
    前記オペレーティング・システムによる制御で前記サーバから暗号化された情報を受け取るステップと、
    前記オペレーティング・システムによる制御で前記揮発性メモリの所定のアドレスに仮想メール・ボックスを確保するステップと、
    前記オペレーティング・システムによる制御で前記暗号化された情報を前記仮想メール・ボックスに記憶する第1の記憶ステップと、
    前記オペレーティング・システムによる制御で前記BIOSに前記仮想メール・ボックスのアドレスを通知するステップと、
    前記コンピュータをサスペンド状態に移行させ、該サスペンド状態からただちに復帰させることにより前記コンピュータの動作を前記オペレーティング・システムによる制御から前記BIOSによる制御に切り替える第1の切り替えステップと、
    前記BIOSによる制御で前記第1の記憶ステップで前記仮想メール・ボックスに記憶された情報を復号化して前記サーバからのリクエストを処理するステップと、
    前記BIOSによる制御で前記リクエストを処理した結果を示す情報を生成するステップと、
    前記オペレーティング・システムによる制御で前記処理した結果を示す情報を前記サーバに転送するステップと
    を実行させるコンピュータ。
  17. 前記プログラムは前記コンピュータに、
    前記BIOSによる制御で前記処理した結果を示す情報を前記仮想メール・ボックスに記憶する第2の記憶ステップと、
    前記BIOSが前記コンピュータの動作を前記BIOSによる制御から前記オペレーティング・システムによる制御に切り替える第2の切り替えステップと、
    前記オペレーティング・システムによる制御で前記第2の記憶ステップで前記仮想メール・ボックスに記憶された前記処理した結果を示す情報を前記サーバに転送するステップと
    をさらに実行させる、請求項16記載のコンピュータ。
  18. 前記第2の記憶ステップが、前記処理した結果を示す情報を暗号化して前記仮想メール・ボックスに記憶するステップを含む、請求項17記載のコンピュータ。
  19. 前記コンピュータの設定情報を格納し前記BIOSからのみアクセスが可能な不揮発性メモリを含み、前記サーバからのリクエストを処理するステップが、前記復号化して得られた情報を前記不揮発性メモリに記憶するステップを含む請求項16記載のコンピュータ。
  20. 前記オペレーティング・システムが、ウィンドウズ(登録商標)・シリーズであり、前記受け取るステップ、前記仮想メール・ボックスを確保するステップ、前記第1の記憶ステップ、前記アドレスを通知するステップ、および前記第1の切り替えステップを実行するモジュールを含む、請求項16記載のコンピュータ。
JP2006195123A 2006-07-18 2006-07-18 情報の転送方法、およびコンピュータ Active JP4279856B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2006195123A JP4279856B2 (ja) 2006-07-18 2006-07-18 情報の転送方法、およびコンピュータ
US11/779,750 US8156331B2 (en) 2006-07-18 2007-07-18 Information transfer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006195123A JP4279856B2 (ja) 2006-07-18 2006-07-18 情報の転送方法、およびコンピュータ

Publications (2)

Publication Number Publication Date
JP2008026934A JP2008026934A (ja) 2008-02-07
JP4279856B2 true JP4279856B2 (ja) 2009-06-17

Family

ID=38972745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006195123A Active JP4279856B2 (ja) 2006-07-18 2006-07-18 情報の転送方法、およびコンピュータ

Country Status (2)

Country Link
US (1) US8156331B2 (ja)
JP (1) JP4279856B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10677755B2 (en) 2012-12-27 2020-06-09 Posco Apparatus and method for detecting inner defects of steel plate

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8504810B2 (en) * 2007-09-26 2013-08-06 Lenovo (Singapore) Pte. Ltd. Remote PC bootup via a handheld communication device
JP2009146061A (ja) * 2007-12-12 2009-07-02 Canon Inc 情報処理装置及び前記装置の起動方法
US20090172388A1 (en) * 2007-12-31 2009-07-02 Intel Corporation Personal guard
US8661234B2 (en) * 2008-01-31 2014-02-25 Microsoft Corporation Individualized per device initialization of computing devices in avoidance of mass exploitation of vulnerabilities
US20100241668A1 (en) * 2009-03-17 2010-09-23 Microsoft Corporation Local Computer Account Management at Domain Level
US9734356B2 (en) * 2009-06-29 2017-08-15 Clevx, Llc Encrypting portable media system and method of operation thereof
US8826039B2 (en) * 2010-02-02 2014-09-02 Broadcom Corporation Apparatus and method for providing hardware security
CN102722679A (zh) * 2012-06-06 2012-10-10 西安电子科技大学 Windows操作系统中防止消息挂钩方法
CN103927492B (zh) * 2013-01-14 2018-01-23 联想(北京)有限公司 一种数据处理设备及数据保护方法
US9584492B2 (en) 2014-06-23 2017-02-28 Vmware, Inc. Cryptographic proxy service
US9313199B2 (en) * 2014-07-25 2016-04-12 Verizon Patent And Licensing Inc. Secure BIOS access and password rotation
US10146942B2 (en) * 2015-02-24 2018-12-04 Dell Products, Lp Method to protect BIOS NVRAM from malicious code injection by encrypting NVRAM variables and system therefor
CN107430563B (zh) * 2015-04-18 2021-10-29 英特尔公司 多模态接口
JP6653029B1 (ja) * 2019-01-15 2020-02-26 レノボ・シンガポール・プライベート・リミテッド 情報処理システム、情報処理装置、及び情報処理方法
JP7200776B2 (ja) * 2019-03-18 2023-01-10 富士フイルムビジネスイノベーション株式会社 情報処理システム及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6581162B1 (en) * 1996-12-31 2003-06-17 Compaq Information Technologies Group, L.P. Method for securely creating, storing and using encryption keys in a computer system
US6557104B2 (en) 1997-05-02 2003-04-29 Phoenix Technologies Ltd. Method and apparatus for secure processing of cryptographic keys
US6973566B2 (en) * 2001-07-09 2005-12-06 Advanced Micro Devices, Inc. Software modem with privileged mode oversight of control parameters
US7281125B2 (en) * 2001-08-24 2007-10-09 Lenovo (Singapore) Pte. Ltd. Securing sensitive configuration data remotely
US7376968B2 (en) * 2003-11-20 2008-05-20 Microsoft Corporation BIOS integrated encryption
JP4403221B2 (ja) 2004-06-29 2010-01-27 レノボ シンガポール プライヴェート リミテッド デバイス制御装置、コンピュータ、及び、デバイス制御方法
US7987512B2 (en) * 2006-05-19 2011-07-26 Microsoft Corporation BIOS based secure execution environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10677755B2 (en) 2012-12-27 2020-06-09 Posco Apparatus and method for detecting inner defects of steel plate

Also Published As

Publication number Publication date
US20080022099A1 (en) 2008-01-24
JP2008026934A (ja) 2008-02-07
US8156331B2 (en) 2012-04-10

Similar Documents

Publication Publication Date Title
JP4279856B2 (ja) 情報の転送方法、およびコンピュータ
JP4982825B2 (ja) コンピュータおよび共有パスワードの管理方法
JP4709992B2 (ja) 認証パスワードの格納方法、生成方法、ユーザの認証方法、およびコンピュータ
England et al. A trusted open platform
TWI431501B (zh) 在usb訊標上的密碼鍵容器
US9015848B2 (en) Method for virtualizing a personal working environment and device for the same
US7861015B2 (en) USB apparatus and control method therein
US8201239B2 (en) Extensible pre-boot authentication
US6581162B1 (en) Method for securely creating, storing and using encryption keys in a computer system
US20050138389A1 (en) System and method for making password token portable in trusted platform module (TPM)
US20080168545A1 (en) Method for Performing Domain Logons to a Secure Computer Network
US8479011B2 (en) Method and apparatus for using cryptographic mechanisms to provide access to a portable device using integrated authentication using another portable device
JP2008123490A (ja) データストレージデバイス
US9137244B2 (en) System and method for generating one-time password for information handling resource
TW201145041A (en) Provisioning, upgrading and/or changing of hardware
TW200833061A (en) Secure PIN transmission
US20090307451A1 (en) Dynamic logical unit number creation and protection for a transient storage device
JP2003337736A (ja) 計算機、ハードディスク装置、複数の該計算機及び共有ハードディスク装置から構成されるディスク装置共有システム、及び該共有システムにおいて利用されるディスク装置の共有方法
JP4724107B2 (ja) リムーバブル・デバイスを用いたユーザの認証方法およびコンピュータ
CN113449349A (zh) 平台安全机制
JP2013506206A (ja) 機能性を強化したポータブルデスクトップをサポートする方法およびシステム
US20090172823A1 (en) Management engine secured input
US20090172410A1 (en) Personal vault
US11757648B2 (en) System and method for remote startup management
JP2005165554A (ja) 携帯型記憶媒体を用いたパソコン制御システム及びその記憶媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080812

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081003

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: 20090310

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090312

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4279856

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120319

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250