JP2005215945A - 情報処理装置、ソフトウェアの実行を許可する記憶装置、および、ソフトウェア実行方法 - Google Patents

情報処理装置、ソフトウェアの実行を許可する記憶装置、および、ソフトウェア実行方法 Download PDF

Info

Publication number
JP2005215945A
JP2005215945A JP2004021195A JP2004021195A JP2005215945A JP 2005215945 A JP2005215945 A JP 2005215945A JP 2004021195 A JP2004021195 A JP 2004021195A JP 2004021195 A JP2004021195 A JP 2004021195A JP 2005215945 A JP2005215945 A JP 2005215945A
Authority
JP
Japan
Prior art keywords
storage device
software
license
data
manufacturer
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
Application number
JP2004021195A
Other languages
English (en)
Inventor
Masatomo Ukeda
賢知 受田
Jun Kitahara
潤 北原
Akira Kanehira
晃 兼平
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.)
Renesas Technology Corp
Original Assignee
Renesas Technology Corp
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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2004021195A priority Critical patent/JP2005215945A/ja
Publication of JP2005215945A publication Critical patent/JP2005215945A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】複数のベンダがサポートする規格を有するICカード、メモリカードなどの記憶装置において、ソフトウェアの実行を許可させるライセンスを各ベンダーが簡単に、安全な形式でインストールできる
【解決手段】情報処理装置によりソフトウェアの実行を許可するための記憶装置において、記憶装置は、ソフトウェアライセンスを保持するようにし、ソフトウェアライセンスには、記憶装置の製造者の識別データと認証鍵とを含める。また、ソフトウェアの内部に暗号鍵を設け、ソフトウェアを実行するときには、ソフトウェアの内部の暗号鍵により、ソフトウェアライセンスを読み出して、記憶装置の製造者の識別データとソフトウェア内部の暗号鍵とにより認証鍵を生成し、読み出された認証鍵と生成された認証鍵とを比較し、ソフトウェアの実行を許可する。
【選択図】 図1

Description

本発明は、ソフトウェアの実行を許可する記憶装置に係り、ICカード、メモリカードなどの小型な記憶装置を使用するプログラムの認証処理に用いて好適なソフトウェアの実行を許可する記憶装置に関する。
インターネットの普及などにより、有用なソフトウェアやコンテンツが瞬時に世界中に配布できるようになってきた。このような状況下では、不正な使用を防止し、ソフトウェアやコンテンツの作成者の著作権を保護することが重要になってくる。
コンテンツの利用を制限する手段としては、例えば、特許文献1に示されているように利用制限情報をコンテンツに付与し、この情報を元に制限する手法が知られている
特開2002−197069号公報
ICカード、メモリカードのようなセキュリティ機能付き記憶装置は、ISO等の規格に基づいて製造されているが、その機能は発行者毎に独自なものであり、価格もサービスの種類に応じて決定されている。
しかし、ICカード、メモリカードは発行者毎の独自性が強いことから、メモリカードは数多く流通していながらも、カードの統一化、アプリケーションレベルの互換性が十分にできていないという背景がある。
仮にある統一規格により定められたセキュリティ機能が、製造メーカー間の互換性を保障する形でICカード、メモリカード等に実装された場合、利用者およびアプリケーション開発者は、カード共通のセキュリティ機能を利用して、多目的の統一カードや、製造者を問わず利用できるアプリケーションの開発が可能になる。
このような機能を持つICカード、メモリカードは、互換性が高くなるため製造者を問わず利用することが可能になるものの、製造者毎にオプションで追加されるメモリカード機能の相違から特定のカードに利用を制限したい場合や、製造業者が自社カードの拡販のために用意したアプリケーションを、他の製造者のカードで利用させたくない、あるいは、有償で利用させたい場合が発生するものと考えられる。しかしながら、現状こういった仕組みに適合できるシステムは存在していない。
本発明は、上記問題点を解決するためになされたもので、複数のベンダがサポートする規格を有するICカード、メモリカードなどの記憶装置において、ソフトウェアの実行を許可させるライセンスを各ベンダーが簡単に、安全な形式でインストールできる仕組みを提供することにある。
本発明の記憶装置には、記憶装置の製造者のIDとソフトウェアライセンスが格納される。そして、記憶装置を利用して、ソフトウェアを実行しようとする端末に、ソフトウェア秘密鍵を含んだソフトウェアを配布する。ソフトウェアを実行する際には、ソフトウェアライセンスは、記憶装置を使用する端末では、配布されたソフトウェア秘密鍵によりセキュアに読み出される。また、ソフトウェア秘密鍵とソフトウェアライセンスの一部のデータにより認証鍵を生成し、読み出されたソフトウェアライセンスの中の認証鍵と比較して矛盾がなく、かつ、記憶装置の製造者のIDと読み出されたソフトウェアライセンスの中の製造者のIDが一致するときに、ソフトウェアの実行を許可する。
本発明は、上記問題点を解決するためになされたもので、複数のベンダがサポートする規格を有するICカード、メモリカードなどの記憶装置において、ソフトウェアの実行を許可させるライセンスを各ベンダーが簡単に、安全な形式でインストールできる仕組みを提供することができる。
以下、本発明に係る一実施形態を、図1ないし図10を用いて説明する。
先ず、図1を用いて本発明に係る記憶装置を用いたソフトウェアライセンスの仕組みの概要について説明する。
図1は、本発明に係る記憶装置を利用したライセンスの運用の仕組みを表す図である。
製造者120 、製造者140、製造者160は、それぞれある共通規格に基づいた記憶装置(例えば、メモリカード、ICカード)を生産するメーカである。この共通規格では、製造者毎に異なる製造者ID、識別データが割り振られており、各製造者は、このID番号を記憶装置に設定した状態で出荷する。ここで共通規格とは、同一のコマンドレベルのインターフェースで利用可能となるセキュリティ機能を実装し、その製造において一定のセキュリティ評価を要するような規格である。このような共通規格としては、MultiMediaCard(MultiMediaCardは、Infenion Technology AG社の登録商標である)やSD(Secur Digital)カード、メモリースティック(メモリスティックはソニーの登録商標である)といったメモリカード規格や、MOPASS規格等が該当する。
発行者100は、各製造者からこれら装置を購入し販売する中間業者である。発行者100は、特定の製造者のカードを発行する機関でもよいし、複数の製造者から発行されたカードを統一的に販売する機関でもよい。また、以下に述べる製造者毎に異なるオプション機能を顧客目的に応じて選択したり、そのライセンス管理を請け負う機関であってもよい。この製造者毎に異なるオプション機能は、アプリケーションソフトウェアにより実現される機能である。
顧客180は、発行者100より供給を受けた製品(130、150、170)を利用する。記憶装置130、150、170は基本機能は等価であり、この等価な基本機能に基づきアプリケーションソフトウェア製造者は、記憶装置を利用するアプリケーションソフトウェアを製造し、顧客180は、このアプリケーションソフトウェアを利用することができる。
上記のような記憶装置を用いたシステムを提供する場合には、製造者(120、140、160)が他の製造者と製品を差別化する目的で、アプリケーションソフトウェアを用意する場合が考えられる。これには独自の暗号演算ライブラリや、PC等の認証ソフト、HDD等の記憶装置内のデータを暗号化するソフト等が該当する。また、価格や入手性の観点からゲーム機等で記憶装置のセキュリティ機能を利用したいが、自社のライセンスを持ったカードに利用を限定したい場合等も考えられる。さらに、発行者がカードの機能をライセンスにより制限することで、価格差を発生させたい場合が考えられる。
本実施形態は、こういった課題に対処するための製造者IDとライセンスを用いた認証方式に関するものである。
共通規格により製造される記憶装置は、製造者毎に独自のIDが与えられており、各製造者は製品に、このIDを含ませて出荷する。この製造者のIDは、書き換え不可能なROM(Read Only Memory)に格納されるのが望ましい。
ここでアプリケーションソフトウェアが、このIDに基づいて利用の可否を定めるならば、特定の製造者に利用を特定することが可能になる。ただし、この仕組みにはIDの読み出しに特にセキュリティ上の制限がかかっていないため認証が容易であるものの、インターフェース上のデータの改ざんにより他者製品の成りすましもまた容易であるという問題点がある。
そこで、このID読み出しのためのコマンド群とは別に、認証によりライセンスを読み出すコマンド群を定義すれば、ライセンスの改ざんおよび盗聴を防止しながらアプリケーションの利用制限を可能とすることができる。通常、ICカードはカード内に複数のカードアプリケーションを実装でき、その一機能としてこの仕組みを実装することは困難ではない。また、著作権保護機能を持つメモリカードは、ライセンスを管理する機構を既に有することから、このライセンス運用システムを応用することは困難ではない。
以下の説明では、Secure MultiMediaCard(以下SMMCと略す。SMMCはケータイdeミュージックコンソーシアムの商標であり、UDAC−MBと呼ばれるメディアベースの超流通コンテンツ配信規格に準拠したカードである)の著作権保護システムを例にとり、ライセンス運用システムの説明をおこなうことにする。
本実施形態では、図1に示されるように、製造者120は、自社の記憶装置130の拡販のためにソフトウエア190を製造し、顧客180に、CD−ROMのようなメディア、Webサイト等を通じて提供するものとする。ソフトウエア190には利用許可判定モジュール310が組み込まれており、ソフトウエア利用時に記憶装置を認証する。
ソフトウェアは、例えば、ノートPC、PDAなどのような端末装置(情報処理装置)により実行される。
次に、図2を用いて記憶装置の内部構成について説明する。
図2は、記憶装置の内部構成を表す図である。
上述のように記憶装置130、150、170は、基本機能として等価な仕組みを有しているが、必要とされる機能に応じて、メモリ470やメモリ480やICチップ490が実装されていない構成をとってもよい。図では代表例として記憶装置130を示している。
記憶装置130は、インターフェース450、メモリ470、メモリ480、コントローラチップ460と、ICチップ490から構成される。
インターフェース450は、外部との信号とをやり取りする部分であり、データ、コマンド、レスポンス、電源、グランド、クロックおよびチップセレクト信号等が入出力可能である。
コントローラチップ460は、インターフェース450から入力されたコマンドとデータに基づき所定の演算をおこない、メモリ470、メモリ480、ICチップ490にデータを格納したり、メモリチップ上のデータを読み出した後に所定の演算をおこない、インターフェース450にデータを出力したり、メモリ470、メモリ480、ICチップ490にデータを書き戻す。
また、コントローラチップ460は、後に説明する認証およびデータ保護のための暗号化をおこなう暗号処理モジュール440を有している。
メモリ470は、認証の必要なく操作できるメモリであり、製造者ID475が格納される。一方、メモリ480は、認証を通じて操作できるようになるメモリであり、ソフトウェアライセンス485(単に「ライセンス」とも記すことにする)が格納される。このライセンスとは、図1に示されるソフトウエアライセンス154と等価なデータである。
また、ICチップ490は、認証を通じて操作でき、かつ高度な耐タンパ性(不正行為、海賊行為などに対する耐性)を持ち、ライセンス495が格納される。
また、コントローラチップ460は、暗号処理モジュール440を、これはICチップ上に実装しておいてもよく、また、コントローラとは別チップで実装されていてもよい。またメモリ470、メモリ480、ICチップ490は、それぞれコントローラチップと一体形成されていてもよく、別チップ構成であってもよい。またメモリ480は、メモリ470よりも高い耐タンパ性を有することを期待されており、メモリ470がコントローラチップ460とは別構成である場合にも、メモリ480に関してはコントローラと同チップ上に構成されていたり、暗号処理モジュール440を利用して暗号化して格納されていることが望ましい。ICチップはISO7816規格に準拠した電気的および物理的な攻撃に対する耐タンパ性を有していることが望ましい。
また、メモリ480とICチップ490にライセンスが一つづつ格納されているが、メモリ480とICチップ490の一方のみ持つ構成でもよい。
記憶装置130は、規格によって定められたコマンドシーケンスの他に、その構成に応じてID読み出し手順410、ライセンス読み出し手順420、ライセンス読み出し手順430を有している。これらの手順を利用することにより、ID415、ライセンス425、ライセンス435を読み出すことができる。これらは、規格によって定められたコマンドシーケンスを拡張する形で実装されていてもよいし、まったく別のコマンド群により実装されていてもよい。ただし、ここでID415、ライセンス425、ライセンス435は、発行者もしくは製造者のみが書き換え可能な形で実装されていることが望ましい。
次に、図3ないし図6を用いて本発明の記憶装置のライセンスに関連する処理について説明する。
先ず、図3ないし図5を用いて本発明の記憶装置によりライセンスを許可するときの処理について説明する。
図3は、利用許可判定モジュール310の手順を示したフローチャートである。
図4は、ライセンス検証処理の手順を示したフローチャートである。
図5は、認証鍵生成処理の手順を示したフローチャートである。
利用許可判定モジュール310は、図1に示したソフトウェア190の一部として、端末装置(情報処理装置)上で動作するプログラムであり、ソフトウエアの実行時に動作する。
ただし、利用許可判定モジュール310は、図2に示したコントローラチップが実行する暗号処理モジュール440の一部として実装されてもよい。
また、既にこのモジュールが実行済みであり、利用許可が与えられているならば、アプリケーションソフトウェアの要件に従い、利用許可判定モジュール310を実行しなくてもよい。
先ず、利用許可判定モジュール310は、アプリケーションソフトウェアにより開始されると(311)、最初にID読み出し処理をおこなう。SMMCでは、MMCの基本命令の一つであるSEND_CID命令を実行し、CID(Card Identification)を読み出し、その中に含まれるMID(Manufacture ID)を参照する(330)。
次に、利用許可判定モジュールは310は、IDがソフトウエアによってサポートされているものか否かを判断する(312)。もし、サポートされているIDと、上記のMIDが一致しているならば、利用許可の設定をおこなう(314)。ただし、機能群毎に認証をおこない、その有効性を判定するような利用をおこなう場合には、既に読み込んだIDをソフトウエアがキャッシュしていてもよい。また、その機能群への認証が、IDの一致だけでは不十分であるなら、ID読み出し処理のあと、IDの判定を省略し、ライセンス読み出し処理を実行する経路を有していてもよい。
手続き312においてIDが一致していない場合、利用許可判定モジュール310はライセンス読み出し処理をおこなう(340)。
SMMCでは、UDAC−MB(UDAC−MBは、UDAC−MBコンソーシアムの登録商標である)規格に基づくセキュアな通信方式を用いて記憶装置から端末装置(情報処理装置)上のモジュールに盗聴のおそれなくデータの受け渡しを可能とするプロトコルを実装している。
この仕組みは、端末装置上のモジュールがSMMCに公開鍵暗号方式の公開鍵証明書を送付し、SMMCはこの公開鍵証明書を証明書発行者の公開鍵で検証することで有効性を確認し、これが有効であると判断されると、証明された公開鍵を利用して擬似乱数生成器から生成された共通鍵暗号の鍵である第1セッション鍵を暗号化して端末装置に送る。端末装置は暗号化されたデータを受け取ると、これを公開鍵暗号方式の上記公開鍵に対応する秘密鍵で復号し、第1セッション鍵を取り出す。次に、第1セッション鍵で擬似乱数生成器から生成された共通鍵暗号の鍵である第2セッション鍵を暗号化し、SMMCに送付する。SMMCは、このデータを第1セッション鍵で復号し第2セッション鍵を取り出すと、この第2セッション鍵でライセンスを暗号化し、端末装置に送付する。端末装置は第2セッション鍵でこのデータを復号することで安全にライセンスを獲得できる。手続き340はこういった盗聴の恐れのないプロトコルを用いて記憶装置からライセンスを読み出す処理である。
これはSMMCのみではなく、SDカードやICカードを用いても同等の処理が可能である。
さらに、利用判定モジュールは、実行可能な一つまたは複数のライセンス読み出し手続きを有していてもよく、また優先的にどれを用いるかは、ソフトウエアが指定してもよいし、予め所定の順番を定めていてもよい。また手続きは、最初に指定された一つが失敗することで、失敗としてもよいし、複数のライセンス読み出し処理を実装している場合には、利用可能なすべての認証が失敗した段階で失敗と判定してもよい。
ライセンスの読み出しが成功した場合には(340)、端末装置がライセンスの検証処理をおこなう(350)。ライセンス検証処理350の詳細については、次に、図4のフローチャートを用いて説明する。
利用許可判定モジュール310は、ライセンス検証処理350の結果に基づき、ライセンスの有効か否かの判定を行う(316)。ここで有効であると判断された場合には、アプリケーションソフトウェアの利用許可の設定をおこない(320)、そうでない場合には不許可の設定をおこなう(318)。
処理が成功した場合には、その結果を呼び出し元のソフトウエアに報告し(322)、そのソフトウェアは利用可能になる。
また、利用判定モジュール310は、一度ライセンスで認証が成功したカードのCIDを記憶しておき、その後の処理においては、ライセンスを読み出すことなくCIDの比較のみでアプリケーションを有効としてもよい。また、CIDに含まれるデータのうちにシリアル番号が登録してあるものの場合には、上記の製造者のIDの検証の代わりに記憶装置のシリアル番号を用いて認証を行ってもよい。また製造者IDの検証とシリアル番号の検証を両方おこなってもよい。これは後に応用例(2)として説明する。
このようにして認証をおこなった場合、記憶装置130は、ソフトウエアの製造元から供給された記憶装置であり、ソフトウエアは利用許可判定モジュール310によりライセンスの認証がおこなわれたことになるため、ソフトウェアが利用許可された状態になる。
次に、図4のフローチャートを用いてライセンス検証処理の詳細について説明する。
端末装置は、ライセンス読み出し処理で用いた証明書データと秘密鍵データをセキュアに格納している。証明書データは、秘密鍵と対となる公開鍵を含むデータであり、秘密鍵の有効性を判断するためのデータである。ライセンス検証処理350はこれらのデータを参照してライセンス検証処理をおこなう。なお、ライセンス検証処理で用いるライセンスは予め生成され、記憶装置130に格納しておく必要があるが、これは後ほど、図6のフローチャートにより説明する。
ライセンス検証処理350が、実行されると(351)、認証鍵生成処理380を実行する。認証鍵生成処理380の詳細は、後に図5のフローチャートにより説明する。
そして、認証鍵生成処理380が生成した認証鍵の下位10バイトが、ライセンス読み出し処理340で読み出した認証鍵290と一致しているか否かを確かめる(362)。なお、認証鍵の下位10バイトでなくとも、認証鍵の生成時と整合性を取れており、セキュリティが確保されていれば、認証鍵の任意の一部または全部を検証に用いることができる。
一致していない場合には、ライセンスの無効を設定する(364)。一致している場合には、次に、ID270と、ID読み出し処理330で読み出したIDと一致しているか否かを確かめる(366)。一致していない場合には、ライセンスの無効を設定する(368)。そして、一致している場合には、ライセンスの有効を設定する(370)。処理が終了すると、利用許可判定モジュール310にもどる(372)。
次に、図5のフローチャートを用いて認証鍵生成処理について詳細に説明する。
認証鍵生成処理380は、実行されると(381)、秘密鍵データと証明書データの一部の排他的論理和を計算する(352)。証明書データの一部とは、証明書データのあるオフセット以降のデータの全体または一部を、ハッシュ演算または暗号演算(共に、一方向性演算による演算)することにより計算されたデータである。このデータを仮にデータAと呼ぶ。
次に、ライセンスに含まれるID270と認証データ280を結合し、さらに秘密コードを連結する(354)。このデータを仮にデータBと呼ぶ。またデータの連結の仕方は単にバイトデータとして並べるだけでもよいし、XORなどの演算により連結してもよい。ここで、秘密コードとは、利用許可モジュールが定める固有のデータである。例えば、この固有データとして製造者や発行者等の情報を埋め込んでおくことで、生成されるデータBをより推測困難にする効果を有する。また、認証データ280は、この仕組みにより利用可能となる機能の区分を示しており、その利用はアプリケーションに依存する。以下、連結の方法は任意の手法で実装してもよい。
次に、データAとデータBを連結し、SHA−1による演算をおこなう(356)。このとき生成されたデータを仮にデータCと呼ぶ。ここでSHA−1は、一方向演算のアルゴリズムの一種であり、MD5やSHA−256等の他の一方向演算アルゴリズムを用いて実装されていてもよい。一方向演算とは、順方向の演算は簡単であるが、逆方向の演算が困難であるような演算である。
次に、秘密鍵データと証明書データの一部の排他的論理和をとる(358)。このとき生成されたデータを仮にデータDと呼ぶ。そして、データCとデータDを連結し、SHA−1による演算をおこなう(360)。このとき生成されたデータを仮にデータEと呼ぶことにする。
認証鍵生成処理380は、データEを元のモジュールに返す
これらの処理は、ライセンスの改ざんを防止するためにおこなうものである。
そして、上記UDAC−MB規格を用いた本発明の実装方法では、ソフトウェア190の内部には、ソフトウェア秘密鍵を有し、記憶装置130には、公開鍵を有することになる。そして、ライセンスを読出すときの通信路におけるデータの安全性を確保するために、通信時にソフトウェア秘密鍵を用いて暗号化して送信している。
しかしながら、ライセンスの安全性を確保する処理は、以上の方法のみならず、様々な方法が考えられる。
上記の方法の代わりに先に述べたライセンス読み出し処理に用いる秘密鍵とは、異なる秘密鍵を用いてライセンスを暗号化しておき、それを対応する公開鍵で復号して判定するという手法も考えられる。すなわち、公開鍵方式により予めライセンスを暗号化しておく方法である。暗号化処理の分野では既知の通り、公開鍵暗号方式は、秘密鍵と公開鍵を対にして、暗号処理と複合処理の場面に応じて、それらを使い分ける方式である。
このように予めライセンスを暗号化しておく場合には、元データと、暗号化データを用意する必要があり、通常、必要なデータ量が増大するという問題がある。また、公開鍵演算のアルゴリズムは計算量が大きく、実際に利用する際には高速な演算器を搭載する必要が生じる。本実施形態で説明した方法は、SHA−1をベースとした演算であるため計算量が公開鍵暗号を利用した方法に比べて軽微であり、また、検証のために用いる認証データ290を任意のバイト長とすはることができるため、公開鍵を利用する方式よりも実用性が高い。ただし、ソフトウエアを実行する端末装置が高速な演算器を有しており、ライセンス長が特に問題とならないならば、公開鍵暗号方式を利用して、ライセンスの検証処理をおこなってもよい。
また、ソフトウェアの暗号鍵と記憶装置のライセンスの暗号鍵を一致させる共通鍵方式を用いてもよい。
次に、図6を用いてライセンス生成処理について説明する。
図6は、ライセンス生成処理の手順を示すフローチャートである。
図1に示されるように、製造者140の記憶装置150は、上記の仕組みによりそのままでは、ソフトウエア190によって利用できないが、製造者120よりライセンスを受けることで利用可能となる。製造者140は、製造者120と利用許可の契約を結ぶ。このとき製造者140は、製造者120に製造者140のIDを告げ、製造者120は、製造者140用のソフトウエアライセンス154を、生成して供給する(145)。
図6に示されるように、ライセンス生成処理510が、実行されると(512)、製造者120は、ソフトウエアライセンス154にサポートしたい製造者のID270を含める(514)。
次に、認証データ280に、ソフトウエアライセンス154でサポートする機能を設定する(516)。
次に、図5に示した認証鍵生成処理380を実行する。ここでは、ソフトウェアの秘密鍵が用いられるが、このソフトウェアの秘密鍵は、ソフトウェアの内部にも保持されるようにする。
次に、得られたデータのうち下位10バイトを認証鍵としてソフトウエアライセンス154に設定する(518)。このデータのうち下位10バイトとは、必ずしも必須のものではなく、ソフトウエア側の認証鍵による検証処理が一致しているならば、ソフトウエアライセンスに含める認証鍵データの長さを変えてもよい。ただし短くなると、総当りによる攻撃が容易となるため、10バイトより長いデータであることが望ましい。そして、一連の操作が終わると処理を終了する(520)。
このとき作られるソフトウエアライセンス154は、それぞれのデータがどんな性質のものかを示すタグデータと、長さを示すデータを伴っていることが望ましい。また、特に必要なければ、認証データを設定しなくてもよい。
製造者140は記憶装置150内にソフトウエアライセンス154を認証を通じて読み出し可能な情報を格納して供給することで、ソフトウエア190によって利用可能となる。この契約をおこなっていない製造者160の記憶装置170は、ソフトウエア190は利用可能な状態にはならない。
SMMCのライセンスは、端末装置を媒介にしてネットワークを通じてダウンロードできるため、カード発行後にダウンロードできるような仕組みであってもよいし、製造時に書込み禁止とし、ライセンスを変更できない形で供給してもよい。
次に、図7ないし図10を用いて記憶装置の製造からソフトウェア利用までの手順を、製造者、発行者、顧客毎に説明する。
図7ないし図10は、記憶装置の製造からソフトウェア利用までの手順を、製造者、発行者、顧客毎に示した図である。
図7は、発行者100が、製造者120の記憶装置130および製造者160の記憶装置170を発行する場合を表している。
製造者120は、記憶装置130を製造し(610)、発行者100に委託する(612)。このときの流通の形式としては、発行者100が製造者120の記憶装置130を買い取る形でも良いし、委託販売をおこなう形でもよいし、発行者100が発行したことを示すセキュリティ情報を記憶装置130に格納の後に製造者120が販売する形でもよいし、別の組織が販売する形態でもよい。
また、発行者100を介さずに、製造者120が直接または他の組織を通じて記憶装置130を販売する形態であってもよい。以下の発行者100による発行および入手の手続きも同様である。顧客180は、記憶装置130を購入する(614)。ただし、後に述べるソフトウエアの販売やサービスによる収入が見込める場合などは、記憶装置130を無償で提供しても良いし、貸与する形式であってもよく、この際の課金の有無は問わない。以下の顧客180による記憶装置の購入についても同様である。そして、製造者120はソフトウエア190の製造および提供をおこなう(616)。この際、ソフトウエア190に利用許可判定モジュール310を組み込んでおく。顧客は、このソフトウエア190を入手する(618)。この入手の手段は、インターネットまたはCD等の媒体による無償提供であっても良いし、有償での販売であってもよい。また、予め記憶装置130に格納された状態で提供されてもよい。ソフトウエアは顧客が利用するシステムで実行可能なものであり、また、記憶装置を接続可能なものとする。例えば、記憶装置がUSBメモリの形状を持つ場合には、USB端子が既に備わっているか、拡張により装着可能であることが望ましい。このような状況の下で、顧客がソフトウエア190を実行すると、利用許可判定モジュール310は、記憶装置130でソフトウエア190が実行可能か否かを判定する(620)。この場合、記憶装置のID132は、ソフトウエア190に登録されたものであるため(622)、ソフトウエア190は、利用可能となる(624)。
また、図7の下部に示されているのは、他の製造者160により記憶装置170が製造され(626)、発行者100により発行され(628)、顧客180により購入される場合である(630)。このとき同じソフトウエア190を、記憶装置170を用いて利用しようとした場合(632)、記憶装置170のID172がソフトウエア190に登録されていないために(634)、ソフトウエア190を利用することはできない(636)。
次に、図8に示されるのは、製造者140が記憶装置150を製造し(712)、製造者120からライセンスの供給を受け(714)、それを記憶装置150に格納して(716)、発行者100を通じて発行する場合である(718)。この場合には、顧客は図7の手順と同様に、製造者120の製造したソフトウエア190を入手し(722、724)、記憶装置150を用いて利用することができる(726、728、730)。また、このライセンスの格納は、発行者100がおこなってもよい。発行者100は記憶装置150を入手すると(732)、発行者100は製造者120にソフトウエアライセンスの発行を要求する。このとき製造者120は、発行者100に割り当てられたIDでソフトウエアライセンスを作成する。ただし、発行者100のIDは、製造者のIDと性質が異なる。このため、それが製造者のIDを示すことを認証データ280に登録し。かつ、ソフトウエア190は認証データに基づきソフトウエアライセンスを解釈できる仕組みであることが望ましい。またこのとき、製造者IDと同様に、発行者のIDについても記憶装置150より読み出せる仕様であることが望ましい。この条件の場合、発行者100は、本来だとソフトウエア190によりサポートされていない記憶装置150をソフトウエアライセンスを格納することにより(736)、ソフトウエア190で利用可能とすることができるようになる(738、740、742、744)。
次に、図9に示されるのは、製造者120が製造した記憶装置130を(812)、発行者100が入手し(814)、発行者100が製造したソフトウエアを、その利用のためのソフトウエアライセンスを記憶装置130に格納することにより、同じ記憶装置130であっても発行者100が発行した記憶装置130を用いた場合にのみ利用可能とすることができる(814、816、818、820、822、824、826、828、830)。この場合、別の発行者800が同様に製造者120から記憶装置130を入手し、発行した場合(832)、同じ製造者から発行された記憶装置130であっても、発行者800の発行した記憶装置130にはソフトウエアライセンスが格納されていないため、ソフトウエア190の利用はできない(834、836、838、840)。
次に、図10に示されるのは、アプリケーションソフトウェア製造者900が、製造者120が製造した記憶装置130が、販売された後に、その記憶装置に対してソフトウエアライセンスを発行することでアプリケーションソフトウェア製造者900が製作したソフトウエア190を利用可能とする場合である。顧客180は、発行者100により発行された記憶装置130を購入する(914,916)。この場合、記憶装置130はまだソフトウエアライセンスを有していない状態である。したがって、顧客130は記憶装置130を利用するソフトウエア190をアプリケーション製作者から入手の後に(918、920)、実行を試みても利用許可は与えられない(922、924、926)。そこで、顧客180は、アプリケーション製作者900にソフトウエアライセンスを要求する。アプリケーション製造者900は、顧客の記憶装置の持つ情報(製造者ID、記憶装置シリアルナンバー等)を基にソフトウエアライセンスを製造する(928)。アプリケーション製造者は、記憶装置130との間でネゴシエーションが可能な手段でソフトウエアライセンスを発行し(930)、顧客180はこれを購入して記憶装置130に格納する(932,934)。この手段は、記憶装置130のみが解読可能な状態で暗号化されて送られてもよいし、記憶装置とアプリケーション製造者の間で、セキュアなセッションを構築した後に配信する仕組みであってもよい。ここでのセキュアとは盗聴及び改ざんが困難なデータの受け渡し状態を意味する。SMMCの場合、証明書で通信相手を認証する仕組みを持つため、セキュアにライセンスを格納可能である。この方法によりソフトウエアライセンスを格納した記憶装置を利用するときに、ソフトウエア190は利用可能となる(936,938,940)。ここで、このようなダウンロードの仕組みでライセンスを供給する行為者は、アプリケーションソフトウェア製造者のみでなく、発行者100であってもよく、また製造者120であってもよい。
また図7ないし図10で説明したプロトコルを、ソフトウエア190はすべて実装する必要はない。システムの要件にあわせたもののみを実装すればよい。
このような手順を経ることにより、アプリケーションソフトウェアは、記憶装置に格納された権限に基づき、その機能の一部または全部に利用制限を設けることが可能となり、また同時に記憶装置側の機能の一部または全部への利用制限としても作用する。
このシステムの応用例として以下のようなものが考えられる。
(1)ICカードのようなセキュリティモジュールは、PKCS#11、CSP、PC/SC等のライブラリソフトの構築に多くの費用がかかる。これらセキュリティモジュールを販売するメーカは、アプリケーション製造メーカに提供するか、特定の発行者向けに提供するかの戦略を選択することが予想される。ここで特定の発行者向けにライブラリソフトを提供する場合、このシステムを利用して契約していない他社に対してライブラリを利用させないようにすることが可能となる。
(2)上記の例において、アプリケーション製造メーカではなく、個人に対してライブラリ等を提供する場合も考えられる。この際、製造者のIDではなく、カードのシリアル番号を利用する。例えば、記憶装置を購入した個人は、ライブラリを利用するために、ライブラリを販売元から購入する。このとき、個人は購入したカードのシリアル番号を告げ、ライブラリ製造元はこのシリアル番号をベースにライセンスを製造する。製造したライセンスはセキュア通信を利用してカードに格納される。アプリケーションはカードのシリアル番号とライセンスを読み出した後に、これが正しい場合には認証を成功とする。
本発明に係る記憶装置を利用したライセンスの運用の仕組みを表す図である。 記憶装置の内部構成を表す図である。 利用許可判定モジュール310の手順を示したフローチャートである。 ライセンス検証処理の手順を示したフローチャートである。 認証鍵生成処理の手順を示したフローチャートである。 ライセンス生成処理の手順を示すフローチャートである。 記憶装置の製造からソフトウェア利用までの手順を、製造者、発行者、顧客毎に示した図である(その一)。 記憶装置の製造からソフトウェア利用までの手順を、製造者、発行者、顧客毎に示した図である(その二)。 記憶装置の製造からソフトウェア利用までの手順を、製造者、発行者、顧客毎に示した図である(その三)。 記憶装置の製造からソフトウェア利用までの手順を、製造者、発行者、顧客毎に示した図である(その四)。
符号の説明
100…発行者、120…製造者、130…記憶装置、154…ソフトウエアライセンス、180…顧客、190…ソフトウエア、310…利用許可判定モジュール、350…ライセンス検証処理、490…ICチップ。

Claims (16)

  1. 電子機器(130)が搭載される電子システム(180)中で該電子機器(130)を動作させるソフトウエア(190)を該ソフトウエア(190)の使用ライセンスのない状態では非動作とさせるために、
    上記ソフトウエア(190)中のソフトウエア秘密鍵と上記ソフトウエア(190)の使用ライセンスを有するセカンドベンダーの識別情報とを用いて、上記ソフトウエア(190)の使用ライセンスを有する上記セカンドベンダーに該セカンドベンダーが製造する他の電子機器(150)中にインストールされる電子機器認証情報(認証データ、認証鍵)を高セキュリティ化スクランブルを用いて生成し、この生成された該電子機器認証情報を上記セカンドベンダーにインターネットを介して発信し、
    上記電子機器(130)又は上記他の電子機器(150)が搭載される上記電子システム(180)へ上記ソフトウエア秘密鍵をインターネットを介して配信することで、上記電子機器(180)内で上記ソフトウエアは受信した上記ソフトウエア秘密鍵を上記電子機器認証データとの間の相関関係を調べて所定の相関関係が得られない場合には、上記他の電子機器(150)は上記ソフトウエアの使用ライセンスがないとするようにして上記ソフトウエアの上記他の電子機器(150)を用いた動作を禁止することを可能とする情報発信方法。
  2. 情報処理装置によりソフトウェアの実行を許可するための記憶装置において、
    前記記憶装置は、前記ソフトウェアの実行を許可するためのソフトウェアライセンスに関する情報を保持し、
    前記ソフトウェアライセンスに関する情報は、前記記憶装置の製造者の識別データと認証鍵とを含み、前記ソフトウェアの内部に暗号鍵が設けられており、
    前記ソフトウェアを実行するときには、前記ソフトウェアの内部の暗号鍵により、前記ソフトウェアライセンスに関する情報を読み出して、前記記憶装置の製造者の識別データとソフトウェア内部の暗号鍵とにより認証鍵を生成し、読み出された認証鍵と生成された認証鍵とを比較し、ソフトウェアの実行を許可することを特徴とする記憶装置。
  3. 前記ソフトウェアは、前記記憶装置を用いた処理をおこなうことを特徴とする請求項2記載の記憶装置。
  4. 前記ソフトウェアライセンスに関する情報は、ソフトウェアの機能を表す認証データを含み、さらに、その認証データを加えて認証鍵を生成することを特徴とする請求項2記載の記憶装置。
  5. 前記ソフトウェアは、ソフトウェアに関する情報を記述した秘密コードを含み、さらに、その秘密コードを加えて認証鍵を生成することを特徴とする請求項2記載の記憶装置。
  6. 前記記憶装置は、その記憶装置の製造者の識別データを保持し、この保持された記憶装置の製造者の識別データと、読みだされた前記記憶装置の製造者の識別データとを比較し、ソフトウェアの実行を許可することを特徴とする請求項2記載の記憶装置。
  7. 情報処理装置により実行されるソフトウェアのソフトウェア実行方法において、
    記憶装置に、ソフトウェアライセンスに関する情報を書き込むステップと、
    ソフトウェアの内部に設けられる暗号鍵と前記ソフトウェアライセンスに関する情報の一部とにより、第1の認証鍵を一方向演算により生成するステップと、
    前記記憶装置に、前記第1の認証鍵をソフトウェアライセンスに関する情報として書き込むステップと、
    前記情報処理装置に前記ソフトウェアの内部に設けられる暗号鍵を含むソフトウェアを供給するステップと、
    前記情報処理装置において前記記憶装置を装着して、前記ソフトウェアを実行するときに、前記ソフトウェアの内部に設けられる暗号鍵により、前記記憶装置に書き込まれた前記ソフトウェアライセンスに関する情報を読出すステップと、
    前記ソフトウェアの内部に設けられる暗号鍵と前記ソフトウェアライセンスに関する情報の一部とにより、第2の認証鍵を一方向演算により生成するステップと、
    前記ソフトウェアライセンスに関する情報として読み出された第1の認証鍵と、生成された前記第2の認証鍵とを比較し、判定するステップと、
    前記第1の認証鍵と前記第2の認証鍵とを判定するステップの結果に従って、前記ソフトウェアの実行を許可するステップとを有することを特徴とするソフトウェア実行方法。
  8. 前記ソフトウェアライセンスに関する情報に、前記記憶装置の製造者を識別する製造者の第1の識別データを含むことを特徴とする請求項7記載のソフトウェア実行方法。
  9. 前記記憶装置に、その記憶装置の製造者を識別する製造者の第2の識別データを書き込むステップと、
    前記ソフトウェアライセンスに関する情報として読み出された前記製造者の第1の識別データと、前記製造者の第2の識別データとを比較し、判定するステップと、
    前記製造者の第1の識別データと、前記製造者の第2の識別データと判定するステップの結果に従って、前記ソフトウェアの実行を許可するステップとを有することを特徴とする請求項8記載のソフトウェア実行方法。
  10. 前記ソフトウェアの内部の暗号化鍵は、秘密鍵であって、前記ソフトウェアは、前記秘密鍵と対となる公開鍵を含む証明書データを含み、
    前記ソフトウェアライセンスは、前記ソフトウェアの機能を表す認証データを含み、
    前記認証鍵を生成するステップは、前記秘密鍵と前記証明書データと前記認証データを利用して生成されることを特徴とする請求項7記載のソフトウェア実行方法。
  11. 情報処理装置に記憶装置を用いた処理を許可するためのライセンスであって、前記記憶装置内に格納されるライセンスを生成するためのライセンス生成装置において、
    前記情報処理装置は、前記ライセンスの前記記憶装置を製造する製造者を識別するための識別データと、前記記憶装置を用いた機能を表すための認証データに対し、一方向演算をおこなって認証鍵を生成して、その認証鍵により記憶装置を用いた処理を許可するか否かの判定をおこなう装置であって、
    このライセンス生成装置は、
    前記記憶装置を製造する製造者を識別するための識別データと、前記記憶装置を用いた機能を表すための認証データに対し、一方向演算をおこなう認証鍵生成部と、
    前記識別データと、前記認証データと、前記認証鍵生成部によって得られた認証鍵とを含む前記ライセンスを生成するライセンス生成部とを備えるライセンス生成装置。
  12. 情報処理装置に記憶装置を用いた処理を許可するための記憶装置を製造するための記憶装置製造装置において、
    前記情報処理装置は、前記ライセンスの前記記憶装置を製造する製造者を識別するための識別データと、前記記憶装置を用いた機能を表すための認証データに対し、一方向演算をおこなって認証鍵を生成して、その認証鍵により記憶装置を用いた処理を許可するか否かの判定をおこなう装置であって、
    この記憶装置製造装置は、
    前記情報処理装置に前記記憶装置を用いた処理を許可するためのライセンスを、前記記憶装置に格納する第1の格納処理部と、
    前記記憶装置を製造する製造者を識別するための第1の製造者識別データを、前記記憶装置に格納する第2の格納処理部とを備え、
    前記ライセンスは、前記記憶装置を製造する製造者を識別するための第2の製造者識別データと、前記記憶装置を用いた機能を表すための認証データと、前記第2の識別データと前記認証データに対して一方向演算をおこなった結果得られた認証鍵とを含むことを特徴とする記憶装置製造装置。
  13. 情報処理装置に記憶装置を用いた処理を許可するための記憶装置において、
    前記情報処理装置に前記記憶装置を用いた処理を許可するためのライセンスを記憶する第1の記憶領域と、
    前記記憶装置を製造する製造者を識別するための第1の製造者識別データを記憶する第2の記憶領域と、
    前記情報処理装置からの指示に従って、前記第1の記憶領域から前記ライセンスを読み出して、前記情報処理装置へ送出し、前記情報処理装置からの指示に従って、前記第2の記憶領域から前記第1の製造者識別データを読み出して、前記情報処理装置へ送出する処理部とを備え、
    前記ライセンスは、前記記憶装置を製造する製造者を識別するための第2の製造者識別データと、前記記憶装置を用いた処理の機能を記述するための認証データと、前記第2の識別データと前記認証データに対して一方向演算をおこなった結果得られた認証鍵とを含み、
    前記情報処理装置は、前記ライセンスの第2の製造者識別データと、前記認証データに対し、一方向演算をおこなって、認証鍵を生成して、その認証鍵により記憶装置を用いた処理を許可するか否かの判定をおこなうことを特徴とする記憶装置。
  14. 記憶装置を用いた処理を実行するための情報処理装置において、
    前記記憶装置を製造する製造者を識別するための製造者識別データと、前記記憶装置を用いた処理の機能を表すための認証データと、前記製造者識別データと前記認証データに対して一方向演算をおこなった結果得られた第1の認証鍵とを含むライセンスを、前記記憶装置から読み出し、
    前記ライセンス内の前記識別データと前記認証データに対して前記一方向演算をおこなう演算部と、
    前記演算部によって得られた第2の認証鍵と、前記第1の認証鍵を比較する比較部と、
    前記比較部の比較結果に応じて、前記記憶装置を用いた処理を実行する実行部とを備える情報処理装置。
  15. 前記記憶装置を製造する製造者を識別するための他の製造者識別データを、前記記憶装置から読み出し、
    前記比較部の比較結果に応じて、前記他の識別データと前記ライセンス内の前記製造者識別データとを比較する他の比較部とを備え、
    前記実行部は、前記他の比較部の比較結果に応じて、前記記憶装置を用いた処理を実行する請求項14記載の情報処理装置。
  16. 前記演算部は、
    前記ライセンスを前記記憶装置から読み出すために用いた秘密鍵データと、前記秘密鍵データと対の公開鍵データを含む証明書データの一部に基づいて、データAを生成し、
    前記ライセンス内の前記製造者識別データと前記認証データに基づいて、データBを生成し、
    前記データAと前記データBに対して前記一方向演算をおこない、データCを生成し、
    前記秘密鍵データと前記証明書データの他の一部に基づいて、データDを生成し、
    前記データCと前記データDに対して前記一方向演算をおこない、前記第2の認証鍵を生成することを特徴とする請求項15記載の情報処理装置。
JP2004021195A 2004-01-29 2004-01-29 情報処理装置、ソフトウェアの実行を許可する記憶装置、および、ソフトウェア実行方法 Pending JP2005215945A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004021195A JP2005215945A (ja) 2004-01-29 2004-01-29 情報処理装置、ソフトウェアの実行を許可する記憶装置、および、ソフトウェア実行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004021195A JP2005215945A (ja) 2004-01-29 2004-01-29 情報処理装置、ソフトウェアの実行を許可する記憶装置、および、ソフトウェア実行方法

Publications (1)

Publication Number Publication Date
JP2005215945A true JP2005215945A (ja) 2005-08-11

Family

ID=34904913

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004021195A Pending JP2005215945A (ja) 2004-01-29 2004-01-29 情報処理装置、ソフトウェアの実行を許可する記憶装置、および、ソフトウェア実行方法

Country Status (1)

Country Link
JP (1) JP2005215945A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007129320A (ja) * 2005-11-01 2007-05-24 Sony Corp 通信システム、通信装置及び通信方法、並びにコンピュータ・プログラム
JP2008027116A (ja) * 2006-07-20 2008-02-07 Glory Ltd セキュリティ管理装置、icカード、およびセキュリティ管理方法
CN100461137C (zh) * 2006-12-21 2009-02-11 杭州东信金融技术服务有限公司 硬加密密码键盘装置
WO2009002959A3 (en) * 2007-06-25 2009-04-23 Microsoft Corp Activation system architecture
US7693990B2 (en) 2006-05-12 2010-04-06 Sharp Kabushiki Kaisha Multifunction device including command control and authentication, and recording medium storing program for causing computer to function as the same
JP2011018209A (ja) * 2009-07-09 2011-01-27 Ricoh Co Ltd ネットワークプロジェクタ
JP2011504263A (ja) * 2007-11-12 2011-02-03 マイクロン テクノロジー, インク. スマートストレージデバイス
JP2012027916A (ja) * 2010-07-21 2012-02-09 Samsung Sds Co Ltd システムオンチップ基盤のアンチマルウェアサービスを提供できるデバイス及びその方法
EP3048548A1 (en) 2015-01-21 2016-07-27 Canon Kabushiki Kaisha Delivery management server and delivery management method for delivering updated application

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007129320A (ja) * 2005-11-01 2007-05-24 Sony Corp 通信システム、通信装置及び通信方法、並びにコンピュータ・プログラム
US7693990B2 (en) 2006-05-12 2010-04-06 Sharp Kabushiki Kaisha Multifunction device including command control and authentication, and recording medium storing program for causing computer to function as the same
JP2008027116A (ja) * 2006-07-20 2008-02-07 Glory Ltd セキュリティ管理装置、icカード、およびセキュリティ管理方法
CN100461137C (zh) * 2006-12-21 2009-02-11 杭州东信金融技术服务有限公司 硬加密密码键盘装置
US8620818B2 (en) 2007-06-25 2013-12-31 Microsoft Corporation Activation system architecture
WO2009002959A3 (en) * 2007-06-25 2009-04-23 Microsoft Corp Activation system architecture
US9881348B2 (en) 2007-06-25 2018-01-30 Microsoft Technology Licensing, Llc Activation system architecture
TWI484364B (zh) * 2007-06-25 2015-05-11 Microsoft Corp 啟動系統及方法
JP2011504263A (ja) * 2007-11-12 2011-02-03 マイクロン テクノロジー, インク. スマートストレージデバイス
JP2011018209A (ja) * 2009-07-09 2011-01-27 Ricoh Co Ltd ネットワークプロジェクタ
JP2014089741A (ja) * 2010-07-21 2014-05-15 Samsung Sds Co Ltd システムオンチップ基盤のアンチマルウェアサービスを提供できるデバイス及びその方法
JP2012027916A (ja) * 2010-07-21 2012-02-09 Samsung Sds Co Ltd システムオンチップ基盤のアンチマルウェアサービスを提供できるデバイス及びその方法
EP3048548A1 (en) 2015-01-21 2016-07-27 Canon Kabushiki Kaisha Delivery management server and delivery management method for delivering updated application
US11392671B2 (en) 2015-01-21 2022-07-19 Canon Kabushiki Kaisha Delivery management server and delivery management method for delivering updated application

Similar Documents

Publication Publication Date Title
US7124443B2 (en) Information transaction system
EP1942430B1 (en) Token Passing Technique for Media Playback Devices
KR100912276B1 (ko) 하드웨어 식별에 기초한 디지털권 관리 방법을 이용한 전자소프트웨어 배포 방법 및 시스템
US7877604B2 (en) Proof of execution using random function
US20040088541A1 (en) Digital-rights management system
US20050138387A1 (en) System and method for authorizing software use
JP2004104539A (ja) メモリカード
EP2037388A1 (en) Certifying device, verifying device, verifying system, computer program and integrated circuit
US20060064756A1 (en) Digital rights management system based on hardware identification
JP2003530599A (ja) 暗号化された媒体へのアクセス権を制御・行使するシステム及び方法
JPH10507324A (ja) ハードウェア・エージェントに対するロビング・ソフトウェア・ライセンス
KR100939725B1 (ko) 모바일 단말기 인증 방법
TWI471804B (zh) 空白智慧卡裝置發行系統
JP5118700B2 (ja) 仮想マシンのアクティブ化を伴う携帯可能な大容量記憶装置
CN103390122A (zh) 应用程序发送方法、应用程序运行方法、服务器和终端
US6651169B1 (en) Protection of software using a challenge-response protocol embedded in the software
US20190044709A1 (en) Incorporating software date information into a key exchange protocol to reduce software tampering
JP2005215945A (ja) 情報処理装置、ソフトウェアの実行を許可する記憶装置、および、ソフトウェア実行方法
JP2009199147A (ja) 通信制御方法および通信制御プログラム
JP2002352146A (ja) コンテンツ部分課金方法及びシステム及びコンテンツ部分課金プログラム及びコンテンツ部分課金プログラムを格納した記憶媒体
JP2005293504A (ja) プログラム、コンピュータおよびデータ処理方法
US11748459B2 (en) Reducing software release date tampering by incorporating software release date information into a key exchange protocol
CN110602058B (zh) 芯片激活装置、方法及计算机可读存储介质
CN115952473A (zh) 基于nft技术的智能算法版权鉴权方法、装置及相关介质
CN115643060A (zh) 一种固件文件的执行方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060731

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060731

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080304

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080425

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080520