説明

セキュアリモートアクセスシステム

【課題】 利用者が不特定のクライアントからサーバに対し暗号通信を行いながらアク
セスし、業務遂行を行うセキュアリモートアクセスシステムにおいて、利用者の認証デバ
イスとして耐タンパデバイスを内蔵するストレージデバイスを利用することにより、利用
者の利便性を向上させるセキュアリモートアクセスシステムを提供する。
【解決手段】 認定された耐タンパデバイス搭載したストレージデバイスを利用者に配
布し、利用者がストレージデバイスを不特定のクライアントに接続し、ストレージデバイ
ス内の認証情報とアプリケーションを用いてサーバを遠隔操作するサーバクライアントシ
ステムを提供することにより、利用者の使い勝手を向上することが可能で、結果としてシ
ームレスに職場内外での業務遂行機能を利用でき、かつ操作したクライアント内に残る機
密情報を低減することにより、ユーザのクライアント利用時のセキュリティ及び利便性を
向上させるリモートアクセスシステムを提供できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバをネットワークを介して安全に遠隔操作することを可能にするセキュ
アリモートアクセスシステムに関する。特にクライアントを適切にサーバに接続する為の
耐タンパデバイスとクライアントもしくは耐タンパデバイス上に記録するプログラム、及
びリモートアクセスシステムを動作させるためのネットワーク接続技術に関する。
【背景技術】
【0002】
近年パーソナルコンピュータ(PC)やネットワーク機器の低価格化が進み、従業員の
大半にPCのような業務利用する端末を配布し、業務を行わせるようにしている企業が多
数を占めるようになっている。PCが低価格化し、利用が増えると、企業内の機器管理者
のメンテナンス作業を行う必要のあるPCの数も比例して増える。このメンテナンス作業
とは、例えばオペレーティングシステム(OS)や業務アプリケーションのバージョンア
ップやバグフィックス、ハードウェア的な障害への対応、ウィルス対策やウィルス駆除な
どが挙げられる。このようなメンテナンス作業を行う管理コストは非常に大きく、従業員
数が増加すると、比例して莫大なものになる。
【0003】
この管理コストを低減するための一手法として、サーバクライアント方式と呼ばれるシ
ステム運用の方式が取られている。これは、主なプログラムやデータをサーバ側に蓄積し
、例えばThin Client(シンクライアント)のようなクライアント側に蓄積す
るデータを低減させたものである。
【0004】
サーバクライアント方式では、演算処理やデータの蓄積は主にサーバ側で行われるため
、シンクライアントのようなクライアント側にて個々にOSや業務に利用するアプリケー
ションのバージョンアップやバグフィックス、ウィルス対策やウィルス駆除などを行う必
要性や頻度が減少するため、全体の管理コストを低減できる。
【0005】
また、近年、ICチップと呼ばれるプロセッサをカード内に内蔵したICカード(別名
スマートカード)が、電子認証機能をもつキーデバイスとして注目されている。ICカー
ドとは、主に内部のICカードモジュールに中央演算処理装置(CPU)を内蔵している
カードのことを指す。ICカードのメモリにはROM、EEPROMなどが使用される。
ICカードは、カード自身に演算機能を持つため、ホストからの読み書き指示の際、正し
いユーザからアクセスが行われたものかどうか自身で判断する機能を持つ。また、CPU
自体の偽造が困難であるため、耐タンパデバイスであるICカードモジュール(ICカー
ドチップ)の発する情報の改ざんや、不正にICカードモジュール内部にアクセスするこ
とが難しい。このため、高いセキュリティレベルを持つシステムを構築可能である。多く
のICカードは、ユーザの登録した個人認証番号(PINコード)とカード内部に保持さ
れたPINコードを照合するなどして、ICカード内の情報を適切にリーダライタ、もし
くはホスト出力するか、もしくはしないか等の制御を行うことが可能である。ICカード
は内部にEEPROMやRAMなどの書き換え可能なメモリを持ち、ユーザやカード発行
者のアプリケーションや情報を格納することができる。ICカードは、外部から入力され
る情報に対し、その該当するカード内にしか存在し得ない情報(秘密鍵等)を用いた演算
をするなどして、カード外部にカード所有者のみしか知りえない情報もしくは作りえない
情報などを出力することでカード所有者を認証させたり、否認防止のための情報を出力し
たりすることが可能である。
【0006】
また、フラッシュメモリカードは、不揮発性のメモリモジュールを内蔵したメモリカー
ドでユーザの情報をメモリカード内に記憶することが可能である。フラッシュメモリカー
ドの多くは「第3者からの攻撃に対するハードウェア的な耐久性」(耐タンパ性)を持っ
ていない。耐タンパ性を持たないフラッシュメモリカードは、盗難、紛失時にカードが分
解され、カード内のメモリもしくはコントローラを解析されることにより保持している情
報が第3者に漏洩する可能性が少なくない。
【0007】
また、特許文献1に記載されるようにフラッシュメモリインターフェースとICカード
機能を持つフラッシュメモリカードが開示されている。このフラッシュメモイリンターフ
ェースとICカード機能を持つフラッシュメモリカードは、その記憶容量の大きさから、
パソコンやワークステーションに構築されたユーザの保管文書や設定ファイル等をカード
内に保存して持ち歩くために都合がよい。
【0008】
【特許文献1】特開2001−209773号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
前述したサーバクライアント方式では、サーバとクライアントの間の認証やデータのや
り取りはネットワークを介して行われる。このため、ネットワーク上の一つのクライアン
トから、サーバへのアクセスを行う際に、サーバ側ではアクセスしてきたクライアントが
正しいクライアントであるか否か、またクライアントを利用している利用者が正しい利用
者であるか否か等の検証作業を行う必要がある。また、クライアント側でも、アクセスし
ているサーバが正しいサーバであるか否かを検証せずには自分が欲する業務を行うことが
できない。もし上記のような検証を行わないとサーバ側に蓄積したデータや、利用者の持
つ情報が第3者に漏洩する可能性がある。そこで、ネットワーク上での認証や、業務遂行
中の送信情報などの暗号化などのセキュリティを十分に高める必要がある。
【0010】
本発明の目的は、ICカードに実装されるICチップのような認定された耐タンパデバ
イスの中に利用者の認証情報を格納し、かつ、大容量のファイルを安全に格納し、持ち歩
くことができるフラッシュメモリカードのようなストレージデバイスを認証デバイスとす
るサーバクライアントシステムによりユーザの利便性を向上させることにある。
【0011】
また、そのサーバクライアントシステムに使用可能な認証用ストレージデバイスを提供
することも本発明の目的である。
【0012】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述および添付図面から
明らかになるであろう。
【課題を解決するための手段】
【0013】
本願において開示される発明のうち代表的なものの概要を説明すれば、下記の通りであ
る。すなわち、上記の目的を達成するために本発明に係るリモートアクセスシステムは、
耐タンパデバイスとストレージとコントローラの機能を実装したストレージデバイスと、
前記ストレージデバイスを接続するためのリーダライタと、前記リーダライタと接続する
クライアントと、ネットワークを介し前記クライアントから遠隔操作されるサーバとネッ
トワーク上の暗号通信を行うためのゲートウェイを具備し、前記ストレージの中に、前記
サーバを遠隔操作するアプリケーションと、前記ネットワーク上の通信を暗号化する暗号
化アプリケーションを記録しており、前記ゲートウェイと前記クライアントの暗号通信を
行うための認証情報を前記耐タンパデバイス内に格納していることを特徴とする。
【発明の効果】
【0014】
本発明によれば、認定された耐タンパデバイス搭載したストレージデバイスを利用者に
配布し、利用者がストレージデバイスを不特定のクライアントに接続し、ストレージデバ
イス内の認証情報とアプリケーションを用いてサーバを遠隔操作するサーバクライアント
システムを提供することにより、利用者の使い勝手を向上することが可能で、結果として
シームレスに職場内外での業務遂行機能を利用でき、かつ操作したクライアント内に残る
機密情報を低減することにより、ユーザのクライアント利用時のセキュリティ及び利便性
を向上させるリモートアクセスシステムを提供できる。
【発明を実施するための最良の形態】
【0015】
本発明の実施の形態について、添付図面を参照しながら以下詳細に説明する。なお、図
面中にて同一の参照番号を付したものは、同一の機能を有する構成要素を示し、説明の便
宜上、その詳細な説明は省略する。
【実施例1】
【0016】
図1から図7を用いて、本発明に係るセキュアリモートアクセスシステムの第1の実施
形態を説明する。
【0017】
図1は、本発明の第1の実施形態を示すリモートアクセスシステムを示す図である。
【0018】
利用者の使用するサーバ1000と複数のクライアント(クライアント1001及びク
ライアント1002)は、ネットワークケーブル1003、1004及び1005を介し
、ネットワーク1006に接続されている。ネットワークケーブル1003、1004及
び1005とネットワーク1006は、図示しないネットワークハブやスイッチにて適切
に接続され、ネットワークケーブル1003、1004、1005及びネットワーク10
06上の接続された機器へのパケットのルーティングが適切に行われ、正常に通信が可能
な状態にある。サーバ1000は、図示しないディスプレィンターフェースを通してディ
スプレィ1007と接続されている。クライアント1001及び1002も同様に図示し
ないディスプレィンターフェースを介してそれぞれディスプレィ1008及び1009と
接続されている。クライアント1001及び1002にはそれぞれユーザインターフェー
ス1010及び1011が接続されている。ユーザインターフェース1010及び101
1はキーボードやマウス、トラックボール、タッチパネル、タッチパッド、指紋リーダ、
生体情報読取装置などにより構成される、クライアント1001及び1002の利用者の
入力情報をそれぞれクライアント1001及び1002に送信する機能を持つ。
【0019】
リーダライタ1012及び1013はそれぞれクライアント1001及び1002に接
続されており、ストレージデバイス1014を挿入する機能を持つ。ストレージデバイス
1014内の後述する端子2000はリーダライタ1012の図示しない端子と接続され
、クライアント1001と通信を行うことができる。ストレージデバイス1014は利用
者が携帯し持ち歩くことが可能で、クライアント1001以外の例えばクライアント10
02のような機器においても利用が可能な設計となっている。
【0020】
ストレージデバイス1014は、内部にコントローラ1015、耐タンパデバイス10
16、ストレージ1017を実装している。コントローラ1015、耐タンパデバイス1
016、ストレージ1017はそれぞれ別の集積回路として実装されているように記載さ
れているが、機能をまとめた1つの集積回路として実装しても良い。耐タンパデバイス1
016は例えばICカードチップなどのセキュリティ評価団体の定めた基準により認定を
受けるかもしくは受けることが可能な水準の耐タンパ性を持つデバイスである。
【0021】
サーバ1000内部には、CPU1030、メモリ1031、ストレージ1032が実
装されている。クライアント1001には、CPU3000、メモリ3001、ストレー
ジ3002、クライアント1002には、CPU1050、メモリ1051、ストレージ
1052が実装されている。
【0022】
CPU1030上にて実行される情報は、通常ディスプレィ1007により表示される
が、サーバクライアント型の処理を要求する接続がクライアント1001よりサーバ10
00に行われ、認証が確立し、サーバ1000とクライアント1001の遠隔操作用の暗
号通信が確立した場合、クライアント1001を介してサーバ1000上でプログラムを
実行した処理結果はディスプレィ1008に表示される。この際、ディスプレィ1008
上に表示される情報は、ディスプレィ1007に表示される情報と表示方法を同一にして
あり、ユーザは、クライアント1001とユーザインターフェース1010を利用してい
るのと、サーバ1000を直接操作しているのと同様に感じ取るため、利用者のユーザビ
リティを高めることができる。
【0023】
図2にストレージデバイス1014の詳細を示したブロック構成図を示す。ストレージ
デバイス1014は、端子2000、コントローラ1015、耐タンパデバイス1016
、ストレージ1017を実装しており、それぞれが図示するように接続されている。コン
トローラ1015は内部にCPU2001、メモリ2002、不揮発メモリ2003、イ
ンターフェース(I/F)2004、2005、2006を持つ。ストレージ1017は
、フラッシュメモリ、ハードディスク、EEPROM、MRAM、MO、光ディスク等の
不揮発性の記憶媒体である。本実施例においては、ストレージ1017がフラッシュメモ
リであるという前提において説明を行うが、他の種類の記憶媒体であっても良い。
【0024】
コントローラ1015内のCPU2001は、不揮発メモリ2003からメモリ200
2にロードされたアプリケーションを実行し、ストレージ1017のファイル管理や耐タ
ンパデバイス1016のリセットや制御等の、耐タンパデバイス1016及び端子200
0及びストレージ1017の間の通信の管理をI/F2004〜2006を介して行う。
【0025】
不揮発メモリ2003は、公開鍵演算プログラム2050、共通鍵演算プログラム20
51及びストレージ1017内のファイル管理プログラム2052を含む。また、不揮発
メモリ2003は、ハッシュの演算、デジタル署名、証明書の検証、鍵の生成等を行う機
能を持っていてもよい。
【0026】
耐タンパデバイス1016は、内部にCPU2030、メモリ2031及びストレージ
2032を含む。コプロセッサ2033はCPU2030の演算機能のうち暗号機能など
の補完するコプロセッサであるが、CPU2030の計算速度が高速である場合、実装し
なくてもよい。CPU2030は、ストレージ2032からメモリ2031にロードされ
たアプリケーションを実行し、後述する共通鍵による暗復号、非対称鍵による暗復号、ス
トレージ2032内のファイル管理、ハッシュの演算、デジタル署名、証明書の検証、鍵
の生成等を行う機能を持つ。耐タンパデバイス1016は、電圧変動などの様々な攻撃に
対して強い耐性のある、セキュリティ評価団体の定めた基準により認定を受けるかもしく
は受けることが可能な水準の耐タンパ性を持つデバイスである。
【0027】
ストレージ2032は、EEPROM、MRAM、フラッシュメモリなどの不揮発性ス
トレージである。ストレージ2032は、内部に秘密鍵2040、PIN情報2041、
ログ情報2042、証明書2043、公開鍵2044、PIN検証プログラム2045、
鍵証明書格納プログラム2046、公開鍵演算プログラム2047、共通鍵演算プログラ
ム2048、鍵生成プログラム2049等を保存する。保存されたプログラムは、1つで
も複数でも良い。ストレージ2032内のデータやプログラムは、メモリ2031にロー
ドされ、CPU2030を動作させたり、コントローラ1015を経由して耐タンパデバ
イス1016外部に送信される。
【0028】
秘密鍵2040は、利用者の認証や通信路を暗号化するためなどの鍵であり、1つでも
複数個でも良い。秘密鍵2040は、対応する鍵アルゴリズムの種類によって異なるフォ
ーマットにて記述される。秘密鍵2040内の一つの秘密鍵に対応する公開鍵の集まりが
公開鍵2044であり、対応する証明書の集まりが証明書2043である。証明書204
3は、秘密鍵2040に対応する公開鍵2044の証明書であり、サーバ1000や外部
の認証局より発行されたものである。また、証明書2043は公開鍵2044の証明書と
そのほかの証明書を発行した証明期間のルート認証局や中間認証局の証明書などその他の
認証情報を含む。証明書2043のフォーマットは例えば国際電気通信連合(ITU)の
定めるX.509の仕様を満たすものである。証明書2040内に格納される情報は、公
開鍵と公開鍵に対する署名の他に、例えば証明書のバージョン番号、証明書のシリアル番
号、利用者の公開鍵の情報、証明書を発行した認証局の情報、証明書の有効期間、氏名や
電子メールアドレスなどの利用者の情報及び拡張領域といった項目によって構成される。
証明書2010はカード内からクライアント1001及び1002、サーバ1000内に
おいて、認証情報の検証やデータやセッション鍵等の暗号化に利用される。
【0029】
PIN情報2041は、耐タンパデバイス1016外部から耐タンパデバイス1016
内部の情報を出力させたり、演算を行わせたりする利用者の権利を検証するための情報で
ある。PIN情報2041は、暗証番号(PINコード)でも良いし、パスフレーズと呼
ばれるような桁数の長い文字列でも良いし、指紋、虹彩、顔形、声紋、静脈などによる生
体認証の根拠となる生体認証情報でも良い。
【0030】
ログ情報2042は、耐タンパデバイス1016の利用履歴が記録されたもので、CP
U3000もしくは2001もしくは2030が動作するたびに追記されたり、耐タンパ
デバイス1016の外部から適切な権利を持つ利用者が追記したり、読み出したりする。
ログ情報2042は、第3者からの改ざんを防ぐために、ハッシュ値の署名を付加して記
録する。
【0031】
PIN検証プログラム2045は、PIN情報2041が耐タンパデバイス1016外
部から検証用に入力されたPIN情報と合致するか検証するプログラムである。検証結果
が正しければ、耐タンパデバイス1016は利用者が内部の情報や演算資源を利用可能な
状態にする。PIN検証プログラム2045は、ストレージ2032内にあり、メモリ2
031にロードされるプログラムやストレージ2032上に保存される情報ごとに利用権
限を定め、個別に認証を行う。例えば、耐タンパデバイスが通電された後の利用時に一度
PIN検証プログラムにて正しいと判断された利用者には以降のアクセスにてPIN検証
を求めなかったり、利用のたびにPIN検証を行ったりできるよう設定することができる

【0032】
鍵証明書格納プログラム2046は、ストレージ2032内に保存されている秘密鍵2
040や公開鍵2044や証明書2043を耐タンパストレージ1016外部へ出力した
り、耐タンパストレージ1016外部から内部へ取り込んでストレージ2032内に格納
したりする機能を持つ。鍵証明書格納プログラム2046を利用するためにはPIN検証
プログラム2045による検証が終了する必要がある。ただし、証明書2043や公開鍵
2044を出力するだけであるなら、PIN検証プログラム2045による検証が不要と
しても良い。鍵証明書格納プログラム2046は、外部へ鍵や証明書を入出力する際に外
部のCPU3000もしくは2001もしくは2030とセッション鍵を交換し安全な暗
号化通信路を設けて鍵や証明書をやり取りする機能を持っている。
【0033】
公開鍵演算プログラム2047及び共通鍵演算プログラム2048は、それぞれ前述の
公開鍵演算プログラム2050及び共通鍵演算プログラム2051と同様の機能を持つ。
鍵生成プログラム2049は、秘密鍵2040及び公開鍵2044のうちの1つの鍵のペ
アや対象鍵の秘密鍵(共通鍵)を生成する機能を持つ。作成された公開鍵や共通鍵はスト
レージ2032内に保存されたり、外部に出力される。非対称鍵の秘密鍵は、秘密鍵20
40内に保存される。
【0034】
ストレージ1017は内部に利用者を識別するための証明書2010、利用者がストレ
ージデバイス1014を利用して操作を行ったログ情報2011、デバイスアクセス用ラ
イブラリ2012、デバイス管理用ツール2013、デバイスドライバ2014、インタ
ーフェースハンドラ2015、インストーラ2016、遠隔操作端末用アプリケーション
2017、暗号化通信路構築用アプリケーション2018、業務アプリケーション201
9、一時記憶領域2020、認証情報のコピー2021を記録している。
【0035】
証明書2010は、クライアント1001やサーバ1000が利用者やストレージデバ
イス1014を識別する演算を行うために利用する。証明書2010のフォーマットは例
えばITUの定めるX.509の仕様を満たすものなどであればよい。証明書2010内
には例えば証明書のバージョン番号、証明書のシリアル番号、利用者の公開鍵の情報、証
明書を発行した認証局の情報、証明書の有効期間、氏名、電子メールアドレスやストレー
ジデバイス固有の識別番号等の利用者やストレージデバイスの情報、拡張領域といったも
のが記録されている。証明書2010はストレージデバイス1014内やクライアント1
001、サーバ1000内において、認証情報の検証やデータやセッション鍵等の暗号化
に利用される。
【0036】
ログ情報2011は、利用者がストレージデバイス1014を利用して操作を行った際
に、CPU2001もしくはCPU2030もしくはクライアント1001もしくはサー
バ1000の指示により更新される。ログ情報2011は、サーバ1000上のアプリケ
ーションやクライアント1001上のアプリケーションより利用されるか、利用者が自分
の利用状況を確認するために利用される。ログ情報2011は、第3者からの改ざんを防
ぐために、ハッシュ値の署名を付加して記録する。
【0037】
デバイスアクセス用ライブラリ2012は、クライアント1001にて動作する複数の
アプリケーションがストレージ1017にアクセスする際に利用する、ファイル管理、ハ
ッシュの演算、デジタル署名、証明書の検証、鍵の生成等の機能を利用するための関数群
である。通常、後述するインストーラ2016によって、クライアント1001にインス
トールされて利用するが、直接、デバイスアクセス用ライブラリ2012がクライアント
1001上のアプリケーションから利用されても良い。
【0038】
デバイス管理用ツール2013は、ストレージデバイス1014を管理するためのツー
ルであり、例えば、利用者の認証番号を変更するツールや閉塞したストレージデバイスを
初期化するツールやストレージデバイス上のプログラムやファームウェア、鍵情報、証明
書の書き換えツールや、ストレージデバイス1014をデバッグする際に必要となるデバ
ッグ用のモニタリングツールや、ストレージデバイスのマニュアルやヘルプファイルや、
遠隔地からサーバの電源を投入するWake up on LANのような機能などを利用
しクライアント1001やサーバ1000をリモートから電源投入や電源遮断をする電源
管理するツールを含む。デバイス管理用ツール2013は、後述するインストーラ201
5によりクライアント1001にインストールされても良いし、利用者がクライアント1
001へ直接ロードして利用しても良い。
【0039】
デバイスドライバ2014は、ストレージデバイス1014の動作に必要な情報をOS
に提供したり、動作を管理するプログラムであり、後述するインストーラ1015により
クライアント1001にインストールされる。
【0040】
インターフェースハンドラ2015は、デバイスドライバ2014を管理するミドルウ
ェアで、クライアント1001やサーバ1000上で動作するアプリケーションとデバイ
スドライバ2014を接続させる役割を果たす。
【0041】
インストーラ2016は、ストレージ1017上に存在するアプリケーションや情報、
ドライバなどをクライアント1001やサーバ1000にインストールする際に利用者が
利用する。インストーラ2016によってインストールされるアプリケーションや情報、
ドライバ等は、インストール終了後に削除されても良いが、利用者が別の機器に接続して
ストレージデバイス1014を利用する際のためにストレージデバイス上に保存しておく

【0042】
遠隔操作端末用アプリケーション2017は、クライアント1001からサーバ100
0を遠隔操作するために利用する。遠隔操作端末用アプリケーション2017は、ターミ
ナルサービスやリモートデスクトップ等といったクライアント1001やサーバ1000
のOSの持つ標準のサービスやアプリケーションでもよい。遠隔操作端末用アプリケーシ
ョン2017は、インストーラ2016によってクライアント1001にインストールさ
れて利用されるか、もしくはストレージデバイス1014からクライアント1001に直
接ロードされて利用される。
【0043】
暗号化通信路構築用アプリケーション2018は、クライアント1001とサーバ10
00との間の通信を暗号化させるために利用される。暗号化通信路構築用アプリケーショ
ン2018は、サーバ1000とクライアント1001の間で秘密鍵を共有させ、その秘
密鍵を用いることによりサーバ1000とクライアント1001の間に暗号化通信路を成
立させる。この秘密鍵の共有に耐タンパデバイス1016内の秘密鍵等の秘密情報を用い
てもよいし、秘密鍵を共有するプロセス内に耐タンパデバイス1016内の秘密情報を用
いた認証を用いても良い。
【0044】
業務アプリケーション2019は、利用者がクライアント1001を利用する際に利用
するアプリケーションである。業務アプリケーション2019は、例えばサーバ上のウェ
ブベースのアプリケーションを利用するのであれば、ウェブブラウザであり、データベー
スを利用するのであれば、データベース操作用クライアントである。ストレージ1017
上の全ての情報が、耐タンパデバイス1016内にある秘密鍵2040のうちのいくつか
の秘密鍵かサーバ1000もしくはクライアント1001上に保持する秘密鍵のうちのい
くつかによって暗号化されていてもよいし、平文で記録されていてもよい。前者であれば
、利用者に提供するセキュリティが向上する。また、コントローラ1015や耐タンパデ
バイス1016内において利用者認証が済んでいないとストレージ1017にアクセスで
きないようになっている場合、利用者に提供するセキュリティが向上する。
【0045】
一時記憶領域2020は、業務アプリケーション2019等のアプリケーションをクラ
イアント1001上で実行するときに、アプリケーションの作成する一時ファイルを保存
しておく領域である。業務アプリケーション2019やサーバ1000もしくはクライア
ント1001上の業務遂行用アプリケーションは、ビットマップのキャッシュなどの一時
記憶ファイルを一時記憶領域2020内に作成する。一時記憶領域が暗号化されていない
場合、利用者が利用を停止する際には、コントローラ1015もしくはクライアント10
01上のOSもしくはアプリケーションの指示により一時記憶ファイルは消去される。こ
のことにより、利用者の作成する一時ファイルはストレージデバイス上に記憶され、クラ
イアント1001内の情報が第3者によって危険にさらされても利用者の利用した情報は
安全に保護され、電源を切断したクライアント1001からの利用者の機密情報やプライ
バシーを含んだ情報はより漏洩しにくくなる。
【0046】
図12にストレージ1017上に記録された業務アプリケーション2019やクライア
ント1001などにインストールされたアプリケーションから一時記憶領域2020を利
用する際の処理方法をフローチャートにて示した図を示す。図12のフローチャートに示
される処理は、アプリケーションの実行されるCPU1030、もしくは3000におい
て行われる。例えば、遠隔操作端末用アプリケーション2017や業務アプリケーション
2019は、CPU3000上にて実行され、サーバ1000上のアプリケーションは、
CPU1030上で実行されることになる。この際、利用者が利用するアプリケーション
が起動される(12000)と、一時記憶領域2020がアプリケーションに定義されて
いるかどうかと利用可能かどうかが調べられる(12001)。処理12001において
未定義もしくは利用不可能の場合一時記憶領域2020の領域の定義と利用可能化(12
002)が行われる。次に、一時記憶領域の容量が十分かなど利用可能かどうかのチェッ
クが行われる(12004)。容量不足等の問題が検出された場合は容量不足など問題解
決処理が行われ(12005)異常状態から復帰できれば(12006)処理が継続され
るが、出来ない場合は、アプリケーションは異常終了する(12007)。次にアプリケ
ーションの処理が開始され(12003)、一時記憶領域2020への入出力が行われる
(12008)。アプリケーションの処理が継続されるようであれば、処理12004へ
戻る。アプリケーションが終了される場合、一時記憶領域2020への入出力12010
が行われる。処理12010はアプリケーションの利用した情報の消去とその確認作業で
ある。処理12010により利用者の利用した情報が適切に保全されたり、多くの場合は
諸居されることにより、利用者の持つプライバシーを含む情報や秘匿情報が保護される。
異常が無ければ、アプリケーションは終了する(12011)。
【0047】
アプリケーションによって、一時記憶領域2020の定義方法がいくつか存在する。一
つの方法は、アプリケーションが起動される際に、利用者ごとにクライアント1001上
に設けられた利用者のプロファイルに記載されてある一時記憶領域の設定をアプリケーシ
ョンが読み込むことにより、一時記憶領域2020の場所をアプリケーションが特定する
やり方である。この際、利用者のプロファイルは、OSもしくはアプリケーションによっ
て定義される利用者の設定情報で、ストレージ3002もしくは、ストレージ1017に
記録されている。もう一つの方法は、アプリケーションが起動される際に、利用者に対し
、OSもしくはアプリケーションがダイヤログなどの確認手段をディスプレィ1008上
に表示するなどして、利用者に入力を促し、アプリケーションが一時記憶領域の設定を特
定することである。この確認手段は多くはアプリケーションの最初の起動時に行われるが
、毎起動時に行われても良い。以上のいずれかの方法によりアプリケーションは利用者の
利用環境に対応した一時記憶領域の設定を行う。一度利用者が定義した情報は、クライア
ント上のストレージ3002もしくはストレージ1017上に情報を記録することにより
、アプリケーション起動時にアプリケーションが再度利用すればよい。
【0048】
認証情報のコピー2021は、耐タンパデバイス1016内にある例えば、証明書20
43や公開鍵2044のような認証情報のコピーである。この認証情報のコピー2021
は、耐タンパデバイス1016内にある公開鍵2044や証明書2043やPIN情報2
041等のコピーである。
【0049】
図3に認証情報のコピー2021の例を示す。証明書1(5001)〜証明書N(50
03)は証明書2043の一部である。ミドルウェアの認証情報5004は、サーバ10
00もしくは、クライアント1001のミドルウェアが認証情報のコピーが改ざんされて
いないかを検査するハッシュ値と署名やミドルウェアのバージョン情報、認証情報のコピ
ーの作成された時刻情報などのミドルウェアの認証情報が含まれる。
【0050】
一般的に耐タンパデバイス1016、コントローラ1015間の通信速度はストレージ
1017、コントローラ1015間の通信速度より遅いことが多い。このため、クライア
ント1001上のOSもしくはアプリケーションが耐タンパデバイス1016内の認証情
報をストレージ1017にキャッシュもしくはコピーしておくことにより、利用者がスト
レージデバイスを利用する際に証明書2043の読み出しに要する時刻を短縮することが
でき、ユーザビリティを向上させることができる。認証情報のコピー2021は、ストレ
ージデバイス1014が利用されるたびの検証されることが望ましく、その際に、認証情
報のコピー2021の中の、ハッシュ値や耐タンパデバイス1016内の秘密鍵による署
名や、クライアント1001上のOSもしくはアプリケーションによる署名が利用される

【0051】
図4にクライアント1001の詳細を示したブロック構成図を示す。クライアント10
01は、内部にCPU3000、メモリ3001、ストレージ3002、インターフェー
ス(I/F)3020、3021、3022、3023を持つ。ストレージ3002は、
フラッシュメモリ、ハードディスク、EEPROM、MRAM、MO、光ディスク等の不
揮発性の記憶媒体である。
【0052】
CPU3000は、ストレージ3002からメモリ3001にロードされたアプリケー
ションを実行し、ディスプレィ1008、ネットワーク1006、ユーザインターフェー
ス1010、リーダライタ1012との通信をそれぞれ、I/F3020、3021、3
022、3023を介して行う。
【0053】
ストレージ3002は、証明書3010、ログ情報3011、デバイスアクセス用ライ
ブラリ3012、デバイス管理用ツール3013、デバイスドライバ3014、インター
フェースハンドラ3015、遠隔操作端末用アプリケーション3016、暗号化通信路構
築用アプリケーション3017、業務アプリケーション3018が保存される。
【0054】
証明書3010は、クライアント1001やサーバ1000が利用者やストレージデバ
イス1014を識別する演算を行うために利用する。証明書3010のフォーマットは例
えばITUの定めるX.509の仕様を満たすものなどであればよい。
【0055】
証明書3010内には例えば証明書のバージョン番号、証明書のシリアル番号、利用者
の公開鍵の情報、証明書を発行した認証局の情報、証明書の有効期間、氏名、電子メール
アドレスやストレージデバイス固有の識別番号等の利用者やストレージデバイスの情報、
拡張領域といったものが記録されている。証明書3010はストレージデバイス1014
内の証明書2043やストレージ1017内の証明書2010のコピーや独自に利用者が
登録した利用者や証明書を証明するルート認証局や中間認証局やストレージデバイス10
14などの耐タンパデバイスの証明書であり、クライアント1001、サーバ1000内
において、認証情報の検証やデータやセッション鍵等の暗号化に利用される。
【0056】
ログ情報3011は、利用者がクライアント1001の操作を行った場合に、CPU3
000もしくはサーバ1000の指示により更新される。ログ情報3011は、サーバ1
000上のアプリケーションやクライアント1001上のアプリケーションより利用され
るか、利用者が自分の利用状況を確認するために利用される。ログ情報3011は、第3
者からの改ざんを防ぐために、ハッシュ値の署名を付加して記録する。
【0057】
図5に利用者がクライアント1001にストレージデバイス1014を挿入し、サーバ
1000を利用する際の利用者、ストレージデバイス1014、クライアント1001、
サーバ1000間にて行われる通信の詳細を示した図を示す。利用者はクライアント10
01の利用を開始するまでに利用者の認証情報やクライアント1001を動作させるため
のアプリケーションが保存されたストレージデバイス1014をクライアント1001の
リーダライタに接続する。利用者が、クライアント1001を利用したことがない場合は
、利用者はストレージデバイス1014内のインストーラ2016を利用し、デバイスド
ライバ2014やデバイス管理ツール2013や遠隔端末用アプリケーション2017の
ようなサーバ1000を操作するために必要な情報もしくはアプリケーションをクライア
ント1001にインストールする。この際、クライアント1001によってストレージデ
バイス1014から直接実行できるアプリケーションのインストールを行う必要はない。
【0058】
利用者は、まずシーケンス4000に示すようにクライアント1001に動作確認要求
を行う。クライアント1001はサーバ1000にサーバ動作確認を行う(4001)利
用者はサーバ1000の動作を確認できなかった場合は、ストレージデバイス1014上
のもしくはインストーラ2016にてクライアント1001上に用意された遠隔地からサ
ーバの電源を投入するローカルエリアネットワーク(LAN)を利用して機器の電源投入
を行うようなWake up on LANのような機能を利用してサーバ1000の電源
投入を行う。この場合、サーバ1000の、ネットワークに対するI/Fのみは常時通電
されており、IDとパスワードのセットやネットワークボードのMACアドレス等、何ら
かの認証情報を利用してサーバ1000の起動が行われる(4002、4003)。この
操作によりサーバ1000は起動される(4004)。サーバの起動が完了した際、利用
者はクライアント1001にログイン要求を入力する(4005)。クライアント100
1内に遠隔操作アプリケーション2017及び暗号化通信路構築用アプリケーション20
18がインストールされていない場合、この時点にてクライアント1001にロードされ
る(4006)。次にクライアント1001からサーバ1000にログイン要求が行われ
る(4007)。サーバ1000のリモート機器からのログインに対するセキュリティポ
リシーの設定によるが、ログインに際し、利用者の認証において公開鍵インフラストラク
チャ(PKI)を用いた認証が必要もしくは可能である場合、サーバ1000からの認証
情報の要求(4008)、クライアント1001からの証明書の要求(4009)、スト
レージデバイス1014からの証明書の送信(4010)、クライアント1001からの
署名の要求(4011)が行われる。ストレージデバイス1014において署名を行う場
合、利用者の認証が必要となる。利用者の認証は、暗証番号、パスワード、パスフレーズ
、ワンタイムパスワード、指紋情報などの生体認証情報などにより行われる。
【0059】
本実施例では、暗証番号を利用した例を示す。ストレージデバイス1014からの暗証
番号要求(4012)が行われた後、クライアント1001から利用者へ暗証番号要求表
示4013がディスプレィ1008などを利用して行われる。利用者が暗証番号をユーザ
インターフェース1010とクライアント1001を介してストレージデバイス1014
に送信すると(4014、4015)、ストレージデバイス1014内のCPU2001
もしくはCPU2030においてサーバ1000、クライアント1001から送信された
情報に対し、秘密鍵2040のうちの一つもしくはいくつかを用いた電子署名が作成され
る(4016)。作成された署名は、クライアントに送信される(4017)。クライア
ント1001は、証明書2010、2043などの認証情報と作成された署名の送信を行
う(4018)。次に、サーバ1000及びクライアント1001は、秘密鍵や公開鍵と
いったお互いの鍵情報と証明書を利用して、秘密共有鍵の鍵交換を行う(4019)。こ
の鍵交換4019は、遠隔操作端末用アプリケーション2017か暗号化通信路構築用ア
プリケーション2018により行われる。シークエンス4019において交換された秘密
共有鍵を用いて、サーバ1000及びクライアント1001は暗号化通信路を構築し、2
者の間で通信される情報は暗号化される。暗号化通信路が構築された段階で、ユーザは、
サーバ1000または、クライアント1001、ストレージデバイス1014上に保存さ
れているアプリケーションを起動し、業務遂行をする(4020)。
【0060】
業務遂行中は、CPU2001もしくはCPU2030もしくはサーバ1000もしく
はクライアント1001は、ログ情報2011、2042、3011に情報を追記し、利
用者の業務遂行を適切に監視する。記載されたログ情報は、改ざん防止の処理を施され、
ストレージデバイス1014やクライアント1001内に保存されるが、利用者の利用開
始時や利用終了時など適切なタイミングでサーバ1000に送信される。
【0061】
利用者の利用するサーバ1000の管理を行う管理者は、ログ情報2011、2042
、3011の情報とサーバ1000に送信される情報を監査し、利用者が管理者が作成し
たポリシーに違反する利用を行った際に、サーバ1000もしくはクライアント1001
もしくは、ストレージデバイス1014の利用を停止するようなオペレーションを行う。
ポリシー違反は、例えば、ログの改ざんや、異常な利用時間、異常な通信量、ネットワー
ク1006を介した異常なアクセス、クライアント1001内に存在する異常なファイル
の検出、ファイルやアプリケーションのアップデートの不備などが該当する。サーバ10
00もしくはクライアント1001もしくは、ストレージデバイス1014の利用を停止
するようなオペレーションとは、サーバ1000及びクライアント1001への利用者の
ログインの禁止や電源遮断、ストレージデバイス1014の閉塞などが該当する。ストレ
ージデバイス1014の閉塞とは、PIN検証プログラム2045の利用する情報を変更
し、利用者がストレージデバイス1014を利用できないようにすることである。
【0062】
利用者の業務など、サーバ1000の利用が終了した場合、利用者は、クライアント1
001に対しサーバ遮断要求を行う(4021)。サーバ遮断要求はクライアント100
1からサーバ1000に送信される(4022)。サーバ1000及びクライアント10
01はセッションの遮断4023を行う。サーバ1000は、利用者の利用情報のログを
サーバ1000上に記憶し(4024)、サーバ1000のサーバ電源遮断を行う。利用
者がサーバ遮断要求4021を行わなければ、サーバ電源遮断4025は行われない。サ
ーバ電源遮断後は、また図5に示すシーケンスで業務遂行が行われる。
【0063】
図6は、利用者がサーバ1000及びクライアント1001及びストレージデバイス1
014を利用するために管理者が行うストレージデバイス1014の初期化操作を説明し
た図である。図6にて説明される一連の動作は、図5に示した利用者の利用が開始される
前もしくは利用者がカードを閉塞もしくは紛失し、利用権限を失った際に行われる。
【0064】
クライアント6000は、クライアント1001と同様にディスプレィやユーザインタ
ーフェースやリーダライタを接続されたクライアントで、管理者がストレージデバイス1
014の書き込みを行うために利用する。
【0065】
まず、管理者は、利用者の氏名ユーザ番号、電子メールアドレスやストレージデバイス
固有の識別番号等をクライアント6000を通じ、サーバ1000に登録することにより
、サーバ1000より利用者の認証情報を作成する。利用者の認証情報及び証明書の作成
と書き込み要求を行う(6001)。ここで、ストレージデバイス1014は、既にスト
レージデバイス供給者から鍵証明書格納プログラム2046などの各種プログラムが書き
込まれている。また、利用者の公開鍵証明書は、ストレージデバイス1014もしくはク
ライアント6000もしくは管理者が別途生成した秘密鍵に対応する公開鍵を6001に
て送付することにより得られる。作成された認証情報と公開鍵証明書は、クライアント6
000を経由してストレージデバイスへ書き込まれる(6002)。次に管理者は、スト
レージデバイス1014内の認証情報と鍵の利用権をコントロールするための情報を変更
する(6003、6004)。この操作によってストレージデバイス1014は、署名要
求や鍵書き換え要求、鍵のエクスポートインポート要求に対する利用権を変更される。利
用権の変更は、情報に対するアクセスキーの変更や、暗証番号の変更である。変更された
アクセスキーや暗証番号は、管理者が保管したり、他の耐タンパデバイスに格納したり、
利用者に通知する。
【0066】
次に、管理者は、アプリケーションの書き込み要求を行い、クライアント6000は、
アプリケーションの書き込みを行う。ここで言うアプリケーションとは、デバイスアクセ
ス用ライブラリ2012、デバイス管理用ツール2013、デバイスドライバ2014、
インターフェースハンドラ2015、インストーラ2016、遠隔操作端末用アプリケー
ション2017、暗号化通信路構築用アプリケーション2018、業務アプリケーション
2019などである。
【0067】
次に、管理者は、サーバ接続試験要求(6007)を行い、サーバ接続試験が行われる
(6008)。サーバ接続試験6008は、図5にて示した利用者が行うサーバへの接続
や業務遂行のプロセスを管理者が行い、ストレージデバイス1014内に記録された情報
やアプリケーションの有効性を確認するものである。接続と業務遂行プロセスが正しく行
われた場合、ストレージデバイス1014は、利用者に送付される。この際、ストレージ
デバイス1014は利用者のIDや顔写真や氏名などを印刷されるか、シール針付けする
などされる。また、ストレージデバイス1014を管理するための情報に対するアクセス
キーや暗証番号もストレージデバイス1014を送付するのとは別の封書などの方法で利
用者に送付される。
【0068】
図11は、本実施例のクライアント1001上で動作するミドルウェアについて説明し
た図である。クライアント1001上で動作する遠隔操作端末用アプリケーション201
7や暗号化通信路構築用アプリケーション2018、業務アプリケーション2019のよ
うなアプリケーション11000は、図示するように2つの経路を利用してリーダライタ
1012及びストレージデバイス1014にアクセスを行う。カード内のファイルアクセ
スやファイル管理を行いたい場合は、ファイルアクセス用API11001、ファイルア
クセス用ドライバ11002、リーダライタ1012内のリーダライタファームウェア1
1003を経由し、ストレージデバイス1014内のカードOS及びアプリケーション1
1004が呼び出される。また、カード内の耐タンパデバイス2032に命令を発するな
ど、セキュリティ認証にかかわる命令を実行したい場合は、インターフェースハンドラ3
015、デバイス3014、リーダライタ1012内のリーダライタファームウェア11
003を経由し、ストレージデバイス1014内のカードOS及びアプリケーション11
004が呼び出される。この際、ファイルアクセス用ドライバ11002、リーダライタ
ファームウェア11003、デバイス3014は、お互いの命令が同時に発生することが
無いように常にストレージデバイス1014とリーダライタ1012のアクセス状態を監
視し、ストレージデバイス1014に対して適切なアクセスがなされるように、自身で命
令のストックや拒否などの輻輳制御を行う。
【0069】
図13は、デバイスドライバ3014とファイルアクセス用ドライバ11002の行う
輻輳制御をフローチャートを用いて説明した図である。ドライバ3014及び11002
は、OSの起動時などに初期化され、処理が開始される(13000)。ファイルアクセ
ス用ドライバ11002への要求もしくは待機した要求があるかどうかチェックが行われ
(13001)、要求があった場合、リーダライタを介したカードへのファイルアクセス
が行われる(13002)。次に、デバイスドライバ3014への要求があるかどうかの
チェックが行われる(13003)。ある場合は、リーダライタを介したCPU2030
へのアクセスが行われる(13004)。ファイルアクセス用ドライバ11002への要
求がこの時点であるかどうかチェックが行われ(13005)、要求があった場合、ファ
イルアクセス用ドライバ11002への要求待機処理が行われる。この要求待機処理は、
ファイルアクセス用ドライバ11002において行われ、要求待機用に作られたメモリ領
域に、待機すべき要求がストックされる。ストックされた要求は、次に処理13002が
実行される際に処理される。ただし、処理13002により処理が行われるまでのストッ
クしている時間があらかじめ定めた一定量を超えた場合は、処理13005内で、アプリ
ケーションへタイムアウトなど異常を通知し、処理を破棄する。デバイスドライバ301
4への要求が終了したと認識できるかどうかチェックが行われ(13007)処理が完了
しない場合は、処理13004から再処理が行われる。
【0070】
また、OSからの終了要求がチェックされ(13008)、要求が無い場合は、再び処
理13001から処理が開始される。上記のようなデバイスドライバ3014及びファイ
ルアクセス用ドライバ11002による輻輳制御により、リーダライタを介したストレー
ジデバイス1014のアクセスは、一般的なストレージデバイスと同様に保たれる。輻輳
制御とは、ファイルアクセスに関する命令と、耐タンパデバイスに対する命令との輻輳を
制御することで、ファイルアクセス用ドライバ11002は、一般的なマスストレージデ
バイスドライバでも、マスストレージデバイスドライバに接続するアッパーフィルタドラ
イバやローワーフィルタドライバで行ってもよい。また、リーダライタファームウェアに
命令を退避させるメモリ領域もしくはバッファを設けて命令を待機させ、輻輳を制御して
もよい。
【0071】
さらに、輻輳制御について詳細に説明する。輻輳制御とは、下記に示すような待機処理
もしくは競合解決処理を示す。ここで、輻輳を制御するのは、後述する待機させられたコ
マンドリストをクライアント上のメモリ領域に作成しソフトウェア的に処理しても良いし
、リーダーライタのファームウェアにてソフトウェア的に解決しても良いし、リーダライ
タ上にバッファを設けてハードウェア的に解決しても良い。
【0072】
図14は、デバイスドライバ3014とファイルアクセス用ドライバ11002におけ
る輻輳制御により発せられるコマンドの様子を示すタイムチャートである。CPU203
0へのアクセスのためのコマンド1、コマンド2が順にドライバより発せられるようアプ
リケーションから指示があったとする。図14のファイルアクセス用コマンドに示すよう
にコマンド1がストレージデバイス1014に発せられ、そのレスポンス1の応答がある
。次にコマンド2がストレージデバイス1014に発せられ、そのレスポンス2の応答が
ある。このコマンドの発行、応答の間にファイルアクセス用コマンド3やコマンド4が発
せられたとする。この際、ファイルアクセス用ドライバはコマンド3やコマンド4を待機
させられたコマンドリストに格納する。図13における処理13002においてCPU2
030へのアクセスのためのコマンドからの入力が無いと判断される場合、待機させられ
たファイルアクセス用コマンド3が発せられ、そのレスポンス3の応答がある。次に待機
させられたファイルアクセス用コマンド4が発せられ、そのレスポンス4の応答がある。
全体として、ストレージデバイス1014に送受信されるコマンドとレスポンスは、例え
ば、図14における「全てのコマンドとレスポンス」に示すように、順にコマンド1、レ
スポンス1、コマンド2、レスポンス2、コマンド3、レスポンス3、コマンド4、レス
ポンス4のようになる。
【0073】
上記のように、本実施形態に示したクライアント1001は、耐タンパストレージ機能
を搭載したストレージデバイス1014を挿入しサーバ1000を遠隔操作する事により
、利用者に安全で、使い勝手良く利用できる業務システムを構成することが可能となる。
【0074】
また、利用者は、利用するクライアント1001からクライアント1002に変更した
としても、クライアント1001を利用するのと同様の操作感覚にて業務遂行を行うこと
ができるため、利用者の使い勝手が向上する。
【0075】
また、利用者が利用を停止する際には、利用者が利用していた一時記憶ファイルが消去
されるため、クライアント1001内の情報が第3者によって危険にさらされても利用者
の利用した情報は安全に保護され、電源を切断したクライアント1001からの利用者の
利用した機密情報やプライバシーを含んだ情報はより漏洩しにくくなることにより、利用
者の利便性を向上させる。
【0076】
また、本実施の形態では、クライアント1001及びサーバ1000を別の構成として
記載したが、逆にクライアント1001がサーバ1000の機能を兼ねたり、サーバ10
00をクライアント1001の代わりに使用したりすることが可能でもよい。また、サー
バ1000、クライアント1001、1002は、PCやPersonal Digit
al Assistants(PDA)、ワークステーションであるように記載したが、
高機能複写機、現金自動支払機(ATM)、携帯電話、デジタルスチルカメラ、ビデオカ
メラ、音楽再生(録音)装置、販売時点商品管理システム、街角端末、Intellig
ent Transport Systems(ITS)用送信機、券売機、決済端末、改
札機、自動販売機、入退室管理装置、ゲーム機、公衆電話、注文取り用携帯端末、電子財
布、有料放送受信機、医療カード管理装置等として同様である。
【実施例2】
【0077】
図7から図9用いて、本発明に係るセキュアリモートアクセスシステムの第2の実施形
態を説明する。
【0078】
図7は、本発明の第2の実施形態のリモートアクセスシステムを示す図である。
【0079】
利用者の使用するサーバ1000とクライアント1001、ストレージデバイス101
4は、第1の実施形態にて説明したものと同様である。ゲートウェイ7000は、クライ
アント1001とサーバ1000の通信の暗号化と利用者、利用機器認証を行う中継機器
である。
【0080】
ゲートウェイ7000は、一般的にファイヤーウォール、暗号化ゲートウェイ、バーチ
ャルプライベートネットワーク(VPN)ゲートウェイなどと呼ばれる。本実施例では、ゲ
ートウェイ7000は、ファイヤーウォールと暗号通信機能をインストールされたサーバ
機であるとして説明を行うが、例えば、ネットワークルータや無線LANアクセスポイン
ト、ネットワークハブ、ブロードバンドルータなどでも良い。ネットワーク7001は、
例えばインターネットや地域IPネットワークのような、公衆回線であり、ネットワーク
1006より通信内容の盗聴や改ざんの危険性の高いネットワークである。クライアント
1001は、ネットワーク7001越しにサーバ1000を遠隔操作するため、ゲートウ
ェイ7000とクライアント1001の間にて暗号通信と暗号通信を行うための認証を行
う。
【0081】
ゲートウェイ7000は、CPU7002、メモリ7003、ストレージ7004を持
ち、動作時にストレージ7004内に設定された暗号通信及び認証用アプリケーションが
メモリ7003にロードされCPU7002にて通信の制御を行う。ゲートウェイ700
0は、認証用サーバ7005に直接もしくはネットワークを経由して接続している。認証
用サーバ7005は、ゲートウェイ7000にて暗号通信を行う際の認証情報を蓄積し、
ゲートウェイ7000の問合に対して応答したり、接続されたリーダライタ7007を介
して、ストレージデバイス1014の初期化や活性化、個人化などを行う。認証用サーバ
7005は、内部認証局を持っていても良いし、外部の認証局の証明書リストや証明書リ
ボケーションリストを管理し、ゲートウェイ7000に通知する役割だけを持っていても
良い。
【0082】
図8に、本実施形態のリモートアクセスシステムを利用する際のストレージデバイス1
014の初期化と利用者がクライアント1001にストレージデバイス1014を挿入し
、サーバ1000を利用する際の管理者、利用者、ストレージデバイス1014、クライ
アント1001、ゲートウェイ7000、サーバ1000間にて行われる通信の詳細を示
した図を示す。
【0083】
管理者は、ストレージデバイス1014を認証サーバ7005と通信が可能なリーダラ
イタ7007に挿入する。管理者は、利用者の氏名ユーザ番号、電子メールアドレスやス
トレージデバイス固有の識別番号等をクライアント1001を通じ、認証サーバ7005
に登録することにより、認証サーバ7005より利用者の認証情報を作成する。利用者の
認証情報及び証明書の作成と書き込み要求を行う(8001)。ここで、ストレージデバ
イス1014は、既にストレージデバイス供給者から鍵証明書格納プログラム2046な
どの各種プログラムが書き込まれている。また、利用者の公開鍵証明書は、ストレージデ
バイス1014もしくは認証サーバ7005もしくは管理者が別途生成した秘密鍵に対応
する公開鍵を8001にて送付することにより得られる。作成された認証情報と公開鍵証
明書は、ストレージデバイス1014へ書き込まれる。次に管理者は、ストレージデバイ
ス1014内の認証情報と鍵の利用権をコントロールするための情報を変更する(800
3、8004)。この操作によってストレージデバイス1014は、署名要求や鍵書き換
え要求、鍵のエクスポートインポート要求に対する利用権を変更される。利用権の変更は
、情報に対するアクセスキーの変更や、暗証番号の変更である。変更されたアクセスキー
や暗証番号は、管理者が保管したり、他の耐タンパデバイスに格納したり、利用者に通知
する。
【0084】
次に、管理者は、アプリケーションの書き込み要求を行い、認証サーバ7005は、ア
プリケーションの書き込みを行う。ここで言うアプリケーションとは、デバイスアクセス
用ライブラリ2012、デバイス管理用ツール2013、デバイスドライバ2014、イ
ンターフェースハンドラ2015、インストーラ2016、遠隔操作端末用アプリケーシ
ョン2017、暗号化通信路構築用アプリケーション2018、業務アプリケーション2
019などである。
【0085】
次に、管理者は、サーバ接続試験要求(8007)を行い、サーバ接続試験が行われる
(8008)。サーバ接続試験8007は、ストレージデバイス1014内に記録された
情報やアプリケーションの有効性を確認するものである。接続と業務遂行プロセスが正し
く行われた場合、ストレージデバイス1014は、利用者に送付される(8009)。こ
の際、ストレージデバイス1014を管理するための情報に対するアクセスキーや暗証番
号もストレージデバイス1014を送付するのとは別の封書などの方法で利用者に送付さ
れる。
【0086】
次に、利用者はクライアント1001の利用を開始するまでに利用者の認証情報やクラ
イアント1001を動作させるためのアプリケーションが保存されたストレージデバイス
1014をクライアント1001のリーダライタに接続する。利用者が、クライアント1
001を利用したことがない場合は、利用者はストレージデバイス1014内のインスト
ーラ2016を利用し、デバイスドライバ2014やデバイス管理ツール2013や遠隔
端末用アプリケーション2017のようなサーバ1000を操作するために必要な情報も
しくはアプリケーションをクライアント1001にインストールする。この際、クライア
ント1001によってストレージデバイス1014から直接実行できるアプリケーション
のインストールを行う必要はない。
【0087】
利用者は、まずシーケンス8010に示すようにクライアント1001にゲートウェイ
接続要求を行う。クライアント1001はゲートウェイ7000にサーバ動作確認を行う
(8011)ゲートウェイ7000のリモート機器からのログインに対するセキュリティ
ポリシーの設定によるが、利用者の認証をPKIを用いた認証が必要もしくは可能である
場合、ゲートウェイ7000からの認証情報の要求(8012)、クライアント1001
からの証明書の要求(8013)、ストレージデバイス1014からの証明書の送信(8
014)、クライアント1001からの署名の要求(8015)が行われる。ストレージ
デバイス1014において署名を行う場合、利用者の認証が必要となる。利用者の認証は
、暗証番号、パスワード、パスフレーズ、ワンタイムパスワード、指紋情報などの生体認
証情報などにより行われる。本実施例では、暗証番号を利用した例を示す。ストレージデ
バイス1014からの暗証番号要求(8016)が行われた後、クライアント1001か
ら利用者へ暗証番号要求表示(8017)がディスプレィ1008などを利用して行われ
る。利用者が暗証番号をユーザインターフェース1010とクライアント1001を介し
てストレージデバイス1014に送信すると(8018、8019)、ストレージデバイ
ス1014内のCPU2001もしくはCPU2030においてサーバ1000、クライ
アント1001から送信された情報に対し、秘密鍵2040のうちの一つもしくはいくつ
かを用いた電子署名が作成される(8020)。作成された署名は、クライアントに送信
される(8021)。クライアント1001は、証明書2010、2043などの認証情
報と作成された署名の送信を行う(8022)。次に、サーバ1000及びクライアント
1001は、秘密鍵や公開鍵といったお互いの鍵情報と証明書を利用して、秘密共有鍵の
鍵交換を行う(8023)。この鍵交換8023は、暗号化通信路構築用アプリケーショ
ン2018により行われる。シークエンス8023において交換された秘密共有鍵を用い
て、ゲートウェイ7000及びクライアント1001は暗号化通信路を構築し、2者の間
で通信される情報は暗号化される。
【0088】
次に、利用者は、シーケンス8030に示すようにクライアント1001に動作確認要
求を行う。クライアント1001はサーバ1000にサーバ動作確認を行う(8031)
利用者はサーバ1000の動作を確認できなかった場合は、ストレージデバイス1014
もしくはインストーラ2016にてクライアント1001上に用意された遠隔地からサー
バの電源を投入するLANを利用して機器の電源投入を行うようなWake up onL
ANのような機能を利用してサーバ1000の電源投入を行う。この場合、サーバ100
0の、ネットワークに対するI/Fは常時通電されており、IDとパスワードのセットや
ネットワークボードのMACアドレス等、何らかの認証情報を利用してサーバ1000の
起動が行われる(8032、8033)。この操作によりサーバ1000は起動される(
8034)。サーバの起動が完了した際、利用者はクライアント1001にログイン要求
を入力する(8035)。この操作は、クライアント1001内の遠隔操作アプリケーシ
ョン2017により行われる。遠隔操作アプリケーションがインストールされていない場
合、この時点にてクライアント1001にロードされる。サーバ1000のリモート機器
からのログインに対するセキュリティポリシーの設定によるが、ログインに際し、利用者
の認証をPKIを用いた認証が必要もしくは可能である場合、サーバ1000からの認証
情報の要求などが行われ、8012〜8023と同様の署名の作成と送信がサーバ100
0に対し行われる。利用者は、ゲートウェイ7000において強固な認証を通過している
ので、サーバ1000がゲートウェイ7000からの通信を信頼できるとすると、ログイ
ン要求8035を行う際のサーバ1000の認証はIDとパスワード認証などの簡便なも
のでも良い。
【0089】
暗号化通信路構築とサーバ1000へのログインが完了した段階で、ユーザは、サーバ
1000または、クライアント1001、ストレージデバイス1014上に保存されてい
るアプリケーションを起動し、業務遂行をする(8036)。
【0090】
業務遂行中は、CPU2001もしくはCPU2030もしくはサーバ1000もしく
はクライアント1001は、ログ情報2011、2042、3011に情報を追記し、利
用者の業務遂行を適切に監視する。記載されたログ情報は、改ざん防止の処理を施され、
ストレージデバイス1014やクライアント1001内に保存されるが、利用者の利用開
始時や利用終了時など適切なタイミングでサーバ1000に送信される。
【0091】
利用者の利用するサーバ1000の管理を行う管理者は、ログ情報2011、2042
、3011の情報とサーバ1000に送信される情報を監査し、利用者が管理者が作成し
たポリシーに違反する利用を行った際に、サーバ1000もしくはクライアント1001
もしくは、ストレージデバイス1014の利用を停止するようなオペレーションを行う。
ポリシー違反は、例えば、ログの改ざんや、異常な利用時間、異常な通信量、ネットワー
ク1006を介した異常なアクセス、クライアント1001内に存在する異常なファイル
の検出、ファイルやアプリケーションのアップデートの不備などが該当する。サーバ10
00もしくはクライアント1001もしくは、ストレージデバイス1014の利用を停止
するようなオペレーションとは、サーバ1000及びクライアント1001への利用者の
ログインの禁止や電源遮断、ストレージデバイス1014の閉塞などが該当する。ストレ
ージデバイス1014の閉塞とは、PIN検証プログラム2045の利用する情報を変更
し、利用者がストレージデバイス1014を利用できないようにすることである。利用者
の業務など、サーバ1000の利用が終了した場合、利用者は、クライアント1001に
対しサーバ遮断要求を行う(8037)。サーバ遮断要求はクライアント1001からサ
ーバ1000に送信される(8038)。サーバ1000及びクライアント1001はセ
ッションの遮断8039を行う。サーバ1000は、利用者の利用情報のログをサーバ1
000上に記憶し(8040)、サーバ1000のサーバ電源遮断を行う。利用者がサー
バ遮断要求8037を行わなければ、サーバ電源遮断8041は行われない。サーバ電源
遮断後は、また8010以降のシーケンスで業務遂行が行われる。
【0092】
図9に、本実施形態のリモートアクセスシステムのネットワーク構成を示したブロック
図を示す。図中9000にて示されたネットワークとネットワークに接続した機器のグル
ープは、利用者が中心的に利用するネットワークと機器のグループである。ネットワーク
と機器のグループ9000は、例えば、利用者が常に勤務するオフィスのローカルエリア
ネットワーク(LAN)とLANに接続された機器である。9000内には、ユーザの利
用可能なサーバ1000、クライアント1002、部門サーバ9001、PC9002、
ゲートウェイ9006、7000、認証サーバ7005がLAN9003を中心に接続さ
れている。また、9010にて示されたネットワークとネットワークに接続した機器のグ
ループは、利用者が出張時などに利用する所属外の事業部などのWAN上のネットワーク
と機器のグループである。9010内には、ユーザの利用可能なクライアント9008、
ゲートウェイ9007がネットワーク9005を中心として接続されている。また、ネッ
トワーク7001のような社外のネットワークにルータ9004を介してクライアント1
001が接続されている。
【0093】
ここで、利用者は、ストレージデバイス1014を持ち歩くことにより、LAN上のク
ライアント1002、WAN上のクライアント9008、インターネットを介しLAN9
003に接続しているクライアント1001を利用して、LAN9003と接続されたサ
ーバ1000、部門サーバ9001、PC9002を利用することができる。この際、L
AN上のクライアント1002、WAN上のクライアント9008からLAN9003と
接続されたサーバ1000、部門サーバ9001、PC9002を利用する際は、ゲート
ウェイ9007、9006では、通信の暗復号を行わず、ゲートウェイ7000を利用す
る場合、通信の暗復号を行うようにすれば、利用者の利用手順の簡略化を図りつつ、通信
内容の秘匿が可能である。ここで、部門サーバ9001とは、LAN上に設置されたウェ
ブサーバやメールサーバやリモートログインして演算を行うターミナルサーバなどを示す
。PC9002は、利用者の所属する部門が共有などで利用している共有リソース管理用
PCや出張者用貸し出しPCなどを示す。
【0094】
上記のように、本実施形態に示したクライアント1001は、耐タンパストレージ機能
を搭載したストレージデバイス1014を挿入しサーバ1000、部門サーバ9001、
PC9002などを遠隔操作することにより、利用者に安全で、使い勝手良く利用できる
業務システムを構成することが可能となる。
【0095】
また、利用者は、利用するクライアント1001からクライアント1002、9008
に変更したとしても、様々な異なる業務執行場所において、クライアント1001を利用
するのと同様の操作感覚にて業務遂行を行うことができるため、利用者の使い勝手が向上
する。また、サーバ1000、クライアント1001、1002、9008は、PCやP
DA、ワークステーションであるように記載したが、高機能複写機、ATM、携帯電話、
デジタルスチルカメラ、ビデオカメラ、音楽再生(録音)装置、販売時点商品管理システ
ム、街角端末、ITS用送信機、券売機、決済端末、改札機、自動販売機、入退室管理装
置、ゲーム機、公衆電話、注文取り用携帯端末、電子財布、有料放送受信機、医療カード
管理装置等として同様である。
【実施例3】
【0096】
図10を用いて、本発明に係るセキュアリモートアクセスシステムの第3の実施形態を
説明する。
【0097】
図10は、本発明の第3の実施形態を示すリモートアクセスシステムを示す図である。
【0098】
利用者の使用するサーバ10000は、サーバ1000と同等の機能をもつ複数個のサ
ーバ(PC)の集合体である。サーバ10000はサーバ10032、10042、…、
10052上にある、それぞれCPU10030、10040、…、10050、メモリ
10031、10041、…、10051により動作する。図10では、利用者は、サー
バ10032を利用し、CPU10030上にて実行された情報をディスプレィ1008
に出力させて業務を遂行している。サーバ10000は、切り替え器10004を利用し
てサーバ10032、10042、…、10052と接続するユーザインターフェース1
0003及びディスプレィ10002を選別している。また、サーバ10000は、制御
装置10001に接続されている。制御装置10001は、ネットワーク1005に接続
しており、サーバ10000と同様にストレージデバイス1014を持つ適切な利用者が
利用可能である。ここで、利用者がサーバ10032、10042、…、10052のい
ずれかを利用しようとした際に、制御装置10001は、サーバ10032、10042
、…、10052の電源管理、電源のオンオフ、状態のクライアントへの通知を行う。特
に、クライアント1001からのサーバ10032、10042、…、10052への通
信が不通になった際は、利用者は、制御装置10001にログインし、サーバ10032
、10042、…、10052の状態を確認したり、電源をオンオフしたりする。制御装
置10001内にはハードディスクやフラッシュメモリなどのサーバブート用のストレー
ジが実装してあり、このストレージ上のデータを用いてサーバ10032〜10052が
ブートアップする。このことにより、利用者のサーバ管理の工数が減少する。
【0099】
上記のように、本実施形態に示したサーバ10000及び制御装置10001を、耐タ
ンパストレージ機能を搭載したストレージデバイス1014を挿入したクライアント10
01より利用することにより、サーバ10000は、1つの筐体の内部に複数の類似した
機能を持つサーバを持つ特長から、管理者のサーバ10032、10042、…、100
52の管理工数を削減することができる。また、利用者が制御装置10001を利用する
ことによりサーバの電源管理などが容易に行えるため、利用者の使い勝手が向上する。
【実施例4】
【0100】
図1、図15、図16を用いて、本発明に係るセキュアリモートアクセスシステムの第
4の実施例を説明する。本実施形態は、セキュアリモートアクセスシステムを利用する利
用者が、多くの人間が使用するような公衆のクライアント機器を介して業務を遂行する場
合に有効である。
【0101】
一般に、公衆のクライアント機器には、ある個人あるいは複数の利用者が使用するため
のアプリケーションや個人的な設定情報などが保存されている。本実施形態では、それら
アプリケーションや個人設定情報をクライアント機器1001内部のストレージ3002
にインストールや格納をしないようなセキュアリモートアクセスシステムを提示する。さ
らに、利用者の操作量を軽減することによって利便性の高いセキュアリモートアクセスシ
ステムを提示する。
【0102】
図15は、本発明の第4の実施例におけるストレージデバイス1014の詳細を示した
ブロック構成図である。本実施例では、第1の実施例におけるストレージデバイス101
4内部のストレージ1017の中に、新たにブートプログラム15001とOSプログラ
ム15002を追加する。ブートプログラム15001は、クライアント1001が起動
される際に、そのBIOS(Basic Input/Output System)によって最初に実行されるプ
ログラムであり、クライアント1001用のOSを起動させる役割を持つ。OSプログラ
ム15002は、前記ブートプログラム15001によってストレージデバイス1014
からクライアント1001内部のメモリ3001上に読み込まれ起動されるクライアント
1001用のOSのプログラムである。
【0103】
利用者の使用するサーバ1000とクライアント1001、1002は、第1の実施例
にて説明したものと同様である。
【0104】
図16は、利用者がクライアント1001に図15に示したストレージデバイス101
4を挿入し、サーバ1000を利用する際の利用者、ストレージデバイス1014、クラ
イアント1001、サーバ1000間にて行われる通信の詳細を示した図である。利用者
はクライアント1001を起動するまでに利用者の認証情報やクライアント1001を動
作させるためのブートプログラム、OSプログラム、アプリケーション等が保存されたス
トレージデバイス1014をクライアント1001のリーダライタ1012に接続してお
く必要がある。また、クライアント1001のBIOSは、リーダライタ1012を通し
てブートプログラムを検出するのが、ストレージ3002を通して検出するのに優先する
ようにあらかじめ設定されている必要がある。第1の実施例との違いは、利用者がクライ
アント1001を利用したことがない場合でも、利用者はデバイスドライバ2014やデ
バイス管理ツール2013や遠隔端末用アプリケーション2017のようなサーバ100
0を操作するために必要な情報もしくはアプリケーションをクライアント1001のスト
レージ3002にインストールする必要がないことである。
【0105】
利用者は、まずシーケンス16001に示すようにクライアント1001の電源を投入
する。それによってクライアント1001のBIOSが起動し(16002)、ストレー
ジデバイス1014にブートプログラム15001を要求する(16003)。ストレー
ジデバイス1014は、これに応じてブートプログラム15001を送信する(1600
4)。クライアント1001のBIOSはブートプログラム15001を実行してブート
処理を開始する(16005)。ブート処理の中では、ブートプログラム15001によ
って、ストレージデバイス1014にOSプログラム15002を要求する(16006
)。ストレージデバイス1014は、これに応じてOSプログラム15002を送信する
(16007)。OSプログラム15002は、クライアント1001内部のメモリ30
01上に読み込まれ、起動される(16008)。これ以降、ストレージデバイス101
4に格納されているアプリケーション、ライブラリ、ドライバ、管理ツール等(2012
〜2019)は、このOS上に読み込まれて動作することが可能となる。OSプログラム
15002にはOS起動直後自動的に特定のアプリケーションを実行するように記述され
ている。これに従い、クライアント1001は遠隔操作アプリケーション2017及び暗
号化通信路構築用アプリケーション2018、さらにその実行に必要なライブラリ、ドラ
イバ等をストレージデバイス1014に要求する(16009)。ストレージデバイス1
014は、これに応じてそれらのアプリケーションを送信する(16010)。そして、
クライアント1001はそれらのアプリケーションを起動する(16011)。
【0106】
それらのアプリケーションのプログラムには、利用者が接続したいサーバのIPアドレ
スがあらかじめ記述されている。クライアント1001は自動的にそのIPアドレスのサ
ーバ1000に動作確認を行う(16012)。クライアント1001はサーバ1000
の動作を確認できなかった場合は、Wake on LANのような機能を利用してサーバ
1000の電源投入を行う。この場合、サーバ1000の、ネットワークに対するI/F
のみは常時通電されており、IDとパスワードのセットやネットワークボードのMACア
ドレス等、何らかの認証情報を利用してサーバ1000の起動が要求される(16013
)。これによりサーバ1000は起動される(16014)。サーバの起動が完了した際
、クライアント1001から自動的にサーバ1001にログイン要求が行われる(160
15)。サーバ1000のリモート機器からのログインに対するセキュリティポリシーの
設定によるが、ログインに際し、利用者の認証において公開鍵インフラストラクチャ(P
KI)を用いた認証が必要もしくは可能である場合、サーバ1000からクライアント1
001に認証情報を要求し(16016)、クライアント1001からストレージデバイ
ス1014に証明書を要求し(16017)、ストレージデバイス1014からクライア
ント1001に証明書を送信し(16018)、クライアント1001からストレージデ
バイス1014に署名を要求する(16019)。
【0107】
ストレージデバイス1014において署名を行う場合、利用者の認証が必要となる。利
用者の認証は、暗証番号、パスワード、パスフレーズ、ワンタイムパスワード、指紋情報
などの生体認証情報などにより行われる。本実施例では、暗証番号を利用した例を示す。
ストレージデバイス1014からの暗証番号要求(16020)が行われた後、クライア
ント1001から利用者へ暗証番号要求表示16021がディスプレィ1008などを利
用して行われる。利用者が暗証番号をユーザインターフェース1010とクライアント1
001を介してストレージデバイス1014に送信すると(16022、16023)、
ストレージデバイス1014内のCPU2001もしくはCPU2030においてサーバ
1000、クライアント1001から送信された情報に対し、秘密鍵2040のうちの一
つもしくはいくつかを用いた電子署名が作成される(16024)。作成された署名は、
クライアントに送信される(16025)。クライアント1001は、証明書2010、
2043などの認証情報と作成された署名の送信を行う(16026)。
【0108】
次に、サーバ1000及びクライアント1001は、秘密鍵や公開鍵といったお互いの
鍵情報と証明書を利用して、秘密共有鍵の鍵交換を行う(16027)。この鍵交換16
027は、遠隔操作端末用アプリケーション2017か暗号化通信路構築用アプリケーシ
ョン2018により行われる。シーケンス16027において交換された秘密共有鍵を用
いて、サーバ1000及びクライアント1001は暗号化通信路を構築し、2者の間で通
信される情報は暗号化される。暗号化通信路が構築された段階で、利用者は、サーバ10
00、クライアント内のメモリ3001、またはストレージデバイス1014上に格納さ
れているアプリケーションを起動し、業務遂行をする(16028)。
【0109】
業務終了後、クライアント1001は図5のシーケンス4021〜4025のようにサ
ーバ1000との通信を遮断し、利用者はクライアント1001の電源を切断してストレ
ージデバイス1014をリーダライタ1012から抜き取る。これによって、メモリ30
01上の情報も揮発するため、クライアント1001内部には利用者が使用したアプリケ
ーションや個人情報などが一切残らない。これにより、公衆のクライアントを使用したセ
キュアリモートアクセスシステムにおいて、利用者のプライバシーが保護される。
【0110】
また、クライアント1001上で動作するOSプログラムは利用者自身がストレージデ
バイス1014内に管理しているので、クライアントにインストールされているOSに第
3者がひそかに設置したコンピュータウイルス等の不正プログラムにより利用者の暗証番
号が盗聴されるなどの危険も回避される。これにより、公衆のクライアントを使用したセ
キュアリモートアクセスシステムにおいて、利用者のセキュリティも保護される。
【0111】
また、図16のように、利用者がクライアント1001の利用を開始してから業務対象
サーバ1000に接続するまでの間の過程は、ブートプログラム15001とOSプログ
ラム15002によって自動化されているので、利用者の操作は電源投入16001と暗
証番号送信16022のみである。これにより、利用者にとってのセキュアリモートアク
セスシステムの利便性が向上する。
【実施例5】
【0112】
第5の実施例は、第4の実施例におけるセキュアリモートアクセスシステムを利用する
利用者が、安全であると信用できるクライアントを介して業務を遂行する場合に有効であ
る。
【0113】
第4の実施例におけるセキュアリモートアクセスシステムでは、クライアント1001
で動作するOSをストレージデバイス1014から読み出している。しかし、利用者が公
衆クライアント機器のように安全性が保証されないクライアント機器ではなく、自身の所
有するPCやレンタルオフィスや出張先の管理されたオフィスのPCのように安全である
と信用できるクライアントを使用する場合には、OSをストレージデバイス1014から
読み出さずに、クライアント内にインストールされているOSを利用してもよい。
【0114】
そのため、本実施例のリーダライタ1012は起動モードを選択する機能を有する。具
体的には、図17(a)のように機械的なスイッチを搭載している。このスイッチは、第
4の実施例におけるブートプログラム15001をストレージデバイス1014からクラ
イアント1001に送信可能にしたり、不可能にしたりを切り替えることができる。この
スイッチでブートプログラム15001を送信可能にすれば、セキュアリモートアクセス
システムは図16のように(つまり、第4の実施例のように)動作する。
【0115】
一方、ブートプログラム15001を送信不可能にすれば、OSプログラム15002
ではなくクライアント内にインストールされているOSが起動するため、セキュアリモー
トアクセスシステムは図5のように(つまり、第1の実施例のように)動作する。図17
(a)はその処理を示した図である。利用者は、スイッチ17000でブートプログラム
15001を送信するか送信しないかを選択する。ブートプログラムを送信しないことを
選択した場合、ストレージデバイス1014からは、クライアント機器へダミーデータ1
7001が送信される。ダミーデータ17001がクライアント1001のメモリ300
1上にロードされると、BIOSはストレージデバイス1014を通してのOS起動に失
敗するため、その代わりにストレージ3002内のOSを起動する。
【0116】
なお、該スイッチ等の切替手段を用いて、記憶媒体側(リーダライタ1012も含む)
からOSプログラム15002の送信可否を選択してもよい。但し、この場合、ブートプ
ログラムは記憶媒体側からクライアント機器へ送られている。該切替手段を操作し、OS
プログラムを送らない設定とした場合、記憶媒体側からクライアント機器へはダミーデー
タが送信される。ダミーデータを受信したブートプログラムは、ブートプログラムに予め
設定されたOSプログラムの読み込み先の機器からOSプログラムを読み出すこととなる
。この場合、OSプログラムの読み込み先の機器としては、クライアント1001内のス
トレージ3002でも、ネットワーク上の計算機上のストレージでも良い。
【0117】
また、図17(a)、(b)において記憶媒体側からのブートプログラムの送信が拒否
された場合であって、かつ、クライアント機器側のブートプログラムをロードした場合も
、上記と同様に、該ブートプログラムの内容によって、自機器あるいは他の機器の記憶装
置からOSプログラムを読み出すことが可能である。
【0118】
このような起動モードを選択するための機械的なスイッチは、ストレージデバイス10
14に搭載してもよい。一般に、PC用のディスクデバイスにおいて、ブートプログラム
が格納されている領域は最初の論理セクタアドレスで示される領域である。このスイッチ
でその領域のデータの読み出しを許可するか否かを切り替えることによって、ブートプロ
グラム15001の送信を制御できる。結果として、このスイッチで起動モードを選択す
ることができる。図17(b)はその処理を示した図である。スイッチ17002でブー
トプログラム15001を送信するかダミーデータ17003を送信するかを選択する。
ダミーデータ17003がクライアント1001のメモリ3001上にロードされると、
BIOSはストレージデバイス1014を通してのOS起動に失敗するため、その代わり
にストレージ3002内のOSを起動する。
【0119】
起動モードを選択するもう1つの方式としては、ブートプログラム15001がクライ
アント1001を構成する様々なデバイスを調査することによって、それが安全な端末で
あると信用できるか否かを判別する方法である。図17(c)はその処理を示した図であ
る。メモリ3001上にロードされたブートプログラム15001がクライアント100
1を信用できないものと判断したならば、OSプログラム15002をメモリ3001上
にロードして起動する。信用できるものと判断したならば、ストレージ3002内のOS
を起動する。なお、クライアント1001内のデバイスを調査する際に、ストレージデバ
イス1014内の耐タンパデバイス1016を利用してデバイス認証処理を実行すれば、
より信頼性の確証が得られる。この場合、あらかじめ耐タンパデバイス1016内のスト
レージ2032内にデバイス認証処理プログラムやデバイス認証処理に必要な鍵や証明書
などを格納しておき、ブートプログラム15001からの指示によってストレージデバイ
ス1014内のCPU2030がデバイス認証処理を実施するのが好ましい。ブートプロ
グラム15001がクライアント1001を構成する様々なデバイスを調査する方法は、
例えば、ブートプログラム15001がクライアント1001内にあるかクライアント1
001に接続されているCPUやメモリ、ストレージデバイス、ネットワークカードなど
に割り当てられた製造番号やMACアドレスのように番号と部品に1対1につけられた番
号や証明書を調査や検証することである。この番号や証明書は各CPUやメモリ、ストレ
ージデバイス、ネットワークカードの製造者やクライアントや部品の製造者や管理者など
が番号付けを行う。
【0120】
図17(c)において起動モードを選択するもう1つの方法としては、ストレージ30
02内のOSが暗号化やパスワードロックがかかった状態であるかどうかを調査してから
、OSプログラム15002をメモリ3001上にロードして起動するようにしても良い
。この場合、上記したデバイス認証は記憶媒体側のCPU2030が行い、ストレージ3
002内のOSが暗号化やパスワードロックがかかった状態であるかどうかの調査はクラ
イアント機器側のCPU3000が行うこととなる。
【0121】
図18は、図17(c)を用いて説明した第5の実施例のOSの起動を行う際の動作を
説明するためのフローチャートである。
【0122】
ブートプログラムの起動後(18000)、上述した方法により、クライアント100
1に記憶媒体からロードされたブートプログラム15001が、デバイス認証に必要な情
報を集めてCPU2030に送信して、該CPU2030でデバイス認証が成功したかど
うかが判定される(18001)。
【0123】
判定結果が認証成功(YES)であった場合、ストレージ3002がパスワードロックな
どのロック機能や暗号化機能によってパスワード等の情報の入力無しには内部に格納され
ているOSなどのデータを読み取ることができないようになっているかどうか判定される
(18002)。
【0124】
次にストレージデバイス1014から認証情報が取得できるかが判定される(1800
3)。18003での判定が失敗した場合(NO)、利用者からロックや暗号化を解除す
る情報の入力を促すよう画面表示し、入力をCPU3000およびストレージ3002に
送信する(18004)。18003の判定に成功(YES)した場合もしくは、180
04の動作を終了した場合、ストレージ3002は受け取った情報を用いて、例えばパス
ワードの比較など、内部に格納されている情報に受け取った情報が適合しているかどうか
検査を行う(18005)。受け取った情報が検査に合格すれば(YES)、利用者はス
トレージ3002の正当な利用権を持つことが証明されるので、ストレージ3002内部
に格納されているOSプログラム15002やその他のデータが利用可能になる。よって
、ストレージデバイス3002を用いてOSの起動が行われ(18006)、OSの起動
は終了する(18007)。18002の判定が失敗(NO)だった場合は、ロックや暗
号化がされていないということであるため、ストレージデバイス3002を用いてOSの
起動が行われ(18006)、OSの起動は終了する(18007)。18005の判定
に失敗した(NO)場合、もしくは、18001の判定に失敗した場合(NO)、OSプ
ログラム15002をメモリ3001上にロードして起動し(18008)、OSの起動
は終了する(18009)。
【0125】
なお、図17(c)において認証の判断結果に基づきOSの読込先の切り替えを行う手
段は、スイッチのような機械的手段でもよいし、コントローラとバスの組み合わせのよう
なソフトウェア的手段でもよい。
【0126】
以上のように、実施例5に示したストレージデバイス及びリーダライタ及びクライアン
トを利用することにより、クライアントが信頼できるか否か、または、クライアント内の
OSやストレージが利用できるか否か等を判定して適切に利用者の利用すべきブートプロ
グラムやOSプログラムを選択することができ、利用者のクライアントを利用する際の安
全性を高めることができる。また、自動的に起動すべきOSを選択したり、認証情報を入
力させることにより、利用者の利便性を高めたセキュアリモートアクセスシステムを提供
できる。
【図面の簡単な説明】
【0127】
【図1】本発明の第1の実施形態のセキュアリモートアクセスシステムを説明するためのブロック構成図。
【図2】本発明の第1の実施形態のストレージデバイスを説明するためのブロック構成図。
【図3】本発明の第1の実施形態の認証情報のコピーの構成を示す図。
【図4】本発明の第1の実施形態のクライアントの詳細を示したブロック構成図
【図5】本発明の第1の実施形態の利用者、ストレージデバイス、クライアント、サーバ間にて行われる通信の詳細を示した図
【図6】本発明の第1の実施形態の管理者が行うストレージデバイスの初期化操作を説明した図
【図7】本発明の第2の実施形態のリモートアクセスシステムを示す図
【図8】本発明の第2の実施形態の利用者、管理者、ストレージデバイス、クライアント、ゲートウェイ、サーバ間にて行われる通信の詳細を示した図
【図9】本発明の第2の実施形態のリモートアクセスシステムのネットワーク構成を示したブロック図
【図10】本発明の第3の実施形態を示すリモートアクセスシステムを示す図
【図11】本発明の第1の実施形態のソフトウェア構成を示す図
【図12】本発明の第1の実施形態のアプリケーションから一時記憶領域を利用する際の処理方法を示すフローチャート
【図13】本発明の第1の実施形態のドライバにおける輻輳制御を行う際の処理方法を示すフローチャート
【図14】本発明の第1の実施形態のドライバにおける輻輳制御を示すタイムチャート
【図15】本発明の第4の実施形態のストレージデバイスを説明するためのブロック構成図
【図16】本発明の第4の実施形態の利用者、ストレージデバイス、クライアント、サーバ間にて行われる通信の詳細を示した図
【図17】本発明の第5の実施形態のストレージデバイス、リーダライタ、クライアント間にて行われる処理を示した図
【図18】本発明の第5の実施形態のOSの起動を行う際の動作を説明するためのフローチャート
【符号の説明】
【0128】
1000…サーバ、1001、1002…クライアント、1003、1004、1005
…ネットワークケーブル、1006…ネットワーク、1007、1008、1009、1
0002…ディスプレィ、1010、1011、10003…ユーザインターフェース、
1012、1013…リーダライタ、1014…ストレージデバイス、1015…コント
ローラ、1016…耐タンパデバイス、1017、1032、1052、2032、30
02、7004…ストレージ、1030、1050、2001、2030、3000、7
002、10030、10040、10050…CPU、1031、1051、2002
、2031、3001、7003、10031、10041、10051…メモリ、20
00…端子、2003…不揮発メモリ2003、2004、2005、2006、302
0、3021、3022、3023…インターフェース、2050…公開鍵演算プログラ
ム、2051…共通鍵演算プログラム、2052…ファイル管理プログラム、2040…
秘密鍵、2041…PIN情報、2042…ログ情報、2043…証明書2043、20
44…公開鍵2044、2045…PIN検証プログラム、2046…鍵証明書格納プロ
グラム、2047…公開鍵演算プログラム、2048…共通鍵演算プログラム、2049
…鍵生成プログラム、5001…証明書1、5002…証明書2、5003…証明書N、
5004…ミドルウェアの認証情報、3010…証明書、3011…ログ情報、3012
…デバイスアクセス用ライブラリ、3013…デバイス管理用ツール、3014…デバイ
スドライバ、3015…インターフェースハンドラ、3016…遠隔操作端末用アプリケ
ーション、3017…暗号化通信路構築用アプリケーション、3018…業務アプリケー
ション、7000…ゲートウェイ、7001…ネットワーク、7005…認証用サーバ、
7007…リーダライタ、9001…部門サーバ、9002…PC、9003…LAN、
9004…ルータ、9005…ネットワーク、9006、9007…ゲートウェイ、90
08…クライアント、10000、10032、10042、10052…サーバ、10
001…制御装置、10004…切り替え器、11000…アプリケーション、1100
1…ファイルアクセス用API、11002…ファイルアクセス用ドライバ、11003
…リーダライタファームウェア、11004…カードOS及びアプリケーション、150
01…ブートプログラム、15002…OSプログラム、17000、17002…スイ
ッチ、17001、17003…ダミーデータ。

【特許請求の範囲】
【請求項1】
リモートアクセスシステムであって、
サーバと、
前記サーバにアクセスするクライアント機器と、
前記サーバと前記クライアント機器とを接続するネットワークと、
前記クライアント機器に接続され、前記サーバを遠隔操作する遠隔操作アプリケーショ
ンプログラムと、前記ネットワーク上の通信を暗号化する暗号化アプリケーションプログ
ラムと、業務アプリケーションと、耐タンパ格納領域に格納された前記サーバに対する遠
隔操作のための認証情報とを有する記憶媒体とを有し、
前記記憶媒体には、前記クライアント機器で、前記遠隔操作アプリケーション、前記暗
号化アプリケーション、前記業務アプリケーションを動作させるミドルウェアが格納され

前記クライアント機器のCPUは、前記ミドルウェアを実行し、ファイルアクセスを行
う場合、ファイルアクセス用アプリケーションインタフェース、ファイルアクセス用ドラ
イバを動作させ、認証処理を行う場合、インターフェースハンドラ、デバイスドライバを
動作させ、前記サーバとクライアント機器間で通信を行うことを特徴とするリモートアク
セスシステム。
【請求項2】
請求項1記載のリモートアクセスシステムであって、
前記ファイルアクセス用ドライバ、あるいは前記デバイスドライバからの命令が発生した
場合、予め定めた順序で、前記命令を制御することを特徴とするリモートアクセスシステ
ム。
【請求項3】
請求項2記載のリモートアクセスシステムであって、
前記ファイルアクセス用ドライバ、あるいは前記デバイスドライバからの命令が発生した
場合、前記デバイスドライバからの命令を優先して実行することを特徴とするリモートア
クセスシステム。
【請求項4】
請求項1記載のリモートアクセスシステムであって、
前記記憶媒体は、更に、一時記憶領域を有し、
前記クライアント機器で実行された処理により生じたデータを、当該一時記憶領域に格
納することを特徴とするリモートアクセスシステム。
【請求項5】
リモートアクセスシステムであって、
サーバと、
前記サーバに接続されたゲートウェイと、
前記サーバにアクセスし、前記ゲートウェイとの間で認証処理を行うクライアント機器
と、
前記サーバと前記クライアント機器とを接続するネットワークと、
前記クライアント機器に接続され、前記サーバを遠隔操作する遠隔操作アプリケーショ
ンプログラムと、前記ネットワーク上の通信を暗号化する暗号化アプリケーションプログ
ラムと、業務アプリケーションと、耐タンパ格納領域に格納された前記サーバに対する遠
隔操作のための認証情報とを有する記憶媒体とを有し、
前記記憶媒体には、前記クライアント機器で前記遠隔操作アプリケーション、前記暗号
化アプリケーション、前記業務アプリケーションを動作させるミドルウェアが格納され、
前記クライアント機器のCPUは、前記ミドルウェアを実行し、ファイルアクセスを行
う場合、ファイルアクセス用アプリケーションインタフェース、ファイルアクセス用ドラ
イバを動作させ、認証処理を行う場合、インターフェースハンドラ、デバイスドライバを
動作させ、前記サーバとクライアント機器間で通信を行うことを特徴とするリモートアク
セスシステム。
【請求項6】
請求項1または2のいずれか記載のリモートアクセスシステムであって、 前記サーバ
は、複数のサーバと、当該複数のサーバに接続された制御装置を有し、
前記クライアント機器は、前記制御装置にアクセスし、前記複数のサーバの電源管理を
行うことを特徴とするリモートアクセスシステム。
【請求項7】
請求項1または2のいずれか記載のリモートアクセスシステムであって、
前記記憶媒体は、前記耐タンパ領域内に格納された認証情報のコピーを保持することを特
徴とするリモートアクセスシステム。
【請求項8】
サーバと、ネットワークを介し前記サーバにアクセスするクライアント機器と、前記ク
ライアント機器に接続され、前記サーバを遠隔操作する遠隔操作アプリケーションプログ
ラムと、前記ネットワーク上の通信を暗号化する暗号化アプリケーションプログラムと、
耐タンパ格納領域に格納された前記サーバに対する遠隔操作のための認証情報とを有する
記憶媒体とを有し、前記クライアント機器から前記サーバにアクセスするリモートアクセ
スシステムにおけるゲートウェイであって、
前記記憶媒体から前記クライアント機器にロードされるミドルウェアにより動作される
、インターフェースハンドラ、デバイスドライバを介して送信される前記認証情報に基づ
き、前記クライアント機器を操作するユーザの認証処理を行うことを特徴とするゲートウ
ェイ。
【請求項9】
サーバにネットワークを介し接続されるクライアント機器であって、
前記サーバを遠隔操作する遠隔操作アプリケーションプログラムと、前記ネットワーク
上の通信を暗号化する暗号化アプリケーションプログラムと、耐タンパ格納領域に格納さ
れた前記サーバに対する遠隔操作のための認証情報とを有する記憶媒体が接続されるリー
ダライタを有し、
前記リーダライタを介し、前記記憶媒体からロードされるミドルウェアを実行し、ファ
イルアクセスを行う場合、ファイルアクセス用アプリケーションインタフェース、ファイ
ルアクセス用ドライバを動作させ、認証処理を行う場合、インターフェースハンドラ、デ
バイスドライバを動作させ、前記サーバとの通信を行うことを特徴とするクライアント機
器。
【請求項10】
サーバと、ネットワークを介し前記サーバにアクセスするクライアント機器との間でリ
モートアクセスを行うためのプログラムであって、
前記クライアント機器にインストールされ、ファイルアクセスを行う場合、ファイルア
クセス用アプリケーションインタフェース、ファイルアクセス用ドライバを動作させ、認
証処理を行う場合、インターフェースハンドラ、デバイスドライバを動作させ、前記サー
バとクライアント機器間の通信を実現させるためのプログラム。
【請求項11】
リモートアクセスシステムであって、
サーバと、
ネットワークを介して前記サーバにアクセスするクライアント機器と、
前記クライアント機器に接続され、前記サーバを遠隔操作する遠隔操作アプリケーショ
ンプログラムと、前記ネットワーク上の通信を暗号化する暗号化アプリケーションプログ
ラムと、業務アプリケーションと、耐タンパ格納領域に格納された前記サーバに対する遠
隔操作のための認証情報と、前記クライアント機器が起動される際に該クライアント機器
が有するBIOSによって実行されるブートプログラムと、OSプログラムとが格納され
た記憶媒体とを有し、
前記クライアント機器のBIOSは、前記記憶媒体に格納されたブートプログラムを前
記クライアント機器が有するブートプログラムよりも先に検出するよう設定され、
前記クライント機器は、電源を投入後に、前記記憶媒体に格納されたブートプログラム
を検出して、前記ブートプログラムにより、前記記憶媒体に格納されたOSプログラムを
取得して実行することを特徴とするリモートアクセスシステム。
【請求項12】
請求項11記載のリモートアクセスシステムであって、
前記クライアント機器は表示手段を有し、
前記OSプログラムが起動されて前記遠隔操作アプリケーションが実行された後、前記サ
ーバとの通信認証要求が前記表示手段に最初に表示されることを特徴とするリモートアク
セスシステム。
【請求項13】
請求項11記載のリモートアクセスシステムであって、
前記記憶媒体は、前記OSプログラムを前記クライアント機器上で起動するか否かを選択
するための手段を有し、
前記選択するための手段で前記OSプログラムを前記クライアント機器上で起動するこ
とを選択した場合、
前記記憶媒体上のブートプログラムを前記クライアント機器に送信して前記記憶媒体上
に格納されたOSプログラムを前記クライアント機器上で実行させ、
前記選択するための手段で前記OSプログラムを前記クライアント機器上で起動しない
ことを選択した場合、
ダミーデータを前記クライアント機器に送信して、前記クライアント機器に予め格納さ
れたOSプログラムを前記クライアント機器上で実行させることを特徴とするリモートア
クセスシステム。
【請求項14】
請求項11記載のリモートアクセスシステムであって、
前記記憶媒体は、当該記憶媒体のリーダライタを介して前記クライアント機器に接続され

前記リーダライタは、前記OSプログラムを前記クライアント機器上で起動するか否かを
選択するための手段を有し、
前記選択するための手段で前記OSプログラムを前記クライアント機器上で起動するこ
とを選択した場合、
前記記憶媒体上のブートプログラムを前記クライアント機器に送信して前記記憶媒体上
に格納されたOSプログラムを前記クライアント機器上で実行させ、
前記選択するための手段で前記OSプログラムを前記クライアント機器上で起動しない
ことを選択した場合、
ダミーデータを前記クライアント機器に送信して、前記クライアント機器に予め格納さ
れたOSプログラムを前記クライアント機器上で実行させることを特徴とするリモートア
クセスシステム。
【請求項15】
請求項13記載のリモートアクセスシステムであって、
前記記憶媒体に格納されたブートプログラムは、前記クライアント機器に格納された後、
当該クライアント機器に備えられた記憶装置がアクセス制限がされているか否かを判断し

アクセス制限がされている場合、
前記記憶媒体に格納された認証情報を用いて前記アクセス制限を解除して前記記憶装置
に格納されたOSプログラムを実行することを特徴とするリモートアクセスシステム。
【請求項16】
請求項15記載のリモートアクセスシステムであって、
前記ブートプログラムは、
前記記憶媒体に格納された認証情報を用いた前記アクセス制限の解除に失敗した場合、
前記記憶媒体に格納されたOSプログラムを実行することを特徴とするリモートアクセス
システム。
【請求項17】
ネットワークを介してサーバにアクセスするクライアント機器に接続される記憶媒体で
あって、
前記サーバを遠隔操作する遠隔操作アプリケーションプログラムと、前記ネットワーク
上の通信を暗号化する暗号化アプリケーションプログラムと、業務アプリケーションと、
耐タンパ格納領域に格納された前記サーバに対する遠隔操作のための認証情報と、前記ク
ライアント機器が起動される際に該クライアント機器が有するBIOSによって実行され
るブートプログラムと、OSプログラムとを有し、
前記クライアント機器のBIOSは、当該記憶媒体に格納されたブートプログラムを前
記クライアント機器が有するブートプログラムよりも先に検出するよう設定され、
前記クライント機器の電源を投入後に、前記BIOSにより当該記憶媒体に格納された
ブートプログラムが検出されて、当該ブートプログラムにより、当該記憶媒体に格納され
たOSプログラムが前記クライアント機器に送信されることを特徴とする記憶媒体。
【請求項18】
請求項17記載の記憶媒体であって、
前記OSプログラムを前記クライアント機器上で起動するか否かを選択するための手段
を有し、
前記選択するための手段で前記OSプログラムを前記クライアント機器上で起動するこ
とを選択した場合、
前記ブートプログラムを前記クライアント機器に送信して前記OSプログラムを前記ク
ライアント機器上で実行させ、
前記選択するための手段で前記OSプログラムを前記クライアント機器上で起動しない
ことを選択した場合、
ダミーデータを前記クライアント機器に送信して、前記クライアント機器に予め格納さ
れたOSプログラムを前記クライアント機器上で実行させることを特徴とする記憶媒体。
【請求項19】
請求項17記載の記憶媒体であって、
前記記憶媒体に格納されたブートプログラムは、前記クライアント機器に格納された後、
当該クライアント機器に備えられた記憶装置がアクセス制限がされているか否かを判断し

アクセス制限がされている場合、
当該記憶媒体に格納された認証情報を前記クライアント機器に送信し前記アクセス制限
を解除して前記記憶装置に格納されたOSプログラムを実行させることを特徴とする記憶
媒体。
【請求項20】
請求項19記載の記憶媒体であって、
前記ブートプログラムは、
前記記憶媒体に格納された認証情報を用いた前記アクセス制限の解除に失敗した場合、
当該記憶媒体に格納されたOSプログラムを前記クライアント機器で実行させることを特
徴とする記憶媒体。
【請求項21】
請求項18記載の記憶媒体であって、
当該記憶媒体は前記クライアント機器に接続されるリーダライタを有し、
前記選択するための手段は、前記リーダライタ側に備えられることを特徴とする記憶媒
体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2007−234039(P2007−234039A)
【公開日】平成19年9月13日(2007.9.13)
【国際特許分類】
【出願番号】特願2007−104385(P2007−104385)
【出願日】平成19年4月12日(2007.4.12)
【分割の表示】特願2006−266347(P2006−266347)の分割
【原出願日】平成16年4月13日(2004.4.13)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2003年8月29日 IEEE Consumer Electronics Society発行の「IEEE TRANSACTIONS ON CONSUMER ELECTRONICS、(ISSN:0098−3063)、AUGUST 2003 Vol.49 Number3、pp.561−566」に発表
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】