以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する。
(実施の形態)
実施の形態について、図1〜図15を参照しながら具体的に説明する。
[ファイル共有システムのハードウェア構成]
まず、ファイル共有システムのハードウェア構成について、図1を参照しながら説明する。図1は、実施の形態に係るファイル共有システム100のハードウェア構成図である。ファイル共有システム100は、データ共有システムの一例であり、NAS(Network Attached Storage)10aと、PC(Personal Computer)20a、20b、20cと、スマートフォン20dと、を備える。
NAS10aは、LAN200に接続されており、PC20a、20b、20c及びスマートフォン20dとデータを送受信することができる。なお、LAN200は、ネットワークの一例であり、これに限定されない。
PC20a、20b、20cは、プロセッサ、メモリ、ディスプレイ及び入力デバイス等を備える。PC20a、20b、20cは、LAN200に接続される。
スマートフォン20dは、プロセッサ、メモリ及びタッチスクリーン等を備える。スマートフォン20dは、NAS10aに無線で直接接続できる。また、スマートフォン20dは、無線アクセスポイント(WAP)等を介してLAN200に接続されてもよい。
[NASのハードウェア構成]
図1に示すように、NAS10aは、有線LAN(Local Area Network)モジュール11aと、無線LANモジュール11bと、HDD(Hard Disk Drive)12a、12bと、RAID(Redundant Arrays of Inexpensive Disks)モジュール12dと、SD(Secure Digital)カード12eと、SoC(System on a Chip)13aと、DDR SDRAM(Double Data Rate Synchronous Dynamic Random-Access Memory)13bと、を備える。
有線LANモジュール11aは、LANケーブル等が接続されるコネクタ(例えばRJ−45)と、通信用電子回路と、を備える。有線LANモジュール11aは、コネクタに接続されたLANケーブルを介して、NAS10aをネットワークに接続する。
無線LANモジュール11bは、アンテナと、通信用電子回路と、を備えアクセスポイント(WAP)として機能する。無線LANモジュール11bは、電磁波を介して、NAS10aをスマートフォン20dに直接接続する。また、無線LANモジュール11bは、WAP等を介して、NAS10aをLAN200に接続してもよい。
HDD12a、12bの各々は、デジタルデータを格納及び読出する磁気記憶装置であり、SATA(Serial ATA)を介してRAIDモジュール12dに接続されている。
SDカード12eは、SDカードコネクタに着脱可能な不揮発性の半導体メモリである。SDカード12eは、プログラム及び設定データを記憶する。
RAIDモジュール12dは、データの冗長性及び/又はパフォーマンスを向上させるために、複数台の物理的なHDDを1台の論理的な記憶ユニットに結合する。例えば、RAIDモジュール12dは、ミラーリング処理(RAID1)及びディスク管理などを行う。
SoC13aは、有線LANモジュール11a、無線LANモジュール11b、RAIDモジュール12d等の動作を制御する集積回路である。
DDR SDRAM13bは、揮発性の半導体メモリである。DDR SDRAM13bは、例えばSoC13aによって作業用の記憶領域として用いられる。
[ファイル共有システムの機能構成]
次に、ファイル共有システム100の機能構成について図2を参照しながら具体的に説明する。図2は、実施の形態に係るファイル共有システム100の機能構成を示すブロック図である。ファイル共有システム100は、機能的には、ストレージ装置10及び端末装置20を備える。
[ストレージ装置の機能構成]
まず、ストレージ装置10の機能構成について説明する。例えば、図1のNAS10aが図2のストレージ装置10として機能する。図2に示すように、ストレージ装置10は、通信部11と、ストレージ部12と、制御部13と、を備える。
通信部11は、第1通信部の一例であり、例えば図1の有線LANモジュール11a及び/又は無線LANモジュール11bによって実現される。通信部11は、端末装置20とネットワークを介して通信する。具体的には、通信部11は、端末装置20から第2鍵データを含む解錠信号を受信する。さらに、通信部11は、端末装置20から施錠信号を受信する。
解錠信号とは、予め記憶された共有設定データに基づくファイル又はファイルセットの共有サービスを有効化するための信号である。施錠信号とは、解錠信号によって有効化されたファイル又はファイルセットの共有サービスを無効化するための信号である。解錠信号及び施錠信号はHTTP(Hypertext Transfer Protocol)などの一般的な通信プロトコルで通信される。この場合、鍵データが盗み取られないように、SSL(Secure Sockets Layer)/TLS(Transport Layer Security)を使用して暗号化して通信するHTTPS(Hypertext Transfer Protocol Secure)のようなセキュアな通信プロトコルが好ましい。
共有サービスとは、ネットワーク接続されたコンピュータに格納されたデータを、例えばファイル単位、又は、複数のファイルからなるファイルセット(例えばフォルダ)単位で、ネットワーク上の他のコンピュータからアクセス可能にするサービスである。なお、データを共有する単位は、ファイル又はフォルダに限定される必要はなく、例えばドライブ単位であってもよい。
鍵データとは、ファイル又はファイルセットの共有サービスを有効化するための解錠信号の正当性を検証するためのデータである。
ストレージ部12は、例えば図1のHDD12a、12b、RAIDモジュール12d、及びSDカード12eによって実現される。ストレージ部12は、例えばHDD12a、12bにファイルを格納する。さらに、ストレージ部12は、例えばSDカード12eに、共有ファイルをネットワーク上で共有するための共有設定データと第1鍵データとを対応付けて格納する。
ファイルとは、ファイルシステムによって管理されるデータである。ここでは、ファイルは、データの一例であり、フォルダによってグループ化される。フォルダとは、ファイルをグループ化するためのデータである。フォルダは、ディレクトリと呼ばれることもある。なお、ストレージ部12に格納されるデータは、ファイルに限定されない。
制御部13は、第1制御部の一例であり、例えば図1のSoC13a及びDDR SDRAM13bによって実現される。制御部13は、通信部11及びストレージ部12を制御する。
具体的には、制御部13は、通信部11が端末装置20から第2鍵データを含む解錠信号を受信した場合に、受信された解錠信号に含まれる第2鍵データがストレージ部12に記憶されている第1鍵データと一致するか否かを判定する。ここで、第2鍵データが第1鍵データと一致する場合には、制御部13は、(i)共有名を新たに生成し、(ii)第1鍵データに対応する共有設定データを用いて、生成された共有名で、ファイルのネットワーク上での共有サービスを有効化し、(iii)生成された共有名を端末装置20に送信する。つまり、制御部13は、第2鍵データが第1鍵データと一致する場合に、新たに生成した共有名でファイルの共有サービスの有効化を許可し、第2鍵データが第1鍵データと一致しない場合にファイルの共有サービスの有効化を禁止する。ファイルの共有サービスが有効化される場合には、新たに生成された共有名が端末装置20に通知され、当該共有名で共有サービスが有効化される。
また、制御部13は、有効化されたファイルの共有サービスを無効化する。つまり、制御部13は、ファイルの共有サービスを一旦停止する。例えば、通信部11が端末装置20から施錠信号を受信した場合に、制御部13は、有効化されたファイルの共有サービスを無効化する。また例えば、端末装置20からファイルへ最後にアクセスがあった時刻からの経過時間が閾値時間以上であるか否かを判定し、経過時間が閾値時間以上である場合に、有効化されたファイルの共有サービスを無効化する。経過時間は、例えばストレージ装置10のシステムクロックに基づいて計測される。
[端末装置の機能構成]
次に、端末装置20の機能構成について説明する。例えば、図1のPC20a、20b、20c及びスマートフォン20dの各々が図2の端末装置20として機能する。図2に示すように、端末装置20は、通信部21と、制御部24と、表示部22と、入力部23と、を備える。
通信部21は、第2通信部の一例であり、例えば有線LANモジュール又は無線LANモジュールにより実現される。通信部21は、ストレージ装置10とネットワークを介して通信する。
表示部22は、例えば液晶ディスプレイ又は有機ELディスプレイにより実現される。表示部22は、グラフィカルユーザインタフェース(GUI)を表示する。
入力部23は、例えばキーボード及びマウスの少なくとも一方により実現される。また、入力部23は、タッチスクリーンにより実現されてもよい。入力部23は、ユーザから入力を受け付ける。
制御部24は、第2制御部の一例であり、例えばプロセッサ及びメモリにより実現される。制御部24は、通信部21、表示部22及び入力部23を制御する。具体的には、制御部24は、第2鍵データの入力画面を表示部22に表示する。そして、制御部24は、入力部23を介して第2鍵データを受け付ける。それから、制御部24は、通信部21を介して、入力部23を介して受け付けた第2鍵データを含む解錠信号をストレージ装置10に送信する。
[ファイル共有システムの動作]
次に、以上のように構成されたファイル共有システム100の動作について、図3〜図15を参照しながら説明する。
[共有設定処理]
まず、ストレージ装置10が共有サービスを提供するための共有設定処理について、図3を参照しながら説明する。図3は、実施の形態に係るファイル共有システム100における共有設定処理の一例を示すシーケンス図である。なお、共有設定処理の通信においても、前述のHTTPSのようなセキュアは通信プロトコルを使用するのが好ましい。
端末装置20はストレージ装置10に対して、認証画面要求信号を送信する。ストレージ装置10の制御部13は、端末装置20からの要求に基づいて、共有設定のための認証画面を端末装置20に送信する。端末装置20の制御部24は、認証画面を表示部22に表示し、入力部23を介してストレージ装置10の管理者から認証情報の入力を受け付ける(S101)。ここでは、認証情報は、ユーザ識別子及びパスワードを含み、ストレージ装置10に送信される。
ストレージ装置10の制御部13は、端末装置20から受信したユーザ識別子及びパスワードに基づいてユーザ認証を行う(S102)。ここで、ユーザ認証が成功すれば、制御部13は、共有フォルダの登録画面を端末装置20に送信する。
端末装置20の制御部24は、登録画面を表示部22に表示する(S103)。このとき、登録画面の表示には、例えば、ファイル共有システム100に専用のアプリケーションプログラムが用いられてもよいし、汎用のアプリケーションプログラム(例えばインターネットブラウザ等)が用いられてもよい。
端末装置20の制御部24は、入力部23を介して、管理者から、共有設定データ及びユーザID並びに必要に応じてセキュリティキーの入力を受け付ける(S104)。具体的には、制御部24は、通常の共有フォルダのための共有設定データであれば、セキュリティキーの入力を受け付けず、セキュリティフォルダのための共有設定データであれば、セキュリティキーの入力を受け付ける。ここで受け付けられた共有設定データ及びユーザID並びにセキュリティキーは、ストレージ装置10に送信される。
セキュリティフォルダは、共有秘匿フォルダの一例であり、通常の共有フォルダよりも高い安全性を実現できる共有フォルダである。セキュリティフォルダと通常の共有フォルダとの違いについては、後述するアクセス処理等の説明で明らかにする。
ここで入力されるセキュリティキーは、第1鍵データに相当する。セキュリティキーは、セキュリティフォルダとユーザを特定し、当該セキュリティフォルダに対する解錠信号の正当性を検証するための文字列データである。文字列データは、文字、数値、記号及びそれらの任意の組合せを示す。また、ユーザIDは、第1ユーザ識別子に相当し、利用者を特定するためのデータである。
ストレージ装置10の制御部13は、端末装置20から受信した共有設定データ及びユーザIDをストレージ部12に格納する(S105)。セキュリティキーを受信した場合には、制御部13は、共有設定データとセキュリティキー及びユーザIDとを対応付けてストレージ部12に格納する。
ストレージ装置10の制御部13は、ストレージ部12に格納された共有設定データに基づいて、通常の共有フォルダの共有サービスを開始する(S106)。ここでは、セキュリティフォルダの共有サービスはまだ開始されない。
[共有フォルダの登録画面]
ここで、図3のステップS103において表示される登録画面の一例について、図4を参照しながら具体的に説明する。図4は、実施の形態における共有フォルダの登録画面30の一例を示す図である。
登録画面30は、共有フォルダの設定をストレージ装置10に登録するためのGUIである。登録画面30は、GUI部品であるウィジェット31〜39を含む。
ウィジェット31は、共有フォルダの名称(以下、共有名という)を入力するためのテキストボックスを含む。管理者は、入力部23を介してウィジェット31に共有名を表す文字列を入力する。
共有名は、ネットワーク上におけるフォルダの名称又はその一部を示す。この共有名は、ストレージ装置10内におけるフォルダの名称と共用されてもよい。
ウィジェット32は、共有フォルダにセキュリティフォルダの設定を行うか否かを入力するためのチェックボックスを含む。管理者は、入力部23を介してウィジェット32にチェックマークを入力する。ここでは、チェックマークが付された場合に、セキュリティフォルダの設定が有効となり、チェックマークが付されなかった場合に、セキュリティフォルダの設定が無効となる。
ウィジェット33は、共有フォルダに隠しフォルダの設定を行うか否かを入力するためのチェックボックスを含む。隠しフォルダとは、隠し共有を意味し、ネットワーク上の機器において共有フォルダの一覧に表示されない共有フォルダのことである。つまり、隠しフォルダの共有名は、ネットワークに対して公開されない。ここでは、ウィジェット33にチェックマークが付された場合、例えばウィジェット31に入力された共有名の末尾に「$」が自動的に付される。
ウィジェット34は、ウィジェット31に入力された共有名のフォルダの利用者を入力するためのリストボックスを含む。管理者は、入力部23を介して、ユーザIDのリストの中からユーザIDを選択する。ユーザIDのリストは、予め登録されたユーザIDを含む。
ウィジェット35は、セキュリティキーを入力するためのテキストボックスを含む。このテキストボックスは、ウィジェット32においてチェックボックスにチェックマークが付された場合に入力が許可される。管理者は、入力部23を介してウィジェット35にセキュリティキーに対応する文字列を入力する。
ウィジェット36Aは、アップロード専用属性を入力するためのチェックボックスを含む。このチェックボックスは、ウィジェット32においてチェックボックスにチェックマークが付された場合に入力が許可される。
アップロード専用属性とは、アップロード専用であるか否かを示す情報であり、アクセス権限とは別に設定される。アップロード専用とは、セキュリティフォルダへのファイルのアップロード専用の第1インタフェイス画面を表示することで、セキュリティフォルダからのファイルのダウンロードを制限することを意味する。管理者は、チェックボックスにチェックマークを入力することにより、ウィジェット35に入力されたセキュリティキーに対してアップロード専用を設定する。
ウィジェット36Bは、ウィジェット34、35及び36Aに入力されたユーザID、セキュリティキー及びアップロード専用属性のセットを一時的に保存するためのボタンを含む。ウィジェット35、36Bにより、セキュリティキー及びユーザIDのセットを複数登録することができる。
ウィジェット37は、ウィジェット36Bによって一時的に保存されたユーザIDのリストと、リスト内のユーザIDを選択するためのチェックボックスと、チェックマークが付されたユーザID及びそれに対応するセキュリティキーを削除するためのボタンと、を含む。管理者は、チェックボックスにチェックマークを入力して削除ボタンを押すことにより、チェックマークに対応するユーザID及びセキュリティキーのセットを削除することができる。
ウィジェット38は、共有フォルダのアクセス制限のためのラジオボタンを含む。予め登録された利用者であれば誰でも共有フォルダにフルアクセス可能な場合には、「全施錠/解錠ユーザアクセス可能」のラジオボタンが選択され、利用者毎にアクセス権限が管理される場合には「アクセス制限設定」のラジオボタンが選択される。「アクセス制限設定」のラジオボタンが選択された場合には、読み取り専用ユーザ及び読み書き可能ユーザを個別に設定可能な画面に遷移する。
ウィジェット39は、ウィジェット31〜38に入力された共有設定データを登録するか破棄するかを指示するためのボタンを含む。「保存」ボタンが押された場合に、共有設定データがストレージ装置10に送信される。
[共有設定テーブルの具体例]
次に、図3のステップS105でストレージ部12に格納される共有設定データについて、図5を参照しながら具体的に説明する。図5は、実施の形態における共有設定テーブル40の一例を示す図である。
共有設定テーブル40は、アクセス権限リストの一例である。共有設定テーブル40は、共有設定データと第1鍵データ及び第1ユーザ識別子とを対応付けて記録するテーブルデータである。共有設定テーブル40は、共有設定データとして、共有名41、セキュリティフォルダ設定42、アクセス権限45、及びアップロード専用46を含み、第1鍵データとしてセキュリティキー43を含み、第1ユーザ識別子としてユーザID44を含む。共有設定テーブル40には、同一の共有設定データに対して複数の第1鍵データ及び第1ユーザ識別子のセットを対応付けることもできる。
共有名41には、図3の共有名のためのウィジェット31に入力された文字列データが登録される。なお、隠しフォルダ設定のウィジェット33にチェックマークが付されていた場合には、ウィジェット31に入力された文字列データの末尾に「$」が付されたものが登録される。
セキュリティフォルダ設定42には、図3のセキュリティフォルダ設定のためのウィジェット32の入力に対応するデータが登録される。ここでは、ウィジェット32にチェックマークが付された場合に「true」が登録され、ウィジェット32にチェックマークが付されなかった場合に「false」が登録される。
セキュリティキー43には、図3のセキュリティキーのためのウィジェット32に入力された文字列データが登録される。このセキュリティキー43は、第1鍵データに相当する。
ユーザID44には、セキュリティキー43に対応するユーザIDが登録される。
アクセス権限45には、ユーザID44に対するアクセス権限属性が登録される。アクセス権限45には、例えば、読み取り専用の権限を示す「読み取り」及び読み書き可能な権限を示す「読み書き」のいずれかが登録される。
アップロード専用46には、セキュリティキー43に対するアップロード専用属性が登録される。例えば、アップロード専用である場合にはアップロード専用46に「有効」が登録される。また、アップロード専用でない場合にはアップロード専用46に「無効」が登録される。なお、アクセス権限45に「読み書き」が登録されている場合にのみ、アップロード専用46に「有効」が登録され得る。
図5の共有設定テーブル40では、例えば、「SF1」の共有設定データに対応付けて、「SF1−KEY1」のセキュリティキー、及び、読み取り専用の「USER1」が格納されている。また例えば、「SF1」の共有設定データに対応付けて、「SF1−KEY2」のセキュリティキー、共有名又は共有名の一部として利用される「SF1」、及び、読み書き可能なアクセス権限を有するがアップロード専用の「USER2」が格納されている。
[通常の共有フォルダへのアクセス処理]
次に、図3のステップS106で共有サービスが開始された後の通常の共有フォルダへのアクセス処理について、図6を参照しながら説明する。図6は、実施の形態に係るファイル共有システム100における通常の共有フォルダへのアクセス処理の一例を示すシーケンス図である。
端末装置20の制御部24は、入力部23における利用者の操作に従って、通常の共有フォルダへのアクセス信号をストレージ装置10に送信する(S111)。このアクセス信号には、通常の共有フォルダのパスが含まれる。
共有フォルダへのアクセス信号は、例えば、共有フォルダへの接続を要求するための信号である。
パスとは、ネットワーク上のリソースの位置を示すネットワークパスを意味する。共有フォルダのパスは、フォルダの共有名を含む。例えば、ネットワークパスは、UNC(Universal Naming Convention)に基づいて決定される。
ストレージ装置10の制御部13は、端末装置20の利用者が未認証である場合に、端末装置20に認証情報を要求する(S112)。端末装置20の制御部24は、例えば認証画面を表示部22に表示する。そして、制御部24は、入力部23を介して、利用者から認証情報(例えばユーザID及びパスワード)の入力を受け付ける(S113)。入力された認証情報は、ストレージ装置10に送信される。ストレージ装置10の制御部13は、端末装置20から受信した認証情報に基づいてユーザ認証を行う(S114)。その後、認証結果に基づいて、アクセス信号に対する応答信号が端末装置20に送信される。
このステップS112〜ステップS114のユーザ認証に関する処理には、従来技術が採用されてもよい。なお、端末装置20の利用者が既に認証済みである場合には、ステップS112〜ステップS114の処理はスキップされてもよい。
端末装置20の制御部24は、ファイル操作のための入力を利用者から受け付け、ファイル操作信号をストレージ装置10に送信する(S115)。ファイル操作信号は、例えば、共有フォルダ内のファイル一覧を要求するための信号であってもよいし、共有ファルダ内のファィルの読み取り又は書き込みのための信号であってもよい。
ストレージ装置10の制御部13は、ユーザ認証が成功した場合に、利用者のアクセス権限に基づいて、ファイル操作信号に対応するファイル操作を行い、操作結果に対応する応答信号を端末装置20に送信する(S116)。この処理にも、従来技術が採用されてもよい。例えば、図5における「NF1」の共有フォルダ内のファイルの読み取りのためのファイル操作信号を受信した場合、認証された利用者が「USER3」であれば操作が禁止され、認証された利用者が「USER1」又は「USER2」であれば操作が許可される。一方、「NF1」の共有フォルダ内のファイルの書き込みのためのファイル操作信号を受信した場合、認証された利用者が「USER1」又は「USER3」であれば操作が禁止され、認証された利用者が「USER2」であれば操作が許可される。
なお、通常の共有フォルダが隠しフォルダに設定されていても、その共有名を含むファイル操作信号を受信した場合には、利用者のアクセス権限に基づいて、ファイル操作信号に対応する、隠しフォルダ内のファイルに対する操作を行うことが許可される。
[セキュリティフォルダへのアクセス処理]
次に、図3のステップS106で共有サービスが開始された後のセキュリティフォルダへのアクセス処理について、図7〜図8Bを参照しながら説明する。図7は、実施の形態に係るファイル共有システム100におけるセキュリティフォルダへのアクセス処理の失敗例を示すシーケンス図である。
端末装置20の制御部24は、入力部23に対する利用者の操作に従って、セキュリティフォルダへのアクセス信号をストレージ装置10に送信する(S121)。このアクセス信号には、セキュリティフォルダのパスが含まれる。
ストレージ装置10の制御部13は、セキュリティフォルダの共有サービスをまだ提供していないので、アクセス信号に対して応答しない(S122)。つまり、セキュリティフォルダのパスはまだ存在しないので、操作信号に対する応答信号が端末装置20に送信されない。
端末装置20の制御部24は、ファイル操作信号を送信した時刻からの経過時間が閾値時間を超えたときに、エラーメッセージを表示部22に表示する(S123)。例えば、アプリケーションの最近使った項目からセキュリティフォルダ内のファイルを開こうとしても、ストレージ装置10から応答がないのでアプリケーションはエラーを表示する。
以上のように、通常の共有フォルダの共有サービスが提供されている場合であっても、セキュリティフォルダの共有サービスは、まだ有効化されていないので、ネットワーク上にセキュリティフォルダは存在しない。
そこで、セキュリティフォルダにアクセスするための方法を、図8A及び図8Bを参照しながら説明する。図8Aは、実施の形態に係るファイル共有システム100におけるセキュリティフォルダへの1回目のアクセス処理の成功例を示すシーケンス図である。図8Bは、実施の形態に係るファイル共有システム100におけるセキュリティフォルダへの2回目のアクセス処理の成功例を示すシーケンス図である。
まず、図8Aに示すように、第1利用者の端末装置20の制御部24は、セキュリティフォルダの第1解錠信号をストレージ装置10に送信する(S131A)。この第1解錠信号には、セキュリティフォルダに固有のセキュリティキーが含まれる。ここで、固有とは、少なくともファイル共有システム100内で固有であることを意味し、複数のファイル共有システムにおいて固有である必要はない。第1解錠信号の送信のためのGUIについては、図9を用いて後述する。
ストレージ装置10の制御部13は、第1解錠信号に含まれるセキュリティキーに対応するセキュリティフォルダのネットワーク上での共有サービスを有効化する(S132A)。この共有サービスの有効化により、セキリティキーに対応付けられたユーザID及び第1解錠信号の送信元のIPアドレスのみがセキュリティフォルダにアクセス可能となる。このとき、セキュリティフォルダの第1共有名が新たに生成され、生成された第1共有名とアップロード専用属性とを含む応答信号がストレージ装置10から端末装置20に送信される。このステップS132Aの処理の詳細については、図10及び図11を用いて後述する。
なお、ユーザID及びIPアドレスのみがセキュリティフォルダにアクセス可能な共有サービス(ここでは、便宜上、第1共有サービスという)とは、当該ユーザID及び当該IPアドレスとは異なる他のユーザID及び他のIPアドレスでセキュリティフォルダにアクセス不可能な共有サービスを意味する。なお、第1共有サービスが有効化されている状態で、他のユーザID及び他のIPアドレスのみがセキュリティフォルダにアクセス可能な共有サービス(ここでは、便宜上、第2共有サービスという)が有効化されることは排除されない。つまり、第1共有サービスが有効化された場合であっても、第2共有サービスが有効化されていれば、他のユーザID及び他のIPアドレスでセキュリティフォルダにアクセスすることは可能である。また、一ユーザが、時間的に重複して複数の異なるセキュリティフォルダにアクセスすることも可能である。この場合、セキュリティフォルダごとに共有サービスが有効化され、それぞれ異なる共有名が提供される。
端末装置20の制御部24は、表示部22に、利用者がセキュリティフォルダにアクセスするためのインタフェイス画面を表示する(S134)。具体的には、制御部24は、応答信号に含まれるアップロード専用属性に基づいて、表示部22に第1インタフェイス画面及び第2インタフェイス画面を選択的に表示する。インタフェイス画面の表示の詳細については、図12〜図14を用いて後述する。
端末装置20の制御部24は、応答信号に含まれるセキュリティフォルダの第1共有名に基づいて、セキュリティフォルダへのアクセスを開通するための第1アクセス信号をストレージ装置10に送信する(S121A)。この第1アクセス信号には、セキュリティフォルダの第1共有名を用いた第1パスが含まれる。
ストレージ装置10の制御部13は、端末装置20の利用者が未認証である場合に、端末装置20に認証情報を要求する(S112)。端末装置20の制御部24は、例えば認証画面を表示部22に表示する。そして、制御部24は、入力部23を介して、利用者から認証情報(例えばユーザID及びパスワード)の入力を受け付ける(S113)。入力された認証情報は、ストレージ装置10に送信される。ストレージ装置10の制御部13は、端末装置20から受信した認証情報に基づいてユーザ認証を行う(S114)。その後、認証結果に基づいて、第1アクセス信号に対する応答信号が端末装置20に送信される。
このステップS121A及びステップS112〜ステップS114の処理により、セキュリティフォルダへのアクセスが開通される。なお、ステップS112〜ステップS114のユーザ認証に関する処理は、従来技術が用いられてもよい。なお、端末装置20の利用者が既に認証済みである場合には、ステップS112〜ステップS114の処理はスキップされてもよい。
端末装置20の制御部24は、表示部22に表示されたインタフェイス画面を介して、ファイル操作のための入力を利用者から受け付け、第1ファイル操作信号をストレージ装置10に送信する(S115A)。
ストレージ装置10の制御部13は、ユーザ認証が成功した場合に、第1利用者のアクセス権限に基づいて、第1ファイル操作信号に対応するファイル操作を行い、操作結果に対応する応答信号を端末装置20に送信する(S133A)。このステップS133Aの処理の詳細については、図15を用いて後述する。
セキュリティフォルダ内のファイルに対する操作が完了すれば、端末装置20の制御部24は、例えば入力部23に対する利用者の操作に基づいて、施錠信号をストレージ装置10に送信する(S136)。また例えば、セキュリティフォルダに対して最後に操作があった時刻からの経過時間が閾値時間以上である場合に、制御部24は、施錠信号をストレージ装置10に送信してもよい。つまり、セキュリティフォルダに対する操作が閾値時間以上ない場合に、制御部24は、施錠信号をストレージ装置10に送信してもよい。この場合、端末装置20の制御部24は、インタフェイス画面が表示されている間は施錠信号の送信を禁止してもよい。これにより、インタフェイス画面が表示されているときに施錠信号が送信されることを防ぐことができる。
ストレージ装置10の制御部13は、所定の条件を満たす場合に、セキュリティフォルダの共有サービスを無効化する(S137)。このとき、制御部13は、後述する共有状態テーブルに登録されたレコードを削除する。
所定の条件は、例えば、端末装置20からの施錠信号の受信である。また、所定の条件は、例えば、セキュリティフォルダへ最後にアクセスがあった時刻からの経過時間が閾値時間(例えば30分)以上であることであってもよい。この場合、端末装置20の制御部24は、インタフェイス画面が表示されている間は、セキュリティフォルダへのアクセス信号を閾値時間よりも短い周期(例えば1分周期)で強制的にストレージ装置10に送信してもよい。これにより、端末装置20でインタフェイス画面が表示されているときに、セキュリティフォルダの共有サービスが無効化されることを防ぐことができる。
一方、図8Bに示すように、第2利用者の端末装置20の制御部24は、セキュリティフォルダの第2解錠信号をストレージ装置10に送信する(S131B)。第2解錠信号は、第1解錠信号の後に送信される信号であり、ここでは、第1解錠信号と異なるセキュリティキーを含む。第2解錠信号の送信のためのGUIについては、図9を用いて後述する。
ストレージ装置10の制御部13は、第2解錠信号に含まれるセキュリティキーに対応するセキュリティフォルダのネットワーク上での共有サービスを有効化する(S132B)。この共有サービスの有効化により、セキリティキーに対応付けられたユーザID及び第2解錠信号の送信元のIPアドレスのみがセキュリティフォルダにアクセス可能となる。このとき、セキュリティフォルダの、第1共有名とは異なる第2共有名が新たに生成され、生成された第2共有名とアップロード専用属性とを含む応答信号がストレージ装置10から端末装置20に送信される。このステップS132Bの処理の詳細については、図10及び図11を用いて後述する。
端末装置20の制御部24は、表示部22に、利用者がセキュリティフォルダにアクセスするためのインタフェイス画面を表示する(S134)。インタフェイス画面の表示の詳細については、図12〜図14を用いて後述する。
端末装置20の制御部24は、応答信号に含まれるセキュリティフォルダの第2共有名に基づいて、セキュリティフォルダにアクセスするための第2アクセス信号をストレージ装置10に送信する(S121B)。この第2アクセス信号には、セキュリティフォルダの第2共有名を用いた第2パスが含まれる。
その後、ステップS112〜ステップS114のユーザ認証に関する処理が必要に応じて行わる。このステップS121B及びステップS112〜ステップS114の処理により、セキュリティフォルダへのアクセスが開通される。
端末装置20の制御部24は、ファイル操作のための入力を利用者から受け付け、第2ファイル操作信号をストレージ装置10に送信する(S115B)。
ストレージ装置10の制御部13は、ユーザ認証が成功した場合に、第2利用者のアクセス権限に基づいて、第2ファイル操作信号に対応するファイル操作を行い、操作結果に対応する応答信号を端末装置20に送信する(S133B)。このステップS133Bの処理の詳細については、図15を用いて後述する。
[解錠信号の送信画面]
ここで、図8AのステップS131A及び図8BのステップS131Bにおいて表示される解錠信号の送信画面の一例について、図9を参照しながら具体的に説明する。図9は、実施の形態における解錠信号の送信画面の一例を示す図である。
図9において、端末装置20の制御部24は、タスクバー上のアイコン51に対する入力部23による操作(例えば右クリック)が検出されたときに、第1コンテクストメニュー52を表示部22に表示する。ここで、第1コンテクストメニュー52内の「SF解錠」に対する入力部23による操作(例えば左クリック)が検出されたときに、制御部24は、第2コンテクストメニュー53を表示部22に表示する。
第2コンテクストメニュー53には、端末装置20にセキュリティキーが予め登録されたセキュリティフォルダ「SF1」、「SF2」及び「SF3」の項目と、端末装置20にセキュリティキーが未登録のセキュリティフォルダのための「任意」の項目とが表示される。
ここで、第2コンテクストメニュー53内の「任意」に対する入力部23による操作(例えば左クリック)が検出されたときに、制御部24は、セキュリティキーの入力ダイアログ54を表示部22に表示する。利用者は、例えば管理者からセキュリティキーを取得し、取得したセキュリティキーを入力ダイアログ54に入力する。ここで、入力ダイアログ54内のOKボタンに対する操作(例えば左クリック)が検出されれば、制御部24は、入力ダイアログ54に入力されたセキュリティキーを含む解錠信号(例えば第1解錠信号又は第2解錠信号)をストレージ装置10に送信する。
一方、第2コンテクストメニュー53内の「SF1」、「SF2」又は「SF3」に対する入力部23による操作(例えば左クリック)が検出された場合は、制御部24は、操作されたセキュリティフォルダに対応付けて端末装置20に予め登録されたセキュリティキーを読み出し、当該セキュリティキーを含む解錠信号をストレージ装置10に送信する。
なお、端末装置20の制御部24は、このような送信画面を用いずに、解錠信号をストレージ装置10に送信してもよい。例えば、制御部24は、キーボード又はマウスによる特定の操作(例えば、マウスジェスチャ又はショートカットキーの入力)を検出した場合に、当該特定の操作に対応するセキュリティキーを含む解錠信号をストレージ装置10に送信してもよい。
[セキュリティフォルダの共有サービスの有効化処理]
次に、図8AのステップS132A及び図8BのステップS132Bにおけるセキュリティフォルダの共有サービスの有効化処理の詳細について、図10を参照しながら具体的に説明する。図10は、実施の形態に係るストレージ装置10による共有サービスの有効化処理を示すフローチャートである。
ストレージ装置10の制御部13は、解錠信号(例えば第1解錠信号又は第2解錠信号)からセキュリティキーを取得する(S1321)。
そして、制御部13は、取得されたセキュリティキーが共有設定テーブルに登録されているか否かを判定する(S1322)。つまり、制御部13は、解錠信号に含まれるセキュリティキーが共有設定テーブルに含まれるセキュリティキーと一致するか否かを判定する。例えば、図5の共有設定テーブル40Aでは、解錠信号にセキュリティキー「SF1−KEY1」、「SF1−KEY2」、「SF2−KEY1」、「SF2−KEY2」又は「SF2−KEY3」が含まれていれば、制御部13は、取得されたセキュリティキーが共有設定テーブル40に登録されていると判定する。
ここで、セキュリティキーが共有設定テーブルに登録されている場合(S1322のYes)、制御部13は、セキュリティキーに対応するセキュリティフォルダの共有名(例えば、第1共有名又は第2共有名)を生成する(S1324)。ここでは、制御部13は、解錠信号を受信するたびに共有名を新たに生成する。具体的には、制御部13は、第1解錠信号を受信した場合に第1共有名を生成し、第2解錠信号を受信した場合に、第1共有名とは異なる第2共有名を生成する。
共有名(第1共有名及び第2共有名)の生成では、制御部13は、例えば、第2文字列をランダムに生成し、セキュリティフォルダに対応する固定の第1文字列と生成された第2文字列とを結合することにより共有名を生成する。固定の第1文字列としては、例えば共有設定テーブル40Aの共有名41を用いることができる。
続いて、制御部13は、生成された共有名を用いて、セキュリティキーに対応するセキュリティフォルダの共有サービスを有効化する(S1325)。ここでは、制御部13は、セキュリティキーに対応するユーザID及び解錠信号の送信元のIPアドレスのみがセキュリティフォルダにアクセス可能な共有サービスを有効化する。つまり、ここで有効化された共有サービスでは、セキュリティフォルダにアクセス可能な利用者及び端末装置20が、セキュリティキーに対応するユーザIDによって特定される利用者及び解錠信号の送信元のIPアドレスを有する端末装置20に限定される。例えば、図5の共有設定テーブル40Aでは、解錠信号にセキュリティキー「SF1−KEY1」が含まれている場合に、制御部13は、「SF1」から生成された共有名のセキュリティフォルダの共有サービスを、「USER1」に限定して有効化する。
さらに、制御部13は、有効化されたセキュリティフォルダの共有名、解錠信号の送信元のIPアドレス、及び、ユーザIDを共有状態テーブルに登録する(S1326)。なお、送信元のIPアドレスは解錠信号から取得できる。その後、制御部13は、セキュリティフォルダの共有名を端末装置20に送信する(S1327)。
一方、セキュリティキーが共有設定テーブルに登録されていない場合(S1322のNo)、制御部13は、エラー応答を端末装置20に送信する(S1328)。つまり、解錠信号に含まれるセキュリティキーが共有設定テーブルに登録されたセキュリティキーと一致しない場合、制御部13は、セキュリティフォルダの共有サービスの有効化を禁止する。
[共有状態テーブルの具体例]
ここで、ステップS1326における共有状態テーブルの具体例について、図11を参照しながら説明する。図11は、実施の形態における共有状態テーブル60の一例を示す図である。共有状態テーブル60は、共有名61と、IPアドレス62と、ユーザID63と、を含む。
共有名41には、解錠信号に含まれるセキュリティキーに対応するセキュリティフォルダ、つまり、共有サービスが有効化されたセキュリティフォルダの共有名が登録される。IPアドレス62には、解錠信号の送信元のIPアドレスが登録される。ユーザID63には、セキュリティキーに対応するユーザIDが登録される。
例えば、ストレージ装置10が「192.168.0.1」のIPアドレスを有する端末装置20から、セキュリティキー「SF1−KEY1」を含む第1解錠信号を受信した場合、図11に示すように「SF1_XYZ」の第1共有名が新たに生成される。そして、「SF1_XYZ」、「192.168.0.1」及び「USER1」のレコードが共有状態テーブル60に登録される。それから、ストレージ装置10が施錠信号を受信した場合、図11のレコードは削除される。
また、ストレージ装置10が「192.168.0.2」のIPアドレスを有する端末装置20から、セキュリティキー「SF1−KEY2」を含む第2解錠信号を受信した場合、例えば「SF1_ABC」の第2共有名が新たに生成される。そして、「SF1_ABC」、「192.168.0.2」及び「USER2」のレコードが共有状態テーブル60に登録される。
[インタフェイス画面の表示処理]
ここで、ステップS134におけるインタフェイス画面の表示処理の詳細について、図12を参照しながら具体的に説明する。図12は、実施の形態に係る端末装置20によるインタフェイス画面の表示処理を示すフローチャートである。
図12に示すように、端末装置20の制御部24は、ストレージ装置10からの応答信号に含まれるアップロード専用属性がアップロード専用であることを示すか否かを判定する(S1341)。
ここで、アップロード専用属性がアップロード専用であることを示す場合(S1341のYes)、端末装置20の制御部24は、表示部22に、第1インタフェイス画面を表示して(S1342)、ステップS134を終了する。第1インタフェイス画面は、セキュリティフォルダの共有名及びセキュリティフォルダ内のファイルの属性情報を表示することなく、ファイルをセキュリティフォルダにアップロードするためのGUIである。つまり、第1インタフェイス画面は、ファイルのアップロード専用画面である。
一方、アップロード専用属性がアップロード専用でないことを示す場合(S1341のNo)、端末装置20の制御部24は、表示部22に、第2インタフェイス画面を表示して(S1343)、ステップS134を終了する。第2インタフェイス画面は、セキュリティフォルダ内のファイルにアクセスするためのGUIである。具体的には、第2インタフェイス画面は、セキュリティフォルダからファイルをダウンロードし、かつ、セキュリティフォルダにファイルをアップロードするためのGUIである。つまり、第2インタフェイス画面は、ファイルのアップロード及びダウンロードで共用の画面である。
ここで、第1インタフェイス画面及び第2インタフェイス画面の具体例を図13及び図14を参照しながら説明する。
図13は、実施の形態における第1インタフェイス画面70の一例を示す図である。第1インタフェイス画面70は、GUI部品としてウィジェット71〜75を含む。
ウィジェット71は、アップロードするファイル及び/又はフォルダのリストを含む。アップロードするファイル及び/又はフォルダとは、セキュリティフォルダへのアップロード対象のファイル及び/又はフォルダを意味する。このリストには、ドラッグ&ドロップによりファイル及び/又はフォルダが登録される。
ウィジェット72は、ウィジェット71のリストに登録されたファイル及び/又はフォルダをセキュリティフォルダにアップロードするためのボタンを含む。利用者は、このボタンを押すことで、リストに登録されたファイル及び/又はフォルダをセキュリティフォルダにアップロードすることができる。また、すべてのファイル及び/又はフォルダのアップロードが完了すれば、リストからファイル及び/又はフォルダの登録が削除される。なお、ファイル及び/又はフォルダのアップロードが完了する都度、リストから当該ファイル及び/又はフォルダの登録が削除されてもよい。
ウィジェット73は、アップロード済みの元ファイル及び/又は元フォルダを削除するか否かを入力するためのチェックボックスを含む。このチェックボックスにチェックが入力されれば、リストに登録されたファイル及び/又はフォルダがアップロードされた後に元ファイル及び/又は元フォルダが削除される。
ウィジェット74は、リストからファイル及び/又はフォルダの登録を削除するためのボタンを含む。利用者は、リスト内のファイル及び/又はフォルダを選択し、ウィジェット74のボタンを押すことで、選択されたファイル及び/又はフォルダをリストから削除することができる。
ウィジェット75は、第1インタフェイス画面70を閉じるためのボタンを含む。利用者は、このボタンを押すことで第1インタフェイス画面70を閉じることができる。
以上のように、第1インタフェイス画面70には、セキュリティフォルダの共有名及びセキュリティフォルダ内のファイルの属性情報が含まれないので、ステップS1342では、共有名及び属性情報が表示されない。
図14は、実施の形態における第2インタフェイス画面80の一例を示す図である。図14では、第2インタフェイス画面80は、いわゆるファイルエクスプローラであり、セキュリティフォルダ(例えば、SF1_XYZ)内のファイルにアクセスするためのGUIである。第2インタフェイス画面80では、セキュリティフォルダ内のファイルを開いたり、削除したりすることができる。さらに、第2インタフェイス画面80では、セキュリティフォルダに新たなファイルを格納することもできる。
図14に示すように、第2インタフェイス画面80には、セキュリティフォルダの共有名81及びセキュリティフォルダのパス82が含まれる。さらに、第2インタフェイス画面80には、セキュリティフォルダ内のファイルの属性情報83が含まれる。ここでは、属性情報83は、ファイルの名称を示す。
[ファイル操作処理]
次に、図8AのステップS133A及び図8BのステップS133Bにおけるセキュリティフォルダ内のファイルの操作処理の詳細について、図15を参照しながら具体的に説明する。図15は、実施の形態におけるストレージ装置10によるファイル操作処理を示すフローチャートである。
ストレージ装置10の制御部13は、ファイル操作信号からセキュリティフォルダの共有名、ユーザID及び送信元のIPアドレスを取得する(S1331)。制御部13は、共有状態テーブルを参照することにより、取得された共有名が、取得されたユーザID及びIPアドレスに対応付けて登録されているか否かを判定する(S1332)。つまり、制御部13は、取得されたユーザID及びIPアドレスでアクセス可能なセキュリティフォルダの共有サービスが有効化されているか否かを判定する。
ここで、共有名がユーザID及びIPアドレスに対応付けられて登録されている場合(S1332のYes)、制御部13は、利用者のアクセス権限に基づいて、ファイル操作信号に対応するファイル操作を行い、操作結果に対応する応答信号を端末装置20に送信する(S1333)。つまり、制御部13は、ファイル操作信号に含まれるユーザID及びファイル操作信号の送信元のIPアドレスでアクセス可能なセキュリティフォルダの共有サービスが有効化されている場合に、ファイル操作信号に対応するファイル操作を許可する。
一方、共有名がユーザID及びIPアドレスに対応付けられていない場合(S1332のNo)、制御部13は、エラー応答を端末装置20に送信する(S1334)。つまり、制御部13は、ファイル操作信号に含まれるユーザID及びファイル操作信号の送信元のIPアドレスでアクセス可能なセキュリティフォルダの共有サービスが有効化されていない場合に、ファイル操作信号に対応するファイル操作を禁止する。
例えば、図11の共有状態テーブル60では、IPアドレス「192.168.0.1」を有する端末装置におけるユーザID「USER1」の利用者から「SF1_XYZ」のセキュリティフォルダに対するファイル操作信号が送信された場合に、当該ファイル操作信号に対応するファイル操作が許可される。
一方、IPアドレス「192.168.0.1」を有する端末装置におけるユーザID「USER2」(※)の利用者から「SF1_XYZ」のセキュリティフォルダに対するファイル操作信号が送信された場合に、当該ファイル操作信号に対応する操作が禁止される(記号※は上記の許可例と異なる部分を示す)。つまり、解錠信号を送信した利用者とは異なる利用者からファイル操作信号が送信されれば、そのファイル操作信号に対応する操作は禁止される。
また、IPアドレス「192.168.0.2」(※)を有する端末装置におけるユーザID「USER1」の利用者から「SF1_XYZ」のセキュリティフォルダに対するファイル操作信号が送信された場合に、当該ファイル操作信号に対応する操作が禁止される(記号※は上記の許可例と異なる部分を示す)。つまり、解錠信号の送信元の端末装置と異なる端末装置からファイル操作信号が送信されれば、そのファイル操作信号に対応する操作は禁止される。
[効果等]
以上のように、本実施の形態に係るファイル共有方法は、セキュリティフォルダを有するストレージ装置10と、ネットワークを介してストレージ装置10に接続される端末装置20との間で、セキュリティフォルダ内のデータを共有するデータ共有方法であって、(A)端末装置20は、ネットワークを介してセキュリティフォルダに固有の解錠信号をストレージ装置10に送信し、(B)ストレージ装置10は、解錠信号を受信した場合に、セキュリティフォルダのネットワーク上での共有を有効化し、セキュリティフォルダの共有名を端末装置20に送信し、(C)端末装置20は、表示部に、セキュリティフォルダの共有名及びセキュリティフォルダ内のデータの属性情報を表示することなく、データをストレージ装置10にアップロードするための第1インタフェイス画面70を表示し、かつ、共有名を使ってセキュリティフォルダへのアクセスを開通し、(D)端末装置20は、表示された第1インタフェイス画面70を通じて、ストレージ装置10にアップロードするデータを選択し、共有名を用いて、選択されたデータをストレージ装置10にアップロードし、(E)ストレージ装置10は、端末装置20からアップロードされたデータをセキュリティフォルダに格納する。
また、本実施の形態に係るファイル共有システム100は、セキュリティフォルダを有するストレージ装置10と、ネットワークを介してストレージ装置10に接続される端末装置20と、を備える。ストレージ装置10は、端末装置20から、セキュリティフォルダに固有の解錠信号を受信する通信部11と、セキュリティフォルダを有するストレージ部12と、通信部11が解錠信号を受信した場合に、セキュリティフォルダのネットワーク上での共有を有効化し、通信部11を介してセキュリティフォルダの共有名を端末装置20に送信する制御部13と、を備える。端末装置20は、解錠信号をストレージ装置10に送信し、ストレージ装置10から共有名を受信する通信部21と、ストレージ装置10から共有名を受信した場合に、表示部22に、セキュリティフォルダの共有名及びセキュリティフォルダ内のデータの属性情報を表示することなく、データをストレージ装置10にアップロードするための第1インタフェイス画面70を表示し、かつ、共有名を使ってセキュリティフォルダへのアクセスを開通する制御部24と、表示された第1インタフェイス画面70を通じて、ストレージ装置10にアップロードするデータの選択を受け付ける入力部23と、を備える。ここで、端末装置20の制御部24は、共有名を用いて、選択されたデータをストレージ装置10にアップロードし、ストレージ装置10の制御部13は、端末装置20からアップロードされたデータをセキュリティフォルダに格納する。
また、本実施の形態に係る端末装置20は、ネットワークを介して、セキュリティフォルダを有するストレージ装置10に接続される端末装置20であって、セキュリティフォルダに固有の解錠信号をストレージ装置10に送信し、ストレージ装置10からセキュリティフォルダの共有名を受信する通信部21と、ストレージ装置10から共有名を受信した場合に、表示部22に、セキュリティフォルダの共有名及びセキュリティフォルダ内のデータの属性情報を表示することなく、データをセキュリティフォルダにアップロードするための第1インタフェイス画面70を表示し、かつ、共有名を使ってセキュリティフォルダへのアクセスを開通する制御部24と、表示された第1インタフェイス画面70を通じて、ストレージ装置10にアップロードするデータの選択を受け付ける入力部23と、を備え、制御部24は、共有名を用いて、選択されたデータをセキュリティフォルダにアップロードする。
これによれば、セキュリティフォルダの共有名及びセキュリティフォルダ内のデータの属性情報を表示することなく、データをストレージ装置10にアップロードするための第1インタフェイス画面70を表示することができる。したがって、利用者は、データをアップロードするための第1インタフェイス画面70を通じてデータをアップロードすることができるが、既にセキュリティフォルダに格納されているデータにアクセスすることができない。さらに、利用者は、共有名等を取得することができないので、他のデータ管理ツール(例えばファイルエクスプローラ等)を用いてセキュリティフォルダ内のデータにアクセスすることもできない。それゆえ、アクセスを制限された利用者がストレージ装置10に格納された共有秘匿フォルダ内のデータにアクセスすることを防ぐことができる。
さらに、ストレージ装置10は、セキュリティフォルダに固有の解錠信号を受信した場合に、セキュリティフォルダのネットワーク上での共有を有効化することができ、利用者のセキュリティフォルダの利用状況に合わせて共有を有効化することも可能となる。その結果、ユーザID、パスワード及び共有名がマルウェア等に漏洩しても、解錠信号が送信されなければ、マルウェア等はセキュリティフォルダ内のデータを書き換えることができないので、セキュリティフォルダ内のデータの安全性を向上させることができる。また、データを共有するための既存の一般的な通信プロトコル(例えばTCP(Transmission Control Protocol)/IP(Internet Protocol)上で動作するSMB(Server Message Block)又はCIFS(Common Internet File System))の実装例では、利用者の利便性を向上させるために、一旦、ユーザID及びパスワードを用いた認証が成功すれば、同じユーザID及びパスワードでアクセス可能なすべての共有フォルダに認証なしでアクセスできてしまうことが多い。しかしながら、ここでは、解錠信号を用いてセキュリティフォルダの共有の有効化を制限することができるので、同じユーザID及びパスワードでアクセス可能なセキュリティフォルダであっても、解錠信号を用いて共有が有効化されていないセキュリティフォルダにはアクセスできない状態をつくることができる。その結果、マルウェア等によるセキュリティフォルダへの攻撃を回避することができ、セキュリティフォルダ内のデータの安全性を向上させることができる。
また、本実施の形態に係るファイル共有方法及びファイル共有システム100において、解錠信号を受信する都度、セキュリティフォルダについて新しい共有名が生成されてもよい。
これによれば、共有名の漏洩に対する安全性を向上させることができる。
また、本実施の形態に係るファイル共有方法、ファイル共有システム100及び端末装置20において、ストレージ装置10は、セキュリティフォルダ毎に、当該セキュリティフォルダに固有の鍵データと、アップロード専用であるか否かを示すアップロード専用属性46とを記述したアクセス権限リスト40を記憶しており、ストレージ装置10は、解錠信号を受信した場合に、アクセス権限リスト40を参照して、解錠信号に含まれる鍵データに対応するアップロード専用属性46を端末装置20に送信し、端末装置20は、アップロード専用属性46がアップロード専用であることを示す場合に、第1インタフェイス画面70を表示し、アップロード専用属性46がアップロード専用でないことを示す場合に、セキュリティフォルダ内のデータ及び共有名を含む第2インタフェイス画面80であってセキュリティフォルダ内のデータにアクセスするための第2インタフェイス画面80を表示してもよい。
これによれば、アップロード専用属性46に従って、第1インタフェイス画面70及び第2インタフェイス画面80を選択的に表示することができる。したがって、アップロード専用属性46を用いて、アクセスを制限された利用者とアクセスを制限されていない利用者とでインタフェイス画面を切り替えることができる。つまり、アクセスを制限された利用者がストレージ装置10に格納された共有秘匿フォルダ内のデータにアクセスすることを防ぎつつ、アクセスを制限されていない利用者が共有秘匿フォルダ内のデータにアクセスすることを許すことができる。
また、本実施の形態に係るファイル共有方法、ファイル共有システム100及び端末装置20において、端末装置20は、第1インタフェイス画面70が閉じられたときに、ストレージ装置10に施錠信号を送信し、ストレージ装置10は、施錠信号を受信すると、セキュリティフォルダの共有を無効化してもよい。
これによれば、第1インタフェイス画面70が閉じられたときに、施錠信号がストレージ装置10に送信されることで、セキュリティフォルダの共有を無効化することができる。したがって、利用者がデータをアップロードしないときにセキュリティフォルダの共有を無効化することができ、セキュリティフォルダへの不正なアクセスを抑制することができる。
(他の実施の形態)
以上、本発明の1つまたは複数の態様に係るファイル共有システム及びストレージ装置について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の1つまたは複数の態様の範囲内に含まれてもよい。
例えば、上記実施の形態におけるファイル共有システムのハードウェア構成は一例であり、これに限定されない。例えば、上記実施の形態では、ネットワークがLANである場合について説明したが、ネットワークはこれに限定されない。ネットワークは、コンピュータネットワークであればどのようなネットワークであってもよく、例えばWAN(WideArea Network)、インターネットであってもよい。また、上記実施の形態では、NASがストレージ装置として機能している例を説明したが、他の機器がストレージ装置として機能してもよい。例えば複合機(Multi-Function Peripheral)、ルータ、又は、ファイルサーバも、ストレージ装置として機能することができる。
また、上記実施の形態では、NASは、有線LANモジュール及び無線LANモジュールの2つの通信モジュールを備えていたが、これに限定されない。例えば、NASは、有線LANモジュール及び無線LANモジュールのうちの一方のみを備えてもよい。また、NASは、SoCの代わりに汎用プロセッサを備えてもよい。
また、上記実施の形態では、NASは、RAIDモジュールを備えていたが、RAIDモジュールを備えなくてもよい。NASは、ストレージに対して要求される容量、信頼性及び速度等に応じてRAIDモジュールを備えればよい。
また、上記実施の形態では、NASは、複数のHDDとSDカードとを備えていたが、これに限られない。NASは、例えば、複数のHDD及びSDカードの代わりに、SSD(Solid State Drive)を備えてもよい。
なお、上記実施の形態では、解錠信号は、ユーザIDを含んでいなかったが、セキュリティキーに加えてユーザIDを第2ユーザ識別子として含んでもよい。この場合には、解錠信号に含まれるセキュリティキーが、登録済みセキュリティキーのいずれかに一致し、かつ、一致した登録済みセキュリティキーに対応するユーザID(第1ユーザ識別子)が解錠信号に含まれるユーザID(第2ユーザ識別子)と一致する場合に、ストレージ装置10の制御部13は、一致したユーザID及び解錠信号の送信元のIPアドレスのみアクセス可能なセキュリティフォルダであって、一致したセキュリティキーに対応するセキュリティフォルダの共有サービスを有効化してもよい。セキュリティキーに対応するユーザIDが解錠信号に含まれるユーザIDと一致しない場合には、制御部13は、エラーを応答するようにしてもよい。ユーザIDの一致の判定処理は図10のステップS1322の前又は後に挿入することができる。
これによれば、解錠信号に含まれるユーザIDが登録済みセキュリティキーに対応するユーザIDと一致する場合に、セキュリティフォルダの共有サービスを有効化することができる。したがって、複数の利用者で同一の鍵データを共用しても、利用者毎に共有サービスを有効化することができ、利用者の利便性及び共有ファイルの安全性を向上させることができる。
なお、上記実施の形態では、セキュリティフォルダの共有サービスの有効化処理において、解錠信号に含まれるセキュリティキーに基づいて共有サービスを有効化する否かが判定されていたが、ユーザ識別子による判定を加えてもよい。つまり、図10において、ステップS1322においてセキュリティキーが共有設定テーブルに登録されていれば(S1322のYes)、解錠信号に含まれるユーザ識別子が、セキュリティキーに対応して登録されているユーザ識別子と一致するか判定し、一致する場合にはステップS1324においてセキュリティフォルダの共有サービスが有効化されてもよい。
なお、上記実施の形態では、端末装置からファイル操作信号を受信した場合に、共有名、ユーザID及びIPアドレスが共有状態テーブルに登録されているか否かが判定されていたが、この判定はなくてもよい。つまり、ファイル操作信号の送信元の端末装置が解錠信号の送信元の端末装置と一致するか否かは判定されなくてもよい。さらに、操作信号の利用者が解錠信号の利用者と一致するか否かの判定もされなくてもよい。具体的には、例えば図15において、ステップS1332はスキップされてもよい。この場合、操作信号を受信した場合に、ステップS1333において利用者のアクセス権限に基づいて、操作信号に対応するファイル操作が行われればよい。したがって、共有状態テーブルは記憶されなくてもよい。つまり、解錠信号によって有効化される共有サービスは、セキュリティキーに対応するユーザID及び解錠信号の送信元のIPアドレスのみではなく、他のユーザID及び他のIPアドレスでもセキュリティフォルダにアクセス可能な共有サービスであってもよい。
なお、上記実施の形態において、端末装置を識別するためにIPアドレスが用いられていたが、これに限られない。IPアドレスの代わりに、例えばMAC(Media Access Control address)アドレス又はホスト名等が用いられてもよい。
なお、上記実施の形態では、ストレージ装置は、フォルダ単位で共有サービスを提供していたが、これに限られない。ストレージ装置は、ファイル単位あるいはドライブ単位で共有サービスを提供してもよい。
なお、上記実施の形態では、施錠信号が受信された場合に、すべてのセキュリティフォルダの共有サービスが無効化されていたが、セキュリティフォルダ、ユーザ若しくは端末装置、又は、これらの任意の組合せ毎に共有サービスが無効化されてもよい。この場合、例えば、施錠信号に含まれる共有名及びユーザID、送信元のIPアドレスの組合せが共有状態テーブルに登録されている場合に、対応するセキュリティフォルダの共有サービスが無効化されればよい。
なお、上記実施の形態では、解錠信号の送信画面等の各種画面について説明したが、これらの画面は一例であり、これに限定されない。例えば、図4の共有フォルダの登録画面に、隠しフォルダの設定のためのウィジェット33は含まれなくてもよい。
なお、上記実施の形態では、ストレージ装置は、通常の共有フォルダとセキュリティフォルダとの両方のフォルダの共有サービスを提供していたが、セキュリティフォルダの共有サービスのみを提供してもよい。この場合、図4及び図5等において、通常の共有フォルダを設定するための項目は含まれなくてもよい。
また、上記実施の形態では、固定の文字列とランダムに生成された文字列とを結合することにより共有名が生成されていたが、これに限られない。例えば、共有名は、ランダムに生成された文字列のみを含んでもよい。また、共有名に含まれる文字列はランダムに生成されなくてもよい。例えば、予め定められたルールに従って、共有名が新たに生成されてもよい。例えば、解錠信号を受信した時刻に基づいて文字列を生成し、当該文字列と固定の文字列とを結合することにより共有名が生成されてもよい。
また、上記実施の形態では、解錠信号を受信するたびに共有名を新たに生成していたが、共有名が生成されるタイミングはこれに限られなくてもよい。例えば、予め定められたサイクルで共有名を新たに生成してもよい。サイクルは、時間で定義されてもよいし、解錠信号の受信回数で定義されてもよい。また、共有名は新たに生成されず、固定の共有名が用いられてもよい。
また、上記実施の形態では、アップロード専用属性46は、ストレージ装置10のストレージ部12に格納されていたが、これに限定されない。アップロード専用属性46は、端末装置20のストレージ部(図示せず)に格納されてもよい。この場合、端末装置20は、端末装置20のストレージ部から、アップロード専用属性46を取得することができる。つまり、ストレージ装置10から端末装置20に送信される応答信号に、アップロード専用属性46が含まれなくてもよい。
また、本発明の一態様は、このようなファイル共有方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムであってもよい。また、本発明の一態様は、そのようなコンピュータプログラムが記録された、コンピュータ読み取り可能な非一時的な記録媒体であってもよい。
なお、上記実施の形態において、ストレージ装置10及び端末装置20内の各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。