(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-05
(45)【発行日】2024-06-13
(54)【発明の名称】孤立したユーザーコンピューティング部を有するコンピュータ
(51)【国際特許分類】
G06F 21/53 20130101AFI20240606BHJP
G06F 3/06 20060101ALI20240606BHJP
G06F 21/74 20130101ALI20240606BHJP
【FI】
G06F21/53
G06F3/06 301Z
G06F3/06 304H
G06F21/74
(21)【出願番号】P 2020513473
(86)(22)【出願日】2018-04-23
(86)【国際出願番号】 KR2018004689
(87)【国際公開番号】W WO2018208032
(87)【国際公開日】2018-11-15
【審査請求日】2021-03-30
【審判番号】
【審判請求日】2022-12-21
(31)【優先権主張番号】10-2017-0057998
(32)【優先日】2017-05-10
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】519400612
【氏名又は名称】キム、ドクウ
【氏名又は名称原語表記】KIM, DEOK WOO
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】キム、ドクウ
【合議体】
【審判長】林 毅
【審判官】稲垣 良一
【審判官】吉田 美彦
(56)【参考文献】
【文献】特開2011-22639(JP,A)
【文献】米国特許第7484247(US,B2)
【文献】特開2006-68064(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
IPC G06F 21/12 - 21/16
G06F 21/50 - 21/88
G06F 3/06
(57)【特許請求の範囲】
【請求項1】
第1アドレスバス、第1データバス、および第1制御バスを有する第1中央処理装置(CPU)と、前記第1中央処理装置に前記第1アドレスバス、前記第1データバス、および前記第1制御バスを介して接続される第1メモリユニットと、前記第1中央処理装置に前記第1アドレスバス、前記第1データバス、および前記第1制御バスを介して接続される補助記憶装置ユニットと、前記第1中央処理装置に前記第1アドレスバス、前記第1データバス、および前記第1制御バスを介して接続されるI/O装置を含むセキュリティ管理コンピューティング部と、
第2アドレスバス、第2データバス、および第2制御バスを有する第2中央処理装置(CPU)と、前記第2中央処理装置に前記第2アドレスバス、前記第2データバス、および前記第2制御バスを介して接続される第2メモリユニットを含むユーザーコンピューティング部と、
前記セキュリティ管理コンピューティング部の前記第1中央処理装置と、前記第1アドレスバス、前記第1データバス、および前記第1制御バスを介して接続され、前記ユーザーコンピューティング部の前記第2中央処理装置に前記第2アドレスバス、前記第2データバス、および前記第2制御バスを介して接続されて、前記第1中央処理装置と前記第2中央処理装置との間の通信を担当する相互通信ユニットと、を含み、
前記セキュリティ管理コンピューティング部は、前記I/O装置の管理および
監視と、前記ユーザーコンピューティング部の監視および制御を行い、
前記ユーザーコンピューティング部は、前記セキュリティ管理コンピューティング部から孤立してユーザープログラムとユーザーOSを実行し、
前記補助記憶装置ユニット
は、前記ユーザーコンピューティング部に露出されないセキュリティ管理コンピューティングストレージ領域と、前記セキュリティ管理コンピューティング部の統制下で前記ユーザーコンピューティング部が使用するユーザーコンピューティングストレージ領域とを含み、前記ユーザーコンピューティング部で実行されるユーザーOSのデータの原本は、前記ユーザーコンピューティングストレージ領域に保存され、そのコピーは、前記セキュリティ管理コンピューティングストレージ領域に保存され、
前記セキュリティ管理コンピューティングストレージ領域は、前記ユーザーコンピューティングストレージ領域と物理的または論理的に分離されて、前記ユーザーコンピューティング部に露出されないように設定され、
前記セキュリティ管理コンピューティング部は、前記補助記憶装置ユニットをセキュリティ管理コンピューティングストレージ領域とユーザーコンピューティングストレージ領域に分けて管理して修復機能を実行し、
前記セキュリティ管理コンピューティング部
は、前記I/O装置により、前記セキュリティ管理コンピューティングストレージ領域に保存されたユーザーOS
のデータのコピーを選択的に前記ユーザーコンピューティング部の起動時に前記ユーザーコンピューティング部に提供することを特徴とするコンピュータ。
【請求項2】
複数
のハードウェアインターフェースを有する第1中央処理装置と
、前記ハードウェアインターフェースを利用して前記
第1中央処理装置に独立して接続される第1ランダムアクセスメモリ(RAM)、グラフィックコントローラユニット、第1ブートROM、周辺機器コントローラハブユニット、および相互通信ユニットと、前記周辺機器コントローラハブユニットに接続される補助記憶装置ユニットとI/O装置を含むセキュリティ管理コンピューティング部と、
前記相互通信ユニットと第
1インターフェースで接続され、第2ランダムアクセスメモリと第
2インターフェースで接続され、第2ブートROMとは第
3インターフェースで接続される第2中央処理装置を含むユーザーコンピューティング部と、を含み、
前記セキュリティ管理コンピューティング部は、前記I/O装置の管理および
監視と、前記ユーザーコンピューティング部の監視および制御を実行し、
前記ユーザーコンピューティング部は、前記セキュリティ管理コンピューティング部から孤立してユーザープログラムとユーザーOSを実行し、
前記補助記憶装置ユニット
は、前記ユーザーコンピューティング部に露出されないセキュリティ管理コンピューティングストレージ領域と、前記セキュリティ管理コンピューティング部の統制下で前記ユーザーコンピューティング部が使用するユーザーコンピューティングストレージ領域とを含み、前記ユーザーコンピューティング部で実行される
ユーザーOSのデータの原本は、前記ユーザーコンピューティングストレージ領域に保存され、そのコピーは、前記セキュリティ管理コンピューティングストレージ領域に保存され、
前記セキュリティ管理コンピューティングストレージ領域は、前記ユーザーコンピューティングストレージ領域と物理的または論理的に分離されて、前記ユーザーコンピューティング部に露出されないように設定され、
前記セキュリティ管理コンピューティング部は、前記補助記憶装置ユニットをセキュリティ管理コンピューティングストレージ領域とユーザーコンピューティングストレージ領域に分けて管理して修復機能を実行し、
前記セキュリティ管理コンピューティング部は
、前記I/O装置により、前記セキュリティ管理コンピューティングストレージ領域に保存されたユーザー
OSのデータのコピーを選択的に前記ユーザーコンピューティング部の起動時に前記ユーザーコンピューティング部に提供することを特徴とするコンピュータ。
【請求項3】
前記相互通信ユニットは、前記第1中央処理装置および前記第2中央処理装置に接続される割り込みレジスタを含む請求項1または2に記載のコンピュータ。
【請求項4】
前記ユーザーコンピューティング部は、前記割り込みレジスタを介して前記セキュリティ管理コンピューティング部から割り込み信号を受ける場合、実行中のソフトウェアのリストとプロセス情報を前記相互通信ユニットを介して提供する手段をさらに含む請求項3に記載のコンピュータ。
【請求項5】
前記ユーザーコンピューティング部は、前記割り込みレジスタを介して前記セキュリティ管理コンピューティング部から割り込み信号を受ける場合、前記相互通信ユニットを介して提供される情報を用いて実行中のソフトウェアとプロセスの実行を選択的に中断させる手段をさらに含む請求項3に記載のコンピュータ。
【請求項6】
前記相互通信ユニットは、前記第1中央処理装置および前記第2中央処理装置に接続されるデュアルポートメモリを含む請求項1または2に記載のコンピュータ。
【請求項7】
前記相互通信ユニットは、前記第1中央処理装置および前記第2中央処理装置に接続されるDMAインターフェースを含む請求項1または2に記載のコンピュータ。
【請求項8】
接続されたI/O装置および補助記憶装置ユニットを管理するセキュリティ管理コンピューティング部と、ユーザーコンピューティング部であって、前記セキュリティ管理コンピューティング部および前記ユーザーコンピューティング部との間の通信を担当する相互通信ユニットを介して前記I/O装置と通信し、別途のCPUとメモリを持って前記セキュリティ管理コンピューティング部に接続される、ユーザーコンピューティング部と、を含み、
前記セキュリティ管理コンピューティング部は前記I/O装置
を管理および
監視し、前記ユーザーコンピューティング部を監視および統制し、
前記ユーザーコンピューティング部は、前記セキュリティ管理コンピューティング部から孤立してユーザープログラムと
ユーザーOSを実行し、
前記補助記憶装置ユニット
は、前記ユーザーコンピューティング部に露出されないセキュリティ管理コンピューティングストレージ領域と、前記セキュリティ管理コンピューティング部の統制下で前記ユーザーコンピューティング部が使用するユーザーコンピューティングストレージ領域とを含み、前記ユーザーコンピューティング部で実行される
ユーザーOSのデータの原本は、前記ユーザーコンピューティングストレージ領域に保存され、そのコピーは、セキュリティ管理コンピューティングストレージ領域に保存され、
前記セキュリティ管理コンピューティングストレージ領域は、前記ユーザーコンピューティングストレージ領域と物理的または論理的に分離されて、前記ユーザーコンピューティング部に露出されないように設定され、
前記セキュリティ管理コンピューティング部は、前記補助記憶装置ユニットをセキュリティ管理コンピューティングストレージ領域とユーザーコンピューティングストレージ領域に分けて管理して修復機能を実行し、
前記セキュリティ管理コンピューティング部は
、前記I/O装置により、前記セキュリティ管理コンピューティングストレージ領域に保存されたユーザー
OSのデータのコピーを選択的に前記ユーザーコンピューティング部の起動時に前記ユーザーコンピューティング部に提供することを特徴とするコンピュータ。
【請求項9】
前記I/O装置に結合されるキーボードユニットとマウスユニットをさらに含み、
前記ユーザーコンピューティング部は、前記キーボードユニットと前記マウスユニットとの情報入出力を前記セキュリティ管理コンピューティング部の統制下に前記相互通信ユニットを介して実行する請求項1、2、および8のうちいずれか1項に記載のコンピュータ。
【請求項10】
前記セキュリティ管理コンピューティング部は、前記ユーザーコンピューティング部で実行されるプログラムの実行時間や実行可否を統制する手段をさらに含む請求項1、2、および8のうちいずれか1項に記載のコンピュータ。
【請求項11】
前記セキュリティ管理コンピューティング部は、前記ユーザーコンピューティング部が前記相互通信ユニットを介して前記I/O装置に出力する情報を伝達する場合には、前記セキュリティ管理コンピューティング部は出力する情報の一部分を、前記セキュリティ管理コンピューティングストレージ領域に保存して、前記セキュリティ管理コンピューティング部に接続したユーザーの要求がある時、これを提供することを特徴とする請求項1、2、および8のうちいずれか1項に記載のコンピュータ。
【請求項12】
前記I/O装置に結合されるビデオディスプレイユニットをさらに含み、
前記ビデオディスプレイユニットは、前記セキュリティ管理コンピューティング部に接続される第1ビデオメモリと、前記セキュリティ管理コンピューティング部および前記ユーザーコンピューティング部に接続される第2ビデオメモリと、前記セキュリティ管理コンピューティング部に接続され、前記第1ビデオメモリと前記第2ビデオメモリの情報を選択的にモニタディスプレイ画面に表示するビデオグラフィックコントロー
ラを含む請求項1、2、および8のうちいずれか1項に記載のコンピュータ。
【請求項13】
前記セキュリティ管理コンピューティング部は、前記ユーザーコンピューティング部から前記補助記憶装置ユニットに保存されたレジストリファイルや実行可能ファイルの変更を要求された場合、前記ビデオディスプレイユニットを介してこれを表示し、キーボード入力を通じて確認されることを特徴とする請求項12に記載のコンピュータ。
【請求項14】
前記セキュリティ管理コンピューティング部は、前記第2ビデオメモリの情報を前記セキュリティ管理コンピューティング部のユーザーが設定した方法で、前記補助記憶装置ユニットの前記セキュリティ管理コンピューティングストレージ領域に保存して、前記セキュリティ管理コンピューティング部のユーザーの要求がある時、これを提供することを特徴とする請求項12に記載のコンピュータ。
【請求項15】
前記セキュリティ管理コンピューティング部で駆動されるOSは、ユーザーのハードウェア的な入力に応じて前記第1ビデオメモリの内容や前記第2ビデオメモリの内容を選択的にディスプレイするようにビデオディスプレイユニットを制御する手段をさらに含む請求項12に記載のコンピュータ。
【請求項16】
前記ハードウェア的な入力は、キーボード入力であることを特徴とする請求項15に記載のコンピュータ。
【請求項17】
前記セキュリティ管理コンピューティング部は、前記ユーザーコンピューティング部から前記補助記憶装置ユニットの前記ユーザーコンピューティングストレージ領域のファイルシステムの変更を要求されたとき、既存のファイルシステムの復元情報を前記補助記憶装置ユニットの前記セキュリティ管理コンピューティングストレージ領域に保存することを特徴とする請求項1、2、および8のうちいずれか1項に記載のコンピュータ。
【請求項18】
前記セキュリティ管理コンピューティング部で実行される第1ソフトウェアモジュールと、前記ユーザーコンピューティング部で実行される第2ソフトウェアモジュールとを含むソフトウェアプログラムであって、前記コンピュータで実行される、ソフトウェアプログラムをさらに含む、請求項1、2、および8のうちいずれか1項に記載のコンピュータ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、マルウェア(malware)によるシステム掌握の試みに対応し、システムの毀損を最小化するための、孤立したユーザーコンピューティング部を有するコンピュータに関するものである。
【背景技術】
【0002】
コンピュータに異常動作が発生する場合に備えて、様々な構造でコンピュータが設計される。しかし、このような構造は、追加の費用が発生するので、 PCやノートパソコンなどの汎用パーソナルコンピュータには適用されない。一般的に広く使用されるPC、携帯電話、ノートパソコンなどのコンピュータデバイスは、1つのCPUを持つ。場合によっては、GPU、DSP、ALUのような実行能力のある補助プロセッサが使用されることもあるが、これらの構造では、これらは独自のOSは持っておらず、システムには1つのOSのみ存在する。このため、ハードウェアやソフトウェアが問題を起こすと、該当システムはすぐに停止される。
【0003】
それに比べて、異常動作でシステム全体が停止した場合に大きな問題となる銀行取引や証券取引などに使用される大型コンピュータの場合には、CPUやCPUユニット、コンピュータが複数接続されて使用されるが、通常は、1つのユニットまたはコンピュータが異常動作を起こしてもOSの統制下に、問題となる側で行なわれていた作業を、正常動作をする他の側に再配当して、異常動作に対応する構造を有する。そのため、これらの大型コンピュータシステムは、高速で複数の作業を分散して処理する構成を有している。結局、これらの装置は、複数のユーザーが必要とする複数の作業を処理したり、1つの作業を高速に処理するための並列処理構造を備えるのが一般的である。
【0004】
しかし、この場合も、1つのOSで統制されたり、複数のOSで構成されていても、最上位の管理者がOSを介してシステム全体を統制することができる。そのため、ハッキングやコンピュータウイルスなどのマルウェアが最上位管理者の権限でシステムを掌握することになる場合は防ぐことができなくなる。また、作業者が悪意を持ってシステムに危害を加える場合にも対応は不可能である。つまり、これらのシステムは、異常動作が発生したユニットやコンピュータをシステムから排除して、残りの装置が作業を継続する構造だけであって、最上位管理者権限を取得したマルウェアや作業者がシステムを統制不能の状態に持って行くことを防ぐことはできない。
【0005】
飛行機や宇宙飛行体、高速列車、自動車、プラントの自動制御システムなどの場合は、故障に備えて複数のコンピュータシステムが使用されることもある。この時、入力された信号や情報を複数のコンピュータシステムが同時に処理して結果を出力するが、メインに指定されたコンピュータシステムの情報のみ、最終的に使用されて、予備として指定されたコンピュータシステムらはメインシステムの動作を監視しながら待機することになる。待機中にメインシステムの異常が検出されると、自動的に予備コンピュータシステムがメインコンピュータシステムを代替することになる。
【0006】
宇宙船のように出力情報が間違って大きな問題となる場合には、複数のコンピュータが出力した情報をボーティング(voting)を経て確定された出力として使用することもある。このようなコンピュータの多重化または冗長化(redundancy)の構造においては、たとえ複数のCPUユニットやコンピュータが使用されるとしても、その目的は、個々のユニットやコンピュータの故障時にも中断することなく演算結果を得るためのものに限られる。
【0007】
しかし、最近これらのシステムのうち一部にWindows CEやAndroidのような汎用OSが使用され、ハッキングやコンピュータウイルスなどのマルウェアがコンピュータ全体を掌握する問題が発生している。これらのシステムでは、これらの問題が故障として認知されないので、マルウェアや悪意を持った管理者がシステムを掌握して異常動作を起こしても、これを防ぐことは不可能である。例えば、ハッキングされた車が勝手に動作するのも同じ原因である。
【0008】
以上で見たように、従来のコンピュータシステムの構造では、異常動作が検出されたコンピュータを排除または代替するために、システム内の他のコンピュータを使うだけであり、異常動作が検出されたコンピュータ自体を修復したり、正常な動作を維持させるために他のコンピュータを補助的に使用することはない。また、異常動作が検出されたコンピュータをリセットさせて作業を再実行させることがあるが、この場合にも、最上位管理者権限を取得したソフトウェアは、OSを介してシステム全体の制御が可能なので、マルウェアがシステムを掌握して異常動作を起こす場合には、その対処が不可能である。
【0009】
これらの問題は、基本的に、既存のコンピュータシステムがマルウェアや悪意的な操作によるシステムの異常動作をソフトウェア的にのみ対応して、ハードウェア的には実質的に対応していないため、発生するものである。したがって、マルウェアなどによるシステムの異常動作を防ぐためには、ハードウェア的に補完された構造を有するコンピュータシステムが必要である。
【発明の概要】
【発明が解決しようとする課題】
【0010】
PC、ノートパソコン、携帯電話のように、我々が多く接する汎用小型コンピュータ機器に監視または修復のために他のコンピュータを使用する概念は、機能上必要性はあっても、コンピュータの価格が高くなる欠点がある。また、ハードウェア的に問題がない場合には、ユーザーの完全な統制下で発生する一般的なエラーはすべてソフトウェアが原因で発生するので、その必要性がなかった。
【0011】
しかし、インターネットと様々な通信方式の発展により、今のコンピュータは、ほぼ全日ネットワークに接続されており、OSの独自の欠陥やユーザーの不注意などによりハッキングプログラムやコンピュータウイルスなどの悪性プログラムに簡単に感染されて、ユーザーの統制から外れる場合が一般的である。
【0012】
このように、ユーザーの統制を外れたコンピュータは、ウイルス対策ソフトを中止させたり、騙すことにより、ユーザーまたはOSも知らないうちにハッカーやウイルスの配布者の意図どおり使用される。このようなコンピュータは、異常を感知したユーザーがウイルス対策ソフトを実行したり、非常に特段な措置(例えば、ウィンドウズのセーフモードでの起動後、ウイルス対策ソフトを駆動)をすることで治療が可能になり、それさえもウイルス対策ソフト制作会社がそのマルウェアに対する解決策を提示できない場合は、治療が不可能である。
【0013】
そこで、本発明者は、マルウェアによるシステム掌握の試みに対応し、システムの毀損を最小限に抑えるための孤立したユーザーコンピューティング部を有するコンピュータを提案する。
【課題を解決するための手段】
【0014】
上記課題を解決するために、本発明に係るコンピュータは、I/O装置とハードウェア的に直接接続されて、これらを統制し、特に補助記憶装置ユニットをセキュリティ管理コンピューティング用とユーザーコンピューティング用に分けて管理するセキュリティ管理コンピューティング部と、 I/O装置および、特に補助記憶装置ユニットとハードウェア的にセキュリティ管理コンピューティング部の統制下で接続される方法で、孤立または分離され、別途のCPUとメモリを持って、別途の通信インタフェースでセキュリティ管理コンピューティング部に接続されて、ユーザープログラムをユーザーOS上で実行するユーザーコンピューティング部で構成される。すなわち、本発明では、ユーザープログラムとユーザーOSは、セキュリティ管理コンピューティング部から孤立したユーザーコンピューティング部で実行され 、I/O装置と関連したり、監視修復のための機能は、セキュリティ管理コンピューティング部で実行されるように構成されたコンピュータおよびここに使用されるソフトウェアの基本的な構造を提示する。
【0015】
本発明の第1側面によるコンピュータは、第1アドレスバス、第1データバス、第1制御バス信号を有する第1中央処理装置と、前記第1中央処理装置に第1アドレスバス、第1データバス、第1制御バス信号を介して接続される第1メモリユニットと、前記第1中央処理装置に第1アドレスバス、第1データバス、第1制御バス信号を介して接続されるHDDなどの補助記憶装置ユニットと、前記第1中央処理装置に第1アドレスバス、第1データバス、第1制御バス信号を介して接続されるI/O(入出力)装置ユニットを含むセキュリティ管理コンピューティング部と、第2アドレスバス、第2データバス、第2制御バス信号を有する第2中央処理装置と、前記第2中央処理装置に第2アドレスバス、第2データバス、第2制御バス信号を介して接続される第2メモリユニットを含むユーザーコンピューティング部を含む。前記セキュリティ管理コンピューティング部はI/O装置の管理およびシステム監視と修復、そしてユーザーコンピューティング部を監視および統制し、前記ユーザーコンピューティング部は、前記セキュリティ管理コンピューティング部から孤立して、ユーザープログラムとユーザーOSを実行することを特徴とする。
【0016】
この時、前記セキュリティ管理コンピューティング部の第1中央処理装置と第1アドレスバス、第1データバス、第1制御バス信号を介して接続され、前記ユーザーコンピューティング部の第2中央処理装置と第2アドレスバス、第2データバス、第2制御バス信号を介して接続されて、第1中央処理装置と第2中央処理装置との間に存在する相互通信ユニットは、セキュリティ管理コンピューティング部とユーザーコンピューティング部との間の通信を担当する。
【0017】
そして、前記補助記憶装置ユニットは、セキュリティ管理コンピューティング部が独占的に使用し、ユーザーコンピューティング部に露出されないセキュリティ管理コンピューティングストレージ領域と、セキュリティ管理コンピューティング部の統制下でユーザーコンピューティング部が使用するユーザーコンピューティングストレージ領域と、を含むことができる。この時、ユーザーコンピューティング部で実行されるユーザーOSデータの原本は、前記ユーザーコンピューティング部のストレージ領域に保存され、そのコピーは、セキュリティ管理コンピューティングストレージ領域に保存することができる。
【0018】
また、本発明の第2側面によるコンピュータは、複数の専用ハードウェアインターフェースを有する第1中央処理装置と、前記専用インターフェースを用いて前記第1中央処理装置に独立的に接続される第1ランダムアクセスメモリ(RAM)、グラフィックコントローラユニット、第1ブートメモリ(ROMまたはフラッシュメモリのような不揮発性メモリ)、周辺機器コントローラハブユニット、相互通信ユニットと、前記周辺機器コントローラハブユニットに接続される補助記憶装置ユニットと、I/O(入出力装置)ユニットを含むセキュリティ管理コンピューティング部と、前記相互通信ユニットと第1専用インタフェースで接続され、第2ランダムアクセスメモリと第2専用インターフェースで接続され、第2ブートメモリ(ROMまたはフラッシュメモリのような不揮発性メモリ)とは第3専用インターフェースで接続される第2中央処理装置を含むコンピューティング部を含む。この時、前記ブートメモリは、場合によって周辺機器コントローラハブに接続されても良い。また、前記セキュリティ管理コンピューティング部はI/O装置の管理およびシステム監視と修復し、ユーザーコンピューティング部を監視および統制し、前記ユーザーコンピューティング部は、前記セキュリティ管理コンピューティング部から孤立して、ユーザープログラムとユーザーのOSを実行することを特徴とする。
【0019】
ここで、前記補助記憶装置ユニットは、セキュリティ管理コンピューティング部が独占的に使用し、ユーザーコンピューティング部に露出されないセキュリティ管理コンピューティングストレージ領域と、セキュリティ管理コンピューティング部の統制下でユーザーコンピューティング部が使用するユーザーコンピューティングストレージ領域を含むことができる。この時、ユーザーコンピューティング部で実行されるユーザーOSデータの原本は、前記ユーザーコンピューティング部のストレージ領域に保存され、そのコピーは、セキュリティ管理コンピューティングストレージ領域に保存される。
【0020】
また、本発明の第3側面によるコンピュータは、接続された I/O装置および補助記憶装置ユニットを管理するセキュリティ管理コンピューティング部と、前記I/O装置から孤立し、別途のCPUとメモリを持って、前記セキュリティ管理コンピューティング部に接続されるユーザーコンピューティング部を含むが、前記セキュリティ管理コンピューティング部はI/O装置の管理およびシステム監視と修復、そしてユーザーコンピューティング部を監視および統制し、ユーザーコンピューティング部の要求に応じてI/O装置との通信を中継、監視し、前記ユーザーコンピューティング部は、前記セキュリティ管理コンピューティング部から孤立して、ユーザープログラムとユーザーOSを実行する。前記セキュリティ管理コンピューティング部と前記ユーザーコンピューティング部との間の通信は、相互通信ユニットが担当する。
【0021】
上記幾つかの側面の特徴を有するコンピュータにおいて、相互通信ユニットは、前記セキュリティ管理コンピューティング部を構成する第1中央処理装置と第1アドレスバス、第1データバス、第1制御バス信号を介して接続され、前記ユーザーコンピューティング部を構成する第2中央処理装置と第2アドレスバス、第2データバス、第2制御バス信号を介して接続されるデュアルポートメモリを含むことができる。
【0022】
また、相互通信ユニットは、第1中央処理装置と第1アドレスバス、第1データバス、第1制御バス信号を介して接続される割り込みレジスタを含むことができる。この時、前記ユーザーコンピューティング部は、前記割り込みレジスタを介して前記セキュリティ管理コンピューティング部から割り込み信号を受ける場合、実行中のソフトウェアのリストとプロセス情報を前記相互通信ユニットを介して提供する手段をさらに含むことができる。また、前記ユーザーコンピューティング部は、前記割り込みレジスタを介して前記セキュリティ管理コンピューティング部から割り込み信号を受ける場合、前記相互通信ユニットを介して提供される情報を用いて、実行中のソフトウェアとプロセスの実行を選択的に中断させる手段をさらに含むことができる。
【0023】
または他の実施例では、前記相互通信ユニットは、前記セキュリティ管理コンピューティング部を構成する第1中央処理装置と第1アドレスバス、第1データバス、第1制御バス信号を介して接続され、前記ユーザーコンピューティング部を構成する第2中央処理装置と第2アドレスバス、第2データバス、第2制御バス信号を介して接続されるDMA(Direct Memory Access)インタフェースを含むことができる。
【0024】
一方、前記補助記憶装置ユニットは、セキュリティ管理コンピューティング部が独占的に使用し、ユーザーコンピューティング部に露出されないセキュリティ管理コンピューティングストレージ領域と、セキュリティ管理コンピューティング部の統制下にユーザーコンピューティング部が使用するユーザーコンピューティングストレージ領域に分離することができる。この時、ユーザーコンピューティング部で実行されるユーザーOSデータの原本は、前記ユーザーコンピューティング部のストレージ領域に保存され、そのコピーは、セキュリティ管理コンピューティングストレージ領域に保存されることができる。原本とコピーは、便宜上ユーザーの立場で記述されたもので、コピーは原本の特定の時点でのバックアップに代替されることができる。
【0025】
本発明の一実施例によると、前記セキュリティ管理コンピューティング部は、前記セキュリティ管理コンピューティングストレージ領域に保存されたユーザーOSのコピーを選択的に前記ユーザーコンピューティング部の起動時に提供することができる。
【0026】
また、本発明の一実施例によると、前記I/O装置に結合されるキーボードユニットとマウスユニットがさらに含まれる。そして、前記コンピューティング部は、前記キーボードユニットとマウスユニットとの情報入出力を前記セキュリティ管理コンピューティング部の制御下に前記相互通信ユニットを介して行うことができる。
【0027】
また、本発明の一実施例によると、前記セキュリティ管理コンピューティング部への接続は、前記ユーザーコンピューティング部と互いに独立したパスワード認識過程を経て行われることができる。
【0028】
また、本発明の一実施例によると、前記セキュリティ管理コンピューティング部は、前記ユーザーコンピューティング部で実行されるプログラムの実行時間や実行可否を統制する手段をさらに含むことができる。
【0029】
また、本発明の一実施例によると、前記セキュリティ管理コンピューティング部は、前記ユーザーコンピューティング部が前記相互通信ユニットを介して前記I/O装置に出力する情報を伝達する場合には、前記セキュリティ管理コンピューティング部は出力する情報の一部分を前記セキュリティ管理コンピューティング領域に保存して、セキュリティ管理コンピューティング部に接続したユーザーの要求がある時、これを提供することができる。
【0030】
また、本発明の一実施例によると、前記セキュリティ管理コンピューティング部は、前記ユーザーコンピューティング部から前記補助記憶装置ユニットの前記ユーザーコンピューティング領域のファイルシステムの変更を要求された時、既存のファイルシステムの復元情報を前記補助記憶装置ユニットの前記セキュリティ管理コンピューティング領域に保存することができる。
【0031】
また、本発明の一実施例によると、前記セキュリティ管理コンピューティング部に接続される第1ビデオメモリと、前記セキュリティ管理コンピューティング部および前記ユーザーコンピューティング部に接続される第2ビデオメモリと、前記セキュリティ管理コンピューティング部に接続され、前記第1ビデオメモリと前記第2ビデオメモリの情報を選択的にモニタディスプレイ画面に表示するビデオグラフィックコントローラが含まれたビデオディスプレイユニットを含むことができる。この時、高速のグラフィック処理が必要な場合には、GPUをユーザーコンピューティング部に追加することができる。しかし、この場合にも、前記第2ビデオメモリをGPUが直接アクセスできるように変形することが望ましい。如何なる場合でも、セキュリティ管理コンピューティング部が独立的にセキュリティ管理者やユーザーに画面を提供する構造は維持されることが望ましい。
【0032】
この場合に、前記セキュリティ管理コンピューティング部は、前記第2ビデオメモリの情報を前記セキュリティ管理コンピューティング部ユーザーが設定した方法で、前記補助記憶装置ユニットの前記セキュリティ管理コンピューティング領域に保存して、前記セキュリティ管理コンピューティング部ユーザーの要求がある時、これを提供することができる。
【0033】
また、前記セキュリティ管理コンピューティング部は、前記ユーザーコンピューティング部から補助記憶装置ユニットに保存されたレジストリファイルや実行可能なファイルの変更を要求された場合、前記ビデオディスプレイユニットを介してこれを表示し前記キーボード入力を介して確認することができる。
【0034】
また、前記セキュリティ管理コンピューティング部で駆動されるOSは、ユーザーのハードウェア的な入力に応じて前記第1ビデオメモリの内容や第2ビデオメモリの内容を選択的にディスプレイするようにビデオディスプレイユニットを制御する手段をさらに含むことができる。この場合に、前記ハードウェア的な入力は、キーボード入力であっても良い。
【0035】
そして、本発明では、もう1つの側面として、前記キーボード入力のための専用のキーを持つキーボードが提供される。
【0036】
前記特徴を有する本発明に係るコンピュータでは、ユーザーコンピューティング部に伝達されるユーザーOSを状況に応じて原本やコピーを選択的に提供する。マルウェアに因りユーザーコンピューティングストレージ領域に保存されたユーザーOSの原本が毀損された場合には、新たにコンピュータが起動される時に、セキュリティコンピューティング領域に保存された毀損されていないコピーを利用して、正常的な起動が可能である。この時、ユーザーは、セキュリティ管理コンピューティング部のI/O装置のうちいずれか1つを利用して、コピーを利用した起動を指示することができる。 既存のWindowsと同一であれば、起動時にキーボードの特定のキーを押して起動されるユーザーOSをコピーに変更するか、 Windowsでなければ、別途独立したスイッチ入力を置いて、このスイッチの入力値に基づいてユーザーOSをコピーに変更することが望ましい。
【0037】
また、前記特徴を有する本発明に係るコンピュータのセキュリティ管理コンピューティング部は異常動作が検出された後、ユーザーコンピューティング部を停止させたり、リセット、または割り込み信号を発生させて異常動作を停止させたり、修復する機能を行なうことができる。例えば、ユーザーコンピューティング部からレジストリやドライバファイルの変更要求がある場合には、変更を拒否し、ユーザーに警告する方式などで対応することができる。
【0038】
また、前記特徴を有する本発明に係るコンピュータのI/O装置は、ハードウェア的には、セキュリティ管理コンピューティング部に直接接続され、相互通信ユニットを通じた情報交換(例えば、I/O装置のアドレスと、読み取り、書き込みなどの動作の種類をセキュリティ管理コンピューティング部に伝達し、これをセキュリティ管理コンピューティングが実行してその結果を伝達されたり、その装置がプリンタである場合、そのI/O装置を指定し、プリントするデータをセキュリティ管理コンピューティング部に伝達して処理する方法などで)などの方式でユーザーコンピューティング部に選択的に接続され、I/O装置と関連するセキュリティ管理コンピューティング部のソフトウェアは、ユーザーコンピューティング部の自由なアクセスが不可能であり、限られた条件下でのみ変更やインストール、削除などが可能に設定されることができる。このような動作を介して、セキュリティ管理コンピューティング部はI/O装置を管理し、データの不適切な移動やコンピュータのI/O装置の不適切な使用を監視することができる。例えば、ユーザーコンピューティング部が提示したハードウェアアドレスがプリンタ装置であれば、この装置との通信をモニタリングして記録し、セキュリティ管理者に提供することができる。
【0039】
また、前記特徴を有する本発明に係るコンピュータでは、基本的にユーザープログラムとユーザーOSはユーザーコンピューティング部で行われることが望ましいが、演算速度の向上のために並行実行が可能にセキュリティ管理コンピューティング部実行部と、ユーザーコンピューティング部実行部に分けることができる。例えば、インターネット接続時に画面の構成のうちグラフィックに関連する部分は、セキュリティ管理コンピューティング部が、その他はユーザーコンピューティング部が担当して処理速度を向上させることができる。また、例えば、ユーザープログラムやユーザーOSのリアルタイムアップデートモジュールやウイルス対策プログラムのリアルタイム監視モジュールなどの部分が、セキュリティ管理コンピューティング部で実行されたら、より安全でマルウェアの感染から自由になり、処理速度も速くなるであろう。
【0040】
また、前記特徴を有する本発明に係るコンピュータにおいて、セキュリティ管理コンピューティング部は自身の統制下にユーザーコンピューティング部で実行されるプログラムの実行時間を統制したり、実行を遮断する手段をさらに含むことができる。ユーザーコンピューティング部が要求をしても、セキュリティ管理コンピューティング部に設定された情報に基づいて、プログラム情報提供を拒否したり、実行が許可された後は、ユーザーコンピューティング部に周期的に割り込みをかけて、プロセスリストを見て指定された実行時間を超過すると、強制的にで終了させることができる。また、必要に応じて、ユーザーコンピューティング部の画面を保存することも可能である。そのためには、本発明のコンピュータでセキュリティ管理コンピューティング部への接続時に、ユーザーコンピューティング部とは互いに独立したパスワード認識過程が行なわれることが望ましい。
【0041】
また、前記特徴を有する本発明に係るコンピュータは、ユーザーコンピューティング部がセキュリティ管理コンピューティング部とは独立して別途のI/O装置を付加的に有することもできる。しかし、このような構成は、I/O装置を介して流入されるマルウェアを統制することは困難である。この場合、付加されるI/O装置が提供するプログラムの実行を遮断することが望ましい。しかし、如何なる場合でも、補助記憶装置をセキュリティ管理コンピューティング部が管理するので、マルウェアに感染されるとしても、監視および修復が可能である。
【0042】
また、前記特徴を有する本発明に係るコンピュータのセキュリティ管理コンピューティング部は、便宜上システムOSを持つことができる。この時、このシステムOSがユーザーコンピューティング部のユーザーOSと違っても大きな問題はない。しかし、補助記憶装置ユニットの管理やI/O装置の統制という観点から見ると、ファイルシステムをはじめとする最小限のOS構成要素は、同一であることがより望ましい。最も広く使われるWindowsの場合、ユーザーコンピューティング部は既存のWindowsをOSとして使い、セキュリティ管理コンピューティング部はWindowsのセーフモード機能を縮小し、前記様々な機能をさらに備えて、ユーザーのアクセスをより制限する方式で変形したシステムOSを使用することができる。
【0043】
一方、本発明では、前記特徴に係るコンピュータで実行され、プログラムのコードやデータが前記セキュリティ管理コンピューティング部で実行される第1ソフトウェアモジュールと、前記ユーザーコンピューティング部で実行される第2ソフトウェアモジュールに分かれているソフトウェアプログラムを使用することができる。
【0044】
このソフトウェアプログラムは、さらに、コンピュータで読み取り可能な、つまりコンピュータが読み取り可能な記録媒体の形で実装することが可能である。ここで、コンピュータが読み取り可能な記録媒体は、コンピュータシステムによって読み取られるデータが保存されるすべての種類の記録装置を含む。コンピュータが読み取り可能な記録媒体の例としては、ROM、RAM、CD-ROM、磁気テープ、フロッピーディスク、光データ保存装置などがある。また、コンピュータが読み取り可能な記録媒体は、ネットワークに接続されたコンピュータシステムに分散されて、分散方式でコンピュータが読み取り可能なコードが保存され、実行されることができる。
【0045】
前記ソフトウェアプログラムで、第1ソフトウェアモジュールと第2ソフトウェアモジュールは、前記相互通信ユニットを介して情報を交換することができる。
【0046】
また、前記ソフトウェアプログラムの第1ソフトウェアモジュールは、ソフトウェアのアップデートを担当するリアルタイムアップデートモジュールであっても良く、またはリアルタイム監視モジュールであるマルウェア監視プログラムであっても良い。
【発明の効果】
【0047】
本発明は、マルウェアによるシステム掌握の試みに対応し、システムの毀損を最小限に抑えることのできるコンピュータに関するものである。本発明によるコンピュータは、ユーザープログラムとユーザーOSを別途の孤立したハードウェアで実行させて、マルウェアによってハードディスクなどの補助記憶装置に保存されたOSやプログラム、またはユーザーファイルの内容が任意に変造されることを監視、遮断することが可能である。
【0048】
また、本発明のコンピュータでは、マルウェアが実行されても、これはユーザーコンピューティング部で孤立して実行されるため、マルウェアによる既存のコンピュータの問題をセキュリティ管理コンピューティング部が監視したり修復することができる。そのために、セキュリティ管理コンピューティング部は、原則として、プログラムのインストールや変更が不可能で、プログラムのインストールや変更のためには、別途の方法でアクセスするように構成される。結局、ユーザーコンピューティング部の異常時に、セキュリティ管理コンピューティング部が即時対応が可能になるため、セキュリティの問題が日増しに大きくなる今日の状況では、コンピュータの価格が多少高くなっても、非常に大きな効用を持つようになる。
【0049】
アクセス時間の面で見ると、補助記憶装置ユニットとI/O装置がセキュリティ管理コンピューティング部によって管理されるため、ユーザーコンピューティング部の立場から見れば、これらの装置のアクセス時間が増えることもある。しかしHDD、ODD、またはUSBに接続される装置自体のアクセスタイムがプログラムが実行される空間であるRAMのアクセスタイムと比較する時、数十から数百倍遅いので、アクセス時間が増えると言ってシステム全体の性能に悪影響を与えることではない。また、ユーザープログラムやユーザーOSのうち一部をセキュリティ管理コンピューティング部で実行させると、ユーザーが接するユーザーコンピューティング部の処理速度は速くなるので、全体的な速度低下は無視するできる程度のものである。また、セキュリティに問題が生じて、不適切な情報の流出で被害を受けるとしたら、その被害規模は、場合によっては、コンピュータの価格をはるかに越えてしまうので、本発明のコンピュータは、十分に大きな意味があると見られる。
【0050】
さらに、本発明に係るコンピュータは、ユーザープログラムの実行をプログラムの種類や時間などを基準に制限することが可能であり、プログラムの実行時に伴う情報(プリンタや外部記憶装置、ネットワークなどを通じた)の外部出力時にこれを記録したり、報告することが可能となるので、セキュリティ上非常に有利な点がある。
【0051】
以上で紹介した本発明の思想の構成と効果は、以下の図面と一緒に説明する具体的な実施例の説明を通じてより明確になるであろう。
【図面の簡単な説明】
【0052】
【
図1】本発明の一実施例に係るコンピュータ装置の構造図である。
【
図2】補助記憶装置ユニット30の概略構成図である。
【
図3】セキュリティ管理コンピューティング部100とユーザーコンピューティング部200の機能構成図である。
【
図4】本発明の他の実施例に係るコンピュータ装置の構造図である。
【発明の実施のための最良の形態】
【0053】
以下では、先に紹介した本発明の思想を具体的に実装した、いくつかの実施例を説明する。しかし、本発明の技術的範囲は、以下で説明する実施例および図面に限定されるものではなく、特許請求の範囲の合理的解釈によって決まるものである。
【0054】
図1は、本発明の一実施例に係るコンピュータ装置の構造図である。大きくは、セキュリティ管理コンピューティング部100と、ユーザーコンピューティング部200で構成される。
【0055】
セキュリティ管理コンピューティング部100は、第1アドレスバス11は、第1データバス12)、第1制御バス13信号を有する第1中央処理装置(CPU)10と、前記第1中央処理装置(CPU)10に第1アドレスバス11、第1データバス12、第1制御バス13信号を介して接続される第1メモリユニット20と、前記第1中央処理装置10に第1アドレスバス11、第1データバス12、第1制御バス13信号を介して接続されるHDDなどの補助記憶装置ユニット30と、前記第1中央処理装置10に第1アドレスバス11、第1データバス12、第1制御バス13信号を介して接続される入出力(I/O)装置ユニット40を含む。
【0056】
ユーザーコンピューティング部200は、第2アドレスバス51、第2データバス52、第2制御バス53の信号を有する第2中央処理装置(CPU)50と、前記第2中央処理装置(CPU)50に第2アドレスバス51、第2データバス52、第2制御バス53信号を介して接続される第2メモリユニット60を含む。
【0057】
また、前記セキュリティ管理コンピューティング部100の第1中央処理装置10と、第1アドレスバス11は、第1データバス12、第1制御バス13信号を介して接続され、前記ユーザーコンピューティング部200の第2中央処理装置50と第2アドレスバス51、第2データバス52、第2制御バス53信号を介して接続されて、第1中央処理装置10と第2中央演算処理装置50との間の通信を担当する相互通信ユニット70が含まれる。
【0058】
一実施例によると、相互通信ユニット70は、第1中央処理装置10と、第1アドレスバス11、第1データバス12、第1制御バス13信号を介して接続される割り込みレジスタを含む。このレジスタの出力信号は、前記第2中央処理装置50の割り込み信号入力に接続させることができる。この時、ユーザーコンピューティング部200は、前記割り込みレジスタを介して前記セキュリティ管理コンピューティング部100から割り込み信号を受ける場合、実行中のソフトウェアのリストとプロセス情報を前記相互通信ユニット70を介して提供することができる。また、ユーザーコンピューティング部200は、前記割り込みレジスタを介して前記セキュリティ管理コンピューティング部100から割り込み信号を受ける場合には、前記相互通信ユニット70を介して提供される情報を用いて、実行中のソフトウェアとプロセスの実行を選択的に中断させることができる。
【0059】
大概の場合、CPUは複数の割り込みを処理することができるので、割り込み処理の種類に応じて異なるようにすることも可能である。また、ユーザーコンピューティング部が実行する割り込みプログラムの物理的アドレスを、セキュリティ管理コンピューティング部のみが書き込み可能なフラッシュメモリに置いて、割り込みラインは1つだけ使い、プログラムはその都度変えて実行させることも可能である。
【0060】
また、他の実施例によれば、相互通信ユニット70は、前記第1中央処理装置10と、第1アドレスバス11、第1データバス12、第1制御バス13信号を介して接続され、第2中央処理装置50と第2アドレスバス51、第2データバス52、第2制御バス53信号を介して接続されているデュアルポートメモリを含むことができる。デュアルポートメモリは、属性上、セキュリティ管理コンピューティング部とユーザーコンピューティング部の同時アクセスが可能なので、小容量のデータ転送時に有用に使用されることができる。また、デュアルポートメモリの一部をフラッシュメモリで構成し、書き込みはセキュリティ管理コンピューティング部のみ可能にようにし、ユーザーコンピューティング部の割り込みベクタが指示する割り込み処理プログラムの開始アドレスを物理的にデュアルポートフラッシュメモリを指すようにすることも可能である。
【0061】
他の実施例によれば、相互通信ユニット70は、前記第1中央処理装置10と第1アドレスバス11、第1データバス12、第1制御バス13信号を介して接続され、前記第2中央処理装置50と第2アドレスバス51、第2データバス52、第2制御バス53信号を介して接続されるDMAインタフェースを含むことができる。このDMAインタフェースが双方向に設計されると、セキュリティ管理コンピューティング部とユーザーコンピューティング部との間の大容量データ、例えば、補助記憶装置に保存されたファイルのようなデータを送受信する時に有用に使用することができる。
【0062】
セキュリティ管理コンピューティング部100は、すべてのI/O装置40を監視、統制し、特に補助記憶装置ユニット30をセキュリティ管理コンピューティングストレージ領域とユーザーコンピューティングストレージ領域に分けて管理して修復機能を実行し、ユーザーコンピューティング部200は、I/O装置40から孤立して、別途のCPUとメモリを持って相互通信ユニット70を介してセキュリティ管理コンピューティング部100に接続されてユーザープログラムとユーザーOSを実行する。
【0063】
図2に、前記補助記憶装置ユニット30の概略構成を示す。ストレージ領域1とストレージ領域2に物理的または論理的に分離されているが、それぞれ、セキュリティ管理コンピューティング部100が使用するセキュリティ管理コンピューティングストレージ領域31と、ユーザーコンピューティング部200が使用するユーザーコンピューティングストレージ領域32である。これらのうち、セキュリティ管理コンピューティングストレージ領域31は、ユーザーコンピューティング部200に露出されない。つまり、1つの記憶装置(例えば、HDD)をパーティションに分けてセキュリティ管理コンピューティング部100が使用するパーティションをセキュリティ管理コンピューティングストレージ領域31として設定し、この領域はユーザーコンピューティング部200に露出されないように設定することが望ましい。これらのパーティショニングとは異なり、場合によっては、物理的に分離された2つのHDDを使用することも可能である。また、速度の改善のためには、フラッシュメモリで構成された記憶装置が、より望ましいこともある。
【0064】
他の方法では、HDD全体をセキュリティ管理コンピューティング部100とユーザーコンピューティング部200が一緒に使用し、セキュリティ管理コンピューティング部100が使用するファイルやセクターがユーザーコンピューティング部200に露出されないようにする方法も可能である。この場合、ユーザーコンピューティング部200に露出されるファイルシステムは、事実上単一の連続した空間として表されるが、実際にはそれぞれのセクターを誰が使用したのかを1つ1つ確認しなければならないので、ファイルシステムの管理が煩わしいという短所がある。しかし、ユーザーコンピューティング部200がファイルを変更する時、セキュリティ管理コンピューティング部100がファイルの属性を、自身が使用するものとのみ変更して管理が可能になるので、バックアップ時には相当な時間短縮効果を得ることができる。
【0065】
図3は、セキュリティ管理コンピューティング部100とユーザーコンピューティング部200の詳細な機能構成を示す。
【0066】
図3に示した各モジュールは、セキュリティ管理コンピューティング部100の第1中央処理装置10またはユーザーコンピューティング部200の第2中央処理装置50の個別的機能を実装するためのソフトウェア的構成を示し、別途のハードウェア無しに、または必要時には、特定のハードウェアが付加されて動作することができる。
【0067】
次は、前記
図1~
図3を参照して、本発明の構成と作用を説明する。
【0068】
一実施例では、ユーザーコンピューティング部200内に(すなわち、第2中央処理装置50内に)機能単位として含まれる構成要素であるユーザープログラムの実行モジュール210でユーザープログラムが実行されるが、この時にはセキュリティ管理コンピューティング部100と孤立したセキュリティロックおよび解除のプロセスを持つ孤立したユーザープログラムが実行される。ユーザーコンピューティング部200には、(すなわち、第2中央処理装置50には)また、ユーザーOSの実行モジュール220とI/O接続モジュール230が含まれている。これらについては後述する。
【0069】
そして、セキュリティ管理コンピューティング部100には、(すなわち、第1中央処理装置10には)ユーザーコンピューティング部200を監視および統制するユーザーコンピューティング部管理モジュール110、I/O装置40を監視および統制するI/O管理モジュール120、修復機能を実行するために補助記憶装置ユニット30を
図2に示すように、セキュリティ管理コンピューティング用ストレージ領域とユーザーコンピューティング用ストレージ領域に分けて管理する補助記憶装置管理モジュール130が含まれる。また、これらに加えて、セキュリティ管理コンピューティング部100には、ユーザーOS管理モジュール140がさらに含まれる。これらのモジュール(110~140)もセキュリティ管理コンピューティング部100の第1中央処理装置10内にソフトウェア機能ブロックとして含まれても良い。
【0070】
ユーザーコンピューティング部の例として、ユーザーOSの実行モジュール220は、ユーザーOSプログラムとデータ実行を行なうが、この場合に、ユーザーOSの実行モジュール220は、ユーザーOSを含むプログラムとデータを、セキュリティ管理コンピューティング部100が管理する補助記憶装置ユニット30に依存する。つまり、ユーザーコンピューティング部200で実行されるユーザーOSデータは、セキュリティ管理コンピューティング部100のユーザーOS管理モジュール140によって、セキュリティ管理コンピューティング部100にある補助記憶装置ユニット30のユーザーコンピューティング部ストレージ領域32に原本が保存され、そのコピーは、セキュリティ管理コンピューティングストレージ領域31に保存される。実行時には、前記相互通信ユニット70を介して前記セキュリティ管理コンピューティング部100から前記ユーザーコンピューティング部200に原本が伝達され、前記第2メモリユニット60に設置されて実行される。
【0071】
また、ユーザーコンピューティング部200の例として、I/O接続モジュール230は、セキュリティ管理コンピューティング部100にあるI/O装置40との接続をセキュリティ管理コンピューティング部100に依存する。つまり、例えば、USBやLANなどの汎用通信インタフェース、キーボード、マウスなどのI/O装置は、ハードウェア的にセキュリティ管理コンピューティング部100のI/O管理モジュール120に接続されてドライバソフトウェアやシミュレーションソフトウェアを介してユーザーコンピューティング部200のI/O接続モジュール230に選択的に接続される。この時、セキュリティ管理コンピューティング部100は、ユーザーのアクセスが厳密に管理され、プログラムの変更やインストールが原則的に不可能に構成される。このような構造により、事実上第2者となるセキュリティ管理コンピューティング部100は、既存のコンピュータと同一の構造のユーザーコンピューティング部200の動作監視が可能となる。
【0072】
セキュリティ管理コンピューティング部100のI/O管理モジュール120は、すべてのI/O装置40を管理し、データの不適切な移動やコンピュータの不適切な使用を監視する。例えば、ディスプレイの画面やキーボード入力の記録が可能なので、不適切な使用を監視することができる。USBを介してファイルをコピーする場合にも、その記録が可能なので、適切なセキュリティ対策が可能である。既存のように1つのOSが全体を管理するコンピュータでも記録が可能であるが、記録された情報に最上位管理者はアクセス可能なので、こっそりとこれを削除したり変形する場合には、セキュリティに問題が発生する。したがって、本発明に係るコンピュータ装置は、企業や軍事用などのセキュリティが必要な場合に非常に有用である。この場合、セキュリティネットワークを介してセキュリティ担当部署でコンピュータ全体の作業内容やセキュリティを監視し統制することが可能である。この時、セキュリティネットワークは、ユーザーコンピューティング部には露出されないので、非常に安全である。
【0073】
また、セキュリティ管理コンピューティング部100は、I/O装置に接続される入出力装置がプログラムコードを伝達しようとする場合、これを相互通信ユニット70を介して前記ユーザーコンピューティング部200に伝達し、前記ユーザーコンピューティング部200はこれを行なう。
【0074】
セキュリティ管理コンピューティング部100に接続されるI/O装置別、 ユーザーコンピューティング部200の動作を説明すると、セキュリティ管理コンピューティング部100に結合されるキーボードユニットとマウスユニットに対してユーザーコンピューティング部200は、キーボードユニットとマウスユニットとの情報入出力を前記セキュリティ管理コンピューティング部100の統制下に(例えば、I/O管理モジュール120の機能により)前記相互通信ユニット70を介して行なうことができる。セキュリティ管理コンピューティング部100に結合されるUSBユニットの場合にも、ユーザーコンピューティング部200は、前記USBユニットとの情報入出力を前記セキュリティ管理コンピューティング部100の統制下に前記相互通信ユニット70を介して行なうことができる。セキュリティ管理コンピューティング部100に結合されるPCIユニットの場合にも、前記ユーザーコンピューティング部200は、前記PCIユニットとの情報入出力を前記セキュリティ管理コンピューティング部100の統制下に前記相互通信ユニット70を介して行うことができる。セキュリティ管理コンピューティング部100に結合されるLANユニットに対しても前記ユーザーコンピューティング部200は、前記LANユニットとの情報入出力を前記セキュリティ管理コンピューティング部100の制御下に前記相互通信ユニット70を介して行なうことができる。これらのI/O装置との通信は、装置のハードウェアアドレスと入出力情報、入出力動作を指定して、個別に進めることができるが、I/O装置の種類ごとに機能が決まっているので、一部のI/O装置に対しては、プリンタモジュールに対してプリント情報を提供し、「装置に出力」というコマンドで、外装補助記憶装置に対してはファイル名を指定し、「デバイスにコピー」というコマンドで簡単に処理することもできる。
【0075】
セキュリティ管理コンピューティング部100のユーザーコンピューティング部管理モジュール110は、ユーザーコンピューティング部200の動作を点検し監視する機能を有する。この機能は、さらに、場合によっては、第2中央処理装置50を停止させたり、リセット、または割り込み信号を発生させて特定のプログラムを実行させるなどの方法で、異常動作を停止させたり修復できる機能を含む。
【0076】
ユーザーコンピューティング部管理モジュール110は、また、ユーザーコンピューティング部200のユーザープログラム実行モジュール210やユーザーOS実行モジュール220で実行されるコードのうち安全に管理できる部分をセキュリティ管理コンピューティング部100で並行して実行できるように構成する機能を持つことができる。例えば、OSやプログラムのアップデート、ウイルス対策ソフトのリアルタイム監視部分などを、セキュリティ管理コンピューティング部100が実行されると、ユーザーコンピューティング部200が実行されるよりも速く他の作業を行なうことができる。
【0077】
また、例えば、インターネット接続時には、画面構成のうちグラフィックと関連する部分は、セキュリティ管理コンピューティング部100が、その他はユーザーコンピューティング部200が担当するようにユーザーコンピューティング部管理モジュール110を設定することができる。これにより、一層速い動作が可能となる。
【0078】
上記のように、本発明のコンピュータで駆動されるすべてのソフトウェアは、そのプログラムコードやデータがセキュリティ管理コンピューティング部100で実行される部分と、ユーザーコンピューティング部200で実行される部分に分離することができる。この時、セキュリティ管理コンピューティング部100で実行される部分は、OSやユーザープログラムのソフトウェアのアップデートを担当するアップデートモジュールであっても良い。
【0079】
また、インターネット接続時にユーザーコンピューティング部200の動作が不審とされる場合、セキュリティ管理コンピューティング部100が、キーボード入力をユーザーコンピューティング部200に送信することなく、接続中のインターネットサイトに直接送信することも可能である。この場合に、ユーザーコンピューティング部200には「*」のように、キーボード入力に代わって文字を送り、セキュリティ管理コンピューティング部100が使用する画面にユーザーが入力する実際の情報を示すことが可能である。
【0080】
また、本発明に係るコンピュータは、家庭でも子供の過剰なゲームサイトへのアクセスやわいせつ物の視聴などを親が容易に監視できるようになる。セキュリティ管理コンピューティング部100のユーザーコンピューティング部管理モジュール110にこれらの機能を付加して、子供たちがユーザーコンピューティング部200のみ接続できるように設定しておけば、セキュリティ管理コンピューティング部100の統制下に、特定のプログラムの実行時間を制御したり、実行を遮断することが可能で、また、画面をキャプチャして保存することが可能である。前記状況をネットワークを介して親の携帯電話でリアルタイムで監視することができるので、子供の無節制なコンピュータの使用を親が効果的に防ぐことができる。この場合、親の携帯電話とは、Bluetooth、無線LAN、共用データ網などで接続することができ、専用アプリを提供すれば、より便利になる。
【0081】
これらの機能のために、モニタのためのビデオディスプレイユニットには、前記セキュリティ管理コンピューティング部100に接続される第1ビデオメモリ(図示せず)と、前記セキュリティ管理コンピューティング部100および前記ユーザーコンピューティング部200に接続される第2ビデオメモリ(図示せず)と、前記セキュリティ管理コンピューティング部100に接続され、前記第1ビデオメモリと前記第2ビデオメモリの情報を選択的にモニタのディスプレイ画面に表示するビデオグラフィックコントローラが含まれなければならない。
【0082】
このように構成されたビデオディスプレイユニットが接続されたセキュリティ管理コンピューティング部100は、前記ユーザーコンピューティング部200から補助記憶装置ユニット30の特定の領域に保存された情報の変更を要求された場合に、前記ビデオディスプレイユニットを介してこれをディスプレイし、ユーザーに確認を要求する動作(例えば、キーボード入力)を行うことができる。
【0083】
また、セキュリティ管理コンピューティング部100は、前記第2ビデオメモリの情報をセキュリティ管理コンピューティング部100のユーザーが設定した方法で補助記憶装置ユニット30のセキュリティ管理コンピューティングストレージ領域に保存して置き、ユーザーの要求がある時に、これを提供することができる。
【0084】
一方、本発明では、セキュリティ管理コンピューティング部100で駆動されるシステムOSとして、ユーザーのハードウェア的な入力に応じて前記第1ビデオメモリの内容や第2ビデオメモリの内容を選択的にディスプレイするようにビデオディスプレイユニットを制御する機能のあるソフトウェアも含まれる。この場合には、ユーザーのハードウェア入力のための専用のキーを持つキーボードを備えれば、 より便利になるであろう。
【0085】
ハッカーやウイルスの侵入によりユーザーコンピューティング部200が異常動作をした場合、これに対応するプログラムをセキュリティ管理コンピューティング部100のユーザーコンピューティング部管理モジュール110と補助記憶装置管理モジュール130に備えれば、ハッキングやウイルスに対する効果的な対応が可能である。既存のコンピュータ構造は、ウイルスの異常動作をウイルス対策ソフトやその他の方法で、事後の確認となるが、本発明では、セキュリティ管理コンピューティング部100がリアルタイムでユーザーコンピューティング部200の動作(この場合には、ウイルスの動作)を監視するので、即時対処が可能である。
【0086】
例えば、ウイルスが侵入してハードディスクに保存されるファイルに隠れるために、ファイルの内容を変造する場合、既存のコンピュータはファイルが変造された以降にウイルス対策ソフトでこれを確認することができたが、本発明に係るコンピュータ装置では、リアルタイムでファイルの変造を遮断することが可能である。また、一部知られたウイルスは、既存のコンピュータウイルス対策ソフトのリアルタイム監視機能を使用して遮断できるが、新型で登場するウイルスには対応ができず 、ウイルス対策ソフトのアップデートがされていない場合には、さらにセキュリティ問題が発生する。これに対して、本発明に係るコンピュータ装置では、WindowsのようなOSの場合は、ウイルスのファイルシステムの変更やレジストリの変更を第3者であるセキュリティ管理コンピューティング部100が遮断できるので、ウイルスが最上位管理者権限を持ってアクセスしても、より根本的な対策が可能である。
【0087】
さらに、本発明に係るコンピュータでは、ハードディスクなどの補助記憶装置ユニット30をセキュリティ管理コンピューティング部100の補助記憶装置管理モジュール130が統制するので、様々なセキュリティ機能を便利に実装することができる。
【0088】
例えば、前述したように、セキュリティ管理コンピューティング部100が使用する補助記憶装置ユニット30のセキュリティ管理コンピューティングストレージ領域31を、ユーザーコンピューティング部200には全く露出されないように、設定または構成することができる。したがって、このストレージ領域は、マルウェアの攻撃から非常に安全である。したがって、ユーザーコンピューティング部200がファイルシステムの変更を要求すると、ファイルシステムのバックアップ情報をセキュリティ管理コンピューティングストレージ領域31に保存し、ファイルシステムを変更すれば、問題発生時にも特定の時間を指定してファイルシステムを修復することが可能となる。すなわち、前記セキュリティ管理コンピューティング部100は、前記ユーザーコンピューティング部から前記ユーザーコンピューティングストレージ領域32のファイルシステムの変更を要求された時、既存のファイルシステムの復元情報を前記セキュリティ管理コンピューティング部100が独占的に使用するセキュリティ管理コンピューティングストレージ領域31の特定の部分に保存する。この情報は、ユーザーコンピューティング部には露出されないため、安全な対応が可能である。
【0089】
既にウィンドウズ(Windows)に特定の時点のコンピュータプログラムとデータイメージをバックアップし、これを使用してシステムを修復する機能があり、OSに問題がある場合には、OSを修復できる機能もある。しかし、前述したように、バックアップ情報に誰でもアクセスが可能な既存のコンピュータ構造では、マルウェアもバックアップ情報にアクセスできるので、完全なセキュリティは不可能である。例えば、ハッキングプログラムやウイルスプログラムがハードディスクを破壊しようとしても、従来のコンピュータは、これらのプログラムの属性を全く知らないまま、無計画にマルウェアのコマンドを実行し、コンピュータが動作不能状態に陥ってしまう。例えば、ランサムウェアが、ユーザーファイルをランダムに暗号化しても、これを全く知らないまま、暗号化処理を実行する。
【0090】
しかし、本発明に係るコンピュータでは、セキュリティ管理コンピューティング部100(例えば、ユーザーコンピューティング部管理モジュール110)がユーザーコンピューティング部200の動作を監視することができるので、OSファイルやデータファイルの変更や削除時に安全な場所にバックアップ情報ファイルを作成して置くことにより、修復が容易に可能である。また、これらのファイルの削除などのコマンドを受信すると、セキュリティ管理コンピューティング部100が、再度ユーザーの確認を要求することもできるので、セキュリティが大幅に強化される。既存のコンピュータで、一部のマルウェアはユーザーの確認が必要な場合に、キーボードドライバを感染させて偽の確認入力を発生させて、ユーザーの追加確認をスキップさせることができるが、本発明に係るコンピュータではユーザーの追加確認がセキュリティ管理コンピューティング部100で行われるので、マルウェアの偽の確認入力は不可能である。
【0091】
一般的に、最近、使用される殆どのPC系のコンピュータ装置は、高速のグラフィック処理のためにGPUを使用する。GPUは孤立したコードとワークスペースを持つという点では、本発明の孤立したユーザーコンピューティング部200と類似すると見ることもできるが、CPUがGPUの作業を監視し、異常動作時に修復しようとする、如何なるハードウェアやソフトウェア的な構成がないので根本的に差がある。すなわち、2つの中央処理装置が、他のいずれかの中央処理装置の異常動作を検出し対応するための目的で結合された構造ではないので、GPUは他のI/O装置を使用しておらず、OSもなく領域が分離された補助記憶装置を使用することもない。
【0092】
以上のように構成された本発明に係るコンピュータの詳細な動作を具体的に説明すると、次の通りである。
【0093】
1-1.起動
電源投入により起動が開始されると、セキュリティ管理コンピューティング部100とユーザーのコンピュータのBIOSコードがそれぞれ実行される。この時、セキュリティ管理コンピューティング部100の第1中央処理装置10の起動処理モジュール(図示せず)は、I/O装置40と、メモリのPOST(Power On Self Test)を実行し接続されたハードディスク、つまり、補助記憶装置ユニット30からシステムOSをロードする。(この時、ハードディスクの容量が十分で1つのハードディスクがユーザーコンピューティングストレージ領域32とセキュリティ管理コンピューティングストレージ領域31をすべて含むものと仮定する。すなわち、ハードディスクの一部分がセキュリティ管理コンピューティングストレージ領域31として設定されているものと仮定する)。一方、ユーザーコンピューティング部200の起動処理モジュール(図示せず)も起動を開始し、メモリと相互通信ユニット70のセルフテストを経てユーザーOSデータ(ユーザーコンピューティング部200のOS)とI/O装置40のPOST結果を相互通信ユニット70を介してセキュリティ管理コンピューティング部100に要求する。
【0094】
セキュリティ管理コンピューティング部100は、POSTの結果とユーザーOSデータを相互通信ユニット70を介して伝達し、ユーザーコンピューティング部200はこれを利用して起動処理を実行する。ユーザーOSが正常にインストールされると、ユーザーOSは、ユーザーが設定したプロファイルによりスタートアップアプリケーションのデータをさらにセキュリティ管理コンピューティング部100に要求し、これらの情報を利用してスタートアップアプリケーションをメモリにインストールし起動を終了する。ユーザーOSがWindowsとすると、起動を完了した初期画面には、ユーザープログラムアイコンが表示される。
【0095】
この時、セキュリティ管理コンピューティング部のOSとユーザーコンピューティング部200のOSが同一である必要はない。しかし、一定の部分でも共有すれば、相当な作業能力の相乗効果を期待できる。例えば、セキュリティ管理コンピューティング部100のOSがWindowsのセーフモードブートに対応するOSであり、ユーザーコンピューティング部200のOSがWindowsであれば、セキュリティ管理コンピューティング部100が、プログラムやOSのアップデート、さらにウイルス対策ソフトのリアルタイム監視モジュールを実行させることで、不審なプログラムコードのリアルタイム点検も可能になる。
【0096】
1-2.一方、OSの起動前に、セキュリティ管理コンピューティング部100のBIOS処理モジュール(図示せず)は、ユーザーコンピューティング部200BIOSの機能を変更することが可能である。
【0097】
割り込みレジスタ(図示せず)や相互通信ユニット70を利用して、BIOSの一部機能を変更する場合を見てみる。割り込みレジスタが16ビットで構成されると、それぞれのビットに1つのON/OFF情報を伝達できるので、様々な用途に使用することができる。例えば、割り込みレジスタのビット0は、ハードウェア的にユーザーコンピュータのNMIラインに直に接続され、ビット1は、ハードウェア的にユーザーコンピュータのリセットラインにPOR(Power On Reset)信号とORゲートで接続されると仮定し、ビット15は、BIOSの変更を表すと仮定する。また、割り込みレジスタは、電源ON時に0に設定されると仮定し、割り込みレジスタの現在値は、セキュリティ管理コンピューティング部100とユーザーコンピューティング部200の両方で読み取ることができると仮定する。
【0098】
セキュリティ管理コンピューティング部100のBIOS処理モジュールは、起動時にユーザーコンピューティング部200のBIOSの変更が必要であれば、割り込みレジスタのビット15をセット(set)し、変更が必要な部分のデータを相互通信ユニット70に保存する(相互通信ユニット70をDPRAM(Dual Port Ram)と仮定した場合)。
【0099】
ユーザーコンピューティング部200のBIOS処理モジュール(図示せず)は、電源投入後、割り込みレジスタのビット15を読み取ってBIOSの変更が必要かどうかを確認し、必要だとチェックされていれば、相互通信ユニット70を介して情報を読み込んでBIOSを変更する。変更が終了すれば、これをさらに相互通信ユニット70を介してセキュリティ管理コンピューティング部100に知らせ、ユーザーコンピューティング部200自身は最初から再起動を行う。セキュリティ管理コンピューティング部100は、割り込みレジスタのビット15をクリア(clear)してBIOS変更を解除する。
【0100】
この時、ハードウェア的に別途のレジスタを介してユーザーコンピューティング部200BIOSのWR(write)信号を制御することが望ましい。つまり、セキュリティ管理コンピューティング部100のBIOS処理モジュールが許可した場合にのみ、ユーザーコンピューティング部200のBIOS処理モジュールが自身のBIOSメモリ(図示せず)への書き込みが可能になると、マルウェアによるBIOSの変更を防ぐことができる。つまり、別途のレジスタの出力とWR信号をANDゲートを介してBIOSメモリのWR入力に印加すると、該当ビットが1のときのみWR信号が伝達されるので、起動時にセキュリティ管理コンピューティング部100が許可する場合にのみ書き込みが可能になる。
【0101】
1-3.セキュリティ管理コンピューティング部100のI/O管理モジュール120は、設定に応じて入出力装置ユニット40と接続された周辺装置の情報を相互通信ユニット70を介してユーザーコンピューティング部200のI/O接続モジュール230に提供する。
【0102】
ユーザーコンピューティング部200の I/O接続モジュール230は、その周辺装置の接続を認知すると、必要なドライバをセキュリティ管理コンピューティング部100のユーザーコンピューティング部管理モジュール110に要求してインストールし、自身の周辺装置リストに追加する。これらの周辺装置リストと情報は、セキュリティ管理コンピューティング部100と(例えば、I/O管理モジュール120と)共有される。相互通信ユニット70を介して伝達された該当周辺装置への読み取りと書き込みは、セキュリティ管理コンピューティング部100(例えば、I/O管理モジュール120)が実行し、その結果は相互通信ユニット70を介してユーザーコンピューティング部200に伝達される。つまり、該当装置へのドライバは、ユーザーコンピューティング部200に存在し、セキュリティ管理コンピューティング部100は、ユーザーコンピューティング部200の要求に応じて、ハードウェア的な単純な入出力を担当する。この時、単純な入出力をブロック化させてデーターブロックの移動に拡張することもできる。
【0103】
例えば、プリンタがUSBを介して接続されると、セキュリティ管理コンピューティング部100のI/O管理モジュール120は、接続を認知し関連情報を相互通信ユニット70を介してユーザーコンピューティング部200のI/O接続モジュール230に伝達する。ユーザーコンピューティング部200は、受信された情報を分析して、プリンタであることが確認されると、そのプリンタのドライバをインストールすることになる。
【0104】
ドライバのインストールは、既存のコンピュータの場合と同様に行われる。ユーザーコンピューティング部200は、相互通信ユニット70を介してセキュリティ管理コンピューティング部100の統制下に補助記憶装置ユニット30のドライバを検索する。この過程は、ドライバプログラムを見つけるまで続けられる。適切なドライバプログラムが見つかると、ユーザーコンピューティング部200は、これを自身のメモリにインストールし、自身の周辺装置リストにこれを追加する。この過程で、セキュリティ管理コンピューティング部100は、単純な入出力のみを提供するだけであるが、その装置の接続に関する内容は記録され管理が可能である。
【0105】
しかし、前述したように、I/O装置に対しては、様々な管理方法が存在する。例えば、プリンタのような場合には、プリンタドライバをセキュリティ管理コンピューティング部100で実行させて置き、ユーザーコンピューティング部200のユーザープログラム(例えば、MSワード)は、プリントする情報とプリンタパラメータをセキュリティ管理コンピューティング部に伝達し、「装置に出力」という処理命令を伝達して簡単にプリントを行うこともできる。この場合、プリンタドライバがマルウェアに感染しないように注意しなければならない。
【0106】
2.アプリケーション(ユーザープログラム)の実行
起動が終了すると、ユーザーコンピューティング部200のユーザープログラム実行モジュール210は、パスワードを確認する過程を経てユーザーの接続を許可する。例えば、接続許可を受けたユーザーが、インターネットに接続するためにブラウザを実行させると、ユーザーコンピューティング部200のユーザーOS実行モジュール220と、ユーザープログラム実行モジュール210は、該当プログラムのコードをセキュリティ管理コンピューティング部100に要求し伝達されて実行させる。次に、ユーザーが特定のインターネットサイトに接続すれば、すべての情報は相互通信ユニット70を介して中継することになる。例えば、該当サイトがActive Xのようなコードの実行を要求すれば、これはユーザーコンピューティング部200に伝達される(もし、セキュリティ管理コンピューティング部100にリアルタイム監視プログラムがあれば、点検した後に伝達することになる)。
【0107】
もし、そのコードがマルウェアで、特定のプログラムファイルを変造して隠れるために補助記憶装置ユニット30のユーザーコンピューティングストレージ領域32の特定のファイルの内容を変更しようとすれば、セキュリティ管理コンピューティング部100のユーザーコンピューティング部管理モジュール110は、これをセキュリティ管理コンピューティング部100に含まれたビデオ装置を介して画面に表示し、ユーザーの確認を要求する。この時、スピーカーが接続された場合であれば、警告音の発生も可能である。したがって、1次的な対応が可能になる。
【0108】
3.マルウェアの感染
上記で明らかにしたようにウィルス対策ソフトは、基本的にマルウェアの特定のイメージを使用して検索を試みるため、新型で登場するマルウェアに対して脆弱である。また、ユーザーコンピューティング部200が独自の入出力装置を持つこともできるので、マルウェアの感染は不可能ではない。とにかく、マルウェアに感染したと仮定しよう。こうなると、マルウェアは、すでに補助記憶装置ユニット30のユーザーコンピューティングストレージ領域32にあるユーザーコンピューティング部200のファイルシステム内に隠れており、悪意的な動作を実行するであろう。例えば、ランサムウェアと仮定すると、ユーザーのワードファイルや作業ファイルを暗号化しようと試みることもある。
【0109】
しかし、本発明に係るコンピュータでは、ファイルが変更されたり削除されると、そのファイルのバックアップイメージが補助記憶装置管理モジュール130によって補助記憶装置ユニット30のセキュリティ管理コンピューティングストレージ領域31に安全に保存されるため、既存のコンピュータでのように、バックアップイメージまですべて削除されることはない。したがって、ユーザーが、ハッカーの不当な要求で感染を確認すれば、直ちにセキュリティ管理コンピューティング部100に接続して、ユーザーコンピューティング部200のファイルシステムを感染前に戻すことができる。したがって、マルウェアの被害修復が可能である。この時、感染経路として疑われるサイトへのアクセス記録を確認してOSやアプリケーションも該当時点以前に変更すると、システムは完全に正常に修復される。
【0110】
もし、ハッカーがOSに毀損して、ユーザーコンピューティング部200が、ハッカーの命令により何の作業も実行できない状況でも対応が可能である。このような状況は、悪性コンピュータウイルスがブートセクタを消去してしまったり、ユーザーデータを消してしまう場合と類似する。この場合に、ユーザーが状況を認知することになると、ユーザーはキーボード入力を介してセキュリティ管理コンピューティング部100の画面を表示させて対応することができる。ユーザーが修復を希望する場合には、修復プログラムは、割り込みレジスタを使用してユーザーコンピューティング部200の中央処理装置に割り込みをかけて指定された作業を実行させることができる。この時、割り込みサービスプログラムは、不揮発性メモリに保存されており、アクセスは統制されるので、マルウェアがこれを防ぐ方法はない。この方法で、ユーザーコンピューティング部200のプロセスリストを伝達されてプロセスを検査することができ、不審なプロセスを強制終了するように命令することも可能である。また、割り込みレジスタの対応するビットをセットして解除する方法で、ユーザーコンピューティング部200を強制的にリセットさせて、ブートプロセスをコールドスタートモードで再実行することも可能である。この時は、補助記憶装置ユニット30のセキュリティコンピュータ領域に保管されたユーザーコンピューティング部200のOSコピーを提供して、正常にユーザーコンピューティング部200を修復することができる。
【0111】
一方、これらの作業は、セキュリティ管理コンピューティング部100の画面を介して行なわなければならないが、ユーザーは画面の切替用キーが付着された専用のキーボードを利用して、ユーザーコンピューティング部200の画面からセキュリティ管理コンピューティング部100の画面に切り替えて作業することができる。
【0112】
4.ファイルのプリントや外部記憶装置の監視
ユーザーコンピューティング部200でワードプロセッサを駆動し、特定のファイルの印刷を試みたと仮定しよう。この時、プリンタは、セキュリティ管理コンピューティング部100に接続されるだけなので、ユーザーコンピューティング部200は、(例えば、I/O接続モジュール230が)ドライバプログラムやシミュレーションプログラムを介してプリンタに命令を下すしかない。
【0113】
この時、セキュリティ管理コンピューティング部100は、(例えば、I/O管理モジュール120は、)ユーザーコンピューティング部200の要求に応じて、I/Oデバイスとの通信を中継するようになるが、通信内容をすべて記録したり、ユーザーが指定した時間間隔に応じて、該当通信記録を保存することが可能である。この時、プリンタに出力を命令したアプリケーションの確認もプロセス情報を介して確認することができる。また、ユーザーコンピューティング部200から提供された周辺装置の情報を介して、該当装置がプリンタであることを認知している場合には、より体系的に出力される情報を途中でコピーして保存し、セキュリティ管理コンピューティング部100に接続するセキュリティ担当者に提供することも可能である。
【0114】
外部記憶装置が接続される場合、もし、外部記憶装置がドライバプログラムやセットアッププログラムの実行を要求すると、そのプログラムは、すべてユーザーコンピューティング部200に伝達され、実行される。したがって、これらの接続記録や通信記録もすべて管理が可能である。さらに、その装置が外部記憶装置であることをセキュリティ管理コンピューティング部100が認知している場合には、より体系的に入出力されるファイルのコピーやアクセス情報を保存して提供することが可能である。また、プログラムごとのファイル体系を知ることができる場合には、これを入力画面のような原始的な段階で確認が可能なので、特定の単語を含むファイルの外部保存をリアルタイムで遮断することも可能である。また、ユーザーコンピューティング部200の画面を保存して提供することもできるので、強力なセキュリティ効果を得ることができる。
【0115】
5.特定のプログラムの使用統制
本発明に係るコンピュータは、特性上、ユーザーコンピューティング部200で実行されるすべてのプログラムをセキュリティ管理コンピューティング部100のプログラムが提供するため、セキュリティ管理コンピューティング部100のユーザーコンピューティング部管理モジュール110の設定に応じて、ユーザーコンピューティング部200で実行されるプログラムを制御することができる。例えば、多くの企業では、勤務時間中にインターネットサーフィンを会社次元で遮断しているが、会社のネットワークを利用せずに、自身の携帯電話を媒介にして、外部網に直接接続すれば監視網を避けることができる。しかし、本発明のコンピュータでは、ブラウザの使用を禁止したり、ブラウザを例えば 9:00-18:00の間には使わないように設定することが可能なので、これを防ぐことができる。
【0116】
例えば、社内ネットワークを介してセキュリティ管理コンピューティング部100にブラウザが統制対象プログラムリストに入っており、統制方法は、会社の承認下のみに可能なように設定されているとしたら、作業者はブラウザの使用をセキュリティ部署に要求することができる。これが承認されると、セキュリティ部署はネットワークを介してセキュリティ管理コンピューティング部100の統制方法を変更して、10:00-12:00に使用可能に変更することで、作業者はブラウザを使用できるようになる。この時、作業者のユーザーコンピュータの画面を周期的に保存して、より徹底した監視をすることも可能である。
【0117】
6. セキュリティ管理コンピューティング部100の接続とプログラムの変更
場合によっては、セキュリティ管理コンピューティング部100にプログラムを追加したり、既存のプログラムをアップデートする必要があり得る。この時、既存のコンピュータのように、セキュリティ上の脆弱性が露出されるため、非常に注意しなければならない。しかし、性格上、セキュリティ管理コンピューティング部100では、限定的なプログラムのみが実行されるため、ソフトウェアの形状変更がよくあることではない。したがって、ソフトウェアの形状変更は、セキュリティ担当者やセキュリティが確認されたサイトからのみ可能なようにすれば、問題の発生を最小限に抑えることができる。
【0118】
例えば、会社であれば、社内ネットワークの特定のアドレス(セキュリティ管理者)を除いては、ネットワークを介したソフトウェアの形状変更が不可能にすることが望ましい。個人の場合には、安全が確認されたサイトへのアクセス時のみソフトウェアの形状変更が可能になるようにするのもよい方法である。
【0119】
セキュリティ管理コンピューティング部100へのアクセスは、ユーザーコンピューティング部200と、互いに孤立したパスワード認識過程を経るので、外部に露出されなければ大きな問題はない。しかし、セキュリティのために、ハードウェア的なロック装置を追加することも可能である。つまり、ユーザーコンピューティング部200へは接続されない別途のUSB装置などを介してハードウェアキーを認識した後、パスワードを認識するソフトウェアが駆動されれば、より安全な接続を保障することができる 。
【0120】
一方、
図1に示したような構造は、基本的なコンピュータの構成要素である、ROM、RAM、I/O装置を基準に説明したものである。しかし、最近では、コンピュータの処理速度を高めるために、データの移動が多いRAMやグラフィック装置のための高速の専用インターフェースを置くか、速度が遅い入出力装置を別途集めて管理する周辺機器制御用のハブチップを置いて設計することが非常に多い。これを基準に、本発明に係る他の実施例のコンピュータの構造について
図4を参照して説明する。
【0121】
図4において、セキュリティ管理コンピューティング部100は、接続される装置の特性を反映して、それぞれ独立して設計された複数の専用ハードウェアインターフェース14を有する第1中央処理装置10と、前記専用インターフェース14を用いて前記第1中央処理装置10に独立して接続される第1ランダムアクセスメモリ(RAM)15、グラフィックコントローラユニット16、第1ブートROM17)、周辺機器コントローラハブユニット18、相互通信ユニット70と、前記周辺機器コントローラハブユニット18に接続される補助記憶装置ユニット30と入出力装置ユニット40で構成され、 ユーザーコンピューティング部200は、前記相互通信ユニット70と、専用インタフェース1(54)で接続され、第2ランダムアクセスメモリ57と専用インターフェース2(55)で接続され、第2ブートROM58とは専用インターフェース3(56)で接続される第2中央処理装置50を含む 。
【0122】
ここでも前記補助記憶装置ユニット30は、
図2のように、セキュリティ管理コンピューティング部100が使用する部分であるセキュリティ管理コンピューティングストレージ領域31と、ユーザーコンピューティング部200が使用するユーザーコンピューティングストレージ領域32が、物理的または論理的に分離され、セキュリティ管理コンピューティングストレージ領域31は、ユーザーコンピューティング部200に露出されない特徴があり、前記ユーザーコンピューティング部200に設置されるユーザーOSデータは前記補助記憶装置ユニット30のユーザーコンピューティングストレージ領域32に保存され、そのコピーは前記補助記憶装置ユニット30のセキュリティ管理コンピューティングストレージ領域31に保存され、前記相互通信ユニット70を介して前記セキュリティ管理コンピューティング部100から前記ユーザーコンピューティング部200に伝達されて前記第2ランダムアクセスメモリユニットにインストールされて実行される。
【0123】
一般的に使用されるインテルのチップセットを例にすると、CPUがDDR3を通じてDRAMに接続され、グラフィックユニットは、高速のPCIインタフェースに接続され、周辺機器を総括して統制するPCH(Platform Controller Hub)とMDI(Desktop Management Interface)で接続される。HDDとODDなどの補助記憶装置ユニットは、SATAやESATAなどを通じてPCHに接続され、USBインターフェースを介してキーボードやマウス、外付けデバイスが接続される。ブート用のBIOSは、PCHを介して接続されるが、時にはLPC(Low Profile Connection)という低速通信インタフェースを介して接続されることもある。
【0124】
この時、DDR3インタフェース、PCIインタフェース、DMIなどは、本発明の専用インターフェースに該当する。一方、本発明の相互通信ユニット70は、高速で通信しなければならないので、CPUに直接接続される高速のPCIインタフェースで接続されることが望ましい。
【0125】
以上のように、いくつかの例示的実施例を図面を参照して説明した。しかし、本発明の技術的範囲もしくは権利範囲が、上述した実施例の内容に限定されるものではない。本発明の技術的範囲もしくは権利範囲は、以下の特許請求の範囲の合理的解釈によって決まる。