以下、図面を参照して、実施形態について説明する。
本実施形態に係る電子機器は、シンクライアントシステムにおいて使用されるクライアント端末(シンクライアント端末)であり、当該電子機器と通信可能に接続されるサーバ装置によって提供される仮想デスクトップ環境で動作する。
仮想デスクトップ環境は電子機器のデスクトップ環境をサーバ装置上で稼働させる仕組みであり、この場合における電子機器は、例えば仮想デスクトップイメージを当該サーバ装置から受信してディスプレイに表示する等の必要最低限の機能のみを有していればよい。
なお、本実施形態に係る電子機器は、ノートブック型パーソナルコンピュータ(PC)と同様のクラムシェル型の機器であってもよいし、タブレットコンピュータと同様のスレート型の端末であってもよい。以下の説明においては、電子機器がノードブック型PCとして実現されているものとして説明する。
図1は、本実施形態に係る電子機器の外観を示す斜視図である。図1に示すように、電子機器10は、電子機器本体(コンピュータ本体)10aとディスプレイユニット10bとを備える。ディスプレイユニット10bには、液晶表示装置(LCD:Liquid Crystal Display)10cのようなディスプレイが組み込まれている。
ディスプレイユニット10bは、電子機器本体10aの上面が露出される開放位置と電子機器本体10aの上面がディスプレイユニット10bで覆われる閉塞位置との間を回動可能なように電子機器本体10aに取り付けられている。
電子機器本体10aは薄い箱型の筐体を有しており、その上面にはキーボード10d、タッチパッド10e、電源スイッチ10f及びスピーカ10g等が配置されている。
また、電子機器10は、例えば電子機器本体10aに内蔵されているバッテリ(図示せず)から電力を受けるように構成されている。
更に、電子機器本体10aには、電源コネクタ(DC電源入力端子)10hが設けられている。電源コネクタ10hは、電子機器本体10aの側面、例えば左側面に設けられている。この電源コネクタ10hには、外部電源装置が取り外し自在に接続される。外部電源装置としては、ACアダプタを用いることができる。ACアダプタは商用電源(AC電力)をDC電力に変換する電源装置である。
電子機器10は、バッテリから供給される電力または外部電源装置から供給される電力によって駆動される。電子機器10の電源コネクタ10hに外部電源装置が接続されていない場合には、電子機器10は、バッテリから供給される電力によって駆動される。一方、電子機器10の電源コネクタ10hに外部電源装置が接続されている場合には、電子機器10は、外部電源装置から供給される電力によって駆動される。また、外部電源装置から供給される電力は、バッテリを充電するためにも用いられる。
また、電子機器本体10aの例えば右側面には、カードスロット10iが設けられている。このカードスロット10iには、例えばSDカード(メモリカード)10jのような不揮発性メモリを挿入することができる。このようにカードスロット10iに挿入されたSDカード10jは電子機器10の外部ストレージとして利用される。
更に、電子機器本体10aの例えば左側面には、例えばHDMI(登録商標)(High-definition multimedia interface)出力端子10kが設けられている。なお、図1においては省略されているが、電子機器本体10aには、USBポート及びRGBポート等が設けられていても構わない。
図2は、図1に示す電子機器10のシステム構成を示す。図2に示すように、電子機器10は、CPU11、システムコントローラ12、RAM(主メモリ)13、グラフィクスプロセシングユニット(GPU)14、サウンドコントローラ15、BIOS−ROM16、無線LANモジュール17、カードコントローラ18、エンベデッドコントローラ/キーボードコントローラIC(EC/KBC)19等を備えている。
CPU11は、電子機器10の各コンポーネントの動作を制御するように構成されたプロセッサである。CPU11は、揮発性メモリであるRAM13に展開される各種プログラムを実行する。CPU11によって実行されるプログラムには、例えば不揮発性メモリであるBIOS−ROM16に格納されたBIOS(Basic Input Output System)を含むファームウェア(Small Core)等が含まれる。
システムコントローラ12は、CPU11と各コンポーネントとの間を接続するように構成されたブリッジデバイスである。システムコントローラ12は、LPC(Low PIN Count)バス上の各デバイスとの通信を実行する。
GPU14は、電子機器10のディスプレイ(モニタ)として使用されるLCD10cを制御するように構成された表示コントローラである。
サウンドコントローラ15は、音源デバイスであり、再生対象のオーディオデータを例えばスピーカ10gに出力する。
無線LANモジュール17は、例えばIEEE802.11規格の無線通信を実行するように構成されている。
カードコントローラ18は、カードスロット10iに挿入されるSDカード10jに対するデータの書き込み及び読み出しを実行する。
EC/KBC19は、LPCバスに接続されている。EC/KBC19は、電子機器10の電力管理を実行するように構成された電力管理コントローラであり、例えばキーボード10d及びタッチパッド10e等を制御するキーボードコントローラを内蔵したワンチップマイクロコンピュータとして実現されている。EC/KBC19は、ユーザによる電源スイッチ10fの操作に応じて電子機器10の電源をオン及びオフする機能を有している。
なお、図2においては省略されているが、電子機器10には、例えばHDMIビデオ信号及びデジタルオーディオ信号をHDMI出力端子10kを介して外部モニタに出力するように構成されたインタフェースであるHDMI制御回路が設けられている。
本実施形態においては、電子機器10の盗難及び紛失等による情報漏洩を防止するため、電子機器10は、例えばハードディスクドライブ(HDD)及びソリッドステートドライブ(SSD)のような内蔵ストレージを備えない構成であるものとする。
更に、本実施形態に係る電子機器10においては、上記した情報漏洩防止の観点から、外部ストレージの使用も制限される。本実施形態において、電子機器10はカードスロット10iに挿入されたSDカード10jを外部ストレージとして利用するが、当該外部ストレージは、電子機器10を使用するユーザがアクセスする(つまり、ユーザの操作に応じて当該外部ストレージからデーを読み込むまたは当該外部ストレージにデータを書き込む)ことができないように構成されている。
なお、上記したように電子機器本体10aにはUSBポートが設けられていてもよいが、本実施形態において、例えば当該USBポートに接続が可能なデバイスは、例えばマウス等の入力機器に限られるものとする。すなわち、本実施形態に係る電子機器10においては例えばUSBメモリ等を外部ストレージとして利用することはできないものとする。
図3を参照して、本実施形態に係る電子機器10を含むシステム(シンクライアントシステム)について説明する。
本実施形態において、電子機器10は、例えば管理サーバ装置(第1のサーバ装置)20と通信可能な環境において使用されるものとする。
図3に示すように、サーバエリアには、管理サーバ装置20が設置されている。一方、ユーザエリア内のユーザ(例えば、企業の従業員等)は、電子機器10を使用して業務を遂行する。ここでは、電子機器10は、例えば企業内無線LANのようなネットワークを介して管理サーバ装置20と通信することができるものとする。なお、この企業内無線LANは、後述する公衆無線LANとは異なり、Web認証等の認証処理を実行する必要のないネットワークである。なお、電子機器10は、無線LANルータ30を介して管理サーバ装置20に接続されてもよい。また、電子機器10は、電子機器10を含む複数のクライアント端末に仮想デスクトップ環境を提供するように構成されたサーバ装置(第2のサーバ装置)40と無線ネットワーク経由で通信することもできる。
ここで、仮想デスクトップ環境を提供するためのデスクトップ仮想化を実現するための技術には複数の種類の技術がある。これらの技術の1つとしては、仮想デスクトップ基板(VDI:Virtual Desktop Infrastructure)が知られている。
本実施形態では、デスクトップ仮想化を実現するための技術としてVDIが用いられるものとして説明する。この場合、サーバ装置40は、VDIを使用して仮想デスクトップ環境を提供するように構成されたVDIサーバ装置として機能する。また、電子機器10は、VDIクライアント端末として機能する。以下の説明においては、仮想デスクトップ環境を提供するサーバ装置40は、便宜的にVDIサーバ装置40と称する。
VDIサーバ装置40の実現に使用可能なモデルとしては、ブレードPC型、仮想マシン型、ターミナル型等がある。例えばVDIサーバ装置40が仮想マシン型によって実現されている場合、VDIサーバ装置40においては、複数の仮想マシン41が実行される。これら複数の仮想マシン41の1つが電子機器10に割り当てられる。仮想マシン41の各々は、仮想OS(クライアントデスクトップOS)42と、仮想OS42上で実行されるアプリケーションプログラム43とを含む。電子機器10は、無線LANルータ30を介してVDIサーバ装置40上の1つの仮想マシン41に接続されてもよい。
本実施形態に係る電子機器10は、上記したように内蔵ストレージを備えておらず、上記したBIOSベースの仮想デスクトップ基板(VDI)を利用して動作する。
このBIOSベースのVDIを実現するために、BIOSを含むファームウェアは、有線または無線のネットワークに接続するためのネットワーク通信機能を備えている。BIOSを含むファームウェアは、上記したように電子機器10内のBIOS−ROM(ファームウェアROM)16に格納されている。このファームウェアは、例えば、BIOSと、ネットワーク通信機能を有する組み込みOSとから構成されている。BIOSは、BIOS−ROM16内の組み込みOSをブートすることができる。このBIOSは、UEFI BIOSであってもい。BIOS−ROM16は、このファームウェアのアップデータを可能にするためにフラッシュEEPROMによって構成されていてもよい。
電子機器10は、BIOS−ROM16内のファームウェアのみを使用することによって、無線ネットワークを介して管理サーバ装置20と通信することができる。
管理サーバ装置20は、例えば不正な端末の使用、つまり、不正な端末がVDIサーバ装置40にアクセスすることを防止するために、当該VDIサーバ装置40にアクセス可能なクライアント端末を予め登録された端末群のみに制限する機能を有している。また、管理サーバ装置20は、正当なクライアント端末であることが認証された各クライアント端末に、VDIサーバ装置40との通信に必要なプログラム及び情報を提供する機能を有している。
管理サーバ装置20は、ストレージ20aを備えている。このストレージ20aには、VDI接続用ソフトウェア(Big Core)及びVDI接続先情報等が格納されている。VDI接続用ソフトウェアは、仮想デスクトップ環境を提供するサーバ装置(つまり、VDIサーバ装置40)と接続し、当該VDIサーバ装置40から仮想デスクトップイメージを受信するためのクライアントプログラムである。
ここで、電子機器10は、VDI接続用ソフトウェア(クライアントプログラム)を、管理サーバ装置20からダウンロードすることができる。この場合、ダウンロードされたVDI接続用ソフトウェアをRAM13に展開して起動することによって、電子機器10は、VDIサーバ装置40に接続され、VDIサーバ装置40による仮想デスクトップ環境の提供を受ける(つまり、当該仮想デスクトップ環境で動作する)ことが可能となる。
上記したようにVDI接続用ソフトウェアを管理サーバ装置20からダウンロードするのではなく、当該VDI接続用ソフトウェアをBIOS−ROM16内に予め格納しておくことが考えられる。しかしながら、この場合には、BIOS−ROM16として大容量のROMを用意する必要がある。また、BIOS−ROM16にクライアントプログラムを予め格納しておく構成の場合、利用可能なクライアントプログラムの種類が制限されてしまう。
これに対して、上述したようにVDI接続用ソフトウェアが管理サーバ装置20から電子機器10にダウンロードされる構成であれば、管理サーバ装置20のストレージ20aに格納しておくべきクライアントプログラムの種類を変更するだけで、任意の種類のクライアントプログラムを電子機器10上で実行することができる。
VDI接続先情報は、VDIサーバ装置40に接続するために必要な情報である。このVDI接続先情報には、VDIサーバ装置40のネットワークアドレス(IPアドレス)及びVDIサーバ装置40にログインするための資格情報(ユーザID及びパスワード)が含まれていてもよい。
ファームウェア内の組み込みOSは、電子機器10をネットワークを介してVDIサーバ装置40に接続するために、VDI接続用ソフトウェアを起動する。この場合、ユーザは、電子機器10のディスプレイ上に表示されるVDIログイン画面で資格情報(ユーザID及びパスワード)を入力する。これにより、VDI接続用ソフトウェア(クライアントプログラム)は、VDIサーバ装置40にログインすることができる。
VDI接続用ソフトウェアがVDIサーバ装置40にログインした後は、このVDI接続用ソフトウェアは、ネットワーク(ここでは、無線ネットワーク)を介してVDIサーバ装置40から仮想デスクトップの画面を受信することができる。この仮想デスクトップの画面は、電子機器10のディスプレイ(LCD10c)上に表示される。更に、VDI接続用ソフトウェアは、ユーザによる入力デバイスの操作情報を、ネットワーク(ここでは、無線ネットワーク)を介してVDIサーバ装置40に送信することができる。入力デバイスの操作情報は、キーボード10dに対する操作の情報及びタッチパッド10eに対する操作の情報等を含む。
このように、VDI接続用ソフトウェアは、ファームウェアのみによって管理サーバ装置20から電子機器10にダウンロードされる。したがって、電子機器10においては、内蔵ストレージが不要となり、データ及び独自プログラムが不正に利用される危険性を低下させることができる。
なお、ファームウェアには管理サーバ装置20に接続するための接続情報(管理サーバ装置20のネットワークアドレス)は保持されているが、この接続情報のデータ量は小さいため、当該接続情報は、例えば秘匿性の高いトラステッド・プラットフォーム・モジュール(TPM)または他の特殊チップ等に保存しておく構成としてもよい。このような構成によれば、安全性を向上させることができる。更に、この接続情報は、無線LANルータ30のサービスセットID(SSID)を含んでいてもよい。
また、ファームウェアは、電子機器10とVDIサーバ装置40との間の接続が確立された後に当該電子機器10がネットワーク(ここでは、無線ネットワーク)から切断された場合、電子機器10の電源を自動的にオフする機能(以下、電源自動オフ機能と表記)を有している。ここで、上記したように電子機器10が仮想デスクトップ環境の提供を受ける場合には、VDI接続用ソフトウェアをRAM13に展開して起動する必要がある。この場合、RAM13には、漏洩すると不正に利用される可能性のある情報が保持されている場合がある。しかしながら、上記した電源自動オフ機能によって電子機器10の電源がオフされた場合には、RAM(つまり、揮発性メモリ)13上の情報は全て自動的に消去される。これによれば、RAM13上の情報が漏洩することを防止することができる。
電子機器10がネットワークから切断されたか否かを判定するための処理は、ファームウェア(例えば、組み込みOS)によって実行されてもよい。電子機器10がネットワークから切断されたか否かを判定するための方法としては、例えば、電子機器10とVDIサーバ装置40との間の接続(VDI接続)が解除(切断)されたか否かを判定するという方法を使用してもよい。VDI接続の解除(切断)の要因には、例えばVDIサーバ装置40との通信可能範囲外への電子機器10の持ち出し、VDIサーバ装置40からのログオフ等がある。
VDIサーバ装置40との通信可能範囲外に電子機器10が持ち出された場合には、電子機器10とVDIサーバ装置40との間の接続が解除されるだけでなく、電子機器10と管理サーバ装置20との接続も解除される。したがって、ファームウェアは、管理サーバ装置20と定期的に通信を実行し、管理サーバ装置20との通信が実行できない状態が一定時間以上継続されたことを条件に、VDI接続が解除されたと判定してもよい。電子機器10にGPSセンサが備えられる構成の場合には、当該GPSセンサを使用して電子機器10が所定の範囲(通信可能範囲)外に移動したか否かを判定してもよい。
ここで、上記したように管理サーバ装置20からダウンロードされたVDI接続用ソフトウェアをRAM13に展開して起動し、電子機器10が仮想デスクトップ環境で動作可能な状態になった後に、ユーザが当該電子機器10の電源をオフして当該電子機器10の使用を停止した場合を想定する。この場合、上記したようにRAM13上に存在する情報は全て消去されるため、ユーザが電子機器10を再度仮想デスクトップ環境で使用するためには、再び管理サーバ装置20からVDI接続用ソフトウェアをダウンロードする必要がある。このような構成の場合、VDI接続用ソフトウェアのサイズ及び回線速度によってはダウンロードに時間を要する場合があり、利便性が低下する可能性がある。
そこで、本実施形態においては、上述した外部ストレージ(SDカード10j)を利用して、管理サーバ装置20から一旦ダウンロードされたVDI接続用ソフトウェア(クライアントプログラム)をキャッシュしておく機能(以下、キャッシュ機能と表記)を有する。このキャッシュ機能の詳細については後述する。
次に、図4を参照して、電子機器10とVDIサーバ装置40とを接続するための処理の概要について説明する。
(1)ユーザによる電源スイッチ10fの操作により、電子機器10(マシン)の電源がオンされる。
(2)電子機器10のファームウェアが実行される。ファームウェアと管理サーバ装置20との間の通信が開始され、そして電子機器10が管理サーバ装置20にネットワーク(例えば、企業内無線LAN等)を介して接続することを許可するか否かを判定するためのネットワーク認証処理が実行される。電子機器10のファームウェアが、管理サーバ装置20に接続するための正しい接続情報(管理サーバ装置20のネットワークアドレス)を保持していれば、電子機器10のファームウェアは、管理サーバ装置20にネットワークを介して接続することができる(ネットワーク認証処理の成功)。
(3)この後、不正端末の使用を防止するための機器認証処理が実行される。この場合、ファームウェア(例えば、組み込みOS)は、電子機器10を識別可能な機器情報、例えば電子機器10を識別するための機器ID(シリアル番号等)または電子機器10が有する証明書を、管理サーバ装置20に送信する。管理サーバ装置20には、シンクライアントシステムにおいて利用可能なクライアント端末それぞれに対応する機器情報が予め登録されている。管理サーバ装置20は、電子機器10からの機器情報が予め登録されている機器情報に一致するか否かを判定する(機器認証処理)。管理サーバ装置20は、機器認証処理が成功したか否かを示すログ情報を、管理サーバ装置20のストレージ20a内に格納する。また、ファームウェアも、機器認証処理が成功したか否かを示すログ情報を、電子機器10のRAM13に格納してもよい。
(4)機器認証処理が成功した場合、ファームウェアは、VDI接続用ソフトウェア(クライアントプログラム)を管理サーバ装置20からダウンロードする。
(5)ここで、ファームウェアは、上記したキャッシュ機能により、管理サーバ装置20からダウンロードされたVDI接続用ソフトウェアをキャッシュする処理を実行する。この場合、VDI接続用ソフトウェアは、ユーザがアクセス不可能な不揮発性メモリであるSDカード10j(外部ストレージ)に格納(キャッシュ)される。
(6)ファームウェアは、VDI接続用ソフトウェアをRAM13上に展開する。
(7)ファームウェアは、VDI接続先情報を管理サーバ装置20から取得する。この場合、電子機器10の機器情報に一致する登録済み機器情報に関連づけられているVDI接続先情報が管理サーバ装置20から電子機器10に送信される。VDI接続先情報は、上述したように、VDIサーバ装置40のネットワークアドレス(IPアドレス)を含む。更に、VDI接続先情報は、VDIサーバ装置40にログインするための資格情報(ユーザID及びパスワード)を含んでいてもよい。なお、VDI接続先情報は、電子機器10の初回起動時に管理サーバ装置20から取得される。その後は、VDI接続先情報の有無を上記した機器認証処理時にチェック(判定)し、当該VDI接続先情報が更新されたときに再度取得される。
(8)ファームウェアは、電子機器10とVDIサーバ装置40とを接続するために、RAM13上のVDI接続用ソフトウェアを起動(実行)する。VDI接続用ソフトウェアは、VDI接続先情報に含まれるネットワークアドレス(IPアドレス)を使用して、VDIサーバ装置40に接続要求(ログイン要求)を送信する。この場合、ユーザは、VDI接続先情報に含まれるユーザID及びパスワードを、VDIサーバ装置40から提供されるVDIログイン画面上のユーザID入力フィールド及びパスワード入力フィールドに入力する。これにより、VDI接続用ソフトウェアは、VDIサーバ装置40にログインすることができる。VDI接続用ソフトウェアがVDIサーバ装置40にログインすると、電子機器10とVDIサーバ装置40との間の接続(VDI接続)が確立され、電子機器10はVDIサーバ装置40によって提供される仮想デスクトップ環境で動作することが可能となる。
次に、図5を参照して、電子機器10がネットワークから切断されたときに実行される処理の概要について説明する。
(1)例えば電子機器10が外部に持ち出されると、電子機器10とVDIサーバ装置40との間の接続が解除される(VDI切断)。この場合、電子機器10は、VDIサーバ装置40からの画面情報(仮想デスクトップイメージ)の受信が途絶えるログオフ状態となる。
(2)ファームウェア(例えば、組み込みOS)は、電子機器10がネットワークから切断されたことを検知する。
(3)組み込みOSによって電子機器10がネットワークから切断されたことが検知された場合、ファームウェア(例えば、BIOS)は、上記した電源自動オフ機能により、電子機器10内の電源コントローラにOFF信号(パワーオフコマンド)を送信して当該電子機器10の電源をオフする。これにより、RAM13上の情報は自動的に消去される。
なお、電子機器10のユーザによるログオフ操作によって電子機器10がログオフ状態になった場合にも、電子機器10の電源が自動的にオフされてもよい。
以下、図6のフローチャートを参照して、仮想デスクトップ環境の提供を受ける(つまり、VDIサーバ装置40と接続する)際に電子機器10によって実行される処理の処理手順について説明する。なお、図6に示す処理は、電子機器10の電源がオンされる度に実行される。
まず、例えばユーザによって電子機器本体10aの上面に配置されている電源スイッチ10fが押下された場合、電子機器10内の電源コントローラにON信号(パワーオンコマンド)が送信され、電子機器10の電源がオンされる(ブロックB1)。
電子機器10の電源がオンされると、BIOS−ROM16内のファームウェア(に含まれる組み込みOS)が電子機器10上で起動される(ブロックB2)。
組み込みOSと管理サーバ装置20との間で認証処理(以下、起動認証処理と表記)が実行される(ブロックB3)。ブロックB3において実行される起動認証処理には、例えば、上述したネットワーク認証処理及び機器認証処理が含まれる。
組み込みOSは、起動認証処理の結果を確認し、電子機器10の起動認証が成功した(つまり、電子機器10が管理サーバ装置20に認証された)か否かを判定する(ブロックB4)。
電子機器10の起動認証が成功していない(つまり、失敗した)と判定された場合、組み込みOSはBIOSに電子機器10の電源をオフする要求を送信する。これにより、BIOSは、電子機器10内の電源コントローラにOFF信号を送信する。この場合、電子機器10の電源はオフされて処理は終了される。
一方、電子機器10の起動認証が成功したと判定された場合(ブロックB4のYES)、組み込みOSは、VDI接続用ソフトウェアを取得する処理(以下、VDI接続用SW取得処理と表記)を実行する(ブロックB5)。
VDI接続用ソフトウェアが上記したキャッシュ機能によりSDカード10jにキャッシュされている場合には、VDI接続用SW取得処理において、VDI接続用ソフトウェアは当該SDカード10jから取得される。一方、VDI接続用ソフトウェアがSDカード10jにキャッシュされていない場合には、VDI接続用SW取得処理において、VDI接続用ソフトウェアは管理サーバ装置20からダウンロードされることによって取得される。VDI接続用SW取得処理の詳細については後述する。
なお、上記したように電子機器10の起動認証が成功した場合、組み込みOSは、管理サーバ装置20の管理者等によって作成された各種規定が定義されたポリシ(設定ファイル)を管理サーバ装置20から取得(受信)するものとする。このポリシには、例えば上記したキャッシュ機能に関する設定情報(キャッシュ機能の有効または無効)、及び管理サーバ装置20からダウンロードされるVDI接続用ソフトウェア(例えば、最新のVDI接続用ソフトウェア)のファイル名等が含まれている。管理サーバ装置20から取得されたポリシは、電子機器10(例えば、ファームウェア)内で保持される。これにより、図6に示す処理が実行される度にポリシを取得する必要はないが、当該ポリシが管理サーバ装置20側で更新された場合には、当該ポリシは電子機器10によって再度取得される(つまり、電子機器10内のポリシが更新される)ものとする。
ブロックB5におけるVDI接続用SW取得処理において取得されたVDI接続用ソフトウェアは、RAM13に展開される(ブロックB6)。
また、組み込みOSは、管理サーバ装置20との通信を実行して、VDIサーバ装置40に接続するための資格情報を含むVDI接続先情報を管理サーバ装置20から取得する(ブロックB7)。
組み込みOSは、電子機器10とVDIサーバ装置40(VDIサーバ装置40上の仮想マシン41)とを接続するために、RAM13上のVDI接続用ソフトウェアを起動する(ブロックB8)。
ここで、VDI接続用ソフトウェアは例えばブラウザを含み、ブロックB8において当該VDI接続用ソフトウェア(ブラウザ)が起動されると、電子機器10のディスプレイにはVDIログイン画面が表示される。この場合、VDI接続用ソフトウェアは、VDI接続先情報に含まれる資格情報をVDIログイン画面上に入力して、VDIサーバ装置40に自動的にログインする。
なお、ブロックB3において実行される認証処理としてはネットワーク認証処理及び機器認証処理が含まれるものとして説明したが、その他の処理として、例えば電子機器10を使用するユーザが当該電子機器10に予め登録された正しいユーザであるか否かを判定するための認証処理(以下、個人認証処理と表記)が更に実行されても構わない。個人認証処理は、例えば入力された指紋が電子機器10に予め登録された指紋に一致するか否かを判定するような処理であってもよいし、NFCカードから読み取られた個人情報が電子機器10に予め登録された個人情報に一致するか否かを判定するような処理であってもよい。
次に、図7のフローチャートを参照して、上記したVDI接続用SW取得処理の処理手順について説明する。
なお、VDI接続用SW取得処理が実行される場合には、上述した電子機器10の起動認証が成功した際に管理サーバ装置20から取得されているポリシが電子機器10内に保持されているものとする。
VDI接続用SW取得処理においては、まず、キャッシュ機能が有効であるか否かが判定される(ブロックB11)。ブロックB11の判定処理は、上記した電子機器10内に保持されているポリシに含まれるキャッシュ機能の設定情報に基づいて実行される。
キャッシュ機能が有効であると判定された場合(ブロックB11のYES)、SDカード10jのマウント処理が実行される。マウント処理は、電子機器10がSDカード10jを認識できる状態(マウント状態)にするための処理である。このマウント処理の結果、SDカード10jのマウントが成功した(つまり、SDカード10jがマウント状態にある)か否かが判定される(ブロックB12)。
SDカード10jのマウントが成功したと判定された場合(ブロックB12のYES)、当該SDカード10jにVDI接続用ソフトウェアが格納(キャッシュ)されている(つまり、SDカード10j内にVDI接続用ソフトウェアがある)か否かが判定される(ブロックB13)。
SDカード10j内にVDI接続用ソフトウェアがないと判定された場合(ブロックB13のNO)、ファームウェア(例えば、組み込みOS)は、管理サーバ装置20との通信を実行することによって、VDI接続用ソフトウェアを管理サーバ装置20からダウンロードする(ブロックB14)。
ここで、本実施形態において管理サーバ装置20からダウンロードされるVDI接続用ソフトウェア(ダウンロードパッケージ)は、共通鍵暗号方式(例えば、AES256)における共通鍵で暗号化されているものとする。なお、このような共通鍵暗号方式で暗号化されたVDI接続用ソフトウェアを復号化するための共通鍵は、シンクライアントシステムにおいて利用可能なクライアント端末(電子機器10)に対して予め配布されているものとする。暗号化されたVDI接続用ソフトウェアは、例えばパスワード(120ビット)付きのzip等で更に保護されていてもよい。なお、このパスワードは、共通鍵と同様に電子機器10に対して予め配布されていてもよいし、電子機器10を使用するユーザに予め通知していてもよい。
したがって、ファームウェアは、予め電子機器10に対して配布されている鍵を用いて、管理サーバ装置20からダウンロードされたVDI接続用ソフトウェア(暗号化されたVDI接続用ソフトウェア)を復号化する処理を実行する。なお、ブロックB14におけるダウンロード処理及びVDI接続用ソフトウェアの復号化処理中の電子機器10のディスプレイには、例えばVDI接続用ソフトウェアのダウンロード中であることを示す画面(スプラッシュ画面)が表示される。
次に、VDI接続用ソフトウェアの復号化処理の結果、VDI接続用ソフトウェアの復号化が成功した(つまり、VDI接続用ソフトウェアが復号化された)か否かが判定される(ブロックB15)。
VDI接続用ソフトウェアの復号化が成功したと判定された場合(ブロックB15のYES)、当該VDI接続用ソフトウェアは電子機器10に対してマウント状態にあるSDカード10jにキャッシュされるが、当該VDI接続用ソフトウェアをそのままキャッシュした場合、電子機器10が盗難または紛失された際にSDカード10j内のVDI接続用ソフトウェアが不正に利用される可能性がある。
そこで、本実施形態において、ファームウェアは、復号化されたVDI接続用ソフトウェアを再度暗号化してSDカード10jにキャッシュするものとする。この場合、VDI接続用ソフトウェアは、電子機器10に固有の情報(機器情報)に基づいて生成された鍵(以下、機器依存鍵と表記)を用いて暗号化されるものとする。なお、機器依存鍵は、例えば共通鍵暗号方式における共通鍵であり、例えば電子機器10がシンクライアントシステムにおいて利用可能なクライアント端末として登録される際等に予め生成されて電子機器10内に保持されているものとする。すなわち、シンクライアントシステムにおいて利用可能なクライアント端末の各々には、それぞれ異なる機器依存鍵が保持されている。
この場合、機器依存鍵を用いたVDI接続用ソフトウェアの暗号化が成功した(VDI接続用ソフトウェアが暗号化された)か否かが判定される(ブロックB16)。
VDI接続用ソフトウェアの暗号化が成功したと判定された場合(ブロックB16のYES)、ファームウェアは、当該暗号化されたVDI接続用ソフトウェアをキャッシュする(つまり、SDカード10jに格納する)処理を実行する。この処理の結果、VDI接続用ソフトウェアのキャッシュが成功したか否かが判定される(ブロックB17)。
VDI接続用ソフトウェアのキャッシュが成功したと判定された場合(ブロックB17のYES)、ファームウェアは、SDカード10jに対するVDI接続用ソフトウェアの読み込み処理を実行する。これにより、VDI接続用ソフトウェアの読み込みが成功した(つまり、VDI接続用ソフトウェアがSDカード10jから読み込まれた)か否かが判定される(ブロックB18)。
ここで、VDI接続用ソフトウェアの読み込みが成功したと判定された場合を想定する(ブロックB18のYES)。この場合、SDカード10jから読み込まれたVDI接続用ソフトウェアは、上記したように機器依存鍵を用いて暗号化されている。したがって、ファームウェアは、電子機器10内に保持されている機器依存鍵を用いて、VDI接続用ソフトウェアを復号化する処理を実行する。
この場合、VDI接続用ソフトウェアの復号化が成功した(つまり、VDI接続用ソフトウェアが復号化された)か否かが判定される(ブロックB19)。
VDI接続用ソフトウェアの復号化が成功したと判定された場合(ブロックB19のYES)、SDカード10jのアンマウント処理が実行される。アンマウント処理は、SDカード10jのマウント状態を解除するための処理である。SDカード10jがアンマウントされた(SDカード10jのマウント状態が解除された)場合、電子機器10はSDカード10jを認識しないため、当該電子機器10においてSDカード10jに対するデータの書き込み及び読み込みを行うことはできない。すなわち、本実施形態に係る電子機器10においては、VDI接続用SW取得処理中の限られた期間にのみSDカード10j(つまり、外部ストレージ)が有効化される。
このアンマウント処理の結果、SDカード10jのアンマウントが成功したか否かが判定される(ブロックB20)。
SDカード10jのアンマウントが成功したと判定された場合(ブロックB20のYES)、ファームウェアは、上記したように機器依存鍵を用いて復号化されたVDI接続用ソフトウェアを取得する(ブロックB21)。ブロックB21において取得されたVDI接続用ソフトウェアは、前述した図6に示すブロックB6においてRAM13に展開されて起動されることになる。
なお、ブロックB16〜B20の処理中の電子機器10のディスプレイには、例えばVDI接続用ソフトウェアをキャッシュ中であることを示す画面(スプラッシュ画面)が表示される。
上記したようにSDカード10jにVDI接続用ソフトウェアがキャッシュされていない場合には、管理サーバ装置20からダウンロードされたVDI接続用ソフトウェアが暗号化されてSDカード10jにキャッシュされる。換言すれば、本実施形態に係る電子機器10は、SDカード10jの領域をBIOS拡張領域として利用する機能(以下、BIOS領域の拡張機能と表記)を有する。
以下、BIOS領域の拡張機能について簡単に説明する。本実施形態においては、上述したように例えばAES256等の暗号方式で保護されたVDI接続用ソフトウェア(ダウンロードパッケージ)を復号化し、当該復号化されたVDI接続用ソフトウェアは、機器依存鍵で暗号化される。
一般的なシンクライアントシステムにおいてはセキュリティ上の観点からSDカード10jのような外部ストレージを利用することはできないが、本実施形態においては、上記したようにVDI接続用ソフトウェアを機器依存鍵で暗号化することによって、SDカード10jをBIOS拡張領域(キャッシュ領域)として利用することができる。
ここで、上記したようにSDカード10jにVDI接続用ソフトウェアがキャッシュされた状態の電子機器10が例えば盗難等によって持ち出された場合を想定する。この場合において、電子機器10を使用しようとすると、上記した図5において説明したように電子機器10の電源は自動的にオフされるため、電子機器10のRAM13上の情報は全て消去される。これによれば、RAM13上の情報が漏洩することを防止することができる。
また、盗難等によって持ち出された電子機器10(のカードスロット10i)からSDカード10jが取り外され、他の機器において不正の目的で当該SDカード10j(内の情報)にアクセスすることが考えられる。しかしながら、本実施形態においてSDカード10jに格納されているVDI接続用ソフトウェアは暗号化されており、電子機器10内に保持されている機器依存鍵でのみ復号化可能である。換言すれば、電子機器10においてSDカード10jにキャッシュされたVDI接続用ソフトウェアは、当該電子機器10においてのみ利用可能であるため、仮にSDカード10jが他の機器に挿入されたとしても、当該VDI接続用ソフトウェアの情報(例えば、VDIサーバ装置40に接続するための情報等)が漏洩する危険性は少ない。
これにより、本実施形態においては、情報漏洩の危険性を少なくした状態(つまり、セキュアな状態)でSDカード10jのような外部ストレージをBIOS拡張領域として利用することができる。
ここでは、VDI接続用ソフトウェアがSDカード10jにキャッシュされていない場合について説明したが、VDI接続用ソフトウェアがSDカード10jにキャッシュされている場合には、ブロックB13においてSDカード10j内にVDI接続用ソフトウェアがあると判定される(ブロックB13のYES)。この場合には、ブロックB18以降の処理が実行される。
すなわち、SDカード10jにVDI接続用ソフトウェアがキャッシュされている場合には、SDカード10jからVDI接続用ソフトウェア(機器依存鍵で暗号化されたVDI接続用ソフトウェア)が取得される。これによれば、例えば電子機器10の電源がオンされる(つまり、仮想デスクトップ環境の提供を受ける)度にVDI接続用ソフトウェアを管理サーバ装置20からダウンロードすることなく、効率的にVDI接続用ソフトウェアを取得して起動することが可能となる。
なお、図7に示すブロックB11においてキャッシュ機能が有効でないと判定された場合(ブロックB11のNO)、及びブロックB12においてSDカード10jのマウントが成功していないと判定された場合(ブロックB12のNO)、ブロックB14及B15の処理と同様のブロックB22及びB23の処理が実行される。このブロックB23の処理においてVDI接続用ソフトウェアの復号化が成功したと判定された場合(ブロックB23のYES)、ブロックB21の処理が実行される。
これによれば、キャッシュ機能が有効でない(つまり、無効に設定されている)場合、または例えばHWの故障等に起因してSDカード10jがマウントできないような場合には、管理サーバ装置20からダウンロードされるダウンロードパッケージからVDI接続用ソフトウェアを取得することができる。
また、ブロックB15においてVDI接続用ソフトウェアの復号化が成功していないと判定された場合(ブロックB15のNO)を想定する。この場合、電子機器10内に共通鍵を有していない(つまり、電子機器10がシンクライアントシステムにおいて利用可能なクライアント端末として登録されていない)可能性があるため、VDI接続用SW取得処理は終了される。この場合、例えば電子機器10の電源はオフされる(つまり、システムが終了される)。なお、ブロックB23においてVDI接続用ソフトウェアの復号化が成功していないと判定された場合についても同様である。
同様に、ブロックB16においてVDI接続用ソフトウェアの暗号化が成功していないと判定された場合(ブロックB16のNO)、電子機器10内に機器依存鍵を有していない可能性があるため、VDI接続用SW取得処理は終了されて、電子機器10の電源がオフされる。
また、ブロックB19においてVDI接続用ソフトウェアの復号化が成功していないと判定された場合(ブロックB19のNO)、例えば電子機器10内の機器依存鍵がSDカード10jにVDI接続用ソフトウェアをキャッシュした際に用いられた鍵と異なっている(つまり、SDカード10jが他の機器で使用されている)可能性があるため、VDI接続用SW取得処理は終了されて、電子機器10の電源がオフされる。
更に、ブロックB20においてSDカード10jのアンマウントが成功していないと判定された場合(ブロックB20のNO)、SDカード10jのマウント状態(つまり、当該SDカード10jに対するデータの書き込み及び読み出しが可能な状態)が維持されることになる。これは情報漏洩の原因となる可能性があるため、この場合にはVDI接続用SW取得処理が終了されて、電子機器10の電源がオフされる。
また、例えばブロックB16においてVDI接続用ソフトウェアの暗号化が成功したと判定された場合であっても、SDカード10jに対する書き込みが禁止されてる場合、及び当該SDカード10jの容量不足で当該VDI接続用ソフトウェアをSDカード10jに格納(キャッシュ)することができない場合には、ブロックB17においてVDI接続用ソフトウェアのキャッシュが成功していないと判定される(ブロックB17のNO)。この場合には、ブロックB22以降の処理が実行される。これによれば、SDカード10jにVDI接続用ソフトウェアをキャッシュすることはできないが、管理サーバ装置20からダウンロードされるダウンロードパッケージからVDI接続用ソフトウェアを取得することができる。なお、例えばSDカード10jの破損等によってブロックB18においてVDI接続用ソフトウェアの読み込みが成功していないと判定された場合についても同様である。
なお、図7に示すブロックB13においてはSDカード10jにVDI接続用ソフトウェアがあるか否かが判定されるものとして説明したが、例えばSDカード10jにVDI接続用ソフトウェアがある(つまり、キャッシュされている)場合であっても、当該VDI接続用ソフトウェアが管理サーバ装置20において更新されている場合(つまり、SDカード10j内にあるVDI接続用ソフトウェアと管理サーバ装置20内のVDI接続用ソフトウェアとが一致しない場合)、当該SDカード10jにVDI接続用ソフトウェアがないと判定されるものとする。SDカード10j内にあるVDI接続用ソフトウェアと管理サーバ装置20内のVDI接続用ソフトウェアとが一致するか否かは、SDカード10j内にあるVDI接続用ソフトウェアのファイル名と上述したポリシに含まれるファイル名(最新のVDI接続用ソフトウェアのファイル名)とを比較することによって判定されるものとする。
SDカード10j内にあるVDI接続用ソフトウェアと管理サーバ装置20内のVDI接続用ソフトウェアとが一致しない場合には、管理サーバ装置20内の最新のVDI接続用ソフトウェア(つまり、更新されたVDI接続用ソフトウェア)が電子機器10にダウンロードされ、SDカード10jに格納(キャッシュ)されているVDI接続用ソフトウェアが当該更新されたVDI接続用ソフトウェアで上書きされる。
また、図7に示す処理においては、VDI接続用ソフトウェアの暗号化及び復号化に共通鍵暗号方式が採用された場合について説明したが、当該暗号化及び復号化に他の暗号化方式が採用されても構わない。
上記したように電子機器10が例えば企業内無線LAN等を介して管理サーバ装置20と通信することが可能な環境であれば、当該電子機器10は、図6及び図7において説明したようにVDI接続用ソフトウェアを起動することによって、仮想デスクトップ環境の提供を受ける(仮想デスクトップ環境で動作する)ことが可能となる。
ここで、近年では公衆無線LANと称されるネットワークを介して例えばインターネット等へのアクセスを可能とするサービスが知られているが、このような公衆無線LAN(つまり、企業の外部に設けられているネットワーク)を介して電子機器10を使用したい場合がある。なお、公衆無線LANを利用する際には、Web認証が必要である場合が多い。
以下、一般的な公衆無線LANを利用する際の手順について簡単に説明する。ここでは、公衆無線LANを利用する電子機器を便宜的に公衆無線LAN接続機器と称する。
公衆無線LANを利用する場合、公衆無線LAN接続機器は、例えばユーザの操作等に応じて、公衆無線LANを利用可能な範囲(以下、公衆無線LANエリアと表記)内に設けられているアクセスポイントに接続される。
次に、公衆無線LAN接続機器においてブラウザが起動され、Web認証に必要な情報(以下、Web認証情報と表記)を入力するための画面(以下、Web認証画面と表記)が当該公衆無線LAN接続機器のディスプレイに表示される。なお、Web認証情報には、公衆無線LANを利用するために予め定められているID及びパスワード等が含まれる。
このように公衆無線LAN接続機器のディスプレイに表示されたWeb認証画面に対してWeb認証情報(ID及びパスワード)が入力されると、当該入力されたWeb認証情報に基づいてWeb認証が実行される。
このように実行されたWeb認証が成功した(つまり、Web認証画面に対して正しいWeb認証情報が入力された)場合、公衆無線LAN接続機器は、アクセスポイント(公衆無線LAN)を介して例えばインターネットに接続することが可能となる。すなわち、上記した手順によってWeb認証が完了した場合には、公衆無線LAN接続機器は公衆無線LANを利用することが可能となる。
次に、本実施形態に係る電子機器10が公衆無線LANを利用して仮想デスクトップ環境の提供を受ける場合を想定する。
上記した公衆無線LANを利用する際の手順によれば、電子機器10が公衆無線LANを利用するためには、当該電子機器10がアクセスポイントに接続された後、当該電子機器10においてWeb認証画面を表示するためにブラウザを起動する必要がある。
ここで、本実施形態に係る電子機器10は上記したように必要最低限の機能のみを有する構成であり、当該電子機器10において起動可能なブラウザはVDI接続用ソフトウェアに組み込まれている。
このため、上記したWeb認証を実行する(Web認証画面を表示する)ためには、電子機器10においてVDI接続用ソフトウェアが起動される必要がある。
しかしながら、本実施形態においては、上述した図6において説明したように、VDI接続用ソフトウェアを取得して展開及び起動するためには起動認証処理が実行される必要があるが、当該起動認証処理を実行するためには電子機器10が管理サーバ装置20と通信する必要がある。
上記したようにWeb認証が完了しなければ公衆無線LANを利用してインターネット(つまり、管理サーバ装置20)と接続することはできないのであるから、上記したWeb認証の完了前に起動認証処理が実行される図6に示す処理では、シンクライアントシステムにおける電子機器10において公衆無線LANを利用することはできない。
そこで、本実施形態においては、上記した図6に示す処理が実行されることによって仮想デスクトップ環境の提供を受ける動作モード(以下、通常起動モードと表記)とは別に、公衆無線LANを利用して仮想デスクトップ環境の提供を受けるための動作モード(以下、Web認証モードと表記)で電子機器10を動作させることができるものとする。
図8は、Web認証モードで動作する際の電子機器10の処理の概要について説明する。ここでは、電子機器10は、公衆無線LANエリア内に存在しているものとする。
なお、電子機器10がWeb認証モードで動作する場合には、上述した図6に示す処理(電子機器10が通常起動モードで動作する際の処理)とは異なり、起動認証処理の前にWeb認証(処理)が実行される。
(1)ユーザによる電源スイッチ10fの操作により、電子機器10(マシン)の電源がオンされる。
(2)電子機器10が公衆無線LANエリア内に設けられているアクセスポイント100に接続される。
(3)上記したように電子機器10がWeb認証モードで動作する場合には、起動認証処理の前に、管理サーバ装置20と接続するためのWeb認証が実行される。この場合、Web認証を実行するためにはブラウザ(VDI接続用ソフトウェア)の起動が必要である。ここで、上記したようにWeb認証の完了前に管理サーバ装置20と通信することはできないため、電子機器10は、VDI接続用ソフトウェアを管理サーバ装置20からダウンロードすることはできない。このため、電子機器10は、SDカード10jにキャッシュされているVDI接続用ソフトウェアを取得する。換言すれば、電子機器10がWeb認証モードで動作するためには、VDI接続用ソフトウェアがSDカード10jにキャッシュされていることが条件となる。
(4)電子機器10のファームウェアは、VDI接続用ソフトウェアをRAM13上に展開する。
(5)VDI接続用ソフトウェアに含まれるブラウザが起動され、Web認証画面が電子機器10のディスプレイに表示される。この場合、ユーザは、電子機器10を操作することによって、Web認証画面にWeb認証情報を入力することができる。これにより、電子機器10とアクセスポイント100との間でWeb認証が実行される。Web認証が成功すると、電子機器10は、インターネットと接続され、当該インターネットを介して管理サーバ装置20と通信することが可能となる。
(6)電子機器10(のファームウェア)と管理サーバ装置20との間の通信が開始されると、上述したネットワーク認証処理が実行される。
(7)ネットワーク認証処理が成功した場合、上述した機器認証処理が更に実行される。
(8)ファームウェアは、VDI接続先情報を管理サーバ装置20から取得する。なお、VDI接続先情報は前述した通りであるため、ここではその詳しい説明を省略する。
(9)VDI接続用ソフトウェアは、VDI接続先情報に含まれるネットワークアドレス(IPアドレス)を使用して、VDIサーバ装置40に接続要求(ログイン要求)を送信する。また、電子機器10においては、VDI接続用ソフトウェアに含まれるブラウザが再度起動される。これにより、電子機器10のディスプレイには、VDIログイン画面が表示される。この場合、ユーザは、VDI接続先情報に含まれるユーザID及びパスワードをVDIログイン画面上で入力する。これにより、VDI接続用ソフトウェアは、VDIサーバ装置40にログインすることができる。VDI接続用ソフトウェアがVDIサーバ装置40にログインすると、電子機器10とVDIサーバ装置40との間の接続(VDI接続)が確立される。
次に、図9及び図10のフローチャートを参照して、上記したWeb認証モードで動作する電子機器10によって実行される処理の処理手順について説明する。
まず、例えばユーザによって電子機器本体10aの上面に配置されている電源スイッチ10fが押下された場合、電子機器10の電源がオンされる(ブロックB31)。
ここで、電子機器10をWeb認証モードで動作させる場合、ユーザは、キーボードの所定のキー(例えば、F11キー)を押下した状態で電源スイッチ10fを押下する。これによれば、ユーザは、電子機器10の電源がオンされた後に当該電子機器10の動作モード(通常起動モードまたはWeb認証モード)を選択することができるものとする。
具体的には、例えば通常起動モードまたはWeb認証モードを選択するための画面(以下、モード選択画面と表記)が電子機器10のディスプレイに表示され、ユーザは、当該通常起動モードに割り当てられたキー(例えば、「1」キー)またはWeb認証モードに割り当てられたキー(例えば、「2」キー)を押下することによって、電子機器10の動作モードを選択することができる。このモード選択画面においては、通常起動モード及びWeb認証モードに割り当てられたキー以外のキーに対する操作は無効であるものとする。以下、Web認証モードが選択された場合について説明する。
なお、上記した所定のキーを押下することなく電子機器10の電源がオンされた(電源スイッチ10fが押下された)場合には、通常起動モードが選択されたものとして、上述した図6に示す処理が実行される。また、モード選択画面において、通常起動モードに割り当てられたキーが押下された(つまり、通常起動モードが選択された)場合も同様である。
ここで、例えば公衆無線LANを利用して電子機器10をインターネット等にアクセスすることは情報漏洩の危険性を伴う場合があることから、電子機器10をWeb認証モードで動作させることができるか否か(つまり、公衆無線LANを介して管理サーバ装置20と接続可能であるか否か)は、上述したポリシにおいて管理者等によって定義(設定)されているものとする。換言すれば、ポリシには、Web認証モードに関する設定情報(Web認証モードでの動作が有効であるか無効であるか)が含まれている。
このため、上記したように電子機器10の動作モードとしてWeb認証モードが選択された場合には、Web認証モード(での動作)が有効であるか否かが判定される(ブロックB32)。ブロックB32の判定処理は、上記した電子機器10内に保持されているポリシに含まれるWeb認証モードに関する設定情報に基づいて実行される。
Web認証モードでの動作が有効でないと判定された場合(ブロックB32のNO)、電子機器10はWeb認証モードで動作することができないため、例えばエラー(起動不可)が表示されて電子機器10の電源がオフされる。
なお、ポリシは上記したように電子機器10の起動認証が成功した場合に管理サーバ装置20から取得されるが、Web認証モードで動作する(つまり、図9及び図10の処理が実行される)前にポリシが取得されていない場合には、エラーが表示されて電子機器10の電源はオフされるものとする。
一方、Web認証モードでの動作が有効であると判定された場合(ブロックB32のYES)、キャッシュ機能が有効であるか否かが判定される(ブロックB33)。ブロックB33の判定処理は、電子機器10内に保持されているポリシに含まれるキャッシュ機能の設定情報に基づいて実行される。
ここで、上記したように電子機器10がWeb認証モードで動作するためにはSDカード10jにキャッシュされているVDI接続用ソフトウェアを利用する必要がある。このため、キャッシュ機能が有効でないと判定された場合(ブロックB33のNO)、エラーが表示されて電子機器10の電源がオフされる。
一方、キャッシュ機能が有効であると判定された場合(ブロックB33のYES)、SDカード10jにVDI接続用ソフトウェアが格納(キャッシュ)されている(つまり、SDカード10j内にVDI接続用ソフトウェアがある)か否かが判定される(ブロックB34)。
SDカード10j内にVDI接続用ソフトウェアがないと判定された場合(ブロックB34のNO)、VDI接続用ソフトウェアを利用することができないため、エラーが表示されて電子機器10の電源がオフされる。
一方、SDカード10j内にVDI接続用ソフトウェアがあると判定された場合(ブロックB34のYES)、電子機器10は、公衆無線LANエリア内に設けられているアクセスポイント100に接続される(ブロックB35)。
電子機器10がアクセスポイント100に接続されると、当該アクセスポイント100との間でWeb認証を実行するために、上記したSDカード10j内にキャッシュされているVDI接続用ソフトウェアが取得される(ブロックB36)。
次に、ブロックB36において取得されたVDI接続用ソフトウェアがRAM13に展開される(ブロックB37)。
ブロックB37においてVDI接続用ソフトウェアがRAM13に展開されると、電子機器10においてVDI接続用ソフトウェアに含まれるブラウザを起動することができる。電子機器10においてブラウザが起動されると、電子機器10のディスプレイには、Web認証画面(認証サイト)が表示される(ブロックB38)。このWeb認証画面は、上記したように公衆無線LANを利用するために必要なWeb認証情報(ID及びパスワード)を入力するための画面である。
ここで、Web認証モードのタイムアウト時間を計測するために認証タイマが起動される(ブロックB39)。なお、Web認証モードのタイムアウト時間のデフォルト値としては、例えば10分が設定されているものとする。なお、このタイムアウト時間は、上述したポリシにおいて適宜変更可能であるものとする。認証タイマの起動(開始)タイミングは、例えば、上記したブラウザの起動タイミングとする。
ユーザは、上記したブロックB38において表示されたWeb認証画面に対してWeb認証情報を入力することができる。この場合、Web認証画面に対して入力されたWeb認証情報は、電子機器10からアクセスポイント100に送信される。アクセスポイント100は、電子機器10によって送信されたWeb認証情報に基づいてWeb認証を実行する。Web認証の結果は、アクセスポイント100から電子機器10に対して送信される。
電子機器10は、アクセスポイント100によって送信されたWeb認証の結果を確認し、当該Web認証が成功した(つまり、電子機器10がアクセスポイント100に認証された)か否かを判定する(ブロックB40)。この場合、Web認証画面に対して入力されたWeb認証情報がアクセスポイント100に対して予め割り当てられている正しいWeb認証情報であれば、Web認証が成功したと判定される。一方、Web認証画面に対して入力されたWeb認証情報がアクセスポイント100に対して予め割り当てられている正しいWeb認証情報でなければ、Web認証は成功していないと判定される。
Web認証が成功したと判定された場合(ブロックB40のYES)、電子機器10は、公衆無線LANを利用可能となり、インターネットにアクセス可能となる。この場合、電子機器10は、インターネットを介して管理サーバ装置20と接続される(ブロックB41)。
ブロックB41において電子機器10と管理サーバ装置20とが接続されると、当該電子機器10(組み込みOS)と管理サーバ装置20との間で、上述した図6に示すブロックB3において説明した起動認証処理が実行される(ブロックB42)。なお、ブロックB42において実行される起動認証処理には、上述したようにネットワーク認証処理及び機器認証処理が含まれる。ネットワーク認証処理及び機器認証処理については上述した通りであるため、ここでは詳細な説明を省略する。
組み込みOSは、起動認証処理の結果を確認し、電子機器10の起動認証が成功したか否かを判定する(ブロックB43)。
電子機器10の起動認証が成功したと判定された場合(ブロックB43のYES)、上記した認証タイマが停止される(ブロックB44)。なお、認証タイマの停止タイミングは、例えば上記した起動認証処理において電子機器10の起動認証が成功したタイミングとする。
なお、図10においてはブロックB42において起動認証処理が実行されるものとして説明したが、当該起動認証処理は、上述したブロックB35において電子機器10がアクセスポイント100と接続された後、所定の待ち時間間隔で定期的に実行されるものとする。しかしながら、管理サーバ装置20と通信可能に接続されるのは上記したようにWeb認証が成功した後であるため、起動認証処理において電子機器10の起動認証が成功したと判定されるタイミングは、少なくともブロックB41よりも後となる。
ここで、上記したように電子機器10の起動認証が成功した場合、組み込みOSは、管理サーバ装置20との通信を実行することによって、電子機器10内に保持されているポリシが管理サーバ装置20において更新されているか否かを判定(チェック)する(ブロックB45)。
電子機器10内に保持されているポリシが管理サーバ装置20において更新されていると判定された場合(ブロックB45のYES)、電子機器10において、当該更新されているポリシが管理サーバ装置20から取得される(ブロックB46)。
ブロックB46の処理が実行されると、当該ブロックB46において取得されたポリシに基づいてブロックB32及びB33の処理に相当するブロックB47及びB48の処理が実行される。
これにより、Web認証モードで動作する前に電子機器10が取得していたポリシではWeb認証モード及びキャッシュ機能がそれぞれ有効であったが、その後、管理サーバ装置20において更新されたポリシにおいてWeb認証モードまたはキャッシュ機能が無効となっているような場合(ブロックB47のNOまたはブロックB48のNO)、エラーが表示されて電子機器10の電源がオフされる。
一方、ブロックB46においてWeb認証モードでの動作が有効であると判定され(ブロックB47のYES)、かつ、ブロックB47においてキャッシュ機能が有効であると判定された場合(ブロックB47のYES)、前述した図6に示すブロックB7及びブロックB8に相当する処理が実行されて、電子機器10がVDIサーバ装置40と接続される(ブロックB49)。具体的には、VDI接続用ソフトウェア(に含まれるブラウザ)が起動されてVDIログイン画面が電子機器10のディスプレイに表示されると共に、当該VDIログイン画面に対してVDI接続先情報(に含まれる資格情報)が入力されることにより、電子機器10はVDIサーバ装置40に自動的にログインすることができる。このようにVDIサーバ装置40にログインした電子機器10は、上述したように仮想デスクトップ環境で動作することが可能となる。
なお、ブロックB46において取得されたポリシは上記したブロックB47及びB48の処理に用いられるが、BIOS内には保存されないものとする。すなわち、Web認証モードに関する設定情報及びキャッシュ機能の設定情報以外については、電子機器10(BIOS)内に保持されているポリシに従って動作するものとする。
ここで、上述したように本実施形態に係る電子機器10がWeb認証モードで動作する場合には、SDカード10jにキャッシュされているVDI接続用ソフトウェアが利用される。このため、上述した図9及び図10においては省略しているが、例えばSDカード10jのマウントが成功しない場合、SDカード10jの読み込みが成功しない場合、SDカード10jにキャッシュされているVDI接続用ソフトウェア(機器依存下記で暗号化されているVDI接続用ソフトウェア)の復号化が成功しない場合等によって、VDI接続用ソフトウェアを利用する(起動する)ことができない場合には、エラーが表示されて電子機器10の電源がオフされるものとする。
また、図9及び図10においては省略されているが、電子機器10におけるSDカード10jに対するデータの書き込み及び読み込みを防止するため、ブロックB36においてVDI接続用ソフトウェアが取得された(当該VDI接続用ソフトウェアが復号化された)後にはSDカード10jのアンマウント処理が実行されるものとする。なお、このSDカード10jのアンマウント処理の結果、SDカード10jのアンマウントが成功しない場合には、エラーが表示されて電子機器10の電源がオフされるものとする。
なお、ブロックB40においてWeb認証が成功していないと判定された場合(ブロックB40のNO)、ブロックB39において起動された認証タイマを参照し、上記したタイムアウト時間が経過している場合にはエラーが表示されて電子機器10の電源がオフされる。一方、タイムアウト時間が経過していない場合には、再度、Web認証(ブロックB38及びB40の処理)が実行される。
同様に、ブロックB43において電子機器10の起動認証が成功していないと判定された場合(ブロックB43のNO)、ブロックB39において起動された認証タイマを参照し、タイムアウト時間が経過している場合にはエラーが表示されて電子機器10の電源がオフされる。一方、タイムアウト時間が経過していない場合には、再度、起動認証処理(ブロックB42及びB43の処理)が実行される。
上記したように本実施形態においては、例えば公衆無線LANのようなネットワークを介して管理サーバ装置20(第1のサーバ装置)と接続される場合であって、当該ネットワークを利用するためにWeb認証(第2の認証処理)を実行する必要がある場合、当該Web認証処理を実行するために必要なクライアントプログラム(ブラウザを含むVDI接続用ソフトウェア)を取得し、当該取得されたクライアントプログラムを起動することによってWeb認証を実行する。また、Web認証が実行されることによってネットワークを介して管理サーバ装置20と接続された場合に当該管理サーバ装置20との間で起動認証処理(第1の認証処理)を実行する。この結果、電子機器10は、VDIサーバ装置(第2のサーバ装置)と接続され、仮想デスクトップ環境で動作することが可能となる。
すなわち、本実施形態においては、管理サーバ装置20との起動認証処理を実行しようとするときにネットワークを利用するためのブラウザを用いたWeb認証が必要である場合、起動認証処理の前にブラウザを起動してWeb認証処理が実行される。
本実施形態においては、このような構成により、公衆無線LANのようなWeb認証を必要とするネットワークを利用してシンクライアントシステムにおける電子機器10を使用することが可能となるため、シンクライアントシステムにおける利便性を向上させることが可能となる。
また、本実施形態において、Web認証を実行する必要がある場合に取得されるクライアントプログラムは電子機器10をVDIサーバ装置40と接続するためのVDI接続用プログラムを含み、Web認証は当該VDI接続用プログラムに含まれるブラウザを起動することによって実行可能となる。なお、VDI接続用ソフトウェアは、電子機器10(のカードスロット10i)に挿入されたSDカード10j(不揮発性メモリ)から取得されるため、Web認証が実行される前(つまり、管理サーバ装置20との通信が行われる前)であっても取得可能である。なお、本実施形態においては、VDI接続用ソフトウェアをSDカード10jにキャッシュしておくため、例えば電子機器10をVDIサーバ装置40に接続しようとする(つまり、仮想デスクトップ環境の提供を受ける)度にVDI接続用ソフトウェアをダウンロードする構成と比較して、当該電子機器10の起動を高速化することが可能である。
また、本実施形態において、VDI接続用ソフトウェアは暗号化されてSDカード10jに格納(キャッシュ)されており、Web認証が実行される際に復号化されて起動されるため、当該SDカード10jに格納されているVDI接続用ソフトウェア(内の情報)が不正に利用されることを防止した上で、公衆無線LANを利用して電子機器10を使用することが可能となる。
更に、本実施形態において、VDI接続用ソフトウェアは、Web認証を実行する必要のないネットワーク(例えば、企業内LAN等)を介して管理サーバ装置20からダウンロードされ、ユーザがアクセス不可能なSDカード10jに格納される。すなわち、本実施形態においては、SDカード10jには暗号化されたVDI接続用ソフトウェア以外に情報漏洩に繋がるような情報は格納されないため、公衆無線LANを利用して電子機器10を使用する際に用いられるVDI接続用ソフトウェアから情報が漏洩する危険性を低減することができる。
また、本実施形態においては、例えば情報漏洩の危険性を低減するために、予め定められた範囲内で公衆無線LANを利用することができるものとする。具体的には、例えばSDカード10jにVDI接続用ソフトウェアが格納されていない場合、予め定められた期間内にWeb認証及び起動認証処理によって電子機器10が認証されない場合、または公衆無線LANを介して管理サーバ装置20と接続可能であることが管理者等によって設定されていない場合には、Web認証モードで動作する電子機器10の電源がオフされる(シャットダウンされる)ものとする。
なお、本実施形態においては、BIOS拡張領域として外部ストレージであるSDカード10j(の領域)が利用されるものとして説明したが、SDカード10jに代えて例えば他の外部ストレージ(例えば、eMMまたはUSBメモリ等)がBIOS拡張領域として用いられてもよい。
更に、ユーザがアクセス不可能な不揮発メモリであれば、例えば外部ストレージではなく内蔵ストレージ(の領域)がBIOS拡張領域として利用されても構わない。また、本実施形態においては、VDI接続用ソフトウェアが暗号化されてキャッシュされるものとして説明したが、当該VDI接続用ソフトウェアが内蔵ストレージにキャッシュされており、当該内蔵ストレージ内の情報が漏洩する可能性が低いような場合には、当該VDI接続用ソフトウェアは暗号化されない構成であっても構わない。
なお、上記したようにSDカード10j以外の不揮発性メモリがBIOS拡張領域として利用される場合であっても、当該不揮発性メモリは、本実施形態において説明したSDカード10jと同様に、限られた期間にのみ利用されるものとする。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。