JP2004240719A - Software execution control method - Google Patents
Software execution control method Download PDFInfo
- Publication number
- JP2004240719A JP2004240719A JP2003029218A JP2003029218A JP2004240719A JP 2004240719 A JP2004240719 A JP 2004240719A JP 2003029218 A JP2003029218 A JP 2003029218A JP 2003029218 A JP2003029218 A JP 2003029218A JP 2004240719 A JP2004240719 A JP 2004240719A
- Authority
- JP
- Japan
- Prior art keywords
- information
- software
- area
- recording medium
- hash
- 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.)
- Pending
Links
Images
Abstract
Description
【0001】
【説明の属する技術分野】
本発明は、デジタルデータを記録するための半導体メモリカード及びその読み出し装置に関し、特にデジタルデータがソフトウェアである場合のソフトウェア実行制御方法に関する。
【0002】
【従来の技術】
デジタルデータであるソフトウェアはデータの欠損なしに無制限にコピー可能であり、近年のネットワーク環境の発達により、正規の所有権を保有しないユーザがネットワーク環境を利用して不正に入手することも可能となっている。これらのソフトウェアは、一般的に、インストール時に正規の所有者のみがソフトウェアベンダーから取得しているID情報を入力することによってインストールが可能となる仕組みで構成されている。しかし、これらのID情報がソフトウェアのコピーと共に漏洩した場合、正規の所有権を保有しないユーザであってもソフトウェアをインストールすることが可能となる。
【0003】
ソフトウェアの実行を制御する方法として、ソフトウェアの実行を行うユーザはユーザ固有情報として認証鍵を内蔵したハードウェアを保有し、ユーザがソフトウェアを起動しソフトウェア内に組み込まれているアクセス認証ルーチンに及ぶと、パラレルポートやUSBポートに前もって接続されている認証鍵を内蔵したハードウェアと通信を行い、正しい認証鍵の存在が確認されると次のステップへ実行を移し、正しい認証鍵の存在が確認されない場合には、ソフトウェアは自らを停止し以降の実行が行われないようにする方法がある。この方法によると正規の認証鍵を内蔵したハードウェアを所有したユーザ以外には、ソフトウェアを実行させることができなくなることが可能となる。
【0004】
しかし、このような方法ではソフトウェア内に当該ハードウェアと認証を行うためのモジュールが必要となる。そのため、専用のソフトウェアでモジュールを組み込んでおくなどの処理が必要となる。
【0005】
また、ソフトウェア自身全体を専用の鍵で暗号化しておき、実行時には鍵を使用して復号化を行い、ソフトウェアを実行する方法もある。例えば特許文献1では、記録媒体に格納してあるソフトウェアに対してソフトウェア鍵を使用して暗号化しておき、実行する際には該当鍵として復号化する方法について書かれている。ここでは、ソフトウェアを暗号化する鍵に対して乱数を用いて暗号化しておき、記録媒体が接続されるホスト側では、同じ乱数を使用して復号化している。
【0006】
一方では、半導体メモリカードに著作件保護機能を有し、デジタルコンテンツを暗号化して保持する方法もある。例えば特許文献2では、半導体メモリカードに著作権保護機能を有し、電子機器と半導体メモリカードで認証を行い、認証が成功した場合には、デジタルコンテンツを暗号化している鍵を取得することが可能となる方法となることが記述されている。
【0007】
【特許文献1】
特開平9−185501号公報
【特許文献2】
特開2001−14441号公報
【0008】
【発明が解決しようとする課題】
近年、小型の電子機器であるPDAなどのモバイル機器が多く普及しているものの、一般的に、それら携帯電子機器は内部データ容量が比較的少ない。一方で、ソフトウェアのデータ容量はより大きくなってきているため、電子機器にインストールされるソフトウェアの数や量は制限されてしまっている。このため、情報記録媒体にソフトウェアをインストールしておき、そのような携帯電子機器に情報記録媒体を装着して格納してあるソフトウェアを使用することが想定できる。この場合、さらにソフトウェアの不正コピーを防ぐため、ソフトウェアを暗号化して情報記録媒体内に格納し、実行時には復号化して使用することも想定できるが、小型の電子機器の処理能力はパソコンなどに比べて一般的に低いため、格納されたソフトウェアが高速に処理されることは困難である。しかし、そのような場合に好都合となる具体的なソフトウェア実行制御方法について、前述の特許文献1、特許文献2では開示されていない。
【0009】
本発明は、かかる課題を鑑みてなされたもので、情報記録媒体に暗号化されたソフトウェアと、暗号化に使用する鍵を保持しておき、PDAなどの携帯電子機器に情報記録媒体が装着されると保持されているソフトウェアを高速に実行することを可能とする情報記録媒体内に格納されるソフトウェアの実行制御方法に関する。
【0010】
【課題を解決するための手段】
上記目的を達成するための発明のうち、請求項1の発明は半導体メモリなどの不揮発性メモリで構成される情報記録媒体と、ハードウェアまたはソフトウェアで実装されるソフトウェア実行制御部から構成されるソフトウェア実行制御方法であって、前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、前記非秘匿領域に格納されている前記ソフトウェアを入力値として所謂一方向関数であるハッシュ関数によって得られるハッシュ値に関する情報であるハッシュ情報とを備え、前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、前記ソフトウェア実行制御部は前記情報記録媒体と特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェア実行を制御する機能を有することを特徴とする。
【0011】
請求項2の発明は、請求項1に記載のソフトウェア実行制御方法に加え、前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報は前記非秘匿領域に格納されている前記ソフトウェアを暗号化するための鍵の情報を含んでおり、前記情報記録媒体の前記秘匿領域に格納されている前記ハッシュ情報は、前記鍵によって暗号化された前記非秘匿領域に格納されている前記ソフトウェアが暗号化されたデータを入力値として所謂一方向関数であるハッシュ関数に使用することによって得られるハッシュ値を含む構成であることを特徴とする。
【0012】
請求項3の発明は、請求項1に記載のソフトウェア実行制御方法に加え、前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報は前記非秘匿領域に格納されている前記ソフトウェアを暗号化するための鍵の情報を含んでおり、前記情報記録媒体の前記秘匿領域に格納されている前記ハッシュ情報は、前記鍵によって暗号化される以前のデータを入力値として所謂一方向関数であるハッシュ関数に使用することによって得られるハッシュ値を含む構成であることを特徴とする。
【0013】
請求項4の発明は、請求項1に記載のソフトウェア実行制御方法に加え、前記情報記録媒体の前記秘匿領域に格納されているハッシュ情報は、前記ソフトウェアファイル内の暗号化された後または暗号化される前の一部の領域のデータを、所謂一方向関数であるハッシュ関数への入力値として使用することを特徴とする。
【0014】
請求項5の発明は、半導体メモリなどの不揮発性メモリで構成される情報記録媒体と、ハードウェアまたはソフトウェアで実装されるソフトウェア実行制御部から構成されるソフトウェア実行制御方法であって、前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、前記非秘匿領域に格納されている前記ソフトウェアが暗号化された後または暗号化される前のデータを、所謂一方向関数であるハッシュ関数への入力値として使用する場合、前記ソフトウェアのハッシュ関数への入力値として使用される一部の領域が複数の領域から構成されるデータを用いて得られる、前記ソフトウェアに対して唯一のハッシュ値に関する情報と、各々の前記領域に対するオフセット情報を含むハッシュ情報とを備え、前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェアの実行を制御する機能を有することを特徴とするソフトウェア実行制御方法としている。
【0015】
請求項6の発明は、半導体メモリなどの不揮発性メモリで構成される情報記録媒体と、ハードウェアまたはソフトウェアで実装されるソフトウェア実行制御部から構成されるソフトウェア実行制御方法であって、前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、前記非秘匿領域に格納されている前記ソフトウェアが暗号化された後または暗号化される前のデータを、所謂一方向関数であるハッシュ関数への入力値として使用する場合、前記ソフトウェアのハッシュ関数への入力値として使用される一部の領域が複数の領域から構成されるデータを用いてハッシュ値を算出し、算出された各々の領域に対するハッシュ値の論理演算結果が含まれるハッシュ情報とを備え、前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェアの実行を制御する機能を有することを特徴とするソフトウェア実行制御方法としている。
【0016】
請求項7の発明は、請求項6に記載のソフトウェア実行制御方法に加え、前記情報記録媒体の前記秘匿領域に格納されているハッシュ情報は、前記ソフトウェアが暗号化された後または暗号化される前のデータを、所謂一方向関数であるハッシュ関数への入力値として使用する場合、前記データが複数の領域から構成されるデータを用いて、各々の領域はそれぞれ同一とは限らないハッシュ関数を用いてハッシュ値を算出し、算出された前記ハッシュ値の論理演算結果によって得られる値が前記ハッシュ情報に含まれることを特徴とする。
【0017】
請求項8の発明は、請求項6に記載のソフトウェア実行制御方法に加え、前記情報記録媒体の前記秘匿領域に格納されているハッシュ情報は、前記ソフトウェアが暗号化された後または暗号化される前のデータを、所謂一方向関数であるハッシュ関数への入力値として使用する場合、前記ソフトウェアのハッシュ関数への入力値として使用される一部の領域が複数の領域から構成され、各々の領域はそれぞれ同一とは限らないハッシュ関数を用いてハッシュ値を算出し、算出された各々の領域に対するハッシュ値の論理演算結果によって得られる前記ソフトウェアに対して唯一算出される値と、少なくとも前記各々の領域の前記ハッシュ値算出のために使用した関数の情報または、前記ソフトウェア内の領域の情報であるオフセットの情報が前記ハッシュ情報に含まれることを特徴とする。
【0018】
請求項9の発明は、請求項6に記載のソフトウェア実行制御方法に加え、前記情報記録媒体の前記秘匿領域に格納されているハッシュ情報は、前記ソフトウェアが暗号化された後または暗号化される前のデータを、所謂一方向関数であるハッシュ関数への入力値として使用する場合、前記ソフトウェアのハッシュ関数への入力値として使用される一部の領域が複数の領域から構成されるデータを用いて、各々の領域はそれぞれ同一とは限らないハッシュ関数を用いてハッシュ値を算出し、少なくとも算出された各々の前記各領域に対する前記ハッシュ値または、前記各領域の前記ハッシュ値算出のために使用した関数の情報または、前記ソフトウェア内の領域の情報であるオフセットの情報が前記ハッシュ情報に含まれることを特徴とする。
【0019】
請求項10の発明は、半導体メモリなどの不揮発性メモリで構成される情報記録媒体と、ハードウェアまたはソフトウェアで実装されるソフトウェア実行制御部から構成されるソフトウェア実行制御方法であって、前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアのうち、一部の領域を暗号化するための鍵に関する情報である鍵情報と、前記非秘匿領域に格納されている前記ソフトウェアが暗号化された後または暗号化される前のデータを、所謂一方向関数であるハッシュ関数への入力値として得られるハッシュ値に関する情報であるハッシュ情報とを備え、前記非秘匿領域には、前記鍵によって一部の領域が暗号化されたソフトウェアを備え、前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェアの実行を制御する機能を有することを特徴とするソフトウェア実行制御方法としている。
【0020】
請求項11の発明は、請求項10に記載のソフトウェア実行制御方法に加え、前記情報記録媒体の前記秘匿領域に格納されている鍵に関する情報である鍵情報は、前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアのうち、一部の暗号化されない領域を除く領域が、複数の領域に分かれ各々の領域を暗号処理する際の前記ソフトウェアに対して唯一の鍵の情報と、各々の前記領域に対するオフセット情報を含む鍵情報であることを特徴とする。
【0021】
請求項12の発明は、請求項10に記載のソフトウェア実行制御方法に加え、前記情報記録媒体の前記秘匿領域に格納されている鍵に関する情報である鍵情報は、前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアのうち、一部の暗号化されない領域を除く領域が、複数の領域に分かれ各々の領域を暗号処理する際の前記各々の領域に対する鍵の情報と、前記各々の領域に対するオフセット情報を含み、前記ソフトウェアの暗号化される領域は当該暗号化鍵によって各々の前記領域は同一の暗号アルゴリズムによって暗号化されることを特徴とする。
【0022】
請求項13の発明は、請求項10に記載のソフトウェア実行制御方法に加え、前記情報記録媒体の前記秘匿領域に格納されている鍵に関する情報である鍵情報は、前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアのうち、一部の暗号化されない領域を除く領域が、複数の領域に分かれ各々の領域を暗号処理する際の前記ソフトウェアに対して唯一の鍵の情報を含む鍵情報であり、前記ソフトウェアは前記鍵を使用して前記各々の領域を同一とは限らない暗号化アルゴリズムによって暗号化されていることを特徴とする。
【0023】
請求項14の発明は、請求項10に記載のソフトウェア実行制御方法に加え、前記情報記録媒体の前記秘匿領域に格納されている鍵に関する情報である鍵情報は、前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアのうち、一部の暗号化されない領域を除く領域が、複数の領域に分かれ各々の領域を暗号処理する際の前記ソフトウェアに対して各々異なる少なくとも鍵の情報または、前記各々の領域を暗号化するための暗号化アルゴリズムを示す情報または、前記ソフトウェアのどの部分の暗号化を行ったかを示すオフセットを含む鍵情報であり、前記ソフトウェアは前記鍵を使用して前記各々の領域を同一とは限らない暗号化アルゴリズムによって暗号化されていることを特徴とする。
【0024】
請求項15の発明は、半導体メモリなどの不揮発性メモリで構成される情報記録媒体と、ハードウェアまたはソフトウェアで実装されるソフトウェア実行制御部から構成されるソフトウェア実行制御方法であって、前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、前記非秘匿領域に格納されている前記ソフトウェアを入力値として所謂一方向関数であるハッシュ関数によって得られるハッシュ値に関する情報であるハッシュ情報とを備え、前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェア実行を制御する機能を有し、前記秘匿領域に格納されている前記鍵を使用して暗号化される前記非秘匿領域に格納されている前記ソフトウェアの領域と、前記非秘匿領域に格納されている前記ソフトウェアを所謂一方向関数であるハッシュ関数の入力値として使用する際の前記ソフトウェアの領域とは同一領域ではないことを特徴とするソフトウェア実行制御方法としている。
【0025】
請求項16の発明は、半導体メモリなどの不揮発性メモリで構成される情報記録媒体と、ハードウェアまたはソフトウェアで実装されるソフトウェア実行制御部から構成されるソフトウェア実行制御方法であって、前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、前記非秘匿領域に格納されている前記ソフトウェアを入力値として所謂一方向関数であるハッシュ関数によって得られるハッシュ値に関する情報であるハッシュ情報とを備え、前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェア実行を制御する機能を有し、前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報は、前記非秘匿領域に格納されている前記ソフトウェアを一意に識別できるように、前記秘匿領域内のファイル構成における前記鍵情報と前記ハッシュ情報のエントリ番号と前記ソフトウェアのファイル名の一部が同一番号であることを特徴とする。
【0026】
請求項17の発明は、半導体メモリなどの不揮発性メモリで構成される情報記録媒体と、ハードウェアまたはソフトウェアで実装されるソフトウェア実行制御部から構成されるソフトウェア実行制御方法であって、前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、前記非秘匿領域に格納されている前記ソフトウェアを入力値として所謂一方向関数であるハッシュ関数によって得られるハッシュ値に関する情報であるハッシュ情報と、前記非秘匿領域に格納されている前記鍵情報や前記ハッシュ情報が対応する前記ソフトウェアのファイル名を含めた利用情報とを備え、前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェアの実行を制御する機能を有することを特徴とする。
【0027】
【発明の実施の形態】
以下、図面を用いて本発明の実施の形態について説明するが、これによって本発明の技術範囲が制限されるものではないのはもちろんである。
【0028】
(実施の形態1)
図1は、本発明の実施の形態1に係るソフトウェア実行制御方法の全体の概略を示す図である。
【0029】
図1に示すソフトウェア実行制御方法は、情報記録媒体1、情報記録媒体I/F9、ソフトウェア実行制御部10を備える。
【0030】
情報記録媒体1は、例えば、SDメモリカード等の半導体メモリとCPUとを備え、相互認証処理の成立を条件として半導体メモリと外部のデータの伝送を許す著作件保護機能を備えたインテリジェントなカードであり、固有情報2、メモリ領域3、秘匿領域4、非秘匿領域5、鍵情報6、ハッシュ情報7、ソフトウェア8を備える。
【0031】
固有情報2は、情報記録媒体1に固有の情報であり、メモリ領域3内に暗号化して保存するデータを暗号化するための鍵等に使用する情報である。メモリ領域3は、情報記録媒体1と、ソフトウェア実行制御部10の相互認証処理の成立を条件としてアクセスすることが可能な秘匿領域4と、相互認証処理をしなくてもアクセスすることが可能な非秘匿領域5から構成される。図1の情報記録媒体1には、非秘匿領域5にソフトウェア8が格納されており、秘匿領域4にはソフトウェア8を例えば、DESやトリプルDESなどに代表されるような特定の暗号アルゴリズムを用いて暗号化する際に使用される鍵を含む情報である鍵情報6と、そのソフトウェア8を入力データとして、MD5やSHA−1などの与えられた原文から固定長の擬似乱数を生成する一方向関数であるハッシュ関数を使用して算出されるハッシュ値を含む情報であるハッシュ情報7が格納されている。
【0032】
情報記録媒体I/F9は、情報記録媒体1を接続するためのI/Fであり、PDAなどの携帯電子機器であるならば、情報記録媒体1を接続するためのスロット部にあたる。
【0033】
ソフトウェア実行制御部10は、情報記録媒体1に格納されているソフトウェア8などの情報の処理を行う、ハードウェアまたはソフトウェアで構成されるシステムであり、相互認証処理部11、ハッシュ情報処理部12、復号処理部13、実行判定部14を備える。
【0034】
相互認証処理部11は、暗号化処理を含めた所謂チャレンジ・レスポンス方式などの処理方法によって情報記録媒体1と互いに認証処理を行う相互認証処理を行う機能を備える。ハッシュ情報処理部12は入力されたデジタルデータのハッシュ値を算出する機能を備える。復号処理部13はデジタルデータの復号処理を行う機能を備える。実行判定部14は、ハッシュ情報の結果等に基づいて、情報記録媒体1から読み込んだソフトウェア8が実行可能であるか否かを判定する機能を備える。
【0035】
このようなハードウェアまたはソフトウェアで構成されるソフトウェア実行制御部がパソコンや、電子機器などの機器に内蔵されることによって、情報記録媒体1に格納されているソフトウェア8の実行を制御することが可能となる。
【0036】
図2は、情報記録媒体1の秘匿領域4内に格納されている情報について具体的な一例を示している。図2で鍵情報6とハッシュ情報7は非秘匿領域5に格納されているソフトウェア8に関する情報であり、これらはファイル20に格納されている。図2ではさらに、ファイル20が、データオフセット0からオフセットXまでは鍵情報、オフセットXからオフセットYまではハッシュ情報、オフセットYからオフセットZまではその他の情報として利用情報21が格納される一例を示している。なお、ここでの利用情報21はソフトウェア8の利用情報について記述されているものであり、ソフトウェア8の利用制限回数や、利用期限、識別情報などから構成される情報である。
【0037】
また、図2では、ファイル20には1つのソフトウェア8に関する鍵情報6とハッシュ情報7と利用情報21から構成される図を示しているが、非秘匿領域5に格納される複数のソフトウェア8に関する鍵情報6やハッシュ情報7や利用情報21等の情報が1つのファイルに含まれているような構成であってもよい。また、ファイル20に示すような秘匿領域4に格納されているこのような鍵情報6やハッシュ情報7や利用情報などのその他の情報のすべてまたは一部が、情報記録媒体1の固有情報2を用いて暗号化されて秘匿領域4内に格納されているような構成でもよい。
【0038】
図2のような構成の情報が情報記録媒体1の秘匿領域4に格納されていることによって、情報記録媒体1の非秘匿領域5に格納されているソフトウェア8を実行する機器は、ソフトウェア実行制御部10を介して情報記録媒体1と相互認証処理を成立させて、まず、秘匿領域4に格納されている情報を読み出す必要がある。次に、読み出された鍵情報6やハッシュ情報7、利用情報21をもとにソフトウェア8の実行を制御することが可能となる。
【0039】
次に、情報記録媒体1に格納されているデータの構成について説明する。
【0040】
図3は秘匿領域4に格納されている鍵情報6とハッシュ情報7の、非秘匿領域5に格納されているソフトウェア8との関係の概要について示している。図において、非秘匿領域5に格納されているソフトウェア8は、まず、(1)で示すように鍵を用いて暗号化される。このとき暗号化した鍵を含む鍵情報6が秘匿領域4に格納される。次に(2)で示すように暗号化されたソフトウェア8のハッシュ値が算出される。同様にこのとき算出されたハッシュ値を含むハッシュ値情報7が秘匿領域4に格納される。
【0041】
図4は、図3で示した方法によって秘匿領域4に保持される情報を作成する場合のフローチャートを示している。ここで、示しているフローチャートは、情報記録媒体1の秘匿領域4や非秘匿領域5にデータを書く機能を有するパソコンや携帯電子機器等のホスト機器が行う処理方法について示している。まずホスト機器は情報記録媒体1に格納されるソフトウェアに対して暗号化アルゴリズムを用いて暗号化する(ステップS10)。このとき、ソフトウェアを暗号化したときに使用した鍵情報を保持しておく(ステップS11)。次に、ステップS10において暗号化されたソフトウェアからハッシュ情報を算出する(ステップS12)。このとき、算出したハッシュ情報は保持しておく(ステップS13)。次に、情報記録媒体1と相互認証処理を行う(ステップS14)。相互認証処理が失敗した場合には、情報記録媒体1にデータを格納することなく処理を終了する(ステップS15)。相互認証処理が成功した場合には、暗号化されたソフトウェアを情報記録媒体1内に非秘匿領域5に書き込む(ステップS16)。次に、保持していた鍵情報やハッシュ情報やその他利用情報21などの情報を情報記録媒体1内の秘匿領域4に書き込んで(ステップS17)、処理を終了する。
【0042】
このような処理によって構成された情報が、情報記録媒体1の秘匿領域4に、暗号化されたソフトウェア8が非秘匿領域5に書き込まれるため、ソフトウェア5の不正利用を防ぐことが可能となる。
【0043】
(実施の形態2)
ここでは実施の形態2として、情報記録媒体1の秘匿領域4に格納される鍵情報6とハッシュ情報7の算出方法が実施の形態1と異なる方法について示す。その他システム全体の構成については、実施の形態1と同様であるためここでの説明は割愛する。
【0044】
図5は、実施の形態1の図3で示していたハッシュ情報7の算出方法の異なる場合について示している。図において、非秘匿領域5に格納されているソフトウェア8は、まず、(1)で示すようにハッシュ値が計算される。このとき算出されたハッシュ値を含むハッシュ情報7が秘匿領域4に格納される。次に(2)で示すように鍵を用いて暗号化される。そして暗号化に使用した鍵を含む鍵情報6が秘匿領域4に格納される。
【0045】
図6は、図5で示した方法によって秘匿領域4に保持される情報を作成する場合のフローチャートを示している。ここで、示しているフローチャートは、情報記録媒体1の秘匿領域4や非秘匿領域5にデータを書く機能を有するパソコンや、電子機器等のホスト機器が行う処理方法について示している。まずホスト機器は情報記録媒体1に格納されるソフトウェアに対してハッシュアルゴリズムを用いてハッシュ値を算出する(ステップS20)。このとき、算出したハッシュ情報は保持しておく(ステップS21)。次に、ソフトウェアに対して暗号化アルゴリズムを使用して暗号化する(ステップS22)。このとき、ソフトウェアを暗号化したときに使用した鍵情報を保持しておく(ステップS23)。以降の手順は実施の形態1の図3で示したステップS14からステップS17で示した処理方法と同様である。
【0046】
このような処理によって構成された情報が、情報記録媒体1の秘匿領域4に、暗号化されたソフトウェア5が非秘匿領域5に書き込まれるため、ソフトウェア5の不正利用を防ぐことが可能となる。
【0047】
(実施の形態3)
ここでは、実施の形態3として、実施の形態1や実施の形態2の方法によって示されたソフトウェア実行制御方法を実現するために、情報記録媒体1の秘匿領域4に格納されるハッシュ情報7に関して、特にハッシュ値の算出方法について示す。その他システム全体の構成はついては実施の形態1で示した実行制御方法と同様であるためここでの説明は割愛する。
【0048】
図7は、ハッシュ情報7に関して詳細に示した一例の図である。秘匿領域4に格納されているハッシュ情報7はハッシュ値を計算する対象のデータのどの部分をハッシュ値計算に使用するかを表す情報と、その領域から計算されたハッシュ値から構成される。図7ではハッシュ値を計算する対象のデータのオフセットAからBまでの長さNと、オフセットCからDまでの長さMの領域のデータを用いてハッシュ値を計算して、ハッシュ情報7としていることを示す図である。ハッシュ情報7内の第1ハッシュ対象領域情報71は、ハッシュ値を算出する対象のデータであるソフトウェア8のオフセットAからBのオフセット情報などの情報から構成されている。一方、ハッシュ情報7内の第2ハッシュ対象領域情報72は、ハッシュの値を算出する対象のデータであるソフトウェア8のオフセットCからオフセットDといったオフセット情報などの情報から構成されている。ハッシュ情報7内のハッシュ値73は、第1ハッシュ対象領域情報71と第2ハッシュ対象領域情報72から算出されるハッシュ値が書き込まれている。このように、秘匿領域4のハッシュ情報7にハッシュ値を計算するためのデータのオフセット等といった情報を書き込めることによって、ソフトウェア8に関する任意のサイズやオフセットのハッシュ情報を設定することが可能となる。
【0049】
ここで示したソフトウェア8のオフセットA、B、C、Dの値はソフトウェア8のデータの大きさによって、例えば一定の数式を用いて決まる任意の値であってもよいし、ソフトウェア内の重要な部分の改竄チェックを行うために、ソフトウェア8を提供する提供者が任意に決めるような値であってもよい。なお、ここでは、ハッシュ対象領域情報として2つ格納している例を示しているが、1つでも構わず、また2つ以上の情報が格納できる仕組みとなっていてもよい。
【0050】
さらに、ソフトウェア8のハッシュ値算出のために使用される領域から、複数の領域のハッシュ値を予め算出しておき、秘匿領域4のハッシュ情報7内のハッシュ値領域73に格納される値は、その複数の領域のハッシュ値を算出した値の論理演算によって得られる値でもよい。さらにこのとき、ここではAからB、CからDまでの領域を同一ハッシュ関数によってハッシュ値を算出する例を示しているが、ハッシュ値算出対象領域に応じて、用いるハッシュ関数の種類を変更してもよく、図示はしていないがどのようなハッシュ関数を使用したかという情報とともに第1ハッシュ対象領域情報71や第2ハッシュ対象領域情報72内といったハッシュ情報内7内に保持しておき、各々の領域から算出されたハッシュ値の論理演算によって得られる値の論理演算によって得られる値であってもよい。
【0051】
さらに、図8に示すように第1ハッシュ対象領域情報81や第2ハッシュ対象領域情報82のように、ハッシュ値算出のために使用される各々の領域から算出されるハッシュ値、オフセット情報、使用したハッシュ関数の種類を特定する識別子から構成されるハッシュ情報であってもよい。
【0052】
以上のようなハッシュ値の計算方法は、実施の形態1や実施の形態2で示したソフトウェア実行制御方法を実現するためのデータの格納方法において、本実施の形態で示したハッシュ情報7の構造とハッシュ情報の算出方法の方法に代えて実行可能であることはいうまでもない。
【0053】
このような実施の形態に係るハッシュ情報の算出を行えば、ソフトウェア全体のハッシュ値を算出する必要がなくなり、情報記録媒体1の情報を読み込んで処理を行うパソコンや、携帯電子機器などの機器は計算量を減らすことが可能となる。
【0054】
(実施の形態4)
ここでは、実施の形態4として、実施の形態3で示されたハッシュ情報の算出方法に加えて、特に鍵情報によって暗号化される領域について示す。その他のシステム全体の構成については、実施の形態1と同様であるためここでの説明は割愛する。
【0055】
図9は、秘匿領域4に格納されている鍵情報6とハッシュ情報7に関して詳細に示した図の一例である。図9において、秘匿領域4に格納されているハッシュ情報7の算出方法は、実施の形態3で図7を用いて示した方法と同様であるため、ここでは説明を割愛する。
【0056】
図9では、ソフトウェア8のオフセットAからB、CからDがハッシュ情報の算出に使用されていることを示している。このとき、ソフトウェア8のオフセット0からAまでと、BからCまでと、DからEまでの領域のみが暗号化され、その領域を暗号化する際に使用した鍵に関する鍵情報が秘匿領域4の鍵情報6に格納される。暗号化される方法としては、オフセット0からA、BからC、DからEまでを足されて秘匿領域4に格納されている鍵情報6によって暗号化されてもよいし、それぞれの領域が鍵情報6によって別々の暗号アルゴリズムによって暗号化されていてもよい。このような場合、ソフトウェア8は何れの領域も暗号化或いはハッシュ値計算のどちらか一方に使用されることになる。
【0057】
さらに図10は、図9で示した方法を拡張した一例である。図10では、特に、ソフトウェア8のオフセットAとA’で示している部分が図9で示した構成とは異なる。図10では、ソフトウェア8のオフセット0からA’までが鍵情報を用いて暗号化され、AからBまでがハッシュ情報を算出するために使用される領域を示している。つまり、AからA’までの領域は暗号化にもハッシュ値の計算にも使用される領域となる。このような構造にした場合、ソフトウェア8の暗号化を行う領域がどの場所に位置しているかは、秘匿領域4のハッシュ情報7の第1ハッシュ対象領域71や第2ハッシュ対象領域情報72などの、ハッシュ対象領域情報から算出することができないため、鍵情報6内の第1暗号化対象領域情報91はソフトウェア8のオフセット0からA’のオフセット情報などの情報が、第2暗号化対象領域情報92はソフトウェア8のオフセットBからCのオフセット情報などの情報で構成されている。また、図10中には図示していないが、これらの情報には図9の説明の部分で示したようにどのような暗号アルゴリズムを使用したかという情報が含まれていてもよい。さらに図11で示すように第1暗号化対象領域情報111や第2暗号化対象領域情報112のように、暗号化の対象となる各々の領域の暗号化に使用される鍵の値、オフセット情報、使用した暗号化アルゴリズムを示す暗号化処理方法の情報から構成される鍵情報であってもよい。なお、このような鍵情報の構成は図9の構成に用いることも可能である。
【0058】
図9で示した構成方法では、実施の形態1と実施の形態2で示したソフトウェア8の暗号化とハッシュ値の計算において、どちらを先に処理を行ってその値を格納するかといった違いはなくなる。一方、図10や図11で示した構成方法では、暗号化される領域とハッシュ値を算出するための領域が重なっている。そのため、実施の形態1や実施の形態2で示した方法における、ソフトウェアの暗号化の処理方法や鍵情報6の構造、ハッシュ情報7の算出方法やハッシュ情報7の構造のところを図10や図11で示した方法・構造に代えて実行可能であることは言うまでもない。また、図10や図11では、ソフトウェア8の全ての領域が暗号化またはハッシュ情報の算出のために使用される領域のように示しているが、ソフトウェア8に暗号化やハッシュ情報7の算出に使用されない領域があってもよい。
【0059】
このような実施の形態に係る、暗号化処理を行うことによって、情報記録媒体1に格納するソフトウェア全体のハッシュ値の計算や、ソフトウェア全体の暗号化をする必要がなくなり、情報記録媒体1のソフトウェアを読み込んだり、ソフトウェアを書き込んだりする処理を行うパソコンや、携帯電子機器などの機器は計算量を減らすことが可能となる。
【0060】
(実施の形態5)
ここでは、実施の形態5として、秘匿領域4に格納されている、鍵情報6とハッシュ情報7を含む情報と、非秘匿領域5に格納されているソフトウェアの組み合わせを識別できる方法の一例について示す。その他、システム全体の構成の概要については実施の形態1と同様であるためここでの説明は割愛する。
【0061】
図12は、秘匿領域4に格納されている鍵情報6とハッシュ情報7や各種情報を含んで1つのファイル20に格納され、ソフトウェア120は通し番号をつけた形で非秘匿領域5に格納されている図を示している。非秘匿領域5内のソフトウェアはprogram001.prg120のように、固有ファイル名+通し番号+拡張子というファイル名をつけている。
【0062】
この場合に該当するソフトウェアは、秘匿領域4の鍵情報とハッシュ情報は、ソフトウェアの通し番号が001であるため、ファイル20の1番目のエントリである鍵情報1とハッシュ情報1がソフトウェアprogram001.prg120に該当する情報となる。同様に、鍵情報2とハッシュ情報2は、非秘匿領域5のソフトウェアprogram002.prg121の鍵情報とハッシュ情報に該当する。このように秘匿領域4に格納されている鍵情報とハッシュ情報が格納されているエントリ番号と、非秘匿領域5に格納されているソフトウェアのファイル名に付けられている番号が1対1に対応することで、容易に秘匿領域4の情報と非秘匿領域5の情報を対応させることが可能となる。
【0063】
このような形式は、実施の形態1から実施の形態4のいずれにおいても適用することが可能となり、どの実施の形態においても、容易に秘匿領域4の情報と非秘匿領域5の情報を対応させることが可能となる。
【0064】
(実施の形態6)
ここでは、実施の形態6として、実施の形態5で示した秘匿領域4に格納されている情報と非秘匿領域5に格納されている情報の対応に関して、別の方法の一例について示す。その他システム全体の構成については、実施の形態1と同様であるためここでの説明は割愛する。
【0065】
図13は、秘匿領域4に格納されている鍵情報6とハッシュ情報7を含む情報と、非秘匿領域5に格納されているソフトウェアとの組み合わせを識別する方法の一例を示している図である。秘匿領域4には鍵情報6とハッシュ情報7に加えて利用情報としてソフトウェア名格納情報130が格納されている。一方、非秘匿領域5にはソフトウェア8が格納されている。図13において非秘匿領域5に格納されているソフトウェア名はprogramA.exeであり、そのソフトウェア名が秘匿領域4のソフトウェア名格納情報130に格納されている。これにより非秘匿領域5に格納されているデータのうちどのソフトウェアと、秘匿領域4に格納されている鍵情報やハッシュ情報が対応するかがソフトウェアファイル名で容易に確認することが可能となる。
【0066】
このような形式は、実施の形態1から実施の形態4のいずれにおいても適用することが可能となり、どの実施の形態においても、容易に秘匿領域4の情報と非秘匿領域5に格納されているソフトウェアを対応させることが可能となる。
【0067】
【発明の効果】
以上説明したように、本発明による構造の情報記録媒体内にソフトウェアとそのソフトウェアに関する鍵情報とハッシュ情報を格納することによって、ソフトウェアの不正利用を防ぐことが可能となる。また、鍵情報によって暗号化されるソフトウェアの領域や、ハッシュ情報を算出するために使用されるソフトウェアの領域・サイズは任意に設定することが可能である。
【0068】
このため、比較的内部メモリ容量が小さく、ソフトウェアを多数インストールすることが困難な電子機器においても、当該ソフトウェア実行制御部を組み込み、ソフトウェアが格納された情報記録媒体を使用することによって、不正にソフトウェアが利用されることを防止することが可能となる。また、ソフトウェア実行制御部が処理するソフトウェアの復号化処理やハッシュ値の検算処理は、必ずしもソフトウェア全体の領域に対してする必要はないため、比較的高速に処理することが可能となりその実用的効果は大きい。
【図面の簡単な説明】
【図1】本発明の実施の形態1におけるソフトウェア実行制御方法の概要を示す構成図
【図2】本発明の実施の形態1における秘匿領域の情報の概要を示す図
【図3】本発明の実施の形態1における鍵情報とハッシュ情報の概要を示す図
【図4】本発明の実施の形態1における鍵情報とハッシュ情報の処理手順を示すフローチャート
【図5】本発明の実施の形態2における鍵情報とハッシュ情報の概要を示す図
【図6】本発明の実施の形態2における鍵情報とハッシュ情報の処理手順を示すフローチャート
【図7】本発明の実施の形態3における鍵情報とハッシュ情報の概要を示す図
【図8】本発明の実施の形態3における鍵情報とハッシュ情報の概要を示す図
【図9】本発明の実施の形態4における鍵情報とハッシュ情報の概要を示す図
【図10】本発明の実施の形態4における鍵情報とハッシュ情報の概要を示す図
【図11】本発明の実施の形態4における鍵情報とハッシュ情報の概要を示す図
【図12】本発明の実施の形態5における秘匿領域の情報と非秘匿領域の情報の関係を示す図
【図13】本発明の実施の形態6における秘匿領域の情報と非秘匿領域の情報の関係を示す図
【符号の説明】
1 情報記録媒体
2 固有情報
3 メモリ領域
4 秘匿領域
5 非秘匿領域
6 鍵情報
7 ハッシュ情報
8 ソフトウェア
9 情報記録媒体I/F
10 ソフトウェア実行制御部
11 相互認証処理部
12 ハッシュ情報処理部
13 復号処理部
14 実行判定部
20 ファイル
21 利用情報
71,81 第1ハッシュ対象領域情報
72,82 第2ハッシュ対象領域情報
73 ハッシュ値
83 第nハッシュ対象領域情報
91,111 第1暗号化対象領域情報
92,112 第2暗号化対象領域情報
93 鍵
113 第n暗号化対象領域情報
120,121 ソフトウェア
130 ソフトウェア名格納情報[0001]
[Technical field to which the description belongs]
The present invention relates to a semiconductor memory card for recording digital data and a reading device therefor, and more particularly to a software execution control method when digital data is software.
[0002]
[Prior art]
Software that is digital data can be copied indefinitely without loss of data, and the recent development of the network environment has made it possible for users who do not have proper ownership to illegally obtain it using the network environment ing. In general, such software is configured to be installed by only an authorized owner by inputting ID information acquired from a software vendor at the time of installation. However, when such ID information is leaked together with the copy of the software, even a user who does not have the proper ownership can install the software.
[0003]
As a method of controlling the execution of the software, it is assumed that the user who executes the software owns hardware having an authentication key as user-specific information, and the user starts the software and reaches an access authentication routine embedded in the software. Communicates with hardware that has a built-in authentication key connected in advance to the parallel port or USB port, and if the presence of the correct authentication key is confirmed, execution proceeds to the next step, and the presence of the correct authentication key is not confirmed In such a case, there is a method in which the software stops itself and prevents subsequent execution. According to this method, it becomes possible for anyone other than the user who owns the hardware having the proper authentication key to execute the software.
[0004]
However, such a method requires a module for performing authentication with the hardware in software. Therefore, it is necessary to perform processing such as installing a module using dedicated software.
[0005]
There is also a method in which the entire software itself is encrypted with a dedicated key, and the key is decrypted at the time of execution to execute the software. For example, Patent Literature 1 describes a method of encrypting software stored in a recording medium using a software key, and decrypting the software when the software is executed. Here, the key for encrypting the software is encrypted using a random number, and the host connected to the recording medium decrypts the key using the same random number.
[0006]
On the other hand, there is a method in which a semiconductor memory card has a copyright protection function and encrypts and holds digital contents. For example, in
[0007]
[Patent Document 1]
JP-A-9-185501
[Patent Document 2]
JP 2001-14441 A
[0008]
[Problems to be solved by the invention]
In recent years, mobile devices such as PDAs, which are small electronic devices, have become widespread, but in general, these portable electronic devices have relatively small internal data capacity. On the other hand, as the data capacity of software has become larger, the number and amount of software installed in electronic devices have been limited. For this reason, it can be assumed that software is installed on the information recording medium, and the software stored with the information recording medium mounted on such a portable electronic device is used. In this case, in order to further prevent unauthorized copying of software, it can be assumed that the software is encrypted and stored in the information recording medium, and is decrypted and used at the time of execution. In general, it is difficult for stored software to be processed at high speed. However, a specific software execution control method that is advantageous in such a case is not disclosed in
[0009]
SUMMARY OF THE INVENTION The present invention has been made in view of such a problem, and holds an encrypted software and a key used for encryption on an information recording medium, and mounts the information recording medium on a portable electronic device such as a PDA. Accordingly, the present invention relates to a method for controlling the execution of software stored in an information recording medium that enables the stored software to be executed at high speed.
[0010]
[Means for Solving the Problems]
Among the inventions for achieving the above object, the invention of claim 1 is a software comprising an information recording medium constituted by a nonvolatile memory such as a semiconductor memory and a software execution control unit implemented by hardware or software. An execution control method, wherein the information recording medium has a secret area that can be accessed with the success of a specific authentication processing procedure that also uses unique information that is information unique to the information recording medium, and without passing through a specific authentication processing procedure. Also provided with a non-concealed area accessible, the secret area is key information that is information about a key for encrypting the software that is digital data stored in the non-confidential area of the information recording medium, The software stored in the non-confidential area is obtained as an input value by a hash function which is a so-called one-way function. Hash information that is information about a hash value to be stored in the non-secret area, the software encrypted by the key is provided, and the software execution control unit passes through the information recording medium and a specific authentication processing procedure. Reading the key information and the hash information stored in the secret area of the information recording medium, and calculating a decryption process and a hash value of the software stored in the non-secret area of the information recording medium. A function of controlling the execution of the software.
[0011]
According to a second aspect of the present invention, in addition to the software execution control method according to the first aspect, the key information stored in the secret area of the information recording medium encrypts the software stored in the non-secret area. The hash information stored in the secret area of the information recording medium includes information of a key for encrypting, and the software stored in the non-secret area encrypted by the key is encrypted. It is characterized in that it has a configuration including a hash value obtained by using the converted data as an input value for a hash function which is a so-called one-way function.
[0012]
According to a third aspect of the present invention, in addition to the software execution control method according to the first aspect, the key information stored in the secret area of the information recording medium encrypts the software stored in the non-secret area. The hash information stored in the secret area of the information recording medium includes information of a key for encrypting the data, and is a so-called one-way function using data before encryption by the key as an input value. The present invention is characterized in that the configuration includes a hash value obtained by using the hash function.
[0013]
According to a fourth aspect of the present invention, in addition to the software execution control method according to the first aspect, the hash information stored in the secret area of the information recording medium is encrypted after the encryption in the software file or after the encryption. It is characterized in that data of a part of the area before the data is used as an input value to a hash function which is a so-called one-way function.
[0014]
The invention of
[0015]
The invention according to
[0016]
According to a seventh aspect of the present invention, in addition to the software execution control method according to the sixth aspect, the hash information stored in the secret area of the information recording medium is encrypted after or after the software is encrypted. When the previous data is used as an input value to a hash function that is a so-called one-way function, a hash function in which each area is not necessarily the same using data in which the data includes a plurality of areas is used. A hash value is calculated using the hash value, and a value obtained by a logical operation result of the calculated hash value is included in the hash information.
[0017]
In the invention according to
[0018]
According to a ninth aspect of the present invention, in addition to the software execution control method according to the sixth aspect, the hash information stored in the secret area of the information recording medium is encrypted after or after the software is encrypted. When the previous data is used as an input value to a hash function which is a so-called one-way function, a part of the area used as an input value to the hash function of the software uses data configured from a plurality of areas. In each of the regions, a hash value is calculated using a hash function that is not necessarily the same, and at least the calculated hash value for each of the calculated respective regions or the calculated hash value of each of the regions is used. The hash information may include information on the set function or offset information that is information on an area in the software.
[0019]
The invention according to
[0020]
According to an eleventh aspect of the present invention, in addition to the software execution control method according to the tenth aspect, key information, which is information on a key stored in the secret area of the information recording medium, is stored in the non-secret area. In the software that is digital data, an area excluding some unencrypted areas is divided into a plurality of areas, and information on a unique key for the software when performing encryption processing on each area, The key information includes offset information for the area.
[0021]
According to a twelfth aspect of the present invention, in addition to the software execution control method according to the tenth aspect, key information, which is information about a key stored in the secret area of the information recording medium, is stored in the non-secret area. In the software that is digital data, an area excluding a part of an unencrypted area is divided into a plurality of areas, and key information for each area when each area is subjected to encryption processing, and each of the areas , And each of the areas to be encrypted of the software is encrypted by the same encryption algorithm using the encryption key.
[0022]
According to a thirteenth aspect of the present invention, in addition to the software execution control method according to the tenth aspect, key information, which is information on a key stored in the secret area of the information recording medium, is stored in the non-secret area. Key information including only key information for the software when the area of the software which is digital data, except for some unencrypted areas, is divided into a plurality of areas and each area is subjected to encryption processing. The software is characterized in that the respective areas are encrypted using an encryption algorithm that is not necessarily the same using the key.
[0023]
According to a fourteenth aspect of the present invention, in addition to the software execution control method according to the tenth aspect, key information, which is information on a key stored in the secret area of the information recording medium, is stored in the non-secret area. Among the software that is digital data, an area excluding a part of the area that is not encrypted is divided into a plurality of areas and at least key information different from the software when performing encryption processing on each area, or Information indicating an encryption algorithm for encrypting each area, or key information including an offset indicating which part of the software has been encrypted, and the software uses the key to The region is encrypted by an encryption algorithm that is not necessarily the same.
[0024]
The invention of
[0025]
The invention according to
[0026]
The invention according to claim 17 is a software execution control method including an information recording medium including a nonvolatile memory such as a semiconductor memory and a software execution control unit implemented by hardware or software. The medium includes a secret area that can be accessed with the success of a specific authentication processing procedure that also uses unique information that is information unique to the information recording medium, and a non-secret area that can be accessed without passing through the specific authentication processing procedure, The secret area includes key information that is information about a key for encrypting the software that is digital data stored in the non-secret area of the information recording medium, and the key information that is stored in the non-secret area. It is information on a hash value obtained by a hash function which is a so-called one-way function using software as an input value. Hash information and usage information including a file name of the software corresponding to the key information and the hash information stored in the non-secret area, and the non-secret area is encrypted by the key. The software execution control unit reads the key information and the hash information stored in the secret area of the information recording medium via the information recording medium and the specific authentication processing procedure, and It has a function of controlling the execution of the software by calculating a decryption process or a hash value of the software stored in the non-secret area of the recording medium.
[0027]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings, but it is needless to say that the technical scope of the present invention is not limited thereby.
[0028]
(Embodiment 1)
FIG. 1 is a diagram schematically illustrating an entire software execution control method according to Embodiment 1 of the present invention.
[0029]
The software execution control method shown in FIG. 1 includes an information recording medium 1, an information recording medium I / F 9, and a software
[0030]
The information recording medium 1 is, for example, an intelligent card having a semiconductor memory such as an SD memory card and a CPU, and having a copyright protection function that allows transmission of external data to the semiconductor memory on condition that a mutual authentication process is established. Yes, it includes
[0031]
The
[0032]
The information recording medium I / F 9 is an I / F for connecting the information recording medium 1 and, if it is a portable electronic device such as a PDA, corresponds to a slot for connecting the information recording medium 1.
[0033]
The software
[0034]
The mutual
[0035]
Since the software execution control unit including such hardware or software is incorporated in a device such as a personal computer or an electronic device, the execution of the
[0036]
FIG. 2 shows a specific example of information stored in the
[0037]
FIG. 2 shows the
[0038]
Since the information having the configuration as shown in FIG. 2 is stored in the
[0039]
Next, the configuration of data stored in the information recording medium 1 will be described.
[0040]
FIG. 3 shows an outline of the relationship between the
[0041]
FIG. 4 shows a flowchart in the case where the information held in the
[0042]
Since the information configured by such processing is written in the
[0043]
(Embodiment 2)
Here, as the second embodiment, a method of calculating the
[0044]
FIG. 5 shows a case where the method of calculating the
[0045]
FIG. 6 shows a flowchart in the case where the information held in the
[0046]
Since the information composed by such processing is written in the
[0047]
(Embodiment 3)
Here, as the third embodiment, in order to realize the software execution control method shown by the method of the first or second embodiment, the
[0048]
FIG. 7 is a diagram of an example showing the
[0049]
The values of the offsets A, B, C, and D of the
[0050]
Furthermore, a hash value of a plurality of areas is calculated in advance from an area used for calculating a hash value of the
[0051]
Further, as shown in FIG. 8, as in the first hash target area information 81 and the second hash
[0052]
The hash value calculation method as described above is the same as the data storage method for realizing the software execution control method described in the first and second embodiments, except that the structure of the
[0053]
By calculating the hash information according to such an embodiment, it is not necessary to calculate the hash value of the entire software, and a device such as a personal computer or a portable electronic device that reads information from the information recording medium 1 and processes the information. The amount of calculation can be reduced.
[0054]
(Embodiment 4)
Here, as the fourth embodiment, in addition to the method of calculating hash information described in the third embodiment, particularly, an area encrypted by key information will be described. Other configurations of the entire system are the same as those of the first embodiment, and thus description thereof will be omitted.
[0055]
FIG. 9 is an example of a diagram showing the
[0056]
FIG. 9 shows that offsets A to B and C to D of the
[0057]
FIG. 10 is an example in which the method shown in FIG. 9 is extended. In FIG. 10, particularly, the portions indicated by offsets A and A ′ of the
[0058]
In the configuration method shown in FIG. 9, in the encryption of
[0059]
By performing the encryption processing according to such an embodiment, it is not necessary to calculate the hash value of the entire software stored in the information recording medium 1 or to encrypt the entire software. A device such as a personal computer or a portable electronic device that performs a process of reading data or writing software can reduce the amount of calculation.
[0060]
(Embodiment 5)
Here, as a fifth embodiment, an example of a method for identifying a combination of information stored in the
[0061]
FIG. 12 shows that the
[0062]
In the software corresponding to this case, the key information and the hash information of the
[0063]
Such a format can be applied to any of the first to fourth embodiments, and in any of the embodiments, the information in the
[0064]
(Embodiment 6)
Here, as the sixth embodiment, an example of another method regarding the correspondence between the information stored in the
[0065]
FIG. 13 is a diagram illustrating an example of a method of identifying a combination of information including the
[0066]
Such a format can be applied to any of the first to fourth embodiments. In any of the embodiments, the information of the
[0067]
【The invention's effect】
As described above, by storing software, key information and hash information relating to the software in the information recording medium having the structure according to the present invention, it is possible to prevent unauthorized use of the software. Further, the area of the software encrypted by the key information and the area and size of the software used to calculate the hash information can be set arbitrarily.
[0068]
For this reason, even in an electronic device having a relatively small internal memory capacity and in which it is difficult to install a large number of software, the software execution control unit is incorporated and an information recording medium in which the software is stored is used to illegally execute the software. Can be prevented from being used. Also, since the software decryption processing and hash value verification processing performed by the software execution control unit do not necessarily have to be performed on the entire area of the software, the processing can be performed at a relatively high speed. Is big.
[Brief description of the drawings]
FIG. 1 is a configuration diagram showing an outline of a software execution control method according to a first embodiment of the present invention;
FIG. 2 is a diagram showing an outline of information of a secret area according to the first embodiment of the present invention.
FIG. 3 is a diagram showing an outline of key information and hash information according to the first embodiment of the present invention.
FIG. 4 is a flowchart showing a procedure for processing key information and hash information according to the first embodiment of the present invention;
FIG. 5 is a diagram showing an outline of key information and hash information according to
FIG. 6 is a flowchart showing a processing procedure of key information and hash information in
FIG. 7 is a diagram showing an outline of key information and hash information according to
FIG. 8 is a diagram showing an outline of key information and hash information in
FIG. 9 is a diagram showing an outline of key information and hash information according to
FIG. 10 is a diagram showing an outline of key information and hash information according to a fourth embodiment of the present invention.
FIG. 11 is a diagram showing an outline of key information and hash information according to a fourth embodiment of the present invention.
FIG. 12 is a diagram showing a relationship between information of a secret area and information of a non-secret area according to the fifth embodiment of the present invention.
FIG. 13 is a diagram illustrating a relationship between information of a secret area and information of a non-secret area according to the sixth embodiment of the present invention.
[Explanation of symbols]
1 Information recording medium
2 unique information
3 Memory area
4 Secret area
5 Non-secret area
6 key information
7 Hash information
8 Software
9 Information recording medium I / F
10 Software execution control unit
11 Mutual authentication processing unit
12 Hash information processing unit
13 Decryption processing unit
14 Execution determination unit
20 files
21 Usage information
71, 81 First hash target area information
72, 82 Second hash target area information
73 hash value
83 nth hash target area information
91, 111 First encryption target area information
92, 112 Second encryption target area information
93 keys
113 n-th encryption target area information
120, 121 software
130 Software name storage information
Claims (17)
前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、
特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、
前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、
前記非秘匿領域に格納されている前記ソフトウェアを入力値として所謂一方向関数であるハッシュ関数によって得られるハッシュ値に関する情報であるハッシュ情報とを備え、
前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、
前記ソフトウェア実行制御部は前記情報記録媒体と特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェア実行を制御する機能を有することを特徴とするソフトウェア実行制御方法。An information recording medium including a nonvolatile memory such as a semiconductor memory, and a software execution control method including a software execution control unit implemented by hardware or software,
The information recording medium, a secret area that can be accessed with the success of a specific authentication processing procedure that also uses unique information that is information unique to the information recording medium,
Equipped with a non-secret area that can be accessed without going through a specific authentication processing procedure,
Key information that is information about a key for encrypting the software that is digital data stored in the non-secret area of the information recording medium in the secret area,
Hash information that is information about a hash value obtained by a hash function that is a so-called one-way function with the software stored in the non-secret area as an input value,
The non-secret area includes the software encrypted by the key,
The software execution control unit reads the key information and the hash information stored in the secret area of the information recording medium through the information recording medium and a specific authentication processing procedure, and reads the non-secret area of the information recording medium. A software execution control method having a function of controlling the execution of the software by decoding the software stored in the software and calculating a hash value.
前記情報記録媒体の前記秘匿領域に格納されている前記ハッシュ情報は、前記鍵によって暗号化された前記非秘匿領域に格納されている前記ソフトウェアが暗号化されたデータを入力値として所謂一方向関数であるハッシュ関数に使用することによって得られるハッシュ値を含む構成であることを特徴とする請求項1に記載のソフトウェア実行制御方法。The key information stored in the secret area of the information recording medium includes key information for encrypting the software stored in the non-secret area,
The hash information stored in the secret area of the information recording medium is a so-called one-way function using, as an input value, the software encrypted data stored in the non-secret area encrypted by the key. 2. The software execution control method according to claim 1, wherein the configuration includes a hash value obtained by using the hash function as follows.
前記情報記録媒体の前記秘匿領域に格納されている前記ハッシュ情報は、前記鍵によって暗号化される以前のデータを入力値として所謂一方向関数であるハッシュ関数に使用することによって得られるハッシュ値を含む構成であることを特徴とする請求項1に記載のソフトウェア実行制御方法。The key information stored in the secret area of the information recording medium includes key information for encrypting the software stored in the non-secret area,
The hash information stored in the secret area of the information recording medium is a hash value obtained by using data before being encrypted by the key as an input value for a hash function that is a so-called one-way function. The software execution control method according to claim 1, wherein the software execution control method includes:
前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、
特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、
前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、
前記非秘匿領域に格納されている前記ソフトウェアが暗号化された後または暗号化される前のデータを、所謂一方向関数であるハッシュ関数への入力値として使用する場合、前記ソフトウェアのハッシュ関数への入力値として使用される一部の領域が複数の領域から構成されるデータを用いて得られる、前記ソフトウェアに対して唯一のハッシュ値に関する情報と、各々の前記領域に対するオフセット情報を含むハッシュ情報とを備え、
前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、
前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェアの実行を制御する機能を有することを特徴とするソフトウェア実行制御方法。An information recording medium including a nonvolatile memory such as a semiconductor memory, and a software execution control method including a software execution control unit implemented by hardware or software,
The information recording medium, a secret area that can be accessed with the success of a specific authentication processing procedure that also uses unique information that is information unique to the information recording medium,
Equipped with a non-secret area that can be accessed without going through a specific authentication processing procedure,
Key information that is information about a key for encrypting the software that is digital data stored in the non-secret area of the information recording medium in the secret area,
When the data stored in the non-concealed area after encryption or before encryption is used as an input value to a hash function that is a so-called one-way function, when the hash function of the software is used. A part of a region used as an input value is obtained by using data composed of a plurality of regions. Hash information including information on a unique hash value for the software and offset information for each of the regions. With
The non-secret area includes the software encrypted by the key,
The software execution control unit reads the key information and the hash information stored in the secret area of the information recording medium through the information recording medium and the specific authentication processing procedure, and reads the non-secret information of the information recording medium. A software execution control method having a function of controlling execution of the software by decoding the software stored in an area and calculating a hash value.
前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、
特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、
前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、
前記非秘匿領域に格納されている前記ソフトウェアが暗号化された後または暗号化される前のデータを、所謂一方向関数であるハッシュ関数への入力値として使用する場合、前記ソフトウェアのハッシュ関数への入力値として使用される一部の領域が複数の領域から構成されるデータを用いてハッシュ値を算出し、算出された各々の領域に対するハッシュ値の論理演算結果が含まれるハッシュ情報とを備え、
前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、
前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェアの実行を制御する機能を有することを特徴とするソフトウェア実行制御方法。An information recording medium including a nonvolatile memory such as a semiconductor memory, and a software execution control method including a software execution control unit implemented by hardware or software,
The information recording medium, a secret area that can be accessed with the success of a specific authentication processing procedure that also uses unique information that is information unique to the information recording medium,
Equipped with a non-secret area that can be accessed without going through a specific authentication processing procedure,
Key information that is information about a key for encrypting the software that is digital data stored in the non-secret area of the information recording medium in the secret area,
When the data stored in the non-concealed area after encryption or before encryption is used as an input value to a hash function that is a so-called one-way function, when the hash function of the software is used. A hash value is calculated using a data in which a partial area used as an input value is composed of a plurality of areas, and hash information including a logical operation result of the calculated hash value for each of the calculated areas is provided. ,
The non-secret area includes the software encrypted by the key,
The software execution control unit reads the key information and the hash information stored in the secret area of the information recording medium through the information recording medium and the specific authentication processing procedure, and reads the non-secret information of the information recording medium. A software execution control method having a function of controlling execution of the software by decoding the software stored in an area and calculating a hash value.
前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、
特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、
前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアのうち、一部の領域を暗号化するための鍵に関する情報である鍵情報と、
前記非秘匿領域に格納されている前記ソフトウェアが暗号化された後または暗号化される前のデータを、所謂一方向関数であるハッシュ関数への入力値として得られるハッシュ値に関する情報であるハッシュ情報とを備え、
前記非秘匿領域には、前記鍵によって一部の領域が暗号化されたソフトウェアを備え、
前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェアの実行を制御する機能を有することを特徴とするソフトウェア実行制御方法。An information recording medium including a nonvolatile memory such as a semiconductor memory, and a software execution control method including a software execution control unit implemented by hardware or software,
The information recording medium, a secret area that can be accessed with the success of a specific authentication processing procedure that also uses unique information that is information unique to the information recording medium,
Equipped with a non-secret area that can be accessed without going through a specific authentication processing procedure,
In the secret area, among the software that is digital data stored in the non-secret area of the information recording medium, key information that is information about a key for encrypting a partial area,
Hash information, which is information about a hash value obtained as an input value to a hash function, which is a so-called one-way function, using data after or before the software stored in the non-secret area is encrypted. With
The non-secret area includes software in which a part of the area is encrypted by the key,
The software execution control unit reads the key information and the hash information stored in the secret area of the information recording medium through the information recording medium and the specific authentication processing procedure, and reads the non-secret information of the information recording medium. A software execution control method having a function of controlling execution of the software by decoding the software stored in an area and calculating a hash value.
各々の前記領域に対するオフセット情報を含む鍵情報であることを特徴とする請求項10に記載のソフトウェア実行制御方法。Key information, which is information about a key stored in the secret area of the information recording medium, is an area of the software, which is digital data stored in the non-secret area, excluding some unencrypted areas. Is divided into a plurality of areas, and the only key information for the software when performing encryption processing on each area,
11. The software execution control method according to claim 10, wherein the key information includes offset information for each of the areas.
前記各々の領域に対するオフセット情報を含み、
前記ソフトウェアの暗号化される領域は当該暗号化鍵によって各々の前記領域は同一の暗号アルゴリズムによって暗号化されることを特徴とする請求項10に記載のソフトウェア実行制御方法。Key information, which is information about a key stored in the secret area of the information recording medium, is an area of the software, which is digital data stored in the non-secret area, excluding some unencrypted areas. Is divided into a plurality of areas, the key information for each area when performing encryption processing of each area,
Including offset information for each of the regions,
The software execution control method according to claim 10, wherein each of the areas to be encrypted of the software is encrypted by the same encryption algorithm using the encryption key.
前記ソフトウェアは前記鍵を使用して前記各々の領域を同一とは限らない暗号化アルゴリズムによって暗号化されていることを特徴とする請求項10に記載のソフトウェア実行制御方法。Key information, which is information about a key stored in the secret area of the information recording medium, is an area of the software, which is digital data stored in the non-secret area, excluding some unencrypted areas. Is key information including only key information for the software when the area is divided into a plurality of areas and each area is encrypted,
11. The software execution control method according to claim 10, wherein the software is encrypted using the key by using an encryption algorithm that is not necessarily the same for each of the areas.
前記ソフトウェアは前記鍵を使用して前記各々の領域を同一とは限らない暗号化アルゴリズムによって暗号化されていることを特徴とする請求項10に記載のソフトウェア実行制御方法。Key information, which is information about a key stored in the secret area of the information recording medium, is an area of the software, which is digital data stored in the non-secret area, excluding some unencrypted areas. Is divided into a plurality of areas, and at least different key information for the software when encrypting each area, or information indicating an encryption algorithm for encrypting each area, or Key information including an offset indicating which part has been encrypted,
11. The software execution control method according to claim 10, wherein the software is encrypted using the key by using an encryption algorithm that is not necessarily the same for each of the areas.
前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、
特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、
前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、
前記非秘匿領域に格納されている前記ソフトウェアを入力値として所謂一方向関数であるハッシュ関数によって得られるハッシュ値に関する情報であるハッシュ情報とを備え、
前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、
前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェア実行を制御する機能を有し、
前記秘匿領域に格納されている前記鍵を使用して暗号化される前記非秘匿領域に格納されている前記ソフトウェアの領域と、前記非秘匿領域に格納されている前記ソフトウェアを所謂一方向関数であるハッシュ関数の入力値として使用する際の前記ソフトウェアの領域とは同一領域ではないことを特徴とするソフトウェア実行制御方法。An information recording medium including a nonvolatile memory such as a semiconductor memory, and a software execution control method including a software execution control unit implemented by hardware or software,
The information recording medium, a secret area that can be accessed with the success of a specific authentication processing procedure that also uses unique information that is information unique to the information recording medium,
Equipped with a non-secret area that can be accessed without going through a specific authentication processing procedure,
Key information that is information about a key for encrypting the software that is digital data stored in the non-secret area of the information recording medium in the secret area,
Hash information that is information about a hash value obtained by a hash function that is a so-called one-way function with the software stored in the non-secret area as an input value,
The non-secret area includes the software encrypted by the key,
The software execution control unit reads the key information and the hash information stored in the secret area of the information recording medium through the information recording medium and the specific authentication processing procedure, and reads the non-secret information of the information recording medium. A function of controlling the execution of the software by calculating a decryption process and a hash value of the software stored in the area,
The area of the software stored in the non-secret area, which is encrypted using the key stored in the secret area, and the software stored in the non-secret area, using a so-called one-way function. A software execution control method, wherein an area of the software used as an input value of a certain hash function is not the same area.
前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、
特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、
前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、
前記非秘匿領域に格納されている前記ソフトウェアを入力値として所謂一方向関数であるハッシュ関数によって得られるハッシュ値に関する情報であるハッシュ情報とを備え、
前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、
前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェア実行を制御する機能を有し、
前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報は、前記非秘匿領域に格納されている前記ソフトウェアを一意に識別できるように、前記秘匿領域内のファイル構成における前記鍵情報と前記ハッシュ情報のエントリ番号と前記ソフトウェアのファイル名の一部が同一番号であることを特徴とするソフトウェア実行制御方法。An information recording medium including a nonvolatile memory such as a semiconductor memory, and a software execution control method including a software execution control unit implemented by hardware or software,
The information recording medium, a secret area that can be accessed with the success of a specific authentication processing procedure that also uses unique information that is information unique to the information recording medium,
Equipped with a non-secret area that can be accessed without going through a specific authentication processing procedure,
Key information that is information about a key for encrypting the software that is digital data stored in the non-secret area of the information recording medium in the secret area,
Hash information that is information about a hash value obtained by a hash function that is a so-called one-way function with the software stored in the non-secret area as an input value,
The non-secret area includes the software encrypted by the key,
The software execution control unit reads the key information and the hash information stored in the secret area of the information recording medium through the information recording medium and the specific authentication processing procedure, and reads the non-secret information of the information recording medium. A function of controlling the execution of the software by calculating a decryption process and a hash value of the software stored in the area,
The key information and the hash information stored in the secret area are the key information and the hash in a file configuration in the secret area so that the software stored in the non-secret area can be uniquely identified. A software execution control method, wherein an entry number of information and a part of a file name of the software are the same number.
前記情報記録媒体は、前記情報記録媒体固有の情報である固有情報も利用した特定の認証処理手順の成功をもってアクセス可能な秘匿領域と、
特定の認証処理手順を経なくともアクセス可能な非秘匿領域を備え、
前記秘匿領域には前記情報記録媒体の前記非秘匿領域に格納されているデジタルデータである前記ソフトウェアを暗号化するための鍵に関する情報である鍵情報と、
前記非秘匿領域に格納されている前記ソフトウェアを入力値として所謂一方向関数であるハッシュ関数によって得られるハッシュ値に関する情報であるハッシュ情報と、
前記非秘匿領域に格納されている前記鍵情報や前記ハッシュ情報が対応する前記ソフトウェアのファイル名を含めた利用情報とを備え、
前記非秘匿領域には、前記鍵によって暗号化された前記ソフトウェアを備え、
前記ソフトウェア実行制御部は前記情報記録媒体と前記特定の認証処理手順を経て前記情報記録媒体の前記秘匿領域に格納されている前記鍵情報と前記ハッシュ情報を読み出し、前記情報記録媒体の前記非秘匿領域に格納されている前記ソフトウェアの復号化処理やハッシュ値を計算することによって前記ソフトウェアの実行を制御する機能を有することを特徴とするソフトウェア実行制御方法。An information recording medium including a nonvolatile memory such as a semiconductor memory, and a software execution control method including a software execution control unit implemented by hardware or software,
The information recording medium, a secret area that can be accessed with the success of a specific authentication processing procedure that also uses unique information that is information unique to the information recording medium,
Equipped with a non-secret area that can be accessed without going through a specific authentication processing procedure,
Key information that is information about a key for encrypting the software that is digital data stored in the non-secret area of the information recording medium in the secret area,
Hash information, which is information about a hash value obtained by a hash function that is a so-called one-way function with the software stored in the non-secret area as an input value,
The key information and the hash information stored in the non-confidential area include usage information including a file name of the software corresponding thereto,
The non-secret area includes the software encrypted by the key,
The software execution control unit reads the key information and the hash information stored in the secret area of the information recording medium through the information recording medium and the specific authentication processing procedure, and reads the non-secret information of the information recording medium. A software execution control method having a function of controlling execution of the software by decoding the software stored in an area and calculating a hash value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003029218A JP2004240719A (en) | 2003-02-06 | 2003-02-06 | Software execution control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003029218A JP2004240719A (en) | 2003-02-06 | 2003-02-06 | Software execution control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004240719A true JP2004240719A (en) | 2004-08-26 |
Family
ID=32956449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003029218A Pending JP2004240719A (en) | 2003-02-06 | 2003-02-06 | Software execution control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004240719A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102579A (en) * | 2008-10-24 | 2010-05-06 | Hitachi Ltd | Information processor and computer program |
-
2003
- 2003-02-06 JP JP2003029218A patent/JP2004240719A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010102579A (en) * | 2008-10-24 | 2010-05-06 | Hitachi Ltd | Information processor and computer program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8751818B2 (en) | Method and apparatus for a trust processor | |
JP4913871B2 (en) | Upgrade memory cards with security mechanisms to prevent copying of secure content and applications | |
KR100792287B1 (en) | Method for security and the security apparatus thereof | |
US8213612B2 (en) | Secure software download | |
US9158896B2 (en) | Method and system for generating a secure key | |
US20090282254A1 (en) | Trusted mobile platform architecture | |
JP5097130B2 (en) | Information terminal, security device, data protection method, and data protection program | |
JPWO2005096158A1 (en) | Usage authentication method, usage authentication program, information processing apparatus, and recording medium | |
KR20100044253A (en) | Device and method for a backup of rights objects | |
US20060155651A1 (en) | Device and method for digital rights management | |
US20070153580A1 (en) | Memory arrangement, memory device, method for shifting data from a first memory device to a second memory device, and computer program element | |
US8438112B2 (en) | Host device, portable storage device, and method for updating meta information regarding right objects stored in portable storage device | |
US7685435B2 (en) | Program development method, program development supporting system, and program installation method | |
CN101174941B (en) | Off-line digital copyright protection method and device for mobile terminal document | |
JP2009080772A (en) | Software starting system, software starting method and software starting program | |
JP6343869B2 (en) | Portable terminal device and decryption processing program | |
JP2009059008A (en) | File management system | |
JP2008033512A (en) | Security chip and platform | |
US20190044709A1 (en) | Incorporating software date information into a key exchange protocol to reduce software tampering | |
JPWO2006046484A1 (en) | Authentication method | |
CN113343215A (en) | Embedded software authorization and authentication method and electronic equipment | |
JP2004240719A (en) | Software execution control method | |
JP2008003774A (en) | Microcomputer | |
KR101054075B1 (en) | Method and device to restrict use of protection key | |
JP2008252290A (en) | Image processor and program processing method of same |