以下、実施の形態について、図面を参照しながら具体的に説明する。
なお、以下で説明する実施の形態は、いずれも包括的または具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序などは、一例であり、請求の範囲を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、各図は、必ずしも厳密に図示したものではない。各図において、実質的に同一の構成については同一の符号を付し、重複する説明は省略又は簡略化する。
(実施の形態1)
実施の形態1について、図1〜図12を参照しながら具体的に説明する。
[ファイル共有システムのハードウェア構成]
まず、ファイル共有システムのハードウェア構成について、図1を参照しながら説明する。図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は、実施の形態1に係るファイル共有システム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ストレージ部の一例であり、例えば図1のHDD12a、12b、RAIDモジュール12d、及びSDカード12eによって実現される。ストレージ部12は、例えばHDD12a、12bにファイルを格納する。さらに、ストレージ部12は、例えばSDカード12eに、共有ファイルをネットワーク上で共有するための共有設定データと第1鍵データとを対応付けて格納する。
ファイルとは、ファイルシステムによって管理されるデータである。ここでは、ファイルは、共有データの一例であり、フォルダによってグループ化される。フォルダとは、ファイルをグループ化するためのデータである。フォルダは、ディレクトリと呼ばれることもある。
制御部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に送信する。
[ファイル共有システムの動作]
次に、以上のように構成されたファイル共有システムの動作について、図3〜図12を参照しながら説明する。
[共有設定処理]
まず、ストレージ装置10が共有サービスを提供するための共有設定処理について、図3を参照しながら説明する。図3は、実施の形態1に係るファイル共有システム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)。このとき、登録画面の表示には、例えば、ファイル共有システムに専用のアプリケーションプログラムが用いられてもよいし、汎用のアプリケーションプログラム(例えばインターネットブラウザ等)が用いられてもよい。
端末装置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は、実施の形態1における共有フォルダの登録画面30の一例を示す図である。
登録画面30は、共有フォルダの設定をストレージ装置10に登録するためのGUIである。登録画面30は、ウィジェット31〜39を含む。
ウィジェット31は、共有フォルダの名称(以下、共有名という)を入力するためのテキストボックスを含む。管理者は、入力部23を介してウィジェット31に共有名を表す文字列を入力する。
共有名は、ネットワーク上におけるフォルダの名称又はその一部を示す。この共有名は、ストレージ装置10内におけるフォルダの名称と共用されてもよい。
ウィジェット32は、共有フォルダにセキュリティフォルダの設定を行うか否かを入力するためのチェックボックスを含む。管理者は、入力部23を介してウィジェット32にチェックマークを入力する。ここでは、チェックマークが付された場合に、セキュリティフォルダの設定が有効となり、チェックマークが付されなかった場合に、セキュリティフォルダの設定が無効となる。
ウィジェット33は、共有フォルダに隠しフォルダの設定を行うか否かを入力するためのチェックボックスを含む。隠しフォルダとは、隠し共有を意味し、ネットワーク上の機器において共有フォルダの一覧に表示されない共有フォルダのことである。つまり、隠しフォルダの共有名は、ネットワークに対して公開されない。ここでは、ウィジェット33にチェックマークが付された場合、例えばウィジェット31に入力された共有名の末尾に「$」が自動的に付される。
ウィジェット34は、ウィジェット31に入力された共有名のフォルダの利用者を入力するためのリストボックスを含む。管理者は、入力部23を介して、ユーザIDのリストの中からユーザIDを選択する。ユーザIDのリストは、予め登録されたユーザIDを含む。
ウィジェット35は、セキュリティキーを入力するためのテキストボックスを含む。このテキストボックスは、ウィジェット32においてチェックボックスにチェックマークが付された場合に入力が許可される。管理者は、入力部23を介してウィジェット35にセキュリティキーに対応する文字列を入力する。
ウィジェット36は、ウィジェット34、35に入力されたユーザID及びセキュリティキーのセットを一時的に保存するためのボタンを含む。ウィジェット35、36により、セキュリティキー及びユーザIDのセットを複数登録することができる。
ウィジェット37は、ウィジェット36によって一時的に保存されたユーザIDのリストと、リスト内のユーザIDを選択するためのチェックボックスと、チェックマークが付されたユーザID及びそれに対応するセキュリティキーを削除するためのボタンと、を含む。管理者は、チェックボックスにチェックマークを入力して削除ボタンを押すことにより、チェックマークに対応するユーザID及びセキュリティキーのセットを削除することができる。
ウィジェット38は、共有フォルダのアクセス制限のためのラジオボタンを含む。予め登録された利用者であれば誰でも共有フォルダにフルアクセス可能な場合には、「全施錠/解錠ユーザアクセス可能」のラジオボタンが選択され、利用者毎にアクセス権限が管理される場合には「アクセス制限設定」のラジオボタンが選択される。「アクセス制限設定」のラジオボタンが選択された場合には、読み取り専用ユーザ及び読み書き可能ユーザを個別に設定可能な画面に遷移する。
ウィジェット39は、ウィジェット31〜38に入力された共有設定データを登録するか破棄するかを指示するためのボタンを含む。「保存」ボタンが押された場合に、共有設定データがストレージ装置10に送信される。
[共有設定テーブルの具体例]
次に、図3のステップS105でストレージ部12に格納される共有設定データについて、図5を参照しながら具体的に説明する。図5は、実施の形態1における共有設定テーブル40の一例を示す図である。
共有設定テーブル40は、共有設定データと第1鍵データ及び第1ユーザ識別子とを対応付けて記録するテーブルデータである。共有設定テーブル40は、共有設定データとして、共有名41、セキュリティフォルダ設定42、及びアクセス権限45を含み、第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には、例えば、読み取り専用を示す「読み取り」及び読み書き可能を示す「読み書き」のいずれかが登録される。
図5の共有設定テーブル40では、例えば、「SF1」の共有設定データに対応付けて、「SF1−KEY1」のセキュリティキー、及び、読み取り専用の「USER1」が格納されている。また例えば、「SF1」の共有設定データに対応付けて、「SF1−KEY2」のセキュリティキーに対応付けて、共有名又は共有名の一部として利用される「SF1」、及び、読み書き可能な「USER2」が格納されている。
[通常の共有フォルダへのアクセス処理]
次に、図3のステップS106で共有サービスが開始された後の通常の共有フォルダへのアクセス処理について、図6を参照しながら説明する。図6は、実施の形態1に係るファイル共有システム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、図8A及び図8Bを参照しながら説明する。図7は、実施の形態1に係るファイル共有システム100におけるセキュリティフォルダへのアクセス処理の失敗例を示すシーケンス図である。
端末装置20の制御部24は、入力部23に対する利用者の操作に従って、セキュリティフォルダへのアクセス信号をストレージ装置10に送信する(S121)。このアクセス信号には、セキュリティフォルダのパスが含まれる。
ストレージ装置10の制御部13は、セキュリティフォルダの共有サービスをまだ提供していないので、アクセス信号に対して応答しない(S122)。つまり、セキュリティフォルダのパスはまだ存在しないので、操作信号に対する応答信号が端末装置20に送信されない。
端末装置20の制御部24は、ファイル操作信号を送信した時刻からの経過時間が閾値時間を超えたときに、エラーメッセージを表示部22に表示する(S123)。例えば、アプリケーションの最近使った項目からセキュリティフォルダ内のファイルを開こうとしても、ストレージ装置10から応答がないのでアプリケーションはエラーを表示する。
以上のように、通常の共有フォルダの共有サービスが提供されている場合であっても、セキュリティフォルダの共有サービスは、まだ有効化されていないので、ネットワーク上にセキュリティフォルダは存在しない。
そこで、セキュリティフォルダにアクセスするための方法を、図8A及び図8Bを参照しながら説明する。図8Aは、実施の形態1に係るファイル共有システム100におけるセキュリティフォルダへの1回目のアクセス処理の成功例を示すシーケンス図である。図8Bは、実施の形態1に係るファイル共有システム100におけるセキュリティフォルダへの2回目のアクセス処理の成功例を示すシーケンス図である。
まず、図8Aに示すように、第1利用者の端末装置20の制御部24は、セキュリティフォルダの第1解錠信号をストレージ装置10に送信する(S131A)。この第1解錠信号には、セキュリティフォルダに対応するセキュリティキーが含まれる。第1解錠信号の送信のためのGUIについては、図9を用いて後述する。
ストレージ装置10の制御部13は、第1解錠信号に含まれるセキュリティキーに対応するセキュリティフォルダの共有サービスであってセキリティキーに対応付けられたユーザID及び第1解錠信号の送信元のIPアドレスのみセキュリティフォルダにアクセス可能な共有サービスを有効化する(S132A)。このとき、セキュリティフォルダの第1共有名が新たに生成され、生成された第1共有名を含む応答信号がストレージ装置10から端末装置20に送信される。このステップS132Aの処理の詳細については、図10を用いて後述する。
なお、ユーザID及びIPアドレスのみセキュリティフォルダにアクセス可能な共有サービス(ここでは、便宜上、第1共有サービスという)とは、当該ユーザID及び当該IPアドレスとは異なる他のユーザID及び他のIPアドレスでセキュリティフォルダにアクセス不可能な共有サービスを意味する。なお、第1共有サービスが有効化されている状態で、他のユーザID及び他のIPアドレスのみセキュリティフォルダにアクセス可能な共有サービス(ここでは、便宜上、第2共有サービスという)が有効化されることは排除されない。つまり、第1共有サービスが有効化された場合であっても、第2共有サービスが有効化されていれば、他のユーザID及び他のIPアドレスでセキュリティフォルダにアクセスすることは可能である。また、一ユーザが、時間的に重複して複数の異なるセキュリティフォルダにアクセスすることも可能である。この場合、セキュリティフォルダごとに共有サービスが有効化され、それぞれ異なる共有名が提供される。
端末装置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に送信される。
このステップS112〜ステップS114のユーザ認証に関する処理は、従来技術が用いられてもよい。なお、端末装置20の利用者が既に認証済みである場合には、ステップS112〜ステップS114の処理はスキップされてもよい。
端末装置20の制御部24は、ファイル操作のための入力を利用者から受け付け、第1ファイル操作信号をストレージ装置10に送信する(S115A)。
ストレージ装置10の制御部13は、ユーザ認証が成功した場合に、第1利用者のアクセス権限に基づいて、第1ファイル操作信号に対応するファイル操作を行い、操作結果に対応する応答信号を端末装置20に送信する(S133A)。このステップS133Aの処理の詳細については、図12を用いて後述する。
セキュリティフォルダ内のファイルに対する操作が完了すれば、端末装置20の制御部24は、例えば入力部23に対する利用者の操作に基づいて、施錠信号をストレージ装置10に送信する(S136)。また例えば、セキュリティフォルダに対して最後に操作があった時刻からの経過時間が閾値時間以上である場合に、制御部24は、施錠信号をストレージ装置10に送信してもよい。つまり、セキュリティフォルダに対する操作が閾値時間以上ない場合に、制御部24は、施錠信号をストレージ装置10に送信してもよい。
ストレージ装置10の制御部13は、所定の条件を満たす場合に、セキュリティフォルダの共有サービスを無効化する(S137)。このとき、制御部13は、後述する共有状態テーブルに登録されたレコードを削除する。
所定の条件は、例えば、端末装置20からの施錠信号の受信である。また、所定の条件は、例えば、セキュリティフォルダへ最後にアクセスがあった時刻からの経過時間が閾値時間以上であることであってもよい。
一方、図8Bに示すように、第2利用者の端末装置20の制御部24は、セキュリティフォルダの第2解錠信号をストレージ装置10に送信する(S131B)。第2解錠信号は、第1解錠信号の後に送信される信号であり、ここでは、第1解錠信号と異なるセキュリティキーを含む。第2解錠信号の送信のためのGUIについては、図9を用いて後述する。
ストレージ装置10の制御部13は、第2解錠信号に含まれるセキュリティキーに対応するセキュリティフォルダの共有サービスであってセキリティキーに対応付けられたユーザID及び第2解錠信号の送信元のIPアドレスのみセキュリティフォルダにアクセス可能な共有サービスを有効化する(S132B)。このとき、セキュリティフォルダの、第1共有名とは異なる第2共有名が新たに生成され、生成された第2共有名を含む応答信号がストレージ装置10から端末装置20に送信される。このステップS132Bの処理の詳細については、図10を用いて後述する。
端末装置20の制御部24は、応答信号に含まれるセキュリティフォルダの第2共有名に基づいて、セキュリティフォルダにアクセスするための第2アクセス信号をストレージ装置10に送信する(S121B)。この第2アクセス信号には、セキュリティフォルダの第2共有名を用いた第2パスが含まれる。
その後、ステップS112〜ステップS114のユーザ認証に関する処理が必要に応じて行わる。
端末装置20の制御部24は、ファイル操作のための入力を利用者から受け付け、第2ファイル操作信号をストレージ装置10に送信する(S115B)。
ストレージ装置10の制御部13は、ユーザ認証が成功した場合に、第2利用者のアクセス権限に基づいて、第2ファイル操作信号に対応するファイル操作を行い、操作結果に対応する応答信号を端末装置20に送信する(S133B)。このステップS133Bの処理の詳細については、図12を用いて後述する。
[解錠信号の送信画面]
ここで、図8AのステップS131A及び図8BのステップS131Bにおいて表示される解錠信号の送信画面の一例について、図9を参照しながら具体的に説明する。図9は、実施の形態1における解錠信号の送信画面の一例を示す図である。
図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は、実施の形態1に係るストレージ装置10による共有サービスの有効化処理を示すフローチャートである。
ストレージ装置10に制御部13は、解錠信号(例えば第1解錠信号又は第2解錠信号)からセキュリティキーを取得する(S1321)。
そして、制御部13は、取得されたセキュリティキーが共有設定テーブルに登録されているか否かを判定する(S1322)。つまり、制御部13は、解錠信号に含まれるセキュリティキーが共有設定テーブルに含まれるセキュリティキーと一致するか否かを判定する。例えば、図5の共有設定テーブル40では、解錠信号にセキュリティキー「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文字列としては、例えば共有設定テーブル40の共有名41を用いることができる。
続いて、制御部13は、生成された共有名を用いて、セキュリティキーに対応するセキュリティフォルダの共有サービスを有効化する(S1325)。ここでは、制御部13は、セキュリティキーに対応するユーザID及び解錠信号の送信元のIPアドレスのみセキュリティフォルダにアクセス可能な共有サービスを有効化する。つまり、ここで有効化された共有サービスでは、セキュリティフォルダにアクセス可能な利用者及び端末装置20が、セキュリティキーに対応するユーザIDによって特定される利用者及び解錠信号の送信元のIPアドレスを有する端末装置20に限定される。例えば、図5の共有設定テーブル40では、解錠信号にセキュリティキー「SF1−KEY1」が含まれている場合に、制御部13は、「SF1」から生成された共有名のセキュリティフォルダの共有サービスを、「USER1」に限定して有効化する。
さらに、制御部13は、有効化されたセキュリティフォルダの共有名、解錠信号の送信元のIPアドレス、及び、ユーザIDを共有状態テーブルに登録する(S1326)。なお、送信元のIPアドレスは解錠信号から取得できる。その後、制御部13は、セキュリティフォルダの共有名を端末装置20に送信する(S1327)。
一方、セキュリティキーが共有設定テーブルに登録されていない場合(S1322のNo)、制御部13は、エラー応答を端末装置20に送信する(S1328)。つまり、解錠信号に含まれるセキュリティキーが共有設定テーブルに登録されたセキュリティキーと一致しない場合、制御部13は、セキュリティフォルダの共有サービスの有効化を禁止する。
[共有状態テーブルの具体例]
ここで、ステップS1326における共有状態テーブルの具体例について、図11を参照しながら説明する。図11は、実施の形態1における共有状態テーブル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に登録される。
[ファイル操作処理]
次に、図8AのステップS133A及び図8BのステップS133Bにおけるセキュリティフォルダ内のファイルの操作処理の詳細について、図12を参照しながら具体的に説明する。図12は、実施の形態1におけるストレージ装置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」のセキュリティフォルダに対するファイル操作信号が送信された場合に、当該ファイル操作信号に対応する操作が禁止される(記号※は上記の許可例と異なる部分を示す)。つまり、解錠信号の送信元の端末装置と異なる端末装置からファイル操作信号が送信されれば、そのファイル操作信号に対応する操作は禁止される。
[効果等]
以上のように、本実施の形態に係るファイル共有システム100及び/又はストレージ装置10によれば、セキュリティキーを含む解錠信号を用いてファイルの共有サービスを有効化する際に、共有名を新たに生成し、当該共有名で共有サービスを有効化し、さらに、当該共有名を端末装置20に送信することができる。したがって、解錠信号が送信されなければ共有サービスが有効化されないだけでなく、新たに生成された共有名を知らなければ共有ファイルにアクセスすることができない。つまり、解錠信号によって共有サービスが有効化された場合に、共有名が通知された端末装置20とは異なる端末装置からの不正なアクセスを抑制することができ、共有ファイルの安全性を向上させることができる。
また、本実施の形態に係るファイル共有システム100及び/又はストレージ装置10によれば、解錠信号を受信するたびに共有名を新たに生成することができる。したがって、共有名の漏洩に対する共有ファイルの安全性をさらに向上させることができる。
また、本実施の形態に係るファイル共有システム100及び/又はストレージ装置10によれば、固定の文字列とランダムに生成された文字列とを結合することにより共有名を生成することができる。したがって、正当なアクセスに対しては、固定の文字列により、いずれのセキュリティフォルダにアクセスしているかの判断を容易にすることができる。一方、不正なアクセスに対しては、ランダムに生成された文字列により、共有名全体の推測の難しさを増大させることができ、共有ファイルの安全性を向上させることができる。
また、本実施の形態に係るファイル共有システム100及び/又はストレージ装置10によれば、端末装置20から受信した施錠信号を受信した場合に、ファイルの共有サービスを無効化することができる。したがって、施錠信号を受信するだけで、ファイルの共有サービスを有効化から無効化へ切り替えることができ、利用者がファイルの共有サービスを利用しないときにファイルの共有サービスを簡単に無効化することができる。
また、本実施の形態に係るファイル共有システム100及び/又はストレージ装置10によれば、端末装置20からファイルへ最後にアクセスがあった時刻からの経過時間が閾値時間以上である場合に、ファイルの共有サービスを無効化することができる。したがって、利用者がファイルの共有サービスを利用していないときに、自動的に共有サービスを無効化することができ、さらに共有ファイルの安全性を向上させることができる。
また、本実施の形態に係るファイル共有システム100及び/又はストレージ装置10によれば、解錠信号に含まれる第2鍵データが第1鍵データと一致した場合に、セキュリティキーに対応するユーザIDのみセキュリティフォルダにアクセス可能な共有サービスを有効化することができる。したがって、解錠信号によって有効化された共有サービスによってセキュリティフォルダにアクセス可能な利用者をセキュリティキーに対応付けられた利用者に限定することができ、さらに共有ファイルの安全性を向上させることができる。
また、本実施の形態に係るファイル共有システム100及び/又はストレージ装置10によれば、解錠信号に含まれるセキュリティキーが共有設定データに対応付けられたセキュリティキーと一致する場合に、解錠信号の送信元の端末装置20のみセキュリティフォルダにアクセス可能な共有サービスを有効化することができる。したがって、解錠信号によって有効化された共有サービスにおいてセキュリティフォルダにアクセス可能な端末装置20を限定することができ、さらに共有ファイルの安全性を向上させることができる。
(実施の形態2)
次に、実施の形態2について説明する。本実施の形態では、セキュリティフォルダの共有サービスが有効化されたときに、ストレージ装置から端末装置にセキュリティフォルダ内のファイルが出力され、共有サービスが無効化される点が、上記実施の形態1と主として異なる。以下に、上記実施の形態1と異なる点を中心に本実施の形態について説明する。
[ファイル共有システムの機能構成]
まず、本実施の形態に係るファイル共有システム100Aの機能構成について図13を参照しながら具体的に説明する。図13は、実施の形態2に係るファイル共有システム100Aの機能構成を示すブロック図である。ファイル共有システム100Aは、機能的には、ストレージ装置10A及び端末装置20Aを備える。
[ストレージ装置の機能構成]
ここで、ストレージ装置10Aの機能構成について説明する。例えば、図1のNAS10aが図13のストレージ装置10Aとして機能する。図13に示すように、ストレージ装置10Aは、通信部11と、ストレージ部12と、制御部13Aと、を備える。
制御部13Aは、第1制御部の一例であり、例えば図1のSoC13a及びDDR SDRAM13bによって実現される。制御部13Aは、通信部11及びストレージ部12を制御する。
具体的には、制御部13Aは、実施の形態1の制御部13と同様に、第2鍵データが前記第1鍵データと一致する場合に、(i)共有名を新たに生成し、(ii)第1鍵データに対応する共有設定データを用いて、生成された共有名で、共有ファイルのネットワーク上での共有サービスを有効化し、(iii)生成された共有名を端末装置20Aに送信する。さらに、本実施の形態では、制御部13Aは、第2鍵データが前記第1鍵データと一致する場合に、(iv)共有ファイルを端末装置20Aに送信し、(v)共有ファイルのネットワーク上での共有サービスを無効化する。つまり、本実施の形態では、共有サービスが有効化されたときに、ストレージ装置10A上の共有ファイルは端末装置20Aにローカルコピーされ、ローカルコピー後に施錠信号無しで自動的に共有サービスが無効化される。
[端末装置の機能構成]
次に、端末装置20Aの機能構成について説明する。例えば、図1のPC20a、20b、20c及びスマートフォン20dの各々が図13の端末装置20Aとして機能する。図13に示すように、端末装置20Aは、通信部21と、表示部22と、入力部23と、制御部24Aと、ストレージ部25Aと、を備える。
制御部24Aは、第2制御部の一例であり、例えばプロセッサ及びメモリにより実現される。制御部24Aは、通信部21、表示部22、入力部23及びストレージ部25Aを制御する。具体的には、制御部24Aは、実施の形態1の制御部24と同様に、第2鍵データの入力画面を表示部22に表示する。そして、制御部24Aは、入力部23を介して第2鍵データを受け付ける。それから、制御部24Aは、通信部21を介して、入力部23を介して受け付けた第2鍵データを含む解錠信号をストレージ装置10Aに送信する。
さらに、制御部24Aは、ストレージ装置10Aから受信した共有ファイルをストレージ部25Aに格納する。例えば、制御部24Aは、ストレージ装置10Aから受信したセキュリティフォルダ内の共有ファイルを、ストレージ部25Aのローカルセキュリティフォルダに格納する。ストレージ装置10Aのセキュリティフォルダと端末装置20Aのローカルセキュリティフォルダとは、共有サービスが開始されるときに同期される。
ストレージ部25Aは、第2ストレージ部の一例であり、例えばHDD及びSSD等によって実現される。ストレージ部25Aは、ストレージ装置10Aから受信した共有ファイルをローカルセキュリティフォルダに格納する。
[セキュリティフォルダへのアクセス処理]
次に、図3のステップS106で共有サービスが開始された後のセキュリティフォルダへのアクセス処理について、図14A及び図14Bを参照しながら説明する。図14Aは、実施の形態2に係るファイル共有システム100Aにおけるセキュリティフォルダへのアクセス処理の成功例を示すシーケンス図である。図14Bは、実施の形態2に係るファイル共有システム100Aにおけるセキュリティフォルダの同期処理の成功例を示すシーケンス図である。
図14Aに示すように、ステップS131A〜ステップS114の処理が実施の形態1の図8Aと同様に行われる。その後、ストレージ装置10Aの制御部13Aは、ユーザ認証が成功した場合に、セキュリティフォルダ内のすべてのファイルを共有ファイルとして端末装置20Aに送信する(S201A)。
端末装置20Aの制御部24Aは、ストレージ装置10Aから受信した共有ファイルをストレージ部25Aのローカルセキュリティフォルダに格納する(S202A)。つまり、ストレージ装置10A内のセキュリティフォルダの複製が、端末装置20Aのストレージ部25Aに格納される。
ストレージ装置10Aの制御部13Aは、セキュリティフォルダの共有サービスを無効化する(S203)。つまり、本実施の形態では、制御部13Aは、共有ファイルの送信後に、施錠信号無しで自動的に共有サービスを無効化する。
端末装置20Aの制御部24Aは、ローカルセキュリティフォルダ内のファイルに対する操作のための入力を第1ファイル操作入力として利用者から受け付ける(S204)。本実施の形態では、ストレージ装置10Aに第1ファイル操作信号が送信されなくてもよい。
端末装置20Aの制御部24Aは、第1ファイル操作入力に対応するファイル操作を行う(S205)。その結果、ローカルセキュリティフォルダ内の共有ファイルが更新される。
続いて、ファイル操作が行われた後に、図14Bの処理が行われる。なお、図14Bでは、図14Aと同一の利用者が同一の端末装置20Aに対して操作が行われる場合について説明する。
図14Bに示すように、ステップS131B〜ステップS114の処理が実施の形態1の図8Bと同様に行われる。
ストレージ装置10Aの制御部13A及び端末装置20Aの制御部24Aは、ユーザ認証が成功した場合に、ストレージ装置10Aのストレージ部12内のセキュリティフォルダと、端末装置20Aのストレージ部25A内のローカルセキュリティフォルダと、を同期する(S201B、S202B)。これにより、端末装置20Aにおける共有ファイルの更新がストレージ装置10Aの共有ファイルに反映される。なお、同期方法は、特に限定されず、従来技術が用いられてもよい。さらに、同期後にローカルセキュリティフォルダ内の共有ファイルが削除されてもよい。これによれば、端末装置20Aのセキュリティがさらに向上する。なお、この削除処理は、ステップS202Bの後で実行されてもよく、また後行程のステップS203の後で実行されても構わない。
ストレージ装置10Aの制御部13Aは、セキュリティフォルダの共有サービスを無効化する(S203)。
[効果等]
以上のように、本実施の形態に係るファイル共有システム100A及び/又はストレージ装置10Aによれば、共有ファイルを端末装置20Aに送信し、共有サービスを無効化することができる。したがって、共有ファイルの送信後に、施錠信号がなくても共有サービスを自動的に無効化することができる。その結果、共有サービスが有効化されている時間を短縮し、共有ファイルの改ざん及び漏洩を抑制することができる。
(他の実施の形態)
以上、本発明の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アドレスが共有状態テーブルに登録されているか否かが判定されていたが、この判定はなくてもよい。つまり、ファイル操作信号の送信元の端末装置が解錠信号の送信元の端末装置と一致するか否かは判定されなくてもよい。さらに、操作信号の利用者が解錠信号の利用者と一致するか否かの判定もされなくてもよい。具体的には、例えば図12において、ステップS1332はスキップされてもよい。この場合、操作信号を受信した場合に、ステップS1333において利用者のアクセス権限に基づいて、操作信号に対応するファイル操作が行われればよい。したがって、共有状態テーブルは記憶されなくてもよい。つまり、解錠信号によって有効化される共有サービスは、セキュリティキーに対応するユーザID及び解錠信号の送信元のIPアドレスのみではなく、他のユーザID及び他のIPアドレスでもセキュリティフォルダにアクセス可能な共有サービスであってもよい。
なお、上記各実施の形態において、端末装置を識別するためにIPアドレスが用いられていたが、これに限られない。IPアドレスの代わりに、例えばMAC(Media Access Control address)アドレス又はホスト名等が用いられてもよい。
なお、上記各実施の形態では、ストレージ装置は、フォルダ単位で共有サービスを提供していたが、これに限られない。ストレージ装置は、ファイル単位あるいはドライブ単位で共有サービスを提供してもよい。
なお、上記各実施の形態では、施錠信号が受信された場合に、すべてのセキュリティフォルダの共有サービスが無効化されていたが、セキュリティフォルダ、ユーザ若しくは端末装置、又は、これらの任意の組合せ毎に共有サービスが無効化されてもよい。この場合、例えば、施錠信号に含まれる共有名及びユーザID、送信元のIPアドレスの組合せが共有状態テーブルに登録されている場合に、対応するセキュリティフォルダの共有サービスが無効化されればよい。
なお、上記各実施の形態では、解錠信号の送信画面等の各種画面について説明したが、これらの画面は一例であり、これに限定されない。例えば、図4の共有フォルダの登録画面に、隠しフォルダの設定のためのウィジェット33は含まれなくてもよい。
なお、上記各実施の形態では、ストレージ装置は、通常の共有フォルダとセキュリティフォルダとの両方のフォルダの共有サービスを提供していたが、セキュリティフォルダの共有サービスのみを提供してもよい。この場合、図4及び図5等において、通常の共有フォルダを設定するための項目は含まれなくてもよい。
また、上記各実施の形態では、固定の文字列とランダムに生成された文字列とを結合することにより共有名が生成されていたが、これに限られない。例えば、共有名は、ランダムに生成された文字列のみを含んでもよい。また、共有名に含まれる文字列はランダムに生成されなくてもよい。例えば、予め定められたルールに従って、共有名が新たに生成されてもよい。例えば、解錠信号を受信した時刻に基づいて文字列を生成し、当該文字列と固定の文字列とを結合することにより共有名が生成されてもよい。
また、上記各実施の形態では、解錠信号を受信するたびに共有名を新たに生成していたが、共有名が生成されるタイミングはこれに限られなくてもよい。例えば、予め定められたサイクルで共有名を新たに生成してもよい。サイクルは、時間で定義されてもよいし、解錠信号の受信回数で定義されてもよい。
なお、上記各実施の形態において、端末装置の制御部は、端末装置に格納されたデータへの所定期間におけるアクセス回数が閾値回数を超えた場合に、当該データをストレージ装置に送信してもよい。そして、ストレージ装置の制御部は、端末装置から受信したデータを共有データとしてストレージ部に格納してもよい。このとき、端末装置に格納されたデータは消去されてもよい。
所定期間は、予め定められた時間幅の期間であり、特に限定されないが、例えば1日間、1週間等である。また、閾値回数は、利用者によって設定される可変の関数であってもよいし、経験的又は実験的に予め定められた固定の回数であってもよい。
これによれば、端末装置においてアクセス回数が多いデータをストレージ装置で管理することができる。したがって、アクセス回数が多い重要なデータをストレージ装置で保護することができ、データの改ざん及び漏洩を抑制することができる。
また、本発明の一態様は、このようなストレージ装置だけではなく、ストレージ装置に含まれる特徴的な構成部をステップとするファイル共有方法であってもよい。また、本発明の一態様は、ファイル共有方法に含まれる特徴的な各ステップをコンピュータに実行させるコンピュータプログラムであってもよい。また、本発明の一態様は、そのようなコンピュータプログラムが記録された、コンピュータ読み取り可能な非一時的な記録媒体であってもよい。
なお、上各記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。ここで、上記実施の形態のストレージ装置などを実現するソフトウェアは、次のようなプログラムである。
すなわち、このプログラムは、コンピュータに、ストレージ装置に格納されたファイルをネットワーク上で共有するためのファイル共有方法を実行させ、前記ストレージ装置は、前記ファイルを前記ネットワーク上で共有するための共有設定データと第1鍵データとを対応付けて記憶しており、前記ファイル共有方法は、端末装置から第2鍵データを含む解錠信号を受信した場合に、前記第2鍵データが前記第1鍵データと一致するか否かを判定し、前記第2鍵データが前記第1鍵データと一致する場合には、(i)共有名を新たに生成し、(ii)前記第1鍵データに対応する前記共有設定データを用いて、生成された前記共有名で、前記ファイルの前記ネットワーク上での共有サービスを有効化し、(iii)生成された前記共有名を前記端末装置に送信する。