(58)【調査した分野】(Int.Cl.,DB名)
前記共有する識別子は、前記管理装置と前記コンピュータとがネットワークにおいて通信接続を構築した際の互いのポート番号から一意に求められることを特徴とする請求項1に記載の無停電電源管理システム。
前記暗号化および復号にはRSA暗号化方式が用いられ、前記暗号化コマンドテーブルには、2つの素数を乗算した値に基づく暗号化鍵で暗号化した暗号化コマンドが関連付けられ、復号鍵テーブルには、2つの素数それぞれから1を減算し、減算した2つの素数を乗算した値に基づく復号鍵が関連付けられることを特徴とする請求項1または2に記載の無停電電源管理システム。
コンピュータと、該コンピュータに電力を供給する電源からの電力を蓄電し、該電源の電力供給が絶たれたとしても該コンピュータへの電力供給を所定時間維持する無停電電源装置とに接続された管理装置であって、
コマンドを複数の暗号化鍵で暗号化した複数の暗号化コマンドを、複数の識別子にそれぞれ関連付けた暗号化コマンドテーブルを保持する管理メモリと、
前記無停電電源装置の内部状態に関する内部情報を取得する情報取得部と、
前記内部情報に応じて、前記暗号化コマンドテーブルを参照し前記コンピュータと共有する識別子に関連付けられた暗号化コマンドを抽出するコマンド抽出部と、
抽出された前記暗号化コマンドを、第三者がアクセス可能なネットワークを通じて前記コンピュータに送信するコマンド送信部と、
を備えることを特徴とする管理装置。
電源からの電力供給を受けると共に、該電源からの電力を蓄電し、該電源の電力供給が絶たれたとしても該コンピュータへの電力供給を所定時間維持する無停電電源装置を管理する管理装置に接続されたコンピュータであって、
前記管理装置において暗号化コマンドテーブルに複数の識別子と関連付けて管理されている複数の暗号化コマンドにそれぞれ対応する複数の復号鍵を該暗号化コマンドと同一の識別子に関連付けた復号鍵テーブルを保持するコンピュータメモリと、
前記復号鍵テーブルを参照し前記管理装置と共有する識別子に関連付けられた復号鍵によって、前記管理装置から受信した暗号化コマンドをコマンドに復号するコマンド復号部と、
復号された前記コマンドを実行するコマンド実行部と、
を備えることを特徴とするコンピュータ。
コンピュータと、該コンピュータに電力を供給する電源と、該電源からの電力を蓄電し、該電源の電力供給が絶たれたとしても該コンピュータへの電力供給を所定時間維持する無停電電源装置と、該無停電電源装置および該コンピュータとに接続された管理装置と、を用いて該コンピュータの電源供給を管理する無停電電源管理方法であって、
前記管理装置が、
コマンドを複数の暗号化鍵で暗号化した複数の暗号化コマンドを、複数の識別子にそれぞれ関連付けた暗号化コマンドテーブルを予め保持しておき、
前記無停電電源装置の内部状態に関する内部情報を取得し、
前記内部情報に応じて、前記暗号化コマンドテーブルを参照し前記コンピュータと共有する識別子に関連付けられた暗号化コマンドを抽出し、
抽出した前記暗号化コマンドを、第三者がアクセス可能なネットワークを通じて前記コンピュータに送信し、
前記コンピュータが、
前記複数の暗号化コマンドにそれぞれ対応する複数の復号鍵を該暗号化コマンドと同一の識別子に関連付けた復号鍵テーブルを予め保持しておき、
前記復号鍵テーブルを参照し前記管理装置と共有する識別子に関連付けられた復号鍵によって前記暗号化コマンドを前記コマンドに復号し、
復号した前記コマンドを実行することを特徴とする無停電電源管理方法。
【発明を実施するための形態】
【0020】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値などは、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【0021】
(無停電電源管理システム100)
図1は、無停電電源管理システム100を構成する各装置の概略的な関係を示した説明図である。無停電電源管理システム100は、コンピュータ110と、電源120と、無停電電源装置130と、管理装置140とを含んで構成され、このうち、コンピュータ110と管理装置140とは互いに通信可能となるようにネットワーク102に接続されている。ここで、ネットワーク102は、通信データを送信または受信可能な様々な通信手段を適用できるが、ここでは、機器間を接続するネットワークの標準規格であるTCP/IPを用いたEthernetによるLANを挙げて説明する。
【0022】
コンピュータ110としては、パーソナルコンピュータ、サーバ、専用機器等、CPU(中央処理装置)を有する様々な電子機器を適用できる。コンピュータ110のCPUは、処理能力が比較的高くメモリの容量も大きいものが多い。したがって、コンピュータ110は、ネットワーク102に接続された複数の機器の管理も一括して担うことができる。電源120は、商用電源等で構成され、コンピュータ110に対して電力を供給する。
【0023】
無停電電源装置130は、電源120およびコンピュータ110に接続され、電源120からの電力を内部に蓄電しつつ、補足的にコンピュータ110に対して電力を供給する。また、何らかの原因で電源120からの電力供給が絶たれた場合、無停電電源装置130は、コンピュータ110に対して蓄積している電力の供給を行う。さらに、無停電電源装置130は、電源120の電力供給状態を常に把握し、その内部状態に関する内部情報を管理装置140に送信する。
【0024】
管理装置140は、無停電電源装置130と一体的に設けられ、例えば、無停電電源装置130の拡張スロットに挿入する形で組み込まれ、無停電電源管理システム100全体を管理する。また、管理装置140は、無停電電源装置130の内部情報を取得し、内部情報に応じてコンピュータ110へのコマンドを生成し、送信する。例えば、何らかの原因で電源120からの電力供給が絶たれた場合、管理装置140は、内部情報からその旨把握し、コンピュータ110の電力消費を低減(レジューム)または切断(シャットダウン)させるコマンドを生成し、第三者がアクセス可能なネットワーク102を通じてコンピュータ110に送信する。コンピュータ110は、かかるコマンドを受信して、コンピュータ110の動作を安全に停止する。
【0025】
このような管理装置140からコンピュータ110へのコマンドの送受信は、電力供給線と独立した信号線が必要となる。しかし、管理装置140やコンピュータ110にコマンドを送信するための専用信号線を設けることは、通信の信頼性やコスト面において得策ではない。そこで、コンピュータ110に接続可能に予め設定されている、上述したLANによるネットワーク102を用いることとする。こうすることで、管理装置140とコンピュータ110との通信を高信頼性および低コストで実現することができる。また、ネットワーク102を通じて、さらに他の機器と通信することが可能となり、その上、汎用部品を利用できることから、メンテナンス性も高めることが可能となる。
【0026】
しかし、上記のような有利な点ばかりでなく、上記ネットワーク102には不利な点もある。例えば、上記のネットワーク102において通信を実行する際、ネットワーク機器(HUBやルータ)を介するネットワークパスが構築され、これらのネットワークパスには、ネットワークパケットのスニッフィング(盗聴)、スプーフィング(偽装、成りすまし)、タンパリング(改竄)の脅威が潜んでいる。そこで、本実施形態では、管理装置140とコンピュータ110との間の通信において、送受信するデータを暗号化する。
【0027】
ところで、TCP/IP通信において送受信されるデータの暗号化は、OSI(Open System Interconnection)参照モデルの各層においてそれぞれの暗号化方式で定義されている。例えば、OSI参照モデルの下位層(物理層、データリンク層)では、ハードウェアに依存するため、通信を実行する双方の機器で統一された暗号化方式に対応している必要があり、新規のハードウェアの導入、交換等において初期コストが大きくなる。
【0028】
また、中位層(ネットワーク層、トランスポート層)においては、ハードウェアにアクセスするドライバレベルで実装しなくてはならないため、全ての通信機会において、暗号化の要否を判断させる必要があり、本実施形態の管理装置140のように、制限されたリソースを使用する組込みシステムに対しては、オーバヘッドの影響が大きく、パフォーマンスの低下を招く結果となる。さらに、DDoS(Distributed Denial of Service)等、通信過多となる攻撃によりリソースが不足してしまうリスクもある。したがって、中位層で堅牢なシステムを構築するにはセキュリティ面の実装を充実させる必要がある。
【0029】
さらに、上位層(セッション層、プレゼンテーション層、アプリケーション層)での暗号化で知られるSSL/TLS(Secure Sockets Layer / Transport Layer Security)は、証明書の購入や使用期限の管理が面倒であり、運用コストや、暗号化通信が成立するまでのオーバヘッド(CAへの証明書確認等)が大きく、コストの増大およびパフォーマンスの低下を招くことになる。本実施形態では、処理能力が十分ではない、リソースが制限された既存の機器を有効利用し、その処理能力範囲で、アプリケーション層における暗号化通信を実行し、通信データの高度な安全性を確保する。以下、管理装置140、コンピュータ110の順で、その構成を説明し、双方の暗号化について詳述する。
【0030】
(管理装置140)
図2は、管理装置140の概略的な機能を示した機能ブロック図である。
図2に示すように、管理装置140は、管理インタフェース210と、管理通信部212と、管理メモリ214と、中央制御部216とを含んで構成される。
【0031】
管理インタフェース210は、TTLレベルやRS232Cレベルの信号線を介して無停電電源装置130に接続され、無停電電源装置130を管理する役目を担う。管理通信部212は、ネットワーク102に接続され、予め定められた通信プロトコルに基づき、例えば、コンピュータ110との間でデータを授受する役目を担う。
【0032】
管理メモリ214は、ROM、フラッシュメモリ、HDD(Hard Disk Drive)等で構成され、中央制御部216の各機能部の処理に必要な種々の情報、例えば、暗号化コマンドテーブル等を保持する。ここで、暗号化コマンドテーブルは、コマンドを複数の暗号化鍵で暗号化した複数の暗号化コマンドを、排他的な数値で表された複数の識別子にそれぞれ関連付けたテーブルである。かかる暗号化コマンドテーブルや識別子については、後ほど詳述する。
【0033】
中央制御部216は、CPUを含む半導体集積回路で構成され、ROMからCPU自体を動作させるためのプログラムやパラメータ等を読み出し、ワークエリアとしてのRAMや他の電子回路と協働して管理装置140全体を管理および制御する。また、中央制御部216は、設定応答部230、設定実行部232、情報取得部234、閲覧応答部236、コマンド抽出部238、コマンド送信部240としても機能する。
【0034】
設定応答部230は、管理通信部212を介して他の機器からの設定コマンドを受信した場合に、その設定コマンドに従って、管理装置140内の様々な設定を行う。設定実行部232は、設定応答部230によって設定された情報に従って、無停電電源装置130を動作させる。例えば、スケジュール運転が設定されている場合、設定実行部232は、管理インタフェース210を介し、スケジュール運転に示されたスケジュールに従って、無停電電源装置130のON/OFF制御を行う。
【0035】
情報取得部234は、管理インタフェース210を介して、無停電電源装置130の内部状態に関する内部情報を取得する。内部情報としては、例えば、無停電電源装置130が蓄積された電力によってコンピュータ110への電力供給を維持可能な状態における、電源120からの電力供給の有無や、無停電電源装置130自体の故障状態等が挙げられる。閲覧応答部236は、管理通信部212を介して他の機器からの閲覧コマンドを受信した場合に、その閲覧コマンドに従って、管理装置140から取得した内部情報を他の機器に送信する。
【0036】
コマンド抽出部238は、内部情報に応じて、コンピュータ110を制御するための種々のコマンドを決定する。例えば、内部情報が、電源120からの電力供給が絶たれたことを示す場合、その内部情報に応じてコンピュータ110の電力消費を低減または切断させるコマンドを決定する。ただし、コンピュータ110の電力消費を低減または切断させるコマンドは、暗号化コマンドテーブルによって管理されているので、コマンド抽出部238は、暗号化コマンドテーブルを参照し、コンピュータ110と共有する識別子に関連付けられた暗号化コマンドを抽出することとなる。かかる暗号化コマンドの抽出についても、暗号化コマンドテーブルや識別子と共に後ほど詳述する。
【0037】
コマンド送信部240は、コマンド抽出部238が決定したコマンドまたは暗号化コマンドテーブルから抽出した暗号化コマンドを、管理通信部212およびネットワーク102を通じてコンピュータ110に送信する。
【0038】
(コンピュータ110)
図3は、コンピュータ110の概略的な機能を示した機能ブロック図である。
図3に示すように、コンピュータ110は、操作部250と、表示部252と、コンピュータ通信部254と、コンピュータメモリ256と、中央制御部258とを含んで構成される。
【0039】
操作部250は、キーボード、ポインティングデバイス、十字キー、ジョイスティック、ジョグダイヤル、タッチパネル等から構成され、ユーザの操作入力を受け付けて、その操作内容を中央制御部258に伝達する。表示部252は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ等で構成され、中央制御部258の制御指令に応じて様々な画像を表示する。
【0040】
コンピュータ通信部254は、ネットワーク102に接続され、予め定められた通信プロトコルに基づき、例えば、管理装置140との間でデータを授受する役目を担う。コンピュータメモリ256は、ROM、フラッシュメモリ、HDD等で構成され、中央制御部258の各機能部の処理に必要な種々の情報、例えば、復号鍵テーブル等を保持する。ここで、復号鍵テーブルは、暗号化コマンドテーブルにおける複数の暗号化コマンドにそれぞれ対応する複数の復号鍵を、暗号化コマンドと同一の識別子に関連付けたテーブルである。かかる復号鍵テーブルについても、後ほど詳述する。
【0041】
中央制御部258は、CPUを含む半導体集積回路で構成され、ROMからCPU自体を動作させるためのプログラムやパラメータ等を読み出し、ワークエリアとしてのRAMや他の電子回路と協働してコンピュータ110全体を管理および制御する。また、中央制御部258は、コマンド復号部270、コマンド実行部272としても機能する。かかる各機能部は、外部からコンピュータ110に専用のソフトウェアをインストールすることで生成される。
【0042】
コマンド復号部270は、復号鍵テーブルを参照し管理装置140と共有する識別子に関連付けられた復号鍵によって、管理装置140から受信した暗号化コマンドを元のコマンドに復号する。
【0043】
コマンド実行部272は、管理装置140から受信したコマンドが暗号化されていなければ、送信元の正当性を確認した後、そのコマンドを実行し、暗号化されていれば、コマンド復号部270によって復号された後のコマンドを実行する。例えば、コマンドが、コンピュータ110の電力消費を低減または切断させるコマンドであった場合、コマンド実行部272は、そのコマンドに応じて、無停電電源装置130が電力供給を所定時間維持している間に、コンピュータ110を安全に停止、または、レジュームモードに移行させる。こうして、コンピュータ110が不用意に停止してしまう事態を回避でき、システムファイルやデータの破壊を防止することが可能となる。
【0044】
本実施形態では、コンピュータ110の電力消費を低減または切断させるコマンド等の重要なコマンドに関し、コマンド実行部272は、正しく復号できたコマンドのみを受け付ける。かかる構成により、外部からの不正なコマンドに応じてコンピュータ110を安易に停止してしまう事態を回避できる。このように、コマンド復号部270により、正当な管理装置140から受信した暗号化コマンドのみが正規のコマンドとして復号されるので、第三者の成りすまし等による不正な暗号化コマンドを誤って実行してしまう事態を回避することができる。
【0045】
(暗号化処理)
上述したように、管理装置140とコンピュータ110との間では暗号化処理が実行される。特に、本実施形態においては、暗号化処理に関し、(1)RSA(Rivest Shamir Adleman)暗号化方式を利用、(2)テーブルで管理、(3)テーブルの索引(インデックス)にポート番号を利用、といった特徴を有している。以下、かかる特徴点を個々に説明する。
【0046】
(1.RSA暗号化方式を利用)
RSA暗号化方式は、値の大きい2つの素数を用い、それぞれ所定のアルゴリズムによって求められた暗号化鍵および復号鍵で暗号化および復号を行う公開鍵暗号化方式である。かかるRSA暗号化方式においては、2つの素数さえ個別に把握すれば、暗号化および復号のいずれも可能となる。ここで、暗号化を行う装置には、暗号化鍵(公開鍵)として、2つの素数を乗算した値のみを提供する。かかる暗号化鍵から復号鍵(秘密鍵)を導き出すには、2つの素数を乗算した値の素因数分解が必要となる。かかる素因数分解には多大な処理負荷と処理時間が必要となること自体が当該RSA暗号化方式の安全性の根拠となっている。
【0047】
本実施形態におけるRSA暗号化方式による暗号化処理と復号処理を簡単に説明すると、まず、値の大きい2つの素数p、qと、任意の正の整数eとを準備する。管理装置140(暗号化を行う装置)は、2つの素数p、qを乗算した値に基づく値p・q(暗号化鍵)と正の整数eとを有しているとする(2つの素数p、qそれぞれの情報はない)。管理装置140は、以下の数式1に基づいて平文のコマンドcから暗号化コマンドccを導出する。ただし、平文のコマンドcは、適当なブロック(例えば、1バイト)単位に分割され、それぞれ暗号化される。
【数1】
…(数式1)
ここでmodは剰余演算を示し、法と呼ぶこともある。
【0048】
このようにして求められた暗号化コマンドccを受信したコンピュータ110(復号を行う装置)は、2つの素数p、qのいずれも、および、正の整数eを知っているので、以下の数式2によって、2つの素数p、qそれぞれから1を減算し、減算した2つの素数を乗算した値に基づく、暗号化コマンドにべき乗すべき値d(復号鍵)を導出する。
【数2】
…(数式2)
ただし、lは正の整数。そして、コンピュータ110は、2つの素数p、qを乗じた値p・qとべき乗すべき値dとを用い、以下の数式3に基づいて暗号化コマンドccを平文のコマンドcに復号する。
【数3】
…(数式3)
【0049】
上述したように、管理装置140側は、2つの素数p、qを乗じた値p・qと正の整数eとを用いて容易に暗号化が可能であるが、値p・qから2つの素数p、qを素因数分解できない場合、数式2で示した暗号化に用いる(p−1)・(q−1)を求めることができない。したがって、管理装置140は勿論、他の機器が管理装置140から不正に値p・qを入手したとしても、その値p・qを用いて暗号化コマンドccを復号するのは困難を極める。こうして、コマンドの信頼性や安全性を確保することができる。
【0050】
(2.テーブルで管理)
図4は、無停電電源管理システム100において用いられるテーブルを説明するための説明図である。特に、
図4(a)には、暗号化コマンドテーブル310が示され、
図4(b)には復号鍵テーブル320が示されている。
【0051】
RSA暗号化方式では、上述したように2つの素数を用いている。2つの素数は、乗算した値の素因数分解を困難にするため、大きな値であることが望ましい。また、管理装置140とコンピュータ110とで2つの素数を共有させることを前提に(ただし、管理装置140には共有した2つの素数を乗算した値のみを提供)、コマンドの通信機会の度に、2つの素数の新たな組み合わせが用いられると、乗算した値の素因数分解が不正な復号処理に到底間に合わなくなって、さらに安全性を高めることが可能となる。
【0052】
しかし、素因数分解に時間を要するのと同様、値の大きな素数の導出には、それなりの時間を要してしまう(例えば100MIPS)。そこで、本実施形態においては、2つの素数を通信機会の度に計算する代わりに、2つの素数の複数の組み合わせによる複数の暗号化鍵を予め計算して準備しておき、それを通信機会の度に選択することとする。
【0053】
また、このように、2つの素数を固定的に用いた場合であっても、暗号化処理においては、数式1に示すように、平文のコマンドcを正の整数eでべき乗しなければならい。そこで、平文のコマンドcを正の整数eでべき乗する処理を省略すべく、その複数の暗号化鍵によって暗号化した複数の暗号化コマンドを予め生成しておき、それを通信機会の度に選択する。かかる暗号化コマンドは暗号化コマンドテーブル310によって管理される。ただし、暗号化処理は、コマンド文字列をバイト単位でブロック化し、そのブロック毎に暗号化が為されるとする。暗号化コマンドテーブル310は、
図4(a)に示すように、所定のコマンドを複数の暗号化鍵312で暗号化した複数の暗号化コマンド314が、排他的な数値、ここでは、0〜999のシーケンシャルな数値で表された複数の識別子316にそれぞれ関連付けられている。
図4(a)では、理解を容易にすべく、暗号化鍵312も暗号化コマンドテーブル310に関連付けているが、本実施形態では、暗号化コマンド314のみ関連付けられていればよい。
【0054】
本実施形態では、RSA暗号化方式により所定のコマンドを暗号化した例えば1000の暗号化コマンド314を暗号化コマンドテーブル310として管理メモリ214に保持させておき、コマンド抽出部238が、動的かつランダムに暗号化コマンドテーブル310の暗号化コマンド314を選択することで、通信機会の度に、素数を導出したり、暗号化処理を実行する煩わしい処理を行わなくて済む。したがって、リソースが制限された既存の機器を有効利用し、この低スペックの処理能力範囲において、暗号化コマンドテーブル310の1000の暗号化コマンド314から不特定に1の暗号化コマンド314を選択するのみといった軽負荷で、復号鍵の推定を困難にさせ、通信データの高度な安全性を確保する。
【0055】
ここでは、復号鍵の推定を困難にさせるため、暗号化鍵312および暗号化コマンド314を1000程準備したが、その数はかかる1000に限らず、必要な安全性に応じて様々な数を適用することができる。また、2つの素数p、qと、任意の正の整数eについても、必要な安全性に応じて様々な桁数で表すことができる。暗号化コマンド314の数や、2つの素数p、q、任意の正の整数eは、一般に、その値が大きいほど、暗号強度が向上し、安全性や信頼性に優れていることとなる。
【0056】
また、
図4(b)に示した、復号鍵テーブル320では、暗号化コマンドテーブル310における複数の暗号化コマンド314にそれぞれ対応する複数の復号鍵322が、
図4中に両矢印で示すように暗号化コマンド314と同一の識別子316に関連付けられている。コンピュータ110のコマンド復号部270は、管理装置140のコマンド抽出部238が抽出した暗号化コマンド314の識別子316を把握し、復号鍵テーブル320において同一の識別子316に関連付けられた復号鍵322を読み出し、管理装置140から受信した暗号化コマンド314を、数式3を用いて元のコマンドに復号する。
【0057】
コンピュータ110においては、復号鍵322によって暗号化コマンド314をべき乗する処理を行わなくてはならないものの、管理装置140に同期して2つの素数を導出する手間を省くことができるので、管理装置140同様、処理負荷の軽減を図ることができる。
【0058】
(3.テーブルの索引にポート番号を利用)
さらに、管理装置140およびコンピュータ110によって共有する識別子を、管理装置140とコンピュータ110とが通信接続を確立した際の互いのポート番号から一意に求めることとする。
【0059】
具体的に、管理装置140のコマンド抽出部238は、コンピュータ110との通信を確立した際に受信する応答パケットから送信側であるコンピュータ110のポート番号(例えば、5770)と、受信側である管理装置140自体のポート番号(例えば、12345)とを取得する。そして、管理装置140は、コンピュータ110のポート番号mと管理装置140自体のポート番号nとを加算した値の、以下の数式4により1000の法を導出して、暗号化コマンドテーブル310および復号鍵テーブル320の索引に用いる識別子kとする。例えば、上記の例では、m=5770、n=12345なので、その和の1000の法は115であり、識別子kは115となる。
【数4】
…(数式4)
【0060】
また、コンピュータ110のコマンド復号部270も、コンピュータ110自体が発する応答パケットにおける管理装置140のポート番号nとコンピュータ110自体のポート番号mとを加算し、数式4に基づいて、管理装置140と同一の識別子kを導出することができる。
【0061】
かかるポート番号は、通信を確立する管理装置140およびコンピュータ110のみならず、ネットワーク102に不正にアクセスした第三者も知ることができる情報である。しかし、このポート番号が不正に取得されたとしても、「管理装置140のポート番号とコンピュータ110自体のポート番号とを加算し、1000の法により求められた値でテーブルを参照する。」というアルゴリズムさえ開示しなければ、ポート番号と、暗号化鍵や復号鍵との相関性を第三者が推測することは困難である。
【0062】
このように、ポート番号を参照し、簡単な計算を行うことのみで、管理装置140の暗号化鍵312とコンピュータ110の復号鍵322とを一意に対応付けることができる。コンピュータ110は、正当な管理装置140からの暗号化コマンド314のみを正規のコマンドとして受け付けることが可能となる。このとき、コマンドが、コンピュータ110の電力消費を低減または切断させるコマンドであった場合、コンピュータ110のコマンド実行部272は、無停電電源装置130が電力供給を所定時間維持している間に、コンピュータ110を安全に停止、または、レジュームモードに移行させる。
【0063】
上述したように、暗号化処理において、(1)RSA暗号化方式を利用、(2)テーブルで管理、(3)テーブルの索引にポート番号を利用することで、暗号化処理のハイブリッド化を図る。即ち、管理装置140とコンピュータ110との双方だけが有する、テーブルの索引にポート番号を利用するというアルゴリズムおよびテーブルの大きさ、並び順等の秘密情報(古典暗号方式)を持ちつつ、暗号化方式は公開鍵暗号方式(現代暗号)であるRSA暗号化方式を利用することで、暗号強度を維持する。
【0064】
(無停電電源管理方法)
次に、無停電電源管理システム100を用いコンピュータ110の電力供給を管理する無停電電源管理方法を説明する。
図5は、無停電電源管理方法の全体的な処理の流れを示したシーケンス図であり、
図6は、無停電電源管理方法によるデータの流れを示したブロック図である。
【0065】
まず、無停電電源管理システム100では、2つの素数の組み合わせを複数(ここでは、1000)ランダムに生成する。そして、0〜999のシーケンシャルな数値で表された複数の識別子316に、2つの素数の組み合わせを対応付ける。
【0066】
次に、2つの素数の組み合わせに基づく暗号化鍵312で所定のコマンドを暗号化した複数の暗号化コマンド314を、2つの素数の組み合わせに対応する識別子316に関連付けて暗号化コマンドテーブル310を生成し、管理メモリ214に予め保持させておく(S400)。また、2つの素数の組み合わせに基づく復号鍵322を、2つの素数の組み合わせに対応する識別子316に関連付けて復号鍵テーブル320を生成し、コンピュータメモリ256に予め保持させておく(S402)。
【0067】
コンピュータ110に電源120からの電力供給が開始され、無停電電源装置130が機能し始めると、管理装置140の情報取得部234は、無停電電源装置130の内部情報を取得して、無停電電源装置130を監視する(S404)。情報取得部234が取得した内部情報が、電源120からの電力供給が絶たれたことを示す場合(S406)、コマンド送信部240は、コンピュータ110に、コンピュータ110の電力消費を低減または切断させるコマンドを送信すべく、コンピュータ110との通信を確立する。具体的に、コマンド送信部240は、通信を確立するための通信接続要求をコンピュータ110に送信し(S408)、この送信に対するコンピュータ110からの通信ポート確立の応答パケットの受信待機状態に移行する。
【0068】
一方、管理装置140から通信接続要求を受信したコンピュータ110は、通信ポート確立の応答パケットを返信するとともに(S410)、上記数式4に基づいて、この応答パケットの送信元のポート番号mと宛先のポート番号nとを加算、1000の法を導出することで、コンピュータ110側の復号鍵テーブル320の識別子kを予め導出しておく(S412)。そして、コマンドの受信待機状態に移行する。
【0069】
コンピュータ110から応答パケットを受信した管理装置140は、この応答パケットからコンピュータ110のポート番号mと管理装置140自体のポート番号nを取得し(S414)、コマンド抽出部238は、上記数式4に基づいて、送信元のポート番号mと宛先のポート番号nとを加算、1000の法を導出して識別子kを導出し(S416)、
図4(a)に示す暗号化コマンドテーブル310を参照し、導出した識別子kに関連付けられた暗号化コマンド314を抽出する(S418)。
【0070】
コマンド送信部240は、暗号化コマンド314を、ネットワーク102を通じてコンピュータ110に送信し(S420)、この送信に対するコンピュータ110からのコマンド実行完了の応答パケットの受信待機状態に移行する。
【0071】
管理装置140から暗号化コマンドを受信したコンピュータ110のコマンド復号部270は、
図4(b)に示す復号鍵テーブル320を参照し、予め導出しておいた識別子kに関連付けられた復号鍵322を抽出して暗号化コマンド314をコマンドに復号する(S422)。
【0072】
そして、コマンド実行部272は、復号されたコマンドが正当な管理装置140から送信されたコマンドであり、かつ、正規のコマンドであれば、そのコマンドを実行する(S424)。例えば、コマンドが、コンピュータ110の電力消費を低減または切断させるコマンドであった場合、コンピュータ110のコマンド実行部272は、無停電電源装置130が電力供給を所定時間維持している間に、コンピュータ110を安全に停止、または、レジュームモードに移行させることとなる。そして、コマンドが実行されると、コマンド実行部272は、コマンド実行完了の応答パケットを管理装置140に送信する(S426)。
【0073】
また、管理装置140のコマンド送信部240が暗号化コマンドを送信しても(S440)、所定時間内にコマンド実行完了の応答パケットがコンピュータ110から返信されない場合(S442)、通信エラーと判定される(S444)。通信エラーが生じた場合、コマンド送信部240は、通信接続(TCP接続)を一旦切断(FINまたはRST)し(S446)、リトライ(例えば、3回まで可)によって(S448)、再度、通信接続を試みる。ただし、リトライによっては、ポート番号m、nも変化するので、テーブルを索引する識別子316も変化することとなる。
【0074】
上述した無停電電源管理システム100や無停電電源管理方法によって、新たな専用機器の追加を要すことなく、リソースが制限された既存の機器を有効利用し、本実施形態による機能部をソフトウェアのアップデートを通じてインストールすることで、低スペックの処理能力範囲であっても、通信データの安全性を確保することが可能となる。
【0075】
また、本実施形態では、コマンドの送信に費やす負荷を軽減できるので、コンピュータ110へのログイン時のみならず、データ通信全般に適用することが可能となり、長時間に渡り通信データの安全性を確保することができる。
【0076】
また、本実施形態では、上述したように、管理装置140とコンピュータ110との双方だけが有する、テーブルの索引にポート番号を利用するというアルゴリズム、および、テーブルの大きさ、並び順等の秘密情報(古典暗号方式)を持ちつつ、暗号化方式は公開鍵暗号方式(現代暗号)であるRSA暗号化方式を利用するといったハイブリッド方式を適用しているので、高い暗号強度を維持することが可能となる。
【0077】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【0078】
例えば、上述した実施形態においては、暗号化方式としてRSA暗号化方式を用いる例を挙げて説明したが、かかる場合に限らず、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)、FEAL(Fast data Encipherment ALgorithm)、Camelia、RC6(Ron's Code 6)、IDEA(International Data Encryption Algorithm)等、様々な暗号化方式を適用することができる。
【0079】
また、本実施形態においては、暗号化コマンドテーブル310に、暗号化鍵によって暗号化されたコマンド自体を関連付けているが、かかる場合に限らず、暗号化鍵のみを関連付けてもよいし、暗号化鍵の元となる2つの素数を関連付けてもよい。2つの素数を採用すると、管理装置140とコンピュータ110とのテーブルの共通化を図ることができる。
【0080】
また、本実施形態においては、コマンドをRAS暗号化方式により1回暗号化する例を挙げて説明したが、その回数に制限はなく、複数回行ってもよく、また、その暗号化の1部として共通鍵による暗号化を含めることもできる。
【0081】
また、本実施形態においては、ネットワークとしてTCP/IPを挙げているが、かかる場合に限られず、UDP(User Datagram Protocol)/IP等、機器間を接続するネットワークの様々な標準規格を採用することができる。例えば、上記ステップS446やステップS448等はTCP/IP独自の技術であるが、本実施形態で説明した他の技術に関してはUDP/IPにも適用可能である。
【0082】
また、汎用のコンピュータを、本実施形態の管理装置140やコンピュータ110として機能させるプログラムを記録した、汎用のコンピュータで読み取り可能なフレキシブルディスク、光磁気ディスク、ROM、EPROM、EEPROM、CD(Compact Disc)、DVD(Digital Versatile Disc)、BD(Blu-ray Disc)等の記憶媒体も提供される。
【0083】
なお、本明細書の無停電電源管理方法の各工程は、必ずしもシーケンス図として記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。