JP6679303B2 - 電子機器、方法及びプログラム - Google Patents

電子機器、方法及びプログラム Download PDF

Info

Publication number
JP6679303B2
JP6679303B2 JP2015253855A JP2015253855A JP6679303B2 JP 6679303 B2 JP6679303 B2 JP 6679303B2 JP 2015253855 A JP2015253855 A JP 2015253855A JP 2015253855 A JP2015253855 A JP 2015253855A JP 6679303 B2 JP6679303 B2 JP 6679303B2
Authority
JP
Japan
Prior art keywords
electronic device
connection software
server device
external storage
software
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015253855A
Other languages
English (en)
Other versions
JP2017117314A (ja
JP2017117314A5 (ja
Inventor
和田 光悦
光悦 和田
恭平 松田
恭平 松田
宰 沼波
宰 沼波
桃崎 浩平
浩平 桃崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dynabook Inc
Original Assignee
Dynabook Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dynabook Inc filed Critical Dynabook Inc
Priority to JP2015253855A priority Critical patent/JP6679303B2/ja
Priority to US15/387,442 priority patent/US10891398B2/en
Publication of JP2017117314A publication Critical patent/JP2017117314A/ja
Publication of JP2017117314A5 publication Critical patent/JP2017117314A5/ja
Application granted granted Critical
Publication of JP6679303B2 publication Critical patent/JP6679303B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Landscapes

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

Description

本発明の実施形態は、電子機器、方法及びプログラムに関する。
近年、パーソナルコンピュータ等の電子機器の盗難または紛失による情報漏洩が問題となっている。
このため、厳重な情報管理が必要とされる事業を行う企業等では、従業員が使用する電子機器(クライアント端末)を仮想デスクトップ環境で動作させるシンクライアント(ゼロクライアント)システムの導入が検討されている。
シンクライアントシステムにおいては、サーバ装置が集中的に各種ソフトウェア及びデータ等の資源を管理することにより、必要最低限の機能のみを有する電子機器がクライアント端末として使用される。このような電子機器であれば、盗難または紛失された場合であっても情報漏洩の危険性を低減することができる。
特開平11−249900号公報
ところで、上記した電子機器を仮想デスクトップ環境で動作させる場合には、仮想デスクトップ環境を提供するサーバ装置と通信するためのクライアントソフトウェア(及び必要最小限のオペレーティングシステム)を電子機器において起動する必要がある。
このクライアントソフトウェアは電子機器の内蔵ストレージに格納されているため、当該内蔵ストレージには、サーバ装置に接続するための設定情報またはその他の情報が保持される可能性がある。仮にこのような電子機器が盗難または紛失されると、情報漏洩を招く可能性がある。
これに対して、上記したサーバ装置と通信する度に電子機器にクライアントソフトウェアをダウンロードさせるようなシンクライアントシステムが開発されているが、当該クライアントソフトウェアのサイズ及び回線速度によってはダウンロードに必要な時間が長くなり、電子機器を効率的に使用することができない場合がある。
そこで、本発明が解決しようとする課題は、シンクライアントシステムにおいて情報漏洩の危険性を低減するとともに効率的に使用することが可能な電子機器、方法及びプログラムを提供することにある。
実施形態によれば、ハードディスクドライブまたはソリッドステートドライブのような内蔵ストレージを備えず、仮想デスクトップ環境で動作する電子機器が提供される。前記電子機器は、外部ストレージと、プロセッサ、を具備する。前記外部ストレージは、ユーザ操作によってアクセスができないように構成された不揮発性メモリである。前記プロセッサは、ファームウェアROMに格納される仮想デスクトップ環境を提供する第1のサーバ装置、及び前記第1のサーバ装置との接続を管理する第2のサーバ装置と通信するためのネットワーク通信機能を含むファームウェアを実行する。前記プロセッサは、前記第2のサーバ装置との間で前記電子機器の認証が成功したとき、前記第1のサーバ装置と接続するためのクライアント用の接続ソフトウェア前記第2のサーバ装置からダウンロードし、前記接続ソフトウェアを前記電子機器に固有の情報に基づいて生成された機器依存鍵を用いて暗号化して前記外部ストレージにキャッシュするように格納し、前記外部ストレージに格納した前記接続ソフトウェアを前記機器依存鍵によって復号化して揮発性のRAMに展開し、前記RAMの前記接続ソフトウェアを起動することで、前記第1のサーバ装置にログインして、前記第1のサーバ装置が提供する前記仮想デスクトップ環境で前記電子機器を動作させ、前記外部ストレージに前記接続ソフトウェアがキャッシュされた状態で、前記電子機器の電源がオンされ、前記第2のサーバ装置との間で前記電子機器の認証が成功した場合、前記外部ストレージ前記接続ソフトウェアを前記機器依存鍵によって復号化して前記RAMに展開して起動し、前記外部ストレージに前記接続ソフトウェアがキャッシュされていない状態で、前記電子機器の電源がオンされ、前記第2のサーバ装置との間で前記電子機器の認証が成功した場合、前記第2のサーバ装置からダウンロードして得た前記接続ソフトウェアを前記RAMに展開して起動する。
実施形態に係る電子機器の外観の一例を示す斜視図。 電子機器のシステム構成の一例を示す図。 電子機器を含むシンクライアントシステムの一例について説明するための図。 電子機器とVDIサーバ装置とを接続するための処理の概要について説明するための図。 電子機器がネットワークから切断されたときに実行される処理の概要について説明するための図。 仮想デスクトップ環境の提供を受ける際に電子機器によって実行される処理の処理手順の一例を示すフローチャート。 VDI接続用SW取得処理の処理手順の一例について説明するための図。 BIOS領域の拡張機能について説明するための図。
以下、図面を参照して、実施形態について説明する。
本実施形態に係る電子機器は、シンクライアントシステムにおいて使用されるクライアント端末(シンクライアント端末)であり、当該電子機器と通信可能に接続されるサーバ装置によって提供される仮想デスクトップ環境で動作する。
仮想デスクトップ環境は電子機器のデスクトップ環境をサーバ装置上で稼働させる仕組みであり、この場合における電子機器は、例えば仮想デスクトップイメージを当該サーバ装置から受信してディスプレイに表示する等の必要最低限の機能のみを有していればよい。
なお、本実施形態に係る電子機器は、ノートブック型パーソナルコンピュータ(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カード(メモリカード)のような不揮発性メモリを挿入することができる。このようにカードスロット10iに挿入されたSDカードは電子機器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は、後述する管理サーバ装置(第2のサーバ装置)20の管理区域(例えば、厳重な情報管理が必要とされる区域)内等において使用されるものとする。
図3に示すように、管理区域内のサーバエリアには、管理サーバ装置20が設置されている。管理区域内のユーザ(例えば、企業の従業員等)は、電子機器10を使用して業務を遂行する。電子機器10は、無線LANのような無線ネットワークを介して管理サーバ装置20と通信することができる。この場合、電子機器10は、無線LANルータ30を介して管理サーバ装置20に接続されてもよい。また、電子機器10は、電子機器10を含む複数のクライアント端末に仮想デスクトップ環境を提供するように構成されたサーバ装置(第1のサーバ装置)40と無線ネットワーク経由で通信することもできる。
仮想デスクトップ環境を提供するためのデスクトップ仮想化を実現するための技術には複数の種類の技術がある。これらの技術の1つとしては、仮想デスクトップ基板(VDI:Virtual Desk top 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にアクセスすることを防止するために、当該管理区域内において利用可能なクライアント端末を予め登録された端末群のみに制限する機能を有している。また、管理サーバ装置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接続の解除(切断)の要因には、管理区域外(通信範囲外)への電子機器10の持ち出し、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にネットワークを介して接続することを許可するか否かを判定するためのネットワーク認証処理が実行される。電子機器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の認証が成功したか否かを判定する(ブロック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)。
ブロックB8において起動された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領域の拡張機能と表記)を有する。
ここで、図8を参照して、BIOS領域の拡張機能について簡単に説明する。本実施形態においては、図8に示すように、例えばAES256等の暗号方式(及びパスワード付きのzip)で保護されたVDI接続用ソフトウェア(ダウンロードパッケージ)を復号化し、当該復号化されたVDI接続用ソフトウェアを機器依存鍵で暗号化することによってキャッシュパッケージを生成する。
一般的なシンクライアントシステムにおいてはセキュリティ上の観点からSDカード10jのような外部ストレージを利用することはできないが、本実施形態においては、上記したキャッシュパッケージ(機器依存鍵で暗号化されたVDI接続用ソフトウェア)を生成することによって、SDカード10jをBIOS拡張領域(キャッシュ領域)として利用し、当該キャッシュパッケージをSDカード10jにキャッシュ(格納)しておくことが可能となる。
ここで、上記したようにSDカード10jにキャッシュパッケージがキャッシュされた状態の電子機器10が例えば盗難等によって管理区域外に持ち出された場合を想定する。この場合において、電子機器10を使用しようとすると、上記した図5において説明したように電子機器10の電源は自動的にオフされるため、電子機器10のRAM13上の情報は全て消去される。これによれば、RAM13上の情報が漏洩することを防止することができる。
また、例えば管理区域外に持ち出された電子機器10(のカードスロット10i)からSDカード10jが取り外され、他の機器100において、不正の目的で当該SDカード10j(内の情報)にアクセスすることが考えられる。しかしながら、SDカード10jに格納されている情報は上記したキャッシュパッケージであり、当該キャッシュパッケージは、電子機器10内に保持されている機器依存鍵でのみ復号化可能である。すなわち、電子機器10においてSDカード10jにキャッシュされたVDI接続用ソフトウェアは、当該電子機器10においてのみ利用可能であるため、仮にSDカード10jが他の機器100に挿入されたとしても、当該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の電源はオフされる(つまり、システムが終了される)。
同様に、ブロック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接続用ソフトウェアの暗号化及び復号化に共通鍵暗号方式が採用された場合について説明したが、当該暗号化及び復号化に他の暗号化方式が採用されても構わない。
上記したように本実施形態においては、仮想デスクトップ環境を提供するVDIサーバ装置(第1のサーバ装置)40と接続するためのVDI接続用ソフトウェア(クライアントプログラム)が管理サーバ装置(第2のサーバ装置)20からダウンロードされ、当該ダウンロードされたVDI接続用ソフトウェアは、ユーザがアクセス不可能な外部ストレージ(例えば、SDカード10j)に格納される。また、仮想デスクトップ環境の提供を受ける場合、SDカード10jに格納されたVDI接続用ソフトウェアが起動される。なお、この場合におけるVDI接続用ソフトウェアは、暗号化されてSDカード10jに格納される。また、VDI接続用ソフトウェアを管理サーバ装置20からダウンロードする(つまり、管理サーバ装置20に接続する)ためのファームウェアは、BIOS−ROM16に予め格納されている。
本実施形態においては、このような構成により、ユーザがアクセス不可能なSDカード10j(の領域)をBIOS拡張領域として利用し、当該SDカード10jに暗号化されたVDI接続用ソフトウェアをキャッシュしておくことが可能である。これによれば、SDカード10jには暗号化されたVDI接続用ソフトウェア以外に情報漏洩に繋がるような情報は格納されないため、シンクライアントシステムにおいてSDカード10j(外部ストレージ)をセキュアな状態で利用することができ、電子機器10から情報が漏洩する危険性を低減することができる。更に、電子機器10の電源がオンされたときに、SDカード10jにVDI接続用ソフトウェアが格納(キャッシュ)されている場合には当該VDI接続用ソフトウェアのダウンロードを実行する必要がないため、VDI接続用ソフトウェアをVDIサーバ装置40に接続しようとする(つまり、仮想デスクトップ環境の提供を受ける)度にVDI接続用ソフトウェアをダウンロードする構成と比較して、当該電子機器10の起動を高速化する(つまり、電子機器10を効率的に使用する)ことが可能となる。
また、本実施形態においては、VDI接続用ソフトウェアが電子機器10に固有の情報(機器情報)に基づいて生成された鍵(機器依存鍵)を用いて暗号化される。これによれば、本実施形態においては、例えば電子機器10のカードスロット10iに挿入されていたSDカード10jが他の機器に挿入された場合であっても、当該SDカード10jに格納されているVDI接続用ソフトウェアは当該他の機器では利用することができない(復号化されない)ため、当該VDI接続用ソフトウェア(内の情報)が不正に利用されることを防止することが可能となる。
更に、本実施形態においては、電子機器10の電源がオンされた場合にSDカード10jをマウント状態にし、VDI接続用ソフトウェアを起動するためにSDカード10jに格納されたVDI接続用ソフトウェアを復号化し、当該VDI接続用ソフトウェアが復号化された場合、SDカード10jのマウント状態を解除する。本実施形態においては、このような構成により、SDカード10jに格納(キャッシュ)されたVDI接続用ソフトウェアを利用する限られた期間にのみSDカード10jが有効化され、かつ、当該SDカード10jはシンクライアントシステムでのみ利用されるため、例えばユーザによってSDカード10jに情報漏洩に繋がる情報が格納され、当該情報が漏洩するといった事態を回避することが可能となる。
また、本実施形態では、管理サーバ装置20においてVDI接続用ソフトウェアが更新されている場合に、当該更新されたVDI接続用ソフトウェアをダウンロードして、SDカード10jに格納(キャッシュ)されているVDI接続用ソフトウェアに上書きすることが可能である。本実施形態においては、このような構成により、管理サーバ装置20においてVDI接続用ソフトウェアが更新されたような場合であっても、当該更新されたVDI接続用ソフトウェアを用いてVDIサーバ装置40に接続することが可能となる。
また、本実施形態において、SDカード10jに格納(キャッシュ)されたVDI接続用ソフトウェアはRAM13上に展開されて起動され、電子機器10とVDIサーバ装置40との接続が切断された場合、当該電子機器10の電源はオフされる。ここで、RAM13は揮発性メモリであるため、電子機器10の電源がオフされた場合には、RAM13上の情報は自動的に消去される。このような構成によれば、例えばVDIサーバ装置40との通信が可能な範囲(管理区域)外に電子機器10が持ち出されたような場合に当該電子機器10のRAM13上の情報が漏洩することを防止することが可能となる。
なお、本実施形態においては、BIOS拡張領域として利用される外部ストレージとしてSDカード10j(の領域)が利用されるものとして説明したが、SDカード10jに代えて例えば他の外部ストレージ(例えば、eMMCまたはUSBメモリ等)がBIOS拡張領域として用いられてもよい。
更に、ユーザがアクセス不可能な不揮発性メモリであれば、例えば外部ストレージではなく内蔵ストレージ(の領域)がBIOS拡張領域として利用されても構わない。このようにユーザがアクセス不可能な内蔵ストレージがBIOS拡張領域として利用される場合、当該内蔵ストレージ内の情報が漏洩する可能性は低い。このため、内蔵ストレージに格納(キャッシュ)されるVDI接続用ソフトウェアは暗号化されない構成であっても構わない。
なお、上記したようにSDカード10j以外の不揮発性メモリがBIOS拡張領域として利用される場合であっても、当該不揮発性メモリは、当該SDカード10jと同様に、限られた期間にのみ利用されるものとする。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
10…電子機器、10a…電子機器本体、10b…ディスプレイユニット、10c…LCD、10d…キーボード、10e…タッチパッド、10f…電源スイッチ、10g…スピーカ、10h…電源コネクタ、10i…カードスロット、10j…SDカード(不揮発性メモリ)、10k…HDMI出力端子、13…RAM(揮発性メモリ)、16…BIOS−ROM(ファームウェアROM)、20…管理サーバ装置(第2のサーバ装置)、40…VDIサーバ装置(第1のサーバ装置)。

Claims (7)

  1. ハードディスクドライブまたはソリッドステートドライブのような内蔵ストレージを備えず、仮想デスクトップ環境で動作する電子機器において、
    ユーザ操作によってアクセスができないように構成された不揮発性メモリの外部ストレージと、
    ファームウェアROMに格納される仮想デスクトップ環境を提供する第1のサーバ装置、及び前記第1のサーバ装置との接続を管理する第2のサーバ装置と通信するためのネットワーク通信機能を含むファームウェアを実行するプロセッサと、
    を有し、
    前記プロセッサは
    前記第2のサーバ装置との間で前記電子機器の認証が成功したとき、前記第1のサーバ装置と接続するためのクライアント用の接続ソフトウェアを前記第2のサーバ装置からダウンロード
    前記接続ソフトウェアを前記電子機器の固有情報に基づいて生成された機器依存鍵を用いて暗号化して前記外部ストレージにキャッシュするように格納し、
    前記外部ストレージに格納した前記接続ソフトウェアを前記機器依存鍵によって復号化して揮発性のRAMに展開し、
    前記RAMの前記接続ソフトウェアを起動することで、前記第1のサーバ装置にログインして、前記第1のサーバ装置が提供する前記仮想デスクトップ環境で前記電子機器を動作させ、
    前記外部ストレージに前記接続ソフトウェがキャッシュされていた状態で、前記電子機器の電源がオンされ、前記第2のサーバ装置との間で前記電子機器の認証が成功した場合、前記外部ストレージ前記接続ソフトウェアを前記機器依存鍵によって復号化して前記RAMに展開して起動し、
    前記外部ストレージに前記接続ソフトウェアがキャッシュされていない状態で、前記電子機器の電源がオンされ、前記第2のサーバ装置との間で前記電子機器の認証が成功した場合、前記第2のサーバ装置からダウンロードして得た前記接続ソフトウェアを前記RAMに展開して起動す
    子機器。
  2. 前記第2のサーバ装置から前記ダウンロードして得た前記接続ソフトウェアは、共通鍵で暗号化されている場合
    前記プロセッサは、
    前記暗号化された前記接続ソフトウェア当該電子機器に配布された共通鍵によって復号化し、
    前記復号化された前記接続ソフトウェアを前記機器依存鍵を用いて再度暗号化して前記外部ストレージにキャッシュするよう格納し、
    前記外部ストレージにキャッシュされた前記接続ソフトウェアを前記機器依存鍵によって復号化して前記RAMに展開して起動する
    請求項1記載の電子機器。
  3. 前記外部ストレージ前記電子機器のカードスロットに挿入されるSDカードで構成され、
    前記プロセッサは、
    前記電子機器の電源がオンされた場合に、前記SDカードを認識できるマウント状態にするための処理を実行し
    前記SDカードマウントが成功したと判定し、且つ前記接続ソフトウェアが前記SDカードにキャッシュされていると判定した場合、前記接続ソフトウェアを起動するために、前記機器依存鍵を用いて前記接続ソフトウェアを復号化
    前記接続ソフトウェアの復号化が成功した場合、前記SDカードが認識できないようにマウント状態を解除す
    求項記載の電子機器。
  4. 前記プロセッサは、
    前記外部ストレージに前記接続ソフトウェアがキャッシュされている場合であって、当該接続ソフトウェアが前記第2のサーバ装置において更新されている場合、当該更新された前記接続ソフトウェアを前記第2のサーバ装置からダウンロードし、
    前記更新された接続ソフトウェアを前記外部ストレージにキャッシュされている前記接続ソフトウェアに上書きする
    請求項記載の電子機器。
  5. 前記プロセッサは、前記外部ストレージにキャッシュした前記接続ソフトウェアを前記機器依存鍵によって復号化し前記RAM上に展開して起動した後、前記第2のサーバ装置との間の接続が切断された場合、前記RAMの内容消去する請求項記載の電子機器。
  6. ハードディスクドライブまたはソリッドステートドライブのような内蔵ストレージを備えず、ユーザ操作によってアクセスができないように構成された不揮発性メモリの外部ストレージと、ファームウェアROMに格納される仮想デスクトップ環境を提供する第1のサーバ装置、及び前記第1のサーバ装置との接続を管理する第2のサーバ装置と通信するためのネットワーク通信機能を含むファームウェアを実行するプロセッサと、を有する仮想デスクトップ環境で動作する電子機器が実行する方法であって、
    前記第2のサーバ装置との間で前記電子機器の認証が成功したとき、前記第1のサーバ装置と接続するためのクライアント用の接続ソフトウェアを前記第2のサーバ装置からダウンロードすることと、
    前記接続ソフトウェアを前記電子機器に固有の情報に基づいて生成された機器依存鍵を用いて暗号化して前記外部ストレージにキャッシュするように格納することと、
    前記外部ストレージに格納した前記接続ソフトウェアを前記機器依存鍵によって復号化して揮発性のRAMに展開することと、
    前記RAMの前記接続ソフトウェアを起動することで、前記第1のサーバ装置にログインして、前記第1のサーバ装置が提供する前記仮想デスクトップ環境で前記電子機器を動作させることと、
    前記外部ストレージに前記接続ソフトウェアがキャッシュされた状態で、前記電子機器の電源がオンされ、前記第2のサーバ装置との間で前記電子機器の認証が成功した場合、前記外部ストレージ前記接続ソフトウェアを前記機器依存鍵によって復号化して前記RAMに展開して起動することと、
    前記外部ストレージに前記接続ソフトウェアがキャッシュされていない状態で、前記電子機器の電源がオンされ、前記第2のサーバ装置との間で前記電子機器の認証が成功した場合、前記第2のサーバ装置からダウンロードして得た前記接続ソフトウェアを前記RAMに展開して起動することと
    を具備する方法。
  7. ハードディスクドライブまたはソリッドステートドライブのような内蔵ストレージを備えず、ユーザ操作によってアクセスができないように構成された不揮発性メモリの外部ストレージと、ファームウェアROMに格納される仮想デスクトップ環境を提供する第1のサーバ装置、及び前記第1のサーバ装置との接続を管理する第2のサーバ装置と通信するためのネットワーク通信機能を含むファームウェアを実行するプロセッサと、を有する仮想デスクトップ環境で動作する電子機器の前記プロセッサによって実行される前記ファームウェアのプログラムであって、
    前記第2のサーバ装置との間で前記電子機器の認証が成功したとき、前記第1のサーバ装置と接続するためのクライアント用の接続ソフトウェアを前記第2のサーバ装置からダウンロードする手順と、
    前記接続ソフトウェアを前記電子機器に固有の情報に基づいて生成された機器依存鍵を用いて暗号化して前記外部ストレージにキャッシュするように格納する手順と、
    前記外部ストレージに格納した前記接続ソフトウェアを前記機器依存鍵によって復号化して揮発性のRAMに展開する手順と、
    前記RAMの前記接続ソフトウェアを起動することで、前記第1のサーバ装置にログインして、前記第1のサーバ装置が提供する前記仮想デスクトップ環境で前記電子機器を動作させる手順と、
    前記外部ストレージに前記接続ソフトウェアがキャッシュされた状態で、前記電子機器の電源がオンされ、前記第2のサーバ装置との間で前記電子機器の認証が成功した場合、前記外部ストレージ前記接続ソフトウェアを前記機器依存鍵によって復号化して前記RAMに展開して起動する手順と、
    前記外部ストレージに前記接続ソフトウェアがキャッシュされていない状態で、前記電子機器の電源がオンされ、前記第2のサーバ装置との間で前記電子機器の認証が成功した場合、前記第2のサーバ装置からダウンロードして得た前記接続ソフトウェアを前記RAMに展開して起動する手順と
    を前記プロセッサに実行させるためのプログラム。
JP2015253855A 2015-12-25 2015-12-25 電子機器、方法及びプログラム Active JP6679303B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015253855A JP6679303B2 (ja) 2015-12-25 2015-12-25 電子機器、方法及びプログラム
US15/387,442 US10891398B2 (en) 2015-12-25 2016-12-21 Electronic apparatus and method for operating a virtual desktop environment from nonvolatile memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015253855A JP6679303B2 (ja) 2015-12-25 2015-12-25 電子機器、方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2017117314A JP2017117314A (ja) 2017-06-29
JP2017117314A5 JP2017117314A5 (ja) 2018-10-25
JP6679303B2 true JP6679303B2 (ja) 2020-04-15

Family

ID=59086362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015253855A Active JP6679303B2 (ja) 2015-12-25 2015-12-25 電子機器、方法及びプログラム

Country Status (2)

Country Link
US (1) US10891398B2 (ja)
JP (1) JP6679303B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10855674B1 (en) * 2018-05-10 2020-12-01 Microstrategy Incorporated Pre-boot network-based authentication
JP7391532B2 (ja) * 2019-05-08 2023-12-05 株式会社野村総合研究所 サーバ
JP7265661B2 (ja) * 2020-04-20 2023-04-26 ソフトバンク株式会社 端末装置、情報通信方法、及び情報通信プログラム
US20220159029A1 (en) * 2020-11-13 2022-05-19 Cyberark Software Ltd. Detection of security risks based on secretless connection data

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3830262B2 (ja) 1998-01-09 2006-10-04 株式会社リコー コンピュータネットワークシステム
JPH11249900A (ja) 1998-02-27 1999-09-17 Toshiba Corp コンピュータシステム、同システムのブート方法および記録媒体
US7281132B2 (en) * 2001-10-19 2007-10-09 Sun Microsystems, Inc. Using token-based signing to install unsigned binaries
JP3980421B2 (ja) * 2002-06-27 2007-09-26 富士通株式会社 プレゼンス管理方法及び装置
JP2004139442A (ja) * 2002-10-18 2004-05-13 Toyota Motor Corp 情報端末装置、情報端末装置の動作制御方法、特定情報記憶プログラム、特定情報記憶プログラムを格納する記憶媒体、所定情報変更プログラム、端末動作プログラム、端末動作プログラムを格納する記憶媒体、及びセンタ
JP4604543B2 (ja) 2004-04-30 2011-01-05 日本電気株式会社 計算機、計算機起動方法、管理サーバ装置およびプログラム
JP4717398B2 (ja) 2004-09-10 2011-07-06 キヤノン株式会社 データ処理装置の制御方法
JP4612399B2 (ja) 2004-11-11 2011-01-12 日本電信電話株式会社 共同利用パソコンシステムの環境復元方法および共同利用パソコン
WO2006121251A1 (en) * 2005-05-06 2006-11-16 Iocell Co., Ltd. Data structure of flash memory having system area with variable size in which data can be updated, usb memory device having the flash memory, and method of controlling the system area
US9201939B2 (en) * 2006-06-02 2015-12-01 Salesforce.Com, Inc. Method and system for pushing data to a plurality of devices in an on-demand service environment
US20070157016A1 (en) * 2005-12-29 2007-07-05 Dayan Richard A Apparatus, system, and method for autonomously preserving high-availability network boot services
US20080141042A1 (en) * 2006-12-11 2008-06-12 Phison Electronics Corp. Memory card and security method therefor
US7890723B2 (en) * 2006-12-29 2011-02-15 Sandisk Corporation Method for code execution
US20080172555A1 (en) * 2007-01-17 2008-07-17 Erink Technologies, Llc Bootable thin client personal initialization device
JP2009194897A (ja) 2008-01-17 2009-08-27 Seiko Epson Corp 画像表示装置、記憶媒体、画像表示システム及びネットワーク設定方法
JP2009258922A (ja) 2008-04-15 2009-11-05 Nippon Telegr & Teleph Corp <Ntt> 多地点のコンピュータ管理システム及び方法
JP5494496B2 (ja) * 2009-01-28 2014-05-14 日本電気株式会社 シンクライアント−サーバシステム、シンクライアント端末、データ管理方法及びコンピュータ読み取り可能な記録媒体
JP5517463B2 (ja) 2009-02-09 2014-06-11 三菱電機株式会社 シンクライアントシステム、管理サーバおよびシンクライアント端末
US20120084562A1 (en) * 2010-10-04 2012-04-05 Ralph Rabert Farina Methods and systems for updating a secure boot device using cryptographically secured communications across unsecured networks
US9306954B2 (en) * 2011-06-30 2016-04-05 Cloud Security Corporation Apparatus, systems and method for virtual desktop access and management
JP5940159B2 (ja) * 2011-09-30 2016-06-29 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 非トラステッド・ユーザ端末にオペレーティング・システム・イメージをプロビジョニングするための方法、コンピュータ・プログラム、デバイス、装置
US8681813B2 (en) * 2011-11-29 2014-03-25 Wyse Technology L.L.C. Bandwidth optimization for remote desktop protocol
US9055139B1 (en) * 2012-03-12 2015-06-09 Cisco Technology, Inc. Display protocol interception in the network for services and network-based multimedia support for VDI
US10009404B2 (en) * 2012-05-29 2018-06-26 Avaya Inc. Enterprise class virtual desktop infrastructure
US9189225B2 (en) * 2012-10-16 2015-11-17 Imprivata, Inc. Secure, non-disruptive firmware updating
US9836281B2 (en) * 2013-03-12 2017-12-05 Greg J. Wright Encryption method and system using a random bit string encryption key
JP2015109008A (ja) 2013-12-05 2015-06-11 株式会社リニア・サーキット オンラインストレージシステム用のサーバ、ユーザ端末と、それらを使用するオンラインストレージシステム
US9712563B2 (en) * 2014-07-07 2017-07-18 Cyber-Ark Software Ltd. Connection-specific communication management
GB2531248B (en) * 2014-10-08 2017-02-22 Ibm Controlled use of a hardware security module

Also Published As

Publication number Publication date
JP2017117314A (ja) 2017-06-29
US10891398B2 (en) 2021-01-12
US20170185530A1 (en) 2017-06-29

Similar Documents

Publication Publication Date Title
JP4971466B2 (ja) コンピューティング・デバイスの安全なブート
JP5576983B2 (ja) 非ローカル記憶装置からのサブシステムのセキュアなブート及び構成
US8782801B2 (en) Securing stored content for trusted hosts and safe computing environments
US8522018B2 (en) Method and system for implementing a mobile trusted platform module
US10423791B2 (en) Enabling offline restart of shielded virtual machines using key caching
KR101281678B1 (ko) 이동 저장 장치에서 호스트 인증 방법, 호스트 인증을 위한정보 제공 방법, 장치, 및 기록매체
US9824220B2 (en) Secure execution of software modules on a computer
KR101402542B1 (ko) 지속형 보안 시스템 및 지속형 보안 방법
CN110457894B (zh) root权限的分配方法、装置、存储介质及终端设备
EP2367135B1 (en) Adapter for portable storage medium and method of disabling data access
US9514001B2 (en) Information processing device, data management method, and storage device
JP6679303B2 (ja) 電子機器、方法及びプログラム
US20110093693A1 (en) Binding a cryptographic module to a platform
US9015454B2 (en) Binding data to computers using cryptographic co-processor and machine-specific and platform-specific keys
JP2008052704A (ja) コンピュータおよび共有パスワードの管理方法
JP2011210129A (ja) 記憶装置、データ処理装置、登録方法、及びコンピュータプログラム
US20080278285A1 (en) Recording device
US9881142B2 (en) Method and apparatus for preventing and investigating software piracy
US8601282B2 (en) Program and device for using second uncorrupted MBR data stored in an external storage
JP6609471B2 (ja) 電子機器、方法及びプログラム
EP2204753B1 (en) Terminal apparatuses
JP4550526B2 (ja) 情報処理システム、情報処理装置、登録サーバ、制御プログラム、及び制御方法
JP5062687B2 (ja) 情報処理装置
JP6672019B2 (ja) 電子機器、方法及びプログラム
JP7077872B2 (ja) 情報処理装置、情報処理方法、およびプログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180913

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180913

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20181206

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20181207

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190723

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190926

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200318

R150 Certificate of patent or registration of utility model

Ref document number: 6679303

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150