JP2013092946A - 外部ブートデバイス及び外部ブート方法 - Google Patents

外部ブートデバイス及び外部ブート方法 Download PDF

Info

Publication number
JP2013092946A
JP2013092946A JP2011235386A JP2011235386A JP2013092946A JP 2013092946 A JP2013092946 A JP 2013092946A JP 2011235386 A JP2011235386 A JP 2011235386A JP 2011235386 A JP2011235386 A JP 2011235386A JP 2013092946 A JP2013092946 A JP 2013092946A
Authority
JP
Japan
Prior art keywords
data
address
divided
transfer
control data
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.)
Pending
Application number
JP2011235386A
Other languages
English (en)
Inventor
Junko Suginaka
順子 杉中
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to JP2011235386A priority Critical patent/JP2013092946A/ja
Priority to PCT/JP2012/076262 priority patent/WO2013061782A1/ja
Priority to TW101138881A priority patent/TW201329867A/zh
Publication of JP2013092946A publication Critical patent/JP2013092946A/ja
Pending legal-status Critical Current

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/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/575Secure boot

Landscapes

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

Abstract

【課題】外部ブートによってマルウエアの動きを抑止する。
【解決手段】 USBメモリ2は、端末1のBIOSの起動によってRAM14の起動メモリ領域141に優先して読み出される、1次ローダを記憶する第1記憶部211と、1次ローダによるデータ転送指示を受けて起動メモリ領域141に順次分割された分割制御データとして読み出される、割込ベクタテーブル及び2次ローダを含む所定の制御データと分割制御データの書込位置となるアドレスデータとを記憶する第2記憶部212と、インターラプト転送によって分割制御データを順次起動メモリ領域141に転送するデータ転送部(23,23B)と、インターラプト転送の終了を受けてハードウエア割込を発行する転送終了処理部234とを備えている。
【選択図】図3

Description

本発明は、CPUを備える情報処理装置に装着して前記情報処理装置をブートする外部ブートデバイス及び外部ブート方法に関する。
近年、インターネット等のネットワークに接続されたサーバや端末(パーソナルコンピュータ)等の情報処理装置に対して各種のウイルス等が侵入し、乃至は潜伏し、それによってデータの盗聴、盗難、改竄、漏洩及び攻撃等の被害が生じている。かかるウイルス被害に対し、ウイルスの侵入を可及的に阻止する目的で、ウイルスを発見し乃至は駆除するソフトウエアの改良乃至は開発、回線制限(アドレス制限)の設定を行う等の対策が講じられている。しかし、ウイルスの新種発見から駆除用のソフトウエアの開発までの時間遅れ等を考慮すれば、ウイルスの侵入を確実に阻止することは困難である。また、電源投入を受けて情報処理装置が立ち上がる間にウイルス感染する虞も考えられ、かかる期間内に対する有効なウイルス対策も望まれる。
特許文献1には、情報処理装置のハードディスク内に格納されたOS(OperationSystem)の起動方法が記載されている。より詳細には、情報処理装置の電源投入が検知されると、フラッシュメモリに記憶されているBIOS(BasicInput/Output system)を起動して起動可能なブートデバイスを検索し、USB(Universal Serial Bus)メモリに格納されているブートOSを起動して、まず表示手段にパスワードの入力画面を表示させる。次いで、この入力画面に対して入力手段からのパスワードの入力を受け付ける。パスワードが入力されると、入力パスワードとUSBメモリに固有な情報とを連結してハッシュ値に変換し、起動すべきハードディスクのロック解除パスワードを生成する。そして、起動するハードディスクがセキュリティ設定済みであると判断した場合には、前記ロック解除パスワードで前記ハードディスクのロック状態を解除する一方、前記ハードディスクがセキュリティ設定済みではないと判断した場合には、前記ハードディスクのセキュリティを設定し、ロック状態が解除された前記ハードディスクのMBR(Master Boot Record)を起動し、OSのブートローダを起動し、これによってOSを起動する方法である。これにより、OS起動時のセキュリティ認証が可能になる。また、特許文献1には、前記ハードディスクのロック状態が解除された状態で、USBメモリに格納されているウイルスチェック機能を用いてウイルスチェックを行うことでハードディスクのウイルスチェックを可能とすることが記載されている。
また、特許文献2には、起動プログラムの実行方法が記載されている。より詳細には、パーソナルコンピュータからハードディスクに対する最初の読込み要求に対し、起動プログラムを格納した記憶媒体の起動セクタに先立ってセキュリティ等の任意プログラムを格納した仮起動セクタを読み出し、該任意プログラムを実行させる起動前処理ステップを有するようにしたものである。そして、このセキュリティ等の任意プログラムの実行後に本来の起動プログラムを実行してOSを起動させるものである。これにより、パーソナルコンピュータのBOISや記憶媒体の起動セクタ(LBA0)を変更することなく、OS起動に先立ってセキュリティ等の任意のプログラムの実行を可能としている。
特開2007−66123号公報 特開2006−236193号公報
特許文献1は、パスワード入力画面に対してパスワードを入力する態様であるためパスワードの盗難の虞があることから、USBメモリの固有情報と結合してハッシュ値を作成し、ロック解除情報とする個人認証技術である。また、特許文献1には、USBメモリに格納されているウイルスチェック機能を用いてウイルスチェックを行うことでハードディスクのウイルスチェックを可能とすることが記載されているが、具体的な記載は一切ない。
一方、特許文献2では、ハードディスク内の仮起動セクタの任意プログラムがウィルスチェックプログラムである場合においても、そのプログラムが実行される前に、例えばRootkitの形態を有するような不正プログラムが起動され、任意プログラムから自身(不正プログラム)を隠蔽することも可能であるため、ウイルスチェックに対する信頼性に一定の限界がある。また、特許文献2にはOS起動前にウイルスを監視する具体的な方法は一切記載されていない。電源投入前から潜伏していたウイルスを仮に発見し得るとしても、再起動(OS起動)後にはウイルスチェックは行われていないため、再起動中に侵入するウイルス対して依然として無防備の状態にある。さらに、特許文献1、2はパーソナルコンピュータ側で処理を担う一般的態様であるから、この点からしても高い信頼性を確保するには限界がある。
また、近年、特許文献1に記載の起動方法のような、いわゆるUSBメモリブート方式が知られている。USBメモリブート方式は、USBメモリを端末に接続して端末の電源が投入された場合に、BIOSからUSBメモリが優先的に指定されて、その内部に記憶されたOSがブートされ、例えば職場の端末を自己のPC環境の元で使用し得るようにした技術である。このUSBメモリブート方式の別の態様として、ウイルス駆除プログラムを記憶しておき、優先的に起動させて、端末内の潜伏ウイルスを駆除可能にしたものも知られている。しかし、USBメモリ自身のウイルス感染の有無、またウイルス駆除プログラムの起動前にウイルスによる仕掛けが実行されてウイルス駆除動作が無力化される場合、さらにウイルス駆除処理終了からOSの起動までの間でのウイルス侵入の有無については何等言及されていない。
本発明の目的は、ウイルス等のマルウエアの動きを抑止する外部ブートの技術を提供することにある。
本発明に係る外部ブートデバイスは、CPU及び前記CPUが実行するプログラムが展開される主メモリを備えると共に、前記主メモリと外部との間でハードウエアによるデータ通信を行う、チップセット内のコントローラを備えた情報処理装置を、前記コントローラを経由して起動に要するデータを前記主メモリに書き込んで起動させる外部ブートデバイスであって、前記情報処理装置のBIOSが前記CPUによって実行されることによって前記主メモリの一部であるアドレス指定が可能な起動メモリ領域に優先して読み出される、データ転送の指示情報を含む1次ローダを記憶する第1の記憶部と、前記1次ローダによる前記データ転送指示を受けて前記起動メモリ領域に順次分割された分割制御データとして読み出される少なくとも割込ベクタテーブル及び2次ローダを含む所定の制御データと前記分割制御データが前記起動メモリ領域に書き込まれる際の書込位置となるアドレスデータとを記憶する第2の記憶部と、前記起動メモリ領域への読出後に起動される前記1次ローダから前記データ転送の指示を受けて、前記第2の記憶部から前記各分割制御データを対応する前記アドレスデータに従って前記コントローラを経由して前記主メモリに順番に読み出すデータ転送部と、前記データ転送処理の終了を受けて前記ハードウエア割込指示信号を前記起動メモリ領域に読み出された前記割込ベクタテーブルに遷移し、前記2次ローダを起動させるべくハードウエア割込を発行させるハードウエア割込指示部とを備えたことを特徴とするものである。
また、本発明に係る外部ブート方法は、CPU及び前記CPUが実行するプログラムが展開される主メモリを備えると共に、前記主メモリと外部との間でハードウエアによるデータ通信を行う、チップセット内のコントローラを備えた情報処理装置を、前記コントローラを経由して起動に要するデータを前記主メモリに書き込んで起動させる外部ブート方法であって、前記情報処理装置のBIOSが前記CPUによって実行されることによって前記主メモリの一部であるアドレス指定が可能な起動メモリ領域に優先して読み出される、データ転送の指示情報を含む1次ローダを記憶する第1の記憶部と、前記1次ローダによる前記データ転送指示を受けて前記起動メモリ領域に順次分割された分割制御データとして読み出される少なくとも割込ベクタテーブル及び2次ローダを含む所定の制御データと前記分割制御データが前記起動メモリ領域に書き込まれる際の書込位置となるアドレスデータとを記憶する第2の記憶部とを備え、前記起動メモリ領域への読出後に起動される前記1次ローダから前記データ転送の指示を受けて、前記第2の記憶部から前記各分割制御データを対応する前記アドレスデータに従って前記コントローラを経由して前記主メモリに順番に読み出すデータ転送ステップと、前記データ転送処理の終了を受けて前記ハードウエア割込指示信号を前記起動メモリ領域に読み出された前記割込ベクタテーブルに遷移し、前記2次ローダを起動させるべくハードウエア割込を発行させるハードウエア割込指示ステップとを備えたことを特徴とするものである。
これらの発明によれば、パーソナルコンピュータ(PC)等の情報処理装置に、外部ブートデバイス、例えばUSB(Universal Serial Bus)メモリが装着された状態で、情報処理装置の電源が投入されると、情報処理装置は操作可能な状態になるようにCPU等によって起動(ブート)される。なお、外部ブートデバイスは、ブート処理専用デバイスでもよいし、ブート処理を可能にする外部デバイスであってもよい。
外部ブートデバイスには、外部MBR等の1次ローダと、1次ローダによってロードされる制御データとが少なくとも記憶されている。情報処理装置は、電源投入後、CPUが動作可能な状態になって、まずBIOSのプログラムの起動を行う。BIOSのPOST(Power On Self Test)処理によって、優先的に外部ブートデバイスが選択される。そして、外部ブートデバイスの所定セクタ、先頭セクタに書き込まれている外部MBR(Outer Master BootRecord)の1次ローダが情報処理装置側に読み込まれ、情報処理装置の起動メモリ領域内の所定域に書き込まれる。次いで、CPUは、制御を起動プログラムである1次ローダに渡す。
1次ローダは、最初のアドレスデータを作成し、あるいは外部ブートデバイスから取り込むなどして、起動メモリ領域内の所定位置に書き込む。かかるデータ転送のための環境設定がなされ、さらに1次ローダからデータ転送指示が発せられると、CPUの制御を受けることなく、この指示信号を受けて、チップセット内のコントローラを経由した、データ転送部によるデータ転送処理が開始される。すなわち、外部ブートデバイスの第2の記憶部に書き込まれている制御データが、分割制御データとして、例えばインターラプト転送(interrupt transfer)によってコントローラを経由して情報処理装置に読み出され、物理アドレスであるアドレスデータに従って起動メモリ領域の所定の位置に順次書き込まれる。このデータ転送処理は、CPUの制御を受けることはない。そして、データ転送処理の終了、例えば次に転送するデータがない(1回分で転送するデータが所定のデータ量に達しない場合も含む)とか、所定回数分の転送が終了したとかの状況が生じると、例えばデータ転送の終了フラグが立てられる。この終了フラグは、ハードウエア割込指示部によって、ハードウエア割込指示信号としてコントーラに発行され、このコントローラがハードウエア割込を発行し、起動メモリ領域内の割込ベクタテーブルに制御が遷移される。そして、情報処理装置のCPUによって、例えばOSローダ等の2次ローダが起動され、ここから、CPUの制御によってロード対象プログラム、例えばOSが起動メモリ領域外にロードされることとなる。なお、2次ローダは、OSローダに限定されるものではなく、外部ブートデバイスに予め準備された専用のローダ、特定OSローダ等を起動メモリ領域外にロードするためのものでもよい。例えば、専用のOSローダは、起動メモリ領域外で、かつ情報処理端末内のハードディスク等からロードされる汎用のOSのロード領域と区別された領域にロードされるようにすればよい。この専用のOSローダによって、汎用のOSを監視することで、よりセキュアな状態での汎用のOSのロードが可能となる。
このように、外部ブートデバイスの1次ローダによってCPUの制御を離れた状態で、情報処理端末の起動メモリ領域全域に対して、外部ブートデバイスから制御データを転送して書き込ませることで、BIOSレベルでのウイルス等のマルウエアの動きが抑制される。すなわち、仮にウイルス等のマルウエアがBIOSに潜伏しており、あるいはBIOSの起動から1次ローダの起動までの間に、仮にウイルス等のマルウエアがCPUの制御を乗っ取って起動メモリ領域に危険なデータを複製等したとしても、その直後にCPUの制御とは無関係に起動メモリ領域全体を外部ブートデバイスからの所定データで書き替えるので、前記複製等された危険なデータは一律に削除されることとなる。
請求項2に記載の発明は、請求項1に記載の外部ブートデバイスにおいて、前記制御データは、前記起動メモリ領域の記憶容量分に相当するデータ量を有することを特徴とする。
この構成によれば、制御データ、すなわち分割制御データによって起動メモリ領域の全域が更新可能となる。
請求項3に記載の発明は、請求項2に記載の外部ブートデバイスにおいて、前記起動メモリ領域は、先頭から1Mbyteまでの領域であることを特徴とする。この構成によれば、情報処理装置の起動時に主メモリに展開されるデータの範囲である1MBまでの範囲を外部ブートデバイスからのデータで埋め尽くすので、当該領域にマルウエア等が潜伏していたとしても、これを消去することが可能となる。
請求項4に記載の発明は、請求項1〜3のいずれかに記載の外部ブートデバイスにおいて、前記分割制御データは、一定のデータ量が設定されているものであることを特徴とする。この構成によれば、各データ転送を一定のデータ量で行うので、送信処理及び書込位置の設定が容易となる。
請求項5に記載の発明は、請求項4に記載の外部ブートデバイスにおいて、前記分割制御データは、前記2次ローダの一部を構成しない少なくとも1つのダミーデータを含むことを特徴とする。この構成によれば、ダミーデータを含めることで、制御データのデータ量を所定量に設定することが可能となる。
請求項6に記載の発明は、請求項4又は5に記載の外部ブートデバイスにおいて、前記2次ローダの一部を構成する分割制御データは、その内部に、順次次に繋がれる前記分割制御データへのジャンプ先のアドレスを含むことを特徴とする。この構成によれば、起動メモリ領域に分散配置された2次ローダのプログラムは連続して実行される。
請求項7に記載の発明は、請求項4〜6のいずれかに記載の外部ブートデバイスにおいて、前記2次ローダは、ロード対象データを前記主メモリの前記起動メモリ領域以上の領域にロードするものであることを特徴とする。この構成によれば、ロード対象データが2次ローダの配置領域以外にロードされるので、2次ローダがロード対象データによって書き替えられることがなく、2次ローダは確実に実行される。
請求項8に記載の発明は、請求項1〜7のいずれかに記載の外部ブートデバイスにおいて、前記アドレスデータは、予め設定された複数のアドレスデータずつに分割された分割アドレステーブルとされ、前記データ転送部は、1の前記分割アドレステーブルに含まれるアドレスデータに対応する分割制御データが読み出される毎に、次の分割アドレステーブルを前記主メモリに読み出すものであることを特徴とする。この構成によれば、アドレスデータも所定数ずつ分割して分割制御データの読み出しと関連させて主メモリに転送されるので、分散転送が可能となる。
請求項9に記載の発明は、請求項8に記載の外部ブートデバイスにおいて、前記各分割アドレステーブルは、テーブルの最後尾に次の前記分割アドレステーブルの書込位置であるアドレスを指定するアドレス情報を有することを特徴とする。この構成によれば、分割アドレステーブルは順次、指定したアドレスに展開される。
請求項10に記載の発明は、請求項1〜9のいずれかに記載の外部ブートデバイスにおいて、前記分割制御データの読み出し順の設定、及び前記分割制御データの書込位置となる前記アドレスデータの並び替えの少なくとも一方を行う転送順設定手段を備えていることを特徴とする。この構成によれば、主メモリに書き込まれるデータの分散性をより高いものとすることが可能となる。
請求項11に記載の発明は、請求項10に記載の外部ブートデバイスにおいて、前記転送順設定手段は、1番目の前記分割アドレステーブルの最後尾以外のアドレスに対応する分割制御データにダミーデータを対応付けていることを特徴とする。この構成によれば、最初に展開される複数のデータがダミーデータであるので、マルウエアによる改竄の機会を抑制できる。
請求項12に記載の発明は、請求項10又は11に記載の外部ブートデバイスにおいて、前記転送データ設定手段は、2番目の前記分割アドレステーブルの先頭アドレスに割込ベクタテーブルを対応付けていることを特徴とする。この構成によれば、ダミーデータの次に割込ベクタテーブルを配置することで、マルウエア用の割込ベクタを可及的に早く書き替えることができ、その分、マルウエアの動きが抑制される。
請求項13に記載の発明は、請求項10〜12のいずれかに記載の外部ブートデバイスにおいて、前記転送データ設定手段は、2番目の前記分割アドレステーブル以降の各分割アドレステーブルを前記主メモリ内の前記起動メモリ領域を超えた領域に読み出すようにアドレス情報を設定することを特徴とする。この構成によれば、ブート中は、マルウエアがCPUの制御を奪ったとしても、この間は、リアルモードであり、CPUでは起動メモリ領域を超えた領域はアドレス指定できないため、2番目の前記分割アドレステーブルのアドレスデータを改竄することはできない。
請求項14に記載の発明は、請求項10〜13のいずれかに記載の外部ブートデバイスにおいて、2番目の前記分割アドレステーブル以降の各分割アドレステーブルに対して、それぞれ異なるアドレス情報が設定されていることを特徴とする。この構成によれば、分割アドレステーブルに対する分散配置性が向上する。
請求項15に記載の発明は、請求項1〜14のいずれかに記載の外部ブートデバイスにおいて、前記データ転送部は、前記データ転送を、前記コントローラを経由して前記主メモリとの間でインターラプト転送によって行うことを特徴とする。この構成によれば、インターラプト転送中は、CPUの制御によるデータ転送はできないから、マルウエアがCPUの制御を乗っ取っても、主メモリに対するデータの入出力はできない。
請求項16に記載の発明は、請求項15に記載の外部ブートデバイスにおいて、ハードウエア割込指示部は、前記インターラプト転送における最後の分割制御データの転送動作を受けて前記ハードウエア割込指示信号の出力動作を行うことを特徴とする請求項15に記載の外部ブートデバイス。この構成によれば、コントローラによるデータ転送の終了後にCPUに制御を渡すことなく、直ちにハードウエア割込を実行することで、マルウエアの動作が確実に抑制される。
本発明によれば、外部ブートによってマルウエアの動きを抑止することができる。
本発明の一実施形態に係る外部ブートデバイスが適用されるネットワーク通信システムを示す概要図である。 端末と外部ブートデバイスの基本的な構成の一例を示すブロック図である。 端末及び外部ブートデバイスの内、主にブートに関連する機能部を示すブロック図である。 RAMへのデータ展開手順を説明するための図である。 USBメモリが装着された状態での端末のCPUによって実行されるBIOSの起動処理の手順を説明するフローチャートである。 端末のCPUによって実行される外部MBRのブート処理の手順を説明するフローチャートである。 USBメモリのCPUによって実行されるインターラプト転送順変動処理の手順を説明するフローチャートである。 USBメモリのCPUによって実行されるインターラプト転送順変動処理の手順を説明するフローチャートである。 USBメモリのCPUによって実行されるインターラプト転送準備処理の手順を説明するフローチャートである。 端末のUSBホストコントローラとUSBメモリのUSBターゲットコントローラとによって実行されるインターラプト転送の動作を説明するタイムチャート図である。
図1は、本発明の一実施形態に係る外部ブートデバイスが適用されるネットワーク通信システムを示す概要図である。図1に示すネットワーク通信システムは、例えばパーソナルコンピュータを内蔵する情報処理装置の一例である端末1と、この端末1に接続可能な外部ブートデバイスの一例としてのUSB(UniversalSerial Bus)メモリ2と、インターネット等のネットワーク3とを備えている。端末1はプロバイダ(ISP)4を介してネットワーク3と接続されている。本実施形態では、端末1はネットワーク3に接続可能なもので、また、USBメモリ2が装着された状態では、後述するようにUSBメモリ2を経由してネットワーク3と接続される構成を有する。ネットワーク3上には複数のISP4が配設されており、各ISP4には、1又は複数の端末1や各種の情報を提供する図略のWebサイトが接続されている。USBメモリ2は、例えば、端末1からの操作を通して所定のサービスの提供を受ける権限を持つ会員として登録を受ける際に支給される。USBメモリ2は、略直方体形状の筐体内にマザーボード(図略)を備えており、マザーボード上には各種の回路素子及び半導体素子が搭載されている。USBメモリ2は、内部の記憶部に、固体(自分自身)を識別する情報、所持者となる会員を識別する情報及びその他の情報が記録されている。USBメモリ2の構成及び機能等に関しては後述する。
本ネットワーク3には、ISP4を介して、1又は所定数の会員サーバ5及び複数の取引先端末6が接続されている(図1では、各々1つが代表して記載されている。)。会員サーバ5は、端末1を所有する乃至は操作を支配し得る会員に関する適宜な情報、例えば会員の氏名、名称、電子メールアドレス、住所等の会員情報等を会員単位で記憶するものである。取引先端末6は、クライアントである各端末1からの取引要求に対する処理、例えば電子決済による処理、取引情報を記憶しかつ、取引に関連する履歴情報の管理を行うものである。会員サーバ5には、前記会員情報の他、必要に応じて端末1に提供可能な情報、例えば会員に提供するサービスを実行する上で必要な処理ソフトウエア、例えば所要の書類を作成するための書類作成プログラムとか、さらには大容量サーバに端末1毎の取引内容及び履歴情報が記憶(保管及び管理)されていてもよい。
なお、本発明におけるネットワーク通信システムは、以下の態様が一例として採用可能である。例えば、端末1は、送信対象のデータに一般的な処理を施してインターネット回線上を送信する汎用端末として使用する場合と、送信対象のデータに特定の処理を施してインターネット回線上を送信する専用端末として使用する場合とを、後述するようにUSBメモリ2によるブートの有無によって切り替え使用可能な態様としている。端末1内には、例えば汎用端末として使用する汎用モードの場合、一般的な文書や図形の作成ソフトウエアを利用しての情報の作成、加工、記憶、更に通信用のソフトウエアを利用しての情報の送受信等の一般的な各処理を実行するプログラムファイル(汎用AP(application program)という)が格納されている。一方、USBメモリ2内には、特定のアプリケーションソフトウエアの実行に関連する処理を行う特定モードのプログラムファイル(特定APという)が記憶されている。汎用APは、端末1内の元々のMBR乃至はローダによって読み出されるOSによって動作可能にされるものであり、これに対し、特定APは、USBメモリ2内の2次ローダによって読み出されるOS(特定OSという)によって動作可能にされるものである。より具体的には、会員間である消費者、商店及び企業等の端末1には、特定APとして、商品やサービスの売買、見積もり乃至は請求、入出金に関する(いわゆる商取引に関する)各書類の作成と通信とを行うソフトウエア、及び必要に応じて所定の認証処理のソフトウエアが、ブート後にUSBメモリ2からロードされる。すなわち、端末1は、特定APによって、一般的な商取引における決済、例えば業者店舗からの請求書の発行、受領や、購買者側から請求書発行元の契約金融機関の口座への入金(すなわち支払い)指示書、その受領書の発行の他、電子決済の如何を問わず種々の電子書面での送受信処理を可能とするものである。特定APは、各種書類をテキスト形式の、またバイナリー形式の電子ファイルとして作成可能である。電子ファイルは、例えば会員サーバ5を中継して(あるいは並行して)端末1間で授受される。各金融機関の端末1には、消費者や企業の端末1からの金融的な決済書面に従った決済指示処理(金融機関間での決済処理の指令等)を行う特定APもインストールされている。登録会員毎に固有の情報が書き込まれたUSBメモリ2が配布される。会員はサービスの提供を受ける場合、このUSBメモリ2を端末1のUSBポートに差し込み、少なくともUSBの正当性の認証処理を、好ましくはさらに個人認証(USBメモリ2の正当所持者であることの認証)処理を受けたことを条件としている。
会員サーバ5は、各会員のファイル送受信履歴やそのファイル類等を管理用に記憶する記憶部を備えている。会員サーバ5は、認証機能を備えていてもよく、この場合、認証機能は、会員サーバ5と端末1との間で授受されるファイル、すなわちパケットを閲覧して、会員の正当性の有無の認証を行う態様としてもよい。
また、本ネットワーク通信システムは、他に種々の適用例が考えられる。例えば秘密情報を作成、保管管理する、例えば公的乃至は準公的(民間含む)な機関である団体組織(国、自治体、協会、組合等含む)外にある端末1との間における情報通信・管理体制に適用する例を挙げることができる。団体組織外にある端末との間における情報通信としては、例えば証明書の発行、申請書の発送などが想定される。
なお、TCP/IP(transmissioncontrol protocol/ internet protocol)規約に沿って形成されたパケットによって文書ファイルの送受信を行う場合、受信したパケットを元のファイルに戻したり、送信予定のファイルをパケットに置換して送信したりする。さらに、送信される各パケットのヘッダには、送信元である端末1のグローバルのIPアドレス、送信先である他の端末及び会員サーバのグローバルのIPアドレスが含まれる。
図2は、端末と外部ブートデバイスの基本的な構成の一例を示すブロック図である。端末1は、図2に示すように、それぞれのチップセット上に、制御手段としてのCPU(Central Processing Unit)11、MCH(Memory Controller Hub)12及びICH(I/O Controller Hub)13という公知の構成を備えている。チップセットとは、図略のマザーボードを構成する主要部品で、CPU11や各種メモリ14,15、その他ハードディスク(HDD16)や、図略のCD−ROM等、マザーボードに繋がっているあらゆる部品間のデータのやり取りをコントロールする回路群である。MCH12は、メモリとCPU11との接続を担う機能を持ったチップセットで、32ビット(あるいは64ビット)で動作する構成とされている。ICH13は、USBメモリ2等の外部デバイスを他の構成要素と接続させる機能を持ったチップセットで、32ビット(あるいは64ビット)で動作する構成とされている。端末1と外部ブートデバイス、ここではUSBメモリ2との間のデータの授受は、このICH13、MCH12を介して行われる。また、ICH13には、USBメモリ2と具体的にデータの送受を行う、ハードウエアからなるUSBホストコントローラ131が形成されている。なお、MCH12、ICH13は32ビット等で構成されていることから、物理アドレスとして1MBを超えてアクセスすることが可能となる。
RAM(Random Access Memory)14は、主メモリとして機能し、所定の記憶容量、例えば4GB(なお、Bはbyteの略称)を有するものである。RAM14は、起動時のワークエリアとして機能する起動メモリ領域141、さらに通常処理を実行するためのワークエリアを有する。起動メモリ領域141は、所定の記憶容量、ここではアドレスライン20ビット仕様、すなわち1MByte(なお、正確には、1MByte+64Kbyteであるが、一般的表記を参照し、また記載の便宜上、ここでは、1MByteと記述している。)を有する領域である。フラッシュROM15は、BIOS(Basic Input/Output system)プログラムを記憶するものである。ハードディスク(HDD)16は、端末1側のMBR、汎用OSローダ、汎用OS、汎用AP等の各プログラムを記憶するものである。RAM14には、MCH12を介してCPU11及びICH13が、さらにフラッシュROM15、HDD16も接続されている。また、CPU11には、操作者が必要な指令や情報を入力するテンキーやマウス等を備える操作部17及び画像を表示する表示部18が接続されている。表示部18は、入力情報の確認のための表示や通信内容の表示のために用いられる。
本実施形態では、BIOSは、外部ブートデバイスであるUSBメモリ2が優先的に指定されるように設定されている。なお、指定の優先順は、別途備えられたCMOS(Complementary MetalOxide Semiconductor)に書き替え可能に保存されている。
図3は、端末及び外部ブートデバイスの内、主にブートに関連する機能部を示すブロック図である。図4は、RAM14へのデータ展開手順を説明するための図である。CPU11は、RAM14に展開されたプログラムを実行することによって、電源投入後の端末1の起動を行わせる起動処理部111、設定されたモード(汎用モード、あるいは特定モード)で操作部17によって文章作成等の情報作成処理乃至はその類似処理(例えば図表の作成)等を行う情報処理部112、作成した情報ファイルあるいは保管している情報ファイルを所望先へ送信するネットワーク通信処理部113として機能する。情報処理部112は汎用モード、特定モードにおいて、それぞれの汎用AP、特定APに従って情報の処理を行う。ネットワーク通信処理部113は、本実施形態では後述するように、汎用モードにおいて利用される。なお、公知のように、各処理部111〜113における実際の情報処理は、RAM14内での演算処理を含めて行われる。
USBメモリ2は、端末1に装着された状態で、USBターゲットとして位置付けられる。USBメモリ2は、所定のデータ類を記憶する記憶部21、ターゲット側のデータ転送処理を実行するハードウエア構成であるUSBターゲットコントローラ22、USBターゲットコントローラ22と協働して所定の動作、典型的にはデータ転送の準備に関連する各種処理を実行するCPU23、外部ネットワークとの通信を制御するためのネットワーク通信処理部24、及び外部ネットワークと通信するためのNIC(Network Interface Card)25を備えている。
記憶部21は、第1記憶部211〜第4記憶部214を有する。第1記憶部211は、外部MBR1411(すなわち外部マスターブートレコード:1次ローダ)が記憶されるものである。外部MBR1411は、後述するように、BIOSブート時にBIOSの処理によって起動メモリ領域141の所定位置(例えばアドレス“0x07C00”)に書き込まれるものである。
第2記憶部212は、転送ディスクリプタ(Transfer Descriptors)データ(以下、TDデータ(アドレスデータ)という。)と、ダミーデータ、割込ベクタテーブルのデータ、及び2次ローダとしての例えば特定OSローダを含む制御データとが記憶されるものである。詳細は後述するが、本実施形態では、第2の記憶部212に記憶されている制御データは、予め所定のデータ量(例えば1KB(Bはbyteの略称))ずつに分割された分割制御データとされている。2次ローダは、一般的には1MBより少ないデータ量を有するものである。制御データは、ダミーデータの数を調整することで後述するように1MBを有するものとされている。
TDデータは、各分割制御データが起動メモリ領域141に転送され、展開される際の書込位置(書込アドレス)の一覧を示すアドレスデータである。アドレスデータは、それぞれ所定のデータ量を有する分割制御データをRAM14の起動メモリ領域141に展開して、起動メモリ領域141上を制御データで埋め尽くすように書き込ませるためのものである。また、このアドレスデータは、一度に起動メモリ領域141の所定アドレスに転送し、展開する方式、また1個ずつを転送する方式ではなく、本実施形態では、予め設定されたデータ量乃至はデータ数を有する(ここでは所定個の、例えば5個すなわち5行分のアドレスデータを有する。(図4の番号1412を参照))所定数の分割TDデータテーブルに分割される。分割によって形成された分割TDデータテーブル1412の最下行(最後尾)には、降順に従って、1番目の分割TDデータテーブルTD[1]から、最後から1つ手前の分割TDデータテーブルTD[n-1]まで、順次次のテーブルの書込アドレスが、後述するようにして設定される。なお、1番目の分割TDデータテーブルTD[1]は外部MBRから作成される態様でもよい。図4の例を参照すると、分割TDデータテーブルTD[1]の最下行には、例えばアドレス“0x40000”が設定され、分割TDデータテーブルTD[2]が、当該アドレス“0x40000”を基準に書き込まれている。このように順次次の分割TDデータテーブルTD[i](i:1〜n-1)のアドレスをテーブルの最下行に設定することで、最後の分割TDデータテーブルTD[n]までの書込が可能となる。なお、本実施例では、後述するように、2番目の分割TDデータテーブルTD[2]以降は全て起動メモリ領域141を超えた領域に展開している。
割込ベクタテーブル1414は、種々の割込が発生した場合に処理するプログラムの先頭のアドレスがそれぞれ対応する所定のINT位置に格納されているテーブル(対応表)をいう。割込ベクタテーブル1414のデータは、後述するハードウエア割込信号の入力を受け付けるものである。なお、割込ベクタテーブル1414は所定数に分割してもよいが、本実施形態では、割込ベクタテーブル1414のデータ量が1回分の転送データ量に相当する場合には、分割せずにそのままとしている。特定OSローダ(2次ローダ)のプログラムは、ハードウエア割込信号を受け付ける、割込ベクタテーブル1414のINT“XX”に書き込まれたアドレスデータに、(特定OSローダのプログラムの最初のシーケンス部分に該当する)先頭の分割制御データが配置されることで、プログラムの全体が起動メモリ領域141に展開されている。また、分割制御データの読み出しに関しては後述する。なお、分割制御データの一部を構成するダミーデータは、例えば“0”とか“1”を示す簡易なデータであってもよいが、マルウエア対策として、“0”と“1”とが複雑に混在した無意味なコードからなるものでもよい。
第3記憶部213は、RAM14上に展開された特定OSローダ(2次ローダ)によってロードされる特定OS、及び特定OSの動作環境で実行される特定APの各プログラムが記憶されるものである。第4記憶部214は、前述した会員情報や個体識別情報等が記憶されるものである。
USBターゲットコントローラ22は、起動時には、ハードウエアによるデータ転送方式、例えば後述するインターラプト転送、すなわちUSBホストコントローラ131からの指示に応じて動作するようになっている。インターラプト転送とは、より詳細には、USBターゲットコントローラ22が、USBホストコントローラ131からの周期的(例えば10msec毎)なポーリング信号の受信を待機し、受信の都度、ワークメモリであるRAM23Bの所定位置に転送予定のデータがあれば、このデータをUSBホストコントローラ131に読み出すものである。このデータ転送は、コントローラ22,131によって行われるものであって、プログラムを実行することによって行われるものではないため、CPU11の制御を受けない。
CPU23は、起動時においてUSBターゲットコントローラ22によるデータ転送動作を支援するものである。CPU23は、ROM23Aに格納された、ワークメモリ(RAM)23Bの所定領域に展開される処理プログラムを実行することによって、第2記憶部212に記憶されているデータを用いて所定のサイズの分割制御データに、後述するように加工(作成)する転送データ処理部231、分割制御データの転送順を設定し、転送予定のデータをRAM23Bの所定域に展開する転送順設定部232、設定されたデータ転送順に従って転送予定のデータ単位でRAM23Bの読み出し位置に準備(書き込む)する転送データ準備処理部233、データ転送の終了の有無を判断する転送終了処理部234、及び2次ローダ処理部235として機能する。
転送データ処理部231は、第2記憶部212に記憶されているデータである制御データ(ダミーデータ、割込ベクタテーブル及び特定OSローダ(2次ローダ))を所定のデータサイズ、例えば1KBの大きさのデータサイズに分割して分割制御データを作成して、第2記憶部212に書き込む処理を実行する。分割制御データは、所定数に分割された特定OSローダと、1又は所定数のダミーデータと、(本実施形態では分割されないままの、1KBからなる)割込ベクタテーブルとからなり、全体として起動メモリ領域141の容量に対応する。なお、分割制御データ自体は、1度作成すれば、固定的に使用され得るものであることから、情報処理装置1の起動毎に作成処理する方法に代えて、最初に1回だけ作成する態様でもよい。あるいは、作成された結果の分割制御データを第2記憶部212に格納する態様としてもよく、この場合には転送データ処理部231は必ずしも必要ではない。
転送順設定部232は、TDデータを構成する各アドレスデータの順番と、転送データ処理部231で作成された分割制御データの転送順及び転送位置とを、所定のタイミングで、好ましくは端末1の外部ブート毎に変更する設定を行うものである。TDデータの順番の変更(並び替え)及び分割制御データの転送順の変更は、外部ブート毎に行わなくてもよいが、ここではその都度行うようにして、より高いセキュリティを確保している。また、かかる変更処理は、外部ブートの開始時点でもよいし、直前(前回)の外部ブート終了後に前もって設定する態様でもよい。
前記変更やアドレスデータの並び替えの方法は、変動条件によって設定される。ここで、図4を参照して、まず、TDデータについて説明する。TDデータは、前述したように分割制御データのそれぞれの転送先を指し示すアドレスのリスト(テーブル)である。このTDデータをそのままの形で1回の転送動作で起動メモリ領域141に読み出すことは可能であるが、本実施形態では、所定サイズずつ、例えば1KBずつに分割して、分割TDデータテーブルとして転送するようにしている。この結果、後述するように、分割TDデータテーブル自身も分割制御データと同列に扱ってインターラプト転送を可能にしている。なお、前述したように、図4の例では、外部MBR1411によって作成された分割TDデータテーブルTD[1]は、外部MBR1411によって起動メモリ領域141の所定アドレス、例えばアドレス“0x01000”を基準にした領域に展開され、2番目以降の分割TDデータテーブルTD[2]、…は、USBメモリ2から読み出されて起動メモリ領域141を超えた領域(例えば、分割TDデータテーブルTD[2]は、アドレス“0x40000”)に展開されている。なお、分割TDデータテーブルTD[1]の展開位置は、外部ブート毎に固定でもよいが、外部MBR1411によって、無作為に、あるいは所定のルールに従って変更させる態様でもよい。
転送順設定部232は、TDデータ内の各アドレスデータに対して、外部ブートの都度、例えば無作為にあるいは所定のルールでシャッフルするなどして並び替えを行うものである。また、転送順設定部232は、並び替え後のTDデータに対して、先頭側、すなわち転送順に沿って、所定数ずつ、本実施形態では4個ずつのアドレスデータに分割して、これら4個のアドレスデータを含む分割TDデータテーブルTD[i]をそれぞれ作成する。より詳細には、4個のアドレスデータを各分割TDデータテーブルTD[i]の1行目から4行目に対応付け、かつ5行目に、次の分割TDデータテーブルTD[i+1]の展開先となるアドレスデータを設定する。かかる処理によって、分割TDデータテーブルTD[i]が作成される。
次に、分割制御データの転送順及び転送位置の変動について説明する。各分割制御データは、ダミーデータを除けば、特定OSローダ(プログラム)のシーケンスのそれぞれの一部を構成するデータと、自身を識別するための例えば連番情報等の識別情報とを有している。さらに、特定OSローダのそれぞれの一部を構成する各分割制御データの中には、RAM14に分散して展開された場合に特定OSローダ内における次のシーケンスとなる分割制御データへジャンプする位置を特定するアドレス情報が、後述するように転送順設定部232によって付加されるようになっている。これによって分割制御データの転送順、転送位置が変更されても、シーケンス通りに特定OSローダが動作可能になるようにされている。
転送順設定部232は、新たに作成された各分割TDデータテーブルTD[i]の1行目から4行目の各アドレスデータに対して(あるいは新たに並び替えられたTDデータの各アドレスデータに対して)、分割制御データの新たな対応付けを行う。所要数のダミーデータを補充することで、全てのアドレスデータに対して分割制御データを割り振ることができる。さらに、転送順設定部232は、少なくとも特定OSローダを構成する分割制御データの全てに対して、その次のシーケンスに対応する(識別情報を有する)分割制御データに割り当てられた、新たな転送先のアドレスデータを含める(書き込む)処理、すなわちジャンプ可能処理を行う。なお、上述したTDデータ及び分割制御データに対する処理は、第2記憶部212に記憶されている各データを読み出して行われ、処理後に例えばRAM23Bの所定のメモリエリアに一時的に保管される。
この結果、RAM14に展開される分割制御データの転送順及び転送位置の変動に加えて、転送位置の指定順も起動の都度変動されることになる。なお、外部ブートにおける分割制御データの転送順、転送位置及び転送位置の指定順の各変動は、少なくともいずれか1つ以上を実行することが好ましく、いずれか2つ乃至は3つ全てを実行することがセキュリティ上はさらに好ましい。また、TDデータの各アドレスデータを並び替える処理と、分割制御データとTDデータの各アドレスデータとの割り振り処理とは少なくとも一方のみ行う態様としてもよい。
また、転送順設定部232は、前述した少なくとも1つ以上の変動処理を、無作為にあるいは所定のルールに基づいて行う。所定のルールとしては、第4記憶部214に書き込まれている会員情報や個体識別情報の少なくとも一方を利用したもの、さらには必要に応じてUSBメモリ2が計時部を備えている態様では時間情報や、通信履歴に関する情報を記憶している態様では通信履歴情報を加味したものである。
そして、転送順設定部232は、新たに並び替えたアドレスデータ順に沿って作成した各分割TDデータテーブルと、各アドレス順に対応付けて作成した新たな各分割制御データとを、RAM23B内の所定位置に一時的に準備する。なお、前述したように、転送順設定部232は、分割TDデータテーブルTD[1]を起動メモリ領域141内の所定位置に設定すると共に、分割TDデータテーブルTD[1]内の1行目から4行目のアドレスデータに対応する分割制御データにダミーデータを割り当てている。すなわち、転送順設定部232は、外部ブートの毎に、分割TDデータテーブルTD[1]内の1行目から4行目のアドレスデータについては変動を行う一方、1行目から4行目のアドレスデータに対応する分割制御データとしてはダミーデータを変動させて、あるいは固定的に割り当てている。また、分割TDデータテーブルTD[1]内の5行目のアドレスデータ、すなわち分割TDデータテーブルTD[2]内の展開先についても、固定する態様の他、変動させる態様でもよい。
転送順は、1番目の分割TDデータテーブルTD[1]が先頭として設定される。この1番目の分割TDデータテーブルTD[1]は、外部MBR1411で作成されるようにしているが、転送順設定部232で作成し、例えば外部MBR1411がRAM14に転送する態様であってもよい。あるいは、分割TDデータテーブルTD[1]の配置アドレスのみを外部MBRが作成し、これに基づいてインターラプト転送開始直後に分割TDデータテーブルTD[1]を取り込む態様としてもよい。また、外部MBR1411で分割TDデータテーブルTD[1]を作成する場合、転送順設定部232で作成した2番目の分割TDデータテーブルTD[2]の配置アドレスと一致させる必要があるが、これは、2番目の分割TDデータテーブルTD[2]の配置アドレスを固定化する態様、あるいは両者共通のルールでTDデータの並び替えを行うようにすればよい。
転送データ準備処理部233は、新たに作成された分割TDデータテーブルTD[2]、…分割TDデータテーブルTD[n]と、新たに作成された分割制御データとから、転送順に従った並び替えを行う。本実施例では、分割TDデータテーブルTD[1]の1行目のアドレスデータの位置に転送される分割制御データ(本実施例ではダミーデータ1413(図4参照))、分割TDデータテーブルTD[1]の2行目のアドレスデータの位置に転送される分割制御データ(本実施例ではダミーデータ)、…、分割TDデータテーブルTD[1]の4行目のアドレスデータの位置に転送される分割制御データ(本実施例ではダミーデータ)、分割TDデータテーブルTD[1]の5行目のアドレスデータの位置に転送される分割TDデータテーブルTD[2]、分割TDデータテーブルTD[2]の1行目のアドレスデータの位置に転送される分割制御データ(本実施例では割込ベクタテーブル1414(図4参照))、分割TDデータテーブルTD[2]の2行目のアドレスデータの位置に転送される分割制御データ、…、分割TDデータテーブルTD[n]の5行目のアドレスデータの位置に転送される分割制御データの順番である。このように、データ転送においては、分割TDデータテーブルTD[1]と分割制御データとを分割データとして同列に扱っている。なお、分割データの並び替えはデータ自体を転送順に並び替えて一時的に保管する態様でもよいし、各分割データに転送順情報を付し、転送時に順次転送位置に移す態様としてもよい。なお、分割TDデータテーブルTD[2]の1行目のアドレスデータの位置に割込ベクタテーブル1414を配置するのは、通常、割込ベクタテーブル1414の位置には、仮にマルウエアが存在した場合に、この領域にマルウエア用の割込ベクタがマルウエアによって作成されることから、インターラプト転送の可及的に早い段階で当該領域を正規の割込ベクタテーブルで更新することで、マルウエア用の割込ベクタを素速く削除するためである。
また、転送データ準備処理部233は、順次、次の転送予定の分割データをRAM23Bの所定位置に移し替えて、次のポーリング信号が受信されるまで待機させるものである。転送データ準備処理部233は、ポーリング信号の受信周期に応じて、設定された転送順に従って分割データを準備する。RAM23Bの所定位置に準備された分割データは、ポーリング信号を受信する毎にUSBターゲットコントローラ22によって読み取られ、USBホストコントローラ131側へ取り込まれる。ポーリング信号毎に、かかる動作を繰り返すことで、USBメモリ2からの転送データがRAM14に書き込まれる(埋め込まれる)。なお、USBターゲットコントローラ22から読み出される分割データのうち、分割TDデータテーブルTD[2]以降の分割TDデータテーブルは起動メモリ領域141外であって、好ましくはそれぞれ異なる位置に読み出される一方、分割制御データは全て起動メモリ領域141内に読み出される。
USBホストコントローラ131からの物理アドレス(本実施例では32ビット対応の4GBまで可能)によって分割TDデータテーブルTD[2]以降の分割TDデータテーブルを起動メモリ領域141外に書き込むことで、仮にマルウエアがCPU11を制御して分割TDデータテーブルのデータを書き替えようとしても、リアルモード環境では、チップセット内のセグメントレジスタ内のセグメントデータとオフセットデータから算出されるリニアアドレスによるアクセスでは、1MB以上すなわち起動メモリ領域141外に対するアクセスができないため、複製動作が防止でき、マルウエアの動きを抑止できる。仮に、マルウエアがいわゆるアンリアルモード(Unreal mood)への環境設定を行う場合を考慮しても、環境変更処理等に時間を要することとなって、ポーリング周期内での動きは、結果抑止されることとなる。なお、アンリアルモードとは、リアルモード環境においてデータセグメントレジスタのアクセスリミットを4GBに変更することによって、データアクセスのみ1MB以上、すなわち起動メモリ領域141外に対してアクセスを可能にした特殊な状態を指す。また、分割TDデータテーブルTD[1]に関しては、インターラプト転送での先頭から4個分の分割制御データ、すなわち先頭の1行目〜4行目の分割制御データに全てダミーデータを設定することで書き替えの機会を抑止しているし、書き替えられて起動メモリ領域141に何等かの改変を施したとしても、直後の分割制御データによる起動メモリ領域141の全域への更新によって改変内容は消去されることになる。従って、インターラプト転送前にマルウエア等によってBIOSから起動メモリ領域141への不正な書き込み、仕掛けが仮に施されたとしても、起動メモリ領域141の全域にインターラプト転送によって分割制御データを展開することで全て消去されることとなる。
転送終了処理部234は、最後の転送予定のデータのRAM23Bの所定位置への移し替え(準備)が終了すると、RAM23B内の、あるいは他のメモリからなる制御レジスタに終了フラグをセットする。USBターゲットコントローラ22は、次のポーリング信号を受けたときに、制御レジスタに終了フラグがセットされていると、USBホストコントローラ131にハードウエア割込指示信号を送信する。なお、USBターゲットコントローラ22は、RAM23Bの所定位置に転送すべきデータがない場合、一連の転送処理が終了したとして、ハードウエア割込指示信号を生成して、USBホストコントローラ131に送信するようにしてもよい。
ハードウエア割込指示信号は、起動メモリ領域141の所定アドレスに転送される。すなわち、ハードウエア割込指示信号は、インターラプト転送で起動メモリ領域141に展開された割込ベクタテーブル1414のINT“XX”に転送される。CPU11の制御は、かかるハードウエア割込指示信号、すなわちハードウエア割込有りとして、当該INT“XX”の位置に書き込まれているアドレスにジャンプする。そして、CPU11は、INT“XX”に該当する位置に書き込まれている位置情報、すなわち、特定OSローダ(2次ローダ)のプログラムの内、先頭のシーケンス部分にジャンプして、これを実行し、続いて順次、ジャンプ先のアドレスを参照して、順次展開されている2次ローダの次のシーケンスにジャンプして、それらを次々に実行させる。
2次ローダ処理部235は、端末1側のCPU11によって2次ローダが実行された場合に、第3記憶部213から特定OSをRAM14の1MB以上の領域に読み出すものである。特定OSは必要に応じて特定のAPを読み出す。そして、読み出された特定APによって、前述したように特定モードでの情報処理等が可能となる。2次ローダは、特定OSローダに限らず、汎用OSローダであってもよい。
ネットワーク通信処理部24は、ROM24Aに格納されているプログラムであって、RAM24Bに展開された処理プログラムがCPU23によって実行されることによって、NIC(NetworkInterface Card)25を介してインターネット等の外部ネットワークと通信する処理を行うものである。なお、ROM24AはROM23Aとで構成され、RAM24BはRAM23Bとで構成されたもので、図4では、機能の違いによって別個に表しているものである。NIC25には図略のルータが装備され、乃至はルータとシリアルに接続されている。このルータは、例えば、送信信号乃至は受信信号としての各パケットの所定位置に付加されている送信先を示すアドレス情報が、インターネット用の規約に基づくグローバルIPアドレスか、このグローバルIPアドレスの付し方とは異なる(グローバルIPアドレスとは識別可能な形態である)専用ネットワーク用の、例えばイーサネット(登録商標)用等に準じた所定のローカルIPアドレス(MACアドレス)かを識別するためのアドレス情報(ルーティングテーブルやarp(Address Resolution Protocol)テーブル)の設定を行うものである。パケットは、テーブルと照合されて、アドレスの一致したルートへのみ送信され、これにより伝送路をインターネット経由か、専用ネットワークかにソフトウエア的に切り換えることができる。
ここで、ブートの流れを簡単に説明する。ブート時における情報の流れ及びその手順は、図4中に矢印で示されている。まず、端末1の電源投入を受けて、CPU11は、BIOSを起動し、BIOSの処理によってUSBメモリ2から外部MBR1411を取り込む。外部MBR1411の取込が終了すると、CPU11の処理が外部MBR1411に渡されて、外部MBR1411のマスターブートレコードが1次ローダとして機能する。まず、1番目の分割TDデータテーブルTD[1]1412が作成される(図4の矢印(1))。次に、外部MBR1411は、USBホストコントローラ131に対してインターラプト転送の開始指示(コマンド)を行う(図4の矢印(2))。まず、分割TDデータテーブルTD[1]の1行目のアドレスデータがUSBホストコントローラ131で取得され、当該アドレスデータと1番目に転送される分割データであるダミーデータ1413とがMCH12を経てRAM14に送られて(図4の矢印(3))、当該アドレスに書き込まれる(図4の矢印(4))。以後、CPU11の制御を受けることなく、USBホストコントローラ131とUSBターゲットコントローラ22との間で、USBメモリ2から、分割データを順次取り込むことが可能となり、分割TDデータテーブルTD[1]の5行目のアドレスデータがUSBホストコントローラ131で取得され、当該アドレスデータと5番目に転送される分割データである分割TDデータテーブルTD[2]とがMCH12を経てRAM14に送られて、起動メモリ領域141外の当該アドレス“0x40000”に書き込まれる(図4の矢印(5))。
この分割TDデータテーブルTD[2]の各行のアドレスデータに対応する分割データがUSBメモリ2から順次読み込まれて、起動メモリ領域141に展開される。USBホストコントローラ131は、分割TDデータテーブルTDが転送される毎に、その分割TDデータテーブルに含まれるアドレスデータを一時保管し、次に転送される分割制御データにアドレスデータを対応付けてMCH12に送出するようにしている。MCH12は、転送されてきたデータからアドレスデータを取得し、このアドレスに分割制御データ1415を書き込ませる。
ここでは、分割TDデータテーブルTD[2]の1行目のアドレスデータに対応して割り込みベクタテーブル1414がUSBメモリから読み取られて書き込まれる(図4の矢印(6))。そして、順次、分割TDデータテーブルTD[i]が展開され(図4の矢印(7))、最後の分割TDデータテーブルTD[n]の最下行のアドレスデータに対応する分割データがUSB2から読み込まれ、起動メモリ領域141に展開されると、同時にMCH12経由(CPU11を経由することなく)で、ハードウエア割込指示信号が割込ベクタテーブルのINT“XX”に送信される(図4の矢印(8))。CPU11は、このハードウエア割込指示信号を受けて、割込のコマンドを、分割された特定OSローダの先頭の分割データが展開されている分割制御データ(先頭)1415の基準アドレスにジャンプし(図4の矢印(9))、これによって特定OSローダの実行が開始される。以上の処理によって、インターラプト転送前の起動メモリ領域141に存在するマルウエア等は全て消去される。
図5は、USBメモリが装着された状態での端末1のCPU11によって実行されるBIOSの起動処理の手順を説明するフローチャートである。まず、端末1の電源がオンされ(ステップS1)、すなわちマザーボード上のクロックジェネレータが電源供給を受けてクロックパルスを出力し始めると、メモリや周辺機器のデバイスのチェック(POST処理)が開始される(ステップS3)。次いで、外部デバイスとしてUSBメモリ2が装着されているか否かの判断が、例えば公知のハンドシェイク信号の授受を利用するなどして確認される。ここではUSBメモリ2が装着されているので、判断処理を省略し、USBメモリ2が起動される。すなわち、USBメモリ2が装着されていると、優先順位に従い、BIOS起動ルーチンによってUSBメモリ2のMBR(のマスターブートレコード)が、外部MBR1411として起動メモリ領域141に読み込まれる(ステップS5)。なお、端末1のポートにUSBメモリ2が装着されていなければ(他のポートにも外部デバイスが装着されていなければ)、端末1のHDDからMBRが選択されて読み込まれる。
次いで、外部MBR1411のマスターブートレコードの書き込みが終了したか否かが判断され(ステップS7)、外部MBR1411のマスターブートレコードの書き込みが終了していないのであれば、ステップS5に戻って同様の処理が繰り返される。一方、終了したのであれば、CPU11の制御が外部MBR1411のマスターブートレコードに移される(ステップS9)。
図6は、端末1のCPU11によって実行される外部MBRのブート処理の手順を説明するフローチャートである。まず、外部MBRのプログラムが実行され(ステップS21)、次いで、分割TDデータテーブルTD[1]が作成され、起動メモリ領域141に設定される(ステップS23)。そして、インターラプト転送のための環境設定信号がUSBホストコントローラ131に送出され(ステップS25)、この後、インターラプト転送を開始するコマンドがUSBホストコントローラ131に送出される(ステップS27)。
図7、図8は、USBメモリ2のCPU23によって実行されるインターラプト転送順変動処理の手順を説明するフローチャートである。まず、USBホストコントローラ131からインターラプト転送のための環境設定信号が受信されたか否かが判断される(ステップ#1)。受信されていなければ、本フローを抜ける。一方、環境設定信号が受信されたのであれば、まず、TDデータの並び替えが、前述したように無作為乃至は所定のルールに従って実行される(ステップ#3)。TDデータの並び替え方法は、前述したように、乱数発生を利用する無作為式でもよいし、会員識別情報等、その他、日付、通信履歴等の各種の情報を利用する態様でもよい。これによれば、高い変動性が得られ、さらにUSBメモリ2毎に異なるという点で好ましい。
新たに並び替えられたTDデータは先頭から所定数ずつ、本実施形態では4個ずつ分割されて、それぞれ分割TDデータテーブルTD[i](i=2,3,…n)が作成される(ステップ#5)。より詳細には、これらの各分割TDデータテーブルTD[i]の1〜4行目には、並び替えられた順番でアドレスデータが設定される。なお、本実施形態では、前述したように最初の分割TDデータテーブルTD[1]は外部MBRで作成される態様としている。
次いで、これらの各分割TDデータテーブルTD[i]の5行目に次の分割TDデータテーブルTD[i+1]のアドレスデータが設定される(ステップ#7)。なお、前述したように、2番目の分割TDデータテーブルTD[2]以降の各分割TDデータテーブルの配置位置は予め設定されており、かかる設定済みのアドレスが設定される。但し、各分割TDデータテーブルの配置位置が予め設定されていない態様も考えられ、この場合には、新たに作成された各分割TDデータテーブルTD[i]の配置アドレスを新たに作成して、ステップ#7を実行すればよい。
さらに、本実施形態では、分割TDデータテーブルTD[2]の1行目に分割制御データとして割込ベクタテーブルが設定され(ステップ#9)、続いて、分割TDデータテーブルTD[2]の1行目以外の全ての分割TDデータテーブルの1〜4行目に、分割制御データ(特定OSローダ、ダミーデータ)の割り振りが行われる(ステップ#11)。なお、ステップ#7〜ステップ#11の処理は、特に順番が入れ替わってもよい。
続いて、割り振り後の、特定OSローダを構成する(すなわちダミーデータを除いた)分割制御データの各内部に、次のシーケンスとなる分割制御データの配置アドレスの設定が行われる(ステップ#13)。この配置アドレスの設定処理によって、特定OSローダを分割した分割制御データが起動メモリ領域141で分散配置されても、プログラムのシーケンスに従った処理が実行可能となる。なお、次のシーケンスとなる分割制御データの配置アドレスの設定に代えて、各分割制御データ内に最後の命令として例えばジャンプ命令とそのアドレスを付加する態様でもよい。
そして、かかる配置アドレスの設定処理が施された結果、分割TDデータテーブルTD[i]、及び分割制御データからなる分割データが、転送順(j)に設定される(ステップ#15)、次いで、RAM23Bに一時的に保管される(ステップ#17)。
すなわち、転送順(j)は、分割制御データの1〜4番目(本実施形態では全てダミーデータ)、分割TDデータテーブルTD[2]、分割制御データの5〜8番目(本実施形態では5番目の分割制御データは、割込ベクタテーブル)、分割TDデータテーブルTD[3]、分割制御データの9〜12番目、…、そして最後の分割TDデータテーブルTD[n]、分割制御データの最後の4個となる。
図9は、USBメモリ2のCPU23によって実行されるインターラプト転送準備処理の手順を説明するフローチャートである。まず、データ転送順jが値1にセットされる(ステップ#21)。次いで、j番目の転送順となる分割データがセットされる(ステップ#23)。続いて今回の転送予定の分割データが最後のデータか否かが判断され(ステップ#25)、最後のデータでなければ、j=j+1として転送順が1だけインクリメントされる(ステップ#27)。次いで、次のポーリング信号を待つための所定時間(ポーリング周期)が経過するまで待機する(ステップ#29)。なお、このポーリング周期の間に、RAM23にセットされた分割データがUSBターゲットコントローラ22によってUSBホストコントローラ131側に読み出される。そして、所定時間が経過すると、ステップ#23に戻って、次の転送対象の分割データがセットされる。一方、ステップ#25で、最後のデータであれば、終了フラグがセットされる(ステップ#31)。
図10は、端末1のUSBホストコントローラ131とUSBメモリ2のUSBターゲットコントローラ22とによって実行されるインターラプト転送の動作を説明するタイムチャート図である。
インターラプト転送のコマンドは、外部MBRの実行によって、CPU11、MCH12、ICH13、及びUSBメモリ2側に送信される。このコマンドを受けると、USBホストコントローラ131からUSBターゲットコントローラ22に対して、送信要求の有無を確認するために所定周期毎のポーリング動作が開始される(処理T1)。なお、所定周期の管理は、例えばUSBホストコントローラ131が管理するタイマを設定し、その時間を計時することで行われる。
USBターゲットコントローラ22は、ポーリング信号を受信すると、インターラプト転送のコマンドに応じて予めRAM23Bに準備した、1番目の分割制御データを読み出してUSBホストコントローラ131に送出する(処理Q1)。この1番目の分割制御データは、USBホストコントローラ131に取り込まれて、MCH12を経てアドレスデータが指示する、起動メモリ領域141の配置位置に展開される(処理T3)。なお、1番目の分割制御データは、前述したように、分割TDデータテーブルTD[1]の1行目のアドレスデータに対応する位置に書き込まれるダミーデータ1413である。次いで、所定時間が計時されると(処理T5)、ポーリング信号が出力され(処理T7)、このポーリング信号に対応して2番目の分割制御データが読み出されてUSBホストコントローラ131に送信される(処理Q3)。USBホストコントローラ131は、2番目の分割制御データをMCH12を介して起動メモリ領域141内の起動メモリ領域141の配置位置に展開する。その後、USBホストコントローラ131及びMCH12を介して、分割TDデータテーブルTD[2]が制御データとしてRAM14の起動メモリ領域141外の所定の配置位置、例えばアドレス“0x40000”に読み出される(処理Q5)。次いで、分割制御データとしての割込ベクタテーブル1414が読み出され(処理Q7)、分割TDデータテーブルTD[2]の1行目のアドレスデータに対応する位置、例えば起動メモリ領域141内のアドレス“0x00000”に書き込まれる。
かかる処理が繰り返されて、最後の分割制御データが読み出されて(処理Q9)、分割TDデータテーブルTD[n]の4行目のアドレスデータに対応する位置に書き込まれてインターラプト転送が終了する。この結果、RAM14の起動メモリ領域141内は、制御データで埋め尽くされ、すなわちインターラプト転送前の起動メモリ領域141の全域は制御データで更新される。従って、仮にマルウエアが潜伏等していても消去されることとなる。
なお、この時、CPU23の転送終了処理部234は、RAM23B内の制御レジスタに終了フラグをセットする。そして、USBターゲットコントローラ22は、この終了フラグの存在を検出すると、ハードウエア割込指示信号を生成し、USBホストコントローラ131に送出する(処理Q11)。このハードウエア割込指示信号は、MCH12を経てRAM14内の割込ベクタテーブル1414のINT“XX”に遷移させる。続いて、先頭の分割制御データ、すなわち特定OSローダが起動することとなる。
なお、本発明は、以下の態様を採用することが可能である。
(1)本実施形態では、外部ブートデバイスとしてUSBメモリ等の外部デバイスを採用したが、これに限定されず、少なくとも、CPU及びROM、RAMを内蔵するデバイスであればよい。例えばICカードでもよいし、携帯型の通信機器(端末1に相当)に内蔵された態様であってもよい。
(2)インターラプト転送は、以下のような態様で実行することも可能である。すなわち、分割TDデータテーブルTD[2]の1行目のアドレスデータについては前記実施形態のように、割込ベクタテーブルを割り振る一方、この分割TDデータテーブルTD[2]の1行目の直後、好ましくは2行目のアドレスデータに対して、部分的なローダ(以後、準ローダという)を割り振っておく。この2行目のアドレスデータは、割込ベクタテーブル1414のINT“XX”に記述されたアドレスデータと一致させておく。さらに、CPU23は、この準ローダのインターラプト転送が終了した時点で、最初の終了フラグを立てて、USBターゲットコントローラ22にハードウエア割込信号を生成させる。終了フラグは、次のインターラプト転送における転送予定データがない場合、また、転送データが所定のデータ量を有しない場合に生成される。従って、準ローダのデータ量を所定データ量未満としておけば、この準ローダのインターラプト転送の時点で終了フラグを生成することができる。
かかる仕掛けを施すことによって、分割TDデータテーブルTD[2]の1行目に対するインターラプト転送で割込ベクタテーブル1414が書き込まれ、次のインターラプト転送で準ローダが書き込まれる。そして、この直後にハードウエア割込指示信号が割込ベクタテーブル1414のINT“XX”に送信されて準ローダが起動することとなる。準ローダは、後述する処理を実行した後、環境設定信号をUSBホストコントローラ131を介して、USBターゲットコントローラ22に送信するように指示されている。その結果、インターラプト転送動作が再開され、次の分割TDデータテーブルTD[2]の3行目のアドレスデータに対応して割り振られた分割制御データがインターラプト転送される。なお、分割TDデータテーブルTD[2]の3行目〜分割TDデータテーブルTD[n]の4行目(すなわち最後の分割制御データの転送先)の間に、準ローダの書き込まれたアドレスに等しいアドレスデータに特定OSローダの先頭の分割制御データが書き込まれるようにしておく。これによって、全てのインターラプト転送が終了した時点で発生する(いわゆる2回目の)終了フラグによって、ハードウエア割込指示が発生して、特定OSローダの先頭の分割制御データにジャンプする結果、特定OSローダが起動開始されることとなる。かかる設定及び処理は、転送順設定部232〜2次ローダ処理部235によって実行される。
上記において、準ローダは、割込ベクタテーブルの所定のINTに対して、ハードウエア割込の禁止を設定する割込コントローラPIC(Programable Interrupt Controller)命令を設定し、かつCPU11の処理を停止するHALT命令を設定する処理プログラムである。但し、割込コントローラPICでは、INT“XX”のハードウエア割込は禁止から除かれている。
このように、起動メモリ領域141外に設定した分割TDデータテーブルで設定される準ローダを利用して、次にINT“XX”からハードウエア割込が発行されるまで、CPU11の動作を完全に停止するようにしたので、マルウエアの動きを抑止した状態で、1MBを特定OSローダに更新することができる。
(3)適用される情報処理装置は、会員サーバ5や取引先端末6でもよい。また、端末1の他、情報処理機能を有する装置であれば、データサーバ、携帯通信端末にも適用可能である。
1 端末(情報処理装置)
11,23 CPU
12 MCH(コントローラ)
13 ICH(コントローラ)
131 USBホストコントローラ(コントローラ)
14 RAM(主メモリ)
141 起動メモリ領域
15 フラッシュメモリ
16 HDD
2 USBメモリ(外部ブートデバイス)
211 第1記憶部(第1の記憶部)
212 第2記憶部(第2の記憶部)
22 USBターゲットコントローラ(データ転送部)
23 CPU(データ転送部)
231 転送データ処理部
232 転送順設定部(転送順設定手段)
233 転送データ準備処理部
234 転送終了処理部(ハードウエア割込指示部)
235 2次ローダ処理部
23B RAM(データ転送部)

Claims (17)

  1. CPU及び前記CPUが実行するプログラムが展開される主メモリを備えると共に、前記主メモリと外部との間でハードウエアによるデータ通信を行う、チップセット内のコントローラを備えた情報処理装置を、前記コントローラを経由して起動に要するデータを前記主メモリに書き込んで起動させる外部ブートデバイスであって、
    前記情報処理装置のBIOSが前記CPUによって実行されることによって前記主メモリの一部であるアドレス指定が可能な起動メモリ領域に優先して読み出される、データ転送の指示情報を含む1次ローダを記憶する第1の記憶部と、
    前記1次ローダによる前記データ転送指示を受けて前記起動メモリ領域に順次分割された分割制御データとして読み出される少なくとも割込ベクタテーブル及び2次ローダを含む所定の制御データと前記分割制御データが前記起動メモリ領域に書き込まれる際の書込位置となるアドレスデータとを記憶する第2の記憶部と、
    前記起動メモリ領域への読出後に起動される前記1次ローダから前記データ転送の指示を受けて、前記第2の記憶部から前記各分割制御データを対応する前記アドレスデータに従って前記コントローラを経由して前記主メモリに順番に読み出すデータ転送部と、
    前記データ転送処理の終了を受けて前記ハードウエア割込指示信号を前記起動メモリ領域に読み出された前記割込ベクタテーブルに遷移し、前記2次ローダを起動させるべくハードウエア割込を発行させるハードウエア割込指示部とを備えたことを特徴とする外部ブートデバイス。
  2. 前記制御データは、前記起動メモリ領域の記憶容量分に相当するデータ量を有することを特徴とする請求項1に記載の外部ブートデバイス。
  3. 前記起動メモリ領域は、先頭から1Mbyteまでの領域であることを特徴とする請求項2に記載の外部ブートデバイス。
  4. 前記分割制御データは、一定のデータ量が設定されているものであることを特徴とする請求項1〜3のいずれかに記載の外部ブートデバイス。
  5. 前記分割制御データは、前記2次ローダの一部を構成しない少なくとも1つのダミーデータを含むことを特徴とする請求項4に記載の外部ブートデバイス。
  6. 前記2次ローダの一部を構成する分割制御データは、その内部に、順次次に繋がれる前記分割制御データへのジャンプ先のアドレスを含むことを特徴とする請求項4又は5に記載の外部ブートデバイス。
  7. 前記2次ローダは、ロード対象データを前記主メモリの前記起動メモリ領域以上の領域にロードするものであることを特徴とする請求項4〜6のいずれかに記載の外部ブートデバイス。
  8. 前記アドレスデータは、予め設定された複数のアドレスデータずつに分割された分割アドレステーブルとされ、
    前記データ転送部は、1の前記分割アドレステーブルに含まれるアドレスデータに対応する分割制御データが読み出される毎に、次の分割アドレステーブルを前記主メモリに読み出すものであることを特徴とする請求項1〜7のいずれかに記載の外部ブートデバイス。
  9. 前記各分割アドレステーブルは、テーブルの最後尾に次の前記分割アドレステーブルの書込位置であるアドレスを指定するアドレス情報を有することを特徴とする請求項8に記載の外部ブートデバイス。
  10. 前記分割制御データの読み出し順の設定、及び前記分割制御データの書込位置となる前記アドレスデータの並び替えの少なくとも一方を行う転送順設定手段を備えていることを特徴とする請求項1〜9のいずれかに記載の外部ブートデバイス。
  11. 前記転送順設定手段は、1番目の前記分割アドレステーブルの最後尾以外のアドレスに対応する分割制御データにダミーデータを対応付けていることを特徴とする請求項10に記載の外部ブートデバイス。
  12. 前記転送データ設定手段は、2番目の前記分割アドレステーブルの先頭アドレスに割込ベクタテーブルを対応付けていることを特徴とする請求項10又は11に記載の外部ブートデバイス。
  13. 前記転送データ設定手段は、2番目の前記分割アドレステーブル以降の各分割アドレステーブルを前記主メモリ内の前記起動メモリ領域を超えた領域に読み出すようにアドレス情報を設定することを特徴とする請求項10〜12のいずれかに記載の外部ブートデバイス。
  14. 2番目の前記分割アドレステーブル以降の各分割アドレステーブルに対して、それぞれ異なるアドレス情報が設定されていることを特徴とする請求項10〜13のいずれかに記載の外部ブートデバイス。
  15. 前記データ転送部は、前記データ転送を、前記コントローラを経由して前記主メモリとの間でインターラプト転送によって行うことを特徴とする請求項1〜14のいずれかに記載の外部ブートデバイス。
  16. ハードウエア割込指示部は、前記インターラプト転送における最後の分割制御データの転送動作を受けて前記ハードウエア割込指示信号を出力することを特徴とする請求項15に記載の外部ブートデバイス。
  17. CPU及び前記CPUが実行するプログラムが展開される主メモリを備えると共に、前記主メモリと外部との間でハードウエアによるデータ通信を行う、チップセット内のコントローラを備えた情報処理装置を、前記コントローラを経由して起動に要するデータを前記主メモリに書き込んで起動させる外部ブート方法であって、
    前記情報処理装置のBIOSが前記CPUによって実行されることによって前記主メモリの一部であるアドレス指定が可能な起動メモリ領域に優先して読み出される、データ転送の指示情報を含む1次ローダを記憶する第1の記憶部と、
    前記1次ローダによる前記データ転送指示を受けて前記起動メモリ領域に順次分割された分割制御データとして読み出される少なくとも割込ベクタテーブル及び2次ローダを含む所定の制御データと前記分割制御データが前記起動メモリ領域に書き込まれる際の書込位置となるアドレスデータとを記憶する第2の記憶部とを備え、
    前記起動メモリ領域への読出後に起動される前記1次ローダから前記データ転送の指示を受けて、前記第2の記憶部から前記各分割制御データを対応する前記アドレスデータに従って前記コントローラを経由して前記主メモリに順番に読み出すデータ転送ステップと、
    前記データ転送処理の終了を受けて前記ハードウエア割込指示信号を前記起動メモリ領域に読み出された前記割込ベクタテーブルに遷移し、前記2次ローダを起動させるべくハードウエア割込を発行させるハードウエア割込指示ステップとを備えたことを特徴とする外部ブート方法。
JP2011235386A 2011-10-26 2011-10-26 外部ブートデバイス及び外部ブート方法 Pending JP2013092946A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011235386A JP2013092946A (ja) 2011-10-26 2011-10-26 外部ブートデバイス及び外部ブート方法
PCT/JP2012/076262 WO2013061782A1 (ja) 2011-10-26 2012-10-11 外部ブートデバイス及び外部ブート方法
TW101138881A TW201329867A (zh) 2011-10-26 2012-10-22 外部開機裝置及外部開機方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011235386A JP2013092946A (ja) 2011-10-26 2011-10-26 外部ブートデバイス及び外部ブート方法

Publications (1)

Publication Number Publication Date
JP2013092946A true JP2013092946A (ja) 2013-05-16

Family

ID=48167616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011235386A Pending JP2013092946A (ja) 2011-10-26 2011-10-26 外部ブートデバイス及び外部ブート方法

Country Status (3)

Country Link
JP (1) JP2013092946A (ja)
TW (1) TW201329867A (ja)
WO (1) WO2013061782A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI835117B (zh) * 2022-04-11 2024-03-11 神雲科技股份有限公司 外接開機裝置屏蔽方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008192126A (ja) * 2007-01-12 2008-08-21 Konica Minolta Business Technologies Inc 情報処理装置およびプログラム
JP2008186220A (ja) * 2007-01-30 2008-08-14 Oyo Denshi:Kk リムーバブルメモリユニット
US9588829B2 (en) * 2010-03-04 2017-03-07 F-Secure Oyj Security method and apparatus directed at removable storage devices

Also Published As

Publication number Publication date
TW201329867A (zh) 2013-07-16
WO2013061782A1 (ja) 2013-05-02

Similar Documents

Publication Publication Date Title
KR102347562B1 (ko) 보안 제어 방법 및 컴퓨터 시스템
CN106133743B (zh) 用于优化预安装应用程序的扫描的系统和方法
US10917243B2 (en) Secure server and compute nodes
CN110321713B (zh) 基于双体系架构的可信计算平台的动态度量方法和装置
CN110073355A (zh) 服务器上的安全执行环境
CN110321235B (zh) 基于双体系架构的可信计算平台的系统交互方法和装置
WO2011145199A1 (ja) 外部ブートデバイス、外部ブート方法、情報処理装置及びネットワーク通信システム
CN107533608A (zh) 可信更新
CN111030822A (zh) 用于保护固件的方法和系统,以及计算机可读介质
JP5373753B2 (ja) 複数の認証済みコードモジュールを利用するプロセッサ、方法、及びシステム
CN110334512B (zh) 基于双体系架构的可信计算平台的静态度量方法和装置
TW201145041A (en) Provisioning, upgrading and/or changing of hardware
TWI443580B (zh) 透過埠共享硬體之對儲存裝置之帶外存取
WO2016203759A1 (ja) 分析システム、分析方法、分析装置及び、コンピュータ・プログラムが記憶された記録媒体
CN117349819A (zh) 用于多核处理器的远程认证
WO2011141997A1 (ja) 外部ブートデバイス、外部ブートプログラム、外部ブート方法及びネットワーク通信システム
CN110334509B (zh) 双体系架构的可信计算平台的构建方法和装置
WO2013069587A1 (ja) 情報処理空間管理方法、外部デバイス及び情報処理装置
WO2013061782A1 (ja) 外部ブートデバイス及び外部ブート方法
WO2012053053A1 (ja) 外部ブートデバイス及びネットワーク通信システム
CN115549938A (zh) 用于控制器的主机防火墙接口
US10242195B2 (en) Integrity values for beginning booting instructions
JP5759845B2 (ja) 情報処理システム、情報処理装置、外部記憶媒体、プログラム、記憶媒体、及び、ファイル管理方法
KR20240040006A (ko) 데이터를 안전하게 전달하기 위한 방법, 장치, 및 전자 장치
WO2013080848A1 (ja) ファイル通信処理方法及び外部デバイス