説明

記憶装置及びそのアクセス制御システム

【課題】
記憶装置の特定領域に格納されるデータの改ざんを防止する。
【解決手段】
サーバは、端末がアクセス先として正当であると認識した場合、アクセスを許可する管理認証情報を生成する。端末は、所定の条件が満たされた場合にアクセスが許可される、記憶装置内に設定された特定領域を有し、サーバで生成された管理認証情報を取得して、管理部で管理する。サーバ又は他のアクセス元からこの特定領域へアクセスする要求があった場合、管理部で管理される管理認証情報を参照してアクセスの許可を認証する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、記憶装置及びそのアクセス制御システムに係り、特に、著作権に係わるコンテンツの保護が必要なデータを記憶する記憶装置にアクセスする場合における、記憶されたデータの改ざんや削除を防止するためのアクセス制御に関するものである。
【背景技術】
【0002】
インターネットやデジタル放送などの通信手段を利用して、映画や音楽などのコンテンツを配信するサービスが実用化されている。ネットワークに配信されるデジタルコンテンツは複製が容易であるため、その著作権を保護することが重要である。著作権の保護の一手段として、コンテンツを暗号化して配信する方法が行なわれている。これは、例えば共通鍵暗号方式などによってコンテンツを暗号化し、同時に暗号化されたコンテンツを復号するための復号鍵を作成する。暗号化されたコンテンツは対応する復号鍵がなければ再生できないため、復号鍵とその利用条件を対とした情報を安全に管理することでコンテンツの不正使用を防ぎ、コンテンツ著作者らの権利を保護するこができる。
また、情報漏えいや内部統制などで端末での操作ログを安全に保護することが要求されている。そのため、ログのデータに対するアクセス制御や暗号化により改ざんや削除を防止することができる。
【0003】
例えば、特許文献1(特開2002−229859号公報)には、ディスクドライブに複数の所定の領域を、特別のアクセス条件を必要とする複数の秘匿領域として設定可能なディスク記憶媒体と、各秘匿領域に対応する複数の鍵情報および各秘匿領域に共通な固有情報を記憶している記憶手段と、鍵情報と固有情報から生成される各秘匿領域ごとの領域固有情報を使用して各秘匿領域毎にアクセス許可するか否かを決定するための認証処理を実行する認証手段を有するディスクドライブが開示されている。
【0004】
【特許文献1】特開2002−229859号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
上記従来技術を、端末に適用した場合、端末で動作するプログラムは認証に用いる情報を用いて認証を行い、ディスクドライブの秘匿領域にアクセスすることになる。このとき、端末上で動作するプログラムは認証に用いる情報を扱うことになるため、その実行プログラムを解析することにより、認証に用いる情報が第三者に取得されてしまうおそれがある。
【0006】
本発明の目的は、記憶装置に記憶されたデータの改ざんを防止することのできる記憶装置及びそのアクセス制御システムを提供することにある。
【課題を解決するための手段】
【0007】
本発明に係るアクセス制御システムは、好ましくは、記憶装置を有する端末と、ネットワークを介して端末に接続され、記憶装置の記憶領域にアクセスすることができるサーバと、を含むアクセス制御システムにおいて、サーバは、端末がアクセス先として正当であると認識した場合、アクセスを許可する管理認証情報を生成する処理部と、を有し、端末は、所定の条件が満たされた場合にアクセスが許可される、記憶装置内に設定された第1の記憶領域と、前記処理部によって生成された、第1の記憶領域へアクセスするため使用される管理認証情報を管理する管理部とを有するアクセス制御システムとして構成される。
【0008】
好ましい例では、前記端末は、公開鍵暗号を用いた暗号通信のセッションを確立して、前記サーバとの間で情報を通信する。
また好ましくは、前記サーバにおける前記処理部は、前記管理認証情報(第1の管理認証情報)を用いて記憶装置に関する認証を行い、更に第2の管理認証情報を生成し、第2の管理認証情報を用いて端末との間のセキュアセッションを開始する。
また、好ましくは、前記サーバの前記処理部は、前記第2の管理認証情報を用いて、記憶装置の第1の記憶領域に対する書込みアクセス、又は読込みアクセス、又は削除アクセス時の認証に用いられる、夫々異なるクレデンシャルを生成して管理する。
また、好ましくは、前記サーバの前記処理部は、記憶装置の第1の記憶領域に対する書込みアクセス、又は読込みアクセス、又は削除アクセス時の認証に用いられる、夫々異なるクレデンシャルを生成し、前記端末は、処理部で生成された書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルのいずれかを受信して、前記記憶装置内に設定された前記管理部に保持する。
また、好ましくは、前記端末に備えられた前記管理部は、前記第2の管理認証情報、又は前記書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを、記憶装置に形成された記憶領域又はメモリに記憶して管理する。
また、好ましくは、前記記憶装置内に複数の第1の記憶領域が設定されている場合、前記サーバの前記処理部は、各第1の記憶領域に対応して、前記書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを生成して管理する。
また、好ましくは、前記記憶装置内に、複数の第1の記憶領域が設定されている場合、前記管理部は、サーバから取得した、前記書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを、各第1の記憶領域に対応付けて管理する。
また、好ましくは、前記記憶装置内に、複数の第1の記憶領域が設定されている場合、前記管理部は、サーバから取得した、前記書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを、各第1の記憶領域に対応付けて管理する。
また、好ましくは、端末は、サーバとの間で暗号通信のセッションを確立して情報のやりとりを行い、サーバから第2の管理認証情報を受信した後に暗号通信のセッションを閉じ、サーバから前記書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを受信する際に、暗号通信のセッションを再度確立する。
【0009】
本発明に係る記憶装置は、好ましくは、また、好ましくは、ネットワークを介してサーバに接続可能な記憶装置において、所定の条件が満たされた場合にアクセスが許可される、記憶装置内に設定された第1の記憶領域と、自由にアクセスすることができる第2の記憶領域を有する記憶媒体と、サーバに第1の記憶領域へのアクセスを許可するために、サーバを認証する際に使用される管理認証情報であって、サーバで生成された管理認証情報を取得して管理する管理部と、サーバが第1の記憶領域をアクセスする時、管理部で管理されている管理認証情報を用いて認証する認証制御部と、を有する。
好ましくは、サーバで生成される管理認証情報は、第1の管理認証情報と、該第1の管理認証情報を用いた認証の結果に基づいて生成される第2の管理認証情報と、該第2の管理認証情報を用いた認証の結果に基づいて生成されるアクセス認証情報を含み、前記認証制御部は、サーバからの要求に応答して、予め取得されて管理部で管理される第1の管理認証情報を参照して、サーバから送られる第1の管理認証情報を検証してサーバを認証し、サーバの認証に成功した場合に、サーバから受信された第2の管理認証情報を管理部で管理し、記憶装置は、サーバからの要求に応答してサーバから第2の管理認証情報を受信すると、認証制御部は、管理部で管理される第2の管理認証情報を参照して、サーバからの第2の認証情報を検証してサーバを認証し、サーバの認証に成功した場合に、サーバから受信されたアクセス認証情報を管理部に設定する。
また、好ましくは、前記管理部は、前記アクセス認証情報として、第1の記憶領域をアクセスする時の認証に使用される書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを管理する。
また、好ましくは、前記記憶装置内に、複数の第1の記憶領域が設定されている場合、前記管理部は、前記書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを含む組を、各第1の記憶領域に対応付けて管理する。
【0010】
本発明に係るアクセス制御方法は、好ましくは、ネットワークを介してサーバから、端末の記憶装置にアクセスするアクセス制御方法において、記憶装置内に予め、所定の条件が満たされた場合にアクセスが許可される第1の記憶領域を定義するステップと、サーバにおいて端末がアクセス先として正当であると認識した場合、第1の記憶領域へのアクセスを許可する管理認証情報を生成するステップと、端末において、サーバより管理認証情報を取得して管理部に保持して管理するステップと、サーバ又は他を含むかもしれないアクセス元から、第1の記憶領域へアクセス要求があった時、管理部に保持された管理認証情報を参照して、アクセス許可の認証を行うステップと、を有するアクセス制御方法として構成される。
好ましくは、サーバにおいて前記管理認証情報として第1の管理認証情報を用いて記憶装置に関する認証を行うステップと、第1の管理認証情報を用いた認証が成功した場合に第2の管理認証情報を生成するステップと、第1の管理認証情報を用いた認証が成功した場合にアクセス認証情報を生成するステップとを有し、端末において、予めサーバから取得して第1の管理認証情報を保持するステップと、サーバからの要求に応答して、第1の管理認証情報を参照して、サーバから送られる第1の管理認証情報を検証してサーバを認証し、サーバの認証に成功した場合に、サーバから受信された第2の管理認証情報を取得して管理部に保持するステップと、サーバからの要求に応答してサーバから第2の管理認証情報を受信すると、管理部に保持された第2の管理認証情報を参照して、サーバからの第2の認証情報を検証してサーバを認証するステップと、認証の結果、サーバの認証に成功した場合に、サーバから受信されたアクセス認証情報を管理部に設定するステップと、を有する。
また、好ましくは、サーバは、前記アクセス認証情報として、第1の記憶領域をアクセスする時の認証に使用される書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを生成し、前記端末の管理部は、サーバより受信した書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを保持する。
また、好ましくは、前記第1の記憶領域に特定のプログラムを記憶する場合、前記サーバは管理部に設定された書込みクレデンシャルを用いて、第1の記憶領域に記憶されたプログラムの書き換えを行うことができ、端末は第1の記憶領域に記憶されたプログラムの書き換えを行なえず、読み出して処理装置で実行することのみが許容される。
また、好ましくは、前記第1の記憶領域に、コンテンツを利用するライセンスを記憶する場合、前記サーバは管理部に設定された書込みクレデンシャルを用いて、第1の記憶領域に記憶されるライセンス書き換えを行うことができ、端末は第1の記憶領域に設定された読込みクレデンシャルを用いてライセンスを読み出して、ライセンスを用いてコンテンツの利用を許可する。
【0011】
本発明に係るプログラムは、好ましくは、ネットワークを介してサーバに接続可能な記憶装置の記憶領域のアクセスを管理するために処理装置で実行されるプログラムであって、所定の条件が満たされた場合にアクセスが許可される第1の記憶領域に対するアクセス認証情報の設定をサーバへ要求する手段と、サーバにおいて端末がアクセス先として正当であると認識した場合、第1の記憶領域へのアクセスを許可する管理認証情報及びアクセス認証情報を生成する手段と、端末において、サーバより受信した管理認証情報及びアクセス認証情報を取得して管理部に保持する手段と、サーバ又は他を含むかもしれないアクセス元から、第1の記憶領域へアクセス要求があった時、管理部に保持されたアクセス認証情報を参照して、アクセスの認証を行う手段と、を有する処理装置上で実行可能なプログラムとして構成される。
【発明の効果】
【0012】
本発明によれば、秘匿領域を有するハードディスクなどの記憶装置以外の装置に秘匿領域のデータを書き換えるための認証情報を持たないため、その装置内のプログラムを解析することにより、データを書き換えるための認証情報を取得することができない。このため、その装置内で変更する必要のないデータをより安全に秘匿領域のデータを改ざんから保護することができる。
【0013】
また、ハードディスク内でデータを管理する場合、削除するために必要な認証情報を秘匿領域を有するハードディスクなどの記憶装置以外の装置に持たないので、より安全に秘匿領域内のデータを不正な削除から保護することができる。
【発明を実施するための最良の形態】
【0014】
[実施例1]
以下、本発明の一実施形態を、図面を参照して説明する。
図1は一実施形態によるアクセス制御システムの構成例を示す図である。図2は、書込みクレデンシャルを設定するフロー図である。
図1において、端末61はハードディスク(HDD)50を有し、ネットワーク60を介してサーバ100に接続して、HDD50へのアクセス制御システムを構成している。端末61は、また、端末61内のデータを処理する主CPU51、プログラムやデータを格納するメモリ53、基本的なI/Oを制御するプログラムを格納するROM54、外部機器とのI/Fを制御するネットワークI/F制御部55、HDD50とのI/Fを制御するハードディスクI/F制御部52を有する。
【0015】
HDD50は、ハードディスクコントローラ20を実装した回路基板40、及びディスクやスピンドルモータや磁気ヘッドを実装し筐体に収められたHDA部21を有する。HDA部21の記憶領域25は、ユーザが利用する通常のデータを格納する通常領域26、プログラム71やアプリケーションデータ72を格納するシステム領域27を有する。
【0016】
ハードディスクコントローラ20は、記憶領域へのアクセス制御用のCPU10、制御プログラムなどを格納するメモリ11、HDA部から読み出したデータ、書き込むデータを一時的にバッファRAM22に格納するための制御を行うバッファ制御部12、HDA部21のスピンドルモータを制御するサーボ制御部13、ホストとのI/Fを行うI/F制御部14、HDA部21に書き込みや読み出しを行うときに行う信号の変復調や誤り訂正を行う信号処理部15、HDA部21に格納されたデータにアクセスを行うときに認証を制御する認証制御部16、認証時に用いるクレデンシャルを管理するクレデンシャル管理部18を有して構成される。
また、回路基板40には、ハードディスクコントローラ20、一時的にデータを格納するバッファRAM22、ダイジェストデータを格納しておく不揮発メモリ23が実装される。なお、この例では、ハードディスクコントローラ20はハードディスクを制御する上での機能を一体化されたものが示されているが、これに限定されずに、一部機能を外付けの部品として回路基板40に実装しても良い。
【0017】
クレデンシャル管理部18は、書込み時の認証に用いる書込みクレデンシャル32、書込みクレデンシャル32を変更する時に用いる管理クレデンシャル31から構成される。
【0018】
サーバ100は、メモリ及びCPU(図示せず)を有し、メモリにアプリケーションプログラム91及びアプリケーションデータ92、及び管理用のクレデンシャルとして第1及び第2の管理クレデンシャル101,102、及びサーバ書込クレデンシャル103を保持する。ここで、管理クレデンシャル101,102及びサーバ書き込みクレデンシャル103は、暗号或いはパスワードである。CPUでアプリケーションプログラムを実行する。第1及び第2の管理クレデンシャル101,102、及びサーバ書込クレデンシャル103が暗号の場合、CPUで所定の乱数発生用プログラムを実行させることで、それらを生成する。
【0019】
次に、図1及び図2を参照して、クレデンシャルの設定動作について説明する。
なお、図8に、図2に対応するクレデンシャルの設定における各動作のタイミングチャートを示す。
まず、書き込みクレデンシャルを設定する動作を説明する。
端末61のHDD50の記憶領域25の通常領域26に格納されたインストーラを起動して、メモリ53にインストールプログラムをロードし、主CPU51はインストールプログラムを実行させる。そして、主CPU51は、HDD50内のクレデンシャル管理部18の管理クレデンシャル31に認証局の証明書を設定し、同時に公開鍵ペアを生成する(S101)。この時点で管理クレデンシャル31には、認証局の証明書とハードディスク内で生成された公開鍵ペア(公開鍵と秘密鍵)が設定されている。
【0020】
次に、端末61は、サーバ100に対して書込みクレデンシャルの設定を要求する(S102)。この場合、サーバ100と端末61の間で認証を行い、不正なサーバもしくは端末(インストーラ)で無いことを確認する。
そして、サーバ100は、端末61で動作しているインストーラがHDD50に対して設定した認証局の証明書に対応した第一の管理クレデンシャル(証明書)を用いてHDD50と認証を行い、一時的にHDD50とサーバ100で共有するセッション鍵を共有しセキュアセッションを開始する(S103)。このとき、HDD50では、認証制御部16で、クレデンシャル管理部18の管理クレデンシャル31を用いて、認証およびセキュアセッションの制御を行う。
【0021】
サーバ100は、必要があれば管理クレデンシャルを第二の管理クレデンシャル102変更する(S105)。この動作は必須ではないが、例えば従来、公開鍵や共通鍵を用いて第一管理クレデンシャルを管理していた場合、機密管理を強化するためにその共通鍵を秘密鍵に変更する場合などに有意義である。例えば、ハードディスク内で生成した公開鍵ペアを認証局が発行した証明書(公開鍵)と秘密鍵に変更する。また、公開鍵認証ではなく共通鍵認証を用いる場合は、セキュリティの観点からサーバとハードディスクで共有する鍵を秘密鍵に変更するのが望ましい。
その後、一旦セキュアセッションを閉じる(S106)。
【0022】
そして、サーバ100は、HDD50と、上記ステップS105で設定した第二の管理クレデンシャル102を用いてセキュアセッションを開始する(S107)。このとき、端末61の主CPU51では、HDD50とサーバ100とのデータのやり取りをハンドリングするだけであるため、共有されたセッション鍵を知ることはできない。
【0023】
サーバ100は、共有されたセッション鍵を用いてサーバ書込みクレデンシャル103を暗号化して端末61に送信する。サーバ書込みクレデンシャル103は、ネットワークI/F制御部55を介してメモリ53に一旦格納され、更に主CPU51でハードディスクI/F制御52を介してHDD50に転送され、認証制御部16でセッション鍵を用いて復号されクレデンシャル管理部18の書込みクレデンシャル32に設定される(S108)。その後、セキュアセッションを閉じて、書込みクレデンシャルの設定の動作を終了する。
【0024】
このように動作させることで、サーバ書込みクレデンシャル103を安全にHDD50に設定することが可能になり、HDD50以外の端末内では、サーバ書込みクレデンシャルを知ることはできない。
なお、ここでは、通常領域26に格納されたインストーラを実行する場合について説明したが、ネットワーク60を介してサーバ100からインストーラをメモリ53に格納してインストーラを実行するように構成してもよい。
【0025】
上記の動作により、サーバ100が書き込みクレデンシャルを設定した後で、サーバとHDD50が書込みクレデンシャルを用いて認証を行い、サーバがアプリケーションプログラムやそのアプリケーションプルグラムが用いるAPデータをHDD50のシステム領域27に格納する。
【0026】
アプリケーションを動作させるときに、HDD50の通常領域26に格納されたプログラムローダを起動し、そのプログラムローダは、システム領域27に格納されているプログラム71を読み出し動作させる。そのプログラム72は、必要であればAPデータ72を読み出しそのデータを利用する。このように、システム領域に格納されたプログラムやAPデータは、プログラムの実行毎に端末61の主CPU51からロードされるため、例え、メモリ53上で改ざんされたとしても起動すれば元の状態にすることができる。
【0027】
本実施例は、例えば、サーバ100から端末61に、コンピュータウィルスチェックプログラムやそのウィルス定義データを提供してシステム領域27に記憶し、端末61内でそれらのデータの変更を許さずに機密性を保って管理することが可能である。すなわち、サーバ100からは書き込みクレデンシャル103及び書き込みクレデンシャル32を用いて認証することで、更新したコンピュータウィルスチェックプログラムや新たなウィルス定義データをシステム領域27に書き込みことができるが、端末61内からはそれらを書き込んだり変更することはできない。端末61内ではシステム領域27に書き込まれたコンピュータウィルスチェックプログラムやそのウィルス定義データ(更新されたものも含む)を読み出して利用するのみである。また、APデータとして端末の動作や機能を定義するデータにすれば、ユーザが容易に変更することができないため、端末を安定に動作させたり、追加の料金を支払った場合のみその機能が動作できるようにすることも可能である。
【0028】
なお、上記例では、システム領域27に対する書き込みクレデンシャルのみを設定して、サーバ100以外からの書き込みを制限するようにした。この場合、サーバ100及び端末61内からはこのシステム領域27のデータやプログラムを自由に読み出すことができる。しかし、サーバ100及び端末61からのシステム領域27への読み出しアクセスを制限したい場合があるかもしれない。そのような場合には、書き込みクレデンシャル32に加えて更に読み込みクレデンシャルも設定して管理することが好ましい。この場合、サーバ100では、書き込みクレデンシャルの生成用とは異なる乱数発生用プログラムを実行させて、読み込みクレデンシャルを生成して管理する。なお、読みこみクレデンシャルの設定は、後で述べる実施例2を実質的に同様である。
【0029】
また、上記例では、1つのシステム領域に記憶されるプログラムやAPデータの改ざんを防止するために、管理クレデンシャル31及び書き込みクレデンシャル32を保持している。しかし、記憶領域21に複数のシステム領域が定義され、各システム領域に対するアクセスを管理する場合には、各システム領域に対応してこれら管理クレデンシャル31及び書き込みクレデンシャル32の組を設定してクレデンシャル管理部18で管理することが好ましい。その場合、サーバ100は、各クレデンシャルの組を生成することになる。この変形例の考えは、後述する第2及び第3の実施例にも同様に適用できる。
【0030】
次に図3、図4を用いてサーバとHDDと間の認証の動作を詳細に説明する。
まず、図3を用いて公開鍵認証を用いた場合を説明する。
サーバ100は、HDD50にサーバ証明書を送信する(T001)。次に、HDD50では、サーバ証明書を、認証局公開鍵Koを用いて署名を検証しサーバ証明書が改ざんされていなく、認証局が発行した証明書であることを確認する(T002)。そして、HDD50はHDD公開鍵Khdoをサーバに転送する(T003)。サーバでは、CPUで乱数N1sを生成し(T004)、HDD50に転送する(T005)。HDD50では、CPU10で乱数N1hdを生成し(T006)、送信されてきた乱数N1sに対してHDD秘密鍵を用いて署名SN1sを生成する(T007)。そして、乱数N1hdと署名SN1sをサーバに転送する(T008)。
【0031】
サーバ100では、送信されてきた乱数N1hdに対してサーバ秘密鍵Kspを用いてCPUで署名SN1hdを生成する(T009)。そして、署名SN1sを、HDD公開鍵Khdoを用いて検証し、HDD50が秘密鍵を所有していることを確認する(T010)。そして、乱数N2sを生成して、HDD公開鍵Khdoで暗号化し(T011)、HDD50に署名SN1hdと暗号化乱数N2sを送信する(T012)。
次に、HDD50では、署名SN1hdを、サーバ証明書に含まれるホスト公開鍵Ksoを用いて検証しサーバが秘密鍵を所有していることを確認する(T013)。そして、乱数N2hdを生成して、サーバ公開鍵Ksoで暗号化し(T014)、暗号化乱数N2hdをサーバに転送する(T015)。
【0032】
次にサーバ100では、CPUで暗号化乱数N2hdを、サーバ秘密鍵を用いて復号化し、生成したN2sとN2hdを用いてセッション鍵を生成する(T016)。HDD50でも、暗号化乱数N2sを、HDD秘密鍵を用いて復号化し、HDDで生成したN2hdとN2sを用いてサーバと同じアルゴリズムを用いてセッション鍵を生成する(T017)。
【0033】
公開鍵で暗号化されたデータは、秘密鍵がないと復号化できないため、たとえホストI/F上のデータを盗聴されたとしても秘密鍵を所有していないとセッション鍵を生成するための乱数を復号できないため、端末61の主CPU51でも知られずに安全にセッション鍵を共有することができる。また、このように共有されたセッション鍵を用いてデータを暗号化することでサーバとHDD間でセキュアにデータの交換を行うことができる。そして、サーバではセッション鍵を用いてサーバ書込みクレデンシャルを暗号化して(T018)、HDD50に転送し(T019)、HDD50では、セッション鍵を用いてサーバ書込みクレデンシャルを復号化して書込みクレデンシャルに設定することができる(T120)。
【0034】
次に、図4を用いて共通鍵認証を用いた場合を説明する。
まず、サーバ100とHDD50は、インストーラがHDDの管理クレデンシャル31に設定した共通秘密鍵Kcを、サーバに書込みクレデンシャルの設定を要求するときにサーバ100にも送信する。この場合は、サーバとインストーラで認証を行い、セキュアセッションを用いて送信する。
【0035】
サーバは、CPUでHDDに乱数N1sを生成し(T101)、HDD50に転送する(T102)。HDD50では、乱数N1hdを生成し(T103)、送信されてきた乱数N1sに対して共通秘密鍵Kcを用いてレスポンスRN1sを生成する(T104)。レスポンスの生成は、共通秘密鍵Kcを用いて乱数を暗号化することで実現できる。そして、乱数N1hdとレスポンスRN1sをサーバに転送する(T105)。
サーバ100では、CPUで、送信されてきた乱数N1hdに対して共通秘密鍵Kcを用いてレスポンスRN1hdを生成する(T106)。そして、レスポンスRN1sを、共通秘密鍵Kcを用いて検証しHDDが共通秘密鍵Kcを所有していることを確認する(T107)。そして、乱数N2sを生成して、共通秘密鍵Kcで暗号化し(T108)、HDD50にレスポンスRN1hdと暗号化乱数N2sを送信する(T109)。
【0036】
次に、HDD50では、レスポンスRN1hdを、共通秘密鍵Kcを用いて検証しサーバが共通秘密鍵Kcを所有していることを確認する(T110)。そして、CPU10で乱数N2hdを生成して、共通秘密鍵Kcで暗号化し(T111)、暗号化乱数N2hdをサーバに転送する(T112)。次にサーバ100では、CPUで暗号化乱数N2hdを、共通秘密鍵Kcを用いて復号化し、ホストで生成したN2sとN2hdを用いてセッション鍵を生成する(T113)。
【0037】
HDD50でも、暗号化乱数N2sを、共通秘密鍵Kcを用いて復号化し、HDDで生成したN2hdとN2sを用いてサーバと同じアルゴリズムを用いてセッション鍵を生成する(T115)。そして、サーバ100はセッション鍵を用いてサーバ書込みクレデンシャルを暗号化して(T114)、HDDに転送する(T115)。HDD50では、セッション鍵を用いてサーバ書込みクレデンシャルを復号化して書込みクレデンシャルに設定する(T116)。
【0038】
また、共通鍵認証を用いてサーバ書込みクレデンシャルを設定する場合は、インストーラは、共通秘密鍵Kcを知っているため、インストーラが改ざんされていないことが必要になるため、先述したようにサーバとインストーラで認証を行う必要がある。しかし、サーバが一旦、第二の管理クレデンシャルを設定(図2のステップS105)すれば、それ以降は、端末内では、第二の管理クレデンシャルやサーバ書込みクレデンシャルを知ることはできないため、インストール後は改ざんをより強固に防ぐことが可能である。
【0039】
[実施例2]
図5は、システム領域にユーザには秘匿のデータが含まれる場合の構成例を示す。例えば、コンテンツ配信システムで用いるコンテンツ鍵を含んだライセンスを配信する場合に用いることができる。
実施例2において上述した実施例1と相違する点は、HDA部21のシステム領域27内にライセンス73を保持すること、及びサーバ100及び端末61からの読込時の認証に用いるサーバ読込クレデンシャル104と、ライセンス管理情報112を持つことである。そのため、実施例1で書き込みクレデンシャルに関する処理に加えて、更に読み込みクレデンシャルの管理が追加される。
【0040】
例えば、図2を参照すれば、端末61は、サーバ100に対して書込みクレデンシャルおよび読込みクレデンシャルの設定を要求することになる(S102´)。
また、サーバ100はHDD50と、第二のクレデンシャル102を用いてセキュアセッションを開始した後、サーバ100は共有されたセッション鍵を用いてサーバ書込みクレデンシャル103、サーバ読込クレデンシャル104を暗号化して端末61に送信し、ネットワークI/F制御部55を介してメモリ53に送られ、主CPU51でハードディスク I/F制御52を介してHDD50に転送され、認証制御部16でセッション鍵を用いて復号されクレデンシャル管理部18の書込みクレデンシャル32、読込みクレデンシャル33に設定される(S108´)ことになる。
そして、セキュアセッションをクローズして書込みクレデンシャルの設定の動作を終了する。そして、インストーラに対してサーバ読込クレデンシャル104を通知し、通常領域26に暗号化などを施して安全に格納することができる。
【0041】
実施例2は、読込クレデンシャルをサーバから設定する例であるが、たとえば管理クレデンシャルを設定する前にインストーラが設定してもよい。また、実施例1では管理クレデンシャルは書込み/読込み用で共通であるが、書込みクレデンシャルを書き換えるための書込みクレデンシャル用管理クレデンシャル、読込みクレデンシャル用管理クレデンシャルを別々に管理してもよい。
【0042】
次に、コンテンツを利用するためのライセンスの配信について説明する。
まず、コンテンツ配信用のアプリケーションプログラム75を端末61で起動する。そして、サーバが提供するコンテンツから購入するコンテンツを選択し、料金の支払い方法などを選択し購入の処理が終わると、サーバ上のライセンス管理情報112にライセンスのデータが生成される。
【0043】
そして端末61はサーバ100にライセンスの要求を行う。HDD50は、書込みクレデンシャルを用いてサーバ100と認証を行い、セキュアセッションを開始する。そして、サーバは、ライセンス管理情報112を参照して要求されたライセンスが購入済みか、すでに他の端末に送信してないかを確認する。購入済でありかつ他の端末に送信してなければ、HDD50に対してライセンスをセッション鍵で暗号化して送信する。HDD50では、セキュアセッションで共有したセッション鍵を用いて暗号処理部17で復号しシステム領域27にライセンスを書込む。このとき、さらに安全にするために暗号処理部17でHDD固有のIDなどを用いて暗号化して格納してもよい。
【0044】
また、このライセンスを利用する場合は、プログラム75は、インストーラがインストール時に格納したサーバ読込クレデンシャルを通常領域26から読み出して、HDD50と認証を行い、セッション鍵を共有する。そしてプロクラム75は、HDD50に対してライセンスを要求する。HDD50では、要求されたライセンスがシステム領域27に格納されているかどうかを確認し、格納されていれば暗号処理部17でライセンスを暗号化して主CPU61で動作するプログラム75に送信する。システム領域27に格納されているライセンスが暗号化されている場合は、HDD固有のIDなどを用いて復号化してからセッション鍵で暗号化する。
このように、端末61内では、書込みクレデンシャルを知らないため、たとえばライセンスの利用期限などの改ざんが防ぐことができ、コンテンツ鍵などの秘匿データも保護することが可能になる。
【0045】
次に図6を参照して、サーバ100で管理されるライセンス管理情報について説明する。
ライセンス管理情報は、ライセンスを識別するライセンスID121、購入したユーザを識別するユーザID122、ライセンスを発行した端末ID123、発行したライセンスの有効期限を示すライセンス期限124、ライセンスデータ125により構成される。
【0046】
この様にライセンス管理情報を管理することで、以下のような制御が可能となる。
ユーザが複数の端末を所有するときに、ある端末からライセンスを要求し、すでに他の端末にそのライセンスが発行されている場合を考える。
まず、サーバは、ライセンスが要求してきたユーザが購入したライセンスかどうかをライセンスID121とユーザID122を検索して判定する。次に、サーバは端末ID123を参照してライセンスを発行した端末に対してライセンス削除を要求し、ライセンスを削除する。そして要求のあった端末にライセンスを発行し、端末ID123を更新する。このとき、ライセンスを持っている端末がライセンスの削除を拒否した場合は、ライセンスを削除せず、ライセンスを要求してきた端末にエラーを返す。
【0047】
また、ライセンスを持っている端末に接続できなかった場合は、発行ライセンス期限124を参照し、すでに期限が過ぎている場合は、ライセンスを削除することなくライセンスを発行する。ここで発行ライセンス期限124は、ライセンスデータに含まれる期限より短く設定されている。
このように、複数の端末でより便利にライセンスを共有することができる。
【0048】
[実施例3]
図7は、システム領域にログ情報を格納する場合の構成例を示す。
実施例3において、上記実施例1、2と相違する点は、HDD50のクレデンシャル管理部18が、更に削除時の認証に用いる削除クレデンシャル34を有すること、並びにメディアI/F81を介してメディア82が接続すること、及びサーバ100が削除時の認証に用いるサーバ削除クレデンシャル105と、ログ情報格納領域111を有することである。
【0049】
そのため、例えば、図2を参照すれば、端末61は、サーバ100に対して削除クレデンシャルの設定を要求する(S102´)。
また、サーバ100はHDD50と、第二のクレデンシャル102を用いてセキュアセッションを開始した後、サーバ100は共有されたセッション鍵を用いて削除クレデンシャル105を暗号化して端末61に送信し、ネットワークI/F制御部55を介してメモリ53に送られ、主CPU51でハードディスク I/F制御52を介してHDD50に転送され、認証制御部16でセッション鍵を用いて復号されクレデンシャル管理部18の削除クレデンシャル34に設定される(S108´)。
【0050】
なお、この例では、実施例1及び2における、書込みクレデンシャル32、読込みクレデンシャル33の設定については考慮していないが、これらのクレデンシャル32,33を設定するようにしてもよい。ここで、書き込みクレデンシャルは、データをシステム領域26に新たに書き込むためのクレデンシャルであり、データの更新は許可しない。
【0051】
次に、ログの格納の動作に関して説明する。
通常領域26に格納されたログ収集プログラム76は起動されると、端末61の動作のログ、たとえばネットワーク60にアクセスする動作やメディアI/F81に接続される外部メディア82に対する動作に関するログを、システム領域26にログ74として格納する。ログを格納する場合は、必要であればHDD50と認証を行い、ログを格納する。
【0052】
そして、ログの格納領域が少なくなった場合や、定期的にサーバに対してログのアップロードを要求する。サーバ100はアップロードがあった場合は、HDD50と認証を行い、ログを読出しログ格納領域111に格納する。ここで、伝送路における改ざんを防止する必要があれば暗号処理部17を用いて暗号化してログを送信する。
ログのサーバへの格納が終了したら、サーバとHDD50は削除クレデンシャルを用いて認証を行う。そして、サーバはHDD50に対してログの削除を要求する。HDD50は、要求に従いシステム領域27内のログ74を削除する。
【0053】
このように、端末61内では、HDD50内のクレデンシャル管理部18以外には削除クレデンシャルを管理していないため、ログ収集プログラム76が格納したログに対する改ざんや削除を防止することが可能になる。
また、不正なプログラムにより無意味なログをシステム領域に書込み、ログの格納領域を無駄に消費させることも考えられるため、特定のプログラム(ここではログ収集プログラム)のみが書込みクレデンシャルと管理するように構成すれば、上述のような攻撃を防ぐことが可能である。
【図面の簡単な説明】
【0054】
【図1】実施例1における記憶装置及びそのアクセス制御システムの例を示す図。
【図2】実施例1におけるサーバがクレデンシャルを設定する一例を示すフロー図。
【図3】実施例1における公開鍵認証の一例を示すシーケンス図。
【図4】実施例1における共通鍵認証の一例を示すシーケンス図。
【図5】実施例2における記憶装置及びそのアクセス制御システムの例を示す図。
【図6】実施例2におけるライセンス管理情報の一例を示す図。
【図7】実施例3における記憶装置及びそのアクセス制御システムの例を示す図。
【図8】実施例1におけるクレデンシャルの設定動作における各動作のタイミングチャート図。
【符号の説明】
【0055】
10:CPU,11:メモリ,12:バッファメモリ制御部,13:サーボ制御部,14:ホストI/F制御部,15:信号処理部,16:認証制御部,17:暗号処理部,18:クレデンシャル管理部,20:ハードディスクコントローラ,21:HDA部,22:バッファRAM,25:記憶領域,26:通常領域,27:システム領域,31:管理クレデンシャル,32:書込クレデンシャル,33:読込クレデンシャル,34:削除クレデンシャル,40:回路基板,50:ハードディスク(HDD),51:主CPU,52:HDD I/F制御部,53:メモリ,54:ROM,55:ネットワークI/F制御部,56:システムバス,60:ネットワーク,61:端末,71:プログラム,72:APデータ,73:ライセンス,74:ログ,91:プログラム,92:APデータ,100:サーバ,101:第1の管理クレデンシャル,102:第2の管理クレデンシャル,103:サーバ書込みクレデンシャル,104:サーバ読込クレデンシャル,103:サーバ削除クレデンシャル,111:ログ情報格納領域,112:ライセンス管理情報,121:ライセンスID,122:ユーザID,123:端末ID,124:発行ライセンス期限,125:ライセンスデータ

【特許請求の範囲】
【請求項1】
記憶装置を有する端末と、ネットワークを介して該端末に接続され、該記憶装置の記憶領域にアクセスすることができるサーバと、を含むアクセス制御システムにおいて、
該サーバは、該端末がアクセス先として正当であると認識した場合、アクセスを許可する管理認証情報を生成する処理部と、を有し、
該端末は、所定の条件が満たされた場合にアクセスが許可される、該記憶装置内に設定された第1の記憶領域と、前記処理部によって生成された、該第1の記憶領域へアクセスするため使用される該管理認証情報を管理する管理部とを有することを特徴とするアクセス制御システム。
【請求項2】
前記端末は、公開鍵暗号を用いた暗号通信のセッションを確立して、前記サーバとの間で情報を通信することを特徴とする請求項1のアクセス制御システム。
【請求項3】
前記サーバにおける前記処理部は、前記管理認証情報(第1の管理認証情報)を用いて該記憶装置に関する認証を行い、更に第2の管理認証情報を生成し、該第2の管理認証情報を用いて該端末との間のセキュアセッションを開始することを特徴とする請求項1又は2のアクセス制御システム。
【請求項4】
前記サーバの前記処理部は、前記第2の管理認証情報を用いて、該記憶装置の該第1の記憶領域に対する書込みアクセス、又は読込みアクセス、又は削除アクセス時の認証に用いられる、夫々異なるクレデンシャルを生成して管理することを特徴とする請求項3のアクセス制御システム。
【請求項5】
前記サーバの前記処理部は、該記憶装置の該第1の記憶領域に対する書込みアクセス、又は読込みアクセス、又は削除アクセス時の認証に用いられる、夫々異なるクレデンシャルを生成し、
前記端末は、該処理部で生成された書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルのいずれかを受信して、前記記憶装置内に設定された前記管理部に保持することを特徴とする請求項1乃至3のいずれかのアクセス制御システム。
【請求項6】
前記端末に備えられた前記管理部は、前記第2の管理認証情報、又は前記書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを、該記憶装置に形成された記憶領域又はメモリに記憶して管理することを特徴とする請求項4乃至5のいずれかのアクセス制御システム。
【請求項7】
前記記憶装置内に複数の第1の記憶領域が設定されている場合、前記サーバの前記処理部は、各第1の記憶領域に対応して、前記書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを生成して管理することを特徴とする請求項4乃至6のいずれかのアクセス制御システム。
【請求項8】
前記記憶装置内に、複数の第1の記憶領域が設定されている場合、前記管理部は、該サーバから取得した、前記書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを、各第1の記憶領域に対応付けて管理することを特徴とする請求項4乃至7のいずれかのアクセス制御システム。
【請求項9】
該端末は、該サーバとの間で暗号通信のセッションを確立して情報のやりとりを行い、該サーバから該第2の管理認証情報を受信した後に該暗号通信のセッションを閉じ、該サーバから前記書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを受信する際に、該暗号通信のセッションを再度確立することを特徴とする請求項4乃至8のいずれかのアクセス制御システム。
【請求項10】
ネットワークを介してサーバに接続可能な記憶装置において、
所定の条件が満たされた場合にアクセスが許可される、該記憶装置内に設定された第1の記憶領域と、自由にアクセスすることができる第2の記憶領域を有する記憶媒体と、該サーバに該第1の記憶領域へのアクセスを許可するために、該サーバを認証する際に使用される管理認証情報であって、該サーバで生成された該管理認証情報を取得して管理する管理部と、該サーバが該第1の記憶領域をアクセスする時、該管理部で管理されている該管理認証情報を用いて認証する認証制御部と、を有することを特徴とする記憶装置。
【請求項11】
該サーバで生成される該管理認証情報は、第1の管理認証情報と、該第1の管理認証情報を用いた認証の結果に基づいて生成される第2の管理認証情報と、該第2の管理認証情報を用いた認証の結果に基づいて生成されるアクセス認証情報を含み、
前記認証制御部は、該サーバからの要求に応答して、予め取得されて該管理部で管理される該第1の管理認証情報を参照して、該サーバから送られる該第1の管理認証情報を検証して該サーバを認証し、該サーバの認証に成功した場合に、該サーバから受信された第2の管理認証情報を該管理部で管理し、
該記憶装置は、該サーバからの要求に応答して該サーバから第2の管理認証情報を受信すると、該認証制御部は、該管理部で管理される該第2の管理認証情報を参照して、該サーバからの該第2の認証情報を検証して該サーバを認証し、該サーバの認証に成功した場合に、該サーバから受信された該アクセス認証情報を該管理部に設定することを特徴とする請求項10の記憶装置。
【請求項12】
前記管理部は、前記アクセス認証情報として、該第1の記憶領域をアクセスする時の認証に使用される書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを管理することを特徴とする請求項11の記憶装置。
【請求項13】
前記記憶装置内に、複数の第1の記憶領域が設定されている場合、前記管理部は、前記書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを含む組を、各第1の記憶領域に対応付けて管理することを特徴とする請求項12の記憶装置。
【請求項14】
ネットワークを介してサーバから、端末の該記憶装置にアクセスするアクセス制御方法において、
該記憶装置内に予め、所定の条件が満たされた場合にアクセスが許可される第1の記憶領域を定義するステップと、該サーバにおいて該端末がアクセス先として正当であると認識した場合、該第1の記憶領域へのアクセスを許可する管理認証情報を生成するステップと、
該端末において、該サーバより該管理認証情報を取得して管理部に保持して管理するステップと、該サーバ又は他を含むかもしれないアクセス元から、該第1の記憶領域へアクセス要求があった時、該管理部に保持された該管理認証情報を参照して、該アクセス許可の認証を行うステップと、を有することを特徴とするアクセス制御方法。
【請求項15】
該サーバにおいて前記管理認証情報として第1の管理認証情報を用いて該記憶装置に関する認証を行うステップと、該第1の管理認証情報を用いた認証が成功した場合に第2の管理認証情報を生成するステップと、該第1の管理認証情報を用いた認証が成功した場合にアクセス認証情報を生成するステップとを有し、
該端末において、予め該サーバから取得して該第1の管理認証情報を保持するステップと、該サーバからの要求に応答して、該第1の管理認証情報を参照して、該サーバから送られる該第1の管理認証情報を検証して該サーバを認証し、該サーバの認証に成功した場合に、該サーバから受信された第2の管理認証情報を取得して該管理部に保持するステップと、
該サーバからの要求に応答して該サーバから第2の管理認証情報を受信すると、該管理部に保持された該第2の管理認証情報を参照して、該サーバからの該第2の認証情報を検証して該サーバを認証するステップと、該認証の結果、該サーバの認証に成功した場合に、該サーバから受信された該アクセス認証情報を該管理部に設定するステップと、を有することを特徴とする請求項14のアクセス制御方法。
【請求項16】
該サーバは、前記アクセス認証情報として、該第1の記憶領域をアクセスする時の認証に使用される書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを生成し、
前記端末の該管理部は、該サーバより受信した書込みクレデンシャル、又は読込みクレデンシャル、又は削除クレデンシャルを保持することを特徴とする請求項15のアクセス制御方法。
【請求項17】
前記第1の記憶領域に特定のプログラムを記憶する場合、前記サーバは該管理部に設定された該書込みクレデンシャルを用いて、該第1の記憶領域に記憶された該プログラムの書き換えを行うことができ、該端末は該第1の記憶領域に記憶された該プログラムの書き換えを行なえず、読み出して処理装置で実行することのみが許容されることすることを特徴とする請求項16のアクセス制御方法。
【請求項18】
前記第1の記憶領域に、コンテンツを利用するライセンスを記憶する場合、前記サーバは該管理部に設定された該書込みクレデンシャルを用いて、該第1の記憶領域に記憶される該ライセンス書き換えを行うことができ、該端末は該第1の記憶領域に設定された該読込みクレデンシャルを用いて該ライセンスを読み出して、該ライセンスを用いて該コンテンツの利用を許可することを特徴とする請求項16のアクセス制御方法。
【請求項19】
ネットワークを介してサーバに接続可能な記憶装置の記憶領域のアクセスを管理するために処理装置で実行されるプログラムであって、
所定の条件が満たされた場合にアクセスが許可される第1の記憶領域に対するアクセス認証情報の設定を該サーバへ要求する手段と、該サーバにおいて該端末がアクセス先として正当であると認識した場合、該第1の記憶領域へのアクセスを許可する管理認証情報及びアクセス認証情報を生成する手段と、該端末において、該サーバより受信した該管理認証情報及び該アクセス認証情報を取得して管理部に保持する手段と、該サーバ又は他を含むかもしれないアクセス元から、該第1の記憶領域へアクセス要求があった時、該管理部に保持された該アクセス認証情報を参照して、アクセスの認証を行う手段と、を有する処理装置上で実行可能なプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−171116(P2008−171116A)
【公開日】平成20年7月24日(2008.7.24)
【国際特許分類】
【出願番号】特願2007−2409(P2007−2409)
【出願日】平成19年1月10日(2007.1.10)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】