JP2004272893A - ソフトウェア管理システム、記録媒体及び情報処理装置 - Google Patents

ソフトウェア管理システム、記録媒体及び情報処理装置 Download PDF

Info

Publication number
JP2004272893A
JP2004272893A JP2004041297A JP2004041297A JP2004272893A JP 2004272893 A JP2004272893 A JP 2004272893A JP 2004041297 A JP2004041297 A JP 2004041297A JP 2004041297 A JP2004041297 A JP 2004041297A JP 2004272893 A JP2004272893 A JP 2004272893A
Authority
JP
Japan
Prior art keywords
software
unit
information
recording medium
information processing
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.)
Withdrawn
Application number
JP2004041297A
Other languages
English (en)
Inventor
Toshiharu Harada
俊治 原田
Toshihisa Nakano
稔久 中野
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004041297A priority Critical patent/JP2004272893A/ja
Publication of JP2004272893A publication Critical patent/JP2004272893A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】 記録媒体上の改竄がされにくく、インストールの対象の端末装置と記録媒体との間の通信路における不当な攻撃を避けることができ、またソフトウェアとライセンス情報との対応関係を不正に更新することができない記録媒体を提供する。
【解決手段】 記録媒体は、セキュア記憶領域及び通常記憶領域を含む情報記憶部と、耐タンパモジュール部とを備えている。通常記憶領域には、ソフトウェアが、セキュア記憶領域には、前記ソフトウェアの使用許可数を示すライセンス数と、前記ソフトウェアの署名データとが対応付けて記録されている。耐タンパモジュール部は、端末装置との間で相互に機器認証を行い、セキュア記憶領域のライセンス数が所定数以内であれば、ソフトウェアと署名データとを端末装置へ出力する。
【選択図】 図3

Description

本発明は、コンピュータソフトウェアのライセンス管理技術に関する。
従来よりコンピュータプログラムのライセンスを管理する様々な技術が提案されている。
特許文献1は、記録媒体に記録されているアプリケーションプログラムが無制限にインストールされることを防止し、不正な使用を解消することを目的として、インストール実行に応じてインストール回数を記録媒体の記録再生領域に記録しておき、アプリケーションプログラムを他の記録媒体へインストールする要求があった場合に、記録されている過去のインストール回数を確認し、そのインストール回数が所定回数未満であったときのみ、インストールを実行するインストール制御技術を開示している。
また、特許文献2は、ICカードに格納された情報に基づいて、ソフトウェアの不正使用を防止するソフトウェアライセンス管理システムを開示している。前記管理システムは、ソフトウェア記録媒体と、該ソフトウェアのライセンス管理情報を格納したICカードと、カードリーダライタを接続した情報処理端末機とを具備しており、前記管理システムは、ソフトウェア購入者が個々に保持する前記情報処理端末機のカードリーダライタを介して前記ICカードからライセンス管理情報を読み出す手段と、該ライセンス管理情報に基づいてインストールまたはアンインストールする手段からなり、前記ICカードにインストールした情報処理端末機を特定する情報を記録する。
さらに、特許文献3は、ソフトウェアのライセンス不正利用を抑止することを目的とするソフトウェアコピーガード実現方法を開示している。前記コピーガード実現方法は、揮発性記憶領域と不揮発性記憶領域が内蔵されたカートリッジに着脱可能な記録媒体が挿入され、カートリッジ内の不揮発性記憶領域に格納された認証アルゴリズムと、ソフトウェアのインストールプログラムと、ソフトウェアをインストールするシステム装置固有のシステム情報と、記録媒体が持つソフトウェア固有の情報と、カートリッジアクセス装置とを利用する。カートリッジは、記録媒体が持つソフトウェア固有の情報及び端末装置に固有の端末固有情報を用いて、認証データを生成して内部に記録し、認証データに基づいてソフトウェアの端末装置へのインストールの可否を判断する。
特開平10−27426号公報 特開2002−268764号公報 特開2002−182769号公報
しかしながら、第1に、特許文献1により開示されているインストール制御技術によると、記録媒体に記録されているインストール回数によりインストールを実行するか否かを判断するので、無制限にアプリケーションプログラムがインストールされることを防止できるものの、悪意のある第三者が、記録媒体の記録再生領域に記録されているインストール回数を改竄すれば、無制限にアプリケーションプログラムをインストールすることができるという問題点(課題1)がある。
また、前記インストール制御技術によると、前記記録媒体からインストール回数が、前記記録媒体とインストールの対象となる端末装置との間の通信路上を流れることにより、端末装置に伝達され、端末装置においてインストール回数を受け取り、受け取ったインストール回数を用いて、端末装置が、インストールの可否を判定する。ここで、悪意のある第三者が、前記通信路上において、インストール回数を改竄すれば、上記と同様に、無制限にアプリケーションプログラムをインストールすることができるという問題点(課題2)がある。
さらに、前記インストール制御技術によると、記録媒体上においてアプリケーションプログラムとインストール回数とが対応付けて記録されているので、悪意のある第三者が、記録媒体上におけるアプリケーションプログラムとインストール回数との対応付けを不正に改竄すれば、例えば、安価なプログラムを正規に購入し、購入した安価なプログラムとインストール回数との対応付けを、正規に購入していない高価なプログラムと前記インストール回数との対応付けに変更すれば、前記高価なプログラムを、インストールすることができるという問題点(課題3)がある。
第2に、特許文献2により開示された管理システムによると、該ソフトウェアのライセンス管理情報がICカードに格納されているので、悪意のある第三者によっても、ICカードに格納されているライセンス管理情報の改竄は容易ではない。従って課題1に指摘するような問題点が発生する可能性は低い。
また、前記管理システムによると、前記ICカードからライセンス管理情報が、前記ICカードとインストールの対象となる情報処理端末機との間の通信路上を流れることにより、情報処理端末機に伝達され、情報処理端末機においてライセンス管理情報を受け取り、受け取ったライセンス管理情報を用いて、情報処理端末機が、インストールの可否を判定する。ここで、悪意のある第三者が、前記通信路上において、ライセンス管理情報を改竄すれば、特許文献1により開示されているインストール制御技術による場合と同様に、無制限にアプリケーションプログラムをインストールすることができるという問題点(課題2)がある。
さらに、前記管理システムによると、ソフトウェア記録媒体とICカードとが対応付けられているので、悪意のある第三者が、例えば、安価なソフトウェアが記録されている第1のソフトウェア記録媒体及び100台分のライセンス管理情報を記録した第1のICカードと、高価なソフトウェアが記録されている第2のソフトウェア記録媒体及び1台分のライセンス管理情報を記録した第2のICカードとを正規に購入し、第2のソフトウェア記録媒体が第1のICカードに対応付くように、第2のソフトウェア記録媒体を改竄すれば、前記高価なソフトウェアを、インストールすることができるという問題点(課題3)がある。
第3に、特許文献3により開示されたコピーガード実現方法によると、ソフトウェアのインストールの可否を判断するために用いられる認証データがカートリッジ内に記録されているので、悪意のある第三者によっても、カートリッジに記録されている認証データの改竄は容易ではない。従って課題1に指摘するような問題点が発生する可能性は低い。
また、前記コピーガード実現方法によると、悪意のある第三者が、カートリッジアクセス装置とカートリッジの間の通信路上を流れるライセンス関連情報を改竄すれば、特許文献1により開示されているインストール制御技術による場合と同様に、無制限にアプリケーションプログラムをインストールすることができるという問題点(課題2)がある。
さらに、前記コピーガード実現方法によると、悪意のある第三者が、記録媒体とカートリッジとの対応付けを改竄すれば、特許文献2により開示された管理システムの場合と同様に、例えば、正規に購入していない高価なソフトウェアを、インストールすることができるという問題点(課題3)がある。
本発明は、上記の問題点(課題1〜3)を解決し、コンピュータソフトウェアが記録されている記録媒体上の改竄がされにくく、ソフトウェアがインストールされる対象となる端末装置と前記記録媒体との間の通信路における不当な攻撃を避けることができ、またソフトウェアとライセンス情報との対応関係を不正に更新することができないソフトウェア管理システム、記録媒体、情報処理装置、制御方法、ソフトウェア管理方法、及びコンピュータプログラムを提供することを目的とする。
上記目的を達成するために、本発明は、コンピュータソフトウェアを記録している記録媒体である。前記記録媒体は、セキュア記憶領域及び通常記憶領域を含む情報記憶部と、耐タンパモジュール部とを備えている。
通常記憶領域には、コンピュータ命令の実行手順を示すコンピュータソフトウェアが記憶されており、セキュア記憶領域には、前記コンピュータソフトウェアの使用許可数を示すライセンス数と、前記コンピュータソフトウェアの署名データとが対応付けて記録されている。
耐タンパモジュール部は、前記コンピュータソフトウェアのインストール対象となる端末装置との間で、相互に機器認証を行い、相手が正当な装置であることを確認する。
相手が正当な装置があると確認された場合に、耐タンパモジュール部は、端末装置から暗号化端末固有情報を取得する。暗号化端末固有情報は、端末固有情報が暗号化されたものであり、端末固有情報は、前記端末装置に固有の情報である。耐タンパモジュール部は、取得した暗号化端末固有情報を復号して端末固有情報を得、得られた端末固有情報がセキュア記憶領域にすでに記憶されているなら、ソフトウェアの再インストールとみなす。記憶されていないなら、新規インストールとみなし、前記端末固有情報をセキュア記憶領域に書き込む。耐タンパモジュール部は、セキュア記憶領域に記憶されているライセンス数をチェックし、ライセンス数が所定数以内であれば、コンピュータソフトウェアとコンピュータソフトウェアの署名データとを端末装置へ出力する。
端末装置は、コンピュータソフトウェアと署名データとを受け取り、受け取った署名データを検証し、検証が成功すれば、受け取ったコンピュータソフトウェアを内部にインストールする。
一方、耐タンパモジュール部は、ライセンス数を1だけ減じるように更新する。
以上説明したように、本発明は、記録媒体と情報処理装置とから構成されるソフトウェア管理システムである。
前記記録媒体は、コンピュータデータであるソフトウェアを記憶している通常記憶手段と、外部から直接アクセスできず、前記ソフトウェアの使用条件に係るライセンス情報を記憶しているセキュア記憶手段と、耐タンパ性を有し、前記セキュア記憶手段に記憶されているライセンス情報に基づいて、前記情報処理装置へのソフトウェアの導入又は導入されているソフトウェアの非活性化の可否を判断し、可と判断する場合に、前記情報処理装置に対して導入又は非活性化の許可を示す許可指示を出力し、導入又は非活性化に応じて前記セキュア記憶手段に記憶されているライセンス情報を書き換える耐タンパモジュール手段とを含む。
前記情報処理装置は、前記記録媒体から前記許可指示を取得する取得手段と、取得した前記許可指示に応じて、前記記録媒体から前記ソフトウェアを取得して内部に導入し、又は導入されている前記ソフトウェアを非活性化する制御手段とを含む。
これらの構成によると、外部から直接アクセスできないセキュア記憶手段にライセンス情報が記憶されているので、ライセンス情報の改竄が容易ではない。また、記録媒体から相手の情報処理装置へライセンス情報が伝送されないので、記録媒体から相手装置への通信路上においてライセンス情報が漏洩して改竄されることはない。さらに、ソフトウェアの使用条件に係るライセンス情報がセキュア記憶手段に記憶されているので、ライセンス情報とソフトウェアとの対応関係が不当に改竄されることはない。
1.実施の形態1
本発明に係る1個の実施の形態としてのソフトウェア管理システム10について説明する。
1.1 ソフトウェア管理システム10の構成
ソフトウェア管理システム10は、図1に示すように、ソフトウェア書込装置100、可搬型のメモリカード200及び情報処理装置300から構成されている。
ソフトウェア書込装置100は、ソフトウェア提供者が有しているパーソナルコンピュータ等により構成されるコンピュータシステムであり、ソフトウェア販売店や、CE(コンシューマエレクトロニクス)機器メーカの顧客サービスセンターにおいて利用される。ソフトウェア書込装置100は、コンピュータにより実行されるアプリケーションプログラム、前記アプリケーションプログラムの不具合などを修正するためのバグ修正プログラム、前記アプリケーションプログラムの新機能追加のためのバージョンアッププログラムなどのソフトウェアをメモリカード200に書き込む。前記ソフトウェアは、複数のコンピュータ命令から構成され、これらのコンピュータ命令の実行手順を示すものである。前記ソフトウェアの書き込まれたメモリカード200は、利用者に有償又は無償で提供される。
情報処理装置300は、利用者が有しているパーソナルコンピュータや家庭電化製品などのCE機器である。利用者により前記ソフトウェアが書き込まれたメモリカード200が情報処理装置300に挿入される。情報処理装置300は、メモリカード200に書き込まれているソフトウェアを読み出して、内部に記憶、つまりインストールする。情報処理装置300は、内部に記憶しているソフトウェアに従って動作する。このようにして、利用者は、そのソフトウェアを利用することができる。
また、情報処理装置300は、内部に記憶しているソフトウェアをアンインストールする。こうして、利用者のそのソフトウェアを非活性化することができる。
1.2 ソフトウェア書込装置100の構成
ソフトウェア書込装置100は、図2に示すように、認証部111、暗号化部112、情報記憶部113、制御部114、暗号化部118及び入出力部101から構成されている。また、ソフトウェア書込装置100には、入力部115及び表示部116が接続されている。
ソフトウェア書込装置100は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニットなどから構成されるコンピュータシステムである。また、入力部115は、具体的には、キーボードであり、表示部116は、ディスプレィユニットである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、ソフトウェア書込装置100は、その機能を達成する。
なお、図2において、各ブロックは、接続線により他のブロックと接続されている。ただし、一部の接続線を省略している。ここで、各接続線は、信号や情報が伝達される経路を示している。また、暗号化部112を示すブロックに接続している複数の接続線のうち、接続線上に鍵マークが付されているものは、暗号化部112へ鍵としての情報が伝達される経路を示している。また、他の図面についても同様である。
(1)情報記憶部113
情報記憶部113は、図2に示すように、ソフトウェア管理テーブル121、ソフトウェア122、ソフトウェア123、・・・をセキュアに記憶している。
ソフトウェア管理テーブル121は、ソフトID、ソフトキー及びインストール回数情報から構成されるソフトウェア管理情報を複数個含むデータテーブルである。
ソフトIDは、当該ソフトウェアを識別するための識別番号であり、64ビット長である。
ソフトキーは、当該ソフトウェアを暗号化する際に用いられる暗号鍵であり、56ビット長である。
インストール回数情報は、16ビット長であり、当該ソフトウェアに割り当てられたインストール許可回数である。例えば、インストール回数情報が「10」である場合に、利用者に対して、当該ソフトウェアを最大10回までインストールすることが許可される。また、インストール回数情報として「FFFF」(16進数)が指定された場合には、無制限にインストールが可能であることを示すものとする。ここでは、インストール回数情報は、固定値をとるとしているが、利用者の購入数に応じて可変であるように設定してもよい。
ソフトウェア122、ソフトウェア123、・・・は、それぞれ、コンピュータプログラムであり、ソフトIDにより識別される。
(2)入力部115
入力部115は、ソフトウェア書込装置100の操作者からソフトウェアの指定を受け付け、指定を受け付けたソフトウェアを識別するソフトIDを情報記憶部113から取得し、取得したソフトIDを制御部114へ出力する。
(3)認証部111
メモリカード200が操作者によりソフトウェア書込装置100に挿入されると、認証部111は、メモリカード200が有する認証部211との間で、チャレンジ−レスポンス型の相互の機器認証を行う。
具体的には、認証部111は、認証部211を認証する。次に、認証部111は、認証部211により、認証を受ける。
認証部111及び認証部211の認証が共に成功した場合に、認証部111と認証部211との間での上記チャレンジーレスポンス型の認証のプロセスにおいて使用される乱数情報に基づいて、相互の認証の都度異なる64ビット長のセッション鍵を生成し、生成したセッション鍵を認証部211との間で秘密に共有する。次に認証部111は、生成したセッション鍵を暗号化部118へ出力する。なお、セッション鍵は、認証の都度、異なるものが生成される。これは、他の認証部においても同様である。
認証部111は、両者の認証が成功した場合に、認証の成功を示す認証成功情報を制御部114へ出力し、認証が失敗した場合に、認証の失敗を示す認証失敗情報を制御部114へ出力する。
なお、チャレンジ−レスポンス型の機器認証については、公知であるので、説明を省略する。
(4)制御部114
制御部114は、入力部115からソフトIDを受け取る。また、制御部114は、認証部111から認証成功情報又は認証失敗情報を受け取る。
認証部111から認証成功情報を受け取ると、制御部114は、暗号化部118に対して受け取ったソフトIDを出力し、また暗号化部118に対してソフトウェア管理情報を暗号化してメモリカード200へ書き込む旨の暗号化指示を出力する。また、制御部114は、暗号化部112に対して受け取ったソフトIDを出力し、暗号化部112に対してソフトウェアを暗号化してメモリカード200へ書き込む旨の暗号化指示を出力する。
(5)暗号化部118
暗号化部118は、制御部114からソフトID及び暗号化指示を受け取る。また、暗号化部118は、認証部111からセッション鍵を受け取る。
制御部114からソフトID及び暗号化指示を受け取ると、暗号化部118は、ソフトウェア管理テーブル121から、前記ソフトIDを含むソフトウェア管理情報を読み出し、認証部111から受け取ったセッション鍵を用いて、読み出したソフトウェア管理情報に暗号化アルゴリズムE3を施し、暗号化ソフトウェア管理情報を生成する。次に、暗号化部118は、生成した暗号化ソフトウェア管理情報をメモリカード200へ出力する。
(6)暗号化部112
暗号化部112は、制御部114からソフトID及び暗号化指示を受け取る。
制御部114からソフトID及び暗号化指示を受け取ると、ソフトウェア管理テーブル121から前記ソフトIDを含むソフトウェア管理情報を読み出し、読み出したソフトウェア管理情報からソフトキーを抽出する。次に、暗号化部112は、情報記憶部113から受け取ったソフトIDにより識別されるソフトウェアを読み出し、抽出したソフトキーを鍵として用いて、読み出したソフトウェアに暗号化アルゴリズムE1を施し、暗号化ソフトウェアを生成する。
ここで、暗号化アルゴリズムE1は、DES(Data Encryption Standard)により規定されたものである。
なお、ソフトキーのビット長、暗号化アルゴリズムについては、上記に説明したものに限定されない。
次に、暗号化部112は、生成した暗号化ソフトウェアをメモリカード200へ出力する。
(7)表示部116
表示部116は、制御部114の制御により各種情報を表示する。
(8)入出力部101
入出力部101は、制御部114の制御により、認証部111、暗号化部118及び暗号化部112と、メモリカード200との間で情報の入出力を行う。
1.3 メモリカード200の構成
メモリカード200は、図2及び図3に示すように、特別に許可された経路を除いて、外部から読み書きできない耐タンパモジュール部210、情報記憶部220及び入出力部201から構成されている。耐タンパモジュール部210は、認証部211、復号部212、暗号化部213及び判定部214から構成され、情報記憶部220は、第1記憶領域221及び第2記憶領域222から構成されている。
ここで、耐タンパモジュール部210は、具体的には、耐タンパ性を有する耐タンパハードウェアにより構成されている。なお、耐タンパモジュール部210は、耐タンパソフトウェア、又は耐タンパハードウェア及び耐タンパソフトウェアの組み合わせから構成されているとしてもよい。
また、耐タンパモジュール部210は、具体的には、マイクロプロセッサ、及びROM、RAMなどのメモリ部から構成され、前記メモリ部には、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、耐タンパモジュール部210は、その機能を達成する。
情報記憶部220は、具体的には、大容量のフラッシュメモリにより構成されている。
(1)第1記憶領域221
第1記憶領域221は、特別の許可がなくとも、外部からアクセスすることが許されている領域である。
第1記憶領域221は、1個以上の暗号化ソフトウェアを記憶するための領域を備えている。
(2)第2記憶領域222
第2記憶領域222は、ソフトウェア管理情報テーブル231を有している。
ソフトウェア管理情報テーブル231は、図4に示すように、複数個のソフトウェア管理情報241、242、・・・を記憶するための領域を含んでいる。
ソフトウェア管理情報241は、この図に示すように、ソフトID、ソフトキー、インストール回数情報及び複数の装置IDを含む。ソフトID、ソフトキー及びインストール回数情報については、上述した通りであるので説明を省略する。
装置IDは、ソフトウェアがインストールされる対象となる情報処理装置を一意に識別するための識別番号である。
なお、図4に示すソフトウェア管理情報241において、括弧内に表示されている文字列「SID1」、「XYZ123」、「10」、「#1」及び「#2」は、それぞれ、ソフトID、ソフトキー、インストール回数情報及び2個の装置IDの具体例としての値である。
なお、図4に示すソフトウェア管理情報241は、複数の装置IDを含むように示されているが、ソフトウェア書込装置100からメモリカード200に、ソフトウェア管理情報が書き込まれる時点においては、まだ、ソフトウェア管理情報241は、複数の装置IDを含んでいない。装置IDは、ソフトウェアが情報処理装置にインストールされたときに、ソフトウェア管理情報241内に書き込まれる。利用者は、提供されたメモリカードを用いて、初めてソフトウェアをインストールする際には、任意の情報処理装置に、ソフトウェアのインストールを実行することができる。
ソフトウェア管理情報242、・・・については、ソフトウェア管理情報241と同様であるので、説明を省略する。
(3)認証部211
メモリカード200がソフトウェア書込装置100に挿入されると、認証部211は、ソフトウェア書込装置100が有する認証部111との間で、チャレンジ−レスポンス型の相互の機器認証を行う。
具体的には、認証部211は、認証部111により認証を受ける。次に、認証部211は、認証部111の認証を行う。
認証部211は、両者の認証が成功した場合に、認証部111との間で上記チャレンジ−レスポンス型の認証のプロセスにおいて使用される乱数情報に基づいて、相互認証の都度、異なるセッション鍵を生成し、認証部211は、生成したセッション鍵を復号部212へ出力し、さらに認証の成功を示す第1認証成功情報を判定部214へ出力する。一方、認証が失敗した場合に、認証部211は、認証の失敗を示す第1認証失敗情報を判定部214へ出力する。
また、メモリカード200が情報処理装置300に挿入されると、認証部211は、情報処理装置300が有する認証部311との間で、チャレンジ−レスポンス型の相互の認証を行う。具体的には、認証部211は、認証部311により認証を受ける。次に、認証部211は、認証部311の認証を行う。
両者の認証が成功した場合に、認証部211は、認証部311との間で上記チャレンジ−レスポンス型の認証のプロセスにおいて使用される乱数情報に基づいて、相互の認証の都度、異なるセッション鍵を生成し、認証部311との間で生成したセッション鍵を秘密に共有する。認証部211は、生成したセッション鍵を復号部212及び暗号化部213へ出力し、さらに、認証の成功を示す第2認証成功情報を判定部214へ出力する。
認証が失敗した場合に認証部211は、認証の失敗を示す第2認証失敗情報を判定部214へ出力する。メモリカード200よる以降の処理は中止される。従って、この場合、情報処理装置300に、メモリカード200からソフトウェアがインストールされることはない。インストール処理が中止されたことは、メモリカード200から情報処理装置300に通知され、情報処理装置300の利用者に知らされる。
なお、相互の機器認証のプロセスにおけるセッション鍵の共有方法については、公知であるので、説明を省略する。
(4)復号部212
復号部212は、認証部211からセッション鍵を受け取る。
また、復号部212は、ソフトウェア書込装置100から暗号化ソフトウェア管理情報を受け取り、受け取ったセッション鍵を用いて受け取った暗号化ソフトウェア管理情報に復号アルゴリズムD3を施してソフトウェア管理情報を生成し、生成したソフトウェア管理情報を判定部214へ出力する。
さらに、復号部212は、情報処理装置300の暗号化部312から、暗号化区分、暗号化ソフトID及び暗号化装置IDを受け取り、受け取ったセッション鍵を用いて、受け取った暗号化区分、暗号化ソフトID及び暗号化装置IDに、復号アルゴリズムD3を施して、それぞれ、区分、ソフトID及び装置IDを生成し、生成した区分、ソフトID及び装置IDを判定部214へ出力する。
ここで、復号アルゴリズムD3は、暗号化アルゴリズムE3に対応するものであり、暗号化アルゴリズムE3を用いて生成された暗号文を、復号するために用いられる。
また、アンインストールの際に、復号部212は、暗号化部312から暗号化完了情報を受け取り、認証部211から受け取ったセッション鍵を用いて、受け取った暗号化完了情報に復号アルゴリズムD3を施して、完了情報及び乱数R’を生成し、生成した完了情報及び乱数R’を判定部214へ出力する。
(5)暗号化部213
暗号化部213は、認証部211からセッション鍵を受け取る。また、暗号化部213は、判定部214より、ソフトキーを受け取る。次に、暗号化部213は、受け取ったセッション鍵を用いて、受け取ったソフトキーに暗号化アルゴリズムE4を施して、暗号化ソフトキーを生成する。
ここで、暗号化アルゴリズムE4は、DESにより規定されたものである。
次に、暗号化部213は、生成した暗号化ソフトキーを情報処理装置300へ出力する。
また、アンインストールの際には、暗号化部213は、判定部214から、乱数R及びアンインストール可否情報を受け取り、認証部211から受け取ったセッション鍵を用いて、受け取った乱数R及びアンインストール可否情報に暗号化アルゴリズムE4を施して、暗号化アンインストール可否情報を生成し、生成した暗号化アンインストール可否情報を情報処理装置300へ出力する。
(6)判定部214
判定部214は、認証部211から第1認証成功情報又は第1認証失敗情報を受け取り、また認証部211から第2認証成功情報又は第2認証失敗情報を受け取る。
(A)第1認証成功情報を受け取った場合に、判定部214は、さらに復号部212からソフトウェア管理情報を受け取り、受け取ったソフトウェア管理情報をソフトウェア管理情報テーブル231内に追加して書き込む。
(B)また、第2認証成功情報を受け取った場合に、判定部214は、さらに、復号部212から区分、ソフトID及び装置IDを受け取る。
次に、判定部214は、受け取った区分がインストールを示すか又はアンインストールを示すかを判断する。
(B1)インストールを示す場合
受け取った区分がインストールを示すと判断する場合に、判定部214は、次に、受け取ったソフトIDを含むソフトウェア管理情報をソフトウェア管理情報テーブル231から抽出し、抽出したソフトウェア管理情報に、受け取った装置IDが含まれているか否かを判断する。
(a1)装置IDが含まれていないと判断する場合には、判定部214は、新しい情報処理装置へのインストールの要請であると判断し、次に、前記ソフトウェア管理情報に含まれるインストール回数情報をチェックする。
このとき、(a1−1)インストール回数情報が1以上であれば、判定部214は、インストールを許可すると判定し、前記復号部212より受取った装置IDを前記ソフトウェア管理情報に追加して書き込み、前記ソフトウェア管理情報に含まれるインストール回数情報から1を減算して得られる値を、新たにインストール回数情報として、ソフトウェア管理情報テーブル231内の前記ソフトウェア管理情報内に上書きする。さらに、判定部214は、前記ソフトウェア管理情報に含まれるソフトキーを暗号化部213に出力する。
一方、(a1−2)前記インストール回数情報のチェックにおいて、インストール回数情報が零であれば、判定部214は、インストールを許可しないと判定し、以降の処理を中止する。従って、この場合、情報処理装置300に、メモリカード200からソフトウェアがインストールされることはない。インストール処理が中止されたことは、メモリカード200から情報処理装置300に通知され、情報処理装置300は、この旨を表示することにより、利用者に通知する。
(a2)装置IDが含まれていると判断する場合には、判定部214は、既にインストール済みの情報処理装置への再インストールの要請であると判断し、前記ソフトウェア管理情報に含まれるソフトキーを暗号化部213に出力する。
(B2)アンインストールを示す場合
受け取った区分がアンインストールを示すと判断する場合に、判定部214は、さらに、受け取ったソフトIDを含むソフトウェア管理情報をソフトウェア管理情報テーブル231から抽出し、抽出したソフトウェア管理情報に、復号部212から受け取った装置IDが含まれているか否か判断する。
ここで、装置IDが含まれないと判断する場合に、判定部214は、アンインストール不可と判定してアンインストール不可を示す8ビット長のアンインストール可否情報を生成する。
一方、装置IDが含まれると判断する場合は、判定部214は、アンインストール可と判定してアンインストール可を示す8ビット長のアンインストール可否情報を生成する。
次に、判定部214は、56ビット長の乱数Rを生成し、生成した乱数Rを保持する。次に、判定部214は、生成した乱数R及びアンインストールの可否を示すアンインストール可否情報を暗号化部213へ出力する。
また、判定部214は、完了情報及び乱数R’を受け取り、受け取った乱数R’と保持している乱数Rとが一致するか否かを判断する。ここで、一致しない場合には、アンインストール処理を中止する。一方、一致する場合には、判定部214は、さらに、完了情報がアンインストールが完了したことを示しているか否かを判断し、完了情報がアンインストールが完了したことを示していない場合は、以降のアンインストール処理を中止する。
ここで、完了情報がアンインストールが完了したことを示している場合は、判定部214は、ソフトウェア管理情報に含まれるインストール回数情報に「1」の値を加算し、得られた値を、新たにインストール回数情報として、ソフトウェア管理情報テーブル231内の前記ソフトウェア管理情報内に上書きする。
(C)第1認証失敗情報又は第2認証失敗情報を受け取った場合に、判定部214は、以降の処理を中止する。
なお、実施の形態1では、判定部214は、まずソフトウェア管理テーブルに装置IDが含まれているか否かをチェックし、次に、インストール回数情報のチェックを行うとしているが、これに限定されるものではない。まずインストール回数情報のチェックを行い、次に装置IDのチェックを行うように構成しても良い。
(7)入出力部201
入出力部201は、認証部211、復号部212、暗号化部213及び情報記憶部220の第1記憶領域221と、外部の装置との間で情報の入出力を行う。
1.4 情報処理装置300の構成
情報処理装置300は、図3に示すように、インストール処理部310、ソフトウェア格納部320、制御部321、表示部322、入力部323、ソフトウェア実行部324、復号部325及び入出力部301から構成されている。インストール処理部310は、さらに、認証部311、暗号化部312、復号部313、復号部314、暗号化部315、装置ID格納部316、装置固有鍵生成部317、ソフトID取得部318及び乱数格納部326から構成されている。
情報処理装置300は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニットなどのメモリ部、キーボード、マウスなどの入力部、ディスプレイユニットなどの表示部から構成されるコンピュータシステムである。前記メモリ部には、インストール処理用のコンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記インストール処理用のコンピュータプログラムに従って動作することにより、情報処理装置300は、インストール処理の機能を達成する。また、メモリカードから、ソフトウェアがインストールされた暁には、前記マイクロプロセッサが、前記インストールされたソフトウェアに従って動作することにより、情報処理装置300は、インストールされたソフトウェアが提供する機能を達成する。
(1)ソフトウェア格納部320
ソフトウェア格納部320は、具体的には、ハードディスクユニットから構成され、メモリカード200からインストールされる暗号化ソフトウェアを1個以上記憶する領域を備えている。
(2)装置ID格納部316
装置ID格納部316は、情報処理装置300に固有の装置IDを、書き換え不可能な形で記憶している。装置IDは、64ビット長のデータであり、情報処理装置300を一意に識別する識別情報である。
(3)ソフトID取得部318
ソフトID取得部318は、利用者がインストールを指定したソフトウェアのソフトIDを取得する。
ソフトIDの取得の具体的な方法としては、例えば、利用者により情報処理装置300にメモリカード200が装着された際に、情報処理装置300が有する表示部322は、メモリカード200内に記憶されている暗号化ソフトウェアの一覧を表示する。入力部323は、その一覧からインストールしたいソフトウェアの指定を利用者のマウスの操作により、受け付ける。その結果として、ソフトID取得部318は、指定を受け付けたソフトウェアに対応するソフトIDを取得する。
(4)認証部311
メモリカード200が利用者により情報処理装置300に挿入されると、認証部311は、メモリカード200が有する認証部211との間で、チャレンジ−レスポンス型の相互の機器認証を行う。具体的には、認証部311は、認証部211を認証する。次に、認証部311は、認証部211により、認証を受ける。両方の装置の認証が成功した場合にのみ、相互の認証が成功したものと見倣される。
両者の認証が成功した場合に、認証部311及び認証部211との間での上記チャレンジーレスポンス型の認証のプロセスにおいて使用される乱数情報に基づいて、相互の認証の都度、異なるセッション鍵を生成し、生成したセッション鍵を認証部211との間で秘密に共有する。
次に、認証部311は、生成したセッション鍵を暗号化部312及び復号部313へ出力する。
認証に失敗した場合に、認証部311は、以降の処理を中止する。従って、この場合に、情報処理装置300が、メモリカード200からソフトウェアを読み出すことはない。なお、チャレンジ−レスポンス型の認証、及びセッション鍵の共有方法については、公知であるので、説明を省略する。
(5)暗号化部312
暗号化部312は、認証部311からセッション鍵を受け取る。
次に、暗号化部312は、制御部321からソフトウェアのインストール又はアンインストールを示す区分を受け取り、ソフトID取得部318からソフトIDを受け取り、装置ID格納部316から装置IDを読み出し、認証部311より受け取ったセッション鍵を用いて、前記区分、前記ソフトID及び前記装置IDに暗号化アルゴリズムE3をそれぞれ施して暗号化区分、暗号化ソフトID及び暗号化装置IDを生成する。
ここで、暗号化アルゴリズムE3は、DESにより規定されたものである。
次に、暗号化部312は、生成した暗号化区分、暗号化ソフトID及び暗号化装置IDをメモリカード200へ出力する。
また、アンインストールの際に、暗号化部312は、完了情報及び乱数R’を受け取り、認証部311から受け取ったセッション鍵を用いて、受け取った完了情報及び乱数R’に暗号化アルゴリズムE3を施して、暗号化完了情報を生成し、生成した暗号化完了情報を、復号部212へ出力する。
(6)復号部313
復号部313は、認証部311からセッション鍵を受け取る。
次に、復号部313は、メモリカード200から、暗号化ソフトキーを受け取り、受け取ったセッション鍵を用いて、受け取った暗号化ソフトキーに復号アルゴリズムD4を施して、ソフトキーを生成する。
ここで、復号アルゴリズムD4は、DESにより規定されたものであり、暗号化アルゴリズムE4に対応するものである。復号アルゴリズムD4は、暗号化アルゴリズムE4を用いて生成された暗号文を復号する。
次に、復号部313は、生成したソフトキーを復号部314へ出力する。
また、アンインストールの際には、復号部313は、メモリカード200から暗号化アンインストール可否情報を受け取り、認証部311から受け取ったセッション鍵を用いて、受け取った暗号化アンインストール可否情報に復号アルゴリズムD4を施して、アンインストール可否情報及び乱数R’を生成し、生成したアンインストール可否情報及び乱数R’を制御部321へ出力する。
(7)復号部314
復号部314は、メモリカード200から、前記ソフトIDに対応する暗号化ソフトウェアを受け取る。また、復号部313からソフトキーを受け取る。
次に、復号部314は、受け取ったソフトキーを用いて、受け取った暗号化ソフトウェアに復号アルゴリズムD1を施して、ソフトウェアを生成する。
ここで、復号アルゴリズムD1は、DESにより規定されたものであり、暗号化アルゴリズムE1に対応するものである。復号アルゴリズムD1は、暗号化アルゴリズムE1を用いて生成された暗号文を復号する。
次に、復号部314は、生成したソフトウェアを暗号化部315へ出力する。
(8)乱数格納部326
乱数格納部326は、64ビット長の乱数を格納している。
(9)装置固有鍵生成部317
装置固有鍵生成部317は、装置ID格納部316から、装置IDを読み出し、次に、乱数格納部326から64ビット長の乱数を読み出し、読み出した乱数をキーとして、読み出した装置IDに暗号化アルゴリズムFを施して、装置IDに対応する装置固有鍵を秘密に生成し、生成した装置固有鍵を暗号化部315及び復号部325へ出力する。
ここで暗号化アルゴリズムFはDESにより規定されたものである。なお、乱数のビット長、暗号化アルゴリズムについては上記に説明したものに限定されない。
(10)暗号化部315
暗号化部315は、装置固有鍵生成部317から装置固有鍵を受け取り、復号部314からソフトウェアを受け取る。
次に、暗号化部315は、受け取った装置固有鍵を用いて、受け取ったソフトウェアに暗号化アルゴリズムE2を施して、暗号化ソフトウェアを生成する。
ここで、暗号化アルゴリズムE2は、DESにより規定されたものである。
次に、暗号化部315は、生成した暗号化ソフトウェアをソフトウェア格納部320へ書き込む。
(11)復号部325
復号部325は、装置固有鍵生成部317から装置固有鍵を受け取る。また、復号部325は、利用者の指示により、ソフトウェア格納部320から暗号化ソフトウェアを読み出す。次に、復号部325は、受け取った装置固有鍵を用いて、読み出した暗号化ソフトウェアに復号アルゴリズムD2を施して、ソフトウェアを生成する。
ここで、復号アルゴリズムD2は、DESにより規定されたものであり、暗号化アルゴリズムE2に対応するものである。復号アルゴリズムD2は、暗号化アルゴリズムE2を用いて生成された暗号文を復号する。
次に、復号部325は、生成したソフトウェアをソフトウェア実行部324へ出力する。
(12)ソフトウェア実行部324
ソフトウェア実行部324は、復号部325からソフトウェアを受け取り、受け取ったソフトウェアに従って動作する。
(13)制御部321
制御部321は、情報処理装置300を構成する各構成部を制御する。
アンインストールの際には、制御部321は、復号部313から、アンインストール可否情報及び乱数R’を受け取り、受け取ったアンインストール可否情報を用いて、アンインストールの可否を判断する。
アンインストールが不可であると判断する場合に、制御部321は、アンインストール処理を行わず、アンインストールが未完了であることを示す8ビット長の完了情報を生成する。
アンインストールが可であると判断する場合に、制御部321は、ソフトウェア格納部320に格納されている暗号化ソフトウェアが実行できないように暗号化ソフトウェアを非活性化処理することにより、該ソフトウェアをアンインストールする。
ここでソフトウェアを非活性化処理するためには、例えば、乱数格納部326に格納されている乱数を他の乱数に更新する。
次に、制御部321は、ソフトウェアのアンインストールが完了したことを示す8ビット長の完了情報を生成し、生成した完了情報及び乱数R’を暗号化部312へ出力する。
(14)入力部323
入力部323は、利用者から入力を受け付ける。具体的には、情報処理装置300にメモリカード200が装着されると、入力部323は、利用者からソフトウェアのインストール又はアンインストールを示す区分を受け付け、受け付けた区分を制御部321を介して、暗号化部312へ出力する。
インストールを示す区分を受け付けた場合には、入力部323は、さらに、利用者からインストールするソフトウェアの指定を受け付ける。一方、アンインストールを示す区分を受け付けた場合には、入力部323は、利用者からアンインストールする暗号化ソフトウェアの指定を受け付ける。
(15)表示部322
表示部322は、制御部321の制御により、各種情報を表示する。具体的には、入力部323がインストールを示す区分を受け付けた場合には、表示部322は、メモリカード200に記憶されているソフトウェアの一覧を表示する。一方、入力部323がアンインストールを示す区分を受け付けた場合には、表示部322は、情報処理装置300のソフトウェア格納部320に格納されている暗号化ソフトウェアの一覧を表示する。
(16)入出力部301
入出力部301は、インストール処理部310とメモリカード200との間で情報の入出力を行う。
1.5 ソフトウェア管理システム10の動作
利用者が情報処理装置300にメモリカード200を装着した後に、メモリカード200に記憶されているソフトウェアを情報処理装置300へインストールする場合及び情報処理装置300に既にインストールされている暗号化ソフトウェアをアンインストールする場合のソフトウェア管理システム10の動作について、図5〜9に示すフローチャートを用いて説明する。
情報処理装置300にメモリカード200が装着されると、入力部323は、利用者からソフトウェアのインストール又はアンインストールを示す区分を受け付け、受け付けた区分を制御部321を介して、暗号化部312へ出力し、入力部323がインストールを示す区分を受け付けた場合には、表示部322は、メモリカード200に記憶されているソフトウェアの一覧を表示し、入力部323は、利用者からインストールするソフトウェアの指定を受け付け、入力部323がアンインストールを示す区分を受け付けた場合には、表示部322は、情報処理装置300のソフトウェア格納部320に格納されている暗号化ソフトウェアの一覧を表示し、入力部323は、利用者からアンインストールする暗号化ソフトウェアの指定を受け付ける(ステップS100)。
情報処理装置300は、ソフトウェア又は暗号化ソフトウェアの指定を受け付けると、情報処理装置300が有する認証部311とメモリカード200が有する認証部211との間で、相互に認証を行う(ステップS101、ステップS102)。
認証に成功すると(ステップS104)、暗号化部312は、認証部311よりセッション鍵を受け取り、ソフトID取得部318よりソフトIDを受け取り、装置ID格納部より装置IDを読み出し、受け取ったセッション鍵を用いて、区分、ソフトID及び装置IDを暗号化して暗号化区分、暗号化ソフトID及び暗号化装置IDを生成し(ステップS105)、生成した暗号化区分、暗号化ソフトID及び暗号化装置IDをメモリカード200に送信する(ステップS106)。
認証に成功すると(ステップS103)、復号部212は、認証部211よりセッション鍵を受け取り、受け取ったセッション鍵を用いて、情報処理装置300より受信した暗号化区分、暗号化ソフトID及び暗号化装置IDを復号し、生成した区分、ソフトID及び装置IDを判定部214に送る(ステップS107)。
認証に失敗すると(ステップS103又はS104)、メモリカード200又は情報処理装置300は、以降の処理を中止する。
次に、判定部214は、第2記憶領域222から、前記生成されたソフトIDに対応するソフトウェア管理情報を読出し(ステップS108)、生成された区分がソフトウェアのインストール又はアンインストールのいずれを示すかを判断する(ステップS109)。
(インストール時の処理)
区分がソフトウェアのインストールを示すと判断する場合に(ステップS109)、判定部214は、読み出したソフトウェア管理情報に基づいて、インストールを許可するか否かを判定する(ステップS110)。なおステップS110の詳細は後述する。
インストールを許可しないと判定した場合に(ステップS110)、判定部214は、不許可を示す不許可メッセージを情報処理装置300に送信し(ステップS120)、その後、メモリカード200は、処理を中止する。
メモリカード200から前記不許可メッセージを受け取ると(ステップS121)、制御部321は、表示部322に対して前記不許可メッセージを表示するように制御し、表示部322は、前記不許可メッセージを表示し(ステップS122)、その後、情報処理装置300は、処理を中止する。
インストールを許可すると判定した場合に(ステップS110)、判定部214は、ソフト管理情報に含まれるソフトキーを暗号化部213に送り、暗号化部213は、ソフトキーを、認証部211より受け取ったセッション鍵を用いて暗号化して暗号化ソフトキーを生成し(ステップS111)、生成した暗号化ソフトキーを情報処理装置300に送信し(ステップS112)、制御部321が前記不許可メッセージを受け取っていない場合に(ステップS121)、復号部313は、メモリカード200から受け取った暗号化ソフトキーを、認証部311より受け取ったセッション鍵を用いて復号する(ステップS113)。
また、第1記憶領域221から暗号化ソフトウェアが読み出され(ステップS114)、読み出された暗号化ソフトウェアが情報処理装置300へ送信される(ステップS115)。復号部314は、復号部313から受取った復号されたソフトキーを用いて、暗号化ソフトウェアを復号し(ステップS116)、復号されたソフトウェアを暗号化部315へ送り、装置固有鍵生成部317は、装置ID格納部316より装置IDを読み出し、読み出した装置IDを用いて装置固有鍵を生成し(ステップS117)、暗号化部315は、復号部314より受け取ったソフトウェアを、装置固有鍵生成部317より受け取った装置固有鍵を用いて暗号化して暗号化ソフトウェアを生成し(ステップS118)、暗号化部315は、生成した暗号化ソフトウェアをソフトウェア格納部320に書き込むことにより、インストールする(ステップS119)。
以上のようにして、暗号化ソフトウェアのインストールが完了する。
(アンインストール時の処理)
区分がソフトウェアのアンインストールを示すと判断する場合に(ステップS109)、さらに、判定部214は、復号部212から受け取った装置IDが、第2記憶領域222から読み出したソフトウェア管理情報に含まれるかどうかを判断し、装置IDが含まれない場合は(ステップS201)、アンインストール不可と判定してアンインストール不可を示す8ビット長のアンインストール可否情報を生成する(ステップS203)。一方、装置IDが含まれる場合は(ステップS201)、判定部214は、アンインストール可と判定してアンインストール可を示す8ビット長のアンインストール可否情報を生成する(ステップS202)。
次に、判定部214は、56ビット長の乱数Rを生成し、生成した乱数Rを保持し(ステップS204)、生成した乱数R及びアンインストールの可否を示すアンインストール可否情報を暗号化部213へ出力し、暗号化部213は、乱数R及びアンインストール可否情報を受け取り、認証部211から受け取ったセッション鍵を用いて、受け取った乱数R及びアンインストール可否情報に暗号化アルゴリズムE4を施して、暗号化アンインストール可否情報を生成し(ステップS205)、生成した暗号化アンインストール可否情報を情報処理装置300へ出力する(ステップS206)。
復号部313は、メモリカード200から暗号化アンインストール可否情報を受け取り(ステップS206)、認証部311から受け取ったセッション鍵を用いて、受け取った暗号化アンインストール可否情報に復号アルゴリズムD4を施して、アンインストール可否情報及び乱数R’を生成し、生成したアンインストール可否情報及び乱数R’を制御部321へ出力する(ステップS207)。
次に、制御部321は、アンインストール可否情報及び乱数R’を受け取り、受け取ったアンインストール可否情報を用いて、アンインストールの可否を判断し、アンインストールが不可であると判断する場合に(ステップS208)、アンインストール処理を行わず、アンインストールが未完了であることを示す8ビット長の完了情報を生成し(ステップS211)、次に、ステップS212へ制御を移す。
アンインストールが可であると判断する場合に(ステップS208)、制御部321は、ソフトウェア格納部320に格納されている暗号化ソフトウェアが実行できないように暗号化ソフトウェアを非活性化処理することにより、該ソフトウェアをアンインストールする。ここでソフトウェアを非活性化処理するためには、例えば、乱数格納部326に格納されている乱数を他の乱数に更新すればよい(ステップS209)。次に、制御部321は、ソフトウェアのアンインストールが完了したことを示す8ビット長の完了情報を生成する(ステップS210)。
次に、制御部321は、完了情報及び乱数R’を暗号化部312へ出力し、暗号化部312は、完了情報及び乱数R’を受け取り、認証部311から受け取ったセッション鍵を用いて、受け取った完了情報及び乱数R’に暗号化アルゴリズムE3を施して、暗号化完了情報を生成し(ステップS212)、生成した暗号化完了情報を、復号部212へ出力する(ステップS213)。
復号部212は、暗号化部312から暗号化完了情報を受け取り(ステップS213)、認証部211から受け取ったセッション鍵を用いて、受け取った暗号化完了情報に復号アルゴリズムD3を施して、完了情報及び乱数R’を生成し、生成した完了情報及び乱数R’を判定部214へ出力する(ステップS214)。
次に、判定部214は、完了情報及び乱数R’を受け取り、受け取った乱数R’と保持している乱数Rとが一致するか否かを判断し、一致しない場合には(ステップS215)、アンインストール処理を中止する。
一致する場合には(ステップS215)、判定部214は、さらに、完了情報がアンインストールが完了したことを示しているか否かを判断し、完了情報がアンインストールが完了したことを示していない場合は(ステップS216)、以降のアンインストール処理を中止する。
一方、完了情報がアンインストールが完了したことを示している場合は、(ステップS216)、判定部214は、ソフトウェア管理情報に含まれるインストール回数情報に「1」の値を加算し、得られた値を、新たにインストール回数情報として、ソフトウェア管理情報テーブル231内の前記ソフトウェア管理情報内に上書きする(ステップS217)。
このようにして、アンインストールが完了する。
以上で説明したアンインストールの手順を利用すれば、例えば、利用者が、暗号化ソフトウェアをインストールしていたハードディスクユニットを、新規のハードディスクユニットに交換したいような場合に、メモリカードに記録されているインストール回数情報が、例え「0」を示している場合であっても、アンインストールを実行することにより新規のハードディスクユニットに新たにインストールすることが可能となる。
なお、複数の暗号化ソフトウェアがソフトウェア格納部320にインストールされている場合は、前記ステップS209において、前記乱数格納部326に格納されている乱数を更新する前に、アンインストール対象の暗号化ソフトウェア以外の暗号化ソフトウェアに対して、復号部325で、更新前の乱数より生成される装置固有鍵を用いて復号してソフトウェアを生成し、生成したソフトウェアを、暗号化部315で更新後の乱数より生成される装置固有鍵を用いて、再び暗号化して再暗号化ソフトウェアを生成し、生成した再暗号化ソフトウェアをソフトウェア格納部320に格納すればよい(ステップS209a)。
(ステップ110の詳細の動作)
次に、判定部214における前記ステップ110の詳細の動作について、図9に示すフローチャートを用いて説明する。
判定部214は、復号部212より受け取った装置IDが、第2記憶領域222より受取ったソフトウェア管理情報に含まれるかどうかチェックし(ステップS151)、装置IDが含まれない場合は(ステップS151)、新しい情報処理装置へのインストールの要請と判断し、ソフトウェア管理情報に含まれるインストール回数をチェックし(ステップS153)、1以上であれば(ステップS153)インストール可と判定する。このとき、前記第2記憶領域222より読み出したソフトウェア管理情報に、前記復号部212より受け取った装置IDを追加して書き込むとともに、インストール回数を1減算した値に更新したソフトウェア管理情報を第2記憶領域222に書き込む(ステップS155)。インストール回数が零であれば(ステップS153)、インストール不可と判定する。また、前記ステップ151において、装置IDが含まれる場合は(ステップS151)、既にインストール済みの情報処理装置への再インストールの要請と判断し、インストール可と判定する。
なお、ソフトウェア管理情報は、インストール期間情報を含むとしてもよい。ここで、インストール期間情報は、64ビット長であり、利用者に対して、当該ソフトウェア管理情報に対応するソフトウェアをインストールすることができる期間を制限するものであり、インストール期間の開始日時を示すインストール許可開始日時と、インストール期間の終了日時を示すインストール許可終了日時とから構成される。利用者に対して、インストール許可開始日時からインストール許可終了日時までの期間内においてのみ、当該ソフトウェアのインストールが許可される。この期間内であれば、利用者は、当該ソフトウェアを何回でもインストールすることができる。ここで、インストール期間情報とインストール回数情報の両方が指定されている場合には、許可されている期間が終了するか、インストール回数までインストールした後には、ソフトウェアをインストールすることはできないものとする。
1.6 その他の例
ソフトウェア管理システム10は、以下のように構成してもよい。
(1)実施の形態1においては、ソフトウェア書込装置100は、パーソナルコンピュータ等で構成されるコンピュータシステムとしているが、この構成に限定されるものではない。例えば、ソフトウェア書込装置100は、KIOSK端末により構成されるとしても良い。
このとき、入力部115及び表示部116は、タッチパネル式のディスプレィユニットであるとしても良い。
(2)実施の形態1では、ソフトウェアの書き込まれたメモリカード200は、利用者に提供されるとしているが、この構成に限定されるものではない。
ソフトウェアの書き込まれたメモリカード200は、ソフトウェア販売店やCE機器メーカの顧客サービスセンターのサービスマンに提供され、このサービスマンにより、利用者の情報処理装置にメモリカード200が挿入されるとしても良い。
(3)実施の形態1では、ソフトウェア書込装置100がメモリカード200にソフトウェア管理情報を書き込む時点においては、ソフトウェア管理情報241は、装置IDを含まないとしているが、この構成に限定されるものではない。
ソフトウェア書込装置100がメモリカード200にソフトウェア管理情報を書き込む時点において、ソフトウェア管理情報241は、装置IDを含んでいるとしても良い。
このように構成することにより、利用者が提供されたメモリカードを用いて初めてソフトウェアをインストールする際に、ソフトウェア提供者は、利用者に対して、ソフトウェアをインストールする情報処理装置を限定できる。
(4)実施の形態1では、ソフトウェアをインストールする際に、復号部314は、ソフトキーを用いて、メモリカード200から受け取った暗号化ソフトウェアを復号し(ステップS116)、暗号化部315は、装置固有鍵を用いて、復号されたソフトウェアを暗号化し(ステップS117〜S118)、生成した暗号化ソフトウェアをソフトウェア格納部320に書き込むことによりソフトウェアをインストールする(ステップS119)としているが、この構成に限定されるものではない。
装置固有鍵生成部317は、装置固有鍵を生成し(ステップS117)、暗号化部315は、生成された装置固有鍵を用いて、復号部313から受け取ったソフトキーを暗号化して暗号化ソフトキーを生成し(ステップS118’)、生成した暗号化ソフトキーと、メモリカード200から受け取った暗号化ソフトウェアをソフトウェア格納部320に書き込むことによりインストールする(ステップS119’)ように構成にしても良い。
このとき、情報処理装置300は、さらに復号部327(図示していない)を備え、ソフトウェアの実行時には、復号部325は、受け取った装置固有鍵を用いて、暗号化ソフトキーを復号してソフトキーを生成し、生成したソフトキーを復号部327へ出力し、復号部327は、復号部325からソフトキーを受け取り、受け取ったソフトキーを用いて、暗号化ソフトウェアを復号してソフトウェアを生成し、生成したソフトウェアをソフトウェア実行部324へ出力する。ソフトウェア実行部324は、復号部327からソフトウェアを受け取り、受け取ったソフトウェアに従って、ソフトウェア実行部324は、動作する。
(5)実施の形態1では、インストール時及びソフトウェア実行時において、装置固有鍵生成部317は、乱数格納部326から64ビット長の乱数を読出すものとし、アンインストール時において、乱数格納部326の前記乱数を更新するとしているが、この構成に限定されるものではない。
乱数格納部326は、インストールするソフトウェアに対応付けて、64ビット長の乱数を記憶しており、インストール時及びソフトウェア実行時において、乱数格納部326から、インストールするソフトウェアに対応する64ビット長の乱数を読み出すものとし、アンインストール時において、乱数格納部326の前記ソフトウェアに対応する乱数を更新する構成としても良い。
この構成により、前記ステップS209において、複数の暗号化ソフトウェアがソフトウェア格納部320にインストールされている場合において、実施の形態1で必要であった暗号化ソフトウェアの復号、再暗号化処理(ステップS209a)は不要となる。
(6)実施の形態1では、認証の方法としてチャレンジ−レスポンス型の認証を利用し、セッション鍵の共有方法として、チャレンジ−レスポンス型の認証のプロセスにおいて使用される乱数情報に基づいてセッション鍵を生成することにより行うものとしているが、この構成に限定されるものではない。
例えば認証の方法として、デジタル署名を利用する方法を利用し、セッション鍵の共有方法としては、ディフィーヘルマン(DH)型鍵共有方法を利用しても良い。
デジタル署名を利用する認証方法については、「現代暗号理論」(池野信一、小山謙二共著、電子情報通信学会)、P83,5.3,(2)に、また、DH型鍵共有方法については、同P175に詳細に説明されている。
(7)実施の形態1では、ソフトウェアをソフトウェア書込装置がメモリカードに書き込む際に、ソフトキーは、予めソフトウェア管理情報に含まれるものとし、暗号化部112により、ソフトウェア管理テーブル121から、前記ソフトIDを含むソフトウェア管理情報を読み出し、読み出したソフトウェア管理情報からソフトキーを抽出するものとしたが、この構成に限定されるものではない。
例えば、ソフトキーは、ソフトウェア管理情報に含まれないものとし、暗号化部112は、ソフトウェア管理テーブル121から、前記ソフトIDを含むソフトウェア管理情報を読み出すとともに、ソフトキーを生成するものとしても良い。
また、実施の形態1では、ソフトウェア書込装置100の情報記憶部113は、ソフトウェアを格納しており、暗号化部112は、前記ソフトウェアを暗号化して、メモリカード200に記録するとしているが、これには限定されない。
例えば、情報記憶部113は、予め、ソフトウェアをソフトキーで暗号化して得られた暗号化ソフトウェアを記憶しており、ソフトウェア書込装置100は、情報記憶部113から暗号化ソフトウェアを読み出し、読み出した暗号化ソフトウェアをそのままメモリカード200に記録するとしても良い。
(8)実施の形態1では、アンインストール処理において、アンインストール可否情報と、完了情報をそれぞれ8ビットとし、乱数Rを56ビットとしたがこれらのビット長に限定されるものではない。
(9)実施の形態1では、アンインストール処理のステップS212において、セッション鍵を用いて、完了情報及び乱数R’に暗号化アルゴリズムE3を施すとしたが、この構成に限定されるものではない。
例えば、完了情報、及び、乱数R’のビット反転値(R”)に、暗号化アルゴリズムE3を施すとしてもよい。この場合、ステップS215においては、受け取った乱数R”と、保持している乱数Rのビット反転値が一致するか否かを判断するものとする。
(10)実施の形態1では、ソフトウェアは、コンピュータプログラムなどであるとしているが、コンピュータプログラムの動作に付随するデータであっても良い。
(11)実施の形態1のソフトウェア管理テーブルに、機種ID(グループID)を含める構成としても良い。ここで、機種ID(グループID)は、情報処理装置の種類を識別する識別情報である。また、同一の種類の情報処理装置とは、例えば、同一の処理性能を有するマイクロプロセッサを内蔵するもの、同一の容量のハードディスクを内蔵するもの、同一の容量のメモリを内蔵するもの、同一メーカにより製造されたものなどを言う。
この場合、情報処理装置は、自身の種類を識別する機種ID(グループID)を備え、メモリカードは、機種ID(グループID)に基づいて、同一機種(同一グループ)へのインストール、アンインストールの判定を行う。この構成によりインストールを特定機種の情報処理装置に限定することも可能である
(12)実施の形態1のソフトウェア管理テーブルに、ソフトウェアのバージョン情報を含める構成としても良い。
この場合、情報処理装置において、インストール対象のソフトIDとともに、バージョン情報を受け付け、メモリカードでは、ソフトIDとともに、バージョン情報に基づいて、インストールやアンインストールの可否の判定や、該バージョンのソフトウェアのインストールやアンインストールを行う。
(13)実施の形態1では、メモリカードの第1記憶領域に暗号化ソフトウェアを記憶する構成としたが、これに限定されるものではない。
暗号化ソフトウェアを、別途、通信回線や、別の記録媒体を介して、情報処理装置が取得する構成としても良い。
(14)実施の形態1では、メモリカード200は、ソフトウェア書込装置100に装着されるとしているが、メモリカード200は、非接触式のメモリカードであり、ソフトウェア書込装置100は、非接触式の前記メモリカード200に対して、非接触に情報の読み書きができるリーダ/ライタ部を備えているとしても良い。この場合、利用者は、メモリカード200をソフトウェア書込装置100に装着する必要はなく、メモリカード200をソフトウェア書込装置100にかざすだけで、ソフトウェア書込装置100とメモリカード200とは、上述した処理を行うことができる。
2.変形例(1)
実施の形態1の変形例としてのソフトウェア管理システム10b(図示していない)について説明する。
ソフトウェア管理システム10bは、ソフトウェア書込装置100b、可搬型のメモリカード200b及び情報処理装置300bから構成されている。ソフトウェア書込装置100b、メモリカード200b及び情報処理装置300bは、それぞれソフトウェア書込装置100、メモリカード200及び情報処理装置300と同様の構成を有している。
ここでは、ソフトウェア書込装置100、メモリカード200及び情報処理装置300との相違点を中心として、ソフトウェア書込装置100b、メモリカード200b及び情報処理装置300bについて説明する。
2.1 ソフトウェア書込装置100bの構成
ソフトウェア書込装置100bは、図10に示すように、認証部111、暗号化部112、情報記憶部113、制御部114、署名生成部117、暗号化部118及び入出力部101から構成されている。また、ソフトウェア書込装置100bには、入力部115及び表示部116が接続されている。
このように、ソフトウェア書込装置100bは、ソフトウェア書込装置100と同様の構成を有しており、ソフトウェア書込装置100bは、さらに、署名生成部117を備えている点において、ソフトウェア書込装置100と相違する。
(1)署名生成部117
署名生成部117は、暗号化部112から暗号化ソフトウェアを受け取る。暗号化ソフトウェアを受け取ると、署名生成部117は、受け取った暗号化ソフトウェアに、デジタル署名生成アルゴリズムSIGを施して、ソフト署名データを生成する。
ここで、デジタル署名生成アルゴリズムSIGは、160ビット長の楕円曲線暗号によるデジタル署名の生成法に基づくものであり、ソフト署名データは、320ビット長である。なお、楕円曲線暗号については、「暗号理論の基礎」(Douglas R.Stinson著、共立出版株式会社)に詳細に説明されている。
次に、署名生成部117は、生成したソフト署名データを、入出力部101を介して、メモリカード200bの判定部214へ出力する。
2.2 メモリカード200bの構成
メモリカード200bは、図10及び図12に示すように、耐タンパモジュール部210、情報記憶部220及び入出力部201から構成されている。耐タンパモジュール部210及び情報記憶部220は、メモリカード200が有する耐タンパモジュール部210及び情報記憶部220と同様の構成を有している。
ここでは、メモリカード200との相違点を中心として説明する。
(1)判定部214
判定部214は、認証部211から第1認証成功情報を受け取ると、さらに、ソフト署名データを受け取る。次に、判定部214は、受け取ったソフト署名データを、受け取ったソフトウェア管理情報内に書き込み、ソフト署名データを含むソフトウェア管理情報をソフトウェア管理情報テーブル231内に追加して書き込む。
ソフト署名データが書き込まれたソフトウェア管理情報の一例を図11に示す。この図に示すソフトウェア管理情報241bは、ソフトID、ソフトキー、インストール回数情報、ソフト署名データ及び複数の装置IDを含む。
なお、図11に示すソフトウェア管理情報241bは、複数の装置IDを含むように構成されているが、ソフトウェア書込装置100bからメモリカード200bに、ソフトウェア管理情報が書き込まれる時点においては、まだ、ソフトウェア管理情報241bは、複数の装置IDを含んでいないものとする。
判定部214が第2認証成功情報を受け取った場合であって、インストールを許可すると判定したときに、受け取ったソフト署名データを情報処理装置300bへ出力する。
2.3 情報処理装置300bの構成
情報処理装置300bは、図12に示すように、インストール処理部310、ソフトウェア格納部320、制御部321、表示部322、入力部323、ソフトウェア実行部324、復号部325及び入出力部301から構成されている。インストール処理部310は、さらに、認証部311、暗号化部312、復号部313、復号部314、暗号化部315、装置ID格納部316、装置固有鍵生成部317、ソフトID取得部318及び署名検証部319から構成されている。
このように、情報処理装置300bは、情報処理装置300と同様の構成を有しており、さらに署名検証部319を備えている点において、情報処理装置300と異なる。
(1)署名検証部319
署名検証部319は、メモリカード200bの判定部214からソフトウェア管理情報に含まれるソフト署名データを受け取る。また、署名検証部319は、メモリカード200bの第1記憶領域221から暗号化ソフトウェアを読み出す。
次に、署名検証部319は、受け取ったソフト署名データ及び読み出した暗号化ソフトウェアに、デジタル署名検証アルゴリズムVRFを施し、検証成功を示す検証成功情報、又は検証失敗を示す検証失敗情報を生成する。
ここで、デジタル署名検証アルゴリズムVRFは、楕円暗号によるデジタル署名の検証法に基づくものである。
次に、署名検証部319は、検証成功情報又は検証失敗情報を復号部314へ出力する。
(2)復号部314
復号部314は、署名検証部319から検証成功情報又は検証失敗情報を受け取る。
検証失敗情報を受け取ると、復号部314は、以降の復号処理を中止する。
検証成功情報を受け取ると、復号部314は、暗号化ソフトウェアの復号を継続して行う。
2.4 その他の例
(1)変形例(1)において、署名生成部117は、暗号化ソフトウェアにデジタル署名生成アルゴリズムSIGを施してソフト署名データを生成するとしているが、この構成には限定されない。
署名生成部117は、暗号化ソフトウェアとソフトキーとインストール回数情報とにデジタル署名生成アルゴリズムSIGを施してソフト署名データを生成するとしてもよい。
この場合、ソフトウェアのインストール時に、暗号化部213は、セッション鍵を用いて、ソフトキー及びインストール回数情報を暗号化して暗号化情報を生成し、生成した暗号化情報を情報処理装置300bへ送信する。情報処理装置300bの復号部313は、セッション鍵を用いて、受け取った暗号化情報を復号して、ソフトキー及びインストール回数情報を生成し、署名検証部319は、ソフト署名データ、暗号化ソフトウェア、生成されたソフトキー及び生成されたインストール回数情報に、署名検証アルゴリズムVRFを施して、ソフト署名データを検証するものとする。
また、署名生成部117は、ソフトウェアにデジタル署名アルゴリズムSIGを施してソフト署名データを生成するとしても良い。
この場合、インストール時に、署名検証部319は、ソフト署名データと、前記ソフトウェアに、署名検証アルゴリズムVRFを施して、ソフト署名データを検証するものとする。なお、この場合、メモリカード200bの第1記憶領域221には、暗号化されていないソフトウェアが書き込まれる。
3.変形例(2)
ソフトウェア管理システム10bの変形例としてのソフトウェア管理システム10c(図示していない)について説明する。
ソフトウェア管理システム10cは、ソフトウェア書込装置100c(図示していない)、可搬型のメモリカード200c及び情報処理装置300cから構成されている。ソフトウェア書込装置100cは、ソフトウェア書込装置100bと同一の構成を有している。メモリカード200c及び情報処理装置300cは、それぞれメモリカード200b及び情報処理装置300bと同様の構成を有している。
ここでは、メモリカード200b及び情報処理装置300bとの相違点を中心として、メモリカード200c及び情報処理装置300cについて説明する。
3.1 メモリカード200cの構成
メモリカード200cは、図13に示すように、耐タンパモジュール部210、情報記憶部220及び入出力部201から構成されている。耐タンパモジュール部210及び情報記憶部220は、メモリカード200bが有する耐タンパモジュール部210及び情報記憶部220と同様の構成を有している。
ここでは、メモリカード200bとの相違点を中心として説明する。
耐タンパモジュール部210は、認証部211、復号部212、暗号化部213及び判定部214、復号部215、暗号化部216及びキー情報記憶部217から構成されている。このように、耐タンパモジュール部210は、さらに、復号部215、暗号化部216及びキー情報記憶部217を備える点において、メモリカード200bの耐タンパモジュール部210と相違する。
(1)判定部214
判定部214は、認証部211から第1認証成功情報を受け取ると、さらに、ソフト署名データを受け取る。次に、判定部214は、受け取ったソフト署名データを、受け取ったソフトウェア管理情報内に書き込み、次に、ソフト署名データを含むソフトウェア管理情報を暗号化部216へ出力する。
ソフト署名データが書き込まれたソフトウェア管理情報の一例は、図11に示す通りである。
また、判定部214は、復号部215からソフトウェア管理情報を受け取る。
(2)キー情報記憶部217
キー情報記憶部217は、キー情報を記憶している。キー情報は、56ビット長のデータであり、ソフトウェア管理情報を暗号化又は復号するために用いられる。
(3)暗号化部216
暗号化部216は、判定部214からソフトウェア管理情報を受け取り、キー情報記憶部217からキー情報を読み出す。
次に、暗号化部216は、読み出したキー情報を用いて、受け取ったソフトウェア管理情報に暗号化アルゴリズムE5を施して、暗号化ソフトウェア管理情報を生成し、生成した暗号化ソフトウェア管理情報を第2記憶領域222が有する暗号化ソフトウェア管理情報テーブル231cに書き込む。
ここで、暗号化アルゴリズムE5は、DESにより規定されたものである。
(4)復号部215
復号部215は、第2記憶領域222が有する暗号化ソフトウェア管理情報テーブル231cから暗号化ソフトウェア管理情報を読み出し、キー情報記憶部217からキー情報を読み出す。
次に、復号部215は、読み出したキー情報を用いて、読み出した暗号化ソフトウェア管理情報に復号アルゴリズムD5を施して、ソフトウェア管理情報を生成し、生成したソフトウェア管理情報を判定部214へ出力する。
ここで、復号アルゴリズムD5は、DESにより規定されたものであり、暗号化アルゴリズムE5に対応するものである。復号アルゴリズムD5は、暗号化アルゴリズムE5を用いて生成された暗号文を復号する。
3.2 情報処理装置300cの構成
情報処理装置300cは、図13に示すように、インストール処理部310、ソフトウェア格納部320、制御部321、表示部322、入力部323、ソフトウェア実行部324、復号部325及び入出力部301から構成されている。インストール処理部310は、さらに、認証部311、暗号化部312、復号部313、復号部314、暗号化部315、装置ID格納部316、装置固有鍵生成部317、ソフトID取得部318及び署名検証部319から構成されている。
このように、情報処理装置300cは、情報処理装置300bと同様の構成を有しているので、詳細についての説明を省略する。
3.3 その他の例
変形例(2)では、キー情報記憶部217に記憶されているキー情報は固定値であるとしているが、これに限定されることなく、キー情報は、可変値であるとしてもよい。
この場合、第2記憶領域222から判定部214へソフトウェア管理情報を出力する際に、復号部215は、暗号化ソフトウェア情報管理テーブル231cから全ての暗号化ソフトウェア管理情報を読み出し、キー情報記憶部217からキー情報を読み出し、次に復号部215は、読み出したキー情報を用いて読み出した全暗号化ソフトウェア管理情報に復号アルゴリズムD5を施してソフトウェア管理情報を生成する。次に、判定部214から第2記憶領域222へソフトウェア管理情報を出力する際に、判定部214は、キー情報を更新してキー情報記憶部217に格納し、暗号化部216は、更新されたキー情報を用いて、復号された全ソフトウェア管理情報に、暗号化アルゴリズムE5を施して暗号化ソフトウェア管理情報を生成し、第2記憶領域222の暗号化ソフトウェア管理情報テーブル231cに書き込むとしても良い。
また、変形例(2)では、メモリカード200cにおいて、暗号化部216は、キー情報記憶部217に記憶されているキー情報を用いて、ソフトウェア管理情報を暗号化して生成した暗号化ソフトウェア管理情報を第2記憶領域222に書き込み、復号部215は、前記キー情報を用いて、第2記憶領域222に記憶されている暗号化ソフトウェア管理情報を復号してソフトウェア管理情報を生成し、生成したソフトウェア管理情報を判定部214へ出力するとしているが、この構成には限定されない。
例えば、次のように構成してもよい。
メモリカード200cは、キー情報記憶部217に記憶されているキー情報を、メモリカード200cにアクセスする装置(ソフトウェア書込装置、又はコンテンツ配信装置)に秘密に転送する。
アクセスする装置は、自身の暗号化部において、受け取ったキー情報を用いて、ソフトウェア管理情報を暗号化して、暗号化ソフトウェア管理情報をメモリカード200cへ転送する。
メモリカード200cは、受け取った暗号化ソフトウェア管理情報を第2記憶領域222に書き込む。メモリカード200cの復号部215は、前記キー情報を用いて、第2記憶領域222に記憶されている暗号化ソフトウェア管理情報を復号してソフトウェア管理情報を生成し、生成したソフトウェア管理情報を判定部214へ出力する。
また、前記キー情報は、メモリカード200cに固有のキー情報としてもよい。
また、前記キー情報は、メモリカード200cに固有の公開鍵及び秘密鍵のペアとしてもよい。このとき、メモリカード200cは、前記公開鍵を、アクセスする装置に転送する。アクセスする装置は、前記公開鍵を受信し、内部に記憶しているソフトウェア管理情報を、この公開鍵を用いて暗号化して、暗号化ソフトウェア管理情報を生成し、生成した暗号化ソフトウェア管理情報をメモリカード200cに転送する。メモリカード200cは、受け取った暗号化ソフトウェア管理情報を第2記憶領域222に書き込む。メモリカード200cの復号部215は、前記秘密鍵を用いて、暗号化ソフトウェア管理情報を復号してソフトウェア管理情報を生成し、生成したソフトウェア管理情報を判定部214へ出力する。
4.変形例(3)
変形例(1)に示すソフトウェア管理システム10bの変形例としてのソフトウェア管理システム10d(図示していない)について説明する。
ソフトウェア管理システム10dは、ソフトウェア書込装置100d(図示していない)、可搬型のメモリカード200d及び情報処理装置300dから構成されている。ソフトウェア書込装置100d、メモリカード200d及び情報処理装置300dは、それぞれソフトウェア書込装置100b、メモリカード200b及び情報処理装置300bと同様の構成を有している。
ここでは、メモリカード200bとの相違点を中心として、メモリカード200dについて説明する。
メモリカード200dは、図14に示すように、耐タンパモジュール部210、情報記憶部220及び入出力部201から構成されている。耐タンパモジュール部210は、認証部211、復号部212、暗号化部213、判定部214及び情報記憶部218から構成されている。メモリカード200bが有する耐タンパモジュール部210とは、メモリカード200dが有する耐タンパモジュール部210がさらに情報記憶部218を有している点において、相違している。
(1)情報記憶部218
情報記憶部218は、図15に一例として示す部分ソフトウェア管理テーブル219を有している。
部分ソフトウェア管理テーブル219は、複数個の部分ソフトウェア管理情報を記憶するための領域を備えている。各部分ソフトウェア管理情報は、ソフトID及び前半ソフト署名データから構成されている。
ここで、ソフトIDについては、上述した通りであるので、説明を省略する。
前半ソフト署名データは、上述したソフト署名データを構成するビット列のうち、前半の部分のビット列から構成されている。具体的には、前半ソフト署名データは、160ビット長のビット列から構成されている。
(2)ソフトウェア管理情報テーブル231
ソフトウェア管理情報テーブル231は、図15に示すように、一例として、ソフトウェア管理情報241d、・・・を記憶するための領域を備えている。
ソフトウェア管理情報241dは、ソフトID、ソフトキー、インストール回数情報、後半ソフト署名データ、及び複数の装置IDを含んでいる。
ここで、ソフトID、ソフトキー、インストール回数情報及び複数の装置IDについては、上述した通りであるので説明を省略する。
後半ソフト署名データは、上述したソフト署名データを構成するビット列のうち、後半の部分のビット列から構成されている。具体的には、後半ソフト署名データは、160ビット長のビット列から構成されている。
(3)判定部214
判定部214は、認証部211から第1認証成功情報を受け取ると、さらに、ソフト署名データを受け取る。次に、判定部214は、受け取ったソフト署名データを、2個のビット列に分割して、前半ソフト署名データ及び後半ソフト署名データを生成する。分割して生成された前半のビット列が前半ソフト署名データであり、後半のビット列が後半ソフト署名データである。前半ソフト署名データ及び後半ソフト署名データは、それぞれ、160ビット長である。
次に、判定部214は、生成した前半ソフト署名データ及び受け取ったソフトIDから構成される部分ソフトウェア管理情報を生成し、生成した部分ソフトウェア管理情報を情報記憶部218が有する部分ソフトウェア管理テーブル219内に書き込む。また、判定部214は、生成した後半ソフト署名データを含むソフトウェア管理情報をソフトウェア管理情報テーブル231内に追加して書き込む。
また、判定部214は、部分ソフトウェア管理テーブル219から、ソフトIDを含む部分ソフトウェア管理情報を読み出し、ソフトウェア管理情報テーブル231から、ソフトIDを含むソフトウェアか管理情報を読み出す。次に、判定部214は、読み出した部分ソフトウェア管理情報から前半ソフト署名データを抽出し、読み出したソフトウェア管理情報から後半ソフト署名データを抽出し、抽出した前半ソフト署名データ及び抽出した後半ソフト署名データを結合してソフト署名データを生成する。
以上説明したように、耐タンパモジュール部210は、さらに、情報記憶部218を備え、情報記憶部218は、ソフトウェア管理テーブルの一部を格納する。
具体的には、一例として、情報記憶部218は、ソフト署名データの少なくとも一部を格納する。第2記憶領域222が有するソフトウェア管理情報テーブル231は、ソフト署名データの残りの部分を格納する。判定部214は、情報記憶部218に含まれるソフト署名データの少なくとも一部と、第2記憶領域222から読み出したソフト管理情報に含まれるソフト署名データの残りの部分より、ソフト署名データ全体を復元して使用する。
なお、ここでは、情報記憶部218にソフト署名データの前半部分を格納する構成について説明したが、この構成に限定されるものではない。
5.変形例(4)
ここでは、図1に示すソフトウェア管理システム10の変形例としてのソフトウェア管理システム10eについて説明する。
ソフトウェア管理システム10eは、図16に示すように、ソフトウェア書込装置100e、可搬型のメモリカード200及び情報処理装置300eから構成されており、ソフトウェア書込装置100e及び情報処理装置300eは、それぞれ、インターネット20に接続されている。
ソフトウェア管理システム10eを構成するメモリカード200は、ソフトウェア管理システム10を構成するメモリカード200と同一の構造を有している。
また、ソフトウェア書込装置100e及び情報処理装置300eは、それぞれ、ソフトウェア管理システム10を構成するソフトウェア書込装置100及び情報処理装置300と類似の構造を有している。
ソフトウェア管理システム10eにおいて、暗号化ソフトウェアは、ソフトウェア書込装置100eからインターネット20及び情報処理装置300eを介して、メモリカード200へ送信されて書き込まれる。ソフトウェア管理情報は、ソフトウェア管理システム10と同様に、ソフトウェア書込装置100eにより直接メモリカード200に書き込まれる。
ここでは、ソフトウェア書込装置100e及び情報処理装置300eについて、ソフトウェア書込装置100及び情報処理装置300との相違点を中心として説明する。
(1)ソフトウェア書込装置100e
ソフトウェア書込装置100eは、図17に示すように、認証部111、暗号化部112、情報記憶部113、制御部114、暗号化部118、送受信部102及び入出力部101から構成されている。また、ソフトウェア書込装置100eには、入力部115及び表示部116が接続されている。
各構成要素は、ソフトウェア書込装置100の構成要素と類似している。ここでは、ソフトウェア書込装置100の各構成要素との相違点を中心として説明する。
(送受信部102)
送受信部102は、インターネット20に接続されており、暗号化部112及び認証部111とインターネット20を介して接続された外部の装置との間で情報の送受信を行う。ここで、外部の装置とは、情報処理装置300eである。
(暗号化部112)
暗号化部112は、生成した暗号化ソフトウェアを、送受信部102、インターネット20及び情報処理装置300eを介して、メモリカード200へ出力する。
(認証部111)
認証部111は、メモリカード200がソフトウェア書込装置100eに装着された場合に、入出力部101及びメモリカード200の入出力部201を介して、認証部211との間で相互の機器認証を行う。
また、認証部111は、メモリカード200が装着された情報処理装置300eとソフトウェア書込装置100eとがインターネット20により接続された場合に、送受信部102、インターネット20、情報処理装置300e及びメモリカード200の入出力部201を介して、認証部211との間で相互の機器認証を行う。
(2)情報処理装置300e
情報処理装置300eは、図18に示すように、インストール処理部310、ソフトウェア格納部320、制御部321、表示部322、入力部323、ソフトウェア実行部324、復号部325、入出力部301及び送受信部302から構成されている。
各構成要素は、情報処理装置300の構成要素と類似している。ここでは、情報処理装置300の各構成要素との相違点を中心として説明する。
(送受信部302)
送受信部302は、インターネット20に接続されており、入出力部301とインターネット20を介して接続された外部の装置との間で情報の送受信を行う。ここで、外部の装置とは、ソフトウェア書込装置100eである。
具体的には、送受信部302は、ソフトウェア書込装置100eからインターネット20を介して、暗号化ソフトウェアを受信し、受信した暗号化ソフトウェアを入出力部301へ出力する。
(入出力部301)
入出力部301は、送受信部302から暗号化ソフトウェアを受け取り、受け取った暗号化ソフトウェアをメモリカード200が有する情報記憶部220の第1記憶領域221へ書き込む。
(3)ソフトウェア書込装置100eによるソフトウェア管理情報のメモリカード200への書込みの動作
ここでは、ソフトウェア書込装置100eによるソフトウェア管理情報のメモリカード200への書込みの動作について、図19に示すフローチャートを用いて説明する。上記の書込みの動作に先立って、ソフトウェア書込装置100eの操作者により、メモリカード200がソフトウェア書込装置100eに装着される。
制御部114は、操作者の操作により入力部115からソフトウェアの指定を受け付る(ステップS301)。
次に、認証部111と認証部211とは、入出力部101及び入出力部201を介して、相互に機器認証を行い(ステップS302、S311)、認証に失敗すると(ステップS303、S312)、ソフトウェア書込装置100e及びメモリカード200は、それぞれ処理を終了する。
認証に成功すると(ステップS303)、暗号化部118は、ソフトウェア管理テーブル121から、指定を受け付けたソフトウェアを識別するソフトIDを含むソフトウェア管理情報を読み出し、認証部111から受け取ったセッション鍵を用いて、読み出したソフトウェア管理情報に暗号化アルゴリズムE3を施し、暗号化ソフトウェア管理情報を生成する(ステップS304)。次に、暗号化部118は、生成した暗号化ソフトウェア管理情報を、入出力部101を介して、メモリカード200へ出力する(ステップS305)。
認証に成功すると(ステップS312)、復号部212は、入出力部201を介して、暗号化ソフトウェア管理情報を受け取り(ステップS305)、認証部211から受け取ったセッション鍵を用いて受け取った暗号化ソフトウェア管理情報に復号アルゴリズムD3を施してソフトウェア管理情報を生成し、生成したソフトウェア管理情報を判定部214へ出力する(ステップS313)。
判定部214は、復号部212からソフトウェア管理情報を受け取り、受け取ったソフトウェア管理情報をソフトウェア管理情報テーブル231内に追加して書き込む(ステップS314)。
(4)ソフトウェア書込装置100eによる暗号化ソフトウェアの送信の動作
ここでは、ソフトウェア書込装置100eからインターネット20及び情報処理装置300eを介して、メモリカード200へ暗号化ソフトウェアを送信する際の動作について、図20に示すフローチャートを用いて、説明する。上記の暗号化ソフトウェアの送信の動作に先立って、情報処理装置300eの操作者により、メモリカード200が情報処理装置300eに装着される。
情報処理装置300eの制御部321は、操作者の操作により入力部323からソフトウェアの指定を受け付る(ステップS351)。次に、制御部321は、指定を受け付けたソフトウェアを識別するソフトIDを送受信部302及びインターネット20を介して、ソフトウェア書込装置100eへ送信する。ソフトウェア書込装置100eの暗号化部112は、送受信部102を介して、ソフトIDを受け取る(ステップS352)。
認証部111と認証部211とは、送受信部102、インターネット20、情報処理装置300e及び入出力部201を介して、相互に機器認証を行い(ステップS361、S371)、認証に失敗すると(ステップS362、S372)、ソフトウェア書込装置100e及びメモリカード200は、それぞれ処理を終了する。
認証に成功すると(ステップS362)、暗号化部112は、ソフトウェア管理テーブル121から、受け取ったソフトIDを含むソフトウェア管理情報を読み出し、読み出したソフトウェア管理情報からソフトキーを抽出する。次に、暗号化部112は、受け取ったソフトIDにより識別されるソフトウェアを情報記憶部113から読み出し(ステップS363)、抽出したソフトキーを鍵として用いて、読み出したソフトウェアに暗号化アルゴリズムE1を施し、暗号化ソフトウェアを生成し(ステップS364)、生成した暗号化ソフトウェアを送受信部102、インターネット20を介して情報処理装置300eへ送信し(ステップS365)、情報処理装置300eの送受信部302は、暗号化ソフトウェアを受信し、受信した暗号化ソフトウェアを入出力部301を介して、メモリカード200へ出力する(ステップS373)。
入出力部201は、暗号化ソフトウェアを受け取り(ステップS373)、受け取った暗号化ソフトウェアを情報記憶部220の第1記憶領域221へ書き込む(ステップS374)。
(5)その他
変形例(4)では、ソフトウェア書込装置100eと情報処理装置300eとは、インターネット20に接続されているとしているが、インターネット以外のネットワークに接続されているとしてもよい。
また、変形例(4)では、ソフトウェア書込装置100eによるメモリカード200への暗号化ソフトウェアの送信に先立ち、ソフトウェア書込装置100eとメモリカード200との間で、相互に認証するとしているが、この認証は行なわないとしても良い。
6.変形例(5)
ここでは、図1に示すソフトウェア管理システム10の変形例としてのソフトウェア管理システム10fについて説明する。
6.1 ソフトウェア管理システム10fの構成
ソフトウェア管理システム10fは、図21に示すように、ソフトウェア書込装置100f、可搬型のメモリカード200f、情報処理装置300f、コンテンツ配信装置400f及び携帯電話500fから構成されており、ソフトウェア書込装置100f及びコンテンツ配信装置400fは、それぞれ、インターネット20に接続されており、コンテンツ配信装置400f及び携帯電話500fは、モバイルネットワーク21を介して接続されている。
ソフトウェア書込装置100fは、様々なソフトウェアを記憶している。これらのソフトウェアには、映画や音楽などのコンテンツや、映画などを再生する手順が記述された映像再生プログラムなどのコンピュータプログラムなどが含まれる。ソフトウェア書込装置100fにメモリカード200fが装着され、ソフトウェア書込装置100fは、いずれかのソフトウェアを暗号化し、暗号化ソフトウェアを装着されたメモリカード200fに書き込む。
暗号化ソフトウェアが書き込まれたメモリカード200fは、販売店30において販売され、利用者は、メモリカード200fを購入することにより入手する。
また、ソフトウェア書込装置100fは、様々なライセンス情報を含むソフトウェア管理情報を記憶している。これらのライセンス情報は、前記コンテンツや前記コンピュータプログラムが利用者により利用される際に、守られるべき条件などを定めたものである。ソフトウェア書込装置100fは、各ソフトウェア管理情報を、第三者に知られないように秘密に、コンテンツ配信装置400fに送信する。コンテンツ配信装置400fは、各ソフトウェア管理情報を秘密に受信し、記憶する。
利用者は、入手したメモリカード200fを携帯電話500fに装着する。携帯電話500fは、利用者の操作によりモバイルネットワーク21を介して、コンテンツ配信装置400fへソフトウェア管理情報の送信を要求する。
コンテンツ配信装置400fは、携帯電話500fからの要求に応じて、有償で又は無償で、ライセンス情報を含むソフトウェア管理情報を携帯電話500fに送信し、携帯電話500fは、ソフトウェア管理情報を受信し、受信したソフトウェア管理情報をメモリカード200fに書き込む。
その後、利用者は、ソフトウェア管理情報が書き込まれたメモリカード200fを携帯電話500fから抜き出し、メモリカード200fを情報処理装置300fに装着する。
情報処理装置300fは、利用者の操作により、メモリカード200fに記憶されているソフトウェア管理情報に含まれるライセンス情報に従って、記憶されている暗号化ソフトウェアを内部に導入して記憶する。ここで、暗号化ソフトウェアがコンピュータプログラムである場合には、前記導入は、一般に、コンピュータプログラムのインストールと呼ばれる。また、暗号化ソフトウェアがコンテンツである場合には、前記導入は、一般に、コンテンツの複製と呼ばれる。その後、情報処理装置300fは、利用者の指示に従って、記憶している暗号化ソフトウェアを復号して、ソフトウェアを生成し、生成したソフトウェアを利用する。ここで、ソフトウェアがコンテンツである場合には、利用とは、コンテンツを再生することである。また、ソフトウェアがコンピュータプログラムである場合には、利用とは、コンピュータプログラムを実行することである。
また、情報処理装置300fは、メモリカード200fに記憶されているソフトウェア管理情報に含まれているライセンス情報に従って、メモリカード200fから暗号化ソフトウェアを読み出し、読み出した暗号化ソフトウェアを復号してソフトウェアを生成し、生成したソフトウェアを利用する。ここで、利用とは、上述した通りである。
ソフトウェア管理システム10fを構成するソフトウェア書込装置100f、メモリカード200f及び情報処理装置300fは、それぞれ、ソフトウェア管理システム10を構成するソフトウェア書込装置100、メモリカード200及び情報処理装置300fと類似の構造を有している。
以下において、ソフトウェア管理システム10fを構成する各構成要素について説明するが、ソフトウェア書込装置100f、メモリカード200f及び情報処理装置300fについては、それぞれ、ソフトウェア書込装置100、メモリカード200及び情報処理装置300との相違点を中心として説明する。
6.2 ソフトウェア書込装置100f
ソフトウェア書込装置100fは、図22に示すように、認証部111、暗号化部112、情報記憶部113、制御部114、暗号化部118、送受信部102及び入出力部101から構成されている。また、ソフトウェア書込装置100fには、入力部115及び表示部116が接続されている。
ソフトウェア書込装置100fは、記憶している全てのソフトウェア管理情報をインターネット20を介してコンテンツ配信装置400fへ秘密に送信する。また、操作者の操作に応じて、記憶しているソフトウェアを暗号化して、ソフトウェア書込装置100fに装着されたメモリカード200fに書き込む。
ここでは、ソフトウェア書込装置100の各構成要素との相違点を中心として説明する。
(1)情報記憶部113
情報記憶部113は、ソフトウェア管理テーブル121、ソフトウェア122、123、124、・・・に代えて、図23に示すように、ソフトウェア管理テーブル121f、ソフトウェア122f、123f、124f、125f、・・・をセキュアに記憶している。
ソフトウェア122f及び123fは、それぞれ、複数のコンピュータ命令を含むコンピュータプログラムである。具体的には、ソフトウェア122fは、映像及び音声から構成される映画コンテンツを再生し、表示及び出力するための手順を含む映像再生プログラムであり、ソフトウェア123fは、音楽を再生し、出力するための手順を含む音楽再生プログラムである。
ソフトウェア124f及び125fは、それぞれ、映画がデジタル化されたコンテンツである。具体的には、ソフトウェア124f及び125fは、それぞれ、MPEG(Moving Pictures Experts Group )2の規格により映像及び音声がデジタル化され、圧縮符号化された圧縮符号化データであり、他のソフトウェアは、例えば、MP3(MPEG 1 Audio Layer 3)の規格により音楽がデジタル化され、圧縮符号化された圧縮符号化データである。
ソフトウェア122f、123f、124f、125f、・・・は、それぞれ、ソフトID「PID01」、「PID02」、「MID01」、「MID02」、・・・により識別される。
ソフトウェア管理テーブル121fは、図24に示すように、複数のソフトウェア管理情報を含むデータテーブルである。
各ソフトウェア管理情報は、1個のソフトウェアに対応しており、ソフトID、名称、種類、ソフトキー及び1個以上のライセンス情報を含む。また、各ライセンス情報は、利用条件ID、利用条件及び支払条件を含む。
ソフトIDは、対応するソフトウェアを一意に識別するための識別番号であり、64ビット長である。
名称は、対応するソフトウェアを表す識別名である。
種類は、対応するソフトウェアがコンピュータプログラムであるか、又はデジタル著作物であるコンテンツであるかを示す。
ソフトキーは、対応するソフトウェアを暗号化する際に用いられる暗号鍵であり、56ビット長である。
利用条件IDは、当該利用条件IDを含むライセンス情報を一意に識別するための識別番号である。
利用条件は、対応するソフトウェアに許可される利用形態及び具体的条件を示す情報である。利用形態の一例は、コンピュータプログラムの指定回数内のインストール、コンピュータプログラムの指定期間内の利用、コンピュータプログラムの指定回数内の利用、コンテンツの指定回数内の複製、コンテンツの指定期間内の再生、コンテンツの指定回数内の再生である。また、具体的条件の一例は、前記の指定回数、又は指定期間である。
例えば、インストール回数情報が「10」である場合に、利用者に対して、当該ソフトウェア(コンピュータプログラム)を最大10回までインストールすることが許可され、複製回数情報が「5」である場合に、利用者に対して、当該ソフトウェア(コンテンツ)を最大5回まで複製することが許可される。
また、例えば、利用条件において、利用期間が、「2005.1.1〜2005.1.31」である場合には、2005年1月1日から2005年1月31まで、当該ソフトウェアを利用することが許可され、再生期間が、「2004.1.1〜2004.12.31」である場合には、2004年1月1日から2004年12月31まで、当該ソフトウェアを再生することが許可される。
支払条件は、対応する利用条件によりソフトウェアを利用するために、利用者が支払うべき対価を示している。
例えば、支払条件において、料金が「¥10,000」である場合には、利用者は、10,000円を対価として支払うことを示しており、支払条件が「無償」である場合には、対価の支払いが不要であることを示している。
このように、各ソフトウェアについて、ソフトウェアの利用形態に応じて、異なる1個以上のライセンス情報が準備されており、支払うべき対価がそれぞれ異なる。利用者は、自身が希望する利用形態を選択することができる。
(2)入力部115
入力部115は、さらに、次に示すように動作する。
入力部115は、ソフトウェア書込装置100fの操作者からソフトウェア管理情報の送信の指示を受け付け、受け付けた前記指示を制御部114へ出力する。
(3)制御部114
制御部114は、「暗号化部118に対して受け取ったソフトIDを出力し、また暗号化部118に対してソフトウェア管理情報を暗号化してメモリカード200fへ書き込む旨の暗号化指示を出力する」代わりに、次に示すように動作する。
制御部114は、入力部115から、ソフトウェア管理情報の送信の指示を受け取る。前記指示を受け取ると、認証部111に対して、コンテンツ配信装置400fとの間で機器認証を行う旨の指示を出力する。制御部114は、認証部111から認証成功情報又は認証失敗情報を受け取る。
認証部111から認証成功情報を受け取ると、制御部114は、暗号化部118に対して全てのソフトウェア管理情報を暗号化してコンテンツ配信装置400fへ送信する旨の暗号化指示を出力する。
認証部111から認証失敗情報を受け取ると、制御部114は、ソフトウェア管理情報の送信に係る処理を中止する。
(4)認証部111
認証部111は、さらに、次に示すように動作する。
認証部111は、制御部114からコンテンツ配信装置400fとの間で機器認証を行う旨の指示を受け取る。前記指示を受け取ると、認証部111は、コンテンツ配信装置400fとの間で、チャレンジ−レスポンス型の相互の機器認証を行う。次に、機器認証の結果に応じて、機器認証の成功を示す認証成功情報又は機器認証の失敗を示す認証失敗情報を生成し、制御部114へ出力する。
また、認証部111は、機器認証が成功する場合には、セッション鍵を生成し、生成したセッション鍵を暗号化部118へ出力する。
(5)暗号化部118
暗号化部118は、「ソフトID及び暗号化指示を受け取り、ソフトIDを含むソフトウェア管理情報を読み出し、セッション鍵を用いて読み出したソフトウェア管理情報を暗号化し、メモリカード200fへ出力する」代わりに、次に示すように動作する。
暗号化部118は、制御部114から全てのソフトウェア管理情報を暗号化して送信する旨の暗号化指示を受け取る。また、暗号化部118は、認証部111からセッション鍵を受け取る。
制御部114から前記暗号化指示を受け取ると、暗号化部118は、ソフトウェア管理テーブル121fから、全てのソフトウェア管理情報を読み出し、認証部111から受け取ったセッション鍵を用いて、読み出した各ソフトウェア管理情報に暗号化アルゴリズムE3を施し、読み出したソフトウェア管理情報と同数の暗号化ソフトウェア管理情報を生成する。次に、暗号化部118は、生成した前記暗号化ソフトウェア管理情報を、送受信部102及びインターネット20を介して、コンテンツ配信装置400fへ送信する。
(6)送受信部102
送受信部102は、インターネット20に接続されており、暗号化部118及び認証部111とインターネット20を介して接続された外部の装置との間で情報の送受信を行う。ここで、外部の装置とは、コンテンツ配信装置400fである。
6.3 コンテンツ配信装置400f
コンテンツ配信装置400fは、図25に示すように、送受信部402、認証部411、情報記憶部413、制御部414、復号部412、認証部417、暗号化部418から構成される。また、コンテンツ配信装置400fには、入力部415及び表示部416が接続されている。
コンテンツ配信装置400fは、ソフトウェア書込装置100と同様に、マイクロプロセッサ、ROM、RAM、ハードディスクユニットなどから構成されるコンピュータシステムである。また、入力部415は、具体的には、キーボードであり、表示部416は、ディスプレィユニットである。前記RAM又は前記ハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムに従って動作することにより、コンテンツ配信装置400fは、その機能を達成する。
(1)情報記憶部413
情報記憶部413は、ソフトウェア管理テーブル421を有している。
ソフトウェア管理テーブル421には、1個以上のソフトウェア管理情報を記憶するための領域が含まれている。各ソフトウェア管理情報は、図24に示すソフトウェア管理情報と同一であるので、ここでは、説明を省略する。
(2)送受信部402
送受信部402は、インターネット20を介してソフトウェア書込装置100fに接続されており、また、モバイルネットワーク21及び携帯電話500fを介して、メモリカード200fに接続されている。
送受信部402は、ソフトウェア書込装置100fと、認証部417、復号部412及び制御部414との間で、情報の送受信を行う。
また、送受信部402は、携帯電話500fと、制御部414、認証部411及び暗号化部418との間で情報の送受信を行う。
また、制御部414から認証成功情報又は認証失敗情報を受け取る。認証成功情報を受け取ると、送受信を継続して行う。認証失敗情報を受け取ると、送受信を以降の送受信を中止する。
(3)認証部417
認証部417は、制御部414の指示により、送受信部402及びインターネット20を介して、ソフトウェア書込装置100fとの間で、チャレンジ−レスポンス型の相互の機器認証を行う。次に、機器認証の結果に応じて、機器認証の成功を示す認証成功情報又は機器認証の失敗を示す認証失敗情報を生成し、認証成功情報又は認証失敗情報を制御部414へ出力する。
また、認証部417は、機器認証が成功する場合には、セッション鍵を生成し、生成したセッション鍵を復号部412へ出力する。
(4)復号部412
復号部412は、認証部417からセッション鍵を受け取る。
また、復号部412は、ソフトウェア書込装置100から、インターネット20及び送受信部402を介して、1個以上の暗号化ソフトウェア管理情報を受け取り、受け取ったセッション鍵を用いて受け取った各暗号化ソフトウェア管理情報に復号アルゴリズムD3を施して受け取った暗号化ソフトウェア管理情報と同数のソフトウェア管理情報を生成し、生成した前記ソフトウェア管理情報を情報記憶部413のソフトウェア管理テーブル421へ書き込む。
このようにして、ソフトウェア管理テーブル421は、図24に示すソフトウェア管理テーブル121fと同一の内容となる。
(5)認証部411
認証部411は、制御部414の指示により、送受信部402、モバイルネットワーク21及び携帯電話500fを介して、メモリカード200fとの間で、チャレンジ−レスポンス型の相互の機器認証を行う。次に、機器認証の結果に応じて、機器認証の成功を示す認証成功情報又は機器認証の失敗を示す認証失敗情報を生成し、認証成功情報又は認証失敗情報を制御部414へ出力する。
また、認証部411は、機器認証が成功する場合には、セッション鍵を生成し、生成したセッション鍵を暗号化部418へ出力する。
(6)暗号化部418
暗号化部418は、認証部411からセッション鍵を受け取り、制御部414からソフトウェア管理情報と、ソフトウェア管理情報を暗号化する指示とを受け取る。
前記指示を受け取ると、暗号化部418は、認証部411から受け取ったセッション鍵を用いて、受け取った前記ソフトウェア管理情報に暗号化アルゴリズムE3を施し、暗号化ソフトウェア管理情報を生成する。次に、暗号化部418は、生成した暗号化ソフトウェア管理情報を、送受信部402、モバイルネットワーク21及び携帯電話500fを介して、メモリカード200fへ出力する。
(7)制御部414
制御部414は、ソフトウェア書込装置100fからインターネット20を介して、ソフトウェア管理テーブルの送信の開始を示す送信開始情報を受信する。前記送信開始情報を受信すると、認証部417に対して、機器認証を行うように指示する。
また、認証部417から認証成功情報又は認証失敗情報を受け取る。認証成功情報を受け取った場合には、送受信部402に対して送受信を継続するように指示する。認証失敗情報を受け取った場合には、送受信を中止するように指示する。
制御部414は、認証部411から認証の成功を示す認証成功情報を受け取る。認証成功情報を受け取ると、制御部414は、情報記憶部413に記憶されているソフトウェア管理テーブル421から全てのソフトウェア管理情報を読み出し、読み出したソフトウェア管理情報からソフトID、名称、種類、全てのライセンス情報を抽出し、抽出したソフトID、名称、種類、全てのライセンス情報から構成されるソフトウェア表示情報を生成する。こうして、ソフトウェア管理テーブル421から読み出した全てのソフトウェア管理情報と同数のソフトウェア表示情報を含むソフトウェア一覧を生成する。次に、制御部414は、生成したソフトウェア一覧を送受信部402、モバイルネットワーク21を介して、携帯電話500fへ送信する。
制御部414は、携帯電話500fから、モバイルネットワーク21及び送受信部402を介して、ソフトID及び利用条件IDを受け取る。次に、受信したソフトID及び利用条件IDにより示されるライセンス情報をソフトウェア管理テーブル421から読み出し、読み出したライセンス情報から支払条件を抽出し、抽出した支払条件により示される額を料金として算出する。次に、算出した料金を示す料金情報を送受信部402、モバイルネットワーク21を介して携帯電話500fへ送信する。次に、制御部414と携帯電話500fとは、前記料金の精算処理を行う。なお、料金の精算処理については、現在、携帯電話を利用したコンテンツサービスにおいて利用されている各種技術を利用することができる。例えば、コンテンツの利用代金を、携帯電話の利用代金に加算して精算処理する方法や、利用者のクレジットカードにより精算処理する方法などを利用することができる。詳細については公知であるので省略する。
料金の精算処理が終了すると、制御部414は、ソフトウェア管理テーブル421から、前記ソフトIDを含むソフトウェア管理情報を読み出し、読み出したソフトウェア管理情報から前記利用条件IDを含むライセンス情報を抽出する。次に、新たに生成するソフトウェア管理情報を識別する契約IDを生成し、生成した契約ID、読み出したソフトウェア管理情報に含まれるソフトID、名称、種類、及び抽出したライセンス情報から構成されるソフトウェア管理情報を新たに生成し、生成したソフトウェア管理情報を暗号化部418へ出力する。また、暗号化部418に対して前記ソフトウェア管理情報の暗号化を行うように制御する。
6.4 携帯電話500f
携帯電話500fは、アンテナ、無線受信部、無線送信部、ベースバンド信号処理部、制御回路、受話器、送話器、表示部、複数のキーを備える入力部、メモリカード200fとの間で情報の入出力を行う入出力部などを備えて構成され、モバイルネットワーク21を介して、他の装置との間で情報の送受信を行う。
利用者によりメモリカード200fが携帯電話500fに装着される。
携帯電話500fは、利用者の操作によりライセンス情報を取得する旨の要求を受け付け、前記要求をモバイルネットワーク21を介して、コンテンツ配信装置400fへ送信する。
また、携帯電話500fは、コンテンツ配信装置400fから、モバイルネットワーク21を介して、ソフトウェア一覧を受信し、受信したソフトウェア一覧を表示する。次に、携帯電話500fは、表示されているソフトウェア一覧の中から利用者により1個のソフトウェアの選択を受け付け、さらに1個のライセンス情報の選択を受け付ける。次に、携帯電話500fは、選択を受け付けたソフトウェアを識別するソフトIDと選択を受け付けたライセンス情報を識別する利用条件IDとをソフトウェア一覧から抽出し、抽出したソフトIDと利用条件IDとを、モバイルネットワーク21を介して、コンテンツ配信装置400fへ送信する。
また、携帯電話500fは、コンテンツ配信装置400fから、モバイルネットワーク21を介して、料金情報を受け取り、受け取った料金情報に基づいて、コンテンツ配信装置400fとの間で、前記料金の精算処理を行う。
また、携帯電話500fは、コンテンツ配信装置400fから、モバイルネットワーク21を介して、暗号化ソフトウェア管理情報を受け取り、受け取った暗号化ソフトウェア管理情報をメモリカード200fへ出力する。
6.5 メモリカード200f
メモリカード200fは、メモリカード200と同様の構成を有しており、図22、図25及び図27に示すように、耐タンパモジュール部210、情報記憶部220及び入出力部201から構成されている。耐タンパモジュール部210は、認証部211、復号部212、暗号化部213及び判定部214から構成され、情報記憶部220は、第1記憶領域221及び第2記憶領域222から構成されている。
ここでは、メモリカード200との相違点を中心として説明する。
(1)入出力部201
入出力部201は、情報処理装置300fから一覧要求を受け取り、受け取った前記一覧要求を判定部214へ出力する。
(2)判定部214
(ソフト一覧の生成)
判定部214は、入出力部201から前記一覧要求を受け取る。前記前記一覧要求を受け取ると、情報記憶部220が有する第2記憶領域222のソフトウェア管理情報テーブル231から全てのソフトウェア管理情報を読み出す。次に、読み出した各ソフトウェア管理情報に含まれている利用条件を用いて、さらにソフトウェアの導入、再生又は実行が可能であるか否かを判断する。
具体的には、利用条件のインストール回数情報が「0」であれば、インストールは不可能であると判断し、インストール回数情報が「1」以上であれば、インストールは可能と判断する。また、複製回数情報が「0」であれば、複製は不可能であると判断し、複製回数情報が「1」以上であれば、複製は可能と判断する。また、利用条件の利用期間が、現在日時を含む場合には、実行可能であると判断し、そうでない場合には、不可能であると判断する。また、利用条件の再生期間が、現在日時を含む場合には、再生可能であると判断し、そうでない場合には、不可能であると判断する。
こうして、不可能であると判断される場合には、読み出したソフトウェア管理情報を棄却する。なお、この構成には、限定されない。例えば、利用不可能であると判断されたソフトウェアについても、読み出したソフトウェア管理情報からソフト表示情報を生成する。生成したソフト表示情報には、利用可能と判断されたソフトウェアとは区別できるように、利用不可を示す情報を付加する。こうして、利用不可を示す情報が付加されたソフト表示情報も含むソフト一覧を生成して、表示する。利用者は、ソフト一覧において、利用不可と表示されたソフトウェアについては、ライセンスを追加購入することにより、利用可能とすることができる。
可能であると判断される場合には、読み出したソフトウェア管理情報からソフトID、名称、種類及び利用条件を抽出し、抽出したソフトID、名称、種類及び利用条件から構成されるソフト表示情報を生成する。
こうして、読み出した全てのソフトウェア管理情報のうち、前記のようにして、可能と判断されるソフトウェア管理情報について、ソフト表示情報が生成される。判定部214は、これらのソフト表示情報を含むソフト一覧を生成する。次に、生成したソフト一覧を入出力部201を介して、情報処理装置300fへ出力する。
(ソフトウェアの出力判定)
判定部214は、復号部212から受け取った区分がコンピュータプログラムのインストール及びコンテンツの複製、又は、コンピュータプログラムのアンインストール及びコンテンツの削除のいずれであるかを判断する。
また、判定部214は、アンインストール又は削除と判断した場合に、ソフトウェア管理情報に含まれるインストール回数情報又は複製回数情報に「1」の値を加算し、得られた値を、新たにインストール回数情報又は複製回数情報として、ソフトウェア管理情報テーブル231内の前記ソフトウェア管理情報内に上書きする。
また、判定部214は、復号部212より受け取った装置IDが、第2記憶領域222より受取ったソフトウェア管理情報に含まれるかどうかチェックする。
装置IDが含まれない場合は、新しい情報処理装置へのコンピュータプログラムのインストールの要請又はコンテンツの複製の要請と判断し、ソフトウェア管理情報に含まれるインストール回数又は複製回数をチェックする。インストール回数又は複製回数が、1以上であれば、インストール可又は複製可と判定する。このとき、前記第2記憶領域222より読み出したソフトウェア管理情報に、前記復号部212より受け取った装置IDを追加して書き込むとともに、インストール回数又は複製回数を1減算した値に更新したソフトウェア管理情報を第2記憶領域222に書き込む。インストール回数又は複製回数が零であれば、インストール不可又は複製不可と判定する。
また、判定部214は、装置IDが含まれる場合は、既にインストール済み又は複製済みの情報処理装置への再インストールの要請又は再複製の要請と判断し、インストール可又は複製可と判定する。
(ソフトウェアの実行、再生判定)
判定部214は、復号部212からソフトIDを受け取り、第2記憶領域222から、受け取った前記ソフトIDに対応するソフトウェア管理情報を読み出し、読み出したソフトウェア管理情報に基づいて、暗号化コンピュータプログラムの復号及び実行、又は暗号化コンテンツの復号及び再生を許可するか否かを判定する。
判定部214は、許可するか否かの判定を、次のようにして行う。
判定部214は、読み出したソフトウェア管理情報から利用条件を抽出し、抽出した利用条件が「再生回数情報」を示すか、又は「再生期間」を示すかを判断する。利用条件が「再生回数情報」を示す場合には、利用条件に含まれる「再生回数」が「1」以上であるか否かを判断し、「1」以上であるときは、「再生回数」を「1」だけ減じ、再生許可と判定する。「再生回数」が「0」であるときは、再生不許可と判定する。
利用条件が「再生期間」を示す場合には、判定部214は、現在日時を取得し、現在日時が「再生期間」内であるか否かを判断し、再生期間内であるときは、再生許可と判定する。再生期間外であるときは、再生不許可と判定する。
上記の判定は、暗号化コンテンツの復号及び再生を許可するか否かの判定を示しているが、暗号化コンピュータプログラムの復号及び実行を許可するか否かの判定も同様にして行われる。暗号化コンピュータプログラムの場合には、上記の「再生回数」を「インストール回数」に置き換え、上記の「再生期間」を「利用期間」に置き換えればよい。
次に、実行又は再生を許可しないと判定した場合に、判定部214は、不許可を示す不許可メッセージを情報処理装置300fに送信し、その後、メモリカード200fは、処理を中止する。
また、実行又は再生を許可すると判定した場合に、判定部214は、ソフト管理情報に含まれるソフトキーを暗号化部213に送る。
(3)暗号化部213
暗号化部213は、判定部214からソフトキーを受け取り、受け取ったソフトキーを、認証部211より受け取ったセッション鍵を用いて暗号化して暗号化ソフトキーを生成し、生成した暗号化ソフトキーを、入出力部201を介して、情報処理装置300fに送信する。
(4)復号部212
復号部212は、認証部211よりセッション鍵を受け取り、受け取ったセッション鍵を用いて、情報処理装置300より受信した暗号化ソフトIDを復号し、生成したソフトIDを判定部214へ出力する。
(5)ソフトウェア管理情報テーブル231
ソフトウェア管理情報テーブル231は、図26に示すように、複数個のソフトウェア管理情報241f、242f、243fを記憶している。
ソフトウェア管理情報241fは、この図に示すように、契約ID、ソフトID、名称、種類、ソフトキー、利用条件ID、インストール回数情報、料金及び複数の装置IDを含む。
ソフトウェア管理情報242fは、この図に示すように、契約ID、ソフトID、名称、種類、ソフトキー、利用条件ID、再生期間及び料金を含む。
ソフトウェア管理情報243fは、この図に示すように、契約ID、ソフトID、名称、種類、ソフトキー、利用条件ID、複製回数情報、料金及び複数の装置IDを含む。
6.6 情報処理装置300f
情報処理装置300fは、図27に示すように、インストール処理部310、ソフトウェア格納部320、制御部321、表示部322、入力部323、ソフトウェア実行部324、復号部325及び入出力部301から構成されている。インストール処理部310は、認証部311、暗号化部312、復号部313、復号部314、暗号化部315、装置ID格納部316、装置固有鍵生成部317、ソフトID取得部318及び乱数格納部326から構成されている。
情報処理装置300fの各構成要素は、情報処理装置300の各構成要素と類似している。ここでは、情報処理装置300の構成要素との相違点を中心として説明する。
(1)ソフトウェア格納部320
ソフトウェア格納部320は、具体的には、ハードディスクユニットから構成され、メモリカード200fからインストールされる暗号化ソフトウェアを1個以上記憶する領域を備えている。これらの領域には、既に、暗号化ソフトウェアが記憶されている。
また、ソフトウェア格納部320は、図28に示すソフトウェア保持情報テーブル331は、複数のソフトウェア保持情報を記憶するための領域を備えている。各ソフトウェア保持情報は、既にソフトウェア格納部320に記憶されている暗号化ソフトウェアを示す情報であり、ソフトID、名称、種類及び導入日付から構成されている。ソフトIDは、当該暗号化ソフトウェアを識別する識別情報である。名称は、当該暗号化ソフトウェアを表す識別名である。種類は、当該暗号化ソフトウェアがコンピュータプログラムであるか、又はコンテンツであるかを示す情報である。導入日付は、当該暗号化ソフトウェアがソフトウェア格納部320に書き込まれた年月日を示す。
また、ソフトウェア格納部320は、暗号化ソフトウェアが復号されて生成されたソフトウェアを一時的に記憶する領域を備えている。
(2)入力部323
入力部323は、利用者から各種の操作の区分のうちのいずれか1個の入力を受け付ける。ここで、前記各種の操作の区分は、メモリカード200fに記憶されている暗号化コンピュータプログラムのインストール、暗号化コンピュータプログラムのアンインストール、メモリカード200fに記憶されている暗号化コンテンツの複製、暗号化コンテンツの削除、暗号化コンピュータプログラムの復号及び実行、及び暗号化コンテンツの復号及び再生を示す。次に、入力部323は、入力を受け付けた前記区分を制御部321へ出力する。
また、入力部323は、利用者からソフト一覧として表示されているソフト表示情報のうちの1個の選択を受け付け、選択を受け付けたソフト表示情報からソフトIDを抽出し、抽出したソフトIDを制御部321へ出力する。
(3)制御部321
制御部321は、入力部323から前記区分を受け取り、受け取った前記区分が、暗号化コンピュータプログラムのアンインストールを示すか、暗号化コンテンツの削除を示すか、又はその他の動作を示すかを判断する。
(i)受け取った前記区分が、暗号化コンピュータプログラムのアンインストール及び暗号化コンテンツの削除のいずれかを示すと判断する場合に、制御部321は、ソフトウェア格納部320に記憶されているソフトウェア保持情報テーブル331から全てのソフトウェア保持情報を読み出し、読み出した各ソフトウェア保持情報に含まれているソフトID、名称、種類及び導入日付から構成されるソフト表示情報を生成し、読み出した前記ソフトウェア保持情報と同数の前記ソフト表示情報を含むソフト一覧を生成し、生成したソフト一覧を表示部322へ出力する。
(ii)受け取った前記区分が、他の動作を示すと判断する場合に、制御部321は、ソフト一覧の出力要求を示す一覧要求を入出力部301を介して、メモリカード200fへ出力する。次に、メモリカード200fから入出力部301を介して、ソフト一覧を受け取り、受け取ったソフト一覧を表示部322へ出力する。
次に、制御部321は、入力部323から受け取った前記区分が、暗号化コンピュータプログラムのインストール及びアンインストール、並びに暗号化コンテンツの複製及び削除のいずれかを示すか、又は暗号化コンピュータプログラムの復号及び実行、並びに暗号化コンテンツの復号及び再生のいずれかを示すかを判断する。
(i)暗号化コンピュータプログラムのインストール及びアンインストール、並びに暗号化コンテンツの複製及び削除のいずれかを示すと判断する場合の詳細の動作ついては、後述する(図35〜図39参照)。
(ii)暗号化コンピュータプログラムの復号及び実行、及び暗号化コンテンツの復号及び再生の区分のいずれかを示すと判断する場合の詳細の動作ついては、後述する(図40〜図42参照)。
(4)表示部322
表示部322は、制御部321からソフト一覧を受け取り、受け取ったソフト一覧を表示する。
表示部322により表示されるソフト一覧を含む画面341を図29に示す。この図に示すように、画面341は、ソフトID、名称、種類及び利用条件を含むソフト表示情報を5個含んでいる。
(5)暗号化部312
暗号化部312は、認証部311よりセッション鍵を受け取り、ソフトID取得部318よりソフトIDを受け取り、受け取ったセッション鍵を用いて、ソフトIDを暗号化して暗号化ソフトIDを生成し、生成した暗号化ソフトIDを、入出力部301を介して、メモリカード200fに送信する。
(6)復号部313
復号部313は、メモリカード200fから受け取った暗号化ソフトキーを、認証部311より受け取ったセッション鍵を用いて復号して、ソフトキーを生成し、生成したソフトキーを復号部314へ出力する。
(7)復号部314
復号部314は、暗号化ソフトウェアを受け取り、復号部313からソフトキーを受け取り、受取ったソフトキーを用いて、暗号化ソフトウェアを復号し、復号したソフトウェアをソフトウェア実行部324へ出力する。
(8)ソフトウェア実行部324
ソフトウェア実行部324は、復号部314からソフトウェアを受け取り、受け取ったソフトウェアがコンピュータプログラムである場合には、当該コンピュータプログラムを実行し、受け取ったソフトウェアがコンテンツである場合には、当該コンテンツを再生する。
6.7 ソフトウェア管理テーブルの送信の動作
ソフトウェア書込装置100fからコンテンツ配信装置400fへのソフトウェア管理テーブルの送信の際の動作について、図30に示すフローチャートを用いて説明する。
なお、ここで説明するソフトウェア管理テーブルの送信の際の動作は、初回、及びその後、定期的に、又は、ソフトウェア書込装置100fにおいてソフトウェア管理テーブルに新たなソフトウェアの管理情報が追加更新される度に、実行されるものとする。
ソフトウェア書込装置100fの入力部115は、ソフトウェア書込装置100fの操作者の操作により、ソフトウェア管理テーブル121fをコンテンツ配信装置400fへ送信する旨の指示を受け付け、受け付けた指示を制御部114へ出力し、制御部114は、前記指示を受け取り、認証部111に対して、コンテンツ配信装置400fとの間で相互の機器認証をするように、制御する。
ソフトウェア書込装置100fの認証部111と、コンテンツ配信装置400fの認証部417とは、相互の機器認証を行い(ステップS401、S411)、機器認証に失敗すると(ステップS402、S412)、ソフトウェア書込装置100f及びコンテンツ配信装置400fは、それぞれソフトウェア管理テーブルの送信及び受信の処理を中止する。
機器認証に成功すると(ステップS402)、暗号化部118は、情報記憶部113に記憶されているソフトウェア管理テーブル121fに含まれる全てのソフトウェア管理情報を読み出し(ステップS403)、読み出した前記ソフトウェア管理情報を暗号化し(ステップS404)、各暗号化ソフトウェア管理情報を送受信部102及びインターネット20を介して、コンテンツ配信装置400fへ送信する(ステップS405)。
機器認証に成功すると(ステップS412)、復号部412は、各暗号化ソフトウェア管理情報を、ソフトウェア書込装置100fから、インターネット20及び送受信部402を介して受信し(ステップS405)、受信した前記暗号化ソフトウェア管理情報を復号してソフトウェア管理情報を生成し(ステップS413)、生成したソフトウェア管理情報を情報記憶部413に記憶されているソフトウェア管理テーブル421へ書き込む(ステップS414)。
こうして、コンテンツ配信装置400fは、ソフトウェア書込装置100fが記憶しているソフトウェア管理テーブル121fと同じ内容のソフトウェア管理テーブル421を保持することとなる。
6.8 暗号化ソフトウェアのメモリカード200fへの書込みの動作
ソフトウェア書込装置100fによる暗号化ソフトウェアのメモリカード200fへの書込みの動作について、図31に示すフローチャートを用いて説明する。
前記書込みの動作に先立って、ソフトウェア書込装置100fの操作者により、メモリカード200fがソフトウェア書込装置100fに装着される。
制御部114は、情報記憶部113に記憶されているソフトウェア管理テーブル121fに含まれる全てのソフトウェア管理情報を読み出し、読み出した各ソフトウェア管理情報からソフトID、名称、種類、ライセンス情報を抽出し、抽出したソフトID、名称、種類、ライセンス情報から構成されるソフトウェア表示情報を、読み出したソフトウェア管理情報と同数だけ含むソフトウェア一覧を生成する(ステップS431)。
次に、制御部114は、生成したソフトウェア一覧を表示部116へ出力し、表示部116は、ソフトウェア一覧を表示する(ステップS432)。
入力部115は、ソフトウェア書込装置100fの操作者による操作により、ソフトウェア一覧から1個のソフトウェア表示情報の選択を受け付け、選択を受け付けたソフトウェア表示情報に含まれるソフトIDを制御部114へ出力する(ステップS433)。
次に、認証部111と認証部211は、相互に機器認証を行い(ステップS434、S441)、機器認証に失敗すると(ステップS435、S442)、ソフトウェア書込装置100f及びメモリカード200fは、暗号化ソフトウェアの書込処理を中止する。
機器認証に成功すると(ステップS435)、暗号化部112は、制御部114からソフトIDを受け取り、受け取ったソフトIDにより識別されるソフトウェアを情報記憶部113から読み出し(ステップS436)、読み出したソフトウェアに暗号化アルゴリズムE1を施して、暗号化ソフトウェアを生成し(ステップS437)、生成した暗号化ソフトウェアを入出力部101を介してメモリカード200fへ出力する(ステップS438)。
メモリカード200fの入出力部201は、暗号化ソフトウェアを受け取り(ステップS438)、受け取った暗号化ソフトウェアを情報記憶部220が有する第1記憶領域221へ書き込む(ステップS443)。
こうして、ソフトウェア書込装置100fは、記憶しているソフトウェアを暗号化してメモリカード200fへ書き込む。
6.9 ライセンス情報の取得の動作
携帯電話500fによりコンテンツ配信装置400fからライセンス情報を含むソフトウェア管理情報を取得してメモリカード200fに書き込む際の動作について、図32〜図33に示すフローチャートを用いて説明する。
ソフトウェア管理情報の取得に先立って、利用者によりメモリカード200fが携帯電話500fに装着される。
携帯電話500fは、利用者の操作によりライセンス情報を取得する旨の要求を受け付け(ステップS461)、前記要求をモバイルネットワーク21を介して、コンテンツ配信装置400fへ送信する(ステップS462)。
コンテンツ配信装置400fの送受信部402は、携帯電話500fからモバイルネットワーク21を介して、前記要求を受信し(ステップS462)、認証部411と認証部211とは、送受信部402、モバイルネットワーク21及び携帯電話500fを介して、相互の機器認証を行う(ステップS471、S491)。機器認証に失敗すると(ステップS472、S492)、認証部411と認証部211とは、それぞれ認証失敗を示す通知を携帯電話500fへ出力し(ステップS473、S483)、コンテンツ配信装置400f及びメモリカード200fは、それぞれ、ライセンス情報の取得の処理を中止する。
機器認証に成功すると(ステップS472)、認証部411は、認証の成功を示す認証成功情報を制御部414へ出力し、制御部414は、情報記憶部413に記憶されているソフトウェア管理テーブルから全てのソフトウェア管理情報を読み出し、読み出したソフトウェア管理情報を用いてソフトウェア一覧を生成し(ステップS474)、生成したソフトウェア一覧を送受信部402、モバイルネットワーク21を介して、携帯電話500fへ送信する(ステップS475)。
携帯電話500fは、コンテンツ配信装置400fから、モバイルネットワーク21を介して、ソフトウェア一覧を受信し(ステップS475)、受信したソフトウェア一覧を表示する(ステップS463)。次に、携帯電話500fは、利用者からソフトウェアの選択を受け付け(ステップS464)、さらにライセンス情報の選択を受け付ける(ステップS465)。次に、携帯電話500fは、選択を受け付けたソフトウェアを識別するソフトIDと選択を受け付けたライセンス情報を識別する利用条件IDとを、モバイルネットワーク21を介して、送受信部402へ送信する(ステップS466)。
制御部414は、モバイルネットワーク21及び送受信部402を介して、ソフトIDと利用条件IDとを受信し(ステップS466)、受信したソフトIDと利用条件IDとに基づいて、料金を計算し(ステップS476)、計算した料金を示す料金情報を送受信部402、モバイルネットワーク21を介して携帯電話500fへ送信する(ステップS477)。次に、制御部414と携帯電話500fとは、前記料金の精算処理を行う(ステップS478)。
料金の精算処理が終了すると、制御部414は、受信したソフトIDと利用条件IDとに基づいて、ソフトウェア管理情報を生成し、生成したソフトウェア管理情報を暗号化部418へ出力し、暗号化部418に対してソフトウェア管理情報の暗号化を指示する(ステップS479)。暗号化部418は、ソフトウェア管理情報を受け取り、受け取ったソフトウェア管理情報に暗号化アルゴリズムE3を施して、暗号化ソフトウェア管理情報を生成し(ステップS480)、生成した暗号化ソフトウェア管理情報を送受信部402、モバイルネットワーク21及び携帯電話500fを介して、メモリカード200fへ送信する(ステップS481、S466)。
メモリカード200fの復号部212は、コンテンツ配信装置400fから、モバイルネットワーク21、携帯電話500f及び入出力部201を介して、暗号化ソフトウェア管理情報を受信し(ステップS481、S466)、受信した暗号化ソフトウェア管理情報を復号してソフトウェア管理情報を生成し(ステップS493)、判定部214は、ソフトウェア管理情報をソフトウェア管理情報テーブル231へ書き込む(ステップS494)。
6.10 情報処理装置300fによるソフトウェアのインストール、アンインストール、複製、削除、実行、再生の動作
情報処理装置300fによる暗号化コンピュータプログラムのインストール及びアンインストール、暗号化コンテンツの複製及び削除、メモリカード200fに記憶されている暗号化コンピュータプログラムの復号及び実行、及びメモリカード200fに記憶されている暗号化コンテンツの復号及び再生の動作について、図34〜図42に示すフローチャートを用いて説明する。
情報処理装置300fによる上記の動作に先立って、メモリカード200fが利用者により情報処理装置300fに装着される。
入力部323は、利用者から操作の区分の入力を受け付け、次に、入力を受け付けた前記区分を制御部321へ出力する(ステップS511)。
制御部321は、入力部323から前記区分を受け取り、受け取った前記区分が、暗号化コンピュータプログラムのアンインストールの区分及び暗号化コンテンツの削除の区分であるか、又は他の区分であるかを判断する。
受け取った前記区分が、暗号化コンピュータプログラムのアンインストールの区分及び暗号化コンテンツの削除の区分のいずれかであると判断する場合に(ステップS512)、制御部321は、ソフトウェア格納部320に記憶されているソフトウェア保持情報テーブル331から全てのソフトウェア保持情報を読み出し(ステップS516)、読み出したソフトウェア保持情報を用いてソフト一覧を生成し、生成したソフト一覧を表示部322へ出力する(ステップS517)。次に、ステップS518へ制御が移る。
一方、受け取った前記区分が、他の区分であると判断する場合に(ステップS512)、制御部321は、ソフト一覧の出力要求を示す一覧要求を入出力部301を介して、メモリカード200fへ出力する(ステップS513)。
メモリカード200fの入出力部201は、情報処理装置300fから前記一覧要求を受け取り、受け取った前記一覧要求を判定部214へ出力する(ステップS513)。
判定部214は、入出力部201から前記一覧要求を受け取ると、情報記憶部220が有する第2記憶領域222のソフトウェア情報管理テーブル231からソフトウェア管理情報を読み出し、読み出したソフトウェア管理情報を用いて、ソフト一覧を生成し(ステップS514)、生成したソフト一覧を入出力部201を介して、情報処理装置300fへ出力する(ステップS515)。
制御部321は、メモリカード200fから入出力部301を介して、ソフト一覧を受け取り、受け取ったソフト一覧を表示部322へ出力する(ステップS515)。
次に、表示部322は、ソフト一覧を表示する(ステップS518)。
入力部323は、利用者からソフト一覧として表示されているソフト表示情報のうちの1個の選択を受け付け、選択を受け付けたソフト表示情報に含まれるソフトIDを制御部321へ出力する(ステップS519)。
次に、制御部321は、入力部323から受け取った前記区分が、暗号化コンピュータプログラムのインストール及びアンインストールの区分、暗号化コンテンツの複製及び削除の区分のいずれかであるか、又は、メモリカード200fに記憶されている暗号化コンピュータプログラムの復号及び実行の区分、及びメモリカード200fに記憶されている暗号化コンテンツの復号及び再生の区分のいずれかであるかを判断する。
暗号化コンピュータプログラムのインストール及びアンインストールの区分、暗号化コンテンツの複製及び削除の区分のいずれかであると判断する場合に(ステップS520)、次に、ステップS101f(図35)へ制御が移る。
メモリカード200fに記憶されている暗号化コンピュータプログラムの復号及び実行の区分、及びメモリカード200fに記憶されている暗号化コンテンツの復号及び再生の区分のいずれかであると判断する場合に(ステップS520)、次に、ステップS101g(図40)へ制御が移る。
(暗号化コンピュータプログラムのインストール及びアンインストール、又は暗号化コンテンツの複製及び削除の動作)
暗号化コンピュータプログラムのインストール及びアンインストール、又は暗号化コンテンツの複製及び削除の動作を、図35〜図39のフローチャートのステップS101f〜S119f、S201f〜S217f、S151f〜S155fに示している。
図35〜図39の各ステップは、これらのステップを示す参照符号(ただし、数字部分のみ)と同一の参照符号(数字部分のみ)により示される図5〜図9のフローチャートのステップに対応している。ここでは、図5〜図9に示すフローチャートの各ステップとの相違点を中心として説明する。
ステップS109fにおいて、判定部214は、生成された区分がコンピュータプログラムのインストール及びコンテンツの複製、又は、コンピュータプログラムのアンインストール及びコンテンツの削除のいずれであるかを判断する。区分がコンピュータプログラムのインストール又はコンテンツの複製であると判断される場合に、ステップS110fに制御が移される。一方、コンピュータプログラムのアンインストール又はコンテンツの削除であるかを判断される場合に、S201fに制御が移される。
また、ステップS217fにおいて、判定部214は、ソフトウェア管理情報に含まれるインストール回数情報又は複製回数情報に「1」の値を加算し、得られた値を、新たにインストール回数情報又は複製回数情報として、ソフトウェア管理情報テーブル231内の前記ソフトウェア管理情報内に上書きする。
また、判定部214は、復号部212より受け取った装置IDが、第2記憶領域222より受取ったソフトウェア管理情報に含まれるかどうかチェックし(ステップS151f)、装置IDが含まれない場合は(ステップS151f)、新しい情報処理装置へのコンピュータプログラムのインストールの要請又はコンテンツの複製の要請と判断し、ソフトウェア管理情報に含まれるインストール回数又は複製回数をチェックし(ステップS153f)、1以上であれば(ステップS153f)インストール可又は複製可と判定する。このとき、前記第2記憶領域222より読み出したソフトウェア管理情報に、前記復号部212より受け取った装置IDを追加して書き込むとともに、インストール回数又は複製回数を1減算した値に更新したソフトウェア管理情報を第2記憶領域222に書き込む(ステップS155f)。インストール回数又は複製回数が零であれば(ステップS153f)、インストール不可又は複製不可と判定する。また、前記ステップ151fにおいて、装置IDが含まれる場合は(ステップS151f)、既にインストール済み又は複製済みの情報処理装置への再インストールの要請又は再複製の要請と判断し、インストール可又は複製可と判定する。
(メモリカード200fに記憶されている暗号化コンピュータプログラムの復号及び実行の動作、及びメモリカード200fに記憶されている暗号化コンテンツの復号及び再生の動作)
情報処理装置300fが有する認証部311とメモリカード200fが有する認証部211との間で、相互に認証を行う(ステップS101g、ステップS102g)。
認証に成功すると(ステップS104g)、暗号化部312は、認証部311よりセッション鍵を受け取り、ソフトID取得部318よりソフトIDを受け取り、受け取ったセッション鍵を用いて、ソフトIDを暗号化して暗号化ソフトIDを生成し(ステップS105g)、生成した暗号化ソフトIDを、入出力部301を介して、メモリカード200fに送信する(ステップS106g)。
認証に成功すると(ステップS103g)、復号部212は、認証部211よりセッション鍵を受け取り、受け取ったセッション鍵を用いて、情報処理装置300fより受信した暗号化ソフトIDを復号し、生成したソフトIDを判定部214に送る(ステップS107g)。
認証に失敗すると(ステップS103g又はS104g)、メモリカード200f又は情報処理装置300fは、以降の処理を中止する。
次に、判定部214は、第2記憶領域222から、前記生成されたソフトIDに対応するソフトウェア管理情報を読み出し(ステップS108g)、読み出したソフトウェア管理情報に基づいて、暗号化コンピュータプログラムの復号及び実行、又は暗号化コンテンツの復号及び再生を許可するか否かを判定する(ステップS110g)。なお、ステップS110gの詳細は後述する。
実行又は再生を許可しないと判定した場合に(ステップS110g)、判定部214は、不許可を示す不許可メッセージを情報処理装置300fに送信し(ステップS120g)、その後、メモリカード200fは、処理を中止する。
メモリカード200fから前記不許可メッセージを受け取ると(ステップS121g)、制御部321は、表示部322に対して前記不許可メッセージを表示するように制御し、表示部322は、前記不許可メッセージを表示し(ステップS122g)、その後、情報処理装置300fは、処理を中止する。
実行又は再生を許可すると判定した場合に(ステップS110g)、判定部214は、ソフト管理情報に含まれるソフトキーを暗号化部213に送り、暗号化部213は、ソフトキーを、認証部211より受け取ったセッション鍵を用いて暗号化して暗号化ソフトキーを生成し(ステップS111g)、生成した暗号化ソフトキーを情報処理装置300fに送信し(ステップS112g)、制御部321が前記不許可メッセージを受け取っていない場合に(ステップS121g)、復号部313は、メモリカード200fから受け取った暗号化ソフトキーを、認証部311より受け取ったセッション鍵を用いて復号する(ステップS113g)。
また、入出力部201は、第1記憶領域221から暗号化ソフトウェアを読み出し(ステップS114g)、読み出した暗号化ソフトウェアを情報処理装置300fへ送信する(ステップS115g)。復号部314は、復号部313から受取った復号されたソフトキーを用いて、暗号化ソフトウェアを復号し、復号したソフトウェアをソフトウェア実行部324へ出力し、(ステップS116g)、ソフトウェア実行部324は、ソフトウェアを受け取り、受け取ったソフトウェアがコンピュータプログラムである場合には、当該コンピュータプログラムを実行し、受け取ったソフトウェアがコンテンツである場合には、当該コンテンツを再生する(ステップS117g)。
以上のようにして、暗号化コンピュータプログラムの復号及び実行、又は暗号化コンテンツの復号及び再生が完了する。
次に、判定部214による暗号化コンピュータプログラムの復号及び実行、又は暗号化コンテンツの復号及び再生を許可するか否かを判定の動作について詳細に説明する。以下の説明は、ステップS110gの詳細である。
判定部214は、利用条件が「再生回数情報」を示すか、又は「再生期間」を示すかを判断する。利用条件が「再生回数情報」を示す場合には(ステップS531)、利用条件に含まれる「再生回数」が「1」以上であるか否かを判断し、「1」以上であるときは(ステップS532)、「再生回数」を「1」だけ減じ(ステップS533)、再生許可と判定する。「再生回数」が「0」であるときは(ステップS532)、再生不許可と判定する。
利用条件が「再生期間」を示す場合には(ステップS531)、判定部214は、現在日時を取得し(ステップS534)、現在日時が「再生期間」内であるか否かを判断し、再生期間内であるときは(ステップS535)、再生許可と判定する。再生期間外であるときは(ステップS535)、再生不許可と判定する。
6.11 その他
上記の変形例において、ソフトウェアは、コンピュータプログラムや映画や音楽のようなデジタル著作物などのコンテンツであるとしているが、これに限定されることはない。ソフトウェアは、例えば、表計算ソフトにより生成される電子的な表データ、データベースソフトウェアが出力するデータなどであるとしてもよいし、静止画、動画、音声、小説のようなテキストデータなどのコンテンツであるとしてもよい。このようにソフトウェアとは、コンピュータにより読み取りが可能で、利用可能な形式のあらゆる種類のコンピュータデータを含む概念である。
また、上記の変形例において、携帯電話500f及び情報処理装置300fは、一体の装置から構成されているとしてもよい。
また、携帯電話500fは、無線通信機能を備えた携帯情報端末装置であるとしてもよい。
また、以下に示す構成としても良い。
(1)変形例(5)では、ソフトウェア書込装置100fとコンテンツ配信装置400fとは、インターネット20に接続されており、インターネット20を介して、ソフトウェア管理情報を、秘密に送信する構成としているが、この構成には限定されない。
例えば、ソフトウェア書込装置100fは、ソフトウェア管理情報を、記録媒体にセキュアに記録する。ソフトウェア書込装置100fの管理者は、このソフトウェア管理情報が記録された記録媒体をコンテンツ配信装置400fの管理者に対して、郵送する。コンテンツ配信装置400fは、郵送された記録媒体からソフトウェア管理情報を読み出し、内部に記録する、としてもよい。
また、ソフトウェア書込装置100fとコンテンツ配信装置400fとは異なる装置であるとしているが、ソフトウェア書込装置100f及びコンテンツ配信装置400fの両方の構成を含む1台の装置であるとしてもよい。
(2)変形例(5)では、ソフトウェア書込装置100fにメモリカード200fが装着されて暗号化ソフトウェアが記録され、この暗号化ソフトウェアが記録されたメモリカード200fが、販売店30を介して利用者に提供される構成であるとしているが、この構成に限定されない。
例えば、変形例(4)と同様に、ソフトウェア書込装置100fと情報処理装置300fとがインターネット20で接続され、メモリカード200fが情報処理装置300fに装着され、インターネット20を介して、暗号化ソフトウェアがメモリカード200fに送信、記録される構成としても良い。
(3)また、ソフトウェア管理情報が配布される手順と同様に、すなわち、ソフトウェア書込装置100fから、暗号化ソフトウェアが、コンテンツ配信装置400fに送信され、さらに、コンテンツ配信装置400fから、モバイルネットワーク21、携帯電話500fを介して、メモリカード200fに送信、記録される構成としても良い。
(4)また、ソフトウェア書込装置100f又はコンテンツ配信装置400fは、インターネットなどのネットワークを介して、情報処理装置300fに接続されているものとし、ソフトウェア書込装置100f又はコンテンツ配信装置400fから、暗号化ソフトウェアが、インターネットを介して、情報処理装置300fのソフトウェア格納部320に送信、記録される構成としても良い。
この暗号化ソフトウェアに対応するライセンス情報は、変形例(5)に示された手順により、即ち、コンテンツ配信装置400fから、ソフトウェア管理情報が、モバイルネットワーク21、携帯電話500fを介して、メモリカード200fに送信、記録されるものとする。そして、情報処理装置300fのソフトウェア格納部320に記録されている暗号化ソフトウェアの復号及び実行(又は再生)の動作については、上述した「メモリカード200fに記憶されている暗号化コンピュータプログラムの復号及び実行の動作、及びメモリカード200fに記憶されている暗号化コンテンツの復号及び再生の動作」において示す動作とほぼ同様である。相違点は、暗号化ソフトウェアが、メモリカード200fから読み出されるか、ソフトウェア格納部320から読み出されるかである。
(5)変形例(5)では、情報処理装置300fと携帯電話500fとは、異なる装置であるとしているが、携帯電話500fと情報処理装置300fとが一体の装置から構成されているとしてもよい。
(6)変形例(5)において、利用条件は、複数の条件の組み合わせとしても良い。例えば、利用条件は、「再生回数=5回」、かつ、「再生期間2004.1.1〜2004.1.31」と設定してもよい。この場合、判定部214は、再生回数が6回以上なら、又は、再生期間が過ぎれば、再生不可とする。
(7)変形例(5)では、利用条件として設定できるものをいくつか示したが、これらに限定されない。
例えば、利用条件は、最初に再生した日から何日間再生可能かを示す再生可能日数を含むとしてもよい。
また、利用条件は、最大再生累積時間を含むとしてもよい。最大再生累積時間は、コンテンツ等の再生に要する時間の累積である再生累積時間の最大値である。コンテンツ等の再生累積時間が、最大再生累積時間よりも小さいか又は等しい場合に、コンテンツ等の再生が許可され、コンテンツ等の再生累積時間が、最大再生累積時間より大きい場合に、コンテンツ等の再生が禁止される。
7.その他の変形例
なお、本発明を上記の実施の形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(2)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
8.発明の効果
以上説明したように、本発明は、記録媒体と情報処理装置とから構成されるソフトウェア管理システムである。
前記記録媒体は、コンピュータデータであるソフトウェアを記憶している通常記憶手段と、外部から直接アクセスできず、前記ソフトウェアの使用条件に係るライセンス情報を記憶しているセキュア記憶手段と、耐タンパ性を有し、前記セキュア記憶手段に記憶されているライセンス情報に基づいて、前記情報処理装置へのソフトウェアの導入又は導入されているソフトウェアの非活性化の可否を判断し、可と判断する場合に、前記情報処理装置に対して導入又は非活性化の許可を示す許可指示を出力し、導入又は非活性化に応じて前記セキュア記憶手段に記憶されているライセンス情報を書き換える耐タンパモジュール手段とを含む。
前記情報処理装置は、前記記録媒体から前記許可指示を取得する取得手段と、取得した前記許可指示に応じて、前記記録媒体から前記ソフトウェアを取得して内部に導入し、又は導入されている前記ソフトウェアを非活性化する制御手段とを含む。
これらの構成によると、外部から直接アクセスできないセキュア記憶手段にライセンス情報が記憶されているので、ライセンス情報の改竄が容易ではない。また、記録媒体から相手の情報処理装置へライセンス情報が伝送されないので、記録媒体から相手装置への通信路上においてライセンス情報が漏洩して改竄されることはない。さらに、ソフトウェアの使用条件に係るライセンス情報がセキュア記憶手段に記憶されているので、ライセンス情報とソフトウェアとの対応関係が不当に改竄されることはない。
ここで、前記記録媒体において、前記通常記憶手段は、コンピュータプログラム又はデジタルデータが、ソフトキーを用いて暗号化された前記ソフトウェアを記憶しており、前記セキュア記憶手段は、前記ソフトキーを含む前記ライセンス情報を記憶しており、前記耐タンパモジュール手段は、導入可と判断する場合に、前記セキュア記憶領域に記憶されているライセンス情報からソフトキーを抽出し、抽出した前記ソフトキーを含む前記許可指示をセキュアに出力する。
この構成によると、暗号化するために用いられるソフトキーを、耐タンパモジュール手段がセキュアに出力するので、ソフトキーが不当に改竄されることがない。
ここで、前記記録媒体において、前記セキュア記憶手段は、前記ソフトウェアの署名データを含む前記ライセンス情報を記憶しており、前記耐タンパモジュール手段は、導入を可と判断する場合に、前記セキュア記憶手段に記憶されているライセンス情報から前記署名データを抽出し、抽出した前記署名データを含む前記許可指示を出力する。
この構成によると、耐タンパモジュール手段がソフトウェアの署名データを出力するので、前記ソフトウェアの改竄が検出できる。
ここで、前記記録媒体において、前記セキュア記憶手段は、前記ソフトウェアの署名データを含む前記ライセンス情報を記憶しており、前記耐タンパモジュール手段は、導入を可と判断する場合に、前記セキュア記憶手段に記憶されているライセンス情報から前記署名データを抽出し、前記許可指示の出力に代えて、抽出した前記署名データを出力する。
この構成によると、ソフトウェアの署名データを含むライセンス情報がセキュア記憶手段に記憶されているので、ライセンス情報とソフトウェアとの対応関係が不当に改竄されることはない。
ここで、前記記録媒体において、前記セキュア記憶手段は、前記使用条件が所定のキー情報を用いて暗号化されて生成された前記ライセンス情報を記憶しており、前記耐タンパモジュール手段は、前記キー情報を記憶しており、前記キー情報を用いて、前記ライセンス情報を復号して前記使用条件を生成し、生成した使用条件に基づいて、判断する。
この構成によると、前記セキュア記憶手段は、前記使用条件が所定のキー情報を用いて暗号化されて生成された前記ライセンス情報を記憶しており、前記耐タンパモジュール手段は、記憶している前記キー情報を用いて、前記ライセンス情報を復号して前記使用条件を生成するので、正当なキー情報を記憶している前記耐タンパモジュール手段のみが前記ライセンス情報を使用することができる。
ここで、前記記録媒体において、前記セキュア記憶手段は、前記ライセンス情報に代えて、前記ライセンス情報の一部分を記憶しており、前記耐タンパモジュール手段は、さらに、前記ライセンス情報の他の部分を記憶しており、前記セキュア記憶手段に記憶されているライセンス情報の前記一部分を抽出し、抽出した前記一部分と記憶している前記他の部分とからライセンス情報を生成し、生成したライセンス情報に基づいて、判断する。
この構成によると、前記セキュア記憶手段は、ライセンス情報の一部分を記憶しており、前記耐タンパモジュール手段は、前記ライセンス情報の他の部分を記憶しており、これらから全体のライセンス情報を生成するので、ライセンス情報が改竄される可能性をさらに低減することができる。
ここで、前記記録媒体において、前記セキュア記憶手段が記憶しているライセンス情報は、前記ソフトウェアの使用許可回数であり、前記耐タンパモジュール手段は、前記使用許可回数が0より大きいか否かを判断することにより、前記導入の可否を判断し、0より大きいと判断する場合に、前記ソフトウェアの導入が許可されたとみなして、前記許可指示を出力し、前記使用許可回数から1減じて前記セキュア記憶手段に書き込む。
この構成によると、前記ライセンス情報は、前記ソフトウェアの使用許可回数であり、インストールの際に、前記耐タンパモジュール手段は、前記使用許可回数が0より大きいと判断する場合に、前記使用許可回数から1を減じて前記セキュア記憶手段に書き込むので、前記ソフトウェアの使用回数を確実に管理することができる。
ここで、前記記録媒体において、前記セキュア記憶手段が記憶しているライセンス情報は、前記ソフトウェアの使用許可回数であり、前記耐タンパモジュール手段は、前記ソフトウエアの非活性化が許可された場合に、前記許可指示を出力し、さらに、前記使用許可回数を1加算して前記セキュア記憶手段に書き込む。
この構成によると、前記ライセンス情報は、前記ソフトウェアの使用許可回数であり、アンインストールの際に、前記使用許可回数に1を加算して前記セキュア記憶手段に書き込むので、前記ソフトウェアの使用回数を確実に管理することができる。
ここで、前記情報処理装置において、前記記録媒体の前記セキュア記憶手段は、前記ソフトウェアの署名データを含む前記ライセンス情報を記憶しており、前記耐タンパモジュール手段は、導入を可と判断する場合に、前記セキュア記憶手段に記憶されているライセンス情報から前記署名データを抽出し、前記許可指示の出力に代えて、抽出した前記署名データを出力し、前記取得手段は、前記署名データを取得し、前記制御手段は、取得した前記署名データを用いて、取得した前記ソフトウェアの検証を行い、検証が成功した場合に、取得した前記ソフトウェアを内部に導入する。
この構成によると、前記記録媒体から取得した前記署名データを用いて、取得した前記ソフトウェアの検証を行い、検証が成功した場合に、取得した前記ソフトウェアを内部に記憶するので、正当なソフトウェアのみを取得して内部に記憶することができる。
映画や音楽などの著作物がデジタル化されたコンテンツやコンピュータプログラムなどのソフトウェアを提供するソフトウェア産業において、本発明は、経営的に、また反覆的、継続的に使用することができる。また、本発明のソフトウェア書込装置、情報処理装置、サーバ装置、メモリカードは、電器製品等の製造産業において、生産し、販売することができる。
図1は、ソフトウェア管理システム10の構成を示す。 図2は、ソフトウェア書込装置100及びメモリカード200の構成を示すブロック図である。 図3は、メモリカード200及び情報処理装置300の構成を示すブロック図である。 図4は、ソフトウェア管理情報テーブル231のデータ構造の一例を示す。 図5は、ソフトウェア管理システム10の動作を示すフローチャートである。特に、メモリカード200から情報処理装置300へソフトウェアがインストールされる場合、又はアンインストールされる場合の動作を示している。図6へ続く。 図6は、ソフトウェア管理システム10の動作を示すフローチャートである。特に、メモリカード200から情報処理装置300へソフトウェアがインストールされる場合、又はアンインストールされる場合の動作を示している。図7へ続く。 図7は、ソフトウェア管理システム10の動作を示すフローチャートである。特に、メモリカード200から情報処理装置300へソフトウェアがインストールされる場合、又はアンインストールされる場合の動作を示している。図8へ続く。 図8は、ソフトウェア管理システム10の動作を示すフローチャートである。特に、メモリカード200から情報処理装置300へソフトウェアがインストールされる場合、又はアンインストールされる場合の動作を示している。図7から続く。 図9は、判定部214における詳細の動作を示すフローチャートである。 図10は、変形例としてのソフトウェア管理システム10bを構成するソフトウェア書込装置100b及びメモリカード200bの構成を示すブロック図である。 図11は、ソフトウェア管理情報のデータ構造の一例を示す。 図12は、ソフトウェア管理システム10bを構成するメモリカード200b及び情報処理装置300bの構成を示すブロック図である。 図13は、別の変形例としてのソフトウェア管理システム10cを構成するメモリカード200c及び情報処理装置300cの構成を示すブロック図である。 図14は、別の変形例としてのソフトウェア管理システム10dを構成するメモリカード200d及び情報処理装置300dの構成を示すブロック図である。 図15は、部分ソフトウェア管理テーブル219及びソフトウェア管理情報テーブル231の一例としてのデータ構造を示す。 図16は、ソフトウェア管理システム10eの構成を示す。 図17は、別の変形例としてのソフトウェア管理システム10eを構成するメモリカード200及びソフトウェア書込装置100eの構成を示すブロック図である。 図18は、別の変形例としてのソフトウェア管理システム10eを構成するメモリカード200及び情報処理装置300eの構成を示すブロック図である。 図19は、ソフトウェア書込装置100eによるソフトウェア管理情報のメモリカード200への書込みの動作を示すフローチャートである。 図20は、ソフトウェア書込装置100eによる暗号化ソフトウェアの送信の動作を示すフローチャートである。 図21は、ソフトウェア管理システム10fの構成を示す。 図22は、別の変形例としてのソフトウェア管理システム10fを構成するメモリカード200f及びソフトウェア書込装置100fの構成を示すブロック図である。 図23は、情報記憶部113に記憶されている情報の一例を示す。 図24は、ソフトウェア管理テーブル121fの一例を示す。 図25は、別の変形例としてのソフトウェア管理システム10fを構成するメモリカード200f及びコンテンツ配信装置400fの構成を示すブロック図である。 図26は、ソフトウェア管理情報テーブル231の一例を示す。 図27は、別の変形例としてのソフトウェア管理システム10fを構成するメモリカード200f及び情報処理装置300fの構成を示すブロック図である。 図28は、ソフトウェア保持情報テーブル331の一例を示す。 図29は、表示部322により表示されるソフト一覧を含む画面の一例を示す。 図30は、ソフトウェア書込装置100fからコンテンツ配信装置400fへのソフトウェア管理テーブルの送信の際の動作を示すフローチャートである。 図31は、ソフトウェア書込装置100fによる暗号化ソフトウェアのメモリカード200fへの書込みの動作を示すフローチャートである。 図32は、携帯電話500fによりコンテンツ配信装置400fからライセンス情報を含むソフトウェア管理情報を取得してメモリカード200fに書き込む際の動作を示すフローチャートである。図33へ続く。 図33は、携帯電話500fによりコンテンツ配信装置400fからライセンス情報を含むソフトウェア管理情報を取得してメモリカード200fに書き込む際の動作を示すフローチャートである。図32から続く。 図34は、情報処理装置300fによるソフトウェアのインストール、アンインストール、複製、削除、再生の動作を示すフローチャートである。図35へ続く。 図35は、情報処理装置300fによるソフトウェアのインストール、アンインストール、複製、削除、再生の動作を示すフローチャートである。図36へ続く。 図36は、情報処理装置300fによるソフトウェアのインストール、アンインストール、複製、削除、再生の動作を示すフローチャートである。図37へ続く。 図37は、情報処理装置300fによるソフトウェアのインストール、アンインストール、複製、削除、再生の動作を示すフローチャートである。図38へ続く。 図38は、情報処理装置300fによるソフトウェアのインストール、アンインストール、複製、削除、再生の動作を示すフローチャートである。図39へ続く。 図39は、情報処理装置300fによるソフトウェアのインストール、アンインストール、複製、削除、再生の動作を示すフローチャートである。図40へ続く。 図40は、情報処理装置300fによるソフトウェアのインストール、アンインストール、複製、削除、再生の動作を示すフローチャートである。図41へ続く。 図41は、情報処理装置300fによるソフトウェアのインストール、アンインストール、複製、削除、再生の動作を示すフローチャートである。図42へ続く。 図42は、情報処理装置300fによるソフトウェアのインストール、アンインストール、複製、削除、再生の動作を示すフローチャートである。図41から続く。
符号の説明
10、10b〜10f ソフトウェア管理システム
100、100b〜100f ソフトウェア書込装置
200、200b〜200d、200f メモリカード
300、300b〜300f 情報処理装置
400f コンテンツ配信装置
500f 携帯電話

Claims (23)

  1. 記録媒体と情報処理装置とから構成されるソフトウェア管理システムであって、
    前記記録媒体は、
    コンピュータデータであるソフトウェアを記憶している通常記憶手段と、
    外部から直接アクセスできず、前記ソフトウェアの使用条件に係るライセンス情報を記憶しているセキュア記憶手段と、
    耐タンパ性を有し、前記セキュア記憶手段に記憶されているライセンス情報に基づいて、前記情報処理装置へのソフトウェアの導入又は導入されているソフトウェアの非活性化の可否を判断し、可と判断する場合に、前記情報処理装置に対して導入又は非活性化の許可を示す許可指示を出力し、導入又は非活性化に応じて前記セキュア記憶手段に記憶されているライセンス情報を書き換える耐タンパモジュール手段とを含み、
    前記情報処理装置は、
    前記記録媒体から前記許可指示を取得する取得手段と、
    取得した前記許可指示に応じて、前記記録媒体から前記ソフトウェアを取得して内部に導入し、又は導入されている前記ソフトウェアを非活性化する制御手段とを含む
    ことを特徴とするソフトウェア管理システム。
  2. 前記ソフトウェア管理システムは、さらに、ソフトウェア書込装置を含み、
    前記ソフトウェア書込装置は、
    コンピュータデータであるソフトウェアと、前記ソフトウェアの使用条件に係るライセンス情報とを記憶している情報記憶手段と、
    前記情報記憶手段から前記ソフトウェア及び前記ライセンス情報を読み出す読出手段と、
    読み出した前記ソフトウェア及び前記ライセンス情報を出力する出力手段とを含み、
    前記記録媒体は、さらに、
    前記ソフトウェア及び前記ライセンス情報を取得する取得手段と、
    取得した前記ソフトウェアを前記通常記憶手段に書き込み、取得した前記ライセンス情報を前記セキュア記憶手段に書き込む書込手段とを含む
    ことを特徴とする請求項1に記載のソフトウェア管理システム。
  3. 前記ソフトウェア管理システムにおいて、
    前記ソフトウェア書込装置及び前記情報処理装置は、ネットワークを介して、相互に接続されており、
    前記ソフトウェア書込装置の前記出力手段は、ネットワークを介して、安全に前記ソフトウェアを出力し、
    前記情報処理装置は、さらに、
    ネットワークを介して、安全に前記ソフトウェアを取得する取得手段と、
    取得した前記ソフトウェアを前記記録媒体へ出力する出力手段とを含み、
    前記記録媒体の取得手段は、前記情報処理装置から前記ソフトウェアを取得する
    ことを特徴とする請求項2に記載のソフトウェア管理システム。
  4. 前記ソフトウェア管理システムは、さらに、配信装置を含み、
    前記ソフトウェア書込装置、前記情報処理装置及び前記配信装置は、ネットワークを介して、相互に接続されており、
    前記ソフトウェア書込装置の前記出力手段は、ネットワークを介して、安全に前記ライセンス情報を出力し、
    前記情報処理装置は、さらに、
    ネットワークを介して、安全に前記ライセンス情報を取得する取得手段と、
    取得した前記ライセンス情報を前記記録媒体へ出力する出力手段とを含み、
    前記記録媒体の取得手段は、前記ソフトウェア書込装置から前記ソフトウェアを取得する
    ことを特徴とする請求項2に記載のソフトウェア管理システム。
  5. 記録媒体であって、
    コンピュータデータであるソフトウェアを記憶している通常記憶手段と、
    外部から直接アクセスできず、前記ソフトウェアの使用条件に係るライセンス情報を記憶しているセキュア記憶手段と、
    耐タンパ性を有し、前記セキュア記憶手段に記憶されているライセンス情報に基づいて、情報処理装置へのソフトウェアの導入又は導入されているソフトウェアの非活性化の可否を判断し、可と判断する場合に、前記情報処理装置に対して導入又は非活性化の許可を示す許可指示を出力し、導入又は非活性化に応じて前記セキュア記憶手段に記憶されているライセンス情報を書き換える耐タンパモジュール手段と
    を備えることを特徴とする記録媒体。
  6. 前記記録媒体において、
    前記通常記憶手段は、コンピュータプログラム又はデジタルデータである前記ソフトウェアを記憶しており、
    前記セキュア記憶手段は、前記コンピュータプログラム又はデジタルデータの使用条件に係る前記ランセンス情報を記憶しており、
    前記耐タンパモジュール手段は、前記情報処理装置への前記コンピュータプログラムのインストール又はアンインストール、又はデジタルデータの複製又は削除の可否を判断する
    ことを特徴とする請求項5に記載の記録媒体。
  7. 前記記録媒体において、
    前記通常記憶手段は、コンピュータプログラム又はデジタルデータが、ソフトキーを用いて暗号化された前記ソフトウェアを記憶しており、
    前記セキュア記憶手段は、前記ソフトキーを含む前記ライセンス情報を記憶しており、
    前記耐タンパモジュール手段は、導入可と判断する場合に、前記セキュア記憶領域に記憶されているライセンス情報からソフトキーを抽出し、抽出した前記ソフトキーを含む前記許可指示をセキュアに出力する
    ことを特徴とする請求項5に記載の記録媒体。
  8. 前記記録媒体において、
    前記セキュア記憶手段は、前記ソフトウェアの署名データを含む前記ライセンス情報を記憶しており、
    前記耐タンパモジュール手段は、導入を可と判断する場合に、前記セキュア記憶手段に記憶されているライセンス情報から前記署名データを抽出し、抽出した前記署名データを含む前記許可指示を出力する
    ことを特徴とする請求項5に記載の記録媒体。
  9. 前記記録媒体において、
    前記セキュア記憶手段は、前記ソフトウェアの署名データを含む前記ライセンス情報を記憶しており、
    前記耐タンパモジュール手段は、導入を可と判断する場合に、前記セキュア記憶手段に記憶されているライセンス情報から前記署名データを抽出し、前記許可指示の出力に代えて、抽出した前記署名データを出力する
    ことを特徴とする請求項5に記載の記録媒体。
  10. 前記記録媒体において、
    前記セキュア記憶手段は、前記使用条件が所定のキー情報を用いて暗号化されて生成された前記ライセンス情報を記憶しており、
    前記耐タンパモジュール手段は、前記キー情報を記憶しており、前記キー情報を用いて、前記ライセンス情報を復号して前記使用条件を生成し、生成した使用条件に基づいて、判断する
    ことを特徴とする請求項5に記載の記録媒体。
  11. 前記記録媒体において、
    前記セキュア記憶手段は、前記ライセンス情報に代えて、前記ライセンス情報の一部分を記憶しており、
    前記耐タンパモジュール手段は、さらに、前記ライセンス情報の他の部分を記憶しており、前記セキュア記憶手段に記憶されているライセンス情報の前記一部分を抽出し、抽出した前記一部分と記憶している前記他の部分とからライセンス情報を生成し、生成したライセンス情報に基づいて、判断する
    ことを特徴とする請求項5に記載の記録媒体。
  12. 前記記録媒体において、
    前記セキュア記憶手段が記憶しているライセンス情報は、前記ソフトウェアの使用許可回数であり、
    前記耐タンパモジュール手段は、前記使用許可回数が0より大きいか否かを判断することにより、前記導入の可否を判断し、0より大きいと判断する場合に、前記ソフトウェアの導入が許可されたとみなして、前記許可指示を出力し、前記使用許可回数から1減じて前記セキュア記憶手段に書き込む
    ことを特徴とする請求項5に記載の記録媒体。
  13. 前記記録媒体において、
    前記セキュア記憶手段が記憶しているライセンス情報は、前記ソフトウェアの使用許可回数であり、
    前記耐タンパモジュール手段は、前記ソフトウエアの非活性化が許可された場合に、前記許可指示を出力し、さらに、前記使用許可回数を1加算して前記セキュア記憶手段に書き込む
    ことを特徴とする請求項5に記載の記録媒体。
  14. 前記記録媒体において、
    前記セキュア記憶手段が記憶しているライセンス情報は、前記ソフトウェアの使用許可期間であり、
    前記耐タンパモジュール手段は、現在日時が前記使用許可期間内であるか否かを判断することにより、前記導入の可否を判断し、前記使用許可期間内であると判断する場合に、前記ソフトウェアの導入が許可されたとみなして、前記許可指示を出力する
    ことを特徴とする請求項5に記載の記録媒体。
  15. ソフトウェアを導入し、又は非活性化する情報処理装置であって、
    記録媒体は、
    コンピュータデータであるソフトウェアを記憶している通常記憶手段と、
    外部から直接アクセスできず、前記ソフトウェアの使用条件に係るライセンス情報を記憶しているセキュア記憶手段と、
    耐タンパ性を有し、前記セキュア記憶手段に記憶されているライセンス情報に基づいて、前記情報処理装置へのソフトウェアの導入又は導入されているソフトウェアの非活性化の可否を判断し、可と判断する場合に、前記情報処理装置に対して導入又は非活性化の許可を示す許可指示を出力し、導入又は非活性化に応じて前記セキュア記憶手段に記憶されているライセンス情報を書き換える耐タンパモジュール手段とを含み、
    前記情報処理装置は、
    前記記録媒体から前記許可指示を取得する取得手段と、
    取得した前記許可指示に応じて、前記記録媒体から前記ソフトウェアを取得して内部に導入し、又は導入されている前記ソフトウェアを非活性化する制御手段とを含む
    ことを特徴とする情報処理装置。
  16. 前記情報処理装置において、
    前記記録媒体の前記セキュア記憶手段は、前記ソフトウェアの署名データを含む前記ライセンス情報を記憶しており、
    前記耐タンパモジュール手段は、導入を可と判断する場合に、前記セキュア記憶手段に記憶されているライセンス情報から前記署名データを抽出し、抽出した前記署名データを含む前記許可指示を出力し、
    前記取得手段は、前記署名データを含む前記許可指示を取得し、
    前記制御手段は、取得した許可指示に含まれる前記署名データ及び取得した前記ソフトウェアを用いて、取得した前記ソフトウェアの正当性の検証を行い、又は取得した前記署名データ及び導入されている前記ソフトウェアを用いて、前記ソフトウェアの正当性の検証を行い、検証が成功した場合に、取得した前記許可指示に応じて、取得した前記ソフトウェアを導入し、又は導入されている前記ソフトウェアを非活性化する
    ことを特徴とする請求項15に記載の情報処理装置。
  17. 前記情報処理装置において、
    前記記録媒体の前記セキュア記憶手段は、前記ソフトウェアの署名データを含む前記ライセンス情報を記憶しており、
    前記耐タンパモジュール手段は、導入を可と判断する場合に、前記セキュア記憶手段に記憶されているライセンス情報から前記署名データを抽出し、前記許可指示の出力に代えて、抽出した前記署名データを出力し、
    前記取得手段は、前記署名データを取得し、
    前記制御手段は、取得した前記署名データを用いて、取得した前記ソフトウェアの検証を行い、検証が成功した場合に、取得した前記ソフトウェアを内部に導入する
    ことを特徴とする請求項15に記載の情報処理装置。
  18. 記録媒体で用いられる制御方法であって、
    前記記録媒体は、
    コンピュータデータであるソフトウェアを記憶している通常記憶手段と、
    外部から直接アクセスできず、前記ソフトウェアの使用条件に係るライセンス情報を記憶しているセキュア記憶手段と、
    耐タンパ性を有する耐タンパモジュール手段とを含み、
    前記制御方法は、
    前記セキュア記憶手段に記憶されているライセンス情報に基づいて、情報処理装置へのソフトウェアの導入又は導入されているソフトウェアの非活性化の可否を判断する判断ステップと、
    可と判断する場合に、前記情報処理装置に対して導入又は非活性化の許可を示す許可指示を出力する出力ステップと、
    導入又は非活性化に応じて前記セキュア記憶手段に記憶されているライセンス情報を書き換える書換ステップと
    を含むことを特徴とする制御方法。
  19. 記録媒体で用いられる制御用のコンピュータプログラムであって、
    前記記録媒体は、
    コンピュータデータであるソフトウェアを記憶している通常記憶手段と、
    外部から直接アクセスできず、前記ソフトウェアの使用条件に係るライセンス情報を記憶しているセキュア記憶手段と、
    耐タンパ性を有する耐タンパモジュール手段とを含み、
    前記制御用のコンピュータプログラムは、
    前記セキュア記憶手段に記憶されているライセンス情報に基づいて、情報処理装置へのソフトウェアの導入又は導入されているソフトウェアの非活性化の可否を判断する判断ステップと、
    可と判断する場合に、前記情報処理装置に対して導入又は非活性化の許可を示す許可指示を出力する出力ステップと、
    導入又は非活性化に応じて前記セキュア記憶手段に記憶されているライセンス情報を書き換える書換ステップと
    を含むことを特徴とするコンピュータプログラム。
  20. 前記コンピュータプログラムは、
    コンピュータ読み取り可能なプログラム記録媒体に記録されている
    ことを特徴とする請求項19に記載のコンピュータプログラム。
  21. ソフトウェアを導入し、又は非活性化する情報処理装置で用いられるソフトウェア管理方法であって、
    記録媒体は、
    コンピュータデータであるソフトウェアを記憶している通常記憶手段と、
    外部から直接アクセスできず、前記ソフトウェアの使用条件に係るライセンス情報を記憶しているセキュア記憶手段と、
    耐タンパ性を有し、前記セキュア記憶手段に記憶されているライセンス情報に基づいて、前記情報処理装置へのソフトウェアの導入又は導入されているソフトウェアの非活性化の可否を判断し、可と判断する場合に、前記情報処理装置に対して導入又は非活性化の許可を示す許可指示を出力し、導入又は非活性化に応じて前記セキュア記憶手段に記憶されているライセンス情報を書き換える耐タンパモジュール手段とを含み、
    前記ソフトウェア管理方法は、
    前記記録媒体から前記許可指示を取得する取得ステップと、
    取得した前記許可指示に応じて、前記記録媒体から前記ソフトウェアを取得して内部に導入し、又は導入されている前記ソフトウェアを非活性化する制御ステップと
    を含むことを特徴とするソフトウェア管理方法。
  22. ソフトウェアを導入し、又は非活性化する情報処理装置で用いられるソフトウェア管理用のコンピュータプログラムであって、
    記録媒体は、
    コンピュータデータであるソフトウェアを記憶している通常記憶手段と、
    外部から直接アクセスできず、前記ソフトウェアの使用条件に係るライセンス情報を記憶しているセキュア記憶手段と、
    耐タンパ性を有し、前記セキュア記憶手段に記憶されているライセンス情報に基づいて、前記情報処理装置へのソフトウェアの導入又は導入されているソフトウェアの非活性化の可否を判断し、可と判断する場合に、前記情報処理装置に対して導入又は非活性化の許可を示す許可指示を出力し、導入又は非活性化に応じて前記セキュア記憶手段に記憶されているライセンス情報を書き換える耐タンパモジュール手段とを含み、
    前記ソフトウェア管理用のコンピュータプログラムは、
    前記記録媒体から前記許可指示を取得する取得ステップと、
    取得した前記許可指示に応じて、前記記録媒体から前記ソフトウェアを取得して内部に導入し、又は導入されている前記ソフトウェアを非活性化する制御ステップと
    を含むことを特徴とするコンピュータプログラム。
  23. 前記ソフトウェア管理用のコンピュータプログラムは、コンピュータ読み取り可能なプログラム記録媒体に記録されている
    ことを特徴とする請求項22に記載のコンピュータプログラム。
JP2004041297A 2003-02-21 2004-02-18 ソフトウェア管理システム、記録媒体及び情報処理装置 Withdrawn JP2004272893A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004041297A JP2004272893A (ja) 2003-02-21 2004-02-18 ソフトウェア管理システム、記録媒体及び情報処理装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003045107 2003-02-21
JP2004041297A JP2004272893A (ja) 2003-02-21 2004-02-18 ソフトウェア管理システム、記録媒体及び情報処理装置

Publications (1)

Publication Number Publication Date
JP2004272893A true JP2004272893A (ja) 2004-09-30

Family

ID=33134253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004041297A Withdrawn JP2004272893A (ja) 2003-02-21 2004-02-18 ソフトウェア管理システム、記録媒体及び情報処理装置

Country Status (1)

Country Link
JP (1) JP2004272893A (ja)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008159053A (ja) * 2006-12-20 2008-07-10 Thomson Licensing セキュアソフトウェアインストールのための方法及び装置
WO2008099909A1 (ja) * 2007-02-16 2008-08-21 Hitachi, Ltd. Icタグシステム
JP2008293593A (ja) * 2007-05-24 2008-12-04 Nippon Telegr & Teleph Corp <Ntt> 可搬記録媒体および情報処理システム
JP2009259237A (ja) * 2008-03-27 2009-11-05 Giken Shoji International Co Ltd ライセンス外部メモリ
WO2010035449A1 (ja) * 2008-09-24 2010-04-01 パナソニック株式会社 記録再生システム、記録媒体装置及び記録再生装置
JP2010097428A (ja) * 2008-10-16 2010-04-30 Hitachi Ltd ソフトウェアのインストール方法
JP2010257302A (ja) * 2009-04-27 2010-11-11 Toppan Printing Co Ltd セキュア媒体
JP2012078979A (ja) * 2010-09-30 2012-04-19 Hitachi Solutions Ltd 情報漏洩防止プログラムのアンインストール実行可否制御方法および情報漏洩防止システム
JP2013214287A (ja) * 2012-03-09 2013-10-17 Panasonic Corp 記憶装置、ホスト装置、記憶システム
JP2014235326A (ja) * 2013-06-03 2014-12-15 富士通セミコンダクター株式会社 システム、情報処理装置、セキュアモジュール、および検証方法
CN112307441A (zh) * 2020-10-13 2021-02-02 洛阳理工学院 一种计算机软件保护系统

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008159053A (ja) * 2006-12-20 2008-07-10 Thomson Licensing セキュアソフトウェアインストールのための方法及び装置
WO2008099909A1 (ja) * 2007-02-16 2008-08-21 Hitachi, Ltd. Icタグシステム
JP2008205565A (ja) * 2007-02-16 2008-09-04 Hitachi Ltd Icタグシステム
JP2008293593A (ja) * 2007-05-24 2008-12-04 Nippon Telegr & Teleph Corp <Ntt> 可搬記録媒体および情報処理システム
JP4694532B2 (ja) * 2007-05-24 2011-06-08 日本電信電話株式会社 情報処理システム
JP4585594B2 (ja) * 2008-03-27 2010-11-24 技研商事インターナショナル株式会社 ライセンス外部メモリ
JP2011003210A (ja) * 2008-03-27 2011-01-06 Giken Shoji International Co Ltd ライセンス外部メモリ
JP2009259237A (ja) * 2008-03-27 2009-11-05 Giken Shoji International Co Ltd ライセンス外部メモリ
CN101874248A (zh) * 2008-09-24 2010-10-27 松下电器产业株式会社 记录再现系统、记录媒体装置及记录再现装置
WO2010035449A1 (ja) * 2008-09-24 2010-04-01 パナソニック株式会社 記録再生システム、記録媒体装置及び記録再生装置
JP5406199B2 (ja) * 2008-09-24 2014-02-05 パナソニック株式会社 記録再生システム、記録媒体装置及び記録再生装置
KR101574618B1 (ko) 2008-09-24 2015-12-04 파나소닉 주식회사 기록재생시스템, 기록매체장치 및 기록재생장치
US9183357B2 (en) 2008-09-24 2015-11-10 Panasonic Intellectual Property Management Co., Ltd. Recording/reproducing system, recording medium device, and recording/reproducing device
JP2010097428A (ja) * 2008-10-16 2010-04-30 Hitachi Ltd ソフトウェアのインストール方法
JP2010257302A (ja) * 2009-04-27 2010-11-11 Toppan Printing Co Ltd セキュア媒体
JP2012078979A (ja) * 2010-09-30 2012-04-19 Hitachi Solutions Ltd 情報漏洩防止プログラムのアンインストール実行可否制御方法および情報漏洩防止システム
JP2013214287A (ja) * 2012-03-09 2013-10-17 Panasonic Corp 記憶装置、ホスト装置、記憶システム
JP2014235326A (ja) * 2013-06-03 2014-12-15 富士通セミコンダクター株式会社 システム、情報処理装置、セキュアモジュール、および検証方法
CN112307441A (zh) * 2020-10-13 2021-02-02 洛阳理工学院 一种计算机软件保护系统

Similar Documents

Publication Publication Date Title
KR20050111326A (ko) 소프트웨어 관리 시스템, 기록 매체, 및 정보-처리 장치
JP4798935B2 (ja) 長期にリニューアル可能なセキュリティを提供するコンテンツセキュリティ方法、その装置およびコンピュータ読取可能記憶媒体
JP4906854B2 (ja) 情報処理装置、情報記録装置、情報処理システム、プログラムアップデート方法、プログラムおよび集積回路
KR101219819B1 (ko) 디지털 어플리케이션을 라이센싱하기 위한 유연한 라이센싱 아키텍처
JP4680564B2 (ja) 携帯用メディア上のコンテンツの暗号化およびデータ保護
US8065521B2 (en) Secure processor architecture for use with a digital rights management (DRM) system on a computing device
JP4750038B2 (ja) 物理媒体上のマルチディアコンテンツを配信して再生するシステム、方法、およびサービス
JP4615832B2 (ja) 対話式認証なしのデバイス上のコンテンツに関するデジタル権利管理(drm)暗号化およびデータ保護方法
US20050120232A1 (en) Data terminal managing ciphered content data and license acquired by software
KR20040030454A (ko) 콘텐츠 이용권한 관리시스템, 콘텐츠 이용권한 관리방법및 정보처리장치와 컴퓨터 프로그램
JP2004048749A (ja) 対話式認証なしのデバイス上のコンテンツに関するデジタル権利管理(drm)暗号化およびデータ保護方法
JP2004532495A5 (ja)
JP2006504176A (ja) コンテンツ操作を許可する方法及び装置
JP2004520755A (ja) デジタルコンテンツの保護及び管理のための方法並びにこれを利用したシステム
JP2014179075A (ja) アプリケーションおよびメディアコンテンツ保護配布のための方法および装置
JP2000138664A (ja) 公開キ―暗号方式を利用したコンテンツの保護方法
EP2051181A1 (en) Information terminal, security device, data protection method, and data protection program
JP2002319230A (ja) 記録媒体、情報処理装置、コンテンツ配信サーバ、方法、プログラム、その記録媒体
JP4389129B2 (ja) 情報送信システム、情報送信装置、情報受信装置、情報送信方法
JP2012008756A (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2012008757A (ja) 情報処理装置、および情報処理方法、並びにプログラム
JP2004272893A (ja) ソフトウェア管理システム、記録媒体及び情報処理装置
JP4713579B2 (ja) アプリケーションプログラム
JP2001067324A (ja) 情報送信システム、情報送信装置及び情報受信装置
JP5552917B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080319