JP2013145475A - パスワードを保護する方法およびコンピュータ - Google Patents

パスワードを保護する方法およびコンピュータ Download PDF

Info

Publication number
JP2013145475A
JP2013145475A JP2012005717A JP2012005717A JP2013145475A JP 2013145475 A JP2013145475 A JP 2013145475A JP 2012005717 A JP2012005717 A JP 2012005717A JP 2012005717 A JP2012005717 A JP 2012005717A JP 2013145475 A JP2013145475 A JP 2013145475A
Authority
JP
Japan
Prior art keywords
state
password
power
unauthorized access
computer
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
JP2012005717A
Other languages
English (en)
Other versions
JP5711160B2 (ja
Inventor
Mikio Hagiwara
幹雄 萩原
Eitaro Kasamatsu
栄太郎 笠松
Yasumichi Tsukamoto
泰通 塚本
Naoyuki Araki
直幸 荒木
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.)
Lenovo Singapore Pte Ltd
Original Assignee
Lenovo Singapore Pte 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 Lenovo Singapore Pte Ltd filed Critical Lenovo Singapore Pte Ltd
Priority to JP2012005717A priority Critical patent/JP5711160B2/ja
Priority to US13/709,938 priority patent/US8990926B2/en
Priority to CN201310002067.4A priority patent/CN103207975B/zh
Publication of JP2013145475A publication Critical patent/JP2013145475A/ja
Application granted granted Critical
Publication of JP5711160B2 publication Critical patent/JP5711160B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • 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/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/88Detecting or preventing theft or loss

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Power Sources (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】S4ステートでの不正アクセスからSSDパスワードを保護する。
【解決手段】SSDにはパスワードを設定する。時刻t1でOSがS3ステートに遷移させ、時刻t3でBIOSがS4ステートに遷移させる。時刻t4でSSDに不正な着脱が行われる。時刻t6でSSDの着脱を検出すると、CPUをリセットして通常の基本POSTコードを実行しパスワード入力を要求する。パスワード認証が成功すると時刻t7でCPUをリセットして短時間でS3ステートまでのブートを終了する簡易POSTコードを実行する。SSDの着脱を検出しないときは、パスワード入力を要求しないで簡易POSTコードが自動的にSSDにパスワードを送ってS3ステートまでのブートを終了する。OSがS3ステートからS0ステートまでのレジューム処理をする。
【選択図】図9

Description

本発明は、コンピュータに搭載された不揮発性メモリのパスワードを保護する技術に関する。
コンピュータには、ハードディスク・ドライブ(HDD)やソリッド・ステート・ドライブ(SSD)などのディスク・ドライブが搭載されている。ディスク・ドライブは、コンピュータ本体にコネクタで接続されているため容易に取り外すことができる。ATA規格は、ディスク・ドライブに対するパスワードの設定について規定している。
パスワードは、通常ユーザがBIOS(Basic Input Output System)のセット・アップ画面で設定する。設定されたパスワードは、ディスク上のユーザがアクセスできないシステム領域に記憶される。パスワードが設定されるとユーザのデータを記憶するディスク上のユーザ領域には、BIOSがパスワードとロック解除コマンドを送らない限りアクセスできない。たとえ、コンピュータが盗難に遭遇したとしても、パスワードを知らない限りディスク・ドライブからデータを盗み取ることはできない。したがって、ディスク・ドライブにパスワードを設定することはデータを保護する上で重要なことである。
コンピュータは、パワー・オフ状態または省電力状態とパワー・オン状態の間を遷移する。そして、パワー・オフ状態や省電力状態のときにディスク・ドライブの電力は停止する。ロックされたディスク・ドライブに対して正しいパスワードを入力して一旦ロックを解除しても、省電力状態やパワー・オフ状態に移行してディスク・ドライブの電源が停止するとリセットされて再びロックされるため再度のパスワードの送付が必要になる。
現実には、ディスク・ドライブにパスワードが設定された状態で、パワー・オフ状態から復帰するときは、必ずパスワード入力を求めてデータを保護するようにしている。パスワードの入力は一方でユーザに煩わしさを与え操作性を損なうという側面も備えている。したがって、サスペンド状態またはハイバネーション状態から復帰するときは、ユーザビリティも考慮してパスワード入力を要求するかどうかを決定しているのが現状である。
多くの場合には、サスペンド状態から復帰する際に、BIOSはユーザビリティの向上のためにパスワード入力を要求しないようにしている。この場合、ディスク・ドライブのロックを解除するために、BIOSがユーザに代わってセキュアな領域に格納していたパスワードを自動的にディスク・ドライブに送る。このとき、ディスク・ドライブのインターフェース回路に盗聴装置を装着するとサスペンド状態から復帰させるときにBIOSがディスク・ドライブに送るパスワードを盗聴することが可能になる。
第3者がコンピュータからディスク・ドライブを取り外し、同一のコンピュータに接続した盗聴装置にディスク・ドライブを接続すれば、BIOSが送るパスワードを盗聴できる。ユーザが入力したパスワードのハッシュ値をBIOSが送るようにしておけば、平文のパスワードは盗まれることはない。しかし、BIOSに代わってディスク・ドライブに盗聴したハッシュ値を送るとディスク・ドライブにアクセスできるようになる。
これを防止するために従来のBIOSはサスペンド状態からレジュームする際に、ディスク・ドライブが本体から離脱したことを検出すると、自動的なパスワードの送出を停止してユーザにパスワード入力を要求し、正しいパスワードが入力されたときに限ってロックを解除していた。またBIOSに代わるUEFI(Unified Extensible Firmware Interface)ファームウェアは、サスペンド状態からの復帰時にディスク・ドライブの離脱を検出しても、アーキテクチャの制限によりユーザにパスワード入力を要求することができないため、パワー・オン状態への復帰を取り消して強制的にパワー・オフ状態に移行させてパスワードの漏洩を防いでいた。
特許文献1は、ハード・ドライブとは別に用意したNVRAMにデータをハイバネートするファースト・ハイバネートについて開示する。OSは現在の状態をDRAMのハイバネート領域に書き込むと、エンベデッド・プロセッサ(EP)がCPUのコアをシャットダウンする。その後EPは、ハイバネート領域をNVRAMにコピーして、ウェイクさせるのに必要な回路にだけ電力を供給する。レジュームするときは、EPがNVRANからDRAMにコンテキストを復帰し、さらにDRAMのコンテキストに対してOSが復帰処理をする。また同文献にかかる発明の譲受人であるインテル社では、スリープに移行すると一定時間後に休止状態に移行し、休止状態から短時間でパワー・オン状態まで復帰することができるラピッド・スタート・テクノロジー(RST)を公開している。
特許文献2は、POSTを短時間で終了するためのファースト・スタートアップの方法について開示する。今回のスタートアップがイネーブルに設定されたあとの最初のスタートアップのときはノーマル・スタートアップを実行しそのときに設定したコンテンツをBIOSチップに格納する。最初のスタートアップでない場合は、BIOSチップに格納されたパラメータをコントローラのレジスタに設定することでPOST時間を短縮する。特許文献3は、磁気ディスク装置にHDDパスワードを設定する技術を開示する。
米国特許7971081号公報 米国特許第7213139号公報 特開2008−52704号公報
これまでハイバネーション状態から復帰する際の盗聴装置の挿入によるパスワードの盗聴の問題は検討されてこなかった。その理由はハイバネーション状態から復帰するときはパワー・オフ状態から復帰するときと同じように、従来からディスク・ドライブの着脱の有無にかかわらずパスワードを要求していたことが挙げられる。近年、省電力状態から短時間で復帰させるさまざまなBIOSが導入され、それらの中にはハイバネーション状態またはそれに近い状態から復帰する場合に、パスワード入力を要求しないでBIOSが自動的にディスク・ドライブにパスワードを送るものが存在する。
これらのBIOSは、ハイバネーション状態またはそれに近い状態から復帰するときに、通常のルーチンよりも簡略化したルーチンを実行して短時間でブートを終了するようにしている。この場合、パスワード入力を要求すると短時間で復帰することができなくなるので、簡略化したルーチンは、パスワードの入力プロンプトを表示しないで、ユーザに代わってBIOSがディスク・ドライブにパスワードを自動的に送付することを前提にして構成されている。したがって、このようなBIOSを採用するとパスワードの盗聴の問題が生ずることになる。
ハイバネーション状態から復帰する際にも、サスペンド状態から復帰する場合と同じようにディスク・ドライブの離脱を検出したときに限ってパスワード入力を要求できればユーザビリティを低下させないようにしながらパスワードの保護ができるので都合がよい。しかし、ハイバネーション状態から復帰するこれまでのルーチンでパスワードを要求するようにすることは、復帰に時間がかかることになるため簡略化したルーチンにより短時間での復帰を図る目的と相容れないことになる。
また、サスペンド状態から復帰するときは、メイン・メモリにパスワードの入力プロンプトを表示するコードが維持されているため、ディスク・ドライブの離脱を検出したときにパスワード入力を要求することができたが、ハイバネーション状態のときは、メイン・メモリのコードが消失しているので同様の方法でパスワード入力を要求することもできない。
また、UEFIファームウェアがサスペンド状態から復帰するときに行っているようにハイバネーション状態から復帰するときに強制的にパワー・オフ状態に移行させると、ハイバネーション状態が解除されて離脱前の編集中のデータを取得することができなくなる。たとえば、第3者がハイバネーション中のディスク・ドライブを一時的に取り外して盗聴装置を介在した上で同一のコンピュータに装着したような場合に強制的にパワー・オフ状態に移行させると、正規のユーザがパワー・オン状態に復帰させたときにそれまで編集していた編集中のデータをメイン・メモリに復帰させることができない。
そこで本発明の目的は、メイン・メモリのデータを不揮発性メモリに退避して省電力状態に移行している間に、不揮発性メモリに対する不正アクセスがあったときにパスワードを保護する方法を提供することにある。さらに本発明の目的は、省電力状態から復帰する際に、省電力状態に移行する前にメイン・メモリに存在していたデータを維持しながらパスワードを保護する方法を提供することにある。さらに本発明の目的は、短時間で完了するパスワード入力を要求しないブートを実行しながらパスワードを保護する方法を提供することにある。さらに本発明の目的は、そのような方法を実現するコンピュータおよびコンピュータ・プログラムを提供することにある。
本発明は不揮発性メモリに設定されたパスワードを保護する方法を提供する。本発明の第1の態様では、不揮発性メモリにパスワードを設定する。不揮発性メモリは、ブート・ディスク・ドライブとすることができる。つぎに、メイン・メモリが記憶するデータを不揮発性メモリに退避して省電力状態に移行する。このような省電力状態はACPIが規定するハイバネーション状態を含む。つぎにコンピュータが省電力状態の間に発生した不揮発性メモリに対する不正アクセスを検出する。つぎに、不正アクセスを検出したことに応答してパスワードの入力を要求する。入力されたパスワードの認証が成功したことに応答して省電力状態からパワー・オン状態に復帰する。
したがって、不正アクセスを検出したときには正しいパスワードを入力しない限り不揮発性メモリにアクセスすることができないため、不揮発性メモリに記憶されたデータは保護される。入力を要求するパスワードは、不正アクセスを検出したときにコンピュータへのアクセスを制限できればよいので、不揮発性メモリに設定するパスワードだけでなくパワー・オン・パスワードまたはスーパーバイザ・パスワードのような他のBIOSパスワードであってもよい。
不正アクセスを検出しないことに応答してパスワード入力を要求しないでシステムが不揮発性メモリにパスワードを送付することができる。不正アクセスが検出されないときは、システムが自動的にパスワードを送付してもパスワードが盗聴される危険性はなく、かつ、短時間で復帰するというユーザのニーズに対応できる。不揮発性メモリに退避していたデータは、メイン・メモリに復帰することができる。
その結果、不正アクセスがあったあとでも、当該コンピュータのオーナーは省電力状態に遷移する前にメイン・メモリに存在していた編集中のデータを失うことはない。パワー・オン状態に復帰する際には、パワー・オフ状態から復帰する際に初期化するデバイスに含まれる一部のデバイスの初期化を省略する第1のBIOSコードを実行してもよい。
またパスワード入力を要求する際には、不揮発性メモリにメイン・メモリのデータを退避しないパワー・オフ状態から復帰する際に実行する第2のBIOSコードを実行してもよい。そして、プロセッサをリセットしてパスワード入力を要求するステップからパワー・オン状態に復帰するステップに移行することができる。不正アクセスは、不揮発性メモリがコンピュータから電気的に切断されたことで検出したり、コンピュータを起動するために必要な電源が停止したことで検出したりすることができる。
本発明の第2の態様では、メイン・メモリにシステム・コンテキストを退避して、メイン・メモリの記憶保持に必要な電源以外の電源を停止した第1の省電力状態に移行する。第1の省電力状態はACPIが規定するサスペンド状態を含む。つづいて、メイン・メモリに記憶されたデータを不揮発性メモリに退避してメイン・メモリの電源を停止した第2の省電力状態に移行する。第2の省電力状態は、ACPIが規定するハイバネーション状態またはそれに近い状態を含む。
つづいて、コンピュータが第2の省電力状態の間に発生した不揮発性メモリに対する不正アクセスを検出する。不正アクセスを検出したことに応答してパスワードの入力を要求する。入力されたパスワードの認証が成功したことに応答して不揮発性メモリに退避したデータをメイン・メモリに転送する。その後、システム・コンテキストを復帰して第2の省電力状態からパワー・オン状態に復帰する。
第2の省電力状態はオペレーティング・システムが第1の省電力状態からの復帰処理をする状態とすることができる。第2の省電力状態に移行する際には、BIOSコードを実行してメイン・メモリが記憶するデータを不揮発性メモリに退避することができる。第1の省電力状態に移行する際には、パワー・オフ状態からパワー・オン状態にブートする際に実行する第1のBIOSコードよりも短時間で完了する第2のBIOSコードを実行することができる。パスワード入力を要求するときは、プロセッサをリセットして第1のBIOSコードを実行することができる。
本発明により、メイン・メモリのデータを不揮発性メモリに退避して省電力状態に移行している間に、不揮発性メモリに対する不正アクセスがあったときにパスワードを保護する方法を提供することができた。さらに本発明により、省電力状態から復帰する際に、省電力状態に移行する前にメイン・メモリに存在していたデータを維持しながらパスワードを保護する方法を提供することができた。さらに本発明により、短時間で完了するパスワード入力を要求しないブートを実行しながらパスワードを保護する方法を提供することができた。さらに本発明により、そのような方法を実現するコンピュータおよびコンピュータ・プログラムを提供することができた。
本実施の形態にかかるノートPC10の主要な構成を示す機能ブロック図である。 BIOS_ROM25のデータ構造を示す図である。 S0ステートのときのメイン・メモリ15のデータ構造を説明する図である。 パスワード保護の全体の手順を示すマスター・フローチャートである。 パスワード保護の詳細な手順を示すフローチャートである。 パスワード保護の詳細な手順を示すフローチャートである。 パスワード保護の詳細な手順を示すフローチャートである。 パスワード保護の詳細な手順を示すフローチャートである。 S34ステートに関するパワー・ステートを示す図である。 POST選択コード105がBIOSの実行パスを決定する論理値表である。
[パワー・ステート]
図1は、ノートブック型パーソナル・コンピュータ(ノートPC)10のハードウェアの構成を示す機能ブロック図である。多くのハードウェアの構成は周知であるため、ここでは本発明に必要な範囲で説明する。メモリ・コントロール・ハブ(MCH)13には、CPU11、メイン・メモリ15、ビデオ・コントローラ17およびアイオー・コントロール・ハブ(ICH)21が接続されている。ビデオ・コントローラ17には、LCD19が接続されている。
ICH21はさまざまな規格のインターフェース機能を備え、図1には代表的にSATAにSSD23が接続され、SPIにBIOS_ROM25が接続され、LPCにエンベデッド・コントローラ(EC)27およびNVRAM31が接続されている。EC27には、キーボード29およびパワー・コントローラ33が接続されている。パワー・コントローラ33には、パワー・ボタン37およびDC/DCコンバータ35が接続されている。パワー・コントローラ33は、タンパー検出ライン67でSSD23に接続されている。
ノートPC10は、ACPI(Advanced Configuration and Power Interface)の省電力機能およびプラグ・アンド・プレイに対応している。ACPIでは、S1ステートからS4ステートまでの4つのスリーピング・ステート(省電力状態)、S0ステート(パワー・オン状態)、S5ステート(パワー・オフ状態)を定義している。スリーピング・ステートについてノートPC10は、S3ステートとS4ステートだけを定義している。
S3ステートはいわゆるサスペンド状態といわれ、メイン・メモリ15の記憶は保持され、メイン・メモリ15の記憶保持に必要のない電源は停止する。S3ステートに入る際にオペレーティング・システム(OS)は電源が停止するデバイスが保持していたシステム・コンテキストをメイン・メモリ15に退避し、電源が復帰したときに各デバイスに復帰する。
S4ステートはACPIでサポートされるスリーピング・ステートの中で最も起動までの時間が長いパワー・ステートでハイバネーション状態といわれる。ノートPC10がS0ステートからS4ステートに遷移する際には、OSがSSD23にメイン・メモリ15の記憶内容を含むノートPC10の直前のシステム・コンテキストを格納してからパワー・コントローラ33などの電源の起動に最小限必要なデバイス以外のデバイスに対する電源をオフにする。
S5ステートはいわゆるソフト・オフといわれるパワー・ステートで、OSがコンテキストをSSD23に退避しない点を除いては基本的に電力を供給するデバイスの範囲はS4ステートと同じである。以下においては、S3ステート、S4ステート、およびS5ステートを総称するときはSxステートと表示する。Sxステートに対してS0ステートは原則としてノートPC10が動作するために必要なすべてのデバイスに電力が供給された状態である。
本発明においては、Sxステートを電源状態とデータ状態の両面から捕らえる必要がある。電源状態だけが適合するSxステートをハードウェア的なSxステートといい、これをHW_Sxステートとして表す。また、S0ステートについてもすべてのデバイスに電力が供給された状態をHW_S0ステートとして表す。HW_S0ステートは、Sxステートから完全にS0ステートに遷移するまでの途中の状態を含む。
HW_SxステートまたはHW_S0ステートと各パワー・ステートでのデータ状態の両方が適合するときにACPIに規定するSxステートまたはS0ステートといえることになる。たとえば、S4ステートからS0ステートに遷移する過渡的な状態のときに、電源はパワー・オン状態に復帰しているがSSD23に退避したメモリ・イメージがメイン・メモリ15に復帰する前の状態は、HW_S0ステートとはいえるが全体としてはS0ステートおよびS4ステートのいずれともいえない。
本発明においてはさらにパワー・ステートを遷移させる際のソフトウェア上の実行主体がOSとBIOSのいずれであるかという視点に基づいてS34ステートを定義する。S34ステートは、OSがS0ステートからS3ステートに遷移させ、その後自動的にBIOSがS3ステートからS4ステートに遷移させた状態である。S0ステートからSxステートへ移行させる処理はOSが行うため、OSが認識しているパワー・ステートと実際のパワー・ステートは一致するのが原則である。これに対してS34ステートでは、OSは遷移先がS3ステートであると認識しているが、電源状態とデータ状態は実質的にはS4ステートに相当する。
OSはS3ステートに遷移するときに、システム・コンテキストにS3ステートからS0ステートに復帰するコードを含めているため、S34ステートからS0ステートに直接復帰させることはできない。S34ステートからS0ステートに復帰するときは、BIOSが一旦システムをS34ステートからS3ステートに復帰させた後にBIOSから制御権を引き継いだOSがS3ステートからS0ステートに復帰させる必要がある。
これに対しS4ステートに遷移するときは、OSがシステム・コンテキストをメイン・メモリ15に書き込んだ後に、メイン・メモリ15が記憶するデータをOSがSSD23に退避する。OSは、システム・コンテキストにS4ステートからS0ステートに復帰するコードを含めているため、システムをS4ステートからS0ステートに直接復帰させることができる。またS34ステートとS4ステートでは、SSD23に退避したデータの構造が多少異なる場合がある。
BIOSは、メイン・メモリ15が記憶する有効なデータの領域(アドレスとデータ長)を認識していない。OSがノートPC10をS0ステートからS34ステートに遷移させるときに、BIOSは通常メイン・メモリ15のデータが記憶されていないアドレスの記憶領域も維持した状態をそっくりSSD23にコピーしてS3ステートからS34ステートに遷移させる。これに対してOSがシステムをS0ステートからS4ステートに遷移させるときには、OSがメイン・メモリ15のデータ構造を認識しているため、記憶している有効なデータの領域だけをSSD23に退避することができる。
S4ステートまたはS5ステートからS0ステートに復帰することをブートといい、S3ステートからS0ステートに復帰することをレジュームということにする。ブートおよびレジュームは、BIOSが行う処理とOSが行う処理で構成される。S34ステートからS0ステートに遷移するときは、S34ステートからS3ステートに復帰することをブートといい、S3ステートからS0ステートに復帰することをレジュームということにする。S0ステートからS34ステートに遷移する際に、S3ステートに留まっている時間をS34時間ということにする。
SxステートからS0ステートに復帰する際には、リセットされたデバイスに対してPOST(Power On Self Test)を実行する。POSTは、CPU11にリセット信号が供給されてから、OSのロードを開始するまでの間に、BIOS_ROM25に格納されたコードがチップ・セットのコントローラや周辺デバイスにパラメータを設定して使用できる状態にする作業をいう。POSTは、CPU11がリセットされてからOSがロードを開始するまでにBIOSコードが行うすべての処理であったり、あるいはその中からCPU11およびメイン・メモリ15などの基本的なデバイスに対する初期化以外の処理を除いた処理であったりしてよい。
[主要なハードウェア]
図1に戻って、ICH21は、図示しないRTC(Real Time Clock)とRTCメモリ51を含んでいる。RTCおよびRTCメモリ51は、AC/DCアダプタおよび電池パックの電力が停止して、ICH21がDC/DCコンバータ35から電力が供給されないときにボタン電池から電力の供給を受けることができる。RTCメモリ51は、BIOSのセット・アップ・データおよびRTCが生成した時間情報などを記憶する揮発性メモリである。RTCメモリ51は、S3ステートに遷移する際にBIOSが参照するS34フラグおよびS34時間を記憶する。RTCメモリ51へのS34フラグおよびS34時間の設定は、BIOSセット・アップ・コード119(図2参照)がBIOS_ROM25のデータ領域83へS34イネーブルを設定する際に行う。
S34フラグは、OSがノートPC10をS3ステートに遷移させたときに、S34ステートに遷移する処理をするようにBIOSに指示したり、BIOSがSSD23に対する不正アクセスを検出して実行パスを決定したりするための情報である。S34時間は、OSがシステムをS3ステートに遷移させてからBIOSが自動的にS34ステートに遷移させるまでの時間をいう。ICH21は、S5ステートで電源が維持されるACPIレジスタ57とレジスタ58を含む。ACPIレジスタ57とレジスタ58は、不揮発性のメモリで構成してもよい。ACPIレジスタ57は、ACPIに規定するSLP_TYPレジスタおよびSLP_ENレジスタに相当する。ACPIレジスタ57はS0ステートからSxステートに遷移する際にOSにより設定される。レジスタ58には、S3ステートに遷移してからS34時間が経過したときにRTCによりタイム・アップ・ビットが設定される。
SSD23はOS、デバイス・ドライバ、アプリケーション・プログラム、およびユーザ・データなどを記憶するフラッシュ・メモリで構成された記憶領域を備える大容量の記憶装置である。SSD23はブート・ディスク・ドライブでノートPC10が起動するときにロードされるブート・イメージを格納している。記憶領域はシステム領域とユーザ領域に区分されている。システム領域はSSD23のファームウェアを記憶し、ユーザによるデータの書き込みや読み出しのためのアクセスを禁止している領域である。BIOSがSSD23にSSDパスワードとロック・コマンドを送ると、ファームウェアがSSDパスワードを設定して、設定したSSDパスワードをシステム領域に記憶する。
SSDパスワードが設定されたSSD23に、BIOSがSSDパスワードとロック解除コマンドを送ると、ファームウェアが認証してロックを解除し、システムからユーザ領域へのアクセスを許可する。ユーザ領域には、ユーザ・データおよびプログラムを記憶する領域とは別にS4ステートまたはS34ステートに遷移するときにメイン・メモリ15に展開されているプログラムおよびデータを退避する退避領域が定義されている。
EC27は、CPU、ROM、RAMなどで構成されたマイクロ・コンピュータであり、さらに複数チャネルのA/D入力端子、D/A出力端子、タイマー、およびディジタル入出力端子を備えている。EC27は、ノートPC10の内部の動作環境の管理にかかるプログラムをCPU11とは独立して実行することができる。EC27は、キーボード・コントローラを含んでいる。
パワー・コントローラ33は、EC27からの指示に基づいてDC/DCコンバータ35を制御するワイヤード・ロジックのディジタル制御回路(ASIC)である。DC/DCコンバータ35は、図示しないAC/DCアダプタまたは電池パックから供給される直流電圧を、ノートPC10を動作させるために必要な複数の電圧に変換し、さらにパワー・ステートに応じて定義された電力供給区分に基づいて各々のデバイスに電力を供給する。パワー・ボタン37が押下されて起動イベントが生成されると、パワー・コントローラ33はノートPC10のすべてのデバイスに電力を供給して、システムをHW_S0ステートに遷移させる。
パワー・コントローラ33は、タンパー検出ライン67でSSD23に接続されている。タンパー検出ライン67は、パワー・コントローラ33と同じ電源でプルアップされている。SSD23はノートPC10に装着されている間、タンパー検出ライン67の電位をグランド・レベルに維持している。SSD23がノートPC10から取り外されるとタンパー検出ライン67の電位が上昇する。パワー・コントローラ33は、タンパー・ビットを設定するレジスタ59とパワー・ビットを設定するレジスタ61を備えている。
パワー・コントローラ33の論理回路は、タンパー・ビット検出ライン67の電位が上昇するときのリーディング・エッジを検出するとレジスタ59を論理値1に設定する。BIOSは、パスワード認証が成功したときにレジスタ61を論理値1に設定する。レジスタ59、61は、パワー・コントローラ33の電源が停止したときに解除されて論理値0に設定される。
パワー・ボタン37は、起動イベントを生成するデバイスの例示である。他の起動イベントを生成するデバイスには、リッド・センサ、指紋認証装置、またはWOLのマジック・パケットを受け取るネットワーク・カードなどがある。
〔BIOS_ROMの構成〕
図2はBIOS_ROM25のデータ構造を示す図である。BIOS_ROM25に格納されたBIOSコードは、UEFIファームウェアで構成している。BIOS_ROM25は、BIOSコードを格納するBIOS領域81とBIOSコードが利用するデータ領域83を含む。BIOS_ROM25はBIOSコードの書き換えに伴うリスクを軽減するためにブート・ブロック方式を採用している。BIOS領域81はブート・ブロック85とシステム・ブロック87に分かれている。ブート・ブロック85は書き込み保護がされている記憶領域でここに格納されたプログラムまたはコードはTPM(Trusted Platform Module )の仕様書に規定するCRTM(Core Root of Trust for Measurement)として扱われ特別な権限がないと書き換えができないようになっている。
ブート・ブロック85には基本デバイス初期化コード101、一貫性認証コード103、POST選択コード105および退避コード113がCRTMとして格納されている。CRTMは、BIOSコードの中で一貫性のある部分として構成され、ノートPC10がブートするときに必ず最初に実行される。ノートPC10のプラットフォームに関するすべての一貫性の計測は一貫性認証コード103により行われる。基本デバイス初期化コード101は、ノートPC10が起動してSxステートからS0ステートに復帰する際に、メイン・メモリ15にBIOSコードをロードして実行を開始するまでの処理に必要なCPU11、メイン・メモリ15およびその他の基本的なデバイスの検出、検査および初期化を最低限の範囲で行う。
POST選択コード105は、ICH21のレジスタ57、58、RTCメモリ51のS34フラグ、パワー・コントローラ33のレジスタ59、61を参照して、基本POSTコード107、簡易POSTコード111またはS3POSTコード115のいずれを実行するかを判断したり、SSD23に対する不正アクセスの発生を検出したりしてBIOSコードの実行パスを制御する。退避コード113は、S0ステートからS34ステートに遷移する際に、S3ステートにおけるメイン・メモリ15の状態をSSD23に転送する。退避コード113は、OSとは異なってメイン・メモリ15の記憶領域のデータ構造を認識していないため、原則として記憶領域の開始アドレスから最終アドレスまでのメイン・メモリ15のアドレス全体の記憶状態をそっくりSSD23にコピーする。
基本POSTコード107はS4ステートまたはS5ステートからブートをするために、すべての内部デバイスを対象にして検出、検査、および初期化といった完全なPOST処理を行う。基本POSTコード107は、所定のデバイスが検出できないときおよび検査の結果デバイスが正常に動作しないと判断したときにビープ音や画面表示によるエラーを出力する。基本POSTコード107は、MCH13およびICH21に接続されている周辺デバイスからパラメータを取得して現在のシステムにおいて最適なパラメータを選択しMCH13およびICH21が含むコントローラに設定する。
このように内部デバイスを検査してそこから取得した情報に基づいて選択した最適なパラメータをコントローラに設定することを初期化といい、いずれかの場所に保存しておいた過去に設定したパラメータを対応するコントローラに設定することをリストアということにする。リストアは、内部デバイスの検出、検査および最適パラメータの選択のための処理を省略するので初期化に比べて短時間で完了することができる。
認証コード109は、パワー・オン・パスワード、SSDパスワード、および管理者パスワードなどのBIOSパスワードの設定のためのプロンプトをLCD19に表示したり、入力されたパスワードを認証しまたはSSD23に送ってロックを解除したりする。いずれかのBIOSパスワードが設定されているときに、認証コード109は、基本POSTコード107の実行の途中または終了したときに必ず実行される。いずれのBIOSパスワードも設定されていないときは制御権が移っても認証コード109は実行されない。認証コード109は、ユーザが入力したパスワードをハッシュしてシステムまたはSSD23に送ることができる。
簡易POSTコード111は、S4ステートまたはS5ステートからS0ステートに復帰する際に、一部のデバイスの検出、検査、および最適なパラメータの選択などのPOST処理を省略して基本POSTコード107よりも短時間でブートを完了する。POST処理を省略するデバイスの対象としては、SSD23、USBデバイス、および無線モジュールなどのような応答時間が長いために初期化に多くの時間を費やすデバイスや、動作のタイミングからOSが初期化をしても問題がないようなデバイスなどを選定することができる。
簡易POSTコード111は、S4ステートまたはS5ステートからブートするときに実行した基本POSTコード107が設定した最適なパラメータやそのときのデバイスの情報など(以下、パラメータという。)をBIOS_ROM25のデータ領域83またはNVRAM31に格納しておき、ブートするときに基本的なデバイスを除いて格納しておいたパラメータをリストアすることでPOST時間を短縮するように構成することができる。
簡易POSTコード111は、復帰時間を短縮するように構成されているため、SSDパスワードが設定されているときに、ユーザにSSDパスワードの入力を要求しない。簡易POSTコード111はSSDパスワードが設定されているSSD23に対して、ユーザに代わってユーザが入力したSSDパスワードのハッシュ値を送付してロックを解除する。
S3POSTコード115は、S3ステートからレジュームする際に簡易POSTコード111よりも短時間でPOST処理を完了する。S4ステートまたはS5ステートからブートする際に基本POSTコード107が設定したパラメータは、S0ステートにおいてメイン・メモリ15に記憶される。S0ステートからS3ステートにサスペンドするときには、メイン・メモリ15に記憶されたパラメータおよびS3POSTコード115の記憶が維持される。S3POSTコード115は、メイン・メモリ15に記憶されたパラメータをリストアすることで短時間にコントローラの設定を完了することができる。S3POSTコード115はSSDパスワードが設定されているときに、S3ステートからS0ステートに遷移する際にユーザに代わってユーザが入力したSSDパスワードのハッシュ値をSSD23に自動的に送付してロックを解除する。
I/Oコード117は、CPU11がリアル・モードで動作する際に周辺デバイスにアクセスするための入出力のインターフェースを提供する。BIOSセット・アップ・コード119は、ブート・ドライブの選択、各デバイスの機能のイネーブル/ディスエーブル、セキュリティのイネーブル/ディスエーブルなどのような内部デバイスに対する設定をユーザがカスタマイズするためのインターフェースを提供する。ブートする際に、OSがロードされる前に所定のキーを操作するとBIOSセット・アップ・コード119が実行されて、LCD19にBIOSセット・アップ画面が表示される。
ユーザが設定したセット・アップ・データの多くは、ICH21内のRTCメモリ51に記憶される。CPU11は基本POSTコード107、簡易POSTコード111、またはS3POSTコード115を実行する際にRTCメモリ51に記憶されたセット・アップ・データを参照する。ユーザは、BIOSセット・アップ画面を通じて、S34ステートの利用をイネーブルまたはディスエーブルに設定することができる。さらにS34ステートの利用をイネーブルに設定する際には、S34時間を設定することもできる。設定さえたS34イネーブル・フラグとS34時間は、データ領域83に格納される。BIOSセット・アップ・コード119は、S34ステートをイネーブルに設定したときは、同時にRTCメモリ51にS34フラグとS34時間を設定する。環境ユーティリティ・コード121は、ノートPC10の温度および電力を制御する。各BIOSコードは、図2に示したように独立したコードで構成する必要はなく、コードの一部を共通化してそれぞれの機能を果たすように実行パスを制御するように構成してもよい。本発明はブート・ブロック方式を採用しないBIOS_ROM、あるいは、BIOS領域の全体をブート・ブロックにしたBIOS_ROMに適用することもできる。
[メイン・メモリのデータ構造]
図3は、S0ステートのときのメイン・メモリ15のデータ構造を説明する図である。メイン・メモリ15には、一般領域201とSMRAM領域203が定義されている。一般領域201には、ベクタ・テーブル205、OS、デバイス・ドライバ、アプリケーションなどのプログラム207、および編集中のユーザ・データ209が記憶されている。ベクタ・テーブル205は、それぞれセグメント・アドレスとオフセット・アドレスの4バイトで構成される256個のベクタ・アドレスを格納する。ベクタ・テーブル205は、CPU11に割り込みが発生したときに、それを処理するプログラムのアドレスを格納する。
一般領域201にはさらにリセット時にCPU11のキャッシュで実行されるブート・ブロック85に格納されたコードを除いたBIOSコード211とシステム・コンテキスト213が格納されている。システム・コンテキスト213は、OSやデバイス・ドライバにより各デバイスのレジスタに設定されるハードウェア・コンテキストや、OSやデバイス・ドライバがCPU11およびその他のデバイスのキャッシュに記憶する制御データなどのソフトウェア・コンテキストを含む。
OSは、S0ステートからS3ステートまたはS4ステートに遷移する際にメイン・メモリ15にシステム・コンテキスト213を書き込み、S3ステートからS0ステートに復帰する際にはシステム・コンテキスト213を元のデバイスに戻してシステムをS0ステートの状態に復帰させる。システム・コンテキスト213は、S3ステートまたはS4ステートから遷移する際にOSが処理をするコードのベクタも含む。
SMRAM領域203には、SMIハンドラ215、S3POSTコード115がロードされ、さらにSSM(State Save Map)219という領域が確保される。S3POSTコード115は、S3ステートからS0ステートに遷移する際に、SMIハンドラ215により呼び出されて実行される。なお、メイン・メモリ15上でBIOSコード211が含む基本POSTコード107、認証コード109、および簡易POSTコード111はS4ステートまたはS5ステートからS0ステートに遷移する際に実行される。
さらに認証コード109は、S34ステートから復帰する際に、SSD23に対する不正アクセスが検出されて一時的に基本POSTコードに制御を移したときに実行される。SMRAM領域203のコードはS0ステートとS3ステートの間を遷移するときに繰り返し実行されるためS4ステートまたはS5ステートに遷移するまで維持されるが、BIOSコード211はS0ステートに復帰したあとは使用する必要がないため、それを記憶するメイン・メモリ15の領域は他のデータが上書きできるように設定される。
[パスワード保護の手順]
つぎに、ノートPC10で実現しているパスワード保護の手順を、図4〜図10を参照して説明する。図4は、全体の手順を示すマスター・フローチャートで、図5〜図8は詳細のフローチャートである。図9(A)は、図4〜図8のS34ステートに関するハードウェア的なパワー・ステートを示す図で、図9(B)はそれに対応してデータ状態を含めたACPIのパワー・ステートを示す図である。図10は、POST選択コード105がBIOSコードの実行パスを決定する論理値表である。図10において、レジスタ61が論理値0のときは、レジスタ59の値にかかわらず不正アクセスがあったと判定する。レジスタ61が論理値1のときは、同時にレジスタ59が0のときは不正アクセスがなかったと判定し、レジスタ59が1のときは不正アクセスがあったと判定する。
図4のブロック251ではノートPC10がSxステートに遷移しており、ブロック253でパワー・ボタン37が押下される。ブロック255でBIOSは、SSD23に対してSSDパスワードが設定されているか否かを判断する。SSDパスワードが設定されていないときは、ブロック257でBIOSは遷移元がいずれのSxステートであってもユーザにパスワード入力を要求しないでシステムをS0ステートに復帰させる(図6のブロック417)。
SSDパスワードが設定されているときはブロック259でBIOSは、遷移元がS34ステートであるか否かを判断する。遷移元がS34ステートであると判断したときは、ブロック263に移行し、それ以外のS3、S4、S5ステートであると判断したときはブロック261に移行する。ブロック261でBIOSは、遷移元がS3ステートであると判断したときはブロック263に移行し、それ以外のS4ステートまたはS5ステートであると判断したときはブロック269に移行する。
ブロック269でBIOSは、ユーザにパスワード入力を要求してシステムをS0ステートに遷移させる(図7のブロック505)。ブロック263でBIOSは、SSD23に対する不正アクセスを検出したときはブロック265に移行し、検出しないときはブロック267に移行する。ブロック265でBIOSは、遷移元がS3ステートまたはS34ステートのいずれであるかを判断する。S3ステートであると判断したときはブロック269に移行しS34ステートであると判断したときはブロック271に移行する。ブロック269でBIOSはシステムを強制的にシャットダウンさせる(図7のブロック555)。ブロック271でBIOSは、ユーザにパスワード入力を要求してシステムをS0ステートに復帰させる(図8のブロック613、659)。ブロック267でBIOSは、ユーザにパスワード入力を要求しないでシステムをS0ステートに遷移させる(図7のブロック511、図8のブロック659)。
ブロック267、271によればS34ステートから復帰する際には、SSD23に対する不正アクセスが検出されたときに限りパスワード入力を要求する。そしてS34ステートから復帰する際にBIOSはSSD23に対する不正アクセスを検出しない限りパスワード入力を要求しないでブート処理を短時間で終了させることができる。またBIOSは不正アクセスを検出したときに、ユーザからのパスワード入力を省略してSSD23に自動的にパスワードを送出したり、強制的にS5ステートに遷移させたりしないので、パスワードを保護しかつSSD23に退避していたデータを復帰させることができる。
図5のブロック301で、ノートPC10は最初にS5ステートに遷移しておりACPIレジスタ57はS5ステートに設定されている。また、レジスタ58、59およびRTCメモリ51のS34フラグはクリアされて論理値0を示してり、レジスタ61はパワー・ビットが設定されて論理値1を示している。パワー・ボタン37を操作して起動イベントを生成しノートPC10の電源を起動すると、パワー・コントローラ33がDC/DCコンバータ35を動作させてノートPC10をHW_S0ステートに遷移させる。EC27から起動イベントを受け取ったICH21は、CPU11にリセット信号を送ってパワー・オン・リセットする。リセットされたCPU11は、ブート・ブロック85に格納された基本デバイス初期化コード101から実行するように構成されている。
ブロック303でリセット信号を受け取ったCPU11は、電圧が安定すると内部のキャッシュおよびレジスタを初期化する。CPU11はその後あらかじめ定められたBIOS_ROM25のアドレス(リセット・ベクタ)にアクセスしてインストラクションをフェッチする。MCH13はCPU11のアクセス先であるリセット・ベクタをBIOS_ROM25の基本デバイス初期化コード101のアドレスに切り換える。
CPU11はブート・ブロック85に格納されたBIOSコードをキャッシュに読み出して、メイン・メモリ15およびMCH13などのBIOSコードを実行するのに必要な基本的なデバイスの検出、検査および初期化をする。基本デバイス初期化コード101は、初期化するためにコントローラに設定したパラメータをデータ領域83および必要に応じて他の不揮発性メモリに書き込む。つづいて、基本デバイス初期化コード101は、メイン・メモリ15が利用できるようになると、システム・ブロック87に格納されているBIOSコードおよびデータ領域83のパラメータをメイン・メモリ15にロードして、メイン・メモリ15をシャドウRAMとして利用できるようにする。CPU11は、以下で説明するブート・ブロック85に格納された一貫性認証コード103およびPOST選択コード105の実行が終了すると、メイン・メモリ15にアクセスしてロードしたBIOSコードを実行する。
つぎに、一貫性認証コード103は、システム・ブロック87に格納されたBIOSコードの改変に関する検証を行う。検証が終了するとCPU11はPOST選択コード105を実行する。POST選択コード105は最初にRTCメモリ51のS34フラグを参照する。POST選択コード105は、S34フラグが設定されていないことを確認するとACPIレジスタ57を参照する。POST選択コード105は図10の論理値表を含んでいる。POST選択コード105は、ACPIレジスタ57にS5ビットが設定されていることを確認すると、図10の実行パス#6に従って制御を基本POSTコード107に移す。なお、以下の手順においては、CPU11がリセットされるたびに、図10の論理値表を参照して同様の手順でPOST選択コード105が実行される。
ここではBIOSパスワードは設定されていないので、基本POSTコード107から認証コード109に制御が移ってもパスワード入力は要求されない。ブロック305では基本POSTコード107が実行されている初期の段階で、ユーザがキーボード29の所定のファンクション・キーを押下するとBIOSセット・アップ・コード119が呼び出されてLCD19にセット・アップ画面を表示する。
本発明との関連では、セット・アップ画面を通じてユーザがSSDパスワードの設定、BIOS_ROM25のデータ領域83に対するS34フラグの設定およびS34時間の設定を行う。ユーザは、S3ステートの利便性と省電力の重要性を考慮して0時間から所定の時間の範囲の間にS34時間を設定することができる。BIOSセット・アップ・コード119は入力されたSSDパスワードをハッシュしてセキュアな不揮発性メモリに格納し、その他のセット・アップ・データをRTCメモリ51に記憶する。BIOSセット・アップ・コード119は、パスワード設定コマンドと一緒にSSD23にSSDパスワードのハッシュ値を送る。
ブロック306でSSD23のファームウェアは、受け取ったパスワード設定コマンドを処理してSSDパスワードを設定する。設定されたSSDパスワードは、これ以降においてSSD23がリセットされるたびに有効になる。ユーザがBIOSセット・アップ・コード119を終了すると、中断していた基本POSTコード107が実行される。基本POSTコード107は基本デバイス初期化コード101で処理されていない残りのすべてのデバイスの検出、検査および初期化を行う。
基本POSTコード107は、初期化するためにコントローラや周辺デバイスに設定したパラメータをデータ領域83および必要に応じて他の不揮発性メモリに書き込む。BIOSのブート処理が終了するとブロック307で制御がOSのブート処理に移る。OS、デバイス・ドライバ、およびアプリケーションなどのプログラムがメイン・メモリ15にロードされて実行される。その後OSは、BIOS211がロードされたメイン・メモリ15の記憶領域を、S3ステートからS0ステートにレジュームする際に必要なコードを除いて一般のプログラムのために開放しS0ステートに遷移させる。
ブロック309でユーザはパワー・ボタン37の押下、OSのインターフェースを通じた操作またはパワー・マネジメントの実行などによりノートPC10をS0ステートからSxステートに遷移させる操作をする。S34ステートに遷移させる操作をしたときはブロック311に移行し、S3ステートに遷移させる操作をしたときは図6のブロック406に移行し、S4ステートまたはS5ステートに遷移させる操作をしたときは図6のブロック407に移行する。S3ステートに移行させる操作とS34ステートに移行させるユーザの操作またはパワー・マネジメントの動作は同一であるが、BIOSコードは、BIOS_ROM25に設定されたS34ステートがイネーブルかディスエーブルかでいずれであるかを判断する。ブロック311で操作イベントを検出したICH21がCPU11に割り込みをかけると、OSは動作中のプログラムにS3ステートに遷移するための処理をするように指示し、S3ステートで消失するシステム・コンテキスト213をメイン・メモリ15に記憶する。
OSおよび必要に応じてデバイス・ドライバおよびBIOSがシステム・コンテキストをメイン・メモリ15に退避する。OSは各プログラムからS3ステートへ遷移する準備が完了したことの通知を受け取ると、ACPIレジスタ57に対してS3ステートへの遷移がイネーブルになるように設定する。SMIハンドラ215は、ACPIレジスタ57への設定をトラップして、BIOS_ROM25にS34フラグが設定されていることを確認すると、RTCメモリ51にS34フラグとS34時間を設定する。ACPIレジスタ57がイネーブルに設定されると、ICH21はEC27に指示してメイン・メモリ15の記憶を維持するために必要な電源以外の電源を停止し、RTCのアラーム機構(RTC Resume)を動作させる。ブロック313でノートPC10はS3ステートに遷移する(時刻t1)。
ブロック315でRTCが計時した時間がRTCメモリ51に設定したS34時間に到達するとブロック317に移行する。ブロック317でRTCはレジスタ58にタイム・アウト・ビットを設定し、さらにEC27に指示してHW_S0ステートに遷移させる(時刻t2)。SSD23は電源が投入されるとレジスタが初期化されてリセットされる。それまでロックが解除された状態のSSD23は、リセットされたことによりロックされて、これ以降SSD23はロック解除コマンドとユーザが入力したSSDパスワード、またはPOST選択コード105、簡易POSTコード111またはS3POSTコードが自動送付のために管理するSSDパスワードを受け取らない限りシステムによるユーザ領域へのアクセスを拒否する。
ブロック319でリセットされたCPU11はPOST選択コード105を実行して図6のブロック401に移行する。ブロック401でPOST選択コード105は、レジスタ58、59、61とRTCメモリ51を参照してSSD23に対する不正アクセスを検出しない場合は図10の実行パス#3を選択し不正アクセスを検出した場合は実行パス#7を選択してレジスタ58のタイム・アップ・ビットを解除する。本手順ではこの時点では、不正アクセスがないことを想定しているため、POST選択コード105は実行パス#3を選択する。POST選択コード105が実行パス#7を選択した場合は、システムを強制的にシャットダウンする。すでにブロック317でSSD23はロックされているので、POST選択コード105は管理しているSSDパスワードを自動的に送ってSSD23のロックを解除してから退避コード113に制御権を渡す。ブロック403で退避コード113は、メイン・メモリ15の記憶状態をSSD23に転送し、ブロック405でEC27を通じて起動に必要なパワー・コントローラ33の電源以外の電源を停止してノートPC10をHW_S4ステートに遷移させる。結果としてノートPC10は、OSはシステムがS3ステートに遷移していると認識するが電源状態およびデータ状態はS4ステートであるS34ステートに遷移する(時刻t3)。
ブロック406でPOST選択コード105は、BIOS_ROM25がS34ディスエーブルに設定されていることを確認してRTCメモリ51に対するS34フラグの設定を省略する。OSが、ACPIレジスタ57にS3ステートへの遷移がイネーブルになるように設定すると、ICH21はEC27にシステムをHW_S3ステートに遷移させるように指示する。ブロック407でOSは、ACPIレジスタ57にS4ステートまたはS5ステートへの遷移がイネーブルになるように設定すると、ICH21はEC27にHW_S4ステートまたはHW_S5ステートに遷移させるように指示する。
ブロック409では、Sxステートの間にもしSSD23がノートPC10から外されて再装着されると、タンパー検出ライン67の電位が一旦上昇してからゼロになる(時刻t4)。パワー・コントローラ33の論理回路は、タンパー検出ライン67の電位のリーディング・エッジを検出してレジスタ59のタンパー・ビットを論理値1に設定する。Sxステートの間に、もし、パワー・コントローラ33の電源が停止した場合には、レジスタ59のタンパー・ビットはクリアされて論理値0になるが同時にレジスタ61のパワー・ビットもクリアされて論理値0になる。このような状態は、SSD23とICH21の間に盗聴装置を挿入するような場合にも発生するためSSD23に対する不正アクセスが発生したと想定する。
ブロック411で任意の時刻にパワー・ボタン37が押下されると起動イベントが生成されて、パワー・コントローラ33がDC/DCコンバータ35を動作させシステムをHW_S0ステートに遷移させる。ブロック413でCPU11はPOST選択コード105を実行する(時刻t5)。ブロック415では、POST選択コード105がSSD23にSSDパスワードが設定されているか否かを判断する。
図5のブロック306でSSDパスワードが設定されているときは図7のブロック501に移行し、設定されていないときはブロック417に移行する。ブロック417では、遷移元のパワー・ステートがいずれであってもユーザにパスワード入力を要求しないでシステムはS0ステートに復帰し図5のブロック307に戻る。
ブロック501でPOST選択コード105は、RTCメモリ51にS34フラグが設定されているか否かを確認する。S34フラグが設定されているときは、遷移元のパワー・ステートがS34ステートであるためブロック507に移行する。S34フラグが設定されていないときは、ブロック503に移行して、POST選択コード105はさらにACPIレジスタ57にS3ビットが設定されているか否かを確認する。S3ビットが設定されているときは、遷移元のパワー・ステートがS3ステートであるためブロック507に移行する。
S3ビットが設定されていなときは、SSDパスワードが設定され、かつ、遷移元のパワー・ステートがS4ステートまたはS5ステートであるためブロック505に移行する。ブロック505でPOST選択コード105は、ACPIレジスタ57およびRTCメモリ51のS34フラグを参照して図10の実行パス#6を選択し、基本POSTコード107と認証コード109を実行してユーザにパスワード入力を要求してからシステムをS0ステートに復帰させる。
ブロック507でPOST選択コード105は、レジスタ61を参照してパワー・ビットを確認する。パワー・ビットが設定されているときはブロック509に移行し、パワー・ビットがクリアされているときはブロック513に移行する。ブロック509でPOST選択コード105は、レジスタ59を参照してタンパー・ビットを確認する。タンパー・ビットが設定されているときはSSD23に対する不正アクセスを検出したことに相当するためブロック513に移行する。タンパー・ビットが設定されていないときはSSD23に対する不正アクセスを検出しないためブロック510に移行する。ブロック510でPOST選択コード105は、RTCメモリ51を参照してS34フラグが設定されているか否かを判断する。
S34フラグが設定されているときは、図10の実行パス#1を選択して図8のブロック651に移行する。S34フラグが設定されていないときは、S3ステートからの遷移であるためブロック511に移行する。ブロック511でPOST選択コード105は、ACPIレジスタ57、レジスタ59、61およびRTCメモリ51のS34フラグを参照して図10の実行パス#4を選択しS3POSTコード115に制御を移す。
S3POSTコード115は、POST処理が終了するとセキュアな領域に記憶していたSSDパスワードのハッシュ値をSSD23に自動的に送付して、SSD23のロックを解除する。SSDパスワードの自動送付は、ブロック507、509で不正アクセスがないことを確認した上で行っているので、SSD23は盗聴装置から保護されている。
ブロック513でPOST選択コード105は、RTCメモリ51にS34フラグが設定されているか否かを確認する。S34フラグが設定されていないときは、遷移元のパワー・ステートがS3ステートであるためブロック555に移行する。S3フラグが設定されているときは、図8のブロック601に移行する。
ブロック555でPOST選択コード105は、ACPIレジスタ57、レジスタ59、61およびRTCメモリ51のS34フラグを参照し、図10の実行パス#5を選択すると、パスワード入力のプロンプトを表示することなくシステムを強制的にシャットダウンしてS5ステートに遷移させる。
図8のブロック601でPOST選択コード105は、レジスタ59、61およびRTCメモリ51のS34フラグを参照して、S34ステートからの復帰の際にSSD23に対する不正アクセスを検出したと判断して図10の実行パス#2を選択し、基本POSTコード107に制御を移す。
ブロック603でPOST処理が終了した基本POSTコード107が認証コード109に制御を移すと、認証コード109はユーザにパスワード入力を要求する。ブロック605で認証コード109が表示したパスワード入力画面に対してユーザが正しいSSDパスワードを入力するとブロック609に移行する。認証に失敗したときはブロック607に移行してブートが停止する。ブートが停止したときは、再度起動して正しいSSDパスワードを入力するかBIOSセット・アップ・コード119を実行してSSDパスワードをクリアすることでブートできるようになる。
ブロック609では、正しいパスワードの入力により安全を確認した認証コード109がレジスタ59のタンパー・ビットをクリアし、ブロック611でレジスタ61にパワー・ビットを設定する。ブロック613で認証コード109が、CPU11をリセットすると、CPU11はPOST選択コード105を実行し(時刻t7)、図6のブロック415に戻る。
今度はレジスタ59、61が示す不正アクセスの状態が解除されているので、POST選択コード105は、レジスタ59、61およびRTCメモリ51のS34フラグを参照して図10の実行パス#1を選択しブロック501からブロック510を経由して図8のブロック651に移行して簡易POSTコード111に制御を移す。簡易POSTコード111は、ブロック653でセキュアな領域に記憶していたSSDパスワードのハッシュ値をSSD23に自動的に送付してロックを解除する。SSDパスワードの自動送付は、ブロック507、509で不正アクセスがないことを確認した上で行っているので、SSD23はパスワードおよびデータの盗聴から保護されている。
ブロック655で簡易POSTコード111は、図6のブロック403でSSD23に退避していたメイン・メモリ15の記憶状態をメイン・メモリ15に復帰する。ブロック657で簡易POSTコード111はRTCメモリ51のS34フラグをクリアする。この時点でノートPC10のデータ状態はS3ステートであるが、電源状態はHW_S0ステートである。データ転送が終了するとブロック659で簡易POSTコード111は、制御権をOSに移す。OSは、ACPIレジスタ57を参照して遷移元のパワー・ステートがS3ステートであると認識してS0ステートに遷移するために、必要に応じてデバイス・ドライバおよびBIOSと協働しながらシステム・コンテキスト213をリセットされた各デバイスに復帰して図5のブロック307に戻る(時刻t8)。
図5〜図8の手順によれば、図5のブロック309でOSはシステムをS3ステートに遷移させたと認識しており、図8のブロック659ではS3ステートからの復帰処理をする。この間の処理はすべてBIOSが行うのでOSはBIOSが実行していることを認識する必要がないためOSに変更を加える必要がない。S34ステートからS0ステートに遷移する際に、S3ステートからS0ステートに遷移するときのようにS3POSTコード115を実行すると、SSD23に対する不正アクセスを検出したときにシステムを強制的にシャットダウンさせてしまう。
この点において本実施の形態では、不正アクセスを検出しないときはSSD23に自動的にパスワードを送付する簡易POSTコード111を実行して短時間で復帰できるようにし、不正アクセスを検出したときだけ基本POSTコード107と認証コード109を実行してパスワード入力を要求することでパスワードの保護を図りながらS34ステートに遷移する前の編集データを消失させないようにしている。
これまで、S34ステートから復帰する場合を例にしてパスワードとデータを保護する方法を説明したが、本発明はS4ステートから復帰する際に、基本POSTコード107よりも短時間でブートするために、自動的にパスワードを送付してユーザにパスワード入力を要求しないPOSTコード全般に適用することもできる。また、不正アクセスを検出したときに、基本POSTコード107に制御を移してパスワード入力を要求する例を示したが、本発明はBIOSコードを、不正アクセスを検出した場合にユーザにパスワード入力を要求し、検出しない場合はパスワードを自動的に送付して短時間でブートを完了するように構成することもできる。そのようなBIOSは、図10の時刻t5でHW_S0ステートに復帰したあとはCPU11をリセットしないで、システムをS0ステートに復帰することができる。
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
10 ノートPC
15 メイン・メモリ

Claims (22)

  1. パスワードの設定が可能な不揮発性メモリを備えるコンピュータにおいて、前記パスワードを保護する方法であって、
    前記不揮発性メモリにパスワードを設定するステップと、
    メイン・メモリが記憶するデータを前記不揮発性メモリに退避して省電力状態に移行するステップと、
    前記省電力状態の間に発生した前記不揮発性メモリに対する不正アクセスを前記コンピュータが検出するステップと、
    前記不正アクセスを検出したことに応答してパスワードの入力を要求するステップと、
    入力された前記パスワードの認証が成功したことに応答して前記省電力状態からパワー・オン状態に復帰するステップと
    を有する方法。
  2. 前記入力を要求されたパスワードが前記不揮発性メモリに設定したパスワードである請求項1に記載の方法。
  3. 前記不正アクセスを検出しないことに応答して前記パスワードの入力を要求しないでシステムが前記不揮発性メモリにパスワードを送付するステップを有する請求項1または請求項2に記載の方法。
  4. 前記不揮発性メモリに退避していたデータを前記メイン・メモリに復帰するステップを有する請求項1から請求項3のいずれかに記載の方法。
  5. 前記パワー・オン状態に復帰するステップが、パワー・オフ状態から復帰する際に初期化するデバイスに含まれる少なくとも一部のデバイスの初期化を省略する第1のBIOSコードを実行するステップを有する請求項1から請求項4のいずれかに記載の方法。
  6. 前記パスワード入力を要求するステップがパワー・オフ状態から復帰する際に実行する第2のBIOSコードを実行するステップを有する請求項5に記載の方法。
  7. プロセッサをリセットして前記パスワード入力を要求するステップから前記パワー・オン状態に復帰するステップに移行する請求項1から請求項6のいずれかに記載の方法。
  8. 前記不正アクセスを検出するステップが、前記不揮発性メモリが前記コンピュータから電気的に切断されたことを検出するステップを含む請求項1から請求項7のいずれかに記載の方法。
  9. 前記不正アクセスを検出するステップが、前記コンピュータを起動するために必要な電源が停止したことを検出するステップを含む請求項1から請求項8のいずれかに記載の方法。
  10. パスワードの設定が可能な不揮発性メモリを備えるコンピュータにおいて、前記パスワードを保護する方法であって、
    前記不揮発性メモリにパスワードを設定するステップと、
    メイン・メモリにシステム・コンテキストを退避して、前記メイン・メモリの記憶保持に必要な電源以外の電源を停止した第1の省電力状態に移行するステップと、
    前記メイン・メモリに記憶されたデータを前記不揮発性メモリに退避して前記メイン・メモリの電源を停止した第2の省電力状態に移行するステップと、
    前記第2の省電力状態の間に発生した前記不揮発性メモリに対する不正アクセスを前記コンピュータが検出するステップと、
    前記不正アクセスを検出したことに応答してパスワードの入力を要求するステップと、
    入力された前記パスワードの認証が成功したことに応答して前記不揮発性メモリに退避したデータを前記メイン・メモリに転送するステップと、
    前記システム・コンテキストを復帰して前記第2の省電力状態からパワー・オン状態に復帰するステップと
    を有する方法。
  11. 前記第2の省電力状態はオペレーティング・システムが前記第1の省電力状態からの復帰処理をする状態である請求項10に記載の方法。
  12. 前記第2の省電力状態に移行するステップが、BIOSコードを実行して前記メイン・メモリが記憶するデータを前記不揮発性メモリに退避するステップを含む請求項10または請求項11に記載の方法。
  13. 前記メイン・メモリに転送するステップが、パワー・オフ状態からパワー・オン状態にブートする際に実行する第1のBIOSコードよりも短時間で完了する第2のBIOSコードを実行するステップを含む請求項10から請求項12のいずれかに記載の方法。
  14. 前記パスワードの入力を要求するステップが、プロセッサをリセットして前記第1のBIOSコードを実行するステップを含む請求項8から請求項11のいずれかに記載の方法。
  15. パスワードの設定が可能な不揮発性メモリを備えるコンピュータであって、
    パワー・オフ状態から復帰する際にパスワードの入力を要求して復帰処理をする第1の復帰回路と、
    前記不揮発性メモリにメイン・メモリのデータを退避する省電力状態から復帰する際にパスワードの入力を要求しないで復帰処理をする第2の復帰回路と、
    前記省電力状態の間に発生した前記不揮発性メモリに対する不正アクセスを検出する検出回路とを有し、
    前記省電力状態から復帰する際に前記検出回路が不正アクセスを検出したことに応答してパスワードの入力を要求するコンピュータ。
  16. 前記パスワードの入力の要求を前記第1の復帰回路が実行する請求項15に記載のコンピュータ。
  17. 前記検出回路が不正アクセスを検出しないことに応答して前記第2の復帰回路が復帰処理をする請求項15または請求項16に記載のコンピュータ。
  18. 前記検出回路は、前記コンピュータと前記不揮発性メモリとの電気的な接続が切断されたときまたは前記検出回路の電源が停止したときに不正アクセスを検出する請求項15から請求項17のいずれかに記載のコンピュータ。
  19. パスワードの設定が可能な不揮発性メモリを備え、パワー・オフ状態とメイン・メモリの記憶を維持する第1の省電力状態と前記不揮発性メモリに前記メイン・メモリのデータを退避する第2の省電力状態で動作することが可能なコンピュータであって、
    前記パワー・オフ状態から復帰する際にパスワードの入力を要求して復帰処理をする第1の復帰回路と、
    前記第2の省電力状態から前記第1の省電力状態に復帰する際に、パスワードの入力を要求しないで復帰処理をする第2の復帰回路と、
    前記第2の省電力状態の間に発生した前記不揮発性メモリに対する不正アクセスを検出する検出回路とを有し、
    前記検出回路が不正アクセスを検出したことに応答して前記第1の復帰回路が前記パスワード入力を要求し、入力されたパスワードの認証が成功したときに前記第2の復帰回路が復帰処理をするコンピュータ。
  20. 前記第2の復帰回路は、前記第1の復帰回路よりも短時間で復帰処理を終了する請求項19に記載のコンピュータ。
  21. パスワードが設定された不揮発性メモリを備えるコンピュータに、
    ハイバネーション状態からパワー・オン状態に復帰する際に要求するパスワードを設定するステップと、
    前記パワー・オン状態から前記ハイバネーション状態に移行するステップと、
    前記ハイバネーション状態の間に発生した前記不揮発性メモリに対する不正アクセスを検出するステップと、
    前記不正アクセスを検出したことに応答してパスワードの入力を要求するステップと、
    入力された前記パスワードの認証が成功したことに応答して前記不揮発性メモリに退避していたデータを前記メイン・メモリに転送するステップと、
    を有する処理を実行させるコンピュータ・プログラム。
  22. パスワードが設定された不揮発性メモリを備えるコンピュータに、
    サスペンド状態からパワー・オン状態に復帰する際に要求するパスワードを設定するステップと、
    前記パワー・オン状態から前記サスペンド状態に移行するステップと、
    前記サスペンド状態でメイン・メモリが記憶するデータを前記不揮発性メモリに退避して前記メイン・メモリの電源を停止するステップと、
    前記メイン・メモリの電源が停止している間に発生した前記不揮発性メモリに対する不正アクセスを検出するステップと、
    前記不正アクセスを検出したことに応答してパスワードの入力を要求するステップと、
    入力された前記パスワードの認証が成功したことに応答して前記不揮発性メモリに退避していたデータを前記メイン・メモリに転送して前記パワー・オン状態に移行するステップと
    を有する処理を実行させるコンピュータ・プログラム。
JP2012005717A 2012-01-15 2012-01-15 パスワードを保護する方法およびコンピュータ Active JP5711160B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012005717A JP5711160B2 (ja) 2012-01-15 2012-01-15 パスワードを保護する方法およびコンピュータ
US13/709,938 US8990926B2 (en) 2012-01-15 2012-12-10 Method and apparatus for protecting a password of a computer having a non-volatile memory
CN201310002067.4A CN103207975B (zh) 2012-01-15 2013-01-04 保护密码的方法以及计算机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012005717A JP5711160B2 (ja) 2012-01-15 2012-01-15 パスワードを保護する方法およびコンピュータ

Publications (2)

Publication Number Publication Date
JP2013145475A true JP2013145475A (ja) 2013-07-25
JP5711160B2 JP5711160B2 (ja) 2015-04-30

Family

ID=48755192

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012005717A Active JP5711160B2 (ja) 2012-01-15 2012-01-15 パスワードを保護する方法およびコンピュータ

Country Status (3)

Country Link
US (1) US8990926B2 (ja)
JP (1) JP5711160B2 (ja)
CN (1) CN103207975B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9735960B2 (en) 2014-07-24 2017-08-15 Lenovo (Singapore) Ptd Lte Method for protecting data stored within a disk drive of a portable computer

Families Citing this family (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171553B2 (en) 2004-04-01 2012-05-01 Fireeye, Inc. Heuristic based capture with replay to virtual machine
US8549638B2 (en) 2004-06-14 2013-10-01 Fireeye, Inc. System and method of containing computer worms
US8528086B1 (en) 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US7587537B1 (en) 2007-11-30 2009-09-08 Altera Corporation Serializer-deserializer circuits formed from input-output circuit registers
US8793787B2 (en) 2004-04-01 2014-07-29 Fireeye, Inc. Detecting malicious network content using virtual environment components
US8566946B1 (en) 2006-04-20 2013-10-22 Fireeye, Inc. Malware containment on connection
US8881282B1 (en) 2004-04-01 2014-11-04 Fireeye, Inc. Systems and methods for malware attack detection and identification
US9106694B2 (en) 2004-04-01 2015-08-11 Fireeye, Inc. Electronic message analysis for malware detection
US8898788B1 (en) 2004-04-01 2014-11-25 Fireeye, Inc. Systems and methods for malware attack prevention
US8584239B2 (en) 2004-04-01 2013-11-12 Fireeye, Inc. Virtual machine with dynamic data flow analysis
US8997219B2 (en) 2008-11-03 2015-03-31 Fireeye, Inc. Systems and methods for detecting malicious PDF network content
US8832829B2 (en) 2009-09-30 2014-09-09 Fireeye, Inc. Network-based binary file extraction and analysis for malware detection
US10572665B2 (en) 2012-12-28 2020-02-25 Fireeye, Inc. System and method to create a number of breakpoints in a virtual machine via virtual machine trapping events
US9176843B1 (en) 2013-02-23 2015-11-03 Fireeye, Inc. Framework for efficient security coverage of mobile software applications
US9195829B1 (en) 2013-02-23 2015-11-24 Fireeye, Inc. User interface with real-time visual playback along with synchronous textual analysis log display and event/time index for anomalous behavior detection in applications
US9367681B1 (en) 2013-02-23 2016-06-14 Fireeye, Inc. Framework for efficient security coverage of mobile software applications using symbolic execution to reach regions of interest within an application
US9355247B1 (en) 2013-03-13 2016-05-31 Fireeye, Inc. File extraction from memory dump for malicious content analysis
US9104867B1 (en) 2013-03-13 2015-08-11 Fireeye, Inc. Malicious content analysis using simulated user interaction without user involvement
US9626509B1 (en) 2013-03-13 2017-04-18 Fireeye, Inc. Malicious content analysis with multi-version application support within single operating environment
US9430646B1 (en) 2013-03-14 2016-08-30 Fireeye, Inc. Distributed systems and methods for automatically detecting unknown bots and botnets
US9311479B1 (en) 2013-03-14 2016-04-12 Fireeye, Inc. Correlation and consolidation of analytic data for holistic view of a malware attack
WO2014145805A1 (en) 2013-03-15 2014-09-18 Mandiant, Llc System and method employing structured intelligence to verify and contain threats at endpoints
US10713358B2 (en) 2013-03-15 2020-07-14 Fireeye, Inc. System and method to extract and utilize disassembly features to classify software intent
US9495180B2 (en) 2013-05-10 2016-11-15 Fireeye, Inc. Optimized resource allocation for virtual machines within a malware content detection system
US9635039B1 (en) 2013-05-13 2017-04-25 Fireeye, Inc. Classifying sets of malicious indicators for detecting command and control communications associated with malware
US10133863B2 (en) 2013-06-24 2018-11-20 Fireeye, Inc. Zero-day discovery system
US9300686B2 (en) 2013-06-28 2016-03-29 Fireeye, Inc. System and method for detecting malicious links in electronic messages
US9329931B2 (en) * 2013-07-24 2016-05-03 Seagate Technology Llc Solid state drive emergency pre-boot application providing expanded data recovery function
US9690936B1 (en) 2013-09-30 2017-06-27 Fireeye, Inc. Multistage system and method for analyzing obfuscated content for malware
US9736179B2 (en) 2013-09-30 2017-08-15 Fireeye, Inc. System, apparatus and method for using malware analysis results to drive adaptive instrumentation of virtual machines to improve exploit detection
US10515214B1 (en) 2013-09-30 2019-12-24 Fireeye, Inc. System and method for classifying malware within content created during analysis of a specimen
US9294501B2 (en) 2013-09-30 2016-03-22 Fireeye, Inc. Fuzzy hash of behavioral results
US9628507B2 (en) 2013-09-30 2017-04-18 Fireeye, Inc. Advanced persistent threat (APT) detection center
US9171160B2 (en) 2013-09-30 2015-10-27 Fireeye, Inc. Dynamically adaptive framework and method for classifying malware using intelligent static, emulation, and dynamic analyses
US9921978B1 (en) 2013-11-08 2018-03-20 Fireeye, Inc. System and method for enhanced security of storage devices
US9747446B1 (en) 2013-12-26 2017-08-29 Fireeye, Inc. System and method for run-time object classification
US9756074B2 (en) 2013-12-26 2017-09-05 Fireeye, Inc. System and method for IPS and VM-based detection of suspicious objects
US9292686B2 (en) 2014-01-16 2016-03-22 Fireeye, Inc. Micro-virtualization architecture for threat-aware microvisor deployment in a node of a network environment
US9262635B2 (en) 2014-02-05 2016-02-16 Fireeye, Inc. Detection efficacy of virtual machine-based analysis with application specific events
US9241010B1 (en) 2014-03-20 2016-01-19 Fireeye, Inc. System and method for network behavior detection
US10242185B1 (en) 2014-03-21 2019-03-26 Fireeye, Inc. Dynamic guest image creation and rollback
US9591015B1 (en) 2014-03-28 2017-03-07 Fireeye, Inc. System and method for offloading packet processing and static analysis operations
US9223972B1 (en) 2014-03-31 2015-12-29 Fireeye, Inc. Dynamically remote tuning of a malware content detection system
US9432389B1 (en) 2014-03-31 2016-08-30 Fireeye, Inc. System, apparatus and method for detecting a malicious attack based on static analysis of a multi-flow object
US9973531B1 (en) 2014-06-06 2018-05-15 Fireeye, Inc. Shellcode detection
US9594912B1 (en) 2014-06-06 2017-03-14 Fireeye, Inc. Return-oriented programming detection
US9438623B1 (en) 2014-06-06 2016-09-06 Fireeye, Inc. Computer exploit detection using heap spray pattern matching
US10084813B2 (en) 2014-06-24 2018-09-25 Fireeye, Inc. Intrusion prevention and remedy system
US9398028B1 (en) 2014-06-26 2016-07-19 Fireeye, Inc. System, device and method for detecting a malicious attack based on communcations between remotely hosted virtual machines and malicious web servers
US10805340B1 (en) 2014-06-26 2020-10-13 Fireeye, Inc. Infection vector and malware tracking with an interactive user display
US10002252B2 (en) 2014-07-01 2018-06-19 Fireeye, Inc. Verification of trusted threat-aware microvisor
TWI520068B (zh) * 2014-07-30 2016-02-01 緯創資通股份有限公司 可自動清除基本輸入輸出系統中的密碼之電子系統、電子裝置及方法
US10296730B2 (en) * 2014-08-18 2019-05-21 Dell Products L.P. Systems and methods for automatic generation and retrieval of an information handling system password
US9363280B1 (en) 2014-08-22 2016-06-07 Fireeye, Inc. System and method of detecting delivery of malware using cross-customer data
US10671726B1 (en) 2014-09-22 2020-06-02 Fireeye Inc. System and method for malware analysis using thread-level event monitoring
US10027689B1 (en) 2014-09-29 2018-07-17 Fireeye, Inc. Interactive infection visualization for improved exploit detection and signature generation for malware and malware families
US9773112B1 (en) 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US9690933B1 (en) 2014-12-22 2017-06-27 Fireeye, Inc. Framework for classifying an object as malicious with machine learning for deploying updated predictive models
US10075455B2 (en) 2014-12-26 2018-09-11 Fireeye, Inc. Zero-day rotating guest image profile
US9934376B1 (en) 2014-12-29 2018-04-03 Fireeye, Inc. Malware detection appliance architecture
US9838417B1 (en) 2014-12-30 2017-12-05 Fireeye, Inc. Intelligent context aware user interaction for malware detection
US10148693B2 (en) 2015-03-25 2018-12-04 Fireeye, Inc. Exploit detection system
US9690606B1 (en) 2015-03-25 2017-06-27 Fireeye, Inc. Selective system call monitoring
US9438613B1 (en) 2015-03-30 2016-09-06 Fireeye, Inc. Dynamic content activation for automated analysis of embedded objects
US10417031B2 (en) 2015-03-31 2019-09-17 Fireeye, Inc. Selective virtualization for security threat detection
US10474813B1 (en) 2015-03-31 2019-11-12 Fireeye, Inc. Code injection technique for remediation at an endpoint of a network
US9483644B1 (en) 2015-03-31 2016-11-01 Fireeye, Inc. Methods for detecting file altering malware in VM based analysis
US9654485B1 (en) 2015-04-13 2017-05-16 Fireeye, Inc. Analytics-based security monitoring system and method
CN104794071A (zh) * 2015-04-22 2015-07-22 王爱华 一种基于u盘的对计算机sata硬盘解冻并加密码锁的方法及系统
US9594904B1 (en) 2015-04-23 2017-03-14 Fireeye, Inc. Detecting malware based on reflection
US10454950B1 (en) 2015-06-30 2019-10-22 Fireeye, Inc. Centralized aggregation technique for detecting lateral movement of stealthy cyber-attacks
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
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
US10715542B1 (en) 2015-08-14 2020-07-14 Fireeye, Inc. Mobile application risk analysis
US10146943B2 (en) * 2015-09-11 2018-12-04 Dell Products, Lp System and method to disable the erasure of an administrator password in an information handling system
US10176321B2 (en) 2015-09-22 2019-01-08 Fireeye, Inc. Leveraging behavior-based rules for malware family classification
US10033747B1 (en) 2015-09-29 2018-07-24 Fireeye, Inc. System and method for detecting interpreter-based exploit attacks
US9825989B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Cyber attack early warning system
US10706149B1 (en) 2015-09-30 2020-07-07 Fireeye, Inc. Detecting delayed activation malware using a primary controller and plural time controllers
US10817606B1 (en) 2015-09-30 2020-10-27 Fireeye, Inc. Detecting delayed activation malware using a run-time monitoring agent and time-dilation logic
US10210329B1 (en) 2015-09-30 2019-02-19 Fireeye, Inc. Method to detect application execution hijacking using memory protection
US10601865B1 (en) 2015-09-30 2020-03-24 Fireeye, Inc. Detection of credential spearphishing attacks using email analysis
US9825976B1 (en) 2015-09-30 2017-11-21 Fireeye, Inc. Detection and classification of exploit kits
US10284575B2 (en) 2015-11-10 2019-05-07 Fireeye, Inc. Launcher for setting analysis environment variations for malware detection
US10447728B1 (en) 2015-12-10 2019-10-15 Fireeye, Inc. Technique for protecting guest processes using a layered virtualization architecture
US10846117B1 (en) 2015-12-10 2020-11-24 Fireeye, Inc. Technique for establishing secure communication between host and guest processes of a virtualization architecture
US10108446B1 (en) 2015-12-11 2018-10-23 Fireeye, Inc. Late load technique for deploying a virtualization layer underneath a running operating system
US10621338B1 (en) 2015-12-30 2020-04-14 Fireeye, Inc. Method to detect forgery and exploits using last branch recording registers
US10565378B1 (en) 2015-12-30 2020-02-18 Fireeye, Inc. Exploit of privilege detection framework
US10050998B1 (en) 2015-12-30 2018-08-14 Fireeye, Inc. Malicious message analysis system
US10133866B1 (en) 2015-12-30 2018-11-20 Fireeye, Inc. System and method for triggering analysis of an object for malware in response to modification of that object
US10581874B1 (en) 2015-12-31 2020-03-03 Fireeye, Inc. Malware detection system with contextual analysis
US9824216B1 (en) 2015-12-31 2017-11-21 Fireeye, Inc. Susceptible environment detection system
US11552986B1 (en) 2015-12-31 2023-01-10 Fireeye Security Holdings Us Llc Cyber-security framework for application of virtual features
US10671721B1 (en) 2016-03-25 2020-06-02 Fireeye, Inc. Timeout management services
US10785255B1 (en) 2016-03-25 2020-09-22 Fireeye, Inc. Cluster configuration within a scalable malware detection system
US10601863B1 (en) 2016-03-25 2020-03-24 Fireeye, Inc. System and method for managing sensor enrollment
US10476906B1 (en) 2016-03-25 2019-11-12 Fireeye, Inc. System and method for managing formation and modification of a cluster within a malware detection system
US10893059B1 (en) 2016-03-31 2021-01-12 Fireeye, Inc. Verification and enhancement using detection systems located at the network periphery and endpoint devices
US10826933B1 (en) 2016-03-31 2020-11-03 Fireeye, Inc. Technique for verifying exploit/malware at malware detection appliance through correlation with endpoints
US10169585B1 (en) 2016-06-22 2019-01-01 Fireeye, Inc. System and methods for advanced malware detection through placement of transition events
US10462173B1 (en) 2016-06-30 2019-10-29 Fireeye, Inc. Malware detection verification and enhancement by coordinating endpoint and malware detection systems
CN106295416B (zh) * 2016-08-19 2021-07-16 联想(北京)有限公司 一种唤醒控制方法及电子设备
US10592678B1 (en) 2016-09-09 2020-03-17 Fireeye, Inc. Secure communications between peers using a verified virtual trusted platform module
US10491627B1 (en) 2016-09-29 2019-11-26 Fireeye, Inc. Advanced malware detection using similarity analysis
US10795991B1 (en) 2016-11-08 2020-10-06 Fireeye, Inc. Enterprise search
US10587647B1 (en) 2016-11-22 2020-03-10 Fireeye, Inc. Technique for malware detection capability comparison of network security devices
US10552610B1 (en) 2016-12-22 2020-02-04 Fireeye, Inc. Adaptive virtual machine snapshot update framework for malware behavioral analysis
US10581879B1 (en) 2016-12-22 2020-03-03 Fireeye, Inc. Enhanced malware detection for generated objects
US10523609B1 (en) 2016-12-27 2019-12-31 Fireeye, Inc. Multi-vector malware detection and analysis
US10904286B1 (en) 2017-03-24 2021-01-26 Fireeye, Inc. Detection of phishing attacks using similarity analysis
US10848397B1 (en) 2017-03-30 2020-11-24 Fireeye, Inc. System and method for enforcing compliance with subscription requirements for cyber-attack detection service
US10902119B1 (en) 2017-03-30 2021-01-26 Fireeye, Inc. Data extraction system for malware analysis
US10791138B1 (en) 2017-03-30 2020-09-29 Fireeye, Inc. Subscription-based malware detection
US10798112B2 (en) 2017-03-30 2020-10-06 Fireeye, Inc. Attribute-controlled malware detection
US10503904B1 (en) 2017-06-29 2019-12-10 Fireeye, Inc. Ransomware detection and mitigation
US10855700B1 (en) 2017-06-29 2020-12-01 Fireeye, Inc. Post-intrusion detection of cyber-attacks during lateral movement within networks
US10601848B1 (en) 2017-06-29 2020-03-24 Fireeye, Inc. Cyber-security system and method for weak indicator detection and correlation to generate strong indicators
US10893068B1 (en) 2017-06-30 2021-01-12 Fireeye, Inc. Ransomware file modification prevention technique
US10747872B1 (en) 2017-09-27 2020-08-18 Fireeye, Inc. System and method for preventing malware evasion
US10805346B2 (en) 2017-10-01 2020-10-13 Fireeye, Inc. Phishing attack detection
US11108809B2 (en) 2017-10-27 2021-08-31 Fireeye, Inc. System and method for analyzing binary code for malware classification using artificial neural network techniques
US20190171820A1 (en) * 2017-12-04 2019-06-06 Phoenix Technologies, Ltd. Securing Resumption from Sleep Mode Using a Storage Medium Authentication Credential
US11271955B2 (en) 2017-12-28 2022-03-08 Fireeye Security Holdings Us Llc Platform and method for retroactive reclassification employing a cybersecurity-based global data store
US11005860B1 (en) 2017-12-28 2021-05-11 Fireeye, Inc. Method and system for efficient cybersecurity analysis of endpoint events
US11240275B1 (en) 2017-12-28 2022-02-01 Fireeye Security Holdings Us Llc Platform and method for performing cybersecurity analyses employing an intelligence hub with a modular architecture
CN108388787A (zh) * 2018-01-25 2018-08-10 郑州云海信息技术有限公司 一种USBKey安全保护系统和方法
JP7022605B2 (ja) * 2018-01-26 2022-02-18 キヤノン株式会社 情報処理装置とその制御方法、及びプログラム
US10826931B1 (en) 2018-03-29 2020-11-03 Fireeye, Inc. System and method for predicting and mitigating cybersecurity system misconfigurations
US11558401B1 (en) 2018-03-30 2023-01-17 Fireeye Security Holdings Us Llc Multi-vector malware detection data sharing system for improved detection
US11003773B1 (en) 2018-03-30 2021-05-11 Fireeye, Inc. System and method for automatically generating malware detection rule recommendations
US10956477B1 (en) 2018-03-30 2021-03-23 Fireeye, Inc. System and method for detecting malicious scripts through natural language processing modeling
US11075930B1 (en) 2018-06-27 2021-07-27 Fireeye, Inc. System and method for detecting repetitive cybersecurity attacks constituting an email campaign
US11314859B1 (en) 2018-06-27 2022-04-26 FireEye Security Holdings, Inc. Cyber-security system and method for detecting escalation of privileges within an access token
US11228491B1 (en) 2018-06-28 2022-01-18 Fireeye Security Holdings Us Llc System and method for distributed cluster configuration monitoring and management
US11316900B1 (en) 2018-06-29 2022-04-26 FireEye Security Holdings Inc. System and method for automatically prioritizing rules for cyber-threat detection and mitigation
US11182473B1 (en) 2018-09-13 2021-11-23 Fireeye Security Holdings Us Llc System and method for mitigating cyberattacks against processor operability by a guest process
US11645371B2 (en) 2018-09-14 2023-05-09 Hewlett-Packard Development Company, L.P. Securing computing devices
US11763004B1 (en) 2018-09-27 2023-09-19 Fireeye Security Holdings Us Llc System and method for bootkit detection
CN111209547B (zh) * 2018-11-22 2023-04-18 联想企业解决方案(新加坡)有限公司 计算装置及数据安全访问方法
US11368475B1 (en) 2018-12-21 2022-06-21 Fireeye Security Holdings Us Llc System and method for scanning remote services to locate stored objects with malware
US10389708B1 (en) 2019-01-03 2019-08-20 Capital One Services, Llc Secure authentication of a user associated with communication with a service representative
US11258806B1 (en) 2019-06-24 2022-02-22 Mandiant, Inc. System and method for automatically associating cybersecurity intelligence to cyberthreat actors
US11556640B1 (en) 2019-06-27 2023-01-17 Mandiant, Inc. Systems and methods for automated cybersecurity analysis of extracted binary string sets
US11392700B1 (en) 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
US11068035B2 (en) * 2019-09-12 2021-07-20 Dell Products L.P. Dynamic secure ACPI power resource enumeration objects for embedded devices
US11886585B1 (en) 2019-09-27 2024-01-30 Musarubra Us Llc System and method for identifying and mitigating cyberattacks through malicious position-independent code execution
US11637862B1 (en) 2019-09-30 2023-04-25 Mandiant, Inc. System and method for surfacing cyber-security threats with a self-learning recommendation engine
JP2021060721A (ja) * 2019-10-04 2021-04-15 キオクシア株式会社 メモリシステム
CN111079106A (zh) * 2019-12-20 2020-04-28 山东方寸微电子科技有限公司 基于bios安全机制的ssd多分区登录方法及存储介质
US11347519B2 (en) * 2020-05-27 2022-05-31 Dell Products L.P. Systems and methods for detecting short-term changes to BIOS setup

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212427A (ja) * 1995-10-27 1997-08-15 Ncr Internatl Inc 取り外し可能なハード・ドライブに対するパスワード保護
US20050138433A1 (en) * 2003-12-23 2005-06-23 Zone Labs, Inc. Security System with Methodology for Defending Against Security Breaches of Peripheral Devices
US7103909B1 (en) * 1999-02-25 2006-09-05 Fujitsu Limited Method of unlocking password lock of storage device, information processor, computer-readable recording medium storing unlocking program, and control device
JP2007090845A (ja) * 2005-09-30 2007-04-12 Kyocera Mita Corp 電子機器システム、電子機器及び画像形成装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010011947A1 (en) * 1999-05-24 2001-08-09 Muhammed Jaber System and method for securing a computer system
WO2002089081A1 (en) * 2001-04-26 2002-11-07 Caveo Technology, Llc Pc card security system
ATE449376T1 (de) 2001-08-22 2009-12-15 Legend Beijing Ltd Verfahren zum schnellen hochfahren eines computers
US20030120918A1 (en) * 2001-12-21 2003-06-26 Intel Corporation Hard drive security for fast boot
EP1326160A1 (en) * 2002-01-04 2003-07-09 Hewlett-Packard Company, A Delaware Corporation Data processing system and method
US7395434B2 (en) * 2002-05-01 2008-07-01 Hewlett-Packard Development Company, L.P. Method for secure storage and verification of the administrator, power-on password and configuration information
US7367063B1 (en) * 2002-09-17 2008-04-29 Cisco Technology, Inc. Methods and apparatus for providing security to a computerized device
US8601606B2 (en) * 2002-11-25 2013-12-03 Carolyn W. Hafeman Computer recovery or return
JP2005209074A (ja) * 2004-01-26 2005-08-04 Denso Corp 更新検出装置、及び更新検出プログラム
JP4436219B2 (ja) * 2004-09-10 2010-03-24 富士通株式会社 情報処理装置及び電源制御方法
US7685634B2 (en) * 2005-01-12 2010-03-23 Dell Products L.P. System and method for managing access to a storage drive in a computer system
US20070061879A1 (en) * 2005-09-15 2007-03-15 Dailey James E System and method for managing information handling system hard disk drive password protection
US7640440B2 (en) * 2006-04-25 2009-12-29 Apple Inc. Method and apparatus for facilitating device hibernation
US7900252B2 (en) 2006-08-28 2011-03-01 Lenovo (Singapore) Pte. Ltd. Method and apparatus for managing shared passwords on a multi-user computer
JP4807234B2 (ja) * 2006-11-14 2011-11-02 船井電機株式会社 デバイス及びタンパー検出システム
US20080120716A1 (en) * 2006-11-21 2008-05-22 Hall David N System and method for enhancing security of an electronic device
US7814321B2 (en) * 2007-04-19 2010-10-12 Lenovo (Singapore) Pte. Ltd. System and method for protecting disk drive password when BIOS causes computer to leave suspend state
US7971081B2 (en) 2007-12-28 2011-06-28 Intel Corporation System and method for fast platform hibernate and resume
GB2460275B (en) * 2008-05-23 2012-12-19 Exacttrak Ltd A Communications and Security Device
JP2010122774A (ja) * 2008-11-18 2010-06-03 Toshiba Storage Device Corp 記憶装置、情報処理装置、情報処理システム
US20110154478A1 (en) * 2009-12-23 2011-06-23 Yen Hsiang Chew Electronic device security
US8844025B2 (en) * 2010-03-26 2014-09-23 Hewlett-Packard Development Company, L.P. Storage device access authentication upon resuming from a standby mode of a computing device
CN102270284A (zh) * 2010-06-03 2011-12-07 元太科技工业股份有限公司 电子阅读装置及其数据保护方法
US8566603B2 (en) * 2010-06-14 2013-10-22 Seagate Technology Llc Managing security operating modes
JP5696564B2 (ja) * 2011-03-30 2015-04-08 富士通株式会社 情報処理装置および認証回避方法
JP4966422B1 (ja) * 2011-03-31 2012-07-04 株式会社東芝 情報処理装置及びデータ保護方法
US8984316B2 (en) * 2011-12-29 2015-03-17 Intel Corporation Fast platform hibernation and resumption of computing systems providing secure storage of context data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212427A (ja) * 1995-10-27 1997-08-15 Ncr Internatl Inc 取り外し可能なハード・ドライブに対するパスワード保護
US7103909B1 (en) * 1999-02-25 2006-09-05 Fujitsu Limited Method of unlocking password lock of storage device, information processor, computer-readable recording medium storing unlocking program, and control device
US20050138433A1 (en) * 2003-12-23 2005-06-23 Zone Labs, Inc. Security System with Methodology for Defending Against Security Breaches of Peripheral Devices
JP2007090845A (ja) * 2005-09-30 2007-04-12 Kyocera Mita Corp 電子機器システム、電子機器及び画像形成装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6014002940; 'HPカスタマー・ケア スリープや休止状態から復帰するときにコンピュータをロックしないようにする方法' [online] , 20110119, Hewlett-Packard Development Company, L.P. *
JPN6014002944; 塩月誠人: 'Windowsセキュリティ・ワンポイントレッスン 第1回 ハイバネーションの危険性' [online] , 200904, 合同会社セキュリティ・プロフェッショナルズ・ネット *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9735960B2 (en) 2014-07-24 2017-08-15 Lenovo (Singapore) Ptd Lte Method for protecting data stored within a disk drive of a portable computer

Also Published As

Publication number Publication date
US8990926B2 (en) 2015-03-24
CN103207975A (zh) 2013-07-17
US20130185789A1 (en) 2013-07-18
JP5711160B2 (ja) 2015-04-30
CN103207975B (zh) 2016-04-27

Similar Documents

Publication Publication Date Title
JP5711160B2 (ja) パスワードを保護する方法およびコンピュータ
US11520894B2 (en) Verifying controller code
US9292300B2 (en) Electronic device and secure boot method
JP5519712B2 (ja) コンピュータをブートする方法およびコンピュータ
TWI648652B (zh) 修復受危害之系統啓動碼之技術
JP5476363B2 (ja) 生体認証装置を利用したコンピュータの起動方法およびコンピュータ
US9785596B2 (en) Redundant system boot code in a secondary non-volatile memory
JP6054908B2 (ja) 変数セットを修復する方法、コンピュータ・プログラムおよびコンピュータ
US20100125908A1 (en) Storage device, information processor, and information processing system
US20050210231A1 (en) Controlling update of content of a programmable read-only memory
US7412596B2 (en) Method for preventing system wake up from a sleep state if a boot log returned during the system wake up cannot be authenticated
TWI499911B (zh) 用以選擇性滌淨系統記憶體之方法與系統
JP2010146048A (ja) 生体認証装置を備えるコンピュータ
JP5689429B2 (ja) 認証装置、および、認証方法
JP2015153198A (ja) コンピュータの動作不良を防止する方法、コンピュータ・プログラムおよびコンピュータ
JP2015001800A (ja) スリープ状態からレジュームする方法、携帯式電子機器およびコンピュータ・プログラム
US20140373183A1 (en) Computer and control method thereof
US11340796B2 (en) Method for managing sleep mode at a data storage device and system therefor
JP5767657B2 (ja) 不揮発性メモリが記憶するデータを保護する方法およびコンピュータ
JP7066022B1 (ja) 情報処理装置、及び制御方法
JP5367684B2 (ja) セキュリティを強化したコンピュータおよび電源の制御方法
JP5698194B2 (ja) 情報端末装置を同期する方法および情報端末装置
JP2022047564A (ja) 情報処理装置
JP4266119B2 (ja) 電子機器
JP2007334705A (ja) アンドック禁止方法、およびコンピュータ

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140819

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140922

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150305

R150 Certificate of patent or registration of utility model

Ref document number: 5711160

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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