JP6949338B2 - 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体 - Google Patents

電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体 Download PDF

Info

Publication number
JP6949338B2
JP6949338B2 JP2020565614A JP2020565614A JP6949338B2 JP 6949338 B2 JP6949338 B2 JP 6949338B2 JP 2020565614 A JP2020565614 A JP 2020565614A JP 2020565614 A JP2020565614 A JP 2020565614A JP 6949338 B2 JP6949338 B2 JP 6949338B2
Authority
JP
Japan
Prior art keywords
data
electronic data
data management
computer
storage means
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
JP2020565614A
Other languages
English (en)
Other versions
JPWO2020144961A1 (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.)
Science Park Corp
Original Assignee
Science Park Corp
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 Science Park Corp filed Critical Science Park Corp
Publication of JPWO2020144961A1 publication Critical patent/JPWO2020144961A1/ja
Application granted granted Critical
Publication of JP6949338B2 publication Critical patent/JP6949338B2/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/4418Suspend and resume; Hibernate and awake

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Automation & Control Theory (AREA)
  • Storage Device Security (AREA)

Description

本発明は、揮発性記憶手段を利用し電子データが電子計算機から漏洩することを防止し、管理するための電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体に関する。
個人情報、ビジネスのノウハウを始め各種のデータは、電子データの形式でファイルとして電子計算機の記憶装置、記録媒体に保存されていることが多い。電子計算機は中央処理装置、主記憶装置、入出力手段、電源供給手段等を備えたものであり、例えば、デスクトップパソコン、ノートパソコン、スマートフォン、そしてサーバ等が例示できる。
ユーザは、電子計算機の内蔵又は外付けされた補助記憶装置にアクセスして、ファイルを閲覧、編集する他に、ネットワークを介して他人へ送信し、その電子計算機又は他の電子計算機に内蔵又は接続されているデバイスへ転送・複製して利用する。
これらの利用形態から考慮して、電子データの保護と漏洩防止の観点から、ファイルは無論、そのファイル又はそのファイルが格納されている記憶装置にアクセスした履歴、特にファイルの閲覧、編集、複写、印刷、送信等の履歴を取得して厳密に電子データを管理することが大事である。また、近年、電子計算機をネットワークに接続して、ネットワーク上のネットワークフォルダに電子データを格納し、これを電子計算機にダウンロードして利用することが多くなっている。
このようにネットワークフォルダに電子データを格納すると、電子計算機の補助記憶装置に電子データを格納する必要がなくなり、いわゆる電子計算機のデータレス利用になる。電子データを目的以外に利用できないように電子計算機を制御することが電子データ、特に機密データの漏洩防止の観点から重要である。
電子データは、電子計算機から漏洩するルートとして考えられるものは、電子計算機に接続されたフラッシュメモリ等の補助記憶装置への格納、アプリケーションプログラム等の一時ファイル(Temporary file)、オペレーティングシステムのダンプ機能とハイバネーション機能により、主記憶装置(RAM:Random Access memory)の内容の補助記憶装置への格納等である。
即ち、この電子計算機の補助記憶装置等に保存された電子データは、電子計算機の紛失、電子計算機への不正アクセス、ユーザによる電子計算機の電子データの複製等によって、情報漏洩することがあり、この防止策が様々な形で行われて、提案されている。例えば、電子データを電子計算機に接続された補助記憶装置へ格納するときは、電子データを暗号化したり、補助記憶装置を認証したりして対策を講じている(例えば、特許文献1)。
特許文献1に開示された内容のデータ管理用のシステムのプログラムは、不揮発性メモリに格納されたクライアントのユーザデータを、それを処理している電子計算機により、目的以外に利用することができないように、その電子計算機を制御している。このシステムにおいて、ユーザデータは電子計算機から承認された不揮発性メモリのみに記録するが、更にその他の手段でも外部へ持ち出さないように電子計算機を制御している。
一時ファイルの場合は、一時ファイルの保存先を制御することでセキュリティを確保している(例えば、特許文献2)。特許文献2には、クライアントコンピュータ上に作成されそれに格納された一時ファイルが原因で、情報漏洩することを防止するデータ管理システムが開示されている。
このデータ管理システムは、アプリケーションプログラムによって生成された一時ファイルを、アプリケーションプログラムが指定する一時ファイル用フォルダとは別のフォルダであり、クライアントコンピュータのハードディスク、クライアントコンピュータに接続されたUSBメモリ、ネットワーク上のサーバ等に作成されたフォルダに、暗号化して保存している。これにより、アプリケーションプログラムの動作中でも、一時ファイルによる情報漏洩を防止している。
また、電子計算機が盗難又は紛失されたと疑われる場合、電子計算機のデータを暗号化する常時稼働組み込み式盗難反応サブシステムが開示されている(特許文献3を参照。)。このシステムは、電子計算機のハイバネーション機能の場合でも、電子計算機のデータを暗号化、又は電子計算機のストレージ全体を暗号化する機能を備えている。また、電子計算機がハイバネーション状態へ移行したとき、機密情報が漏洩することを防止する方法も提案されている(例えば、特許文献4)。
この方法によれば、電子計算機がハイバネーション状態へ移行する際、揮発性メモリの内容を不揮発性メモリに保存するとき、揮発性メモリの中でアプリケーションに割り当てられたメモリ領域(セキュリティ領域)のデータを含まないように、ハイバネーションデータを生成して不揮発性メモリに保存する。そして、電子計算機は、ハイバネーション状態からの復帰時に、不揮発性メモリからハイバネーションデータを揮発性メモリに書き戻した後、メモリ領域の割り当て要求と共に渡された関数を呼び出すことで、アプリケーションによりセキュリティデータを再生成する。
ユーザが電子計算機の補助記憶装置にアクセスするとき、これがあらかじめ設定されたネットワーク上のアドレスへ転送されるリダイレクト機能を利用して、電子データをネットワーク上のフォルダに保存することができる。特に、電子計算機のデータレス化が進んでいる中で、電子計算機で電子データを利用して作業を行っても、それを電子計算機に残さない仕組みが求められている。
従来から、データレス化のために主記憶装置の一部を疑似補助記憶装置として利用しており、これはRAMディスク等と呼ばれている。電子計算機の補助記憶装置にデータを書き込むことを禁止して、データをRAMディスクに書き込むようにしてリダイレクトし、ネットワーク上の仮想ディスクにデータを書き込みしている(特許文献5)。この機能を利用すると、データは、電子計算機のローカルディスクに残さず、ネットワーク上の仮想ドライブに保存されることになる。
従って、仮に電子計算機を紛失した場合、ユーザデータの漏洩がないという利点がある。オペレーティングシステムのダンプ機能は、基本的に、オペレーティングシステムとアプリケーションプログラムのクラッシュ、動作の不具合を検証するために行われるものである。通常、電子計算機の記憶装置に記録された内容をまとめて表示、印刷、又は記録し、このまとまった内容をダンプと表現している。言い換えると、ダンプとは、電子計算機でデータ処理するときの主記憶装置の内容であり、中央処理装置(CPU)でデータ処理するときのデータを時系列で出力した内容である。
従来から、このダンプを分析することで上述のクラッシュ、動作の不具合を検証している。現在、ソースコードが膨大になっているオペレーティングシステムとアプリケーションプログラムの場合でも、オペレーティングシステムとアプリケーションプログラムの動作中、特に、クラッシュや動作の不具合等が発生したとき、メインメモリの内容を自動的にダンプし、電子計算機の補助記憶装置に出力している。
このダンプファイルを分析することで、動作中のアプリケーションプログラムが利用していたユーザデータを取得することが可能であり、また、悪意があるユーザがクラッキングするセキュリティホールとも言われている。ダンプファイルをソフトウェアの検証等に利用する場合、自動的に出力されるようになり、電子計算機を紛失、廃棄、他へ譲渡、リースするとき、問題になっている。
ハイバネーション(Hibernation)の機能は、オペレーティングシステムが備えている機能の一つである。ハイバネーションの機能は、電子計算機の電源を切断するとき、その切断前に、作業を中断させ、主記憶装置が保持している内容を、補助記憶装置に複製して格納する。この切断後、電子計算機に電源を接続して起動させると、電子計算機は、補助記憶装置から保存された主記憶装置の内容を読みだして動作させ、中断した作業を継続させる。
例えば、編集しているファイルがあると、ハイバネーションする際、作業中途状態のまま編集しているファイル内容が、補助記憶装置に保存され、電子計算機の電源が切断される。電子計算機が再開すると、補助記憶装置からハイバネーション内容が再度主記憶装置に格納され、ファイルの作業が継続して行うことができる。また、ノート型電子計算機のバッテリーの残量が少なくなると、ハイバネーションが自動的に開始される機能もある。
このように、ハイバネーション機能は、休止状態(スリープ)(Windows(登録商標)の場合)、Software Suspend(macOS(登録商標)の場合)、Userspace Software Suspend(LINUX(登録商標)の場合)等とオペレーティングシステムによって独自に表現することがあり、様々なオペレーティングシステムに実装されている。ハイバネーション機能を利用すると、オペレーティングシステムを高速で再開することができるという利点がある。
ハイバネーション機能は、Windowsの場合、ハイバネーションファイル(hiberfil.sys)として、補助記憶装置、特にオペレーティングシステムのシステムドライブに保存される。電子計算機は、次回起動時にこのファイルを読み込むことで、電源切断前の作業を途中から再開できる。ハイバネーション機能は、電子計算機の電源を切断して一時休止状態にしてから、高速起動するときに使われる。
ハイバネーション機能は、場合によって、巨大なファイルになるので、かつ、電源切断する度に書き込まれるので、補助記憶装置の空き領域を圧迫し、補助記憶装置の寿命にも影響する。Windowsの場合、電源設定を行うための「powercfg」コマンドに、「/hibernate」又は「/h」というオプションで、「powercfg /h off」又は「powercfg /h on」と設定するので、ハイバネーション機能を使用することができるが、この設定をユーザが選択的に利用できる。
この機能を利用する場合、電子計算機の起動時間の短縮ができるが、ユーザデータがハイバネーション機能で漏洩することを確実に防ぐことができない。逆に、ハイバネーション機能を利用しない場合、電子計算機の起動時間が長くなるが、ユーザデータがハイバネーション機能で漏洩することが無くなる。
特開2011−8813号公報 特開2010−72885号公報 国際公開WO2013/095596号公報 特開2014−98977号公報 特開2017−10424号公報
しかしながら、ハイバネーション機能とダンプ機能によって補助記憶装置に保存されたデータは、補助記憶装置を分析することでデータの中身を取得することできるという欠点がある。このように、電子計算機を紛失したとき、又は補助記憶装置を廃棄するとき、ハイバネーション機能、ダンプ機能等によって、補助記憶装置に格納されたユーザデータが漏洩するかも知れず問題がある。
また、作業中のユーザデータは、ローカルの補助記憶装置に保存せず、ネットワークストレージ等に安全に格納することが望ましい。よって、電子計算機のオペレーティングシステムのハイバネーション機能及びダンプ機能による情報を漏洩させない、また、作業中のユーザデータを電子計算機に残さないような、電子データの管理ができる管理方法及びそのシステムが求められている。
本発明は上述のような技術背景のもとになされたものであり、下記の目的を達成する。
本発明の目的は、揮発性記憶手段を利用し、電子計算機の電子データを確実に保護して情報漏洩を防止する、電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体を提供することにある。
本発明の他の目的は、電子計算機で利用する電子データをオペレーティングシステムのハイバネーション機能、ダンプ機能等により漏洩することを防止する、電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体を提供することにある。
本発明は、前記目的を達成するため、次の手段を採る。
本発明は、電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体である。
相互に通信できるネットワーク上の記憶手段であるネットワークストレージと通信する電子計算機は、プログラムコードに従ってデータを処理する中央処理手段、
前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
指示コマンド又は前記データを入力するための入力手段、
前記処理の結果を外部に出力するための出力手段、並びに、
前記ネットワークに接続するためのネットワーク接続手段からなり、
前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、前記アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧、編集、及び変更の中から1以上の操作がされるとき、前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなる電子データ管理装置において、
前記電子データ管理装置は、
前記ネットワークストレージに割り当てられた仮想記憶手段、
前記主記憶手段に常駐して、仮想の補助記憶装置である疑似補助記憶手段として機能する揮発性記憶手段、
前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ユーザデータを前記ネットワークストレージの保存先から前記仮想記憶手段を介して取得し、前記揮発性記憶手段に格納し、及び、前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得し、前記仮想記憶手段を介して前記ネットワークストレージに保存する制御手段、
前記揮発性記憶手段に前記ユーザデータが格納されるとき暗号化する暗号化手段、
前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化された前記ユーザデータを復号化する復号化手段、並びに、
前記揮発性記憶手段の前記ユーザデータを、前記仮想記憶手段を介して前記ネットワークストレージの前記ユーザデータと同期させるクラウド同期手段からなり
前記制御手段は、前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に、共通のインターフェースを提供するためのドライバウェア手段からなり、
前記ドライバウェア手段は、前記仮想記憶手段を制御するための前記デバイスドライバである仮想記憶手段ドライバ、及び、前記揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムの出力を制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
前記ファイルシステム制御部は、前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得し、前記クラウド同期手段から前記ユーザデータを取得して、前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信して前記揮発性記憶手段に前記ユーザデータを格納させる
ことを特徴とする電子データ管理装置。
また、本発明の電子データ管理装置は、次の特徴を有すると良い。
前記電子データ管理装置は、前記電子計算機を待機させるサスペンド機能によって終了するとき、作業中の暗号化されたデータを前記補助記憶手段に保存し、前記電子計算機を終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除手段を備えていると良い。
前記電子データ管理装置は、前記電子計算機の操作を終了する際、作業中のデータを前記補助記憶手段に保存し、前記電子計算機を待機させるサスペンド機能によって終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、該認証が正常に認証できない場合、前記電子データ管理装置、前記アプリケーションプログラム、前記仮想記憶手段及び前記揮発性記憶手段からなる群の中から選択される1以上の初期化を行う初期化手段を備えていると良い。
前記認証手段は、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段であると良い。
前記データ削除手段は、実行する時間帯を示すタイムテーブルの情報に基づいて実行されると良い。
前記データ削除手段は、移動通信基地局若しくは全地球航法衛星システム(GNSS)による位置情報に基づいて許可された地域範囲の中に前記電子データ管理装置が位置するときに、無効になり、前記データ削除手段は、前記地域範囲の外に前記電子データ管理装置が位置するときに実行されると良い。
前記データ削除手段は、前記電子データ管理装置が前記認証手段と通信できない場合実行されると良い。
前記データ削除手段は、前記電子データ管理装置が時間情報手段から取得した時間情報が設定時間外の場合実行されると良い。
本発明の電子データ管理システムは、
相互に通信できるネットワーク、
前記ネットワーク上の記憶手段であるネットワークストレージ、及び
前記ネットワークストレージと通信する電子計算機からなる電子データ管理システムであり、
前記電子計算機は、
プログラムコードに従ってデータを処理する中央処理手段、
前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
指示コマンド又は前記データを入力するための入力手段、
前記処理の結果を外部に出力する出力手段、及び
前記ネットワークに接続するためのネットワーク接続手段からなり、
前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、前記アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧又は編集又は変更されるとき、
前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなる前記電子データ管理システムにおいて、
前記電子計算機は、
前記ネットワークストレージに割り当てられた仮想記憶手段、
前記主記憶手段に常駐して、仮想の補助記憶装置である疑似補助記憶手段として機能する揮発性記憶手段、
前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ユーザデータを前記ネットワークストレージの保存先から前記仮想記憶手段を介して取得し、前記揮発性記憶手段に格納し、及び、前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得し、前記仮想記憶手段を介して前記ネットワークストレージに保存する制御手段、
前記揮発性記憶手段に前記ユーザデータが格納されるとき暗号化する暗号化手段、
前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化された前記ユーザデータを復号化する復号化手段、並びに、
前記揮発性記憶手段の前記ユーザデータを前記仮想記憶手段を介して前記ネットワークストレージ前記ユーザデータと同期するクラウド同期手段からなり、
前記制御手段は、前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのドライバウェア手段
からなり、
前記ドライバウェア手段は、前記仮想記憶手段を制御するための前記デバイスドライバである仮想記憶手段ドライバ、及び、前記揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムの出力を制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
前記ファイルシステム制御部は、前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得し、前記クラウド同期手段から前記ユーザデータを取得して、前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信して前記揮発性記憶手段に格納させる
ことを特徴とする。
また、本発明の電子データ管理システムは、次の特徴を有すると良い。
前記電子計算機は、前記電子計算機を待機させるサスペンド機能によって終了するとき、作業中の暗号化されたデータを前記補助記憶手段に保存し、前記電子計算機を終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除手段を備えていると良い。
前記電子計算機は、前記電子計算機の操作を終了する際、作業中のデータを前記補助記憶手段に保存し、前記電子計算機を待機させるサスペンド機能によって終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、
該認証が正常に認証できない場合、前記電子計算機、アプリケーションプログラム、前記仮想記憶手段及び揮発性記憶手段からなる群の中から選択される1以上の初期化を行う初期化手段を備えていると良い。
前記認証手段は、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段であると良い。
前記データ削除手段は、実行する時間帯を示すタイムテーブルの情報に基づいて実行されると良い。
前記データ削除手段は、移動通信基地局若しくは全地球航法衛星システムによる位置情報に基づいて許可された地域範囲の中に前記電子計算機が位置するときに、無効になり、
前記データ削除手段は、前記地域範囲の外に前記電子データ管理装置が位置するときに実行されると良い。
前記データ削除手段は、前記電子計算機が前記認証手段と通信できない場合実行されると良い。
前記データ削除手段は、前記電子計算機が時間情報手段から取得した時間情報が設定時間外の場合実行されると良い。
本発明の電子データ管理装置用プログラムは、
相互に通信できるネットワーク上の記憶手段であるネットワークストレージと通信する電子計算機は、
プログラムコードに従ってデータを処理する中央処理手段、
前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
指示コマンド又は前記データを入力するための入力手段、
前記処理の結果を外部に出力する出力手段、及び
前記ネットワークに接続するためのネットワーク接続手段からなり、
前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、前記アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧又は編集又は変更されるとき、前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなる電子データ管理装置において、
前記電子データ管理装置上に動作する電子データ管理装置用プログラムは、
前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するための機能を前記電子計算機に実行させるアプリケーションプログラムインターフェース部、
前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するための機能を前記電子計算機に実行させるデバイスドライバ制御部、
前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための機能を前記電子計算機に実行させる制御部、並びに、
データを暗号化して暗号化データを作成するための機能を前記電子計算機に実行させる暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための機能を前記電子計算機に実行させる復号化部からなり、
前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記デバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのドライバウェアを備え、
前記デバイスドライバ制御部は、仮想記憶手を制御するための前記デバイスドライバである仮想記憶手段ドライバ、及び、揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムの出力を制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
前記電子データ管理装置用プログラムは、
前記ネットワークストレージに割り当てられた前記仮想記憶手段を生成するステップと、
前記仮想記憶手段を制御するステップ、
前記主記憶手段に常駐して、仮想の補助記憶装置である疑似補助記憶手段として機能する前記揮発性記憶手段を生成するステップ、
前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ファイルシステム制御部によって前記ユーザデータを保存先から取得するステップ、
前記取得した前記ユーザデータを前記ファイルシステム制御部によって前記揮発性記憶手段に格納するステップ、
前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得するステップ、
前記取得したユーザデータを制御によって前記仮想記憶手段を介して保存する制御ステップ、
前記揮発性記憶手段に前記ユーザデータが格納されるとき、暗号化によって暗号化するステップ、及び、
前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化されたユーザデータを復号化によって復号化するステップ
を前記電子データ管理装置に実行させ、
前記ファイルシステム制御部は、
前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得するステップ、
クラウド同期手段から前記ユーザデータを取得するステップ、
前記取得した前記ユーザデータを前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信するステップ、及び、
前記送信した前記ユーザデータを前記揮発性記憶手段に格納させるステップを前記電子データ管理装置に実行させる
ことを特徴とする。
また、本発明の電子データ管理装置用プログラムは、次の特徴を有すると良い。
前記保存先は、前記ネットワークストレージであり、前記揮発性記憶手段の前記ユーザデータを前記仮想記憶手段を介して前記ネットワークストレージと同期する機能を前記電子データ管理装置に実行させるクラウド同期プログラムからなると良い。
前記電子データ管理装置用プログラムは、
前記電子データ管理装置を待機させるスペンド機能によって終了させるとき、作業中の暗号化されたデータを前記補助記憶手段に保存し、前記電子計算機を終了させるサスペンドステップ、
前記サスペンドステップが開始するとき、前記電子データ管理装のユーザの真正性を確かめる認証手段によって認証を行うサスペンド認証ステップ、並びに、
該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除ステップ
を前記電子データ管理装置に実行させると良い。
また、電子データ管理装置用プログラムは、
前記電子データ管理装の操作を終了する際、作業中のデータを補助記憶手段に保存するサスペンド機能によって前記電子データ管理装置を終了させるサスペンドステップ、
前記電子データ管理装置が終了後に再起動するとき、前記電子データ管理装のユーザの真正性を確かめる認証手段によって認証を行うサスペンド認証ステップ、並びに、
該認証が正常に認証できない場合、前記電子データ管理装置、アプリケーションプログラム、前記仮想記憶手段及び揮発性記憶手段からなる群の中から選択される1以上の初期化を行う初期化ステップ
を前記電子データ管理装置に実行させると良い。
前記サスペンド認証ステップは、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段による認証ステップを前記電子データ管理装置に実行させると良い。
前記電子データ管理装置用プログラムは、実行する時間帯を示すタイムテーブルの情報に基づいて前記データ削除ステップを前記電子データ管理装置に実行させると良い。
前記電子データ管理装置用プログラムは、
移動通信基地局若しくは全地球航法衛星システム(GNSS)による位置情報に基づいて許可された地域範囲の中に前記電子データ管理装置が位置するときに、前記データ削除ステップが実行されず、
前記地域範囲の外に前記電子データ管理装置が位置するときに前記データ削除ステップを前記電子データ管理装置に実行させると良い。
前記電子データ管理装置用プログラムは、前記電子データ管理装置が前記認証手段と通信できない場合に前記データ削除ステップを前記電子データ管理装置に実行させると良い。
前記電子データ管理装置用プログラムは、前記電子データ管理装置が時間情報手段から取得した時間情報が設定時間外の場合に前記データ削除ステップを前記電子データ管理装置に実行させると良い。
本発明の電子データ管理装置用プログラムの記録媒体は、上述の電子データ管理装置用プログラムを記録した電子データ管理装置用プログラムの記録媒体である。
本発明によると、次の効果が奏される。
本発明は、電子計算機の揮発性記憶手段を作業フォルダとして利用し、電子データをネットワークストレージに格納し、かつ、アプリケーションプログラムの動作が終了又は電子計算機の電源が切断されると、利用するユーザデータを全て消去することで、電子計算機の電子データを確実に保護し情報漏洩が防止できた。
本発明は、電子計算機のドライバウェア手段によって揮発性記憶手段を制御し、揮発性記憶手段の電子データをネットワークフォルダに常時又は定期的にバックアップし、特に、ハイバネーション機能による保存するユーザデータを暗号化したままローカルの補助記憶手段にバックアップことで、情報漏洩を防止することができた。
また、本発明は、電子計算機のドライバウェア手段によって揮発性記憶手段を制御し、揮発性記憶手段の電子データをネットワークフォルダに常時又は定期的にバックアップし、特に、ダンプ機能による保存するユーザデータを暗号化したままローカルの補助記憶手段にバックアップことで、情報漏洩を防止することができた。
図1は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1の概要を図示したブロック図である。 図2は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1のユーザ端末2のハードウェア構成の例を図示した機能ブロック図である。 図3は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1のユーザ端末2上に動作するソフトウェア環境の例を図示した機能ブロック図である。 図4は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1のユーザ端末2上のソフトウェアの概要を図示した機能ブロック図である。 図5は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1の動作概要を示すフローチャートである。 図6は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1において、管理プログラムの動作例を示すフローチャートである。 図7は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1において、ドライバウェア34の制御部52の動作例を示すフローチャートである。 図8は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1において、ドライバウェア34の動作例を示すフローチャートである。 図9は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1において、ドライバウェア34の制御部52の他の動作例を示すフローチャートである。 図10は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1において、ユーザデータを利用する流れの例を説明するフローチャートである。 図11は、ユーザ端末2がサスペンドモードに入るときの動作を示すフローチャートである。 図12は、ユーザ端末2がサスペンド状態から起動するときの動作を示すフローチャートである。 図13は、ユーザ端末2がサスペンド状態から起動する動作の他の例を示すフローチャートである。 図14は、ユーザ端末2が特定の条件を満たすとき、データを制御する手順を示すフローチャートである。
以下、本発明の実施の形態を図に基づいて説明する。
〔本発明の第1の実施の形態〕
以下、図面を参照しながら、本発明の第1の実施の形態の電子計算機用電子データ管理システム1を説明する。図1は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1の概要をブロック図である。
電子計算機用電子データ管理システム1は、電子計算機の揮発性記憶手段を利用し、電子計算機の電子データの漏洩を防止するためのものである。電子計算機用電子データ管理システム1は、電子計算機の揮発性補助記憶手段に作業中のユーザデータを格納する。
特に、電子計算機用電子データ管理システム1は、電子計算機上で動作するアプリケーションプログラムが利用しているユーザデータを、ローカルの補助記憶装置に格納せず、ネットワーク上のネットワークストレージに格納することで、電子計算機の電子データの漏洩を防止する。このとき、アプリケーションプログラムは、作業フォルダとして揮発性記憶手段であるRAMディスクを利用する。
詳しくは、ネットワークに接続されて動作する電子計算機は、電子データを、ネットワーク上の記憶装置に暗号化して格納する。電子計算機用電子データ管理システム1は、具体的な解決手段として、例えば、ドライバウェア(本出願人の登録商標)の技術を利用して、電子計算機を制御し、電子データをネットワーク上の記憶装置へ安全に高速転送する。また、電子計算機の主記憶装置に疑似記憶手段を設定し、アプリケーションプログラムと電子データは、この疑似記憶装置上で取り扱う。
以下、電子計算機用電子データ管理システム1の構造及び動作手順を具体的に説明する。図1に図示している電子計算機用電子データ管理システム1は、ユーザ端末2、ネットワークストレージ3、ネットワーク4等からなる。ユーザ端末2は、利用者が操作する電子計算機であり、ユーザ端末2で利用するユーザデータは基本的にネットワークストレージ3に格納される。
ネットワークストレージ3は、ユーザ端末2とネットワーク4等の通信ネットワークによって接続されたストレージである。ネットワークストレージ3は、ネットワーク4上の補助記憶装置、又は、クラウドストレージともいう。ユーザ端末2とネットワークストレージ3は、インターネット等のネットワーク4に接続されている。ユーザ端末2は、ネットワーク4を介して、ネットワークストレージ3からユーザデータを取得する。
ユーザデータは、ユーザ端末2で利用されているユーザデータ、このユーザデータから派生してユーザ端末2で作成されたユーザデータ、新規に作成された新規ユーザデータ等を含むものであり、以後、これらのデータを含めて「ユーザデータ」と単に表記する。ユーザデータは、ユーザ端末2からネットワーク4を介して、ネットワークストレージ3へ送信され、ネットワークストレージ3に格納される。
ネットワークストレージ3は、ユーザ端末2が利用するユーザデータを格納し、保存するためのものである。ネットワークストレージ3は、ウェブサーバ又はファイルサーバ(図示せず。)の記憶装置、言い換えると、不揮発性の補助記憶装置である。ネットワークストレージ3は、専用サーバに搭載された記憶装置、分散管理されているネットワークストレージ、クラウドサービスのストレージ(クラウドストレージ)等のように、ユーザ端末2とネットワーク4を介して接続される記憶装置である。
本実施の形態において、ネットワークストレージ3は、クラウドストレージを含め、ユーザデータを格納するものであれば任意の記憶装置を意味する。ネットワーク4は、公知の任意の有線又は無線の通信ネットワークであるが、ローカルエリアネットワーク(LAN)又はインターネットであることが好ましい。本実施の形態において、ネットワーク4は、インターネットとして説明する。
ユーザ端末2は、ユーザが操作し、利用するための電子計算機である(詳しくは後述する。)。ユーザ端末2は、ネットワーク4に直接接続することが可能であるが、図示しないが、ワイヤレスゲートウェイ、プロキシサーバ、ルータ、ワイヤレスアクセスポイント等の通信手段を介して接続して使用することが一般的であり、本発明の電子計算機用電子データ管理システム1は、これらの通信手段を含むものとする。
本実施の形態においては、ユーザ端末2がネットワーク4に接続されることとそのための手段が発明の要旨ではないので、その詳細な説明は省略する。ユーザ端末2とネットワークストレージ3とのデータ通信は、通信する電子データを暗号化して所定の通信プロトコルに従って互いに送受信する。通信プロトコルは、任意の通信プロトコルを利用することができるが、ISO参照モデルに準拠したプロトコル、特に、TCP/IP等のインターネットに汎用に利用されているプロトコルが好ましい。
ユーザ端末2において、ユーザデータはユーザ端末2の主記憶装置5上のRAMディスク7に格納されて利用される。RAMディスク7には、複数のフォルダ8が作成されて、汎用の補助記憶装置6(不揮発記憶装置)にフォルダ9が作成されて動作するのと、同じように利用される。ユーザ端末2を利用するユーザ、ユーザ端末2上に動作するアプリケーションプログラムから見ると、汎用の補助記憶装置、そのフォルダとまったく同じように操作する。
ユーザ端末2では、ユーザデータが暗号化され、所定の通信プロトコルに従って、ネットワーク4を介してネットワークストレージ3へ送信される。ネットワークストレージ3では、この暗号化されたユーザデータを所定のフォルダ11に保存する。フォルダ11は、ユーザ端末2毎に割り当てたフォルダ、又はユーザ毎に割り当てたフォルダであっても良い。
ユーザ端末2は、ネットワーク4を介してネットワークストレージ3からデータを取得する。この通信の流れを、図1において、破線で様式的に図示している。ユーザ端末2は、RAMディスク7の内容をネットワークストレージ3に保存する(バックアップする又は同期させる。)とき、フォルダ8毎にスケジュールを設定して行うことができる。
例えば、所定時間、アプケーションプログラム又はオペレーティングシステムのサービス等から要求があるとき、又はユーザから指示があるとき、ユーザ端末2は、指定されたフォルダ8、若しくはRAMディスク7の内容を全て送信する。又は、ユーザ端末2は、RAMディスク7、若しくはフォルダ8の内容の前回送信分の差分を、ネットワークストレージ3へ送信する。
ユーザ端末2の構成について後述するが、図1に図示したように、ユーザ端末2は、記憶手段として主記憶装置5、補助記憶装置6、主記憶装置5内にRAMディスク7等を備えている。主記憶装置5は、電子計算機のRAM(Random Access Memory)であり、これは揮発性メモリである。電源供給が無くなると、主記憶装置5上に格納されているデータが揮発(消滅)して、無くなる特徴を持っている。
この特性により、ユーザ端末2の電源が切断されると、主記憶装置5の全ての電子データが無くなり、従って、主記憶装置5の一部を利用しているRAMディスク7の内容が消滅することになる。補助記憶装置6としては、HDD(Hard disk drive)、SSD(Solid state drive)等が例示できる。RAMディスク7は、言い換えると疑似記憶装置である。
一般論として、通常、電子計算機ではアプリケーションプログラムとユーザデータは、補助記憶装置に保存されている。電子計算機の動作時、アプリケーションプログラムは補助記憶装置からそのプログラムコードが読み込まれ、主記憶装置に格納されて実行され、そして、補助記憶装置からアプリケーションプログラムに必要なデータが読み込まれて処理される。
アプリケーションプログラムはネットワークからデータを取得して処理する場合、ネットワークから取得したデータを補助記憶装置のキャッシュ領域に保存して、その後、アプリケーションプログラムは、このキャッシュ領域からデータを取得して処理することがある。これに対して、本発明の電子計算機用電子データ管理システム1は、作業中のデータを電子計算機の補助記憶装置に格納せず、ユーザ端末2の主記憶装置に備えたもので補助記憶装置として動作する疑似補助記憶装置に作業中のデータを格納する。
図1に図示したように、このような疑似補助記憶装置は、主記憶装置5内にRAMディスク7として提供されている。言い換えると、RAMディスク7は、主記憶装置5に常駐する記憶装置である。詳しくは、主記憶装置5の領域の一部をRAMディスク7として割り当てた領域である。ユーザ端末2が稼働し、オペレーティングシステムが動作すると、ユーザ端末2の補助記憶装置6からドライバウェア34(図3を参照)等の制御アプリケーションプログラムが読み込まれて、主記憶装置5上に展開されて動作する。
したがって、主記憶装置5にRAMディスク7の領域が確保され、ユーザ端末2のオペレーティングシステム30のファイルシステムに記憶装置として登録される。よって、RAMディスク7は、仮想の補助記憶装置又は疑似補助記憶装置になり、補助記憶装置として動作する。RAMディスク7は、ユーザ端末2では、ユーザ端末2の補助記憶装置6等の他の補助記憶装置と同様に取り扱われる。
従って、アプリケーションプログラムは、RAMディスク7を作業記憶装置として、RAMディスク7内のフォルダ8は作業フォルダとして利用し動作する。このとき、アプリケーションプログラムは、必要なユーザデータを、ネットワークストレージ3からネットワーク4等を経由して取得して、RAMディスク7上に格納して利用し動作する。
ユーザ端末2の電源が遮断されると、主記憶装置5の内容が消去されるため、RAMディスク7の内容も消去される。これにより、RAMディスク7上を利用している実行中アプリケーションプログラムが停止され、RAMディスク7上に格納されているユーザデータが全て消去される。よって、秘密性等が要求されるユーザデータがユーザ端末2から外部に漏洩することがない。
RAMディスク7に格納されるユーザデータは、暗号化されて格納される。電子計算機用電子データ管理システム1は、RAMディスク7を補助記憶装置として利用しているので、ユーザ端末2において、オペレーティングシステムのハイバネーション機能が発動すると、主記憶装置5の内容が補助記憶装置6等のローカル補助記憶装置に格納される。
このとき、RAMディスク7の暗号化された内容がハイバネーション機能でローカル補助記憶装置に格納されるが、暗号化されているため、内容が読み取ることができない。ハイバネーション機能の実行後、又は、ハイバネーション機能が実行されないで、ユーザ端末2の電源が切断されると、主記憶装置5の内容、RAMディスク7の内容が消去されるので、ユーザデータ等が漏洩することがない。
言い換えると、ユーザ端末2を解析することで、ユーザデータが取得されることがない。従来技術のように、ハイバネーション機能を利用して、ユーザデータが漏洩することが無くなる。ダンプ機能に関しても同様である。ユーザ端末2は、ダンプ機能のために主記憶装置5の内容を出力するとき、RAMディスク7の暗号化された内容も出力し、補助記憶装置6等のローカル補助記憶装置にダンプファイルとして格納される。
その後、ユーザ端末2の電源が切断されると、主記憶装置5の内容、RAMディスク7の内容が消去されるので、ダンプファイルに含まれるユーザデータ等が漏洩することがない。ユーザ端末2を解析してもユーザデータが暗号化されているため、その内容を取得することができない。
以上説明した、ユーザ端末2でのユーザデータの流れ、特に、RAMディスク7の制御はドライバウェア(登録商標)の技術を利用して行われる。以下、ユーザ端末2、ドラバウェアの構成及び機能についてその概要を簡単に説明する。図2には、主にユーザ端末2のハードウェア構成の例を図示している。図3には、主にユーザ端末2上に動作するソフトウェア環境を含めたユーザ端末2の概要を図示している。
〔ユーザ端末2のハードウェア構成〕
ユーザ端末2は、中央処理手段、主記憶手段、入力手段、出力手段等を備えた汎用の電子計算機である。図2のブロック図は、ユーザ端末2の構成の一例を図示している。ユーザ端末2は、図2に図示したように、本体20に格納された中央処理装置(CPU)21、主記憶装置5、入力インターフェース22、出力インターフェース23、バス24、電源ユニット26、入力装置27、出力装置28等を備える。
本体20は、中央処理装置21、主記憶装置5、入力インターフェース22、出力インターフェース23、バス24等を搭載したメインボード(図示せず)、電源ユニット26等を内蔵したものである。電源ユニット26は、ユーザ端末2の各構成要素、デバイス等に電源供給をするためのもので、バッテリー又は商業電源アダプター等からなるが、詳細な説明は省略する。
入力装置27、出力装置28等は、本体20に接続して利用する周辺機器であるが、ノート型電子計算機等の一体型電子計算機の場合、本体20に内蔵して又は一体的に構成することができる。入力機能及び出力機能を備えたタッチ式のパネルも入力装置27及び/又は出力装置28として利用できる。ユーザ端末2は、補助記憶装置として、内蔵された補助記憶装置6と外付補助記憶装置29を備える。
また、ユーザ端末2は、外付補助記憶装置29用の補助記憶装置用インターフェース25も備える。主記憶装置5、中央処理ユニット21、入力インターフェース22、出力インターフェース23は、バス24で互いに接続されて、このバス24を経由して、互いにデータの送受信を行う。特定の信号処理を行うための信号処理器がある場合があるが、その詳細な説明は、本発明の要旨ではないので省略する。
補助記憶装置用インターフェース25は、入力インターフェース22及び/又は出力インターフェース23(合わせて、入出力インターフェースという。)の一種であるが、外付補助記憶装置29用の発明に欠かせない構成要素であるので、ここで図示した。外付補助記憶装置29は、補助記憶装置6と基本的に同じ機能を有するデバイスであり、以後、補助記憶装置6のみを例に説明する。
主記憶装置5は、RAM等の記憶装置である。中央処理装置21は、ユーザ端末2の動作を制御するもので、主記憶装置5に格納されたプログラムによって、そのプログラムの命令を順序処理し実行しながら、ユーザ端末2の動作を制御する。マウス、キーボード等の入力装置27は、入力インターフェース22に接続される。補助記憶装置6と外付補助記憶装置29は、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の不揮発記憶装置である。
補助記憶装置6には、オペレーティングシステム、アプリケーションプログラム、電子データ等が格納される。アプリケーションプログラムは、通常、呼び出されて、主記憶装置5に展開されて、動作する。ユーザ端末2は、図3と図4に図示したネットワークカード37のように、通信用のボード等の他の装置を接続するためのインターフェースを多数備えるが、本発明は、インターフェースを目的とするものではないので、この詳細な説明は省略する。
〔ユーザ端末2のソフトウェア構成〕
図3には、ユーザ端末2上で動作するソフトウェアの概要を図示している。ユーザ端末2では、オペレーティングシステム30が動作し、オペレーティングシステム30が提供するプラットフォーム上に、アプリケーションプログラム33が動作している。
図3に図示したように、ユーザ端末2は、ネットワークカード(LANカード)37、補助記憶装置6等のデバイス36を備えている。RAMディスク7を破線で図示しており、これは、RAMディスク7は物理的に独立して存在するものではなく、主記憶装置5の中の物理メモリの一部を使用してソフトウェア的に動作する疑似記憶装置である。同様に、破線で図示されているクラウド用仮想記憶装置10は、ネットワークストレージ3へデータを送受信する専用記憶装置である。
クラウド用仮想記憶装置10は、ソフトウェア的に動作する仮想記憶装置(疑似記憶装置)である。言い換えると、この仮想記憶装置は、データを記憶する領域等の実態がなく、使用者側から見ると補助記憶装置として見える疑似補助記憶装置であり、これにアクセスすると実体アクセスは別の補助記憶装置へリダイレクトされる。これらのデバイス36を、ネットワークドライバ37a、ディスクドライバ6a、RAMディスクドライバ7a、クラウド用仮想ディスクドライバ10a、ファイルシステムドライバ39等のデバイスドライバ35で制御する。
具体的には、ネットワークカード37をネットワークドライバ37aで、補助記憶装置6をディスクドライバ6aで制御する。また、RAMディスク7とクラウド用仮想記憶装置10は、それぞれRAMディスクドライバ7aとクラウド用仮想ディスクドライバ10aによって制御される。
ファイルシステムドライバ39は、ディスクドライバ6a、RAMディスクドライバ7aとクラウド用仮想ディスクドライバ10a等の記憶装置用デバイスドライバを制御するものである。結果的に、ファイルシステムドライバ39は、補助記憶装置6、RAMディスク7、クラウド用仮想記憶装置10等の補助記憶装置に対して、オペレーティングシステム30の入出力機能(I/O機能)の窓口になり、制御する。
オペレーティングシステム30は、本来、その入出力機能(I/O機能)を介して、デバイス36をデバイスドライバ35で制御している。オペレーティングシステム30は、オペレーティングシステム30が備えている命令が全て実行できるカーネルモード31と、一部の命令を制限したユーザモード32を有する。
ユーザ端末2で動作するアプリケーションプログラム33は、ユーザモード32で動作する。アプリケーションプログラム33ではカーネルモード31で動作するものがあるが、これはシステムリソースに直接アクセスする特殊なプログラムに限られる。汎用のアプリケーションプログラム、特にオブジェクト指向のアプリケーションプログラムは、基本的に、ユーザモード32で動作するものであり、カーネルモード31へアクセスするときオペレーティングシステム30が提供する入出力機能等の機能を利用する。
本発明においては、オペレーティングシステム30とデバイスドライバ35の間に位置するドライバウェア34によって、オペレーティングシステム30の入出力機能、デバイスドライバ35を制御している。ドライバウェア34の構成及び機能については、詳しく後述する。補助記憶装置6は、上述した機能を有するものであり、1台以上を備える。以下、補助記憶装置6を一台のみを例に説明するが、これに限定されない。
補助記憶装置6には、オペレーティングシステム30のコード、ユーザ端末2の動作に必要なプログラムコードを始め各種のアプリケーションプログラム33、モジュール等のソースコードが格納される(以下、単に、オペレーティングシステム30、アプリケーションプログラム33、モジュール等という。)。また、補助記憶装置6には、ユーザデータを格納することができる。
ユーザデータは、一般的に、ユーザの要求、アプリケーションプログラム33の仕様又は要求等の必要に応じて、暗号化されて、又は、暗号化されずに、補助記憶装置6に格納される。本実施の形態において、ユーザデータは、アプリケーションプログラム33、ユーザが利用する電子データ等である。
ユーザデータは、特に限定しないが、テキストファイル、静止画ファイル、映像ファイル、音声ファイル、各種のフォーマットの文書ファイル(Word, pdf等)、コンピュータプログラムコードのファイル、実行可能なファイル(.exeファイル)、通信履歴、アプリケーションプログラムの動作履歴、オペレーティングシステム又はアプリケーションプログラムのバックアップファイル、各種の一時ファイル、メモリの内容等の任意の形式のファイル、これらのバックアップファイルである。
また、ユーザデータは、暗号復号コード、識別番号、暗証番号、個人情報、顧客データ、ビジネスのノウハウ、機密データに関する情報、その文書等のようにデータ管理が必要なデータを含め広く解釈される。ユーザ端末2は、ネットワークカード37、補助記憶装置6等のハードウェアのデバイス36と、デバイス36を制御するためのソフトウェアであるデバイスドライバ35を備える。
デバイスドライバ35は、オペレーティングシステム30とデバイス36の間に位置し、それらの間にデータの送受信を行う。オペレーティングシステム30は、そのI/O機能を利用し、デバイスドライバ35を経由してデバイス36を制御する。I/O機能は、オペレーティングシステム30の一部機能として所定の関数を公開することで、デバイス36とアクセスできるものであり、デバイスドライバ35はこれを利用してデータ送受信を行う。
図3に図示したように、ユーザ端末2は、上述のRAMディスク7を備えており、RAMディスク7は疑似デバイスであるが、ネットワークカード37、補助記憶装置6等のデバイス36と同じ、あたかもハードウェアのように動作する。そのため、RAMディスクドライバ7aが、オペレーティングシステム30とRAMディスク7の間のデバイスドライバ35に配置されて、RAMディスク7を制御する。
クラウド用仮想記憶装置10は、疑似デバイスであるが、同様にあたかもハードウェアとして動作する。アプリケーションプラットフォームプログラム38は、アプリケーションプログラム33とオペレーティングシステム30との間に位置し、アプリケーションプログラム33とオペレーティングシステム30との通信を制御するもので、ユーザモード32で動作するプログラムである。
アプリケーションプラットフォームプログラム38は、ドライバウェア34と連帯して動作し、ユーザモード32で取得した通信データをドライバウェア34へ送信し、ドライバウェア34の指示で、アプリケーションプログラム33とオペレーティングシステム30を制御するものである。
クラウド同期部12は、ネットワークストレージ3(図1を参照。)と通信するための専用アプリケーションプログラム又はモジュールであり、ユーザモード32で動作する。クラウド同期部12は、ドライバウェア34と連帯して動作し、クラウド用仮想記憶装置10をネットワークストレージ3と同期させるためのものである。クラウド同期部12は、クラウド用仮想記憶装置10内のデータをファイルシステムドライバ39とドライバウェア34を経由して取得する。
クラウド同期部12は、この取得したデータをドライバウェア34、ネットワークドライバ37a、ネットワークカード37を介して、ネットワークストレージ3へ送信する。逆に、クラウド同期部12は、ネットワークストレージ3からデータを、ネットワークカード37、ネットワークドライバ37a、ドライバウェア34を介して取得し、クラウド用仮想記憶装置10に、ドライバウェア34、ファイルシステムドライバ39を経由して格納する。
クラウドストレージを提供する汎用サービスは、基本的にユーザモードでインターフェース(I/F)を提供しており、それにアクセスするためには、ユーザモードで動作するクラウド同期部12でアクセスする。そのため、アクセス権を得るために、クラウドストレージへ初回接続の場合、クラウドストレージのアカウント(IDとパスワード)を標準提供されているI/Fを利用しユーザモードで入力する。
〔ドライバウェアの説明〕
図4は、ドライバウェア34を含め、ユーザ端末2上で動作するソフトウェアの概要を図示している。この図を参照しながら、ユーザ端末2上で動作するオペレーティングシステム30、ドライバウェア34等の概要を説明する。本実施の形態においては、オペレーティングシステム30は、Microsoft社のWindows XP(登録商標)以後のWindowsを例に説明する。
しかし、これは、本発明で使用できるオペレーティングシステム30の種類を制限するものではなく、同様な機能が実現できれば、任意のオペレーティングシステムも利用することができる。ユーザ端末2は、ソフトウェアとして動作するオペレーティングシステム30、ドライバウェア34等を備え、ハードウェア(デバイス36)としてネットワークカード37、補助記憶装置6、キーボードポート43、マウスポート44等を本体20に備えている。
ユーザ端末2は、ソフトウェアとハードウェアの間に位置するハードウェア抽象化層(HAL)47を備えている。ドライバウェア34は、オペレーティングシステム30のカーネルモード31で動作するプログラムである。ユーザ端末2は、キーボードポート43に接続されるキーボード45、マウスポート44に接続されるマウス46、ディスプレイ(図示せず。)等の入出力装置を備えている。
ユーザ端末2は、図示しないが、周辺機器と接続するためのコネクタを有し、コネクタは、SATA、RS-232C、IrDA、USB、IEEE1394等のシリアルポート、IEEE1284、SCSI、IDE等のパラレルポートであるものが好ましい。キーボードポート43とマウスポート44は、コネクタの一つである。ユーザ端末2は、スキャナ、プリンタ等の周辺機器を有することができ、コネクタに接続される。
ユーザ端末2上で動作するアプリケーションプログラム33は、オペレーティングシステム30が提供する機能を利用して、入出力装置からの入出力を行い、必要な処理をする。アプリケーションプログラム33は、オペレーティングシステム30のカーネルモード31又はユーザモード32に動作する実行可能なファイル又はソフトウェアである。
例えば、アプリケーションプログラム33は、ワードプロセッシングソフトウェア、テキストエディタ等の文書を作成、編集するためのソフトウェア、pdf形式のファイル等のような特定の形式のファイルを閲覧、作成、編集するためのソフトウェアである。
オペレーティングシステム30は、キーボード45からの入力、マウス46からの入力や画面出力等のような入出力装置からの入出力機能、記憶装置やメモリの管理等の基本的な機能を提供し、ユーザ端末2全体を動作させ、管理するためのソフトウェアである。オペレーティングシステム30は、基本ソフトウェアとも言われる。
オペレーティングシステム30は、その提供する機能を実現するために多数の実行可能なプログラムから構成されるものである。オペレーティングシステム30、特に本発明の実施の形態に用いているWindows系のオペレーティングシステムについては、多数の書籍があり、その一部から紹介する。本発明を再現するためには、これらの公開されている書籍に記述されている技術知識、特に、デバイスドライバ開発に関する知識が必要である。
Windows系のオペレーティングシステムの内部構成、その動作についての書籍一覧:
− Inside Windows NT by Helen Custer (Microsoft Press, 1992)
− Inside the Windows NT File System by Helen Custer (Microsoft Press, 1994)
− Inside Microsoft Windows 2000, Third Edition by David A. Solomon, Mark E. Russinovich (Microsoft Press, 2000)。
デバイスドライバの基礎知識からその開発に関する知識ついての書籍一覧:
− Programming the Microsoft Windows Driver Model by Walter Oney (Microsoft Press, 1999)
− Programming the Microsoft Windows Driver Model, Second Edition by Walter Oney (Microsoft Press, 2002)。
ここで、オペレーティングシステム30の構成要素の内の代表的なものから、図4を参照しながら、記述する。オペレーティングシステム30は、カーネル40、エグゼキュティブ41、サブシステム42、デバイスドライバ35、HAL47等から構成される。サブシステム42は、オペレーティングシステム30のユーザモード32で提供されるサービスである。
エグゼキュティブ41は、メモリの管理、プロセスとスレッドの管理、セキュリティ、I/O(入出力)、ネットワーク、及びプロセス間通信等のオペレーティングシステム30の基本的なサービスを提供するものである。カーネル40は、スレッドスケジューリング、割り込み、例外通知、マルチプロセッサの同期等の低レベルの関数を提供する。また、カーネル40は、エグゼキュティブ41の内部で使用するルーチンセットと基本オブジェクトを提供する。
デバイスドライバ35は、通常は、ユーザ端末2に接続されたハードウェアごとに作成され、HAL47を介して、デバイス36を直接制御するものである。デバイスドライバ35は、アプリケーションプログラム33やオペレーティングシステム30からの入出力機能の要求(I/O呼び出し要求)を特定のデバイス36に対する入出力機能の要求(I/O要求)に変換するサービスと、ファイルシステムやネットワークドライバ等のシステムサービスを提供する。
HAL47は、カーネル40、デバイスドライバ35、及びエグゼキュティブ41をプラットフォーム固有のハードウェア機能から分離し抽象化するためのコード層である。HAL47は、ユーザ端末2の内蔵デバイスや、ユーザ端末2に接続されている外部デバイス等のハードウェアの機種、種類による違いを吸収し、オペレーティングシステム30の各サービスに対して抽象化したサービスを提供する。
オペレーティングシステム30を構成する各種のサービスは、ハードウェアの機種、種類による違いを意識することなくハードウェアにアクセスすることが可能になる。以上のように、オペレーティングシステム30についてその代表的な構成、機能について説明したが、詳しくは関係書籍、ウェブソース等に譲り、詳細は省略する。
〔ドライバウェア34〕
ドライバウェア34は、デバイスドライバ35間のデータの送受信をカーネルモード31で実現するためのものである。デバイスドライバ35間にカーネルモード31でデータを転送するとき、データ転送が高速に行うことができると共にデータのセキュリティを確保することができる。従って、大容量のデータを短時間で高速に転送するという利点がある。
ドライバウェア34は、アプリケーションプログラム33からデバイスドライバ35へアクセスするとき、また、デバイスドライバ35からアプリケーションプログラム33へデータを送信するときに、共通のインターフェースを提供する。ドライバウェア34は、オペレーティングシステム30のカーネルモード31で動作する。
ドライバウェア34は、デバイスドライバ35間だけではなく、オペレーティングシステム30とデバイスドライバ35とのデータの送受信を提供し、制御する機能を有する。ドライバウェア34は、電子計算機のインターフェースドライバプログラムとして、本出願人が提案した例えばWO02/091195号等に開示されている周知の技術である。
ドライバウェア34は、アプリケーションプログラム33からの命令やデータ等を受信し、アプリケーションプログラム33へのデータを送信するためのアプリケーションプログラムインターフェース部51を有する。ドライバウェア34は、ドライバウェア34の全体の動作を制御するための制御部52を有する。また、ドライバウェア34の動作の履歴を取得するためのログ取得部53も有する。
ドライバウェア34は、通信するデータを暗号化するための暗号化部54、暗号化されたデータを復号化するための復号化部55を有する。ドライバウェア34は、デバイスドライバ35を制御するためのデバイスドライバ制御部60を有する。デバイスドライバ制御部60は、デバイスドライバ35毎に作成されることも又は共通の機能等がある場合、一つのデバイスドライバ制御部60で複数のデバイスドライバ35を制御することができる。
制御部52は、デバイスドライバ制御部60、アプリケーションプログラムインターフェース部51、ログ取得部53、暗号化部54、復号化部55等のドライバウェア34の他の部を制御し、監視するためのもので、ドライバウェア34の中核部である。デバイスドライバ制御部60は、各デバイスドライバ35を制御するための制御部からなる。
例えば、ネットワークドライバ37aを制御するためのネットワーク制御部56、ファイルシステムドライバ39を制御するためのファイルシステム制御部57、キーボードドライバ43aとマウスドライバ44aを制御するための入力装置制御部59等からなる。RAMディスク制御部58は、RAMディスク7を作成し、そのための設定を行うためのものである。
本実施の形態においては、デバイスドライバ35は、オペレーティングシステム30に付属するものとして記述する。ネットワークドライバ37aは、ネットワークカード37を制御するためのデバイスドライバである。ファイルシステムドライバ39は、補助記憶装置6に保存されているファイル、フォルダに関する情報を管理するもので、補助記憶装置6に保存されているファイルやフォルダへのアクセスを提供するものである。
ファイルシステムドライバ39は、本例ではユーザ端末2に接続されたIDE(Integrated Drive Electronics)、ATA(Advanced Technology Attachment)、SATA(Serial ATA)、SCSI(Small Computer System Interface)、USB(Universal Serial Bus)、これらの派生規格等の規格に準拠した記憶装置へのアクセスを提供する。本発明は、ハードウェア規格の発明ではないので、詳細な説明は各規格の仕様文献に譲り、これ以上の説明は省略する。
このように、ドライバウェア34は、アプリケーションプログラム33から出力される命令及び/又はデータを受信し、この命令の実行結果及び/又はデバイスドライバ35から受信した受信データを、アプリケーションプログラム33に送信するためのアプリケーションプログラムインターフェース部51を有する。また、ドライバウェア34は、デバイスドライバ35へこの命令及び/又はデータを送信し、デバイスドライバ35から命令の実行結果及び/又は受信データを受信するためのデバイスドライバ制御部60を有する。
更に、ドライバウェア34は、これらの命令及び/又はデータを処理し、出力データを生成して、データの制御を行うための制御部52を有する。ドライバウェア34は、データを暗号化して暗号化データを作成するための暗号化部54、及び、暗号化データを復号化し、元のデータを作成するための復号化部55を有する。更に、ドライバウェア34の動作の履歴を取得し、保存するためのログ取得部53を有する。ログ取得部53は、特に、制御部52の動作の履歴を取得し、記録する。
デバイスドライバ制御部60の各制御部56〜59は、制御部52によって制御され、又は、制御部52から命令又はデータを受信し、これをデバイスドライバ35へ送信又は転送する。デバイスドライバ制御部60は、デバイスドライバ35から前述した命令を実行した結果、データを受信し、制御部52へ送信する。このように、ドライバウェア34は、ユーザ端末2を制御する、特にユーザ端末2の各デバイスの動作を制御する中核部である。
〔アプリケーションプラットフォームプログラム〕
アプリケーションプラットフォームプログラム38(図3及び図4を参照。)は、オペレーティングシステム30のユーザモード32で動作するアプリケーションソフトウェアである。アプリケーションプラットフォームプログラム38は、アプリケーションプログラム33と、オペレーティングシステム30との間に位置し、これらの間に命令やデータの送受信を仲介し制御するためのアプリケーションプログラムである。
アプリケーションプラットフォームプログラム38は、オペレーティングシステム30からファイルシステムにアクセスするためのユーザインターフェースを提供する。アプリケーションプラットフォームプログラム38は、アプリケーションプログラム33の起動、これに伴うプロセスの起動を監視し、これらの属性情報を取得する機能を有する。
図5は、本発明の第1の実施の形態の電子計算機用電子データ管理システム1のユーザ端末2の動作概要を示すフローチャートである。まず、ユーザ端末2に電源を入れて起動させる(ステップ1)。ユーザ端末2上にオペレーティングシステム30が起動し、初期処理等を行い、そして、ドライバウェア34が起動する(ステップ2,3)。
RAMディスク7を作成するためのRAMディスク制御部58が起動し、主記憶装置5上にRAMディスク7用の領域を確保し、RAMディスク7のための設定がオペレーティングシステム30及びドライバウェア34で行われる(ステップ4)。RAMディスク7に必要な領域、言い換えると、主記憶装置5上に常駐するメモリサイズは、標準サイズとして500MB、1GB、4GB等のように予め設定されるが、ユーザによってRAMディスク制御部58等の動作中に指定することができる。
ドライバウェア34は、デバイスドライバ35を制御しているので、ファイルシステムドライバ39等を制御し、RAMディスク7をメインの補助記憶装置として動作させる設定を行う。まず、RAMディスク7を補助記憶装置としてオペレーティングシステム30のI/O機能に登録する。また、RAMディスクドライバ7aが読み込まれ、ファイルシステムドライバ39と連携される。これにより、ファイルシステムドライバ39とオペレーティングシステム30には、通常の補助記憶装置として、RAMディスク7が認識される。
次に、RAMディスク7のフォーマット処理を行う。これにより、アプリケーションプログラム33、オペレーティングシステム30等からアクセス可能になる。次に、クラウド同期部12のプログラムが起動され、クラウド用仮想記憶装置10を生成し、そのための設定がオペレーティングシステム30及びドライバウェア34等で行われる(ステップ5、6)。クラウド用仮想記憶装置10を補助記憶装置としてオペレーティングシステム30のI/O機能に登録する。
また、クラウド用仮想ディスクドライバ10aが読み込まれ、ファイルシステムドライバ39と連携される。これにより、ファイルシステムドライバ39とオペレーティングシステム30には、補助記憶装置として、クラウド用仮想記憶装置10が認識される。これにより、アプリケーションプログラム33、オペレーティングシステム30からアクセス可能になる。
そして、ユーザ端末2は、ネットワーク4(図1を参照。)に接続し、ネットワークストレージ3と接続する(ステップ7)。言い換えると、ユーザ端末2は、ネットワークストレージ3と通信リンクを確立させる。これにより、ユーザ端末2を利用者が利用する準備ができる。ユーザ端末2上にアプリケーションプログラム33が動作し、データ処理等を行う(ステップ8)。
アプリケーションプログラム33は、ユーザ端末2上で動作する。具体的には、ユーザ又は他のアプリケーションプログラム、オペレーティングシステム30のサービスの要求又は指示によって、動作する。アプリケーションプログラム33は、補助記憶装置6又はネットワークストレージ3から読み出されて動作する。アプリケーションプログラム33は、動作すると、実体の無い仮想ディスクであるが、クラウド用仮想記憶装置10を経由して、ネットワークストレージ3にアクセスできる。
ユーザ端末2において、ドライバウェア34は、RAMディスク7の内容をネットワークストレージ3(図1参照)に送信し、ネットワークストレージ3にあるRAMディスク7用のフォルダ11とクラウド用仮想記憶装置10が同期をとる(ステップ9)。ユーザ端末2は、定期的に、作業を監視し、継続又は終了をする(ステップ10、11)。
アプリケーションプログラム33がクラウド用仮想記憶装置10にユーザデータを保存したことをドライバウェア34が検出すると、クラウド同期部12へ通知する。クラウド同期部12は、RAMディスク7の内容を確認し、未同期のファイルは直ちにネットワークストレージ3と同期をとって、終了する(ステップ12)。言い換えると、同期となっている残りのデータを同期する。この同期が終了すると、ユーザ端末2は、電源を切断する。このとき主記憶装置5の内容が消去され、従って、RAMディスク7の内容も消去される(ステップ13)。
これにより、アプリケーションプログラム33で利用していたユーザデータは、ユーザ端末2に残ることがなく、ユーザ端末2から削除される。従って、利用者にとって、ユーザ端末2にユーザデータが一切残ることが無くなり、ユーザデータの情報漏洩、機密確保が保証される。
[管理プログラム]
以下、管理プログラムの動作例について図6に図示したフローチャート参照しながら説明する。ドライバウェア34は、アプリケーションプラットフォームプログラム38とクラウド同期部12と一緒に管理プログラムとして、提供される。管理プログラムは、記録媒体等に格納されて提供される。
また、管理プログラムは、ネットワーク4上のネットワークストレージ3又はその他のファイルサーバ、アプリケーション提供サイトに格納されていて、ユーザ端末2からダウンロードして、インストールすることができる。このように、管理プログラムは、任意の方法で提供される。管理プログラムは、ユーザ端末2にインストールされて(ステップ30)、所定の手順で、管理プログラムのライセンス認証、ユーザ端末2の端末認証、ユーザ認証が行われる(ステップ31)。
これらの認証は、全て正常に認証されてから、ユーザ端末2を利用する準備ができる。このとき、ユーザ端末2において、RAMディスク7が主記憶装置5内に設定される(ステップ32)。RAMディスク7の設定は、本例では、ドライバウェア34に内蔵されたRAMディスク制御部58によって行われている。この設定の仕方については、上述している。
また、RAMディスク7の設定が終わると、ネットワークストレージ3と同期するために利用されるクラウド同期部12が起動され、クラウド用仮想記憶装置10が設定される(ステップ33、34)。クラウド同期部12は、管理プログラムに同梱される関連プログラムである。このとき、クラウド用仮想記憶装置10が設定され、オペレーティングシステム30のI/O機能に登録される。
上述のRAMディスク7の設定、クラウド用仮想記憶装置10の設定は、その順序が任意で行うことができる。これらの設定が終わると、ユーザ端末2はネットワーク4に接続され、ネットワークストレージ3に接続され(ステップ35)、ユーザ認証等が行われる(ステップ36)。この認証が正常に終了すると、ネットワークストレージ3にユーザ端末2が接続され、ユーザ端末2からネットワークストレージ3にファイル等の電子データを送信し保存すること、又は、ネットワークストレージ3から電子データを受信することが可能になる(ステップ37)。
言い換えると、ネットワークストレージ3にユーザ端末2からファイルアップロード又はダウンロードが可能になる。これらのライセンス認証、端末認証、ユーザ認証(ユーザ端末、ネットワークストレージ)は、公知のものであり、詳細な説明は省略する。以下、このような利用準備ができた状態をベースにして説明をする。
は、管理プログラムが制御モードをオンにするときの動作を示すフローチャートである。管理プログラムには電子計算機を制御する制御モードがある。管理プログラムの制御モードをONにして、電子計算機の制御が行われる。管理プログラムの制御モードをOFFにすると、インストールされている管理プログラムは電子計算機の制御を行わず、電子計算機は従来通り動作する。
に図示したように、管理プログラムがインストール後、制御モードをオンにする(ステップ50)。このとき、管理プログラムは、ユーザ端末2に接続されている補助記憶装置を確認する(ステップ51)。このとき、RAMディスク7とクラウド用仮想記憶装置10の確認も行われる。この確認は、オペレーティングシステム30に認識されている補助記憶装置の中で、RAMディスク7とクラウド用仮想記憶装置10が含まれているか否かで確認する。
ユーザ端末2に内蔵された補助記憶装置6への書き込みを禁止に設定する(ステップ52)。このとき、USBメモリ、リムーバブルドライブ、フレキシブルディスクドライブ、外付補助記憶装置29(図2を参照。)等の記憶装置は、書き込み禁止に設定される。言い換えると、ユーザ端末2からデータを持ち出しできるような記録手段に対して、データ記録の制限をする。RAMディスク7とクラウド用仮想記憶装置10は、書き込みを禁止にしない。
また、内蔵された補助記憶装置6は、オペレーティングシステム30の動作に必要なものであり、書き込み禁止等のアクセス制限を受けない。よって、アプリケーションプログラム33又はオペレーティングシステム30からは、これらのデータ記録の制限を受けた記憶装置にデータを書き込みしようとするとき、ドライバウェア34がこれを検知して書き込みの動作を中止させる。
管理プログラムは、ネットワーク4へ通信する通信ポートの設定を行う(ステップ53)。ネットワーク4へ通信としては、ネットワークカード37を介してインターネット、LAN等への有線又は無線通信、コンピュータ同士の有線又は無線通信が含まれる。この設定では、ユーザ端末2に必要な通信ポートのみが使用許可され、不必要なポートが通信禁止にされる。
これは、ユーザや管理者等が選択設定するものであり、管理プログラムがインストールされるとき、又は、その制御モードをONにするとき、ユーザが選択できる。ユーザ端末の上記の通信ポート以外のインターフェースは使用禁止に設定される。例えば、USB、SCSI、IDE、RS−232C規格のインターフェースは使用禁止に設定される(ステップ54)。
更に、管理プログラムは、コピー&ペースト、クリップボードの使用、ネットワーク機能、スクリーンキャプチャの使用は使用禁止にする(ステップ55)。しかし、ユーザ、管理者等は、これらを全部又は一部を使用したい場合は、それを使用禁止にしない。最後は、管理プログラムは、オペレーティングシステム30の正常な動作に必要なプロセスを指定し、例外設定をする(ステップ56)。
例えば、オペレーティングシステム30の動作に必要なSystemプロセス等を動作可能にする。管理プログラムが制御モードをオンにした後の、ステップ51〜ステップ56の各種の設定は、必ずしもこの順番で行う必要はなく、状況に応じて自由自在に組み合わせることができる。これらの設定が終わると、管理プログラムは、RAMディスク7の設定を行う(ステップ57)。
RAMディスク7の設定では、複数のRAMディスク7がある場合、作業ドライブとして利用するメインディスクを選択設定し、クラウド用仮想記憶装置10に対応する作業フォルダをRAMディスク7内に作成又は設定する。クラウド用仮想記憶装置10は、ネットワークストレージ3の仮想記憶装置として設定されており、アプリケーションプログラム33、オペレーティングシステム30等に対しては、パスが設定されているだけである。
このパスにアクセスすると、実体データはネットワークストレージ3からダウンロードされ、RAMディスク7に格納されるので、RAMディスク7の設定では、RAMディスク7をクラウド用仮想記憶装置10にマッピングするための設定をする。また、RAMディスク7に格納されたユーザデータをネットワークストレージ3へ転送するときの各種設定が行われる。クラウド用記憶装置10に関する設定が行われる(ステップ58)。
例えば、ユーザデータに関して、暗号する暗号鍵の設定、転送するタイミング(特定時間、間隔等)、通信速度、優先度等を設定するが、管理者はこれらの設定を必要に応じて選択することができる。管理プログラムは、起動しているプロセスのプロセス名、プロセスIDを取得する(ステップ59)。管理プログラムは、取得したプロセス名とプロセスIDをプロセス制御リスト(表1を参照。)に保存する。プロセス制御リストには、ファイルパスの条件として、その保存先又は作業フォルダが指定される。
本例では、「Application 1」は、「e:\」を設定している。クラウド用記憶装置10は、ネットワークストレージ3のネットワークドライブをマウントするイメージであり、「e:」のようなドライブ名を割り当て、アプリケーションプログラム33がこのドライブにアクセスし、任意のフォルダを自由に読み書きできる。
これにより、アプリケーションプログラム33が起動され、ユーザ端末2で作業が行われる。よって、アプリケーションプログラム33とオペレーティングシステム30の処理結果、処理されたユーザデータは、クラウド用記憶装置10へ保存されるよう設定になるが、実体は、RAMディスク7に格納される。
ドライバウェア34とクラウド同期部12は、RAMディスク7を常時監視しており、ネットワークストレージ3と同期するためのデータは、クラウド用仮想記憶装置10へのアクセス要求に連動して、暗号化され、最終的に、ネットワークストレージ3へ送信される。この作業は、管理プログラムで、制御モードをOFFにするまでに継続する。管理プログラムの制御モードがONになると、ユーザ端末2の起動と同時に、管理プログラムが自動的に起動して、制御モードがONの状態で動作する。
管理プログラムの制御モードを意図的にOFFに設定しない限り継続する。管理プログラムの制御モードをOFFにすると、上述設定した設定を全て解除する。
Figure 0006949338
[制御部の動作]
には、制御部52の動作のフローチャートを図示している。ドライバウェア34が制御モードをオンにするように指示されると、制御部52はこの指示を受信し、ファイルアクセスを全て禁止する命令を送信する(ステップ70)。この命令は、ネットワーク制御部56、ファイルシステム制御部57、RAMディスク制御部58、クラウド同期部12に送信される。
ネットワーク制御部56、ファイルシステム制御部57、RAMディスク制御部58は、この命令を受信して、ファイルアクセスを禁止にする。また、制御プロセスの設定、ネットワーク利用の禁止、クリップボードの利用禁止、スクリーンキャプチャの使用禁止、コピーアンドペースト機能の禁止等を行う。エグゼキュティブ41(図4参照)のプロセスマネージャーが実行されている全てのプロセスを管理している。
ここに、コールバック関数を登録(カーネル40のAPIを利用)することで、プロセスの起動・終了のイベントを取得する。実行するプロセスの起動・終了イベントに対して、コールバック関数を設定し、アプリケーションプログラム33の起動と終了を検出できるように設定する。アプリケーションプラットフォームプログラム38が動作しているとき、アプリケーションプログラム33が起動する(ステップ71)。
アプリケーションプラットフォームプログラム38は、アプリケーションプログラム33の起動を検出する(ステップ72)。CreateProcessのSUSPEND(サスペンド)モードでアプリケーションプログラム33のプロセスが起動され、アプリケーションプラットフォームプログラム38は、このプロセスのハンドルとプロセスIDを取得する(ステップ73)。
プロセスがCreateProcessのサスペンドモードで起動されると、一時休止した状態になり、再開されるまでに実行されない。ハンドルは、CreateProcessから戻されるプロセスハンドルである。アプリケーションプラットフォームプログラム38は、取得したハンドルとプロセスIDを制御部52に送信する。プロセスが起動されると、ファイルシステム制御部57内のコールバック関数を実行し、制御部52へ制御開始を通知する。
制御部52は、ハンドルとプロセスIDを取得する。この取得の詳細な動作について後述する。制御部52は、ファイルシステム制御部57へハンドルとプロセスIDを送信し、プロセスIDを利用して、管理テーブルを参照し、管理テーブルの値に従って、ファイルアクセスを許可する設定を行う。ファイルアクセスを許可するように設定する項目はプロセスID、プロセス名、ファイル名、フォルダ名、ファイル操作である。
ファイル操作に指定される設定は、読み込み専用(Read Only)と、読み込み書き込み(Read/Write)とのいずれかを許可する設定である(ステップ74)。これらの一連の設定が終わると、取得したハンドルを使って、サスペンドプロセスを再開する(ステップ75)。アプリケーションプログラム33が動作される。そして、制御部52は、アプリケーションプログラム33が終了するときにオペレーティングシステム21から発される通知である終了イベントを待機する(ステップ76)。
アプリケーションプログラム33が終了すると、ファイルシステム制御部57内のコールバック関数を実行し、制御部52へ制御解除を通知する。ファイルシステム制御部57は、プロセス制御リスト(表1を参照。)によって行われていた制御解除をし、それ以後は、このアプリケーションプログラム33の制御を行わない。無論、このアプリケーションプログラム33がユーザデータにアクセスしたときは、制御が再開される。
図9には、アプリケーションプログラム33が終了するときの制御部52の動作のフローチャートを図示している。アプリケーションプログラム33が終了するとき、終了イベントが発生されるアプリケーションプラットフォームプログラム38、終了イベントのプロセスIDを取得する(ステップ90)。アプリケーションプラットフォームプログラム38は、終了イベントのプロセスIDを制御部52に送信する。
制御部52は、終了イベントのプロセスIDを取得する(ステップ91)。制御部52は、RAMディスク7に格納されたアプリケーションプログラム33が利用していたユーザデータを取得する(ステップ92)。このユーザデータは、アプリケーションプログラム33用に作成された専用のフォルダ8に格納されている。格納先は、プロセス制御リスト(表1を参照。)を参照して特定する。
制御部52は、このユーザデータをクラウド用仮想記憶装置10へ転送し格納する(ステップ93)。クラウド同期部12は、クラウド用仮想記憶装置10内のデータを取得して、制御部52を介して、暗号化部54で暗号化する(ステップ94)。そして、暗号化されたデータは、ネットワーク制御部56へ送信され、最終的にネットワークストレージ3に格納される(ステップ95)。
このとき、制御部52は、暗号化したユーザデータを取得し、最終的に、ネットワーク制御部56を介してネットワークカード37へ送信される。ユーザデータは、暗号化、暗号化されたデータがネットワークドライバ37aへの転送は、カーネルモード31で処理されているので、高速に処理される。そして、他のアプリケーションプログラム等が直接アクセスできない動作モードなので高度のセキュリティが確保される。結果的に、ユーザデータの外部への漏洩がない。
このように、制御部52は、アプリケーションプログラム34、そのイベントを検出して、RAMディスク7のユーザデータをネットワークストレージ3へ送信する指示を出している。制御部52は、RAMディスク7を関していて、所定の期間毎に、新しいアプリケーションプログラム33が起動したとき、ユーザデータが作成された若しくは変更されたとき、オペレーティングシステム33又はアプリケーションプログラム33がエラー発生して、又はエラーを検知したとき等のように、あらゆるタイミングで、ユーザデータをネットワークストレージ3へ送信する指示を出すことができる。
ユーザ端末2において、オペレーティングシステム30の動作に必要な最低限の実行ファイルとプロセスを制限なしに動作させる必要がある。例えば、プロセスとしては、System、Kernel.exe、explorer.exeが例示できる。制御プロセス名、制御ディレクトリは、プロセス制御リストに登録される。これらのプロセスは、オペレーティングシステム30が起動するときの設定、つまり、補助記憶装置6のディレクトリが作業フォルダとして設定されている。
そのため、制御部52は、これらのシステムプロセスから補助記憶装置6を取得し、これをRAMディスク7の該当するフォルダへのアクセスに置き換え、言い換えると、リダイレクトする。プロセス名を取得するには、ZwQueryInformationProcess関数を使い、実行プロセスのイメージパスを取得し、これの実行ファイルexeのファイル名からプロセス名を取得する。プロセスIDを取得するには、PsGetCurrentProcessId()関数を使って現在のプロセスのIDを取得する。
ファイル名を取得するには、ファイルのI/O要求に関する入出力(I/O)要求(IRP)から参照されるファイルオブジェクトよりファイル名を取得する。イベントの検出は、次のように行われる。オペレーティングシステム30のカーネル31内のI/O要求は、IRP(IO Request Packet)の形式で行われる。ファイルアクセスに関しては、次の表2に示すIRPが利用される。このIRPを対象にコールバック関数を設定することで、イベント検出を行う。
コールバック関数は、エグゼキュティブ41のプロセスマネージャーに登録され、コールバック関数が実行されると参照先のドライバウェア34に制御が移動される。
Figure 0006949338
ユーザデータは、基本的にアプリケーションプログラム33から呼び出されて、主記憶装置5に展開されて利用される。ユーザデータを呼び出すアクションのとき、アプリケーションプログラム33は、クラウド用仮想記憶装置10からアクセス要求を出す。ユーザデータの実態はネットワークストレージ3に格納されており、この要求が出されると、ネットワークストレージ3からダウンロードされ、RAMディスク7に格納される。
また、アプリケーションプログラム33は、作業を終了し、ユーザデータを保存するとき、同じく、クラウド用仮想記憶装置10に保存する要求を出力するが、ユーザデータの実体は、主記憶装置5からRAMディスク7に保存され、更に、RAMディスク7からネットワークストレージ3へ転送されてアップロードされる。アップロードが成功しなかった場合、リトライする。
図10のフローチャートを参照しながら、アプリケーションプログラム33がユーザデータを利用する流れの例を説明する。まず、アプリケーションプログラム33は、予め設定された設定値又はユーザによる操作に基づいて、ユーザデータのファイル(以下、データファイルという。)にアクセスを開始する(ステップ110)。データファイルは、ネットワークストレージ3、詳しくはフォルダ11、に保存されている。
そのため、アプリケーションプログラム33は、クラウド用仮想記憶装置10(フォルダ11)のアドレスとデータファイルのファイル名からなるアドレスを利用して、ファイルアクセスの要求を出力する(ステップ111)。アプリケーションプログラム33から出力されたファイルアクセス要求は、オペレーティングシステム30の入出力機能に送信される(ステップ112)。
ファイルアクセス要求は、オペレーティングシステム30の入出力機能によって、ファイルシステムへ送信され、ファイルシステムドライバ39へ送信される(ステップ113)。オペレーティングシステム30のユーザモード32においてアプリケーションプラットフォームプログラム38、又は、カーネルモード31においてドライバウェア34によって、ファイルアクセス要求が検知され、制御部52に送信される(ステップ114)。
ファイルアクセス要求は、ファイルシステムドライバ39へ送信され(ステップ115)、クラウド用仮想ディスクドライバ10aに送信される(ステップ116)。クラウド用仮想記憶装置10は、ネットワークストレージ3と同期されているので、この同期をクラウド同期部12が制御している。クラウド用仮想ディスクドライバ10aは、ファイルアクセス要求を受信すると、これをクラウド同期部12へ通知する(ステップ117)。
クラウド同期部12は、ネットワーク制御部56とネットワークドライバ37a、ネットワークカード37を介して、ネットワークストレージ3にアクセスし(ステップ118)、要求されたデータファイルを取得し(ステップ119)、RAMディスク7に格納する(ステップ120)。この格納が終了すると、クラウド同期部12は、クラウド用仮想ディスクドライバ10aへ通知する(ステップ121)。
クラウド用仮想ディスクドライバ10aは、クラウド用仮想記憶装置10から、要求されたデータファイルを取得して、ファイルアクセス要求の送信元へデータファイルを送信する(ステップ122)。データファイルは、RAMディスクドライバ7a、ファイルシステムドライバ39、ドライバウェア34を経てオペレーティングシステム30の入出力機能を経て、アプリケーションプログラム33へ送信され、結果的に、アプリケーションプログラム33はデータファイルを取得し、その処理を行う(ステップ123)。
ファイルシステム制御部57は、アプリケーションプログラム33によるRAMディスク7内のデータファイルの更新状況を監視しており、データファイルがクローズされると、データファイルをRAMディスク7からネットワークストレージへ送信する(ステップ124)。アプリケーションプログラム33は、RAMディスク7へアクセスするとき、ドライバウェア34を必ず介するので、ドライバウェア34はRAMディスク7へデータファイルを格納するときこれを暗号化部54で暗号化する。
また、RAMディスク7からデータファイルを受信するとき、ドライバウェア34はこれを復号化部55で復号化してアプリケーションプログラム33へ送信する。ユーザデータはRAMディスク7からネットワークストレージ3へアップロードするとき、通信障害等によってアップロードが成功しなかった場合、リトライする。つまり、ユーザ端末2とネットワークストレージ3との接続が回復し正常になったとき、又は、通信障害が起きてから若しくはアップロードが成功しなかった時間から所定時間待機してから、リトライする。
[サスペンドモード]
電子計算機を所定時間以上に使用しないとき、中央処理装置(CPU)、ディスプレイ、HDD等のコンポネントの電源を切り、一時休止状態になり、電力消費量を減らすことがある。このとき、電子計算機での作業状態となる主記憶装置の内容が補助記憶装置に保存されて、電源が殆ど使われない状態になる。電子計算機を再起動するとき、保存された作業状態(作業データ)が主記憶装置に読み出されるので、電子計算機が高速に起動することができる。
主記憶装置の内容となる作業データが補助記憶装置に保存された状態の電子計算機は、サスペンドモードにあるという(以下、単にサスペンドモード又はサスペンド機能という。)。このようなサスペンドモードはオペレーティングシステムの種類によって、スリープ、スリープモード、一時休止状態等と呼ぶこともある。
以下に説明するサスペンドモードに入る動作、サスペンドモードから起動する動作、これらのとき作業データを補助記憶装置に格納する動作、補助記憶装置から作業データを呼び出す動作、補助記憶装置の作業データと一時ファイルを削除する動作、RAMディスク上の作業データを削除する動作、RAMディスクを初期化する動作は、上述のドライバウェア34、管理プログラム等によって監視され、制御される。よって、ドライバウェア34、管理プログラムの機能について、ユーザ端末2として説明し、詳しい説明は省略する。
図11は、ユーザ端末2がサスペンドモードに入るときの動作を示すフローチャートである。ユーザ端末2は電源をスリー、シャットダウン、再起動等をユーザが操作し指示する電源管理操作部(オペレーティングシステムのホーム画面上)を有している。ユーザはユーザ端末2のこの電源管理操作部からスリーを選択し、ユーザ端末2がスリー状態を開始する指示をすることにより、ユーザ端末2のサスペンドモードがユーザの指示によって開始される(ステップ130)。
ノート型の電子計算機のように、画面を閉じるとユーザ端末2のサスペンドモードが自動的に開始されるともあり、これはユーザにより指示されたものと同一に扱うことができる。またはユーザ端末2のバッテリーの充電容量が少なくなり、ユーザ端末2での通常の作業ができなくなるレベルに下がる、言い換えるとバッテリー不足になるとき、ユーザ端末2のオペレーティングシステムがスリープへ自動遷移する。このように、ユーザ端末2は自動的にサスペンドモードを開始する(ステップ130)。
ユーザ端末2は補助記憶装置6の空き容量を確認する(ステップ131)。この確認は、ドライバウェア34、ファイルシステムドライバ39を介して行われるか、形式的に階層としては通過する。主記憶装置5は基本的にユーザ端末2の動作中に変更されることはなく、ユーザ端末2が動作開始時、言い換えるとオペレーティングシステムが開始された時点でその容量が確定している。そのため、オペレーティングシステムの設定上、スリー時のデータ保存領域が補助記憶装置6上に確保される。
補助記憶装置6に主記憶装置5の内容を保存する十分な空き容量があるとき、主記憶装置5の内容を補助記憶装置6に書き込み保存する(ステップ132、133)。これにより、主記憶装置5の一部に設定されているRAMディスク7の内容がそのまま補助記憶装置6に保存されることになる。RAMディスク7は、ドライバウェア34の暗号化ドライバによって、常時暗号化されており、そのためRAMディスク7がスリープモードに入るとき補助記憶装置6に保存されるとき暗号化されたままに保存される。
RAMディスク7は暗号化されたまま補助記憶装置6に保存されるので、個人情報等の機密データが漏洩することがない。補助記憶装置6に主記憶装置5の内容を保存する十分な空き容量がないとき、ユーザ端末2は作業データを保存せずサスペンドモードを開始する(ステップ134)。
図12は、ユーザ端末2がサスペンドモードの状態から起動するときの動作を示すフローチャートである。ユーザ端末2はユーザの操作、自動設定等によって起動を開始する(ステップ140)。ユーザ端末2は起動するとき、補助記憶装置6にサスペンドモードに入るときに保存された主記憶装置5の内容データは、補助記憶装置から読みだされて主記憶装置5へ展開される。これにより、ユーザ端末2がサスペンドモードに入る前の状態が復元されるが、オペレーティングシステムの通常の認証に加え、RAMディスク7へのアクセスための個人認証を行う。
オペレーティングシステム30の初期画面がディスプレイに表示され、オペレーティングシステムの通常の認証が行われる。そして、ユーザ端末2が起動してから、RAMディスク7へアクセスする初回の要求があるとき、ドライバウェアはこのアクセス要求をトリガとして、ドライバウェアはユーザ認証を開始する(ステップ141)。ユーザが入力した認証用の認証データをユーザ端末2(ドライバウェア)が取得し、ユーザ認証が行われる(ステップ142)。
ユーザ認証はパスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、彩認証手段、2要素認証手段等の汎用の認証手段を利用する。ユーザ認証が成功したか否かを確認し、成功するとユーザ端末2はディスプレイにユーザ端末2のサスペンドモード前の状態が表示される。言い換えると、RAMディスク7へのアクセスが許可され、ユーザ端末2が通常動作する(ステップ143、ステップ144)。そして、ユーザ端末2は次の作業に移行する(ステップ149)。
ユーザ認証が成功しない場合、サスペンドモードに入るときに保存されたRAMディスク7の中のファイル、またはRAMディスク7を削除する(ステップ145)。同じく、サスペンド機能時に保存されたオペレーティングシステム30の作業データ、言い換えると、RAMディスク7以外のものであるハイバネーションファイル(hiberfil.sys)等は初期設定によって又はユーザの指示によって、ユーザ端末2が補助記憶装置6から削除する(ステップ146)。
ユーザ認証が成功しない場合、ユーザ認証に必要な認証データは、認証サーバ上の認証機構において失効されていることがある。これは、ユーザ端末2が紛失され、ユーザが認証に必要なデータを認証機構に通知し無効にするためである。そのため、紛失されたユーザ端末2に再度にログインしようとするとき、サスペンドモード時に保存されたRAMディスク7及び/又は作業データを削除又は初期化する。
また、ユーザ端末2の正規のユーザではない者がアクセスしようとするとユーザデータを削除又は初期化する。その後、ユーザ端末2が終了し(ステップ147)、次の操作を待機する(ステップ148)。
図13は、ユーザ端末2がサスペンドモードの状態から起動する動作の他の例を示すフローチャートである。ユーザ端末2はユーザの操作、自動設定等によって起動を開始する(ステップ160)。ユーザ端末2は起動するとき、補助記憶装置6に保存された作業データ(主記憶装置5の内容)が主記憶装置5に読みされて、オペレーティングシステム30の初期画面がディスプレイに表示される。そして、ユーザ認証が開始される(ステップ161)。
ユーザが入力した認証用の認証データをユーザ端末2が取得し、ユーザ認証が開始される(ステップ162)。ユーザ認証が成功したか否かを確認し、成功するとユーザ端末2はディスプレイにユーザ端末2のサスペンドモードに入る前の状態が表示され、ユーザ端末2が通常起動する(ステップ163、ステップ164)。そして、ユーザ端末2は次の作業に移行する(ステップ170)。
ユーザ認証が成功しない場合、ユーザ端末2が初期化作業を開始する(ステップ163→ステップ165)。まず、アプリケーションプログラム33を初期化する(ステップ166)。これは、サスペンド機能時に作業データが保存されたアプリケーションプログラム33が対象になる。この初期化は、アプリケーションプログラム33の一時保存されたデータ(RAMディスク7の内容で一時保存されたデータで補助記憶装置6にサスペンド時に保存されたデータ)を削除する。
また、サスペンド機能時に保存されたアプリケーションプログラム33の作業データが補助記憶装置6にあれば、ユーザ端末2がそれを削除する。ユーザ認証が成功しない場合、ユーザ端末2が紛失された又は不正アクセスの可能性がり、ユーザデータ、特に機密データを保護するために、RAMディスク7も含めユーザ端末2を自動的に初期化する。ユーザ端末2がRAMディスク7の初期化を行う(ステップ167)。このとき、RAMディスク7の一時保存されたデータが補助記憶装置6にあれば、ユーザ端末2はそれを削除する。
また、サスペンドモードに入る時に保存されたRAMディスク7のデータ、それに関連するデータが補助記憶装置6にあれば、ユーザ端末2がそれを削除する。その後、補助記憶装置6に保存された一時ファイルを削除する(ステップ168)。最後に、ユーザ端末2が終了する(ステップ169)。そして、ユーザはユーザ端末2を再度起動する等の次の操作を待機する(ステップ170)。
図14は、ユーザ端末2が特定の条件を満たすとき、データを制御する手順を示すフローチャートである。この制御では、アプリケーションプログラム33の作業データの削除、オペレーティングシステム30の作業データの削除、RAMディスク7の初期化等である。制御する条件は、表2のタイムテーブル情報に基づく。表2の第1欄は順番を、第2欄は制御項目を、第3欄は制御項目の条件を、第4欄は該条件を満たすときの制御の種類を示している。
ドライバウェア34と上述の管理プログラムによってユーザ端末2の位置情報をユーザ端末2に搭載された位置情報手段から取得して監視している。この監視において、表2の制御項目の位置情報に該当する制御を行う。位置情報手段としては、移動通信基地局と通信するための無線通信手段、全地球位置システムから位置情報を取得するための位置情報デバイス、インターネット等の通信ネットワークからIPアドレスを取得するための通信デバイス等を利用する。
例えば、表3の制御項目の位置情報においては、位置情報デバイスが全地球位置システムから取得した位置情報がその条件が設定された許可範囲以内か許可範囲外かを判定し、制御の種類に示す制御を行う(表3の番号の1、2を参照)。ここで言う許可範囲とは、事前に設定した地域範囲又は場所を意味する。表3の制御項目の時間帯においては、ドライバウェア34と上述の管理プログラムによって時間情報を時間情報手段から取得して監視する。
時間情報手段はユーザ端末に搭載された時計手段、上述の無線通信手段、位置情報デバイス、通信デバイス等を利用する。位置情報がその条件が設定された許可範囲以内か許可範囲外かを判定し、制御の種類に示す制御を行う(表3の番号の3,4を参照)。これは、ユーザ端末2を許可された時間帯のみに利用することを目的にするとき有効である。時間帯の許可範囲外は、例えば、深夜、勤務時間外、休憩中、休養中等が例示できる。
これは労働管理、機密性の情報にアクセス時間帯を設定して管理するとき等に利用することができる。また、時間帯情報にユーザの認証情報を合わせて制御することができる(表3の番号の5〜8を参照)。表3の番号の9、10に示すように、認証デバイスを利用して制御することができる。認証デバイスはユーザ端末2と通信しており、認証デバイスとユーザ端末2が所定距離離れたか否かで条件を判定し、制御の種類に示す制御を行う。
Figure 0006949338
上述のような制御の手順を図14と表3を参照しながら説明する。ドライバウェア34と上述の管理プログラムは、ユーザ端末2の情報を取得する(ステップ180)。この情報の取得は、位置情報を上述の位置情報手段、時間情報を上述の時間情報手段から取得する。位置情報手段がユーザ端末2に内部搭載されている場合、そのインターフェースからデバイスドライバ35(図3を参照)を介して取得する。
全地球位置情報システム、無線基地局等のようにユーザ端末2の外部にある場合、ユーザ端末2に内蔵又は外付けのされたもので、これらの位置情報手段と通信するデバイスのインターフェースからデバイスドライバ35を介して取得する。認証デバイスの場合は、ユーザ端末2に内蔵又は外付けされたもので、認証デバイスと通信するデバイスのインターフェースからデバイスドライバ35を介して取得する。
このように取得した情報が表3に示す条件を満たすか否かを確認し判定する(ステップ181)。条件を満たさない場合は、基本的にユーザ端末2に制限をかけず使用を許可する(ステップ182)。制御の条件を満たす場合、制御を開始するが制御をすぐに実行するか否かを判定する(ステップ181→ステップ183、ステップ184)。これは、RAMディスク7のデータをネットワークストレージ3に同期する時間が必要か、アプリケーショプログラム33に支障があるか否か等によって決定する。
制御実行がすぐに行われる場合は、制御の種類に示す制御を実行する(ステップ185)。表3の制御の種類に示す制御を行う。制御の種類に示す制御は、上述の図12及び図13とその説明の通りであるので、詳細は省略する。制御の実行が終わったらユーザ端末2が切電され終了する(ステップ186)。制御の実行がすぐに行われない場合は、設定時間の制御を実行する(ステップ187)。このときドライウェア34でデータ同期、アプリケーションプログラムの実行が終わる時間を計算し、時間を設定することで設定時間が決定される。
又は、ドライウェア34でデータ同期、アプリケーションプログラムの実行が終了するのを監視して、終了後、制御の実行を行うことができる。表3に示す第1時間帯と第2時間帯は、任意に設定することができる。例えば、第1時間帯は「09時00分00秒〜17時00分00秒」、「09時00分00秒〜12時00分00秒 and 13時00分00秒〜17時00分00秒」等のように勤務時間にし、これに平日、労働許可日等を組み合わせてもよい。また、「09時00分00秒〜09時30分00秒」のように短時間でもよい。
第2時間帯は「17時00分00秒〜09時00分00秒」、「24時00分00秒〜06時00分00秒」等のように第1時間帯外、夜間時間等のように設定することができる。また、カレンダーの休日と祝日、ユーザの休憩時間、ユーザの休養日、出張日等のように基本的に、ユーザ端末2の利用が好ましくない期間、時間帯を設定することができる。第1時間帯と第2時間帯は一例であり、管理者が任意に設定することができる。
認証デバイスは、ユーザ端末2と無線通信又は有線通信できる識別用のデバイスであり、例えば、携帯電話機、時計型の機器、ペン型の機器、USBキー、スマートフォン、スマート時計等が例示できる。これらの機器は、識別番号等を基本的に暗号してユーザ端末2と通信をすることで、認証デバイスがユーザ端末2に接続されているか又はその付近にあるかを判定する。
認証デバイスとユーザ端末2との認証は、1つの識別番号を利用する1段階、又は、2つ識別番号を利用する2要素認証となる2段階にする。認証デバイスの使用について、出願人が出願した特願2015−138336号公報に詳しく記載しており、この内容が本発明に含まれる。
本発明は、電子データの緊密な管理が必要な分野に利用すると良い。特に、高度なデータ管理が要求される分野、例えば、電子計算機リース業、印刷業界、保険会社、販売店、金融機関、原子力関連の施設、個人データを扱う端末等の分野に利用されると良い。
1…電子計算機用電子データ管理システム
2…ユーザ端末
3…ネットワークストレージ
4…ネットワーク
5…主記憶装置
6…補助記憶装置
6a…ディスクドライバ
7…RAMディスク
7a…RAMディスクドライバ
8、9、11…フォルダ
10…クラウド用仮想記憶装置
10a…クラウド用仮想ディスクドライバ
12…クラウド同期部
20…本体
21…中央処理装置(CPU)
22…入力インターフェース
23…出力インターフェース
24…バス
25…補助記憶装置用インターフェース
26…電源ユニット
27…入力装置
28…出力装置
29…外付補助記憶装置
30…オペレーティングシステム
31…カーネルモード
32…ユーザモード
33…アプリケーションプログラム
34…ドライバウェア
35…デバイスドライバ
36…デバイス
37…ネットワークカード
37a…ネットワークドライバ
38…アプリケーションプラットフォームプログラム
39…ファイルシステムドライバ
40…カーネル
41…エグゼキュティブ
42…サブシステム
43…キーボードポート
43a…キーボードドライバ
44…マウスポート
44a…マウスドライバ
45…キーボード
46…マウス
47…ハードウェア抽象化層(HAL)
51…アプリケーションプログラムインターフェース部
52…制御部
53…ログ取得部
54…暗号化部
55…復号化部
56…ネットワーク制御部
57…ファイルシステム制御部
58…RAMディスク制御部
59…入力装置制御部
60…デバイスドライバ制御部

Claims (26)

  1. 相互に通信できるネットワーク上の記憶手段であるネットワークストレージと通信する電子計算機は、プログラムコードに従ってデータを処理する中央処理手段、
    前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
    前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
    指示コマンド又は前記データを入力するための入力手段、
    前記処理の結果を外部に出力するための出力手段、並びに、
    前記ネットワークに接続するためのネットワーク接続手段からなり、
    前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、前記アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧、編集、及び変更の中から1以上の操作がされるとき、前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなる電子データ管理装置において、
    前記電子データ管理装置は、
    前記ネットワークストレージに割り当てられた仮想記憶手段、
    前記主記憶手段に常駐して、仮想の補助記憶装置である疑似補助記憶手段として機能する揮発性記憶手段、
    前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ユーザデータを前記ネットワークストレージの保存先から前記仮想記憶手段を介して取得し、前記揮発性記憶手段に格納し、及び、前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得し、前記仮想記憶手段を介して前記ネットワークストレージに保存する制御手段、
    前記揮発性記憶手段に前記ユーザデータが格納されるとき暗号化する暗号化手段、
    前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化された前記ユーザデータを復号化する復号化手段、並びに、
    前記揮発性記憶手段の前記ユーザデータを、前記仮想記憶手段を介して前記ネットワークストレージの前記ユーザデータと同期させるクラウド同期手段からなり
    前記制御手段は、前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に、共通のインターフェースを提供するためのドライバウェア手段からなり、
    前記ドライバウェア手段は、前記仮想記憶手段を制御するための前記デバイスドライバである仮想記憶手段ドライバ、及び、前記揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムの出力を制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
    前記ファイルシステム制御部は、前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得し、前記クラウド同期手段から前記ユーザデータを取得して、前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信して前記揮発性記憶手段に前記ユーザデータを格納させる
    ことを特徴とする電子データ管理装置。
  2. 請求項1に記載の電子データ管理装置において、
    前記電子データ管理装置は、前記電子計算機を待機させるサスペンド機能によって終了するとき、作業中の暗号化されたデータを前記補助記憶手段に保存し、前記電子計算機を終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除手段を備えている
    ことを特徴とする電子データ管理装置。
  3. 請求項1に記載の電子データ管理装置において、
    前記電子データ管理装置は、前記電子計算機の操作を終了する際、作業中のデータを前記補助記憶手段に保存し、前記電子計算機を待機させるサスペンド機能によって終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、該認証が正常に認証できない場合、前記電子データ管理装置、前記アプリケーションプログラム、前記仮想記憶手段及び前記揮発性記憶手段からなる群の中から選択される1以上の初期化を行う初期化手段を備えている
    ことを特徴とする電子データ管理装置。
  4. 請求項2又は3に記載の電子データ管理装置において、
    前記認証手段は、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段である
    ことを特徴とする電子データ管理装置。
  5. 請求項2に記載の電子データ管理装置において、
    前記データ削除手段は、実行する時間帯を示すタイムテーブルの情報に基づいて実行される
    ことを特徴とする電子データ管理装置。
  6. 請求項5に記載の電子データ管理装置において、
    前記データ削除手段は、移動通信基地局若しくは全地球航法衛星システム(GNSS)による位置情報に基づいて許可された地域範囲の中に前記電子データ管理装置が位置するときに、無効になり、前記データ削除手段は、前記地域範囲の外に前記電子データ管理装置が位置するときに実行される
    ことを特徴とする電子データ管理装置。
  7. 請求項5に記載の電子データ管理装置において、
    前記データ削除手段は、前記電子データ管理装置が前記認証手段と通信できない場合実行される
    ことを特徴とする電子データ管理装置。
  8. 請求項5に記載の電子データ管理装置において、
    前記データ削除手段は、前記電子データ管理装置が時間情報手段から取得した時間情報が設定時間外の場合実行される
    ことを特徴とする電子データ管理装置。
  9. 相互に通信できるネットワーク、
    前記ネットワーク上の記憶手段であるネットワークストレージ、及び
    前記ネットワークストレージと通信する電子計算機からなる電子データ管理システムであり、
    前記電子計算機は、
    プログラムコードに従ってデータを処理する中央処理手段、
    前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
    前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
    指示コマンド又は前記データを入力するための入力手段、
    前記処理の結果を外部に出力する出力手段、及び
    前記ネットワークに接続するためのネットワーク接続手段からなり、
    前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、前記アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧又は編集又は変更されるとき、
    前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなる前記電子データ管理システムにおいて、
    前記電子計算機は、
    前記ネットワークストレージに割り当てられた仮想記憶手段、
    前記主記憶手段に常駐して、仮想の補助記憶装置である疑似補助記憶手段として機能する揮発性記憶手段、
    前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ユーザデータを前記ネットワークストレージの保存先から前記仮想記憶手段を介して取得し、前記揮発性記憶手段に格納し、及び、前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得し、前記仮想記憶手段を介して前記ネットワークストレージに保存する制御手段、
    前記揮発性記憶手段に前記ユーザデータが格納されるとき暗号化する暗号化手段、
    前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化された前記ユーザデータを復号化する復号化手段、並びに、
    前記揮発性記憶手段の前記ユーザデータを前記仮想記憶手段を介して前記ネットワークストレージ前記ユーザデータと同期するクラウド同期手段からなり、
    前記制御手段は、前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのドライバウェア手段
    からなり、
    前記ドライバウェア手段は、前記仮想記憶手段を制御するための前記デバイスドライバである仮想記憶手段ドライバ、及び、前記揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムの出力を制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
    前記ファイルシステム制御部は、前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得し、前記クラウド同期手段から前記ユーザデータを取得して、前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信して前記揮発性記憶手段に格納させる
    ことを特徴とする電子データ管理システム。
  10. 請求項9に記載の電子データ管理システムにおいて、
    前記電子計算機は、前記電子計算機を待機させるサスペンド機能によって終了するとき、作業中の暗号化されたデータを前記補助記憶手段に保存し、前記電子計算機を終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除手段を備えている
    ことを特徴とする電子データ管理システム。
  11. 請求項9に記載の電子データ管理システムにおいて、
    前記電子計算機は、前記電子計算機の操作を終了する際、作業中のデータを前記補助記憶手段に保存し、前記電子計算機を待機させるサスペンド機能によって終了し、再起動するとき、前記電子計算機のユーザの真正性を確かめる認証手段によって認証を行い、
    該認証が正常に認証できない場合、前記電子計算機、アプリケーションプログラム、前記仮想記憶手段及び揮発性記憶手段からなる群の中から選択される1以上の初期化を行う初期化手段を備えている
    ことを特徴とする電子データ管理システム。
  12. 請求項10又は11に記載の電子データ管理システムにおいて、
    前記認証手段は、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段である
    ことを特徴とする電子データ管理システム。
  13. 請求項10に記載の電子データ管理システムにおいて、
    前記データ削除手段は、実行する時間帯を示すタイムテーブルの情報に基づいて実行される
    ことを特徴とする電子データ管理システム。
  14. 請求項13に記載の電子データ管理システムにおいて、
    前記データ削除手段は、移動通信基地局若しくは全地球航法衛星システムによる位置情報に基づいて許可された地域範囲の中に前記電子計算機が位置するときに、無効になり、
    前記データ削除手段は、前記地域範囲の外に前記電子データ管理装置が位置するときに実行される
    ことを特徴とする電子データ管理システム。
  15. 請求項13に記載の電子データ管理システムにおいて、
    前記データ削除手段は、前記電子計算機が前記認証手段と通信できない場合実行される
    ことを特徴とする電子データ管理システム。
  16. 請求項13に記載の電子データ管理システムにおいて、
    前記データ削除手段は、前記電子計算機が時間情報手段から取得した時間情報が設定時間外の場合実行される
    ことを特徴とする電子データ管理システム。
  17. 相互に通信できるネットワーク上の記憶手段であるネットワークストレージと通信する電子計算機は、
    プログラムコードに従ってデータを処理する中央処理手段、
    前記プログラムコード、又は、前記プログラムコード及び前記データを保持する主記憶手段、
    前記プログラムコード及び前記電子計算機が一時休止時に前記主記憶手段の内容データを格納する不揮発の補助記憶手段、
    指示コマンド又は前記データを入力するための入力手段、
    前記処理の結果を外部に出力する出力手段、及び
    前記ネットワークに接続するためのネットワーク接続手段からなり、
    前記電子計算機上に動作するアプリケーションプログラム又はユーザが利用するための電子データからなるユーザデータは、前記アプリケーションプログラムによって、又は、前記入力手段から入力された入力データにより前記アプリケーションプログラムが操作されることによって、閲覧又は編集又は変更されるとき、前記ユーザデータが外部へ漏洩することを防止制御するための電子データ漏洩防止機能を備えた前記電子計算機からなる電子データ管理装置において、
    前記電子データ管理装置上に動作する電子データ管理装置用プログラムは、
    前記アプリケーションプログラムから出力される命令及び/又はデータを含む第1データを受信し、前記命令の実行結果及び/又は前記電子計算機に接続されているデバイスを直接制御するためのデバイスドライバから受信した受信データを含む第2データを、前記アプリケーションプログラムに送信するための機能を前記電子計算機に実行させるアプリケーションプログラムインターフェース部、
    前記デバイスドライバへ、前記命令及び/又は前記データを含む第3データを送信し、前記デバイスドライバから前記命令の実行結果及び/又は前記受信データを含む第4データを受信するための機能を前記電子計算機に実行させるデバイスドライバ制御部、
    前記第1データ又は前記第4データを処理し、前記第2データ又は前記第3データを生成して、前記第1ないし4データの制御を行うための機能を前記電子計算機に実行させる制御部、並びに、
    データを暗号化して暗号化データを作成するための機能を前記電子計算機に実行させる暗号化部、及び、前記暗号化データを復号化し、元の前記データを作成するための機能を前記電子計算機に実行させる復号化部からなり、
    前記電子計算機を動作させているオペレーティングシステムの全ての命令が実行できるカーネルモードで動作し、前記デバイスドライバ同士の通信、又は前記デバイスドライバと前記電子計算機上で動作する前記アプリケーションプログラムとの通信に共通のインターフェースを提供するためのドライバウェアを備え、
    前記デバイスドライバ制御部は、仮想記憶手を制御するための前記デバイスドライバである仮想記憶手段ドライバ、及び、揮発性記憶手段を制御するための前記デバイスドライバである揮発性記憶手段ドライバを、前記オペレーティングシステムの出力を制御するファイルシステムドライバを介して制御するためのファイルシステム制御部を備え、
    前記電子データ管理装置用プログラムは、
    前記ネットワークストレージに割り当てられた前記仮想記憶手段を生成するステップと、
    前記仮想記憶手段を制御するステップ、
    前記主記憶手段に常駐して、仮想の補助記憶装置である疑似補助記憶手段として機能する前記揮発性記憶手段を生成するステップ、
    前記アプリケーションプログラムが前記ユーザデータを開くとき、前記ファイルシステム制御部によって前記ユーザデータを保存先から取得するステップ、
    前記取得した前記ユーザデータを前記ファイルシステム制御部によって前記揮発性記憶手段に格納するステップ、
    前記ユーザデータを閉じて保存するとき、前記ユーザデータを前記揮発性記憶手段から取得するステップ、
    前記取得したユーザデータを制御によって前記仮想記憶手段を介して保存する制御ステップ、
    前記揮発性記憶手段に前記ユーザデータが格納されるとき、暗号化によって暗号化するステップ、及び、
    前記揮発性記憶手段から前記ユーザデータを前記アプリケーションプログラムへ提供するとき、前記暗号化されたユーザデータを復号化によって復号化するステップ
    を前記電子データ管理装置に実行させ、
    前記ファイルシステム制御部は、
    前記アプリケーションプログラムが前記ユーザデータを開く動作を前記仮想記憶手段ドライバから取得するステップ、
    クラウド同期手段から前記ユーザデータを取得するステップ、
    前記取得した前記ユーザデータを前記揮発性記憶手段ドライバを介して前記揮発性記憶手段に送信するステップ、及び、
    前記送信した前記ユーザデータを前記揮発性記憶手段に格納させるステップを前記電子データ管理装置に実行させる
    ことを特徴とする電子データ管理装置用プログラム。
  18. 請求項17に記載の電子データ管理装置用プログラムにおいて、
    前記保存先は、前記ネットワークストレージであり、
    前記揮発性記憶手段の前記ユーザデータを前記仮想記憶手段を介して前記ネットワークストレージと同期する機能を前記電子データ管理装置に実行させるクラウド同期プログラムからなる
    ことを特徴とする電子データ管理装置用プログラム。
  19. 請求項17に記載の電子データ管理装置用プログラムにおいて、
    前記電子データ管理装置を待機させるスペンド機能によって終了させるとき、作業中の暗号化されたデータを前記補助記憶手段に保存し、前記電子計算機を終了させるサスペンドステップ、
    前記サスペンドステップが開始するとき、前記電子データ管理装のユーザの真正性を確かめる認証手段によって認証を行うサスペンド認証ステップ、並びに、
    該認証が正常に認証できなかった場合、前記サスペンド機能によって終了する直前に保存したデータ及び/又は前記サスペンド機能によって保存されたデータを削除するデータ削除ステップ
    を前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  20. 請求項17に記載の電子データ管理装置用プログラムにおいて、
    前記電子データ管理装の操作を終了する際、作業中のデータを補助記憶手段に保存するサスペンド機能によって前記電子データ管理装置を終了させるサスペンドステップ、
    前記電子データ管理装置が終了後に再起動するとき、前記電子データ管理装のユーザの真正性を確かめる認証手段によって認証を行うサスペンド認証ステップ、並びに、
    該認証が正常に認証できない場合、前記電子データ管理装置、アプリケーションプログラム、前記仮想記憶手段及び揮発性記憶手段からなる群の中から選択される1以上の初期化を行う初期化ステップ
    を前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  21. 請求項19又は20に記載の電子データ管理装置用プログラムにおいて、
    前記サスペンド認証ステップは、パスワード認証手段、指紋認証手段、顔認証手段、認証サーバによるサーバ認証手段、ICカード認証手段、静脈認証手段、彩認証手段及び2要素認証手段からなる群の内から選択される1以上の認証手段による認証ステップを前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  22. 請求項19に記載の電子データ管理装置用プログラムにおいて、
    実行する時間帯を示すタイムテーブルの情報に基づいて前記データ削除ステップを前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  23. 請求項22に記載の電子データ管理装置用プログラムにおいて、
    移動通信基地局若しくは全地球航法衛星システム(GNSS)による位置情報に基づいて許可された地域範囲の中に前記電子データ管理装置が位置するときに、前記データ削除ステップが実行されず、前記地域範囲の外に前記電子データ管理装置が位置するときに前記データ削除ステップを前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  24. 請求項22に記載の電子データ管理装置用プログラムにおいて、
    前記電子データ管理装置が前記認証手段と通信できない場合に前記データ削除ステップを前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  25. 請求項22に記載の電子データ管理装置用プログラムにおいて、
    前記電子データ管理装置が時間情報手段から取得した時間情報が設定時間外の場合に前記データ削除ステップを前記電子データ管理装置に実行させることを特徴とする電子データ管理装置用プログラム。
  26. 請求項17乃至25の中から選択される1項に記載の電子データ管理装置用プログラムを記録した電子データ管理装置用プログラムの記録媒体。
JP2020565614A 2019-01-09 2019-11-27 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体 Active JP6949338B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019001541 2019-01-09
JP2019001541 2019-01-09
PCT/JP2019/046306 WO2020144961A1 (ja) 2019-01-09 2019-11-27 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体

Publications (2)

Publication Number Publication Date
JPWO2020144961A1 JPWO2020144961A1 (ja) 2021-09-09
JP6949338B2 true JP6949338B2 (ja) 2021-10-13

Family

ID=71521183

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020565614A Active JP6949338B2 (ja) 2019-01-09 2019-11-27 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体

Country Status (5)

Country Link
US (1) US11874954B2 (ja)
EP (1) EP3910485B1 (ja)
JP (1) JP6949338B2 (ja)
CN (1) CN113302598B (ja)
WO (1) WO2020144961A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022097174A (ja) * 2020-12-18 2022-06-30 東芝テック株式会社 制御装置及びその起動方法、ならびに電気機器

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5055492B2 (ja) 2001-05-07 2012-10-24 サイエンスパーク株式会社 電子計算機のインターフェースドライバプログラム及びその記録媒体
US7376968B2 (en) * 2003-11-20 2008-05-20 Microsoft Corporation BIOS integrated encryption
US20150199414A1 (en) * 2005-12-30 2015-07-16 David E. Braginsky Locally cached file system
JP5156559B2 (ja) 2008-09-17 2013-03-06 サイエンスパーク株式会社 電子計算機のデータ管理方法、そのためのプログラム
JP5379520B2 (ja) * 2009-02-27 2013-12-25 サイエンスパーク株式会社 ディジタルコンテンツ管理用電子計算機、そのためのプログラム、プログラムの記録媒体、及び、ディジタルコンテンツ管理システム
CN101853363B (zh) * 2010-05-07 2012-08-08 飞天诚信科技股份有限公司 一种文件保护方法及***
JP4945669B2 (ja) 2010-08-18 2012-06-06 株式会社日立ソリューションズ データ処理制御方法、情報処理装置、及びデータ処理制御システム
KR101615571B1 (ko) * 2011-12-22 2016-04-26 인텔 코포레이션 상시 가용성 임베디드 도난 반응 서브 시스템
JP6095330B2 (ja) 2012-11-13 2017-03-15 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP6623321B2 (ja) 2014-01-21 2019-12-25 サイエンスパーク株式会社 ネットワークシステム用電子データの管理方法、そのためのプログラム及び、プログラムの記録媒体
JP6483459B2 (ja) * 2015-02-10 2019-03-13 株式会社アール・アイ ファイル管理システム及びファイル管理プログラム
JP6270780B2 (ja) 2015-06-25 2018-01-31 横河レンタ・リース株式会社 データ管理装置、データ管理方法、及びデータ管理プログラム
JP6761921B2 (ja) * 2015-10-28 2020-09-30 サイエンスパーク株式会社 電子データの管理方法、管理プログラム、及びプログラムの記録媒体
US10516533B2 (en) * 2016-02-05 2019-12-24 Mohammad Mannan Password triggered trusted encryption key deletion

Also Published As

Publication number Publication date
US20220083697A1 (en) 2022-03-17
CN113302598B (zh) 2023-11-07
JPWO2020144961A1 (ja) 2021-09-09
US11874954B2 (en) 2024-01-16
EP3910485B1 (en) 2023-08-23
EP3910485A4 (en) 2022-02-23
EP3910485A1 (en) 2021-11-17
CN113302598A (zh) 2021-08-24
WO2020144961A1 (ja) 2020-07-16

Similar Documents

Publication Publication Date Title
JP4787263B2 (ja) 電子計算機のデータ管理方法、プログラム、及び記録媒体
US8041787B2 (en) Application software and data management method, management system, and thin client terminal, management server and remote computer used therefor
US20080155216A1 (en) Protection and Recovery System for Automatic Disk Recovery
US20100153716A1 (en) System and method of managing files and mobile terminal device
CN109086620B (zh) 基于移动存储介质的物理隔离双***构建方法
JP2004234053A (ja) コンピュータシステム、コンピュータ装置、記憶装置のデータ保護方法、およびプログラム
WO2008001823A1 (fr) procédé de gestion de données informatiques, programme et support d'enregistrement
JP4185546B2 (ja) 情報漏洩抑止装置、情報漏洩抑止プログラム、情報漏洩抑止記録媒体、及び情報漏洩抑止システム
JP2007148466A (ja) 可搬型記憶装置及びos
JP6949338B2 (ja) 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体
JP2009223787A (ja) 情報処理装置及び方法、並びにプログラム
JP2006139489A (ja) 共同利用パソコンシステムの環境復元方法および共同利用パソコン
CN110673863A (zh) 支持可插拔外部存储的智能锁***以及智能升级的方法
JP2021174432A (ja) 電子データ管理方法、電子データ管理装置、そのためのプログラム及び記録媒体
JP4314311B2 (ja) 情報処理装置および情報処理システム
KR101893950B1 (ko) 랜부팅 환경 기반 파일 보안 및 중앙화를 위한 장치, 이를 위한 방법 및 이 방법을 수행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체
JP5146880B2 (ja) 情報管理装置、情報管理システム、情報管理プログラム、及び情報管理方法
JP2009169868A (ja) 記憶領域アクセス装置及び記憶領域のアクセス方法
JP2010072885A (ja) 電子計算機のデータ管理方法、そのためのプログラム
JP5003565B2 (ja) セキュリティ管理システム、セキュリティ管理方法、及びセキュリティ管理プログラム
KR101161686B1 (ko) 보안 기능을 구비한 메모리 장치 및 그 보안 방법
JP2022131749A (ja) 電子データ管理装置、電子データ管理システム、そのためのプログラム及び記録媒体
JP5295156B2 (ja) 情報処理装置及びソフトウェアの不正使用防止方法
KR100901014B1 (ko) 가상 환경상에서의 응용 프로그램 실행 장치 및 방법
JP2007141180A (ja) 情報処理システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201216

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201216

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201216

AA64 Notification of invalidation of claim of internal priority (with term)

Free format text: JAPANESE INTERMEDIATE CODE: A241764

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210119

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20210401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210709

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: 20210824

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210910

R150 Certificate of patent or registration of utility model

Ref document number: 6949338

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150