JP4120125B2 - 利用許可証発行装置および方法 - Google Patents

利用許可証発行装置および方法 Download PDF

Info

Publication number
JP4120125B2
JP4120125B2 JP2000024525A JP2000024525A JP4120125B2 JP 4120125 B2 JP4120125 B2 JP 4120125B2 JP 2000024525 A JP2000024525 A JP 2000024525A JP 2000024525 A JP2000024525 A JP 2000024525A JP 4120125 B2 JP4120125 B2 JP 4120125B2
Authority
JP
Japan
Prior art keywords
license
public key
usage
unit
verification
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.)
Expired - Fee Related
Application number
JP2000024525A
Other languages
English (en)
Other versions
JP2001216198A (ja
Inventor
仁樹 京嶋
吉浩 申
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2000024525A priority Critical patent/JP4120125B2/ja
Priority to US09/678,031 priority patent/US7225165B1/en
Publication of JP2001216198A publication Critical patent/JP2001216198A/ja
Application granted granted Critical
Publication of JP4120125B2 publication Critical patent/JP4120125B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3249Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using RSA or related signature schemes, e.g. Rabin scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/18Legal services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Technology Law (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、利用許可証発行方法および利用許可証発行装置に関する。
【0002】
【従来の技術】
インターネットの急速な普及に伴い、画像、音声、映像といったデジタルデータあるいはソフトウエアといったデジタルコンテンツをインターネット経由で提供し、対価を得るというビジネスが広がりつつある。デジタルコンテンツの提供者の立場にたてば、インターネットを利用すれば、デジタルコンテンツのパッケージングや流通のためのコストを省くことができるというメリットがあり、また、消費者からみれば、家庭にいながらでもデジタルコンテンツを入手できるというメリットがある。インターネット経由のデジタルコンテンツの提供は、今後、デジタルコンテンツを対象としたビジネスの主流になっていくことは疑いない。
【0003】
現在のデジタルコンテンツの販売において最も問題なのは、デジタルコンテンツの利用者から正しく対価を徴収するのが困難なことである。最近では、電子的な決済手段が整い始め、金銭の授受自体は安全に行えるようになりつつある。したがって、デジタルコンテンツの利用者に正しく対価を支払う意志がある限りは、問題が起こりにくくなってきた。しかし、何の痕跡もなく複製が可能であるというデジタルコンテンツの特徴により、対価を支払う意志のないものがコンテンツを複製し、使用することは非常に容易である。
【0004】
この問題に関して、現在もっとも多く取られている方法が、サイトのアクセスコントロールである。
【0005】
この方法では、消費者は、デジタルコンテンツをインターネット上にあるサイトからダウンロードする。そのサイトにはアクセスコントロールがかけてあり、対価を支払った消費者のみがデジタルコンテンツをダウンロードすることが可能である。サイトにアクセスした消費者からは対価が徴収できるものの、ダウンロードした後のデジタルコンテンツは複製が可能であり、その複製の利用者からは対価を得ることができないことが問題である。しかし、少なくともデジタルコンテンツをダウンロードした消費者からは対価が得られること、また、仕組みが簡便で導入しやすいことから、この方法を利用している業者は多い。
【0006】
複製したデジタルコンテンツの利用者からかも対価を徴収するために考案された手段が、ソフトウエアキーと呼ばれる利用許可証を利用した方法である。主にソフトウエアの販売に利用される方法であり、シェアウエアの代金回収に用いられることが多い。
【0007】
この方法では、デジタルコンテンツの提供者は、自己が提供するデジタルコンテンツに対して有効なソフトウエアキーと呼ばれるデジタルデータの集合と、そのソフトウエアキーの有効性を検証する方法とを決定する。デジタルコンテンツにはソフトウエアキーの検証方法が実装され、有効なソフトウエアキーが提示されたときにのみ、自己の利用を許すように作成される。ソフトウエアキーは、デジタルコンテンツの対価を払った消費者にのみ送付されるので、デジタルコンテンツを利用できるのはデジタルコンテンツの対価を支払った消費者のみとなる。逆にいえば、デジタルコンテンツを使用したい消費者は、デジタルコンテンツの提供者から必ずソフトウエアキーを購入しなければならない。
【0008】
【発明が解決しようとする課題】
デジタルコンテンツの提供者が有効なソフトウエアキーの集合とそのソフトウエアキーの有効性を検証する方法とを決定する仕組みでは、ソフトウエアキーに関する開発コストや、ソフトウエアキーを販売・発行する運営コストをデジタルコンテンツの提供者が負わなければならない。ソフトウエアキーは、デジタルコンテンツに対する消費者の利用権を証する利用許可証ともいえるデジタルデータであり、漏洩、偽造、複製といったセキュリティ上の様々な問題に対する耐性が必要となる。このような仕組みの開発や運営はコストの上昇をもたらし、デジタルコンテンツの提供者がこのソフトウエアキーを利用したデジタルコンテンツのオンライン販売に乗り出す際の重大な障壁になるとともに、販売価格の上昇という不利益を消費者にもたらす。
【0009】
【課題を解決するための手段】
本発明では、販売される特定のデジタルコンテンツあるいはデジタルコンテンツ提供者、あるいは、デジタルコンテンツ販売業者とは独立の利用許可証の発行を担うサーバ(以降、利用許可証発行センタあるいは単にセンタとよぶ)をインターネット上に構築することで、上記の課題を解決する。利用許可証の作成や維持に関わる部分は利用許可証発行センタがすべて引き受け、デジタルコンテンツの販売を行う業者は利用許可証に関わる部分の多くを利用許可証発行センタにアウトソーシングすることができる。多くの業者が共通の利用許可証発行センタを使用することが可能なので、業者一つあたりの利用許可証発行センタの開発・運営コストは業者が独自のシステムを構築するのにくらべて低く押さえることができる。
【0010】
本発明では、デジタルコンテンツ販売業者は、消費者から受けたデジタルコンテンツの購入依頼に対して利用許可証を発行するが、その利用許可証は利用許可証発行センタで生成される。該業者は、消費者からの購入依頼を受け付けるサーバをインターネット上に構築するが、許可証を生成する部分は該サーバ中には存在せず、利用許可証発行センタがその役割を担う。
【0011】
デジタルコンテンツの利用時には、消費者は利用許可証を提示し、利用許可証の正当性が確認されたときにのみコンテンツの利用が可能になるが、この検証は検証用情報と呼ばれるデジタルデータを使用して行われる。検証用情報は複数の利用許可証との間に所定の関係を満たすように生成されており、検証用情報と利用許可証がその関係を満たすかどうかで利用許可証の正当性が判定される。特定のデジタルコンテンツと特定の検証用情報をバインドさせておけば、その検証用情報と所定の関係を満たす利用許可証を提示できるかどうかで、消費者がデジタルコンテンツを購入したかどうかが判定できる。
【0012】
検証用情報は、センタで生成され出力される。どの業者が販売した利用許可証であっても対応する検証用情報を入手していればその正当性を検証することが可能である。
【0013】
この特徴は、デジタルコンテンツの販売ビジネスに乗り出す業者が払うべきコストを更に下げる効果を持つ。本発明では、デジタルコンテンツの提供者と、それらの販売業者は互いに独立に存立できる。デジタルコンテンツの提供者は、自分が提供するデジタルコンテンツの販売を多くの販売業者に委託し、自己はデジタルコンテンツの提供に専念することができる。また、販売業者は、自らが提供するデジタルコンテンツをまったく持たなくても、様々な提供者が提供する多くのデジタルコンテンツを販売する事が可能である。
【0014】
請求項1または2に記載の発明は利用許可証発行センタに関するものである。
【0015】
請求項1に記載の発明は、デジタルコンテンツの利用が特定のユーザに対して許可されていることを証明する電子的な利用許可証を発行する方法であって、利用許可証の正当性を検証するために必要な検証用情報を作成するステップと、検証用情報を特定するための情報が入力するステップと、入力された検証用情報を特定するための情報によって特定される検証用情報で検証可能な利用許可証を作成するステップと、作成された利用許可証を出力するステップとを備える。
【0016】
また、請求項2に記載の発明は、デジタルコンテンツの利用が特定のユーザに対して許可されていることを証明する電子的な利用許可証を発行するコンピュータシステムであって、利用許可証の正当性を検証するために必要な検証用情報を作成する検証用情報作成手段と、上記検証用情報作成手段で作成された検証用情報を出力する検証用情報出力手段と、検証用情報を特定するための情報が入力され、該入力によって特定される検証用情報で検証可能な利用許可証を作成する利用許可証作成手段と、上記利用許可証作成手段で作成された利用許可証を出力する利用許可証出力手段とを備える。
【0017】
請求項1または2に記載の発明によるセンタは、利用許可証を発行するだけでなく、利用許可証を検証するための検証用情報も出力する。この検証用情報はデジタルコンテンツの利用の際に消費者から提示される利用許可証の正当性を検証する際に使用される。特定の検証用情報によって検証可能な利用許可証の集合は限定されるので、特定のデジタルコンテンツの検証用情報を割り当てることで、デジタルコンテンツ毎の利用許可証の発行が可能である。しかし、どの検証用情報(あるいはそれに対応する利用許可証の集合)がどのデジタルコンテンツに対応するかに関してセンタは関与する必要はない。デジタルコンテンツと検証用情報との連結はデジタルコンテンツの提供者が自由に決定することができる。このことが、利用許可証発行センタを、特定のデジタルコンテンツに関与しない利用許可証の発行にのみ特化したインフラストラクチャたらしめることを可能にする。
【0018】
請求項9または10に記載の発明は、デジタルコンテンツの販売を行うサーバに関するものである。
【0019】
請求項9に記載の発明は、デジタルコンテンツの利用が特定のユーザに対して許可されていることを証明する電子的な利用許可証の依頼を仲介する方法であって、特定のデジタルコンテンツの利用が許諾されていることを証する利用許可証の発行の依頼である第1の利用許可証依頼を受領するステップと、受領した第1の利用許可証依頼で依頼されている利用許可証の発行を依頼する第2の利用許可証依頼を作成するステップと、作成された第2の利用許可証依頼を出力するステップとを有することを特徴とする。
【0020】
また、請求項10に記載の発明は、デジタルコンテンツの利用が特定のユーザに対して許可されていることを証明する電子的な利用許可証の依頼を仲介するコンピュータシステムであって、特定のデジタルコンテンツの利用が許諾されていることを証する利用許可証の発行の依頼である第1の利用許可証依頼を受領する利用許可証依頼受領手段と、受領した第1の利用許可証依頼で依頼されている利用許可証の発行を依頼する第2の利用許可証依頼を作成する利用許可証依頼作成手段と、上記利用許可証依頼作成手段で生成された第2の利用許可証依頼を出力する利用許可証依頼出力手段とを有することを特徴とする。
【0021】
請求項9または10に記載の発明を適用した、デジタルコンテンツの販売を行うサーバは、インターネットに接続している消費者あるいは他の販売業者からの利用許可証発行の依頼を受けつける。しかし、受け付けた依頼に対する利用許可証を作成するのはこのサーバではない。利用許可証の発行は利用許可証発行センタのみが行い、デジタルコンテンツの販売を行うサーバは、利用許可証に対する依頼の仲介のみを行う。該サーバが行うのは、単に依頼の仲介のみであり、利用許可証の改竄、偽造、複製といった攻撃に対する配慮はセンタが行うので、本実施例に基づいたデジタルコンテンツの販売を行うサーバの構築費用や運営コストは低く押さえられる。
【0022】
請求項16または17に記載の発明は、デジタルコンテンツの提供者に関するものである。
【0023】
デジタルコンテンツの提供者と販売業者が独立に存立した場合、該提供者にとっては、自己が提供するデジタルコンテンツをより多くの販売業者に販売をしてもらうほうが、基本的には有利である。しかし、信頼できない販売業者に自己のデジタルコンテンツを扱われることは、後のトラブルを招く恐れが高く許容できない。したがって、デジタルコンテンツの提供者が、自己のデジタルコンテンツを扱える販売業者を限定できる手段が必要になる。
【0024】
請求項16に記載の発明は、デジタルコンテンツの利用が特定のユーザに対して許可されていることを証明する電子的な利用許可証の依頼の仲介を許諾する方法であって、デジタルコンテンツの利用許可証の依頼を仲介する仲介者を特定するための情報を入力するステップと、該仲介者に仲介を許諾するデジタルコンテンツを特定するための情報を入力するステップと、入力によって特定されたデジタルコンテンツに対する利用許可証の依頼の仲介が入力によって特定された仲介者に許諾されていることを証明する利用許可証仲介許諾証を作成するステップと、作成された利用許可証仲介許諾証を出力するステップとを有することを特徴とする。
【0025】
また、請求項17に記載の発明は、デジタルコンテンツの利用が特定のユーザに対して許可されていることを証明する電子的な利用許可証の依頼の仲介を許諾するコンピュータシステムであって、デジタルコンテンツの利用許可証の依頼を仲介する仲介者を特定するための情報と、該仲介者に仲介を許諾するデジタルコンテンツを特定するための情報とが入力され、入力によって特定されたデジタルコンテンツに対する利用許可証の依頼の仲介が入力によって特定された仲介者に許諾されていることを証明する利用許可証仲介許諾証を作成する利用許可証仲介許諾証作成手段と、上記利用許可証仲介許諾証作成手段で作成された利用許可証仲介許諾証を出力する利用許可証仲介許諾証出力手段とを有することを特徴とする。
【0026】
請求項16または17に記載の発明によれば、デジタルコンテンツの提供者は、自己が提供するデジタルコンテンツの販売を許す販売業者に対して利用許可証仲介許諾証を発行する。この利用許可証仲介許諾証は、販売業者が利用許可証の発行をセンタに依頼する場合にセンタに対して提示される。センタは提示された利用許可証仲介許諾証により、該販売業者が利用許可証の発行を依頼したデジタルコンテンツに対する仲介を許諾されているかどうかを検査することができる。
【0027】
請求項20または24に記載の発明は、消費者に提供されるデジタルコンテンツ自体に関するものであり、とくに、消費者が自己を利用可能な利用許可証を所持しているかどうかを検査する機能をもつものである。
【0028】
請求項20に記載の発明は、ユーザに一つ以上の機能を提供する方法であって、すべてあるいは一部の機能の利用が特定のユーザに対して許可されていることを証明する電子的な利用許可証を検証するための検証用情報を記憶するステップと、利用許可証を入力するステップと、入力された利用許可証の正当性を記憶されている検証用情報を使用して検証するステップと、入力された利用許可証が正しいと判断された場合にのみ、自己が保持する機能のうち少なくとも一部を動作可能にするステップとを備える。
【0029】
請求項24に記載の発明は、ユーザに一つ以上の機能を提供する装置であって、該装置のすべてあるいは一部の機能の利用が特定のユーザに対して許可されていることを証明する電子的な利用許可証を検証するための検証用情報を記憶する検証用情報記憶手段と、利用許可証が入力され、その利用許可証の正当性を前記検証用情報記憶手段に記憶されている検証用情報を使用して検証する利用許可証検証手段とを有し、該利用許可証検証手段で、入力された利用許可証が正しいと判断された場合にのみ、自己が保持する機能のうち少なくとも一部を動作可能にすることを特徴とする。
【0030】
請求項21または25に記載の発明は、消費者に提供されるデジタルコンテンツを操作する装置あるいはソフトウエアに関するものであり、とくに、消費者がデジタルコンテンツを操作可能な利用許可証を所持しているかどうかを検査する機能をもつものである。
【0031】
請求項21に記載の発明は、デジタルコンテンツを操作する方法であって、デジタルコンテンツの操作が特定のユーザに対して許可されていることを証明する電子的な利用許可証を検証するための検証用情報を記憶するステップと、利用許可証を入力するステップと、入力された利用許可証の正当性を記憶されている検証用情報を使用して検証するステップと、入力された利用許可証が正しいと判断された場合にのみ、デジタルコンテンツに対する操作のうちの少なくとも一部を動作可能にするステップとを備える。
【0032】
請求項25に記載の発明は、デジタルコンテンツを操作する装置であって、デジタルコンテンツの操作が特定のユーザに対して許可されていることを証明する電子的な利用許可証を検証するための検証用情報を記憶する検証用情報記憶手段と、利用許可証が入力され、その利用許可証の正当性を前記検証用情報記憶手段に記憶されている検証用情報を使用して検証する利用許可証検証手段とを有し、該利用許可証検証手段で、入力された利用許可証が正しいと判断された場合にのみ、デジタルコンテンツに対する操作のうちの少なくとも一部を動作可能にすることを特徴とする。
【0033】
請求項22または27に記載の発明は、消費者に提供される暗号化されたデジタルコンテンツを復号する装置あるいはソフトウエアに関するものであり、とくに、消費者がデジタルコンテンツを復号可能な利用許可証を所持しているかどうかを検査する機能をもつものである。
【0034】
請求項22に記載の発明は、暗号化されたデジタルコンテンツを復号する方法であって、デジタルコンテンツの復号が特定のユーザに対して許可されていることを証明する電子的な利用許可証を検証するための検証用情報を記憶するステップと、利用許可証を入力するステップと、入力された利用許可証の正当性を記憶されている検証用情報を使用して検証するステップと、入力された利用許可証が正しいと判断された場合にのみ、入力されたデジタルコンテンツを復号するステップとを備える。
【0035】
請求項27に記載の発明は、暗号化されたデジタルコンテンツを復号する装置であって、デジタルコンテンツの復号が特定のユーザに対して許可されていることを証明する電子的な利用許可証を検証するための検証用情報を記憶する検証用情報記憶手段と、利用許可証が入力され、その利用許可証の正当性を前記検証用情報記憶手段に記憶されている検証用情報を使用して検証する利用許可証検証手段とを有し、該利用許可証検証手段で、入力された利用許可証が正しいと判断された場合にのみ、入力されたデジタルコンテンツを復号することを特徴とする。
【0036】
請求項23または29に記載の発明は、消費者に提供される圧縮されたデジタルコンテンツを伸長する装置あるいはソフトウエアに関するものであり、とくに、消費者がデジタルコンテンツを伸長可能な利用許可証を所持しているかどうかを検査する機能をもつものである。
【0037】
請求項23に記載の発明は、圧縮されたデジタルコンテンツを伸長する方法であって、デジタルコンテンツの伸長が特定のユーザに対して許可されていることを証明する電子的な利用許可証を検証するための検証用情報を記憶するステップと、利用許可証を入力するステップと、入力された利用許可証の正当性を記憶されている検証用情報を使用して検証するステップと、入力された利用許可証が正しいと判断された場合にのみ、入力されたデジタルコンテンツを伸長するステップとを備える。
【0038】
請求項29に記載の発明は、圧縮されたデジタルコンテンツを伸長する装置であって、伸長の対象となる圧縮されたデジタルコンテンツを入力する手段と、デジタルコンテンツの伸長が特定のユーザに対して許可されていることを証明する電子的な利用許可証を検証するための検証用情報を記憶する検証用情報記憶手段と、利用許可証が入力され、その利用許可証の正当性を前記検証用情報記憶手段に記憶されている検証用情報を使用して検証する利用許可証検証手段とを有し、該利用許可証検証手段で、入力された利用許可証が正しいと判断された場合にのみ、入力されたデジタルコンテンツを伸長することを特徴とする。
【0039】
なお、本発明はインターネットにおける利用に限定されるものではなく、広く通信ネットワークに適用可能である。またネットワークにおける通信を利用せずに装置同志を用いて利用証明証を発行するようにしてもよいことはもちろんである。
【0040】
【発明の実施の形態】
以下に、本発明の一実施形態について説明する。
【0041】
図1は本発明を適用した実施例の構成図である。本実施例は、インターネットに接続した複数のコンピュータシステムからなり、これらが協調して動作することでデジタルコンテンツの販売を行う。
【0042】
本実施例では、消費者はデジタルコンテンツの購入をインターネット経由で行い、購入が完了したことを証するデジタルデータである利用許可証を受け取る。
【0043】
デジタルコンテンツは、利用許可証を持つ消費者のみが利用可能なような形態で消費者に対して提供される。利用者は、利用許可証を所持している場合にのみ、デジタルコンテンツを使用することが可能である。
【0044】
[実施例を構成するコンピュータシステム群]
本実施例を構成するコンピュータシステムは以下の4つの種類に分類される。それぞれインターネット101に接続され、相互に通信を行う。
【0045】
消費者端末:消費者がデジタルコンテンツの購入を行う際に使用するコンピュータシステム。図1の107にあたる。消費者が家庭で使用するコンピュータであってもよいし、コンビニエンスストア等に設置されている端末でもよい。インターネット101に接続されており、インターネット101経由で他のコンピュータシステムにアクセスすることができる。
【0046】
リテーラ:消費者に対してデジタルコンテンツの販売を行うコンピュータシステム。図1の103あるいは104にあたり、実際にはいくつ存在してもかまわない。インターネット101に接続されており、インターネット101経由で消費者からのアクセスを受け付ける。リテーラを運営しているのはデジタルコンテンツの販売をしている業者であるが、以降の本実施例の説明では、該コンピュータシステムと該業者を区別せず、ともにリテーラと呼ぶ事にする。
【0047】
利用許可証発行センタ:利用許可証を生成し発行するコンピュータシステム。図1の102にあたる。インターネット101に接続されており、インターネット経由でリテーラからの利用許可証の依頼を受け付け、オンデマンドで利用許可証を作成し発行する。以降、センタといえば利用許可証発行センタを指す。
【0048】
プロバイダ:デジタルコンテンツの提供者がリテーラ103あるいは104やセンタ102と情報の交換を行うためのコンピュータシステムであり、インターネット101に接続される。図1の105、106にあたり、実際にはいくつ存在してもかまわない。以降の本実施例の説明では、デジタルコンテンツの提供者と該提供者が使用するコンピュータシステムを区別せず、ともにプロバイダと呼ぶ事にする。
【0049】
認証局(Certificate Authority):消費者端末、リテーラ、センタ、プロバイダのあいだで交わされる各メッセージには、改竄検知と否認拒否のためにデジタル署名が施される。そのデジタル署名の検証鍵の正当性はX.509ベースの公開鍵証明証によって保証される。CertificateAuthority 108はこの公開鍵証明証を作成し発行する機能を持つコンピュータシステムであり、インターネット101に接続されている。また、Certificate Authorityは、自己が発行した公開鍵証明証を保持しており、オンデマンドで要求者に送付する機能も持つ。以降、CAといえばCertificate Authorityを指す。
【0050】
[利用許可証と検証用公開鍵]
本実施例では、消費者がデジタルコンテンツを購入したことを証明するために利用許可証と呼ばれるデジタルデータが発行される。利用許可証の正当性は対応する検証用公開鍵によって検証される。検証用公開鍵の名前が示すように、本実施例では利用許可証と検証用公開鍵には公開鍵暗号技術が応用される。
【0051】
より具体的には、検証用公開鍵は公開鍵暗号における公開鍵であり、利用許可証は該公開鍵に対応する秘密鍵をもとに作成された証明値を含むデータである。利用許可証が含む証明値を作成する際に使用した秘密鍵と、検証用公開鍵が対応するものであった場合にのみ、利用許可証が正当なものであることが確認でき、それ以外の場合で利用許可証が正当なものであると認められることはない。
【0052】
本実施例でデジタルコンテンツを販売する場合には、販売される特定のデジタルコンテンツあるいは、デジタルコンテンツが消費者に提供する特定の機能とバインドされる検証用公開鍵が必要である。特定の検証用公開鍵と特定のデジタルコンテンツあるいはその機能をバインドさせることで、特定のデジタルコンテンツやその機能の利用のみを許可する利用許可証を実現することができる。
【0053】
利用許可証と検証用公開鍵に公開鍵暗号技術を利用しているのは、検証用公開鍵を公開可能とするためである。検証用公開鍵が公開鍵であれば、それを公開しても利用許可証の安全性を損なうことがない。このことは、検証用公開鍵の送受信や管理を楽にするだけでなく、利用許可証の正当性を第三者が検証できるようになり、後のトラブルを防ぐことが可能になるという利点がある。
【0054】
検証用公開鍵はプロバイダからの依頼によって、センタ102で作成され、検証用公開鍵情報と呼ばれるデータに含まれて依頼者に送付される。センタ102は、検証用公開鍵の発行の要求を受け取ると新しい公開鍵ペアを作成し、その公開鍵と秘密鍵を、公開鍵ペアを一意に識別するための情報である検証用公開鍵識別子とともに保持した後、その公開鍵と検証用公開鍵識別子を含む検証用公開鍵情報を依頼者に送付する。検証用公開鍵情報を受け取ったプロバイダを、その検証用公開鍵情報あるいは該検証用公開鍵情報に含まれる検証用公開鍵のユーザと呼ぶ。
【0055】
特定の検証用公開鍵と特定のデジタルコンテンツあるいはその機能のバインドに関してセンタ102は関知しない。そのバインドを決定するのは、検証用公開鍵の発行を受けたプロバイダであり、該プロバイダは、自分が決定した、特定のデジタルコンテンツやその機能と検証用公開鍵とのバインドの情報を保持しておかなければならない。
【0056】
利用許可証は、該許可証に対応する検証用公開鍵とバインドされた特定のデジタルコンテンツあるいはその機能の利用を許可するデータである。消費者がデジタルコンテンツを利用するコンピュータシステムに保持され、デジタルコンテンツの利用時にその正当性が検証される。
【0057】
利用許可証がデジタルデータであるので、利用と許可された以外の利用者が利用許可証のコピーを使って、デジタルコンテンツを利用する危険がある。これを防止するために、利用許可証は消費者秘密情報とよばれる情報無しには、その正当性を検証できないように構成されている。消費者秘密情報は、利用許可証が正当であると認められる範囲を限定するための情報であり、ある消費者秘密情報にあわせて作成された利用許可証は、別の消費者秘密情報と共に利用しても正当なものと認められることはない。
【0058】
たとえば、消費者秘密情報がコンピュータシステムに記憶されているコンピュータシステム毎に異なる数値として実現されれば、特定のコンピュータでのみ有効な利用許可証を実現することができる。この場合、消費者は、自分がそこでデジタルコンテンツを使うであろうコンピュータシステムが持つ消費者秘密情報にあわせた利用許可証を取得する。以降、該消費者は、該コンピュータシステムの上でのみデジタルコンテンツの利用が可能になるが、同じ利用証明証を使って他のコンピュータシステム上でデジタルコンテンツを利用することはできない。
【0059】
デジタルコンテンツの使用が特定のコンピュータシステムに限定されるのが不便な場合は、ICカード等の携帯型記憶装置を利用する。この場合、消費者秘密情報は、携帯型記憶装置に記憶されている携帯型記憶装置毎に異なるように実現される。この場合、消費者は、自分が所持する携帯型記憶装置に含まれる消費者秘密情報にあわせた利用許可証を取得する。以降、消費者は、自己が所持している携帯型記憶装置と取得した利用許可証を共に使用する場合に限りデジタルコンテンツを利用することができるが、携帯型記憶装置がなしにはデジタルコンテンツを利用することはできない。リムーバブルディスクやMO等の記憶メディアを携帯型記憶装置として利用してもよい。
【0060】
消費者秘密情報は、消費者すらその値を参照することができないように記憶されたデータとして実現される。また、コンピュータシステムや携帯型記憶装置の各種特徴量をもとに値を計算するアルゴリズムのみが記憶されており、消費者秘密情報が参照されるたびにそのアルゴリズムによる計算がおこなわれ、その結果が消費者秘密情報として使用されるのでもよい。その他にも実現方法はありえるが、いかなる方法であっても消費者秘密情報の内容を知っているのは利用許可証の発行者である利用許可証発行センタのみである。
【0061】
各消費者秘密情報には、消費者識別子と呼ばれる識別子が割り当てられている。各消費者秘密情報がセンタ以外のエンティティにとって秘密のデータであるのと異なり、消費者識別子は誰でも参照できるデータである。消費者識別子は、消費者が利用許可証を依頼する際に、どの消費者秘密情報にあわせた利用許可証を要求しているのかを特定するために使用される。
【0062】
特に本実施例では、消費者識別子は個々の消費者を特定するのにも使用される。同じ消費者が使っている複数のコンピュータであっても、それぞれが保持している消費者秘密情報が異なれば、別々の消費者識別子が割り当てられており、別々の消費者であると認識される。
【0063】
検証用公開鍵情報のデータ構造は以下のようである。
【0064】
【表1】
検証用公開鍵情報::={
発行者フィールド,
受領者フィールド,
発行日フィールド,
有効期間開始日時フィールド,
有効期間終了日時フィールド,
検証用公開鍵識別子フィールド,
公開鍵情報フィールド,
デジタル署名フィールド

【0065】
発行者フィールド:この検証用公開鍵情報の発行者であるセンタの識別子が記載される。
受領者フィールド:この検証用公開鍵情報の受領者であるプロバイダの識別子が記載される。
発行日フィールド:この検証用公開鍵情報の発行日が記載される。
有効期間開始日時フィールド:この検証用公開鍵情報の有効期間の開始日時が記載される。
有効期間終了日時フィールド:この検証用公開鍵情報の有効期間の終了日時が記載される。
検証用公開鍵識別子フィールド:センタがこの検証用公開鍵に割り当てた検証用公開鍵識別子が記載される。
公開鍵情報:利用許可証を検証する際に使用する検証用公開鍵の情報が記載される。使用する公開鍵暗号アルゴリズムの指定と、公開鍵の値を含む。
デジタル署名フィールド:発行者であるセンタによるこの検証用公開鍵情報全体に対するデジタル署名が記載される。
【0066】
利用許可証のデータ構造は以下のようである。
【0067】
【表2】
Figure 0004120125
【0068】
発行者フィールド:この利用許可証の発行者であるセンタの識別子が記載される。
受領者フィールド:この利用許可証の受領者である消費者の識別子が記載される。
発行日フィールド:この利用許可証の発行日が記載される。
利用許可証識別子フィールド:センタがこの利用許可証に割り当てた識別子が記載される。
公開鍵識別子フィールド:この利用許可証に対応する検証用公開鍵に割り当てられた検証用公開鍵識別子が記載される。
利用条件フィールド:デジタルコンテンツの範囲を限定する条件である利用条件が記載される。
証明値フィールド:この利用許可証の公開鍵識別子フィールドに記載された識別子が割り当てられた検証用公開鍵に対応する秘密鍵をもとに作成された証明値が記載される。
デジタル署名フィールド:発行者であるセンタによるこの利用許可証全体に対するデジタル署名が記載される。
【0069】
利用条件フィールドに記載される。利用条件には、この利用許可証で有効となるデジタルコンテンツ利用の範囲を限定するための条件が記載される。
【0070】
利用条件のデータ構造を以下に示す。
【0071】
【表3】
Figure 0004120125
【0072】
有効期間開始日時フィールド:この利用許可証の有効期間の開始日時が記載される。この日時以前には、デジタルコンテンツの利用はできない。
有効期間終了日時フィールド:この利用許可証の有効期間の終了日時が記載される。この日時以降には、デジタルコンテンツの利用はできない。
【0073】
利用条件に指定された各種条件は、利用許可証の検証時に該条件が満足されているかどうかが検査される。利用条件に指定された各種条件が満足されていなければ、利用許可証の正当性の検証に失敗する。
【0074】
利用条件には、有効期間の開始日時または終了日時以外にも、利用許可証の用途に応じて種々のものが記載される。
【0075】
例えば、デジタルコンテンツの利用回数が特定の回数以下に限定される場合には、その限定回数を利用条件に記載しておき、利用許可証の検査の際に該限定回数を超えていないかどうかを確認すればよい。
【0076】
また、デジタルコンテンツの利用時にいくらかの料金を徴収する場合には、その金額を利用条件に記載しておき、利用許可証の検査の際に該料金をプリペイドの度数から引き落とす等の処理を実行すればよい。
【0077】
あるいは、デジタルコンテンツが持つ機能のうちの特定の機能の利用のみを許す場合には、その機能を特定する情報を利用条件に記載しておき、利用許可証の検査の際にユーザが利用しようとする機能が利用条件に記載されたものであるかどうかを確認すればよい。
【0078】
[証明値]
証明値は利用許可証に含まれるデータで、センタが作成した検証用公開鍵に対応する秘密鍵を元に作成されたデータであり、利用許可証が特定の検証用公開鍵とのみ対応する事を保証するためのものである。また、証明値の作成には、消費者秘密情報も使用され、特定のコンピュータシステム上での使用のみ許したり、あるいは、特定の携帯型記憶装置と組み合わせた場合にのみ使用を許したりといった制御も可能である。さらに、証明値の作成には、利用許可証に記載された利用条件も使用され、特定の利用条件を満足する場合にのみ利用可能である事も保証される。
【0079】
証明値tは法数n、検証用公開鍵e、秘密鍵d、消費者秘密情報u、利用条件lから以下の式にしたがって作成される。
【0080】
【数1】
t=d−f(n,e,u,l) (1)
ここで、関数f()は公開された一方向性関数である。たとえば、SHA−1あるいはMD5等の暗号学的一方向性ハッシュ関数が使用される。
【0081】
式(1)でわかるように、証明値tは、法数n、検証用公開鍵e、消費者秘密情報u、利用条件lとともに使用した場合にのみ秘密鍵dと同じ働きをする。どれ一つを差し替えても秘密鍵dと同じ働きをすることはない。
【0082】
[利用許可証の検証とデジタルコンテンツの利用]
本実施例では、消費者がデジタルコンテンツを利用する際に、必要に応じて該デジタルコンテンツ全体、あるいはその一部の機能に対する利用許可証の正当性を検証し、デジタルコンテンツ全体あるいはその一部の機能の使用の利用を消費者が許可されているかどうかを検査し、許可されている場合にのみ利用を許す。
【0083】
図35は、本発明を適用したデジタルコンテンツであるアプリケーションソフトウエアの構成を示した図である。本ソフトウエアは、利用者からの命令により2つの機能を実行するが、どの機能も実行されるまえに、利用者が利用許可証を持っているかどうかが確認され、利用者が正しい利用許可証を所持する場合にのみ機能が実行される。それぞれの機能には異なる検証用公開鍵が割り当てられているので、それぞれ異なる利用証明証が必要である。
【0084】
また、本ソフトウエアでは、消費者が消費者識別子と消費者秘密情報を含む携帯型記憶装置を所持しており、該消費者がデジタルコンテンツを使用するための利用許可証も該携帯型記憶装置に記憶されている。
【0085】
本ソフトウエア3501は、入出力制御部3502、処理制御部3503、第1の機能の実行部3504、第2の機能の実行部3505、第1の利用許可証検査部3506、第2の利用許可証検査部3507、携帯型記憶装置制御部3508からなり、携帯型記憶装置制御部3508をとおして携帯型記憶装置3511と接続している。
【0086】
それぞれの構成要素の役割を以下に示す。
【0087】
入出力制御部3502:利用者からの入力あるいは、利用者への出力を制御する。
処理制御部3503:入出力制御部3502からの利用者の命令を受け取り、命令に応じて第1の機能の実行部3504、第2の機能の実行部3505を呼び出し、機能の実行の結果を受け取って、入出力制御部3502を介して利用者に出力する。
第1の機能の実行部3504:処理制御部3503からの呼び出しに応じて、第1の機能を実行し、結果を処理制御部3503に返す。実行の前に第1の利用許可証検査部3506を呼び出し、利用者が第1の機能に対応する正しい利用許可証を所持している事を確認する。
第2の機能の実行部3505:処理制御部3503からの呼び出しに応じて、第2の機能を実行し、結果を処理制御部3503に返す。実行の前に第2の利用許可証検査部3507を呼び出し、利用者が第2の機能に対応する正しい利用許可証を所持している事を確認する。
第1の利用許可証検査部3506:第1の機能の実行部3504からの呼び出しに応じて、利用者が第1の機能に対応する正しい利用許可証を所持しているかどうかを検査し、結果を第1の機能の実行部3504に返す。利用許可証の検査のために、携帯型記憶装置制御部3508を介して、携帯型記憶装置3511とデータの交換を行う。
第2の利用許可証検査部3507:第2の機能の実行部3505からの呼び出しに応じて、利用者が第2の機能に対応する正しい利用許可証を所持しているかどうかを検査し、結果を第2の機能の実行部3505に返す。利用許可証の検査のために、携帯型記憶装置制御部3508を介して、携帯型記憶装置3511とデータの交換を行う。
携帯型記憶装置制御部3508:携帯型記憶装置3511とのデータ交換を制御する。
【0088】
図28は、図35に示したソフトウエアの第1の利用許可証検査部3506と、該ソフトウエアに接続している携帯型記憶装置3511の内部構成を示したものである。第1の利用許可証検証部3506は、チャレンジと呼ぶ乱数値を携帯型記憶装置3511に送付し、携帯型記憶装置3511は受け取ったチャレンジと保持している利用許可証からレスポンスと呼ぶ値を計算して出力し、利用許可証検査部3506がレスポンスの正しさを検査する事で、携帯型記憶装置3511に保持されている利用許可証の正当性を検証する。
【0089】
第1の利用許可証検査部3506は、条件判定対象情報生成部2801、チャレンジ生成部2802、公開鍵情報記憶部2803、レスポンス検査部2804から構成される。
【0090】
利用許可証検査部3506の各部の役割を以下に示す。
【0091】
条件判定対象情報生成部2801:利用許可証に記載されている利用条件が特定の条件を満たす場合にのみ第1の機能を実行する場合、その判断の対象となる情報を生成する。
チャレンジ生成部2802:携帯型記憶装置3511に送付するチャレンジを生成する。
公開鍵情報記憶部2803:第1の機能に割り当てられた検証用公開鍵の識別子と法数および公開鍵を保持する。
レスポンス検査部2804:携帯型記憶装置3511が作成したレスポンスの正しさを検査する。
【0092】
また、携帯型記憶装置3511は入出力制御部2811、消費者秘密情報記憶部2812、レスポンス計算部2813、利用条件判定部2814、利用許可証記憶部2815から構成される。
【0093】
携帯型記憶装置3511の各部の役割を以下に示す。
【0094】
入出力制御部2811:ソフトウエア3501との間のデータの入出力を制御する。
消費者秘密情報記憶部2812:消費者秘密情報を保持する。
レスポンス計算部2813:第1の利用許可証検査部3506に送付するレスポンスを計算する。
利用条件判定部2814:利用許可証に記載されている利用条件が満たされているかどうかを判定する。
利用許可証記憶部2815:利用許可証が複数保持される。
【0095】
図29は、第1の機能に対する利用許可証の検査の際の第1の利用許可証検証部3506と携帯型記憶装置3511の動作を示すフローチャートである。図29に従って利用許可証の検査の際の利用許可証検査部3506と携帯型記憶装置3511の動作を説明する。
【0096】
利用許可証の検査の動作は第1の利用許可証検証部3506から始まる。
【0097】
まず、チャンレンジ生成部2802でチャレンジCが作成される(2901)。チャンレンジは検査を行うたびに異なる乱数値であり、チャンレンジ生成部2802は乱数生成機能を内包している。
【0098】
チャレンジが生成された後、生成されたチャレンジC、公開鍵情報記憶部2803に保持されている検証用公開鍵の識別子IDと法数nおよび公開鍵e、条件判定対象情報生成部2801で生成された条件判定対象情報sが、携帯型記憶装置制御部3508を介して携帯型記憶装置3511に送付される(2902)。
【0099】
C、ID、n、e、sを受け取った携帯型記憶装置3511は、まず利用許可証記憶部2815に保持されている利用許可証のうち検証用公開鍵識別子IDに対応するものを選択する(2903)。この選択は、利用許可証記憶部2815に保持されている利用許可証のうち、その公開鍵識別子フィールドの値がIDと等しいかどうかを調べる事で行われる。ここで該当する利用許可証が見つからなければ、エラーが入出力制御部2811を介して第1の利用許可証検査部3506に送付され(2908)、終了する。
【0100】
該当する利用許可証が見つかった場合には、利用条件判定部2814で該利用許可証に含まれる利用条件lが満たされているかどうかが判定される(2904)。利用条件lに記載されている利用許可証の有効期間開始や終了のチェックのために、利用条件判定部2814は時計を内蔵している。また、第1の利用許可証検査部3506から条件指定sが入力されている場合、条件判定対象情報sが利用条件lを満たすかどうかもここで判定される。
【0101】
2904で、利用条件lが満たされていないと判断された場合、エラーが入出力制御部2811を介して第1の利用許可証検査部3506に送付され(2908)、終了する。
【0102】
2904で、利用条件lが満たされていると判断された場合、レスポンス計算部2813でレスポンスRが計算され(2905)、入出力制御部2811を介して第1の利用許可証検査部3506に送付される(2906)。レスポンスRは、入出力制御部2811を介して第1の利用許可証検査部3506から入力されたチャレンジC、法数n、公開鍵e、2903で選択された利用許可証に含まれる証明値tと利用条件l、消費者秘密情報記憶部2812に保持されている消費者秘密情報uから、以下の(2)式にしたがって計算される。
【0103】
【数2】
R=Ct+f(n,e,u,l) mod n (2)
携帯型記憶装置制御部3508を介してレスポンスRを受け取った第1の利用許可証検査部3506は、レスポンス検査部2804でレスポンスRの正当性を検査する(2907)。検査にはレスポンスRの他に、チャレンジ生成部2802が生成したチャレンジC、公開鍵情報記憶部2803が記憶している法数n、公開鍵eが使用される。(3)の式が成り立てば検証成功、そうでなければ失敗である。
【0104】
【数3】
C≡Re mod n (3)
(1)(2)(3)の式からわかるように、利用許可証の検査は、基本的には証明値tが秘密鍵dと同じ働きができるかどうかを判定する処理であり、法数や公開鍵、証明値、利用条件、消費者秘密情報の組み合わせが正しい時のみレスポンスの検証に成功する。検証用公開鍵が異なるデジタルコンテンツの利用許可証を流用したり、他人の利用許可証を利用したり、利用条件を改竄したりといった攻撃は困難である。
【0105】
前述したように、利用条件lには、利用許可証の有効期間以外に多くの条件が記載可能である。それらの条件のうち、条件判定の対象となる情報が携帯型記憶装置内にない場合は、その情報は携帯型記憶装置3511の外部から条件判定対象情報sとして供給される。たとえば、図35に示したソフトウエアの第2の機能が実行された場合にのみ利用可能であると利用条件lに記載されている場合には、第2の機能が実行されたかどうかを示す情報が条件判定対象情報生成部2801で生成され、条件判定対象情報sとして携帯型記憶装置3511の外から供給される。
【0106】
図35に示したソフトウエアの第2の利用許可証検査部3507も図28に示した第1の利用許可証検査部3506と同様の内部構成を持ち、図29と同様の動作を行う。
【0107】
図36は、本発明を適用したデジタルコンテンツプロセッシングソフトウエアである。本ソフトウエアは、文書・画像・音楽・映像といったデジタルコンテンツに対して表示・編集・印刷が可能なソフトウエアである。本ソフトウエアでは、コンテンツに対して操作を行う前に、利用者が正しい利用許可証を持っているかどうかが確認され、利用者が正しい利用許可証を所持する場合にのみ操作が可能である。
【0108】
ソフトウエア3601は、入出力制御部3602、処理制御部3603、表示実行部3604、編集実行部3605、印刷実行部3606、コンテンツデータ記憶部3607、利用許可証検査部3608からなる。
【0109】
それぞれの構成要素の役割を以下に示す。
【0110】
入出力制御部3602:利用者からの入力あるいは、利用者への出力を制御する。
処理制御部3603:入出力制御部3602からの利用者の命令を受け取り、命令に応じてデジタルコンテンツの表示、編集、印刷といった機能を実行する。
表示実行部3604:入出力制御部3602からの呼び出しに応じてデジタルコンテンツの表示を実行する。実行の前に利用許可証検査部3608を呼び出し、利用者が現在操作中のデジタルコンテンツの表示に対する正しい利用許可証を所持している事を確認する。
編集実行部3605:入出力制御部3602からの呼び出しに応じてデジタルコンテンツの編集を実行する。実行の前に利用許可証検査部3608を呼び出し、利用者が現在操作中のデジタルコンテンツの編集に対する正しい利用許可証を所持している事を確認する。
印刷実行部3606:入出力制御部3602からの呼び出しに応じてデジタルコンテンツの印刷を実行する。実行の前に利用許可証検査部3608を呼び出し、利用者が現在操作中のデジタルコンテンツの印刷に対する正しい利用許可証を所持している事を確認する。
コンテンツデータ記憶部3607:利用者が現在操作中のデジタルコンテンツのデータを保持する。
利用許可証検査部3608:表示実行部3604、編集実行部3605、印刷実行部3606から呼び出され、利用者が、現在操作中のデジタルコンテンツに対して指定された操作を実行可能な利用許可証を所持しているかどうかを検査する。
【0111】
また、本ソフトウエアが動作するコンピュータ上には、消費者秘密情報や利用許可証を保持し、利用許可証の正当性の検査に使用する情報を作成して、利用許可証検査部3608に送付する利用許可証明部3611が存在する。
【0112】
図37に本ソフトウエアが操作するデジタルコンテンツのデータ構造を示す。
【0113】
本ソフトウエアが操作するデジタルコンテンツは、複数のページからなる。各ページに施される操作の種類毎に検証用公開鍵が割り当てられており、各ページの各機能毎に、必要となる利用許可証が異なる。
【0114】
デジタルコンテンツ3701は、3702、3703、3704といったページ毎のデータに別れている。各ページデータ3711は、そのページの表示に割り当てられた検証用公開鍵の情報3712、同じページの編集に割り当てられた検証用公開鍵の情報3713、同じページの印刷用に割り当てられた検証用公開鍵の情報3714、および、そのページのデータ本体3715からなる。さらに各検証用公開鍵の情報3721は、その検証用公開鍵に割り当てられた識別子3722、該検証用公開鍵の法数3723、該検証用公開鍵の公開鍵3724からなる。
【0115】
たとえば、あるページの編集を行いたい場合に、該ページの編集用に割り当てられた検証用公開鍵に対応する利用証明証を消費者が所持しているかどうかが検査される。
【0116】
デジタルコンテンツの改竄を防ぐために、本ソフトウエアが操作するデジタルコンテンツにはデジタル署名が施される。デジタル署名3705はデジタルコンテンツ3701の最後尾に付属しており、該コンテンツが改竄されていないかどうかを必要に応じて検査することができる。
【0117】
図30は、図36に示したソフトウエア3601の利用許可証検査部3608と、該ソフトウエアに対して利用許可証の正当性の検査に使用する情報を供給する利用許可証明部3611の内部構成を示したものである。利用許可証検査部3608は、チャレンジと呼ぶ乱数値を利用許可証明部3611に送付し、利用許可証明部3611は、受け取ったチャレンジからレスポンスと呼ぶ値を計算して出力し、利用許可証検査部3608がレスポンスの正しさを検査する事で、利用許可証明部3611に保持されている利用許可証の正当性を検証する。
【0118】
利用許可証検査部3608は、入出力インタフェース3001、チャレンジ生成部3002、条件判定対象情報生成部3003、公開鍵情報記憶部3004、レスポンス検査部3005、利用条件判定部3006、利用許可証記憶部3007、通信制御部3008から構成される。
【0119】
利用許可証検査部3608の各部の役割を以下に示す。
【0120】
入出力インタフェース3001:表示実行部3604、編集実行部3605、印刷実行部3606からの入力をうけ、利用許可証の検査結果を出力するインタフェース。
チャレンジ生成部3002:利用許可証明部3611に送付するチャレンジを生成する。
条件判定対象情報生成部3003:利用許可証に記載されている利用条件が特定の条件を満たす場合にのみ機能を実行する場合、その判断の対象となる情報を生成する。
公開鍵情報記憶部3004:利用許可証の検査に使用する検証用公開鍵に関する情報を記憶する。
レスポンス検査部3005:利用許可証明部3611が作成したレスポンスの正しさを検査する。
利用条件判定部3006:利用許可証に記載されている利用条件が満たされているかどうかを判定する。
利用許可証記憶部3007:利用許可証明部3611から取り出した利用許可証を保持する。
通信制御部3008:利用許可証明部3611との間の通信を制御する。
【0121】
また、利用許可証明部3611は、入出力制御部3011、消費者秘密情報記憶部3012、レスポンス計算部3013、利用許可証記憶部3014から構成される。
【0122】
利用許可証明部3611の各部の役割を以下に示す。
【0123】
入出力制御部3011:利用許可証検査部3608との間の通信を制御する。
消費者秘密情報記憶部3012:消費者秘密情報を保持する。
レスポンス計算部3013:利用許可証検査部3608に送付するレスポンスを計算する。
利用許可証記憶部3014:利用許可証が複数保持される。
【0124】
図31は、利用許可証の検証の際の利用許可証検査部3608と利用許可証明部3611の動作を示すフローチャートである。図31に従って利用許可証の検証の際の利用許可証検査部3608と利用許可証明部3611の動作を説明する。
【0125】
図37に示したデジタルコンテンツのあるページに対して表示・編集・印刷がソフトウエアの利用者から指示された場合、表示実行部3604、編集実行部3605あるいは印刷実行部3606は、利用許可証検査部3608を呼び出して利用許可証の検査を行う。その際、表示実行部3604、編集実行部3605あるいは印刷実行部3606は、現在対象となっているページの、実行しようとする機能に割り当てられた検証用公開鍵の情報(検証用公開鍵識別子ID、法数n、公開鍵e)をコンテンツデータ記憶部3607に記憶されているデジタルコンテンツから取り出して、入出力インタフェース3001を介して利用許可証検査部3608に入力する。利用許可証検査部3608は、この入力を受けた時点から利用許可証の検査を開始する。
【0126】
利用許可証検査部3608は、まず最初に、入出力インタフェース3001を介して入力された検証用公開鍵の情報を公開鍵情報記憶部3004に記憶する(3100)。
【0127】
次に、利用許可証検査部3608は、通信制御部3008を介して利用許可証明部3611の利用許可証記憶部3014にアクセスし、利用許可証記憶部3014に保持されている利用許可証のうち、利用許可証の検査に使用可能なものを探す(3101)。利用許可証記憶部3014に保持されている利用許可証のうち、その公開鍵識別子フィールドの値が公開鍵情報記憶部3004に保持されている検証用公開鍵識別子と一致するものが、求める利用許可証である。ここで該当する利用許可証が見つからなければ、利用許可証の検査は失敗であり、エラー処理の後(3109)、終了する。
【0128】
該当する利用許可証が見つかった場合には、該利用許可証が取り出され、利用許可証検査部3608の利用許可証記憶部3007に記憶される(3102)。
【0129】
次に、利用条件判定部3006で、利用許可証記憶部3007に保持されている利用許可証に含まれる利用条件lが満たされているかどうかが判定される(3103)。利用条件lに記載されている利用許可証の有効期間開始や終了のチェックのために、利用条件判定部3006は時計を内蔵している。また、条件判定対象情報生成部3003で生成された条件判定対象情報sが存在する場合、条件判定対象情報sが利用条件lを満たすかどうかもここで判定される。
【0130】
3103で、利用条件lが満たされていないと判断された場合、利用許可証の検査は失敗であり、エラー処理の後(3109)、終了する。
【0131】
3103で、利用条件lが満たされていると判断された場合、チャレンジ生成部3002でチャレンジCが作成される(3104)。チャンレンジは検証を行うたびに異なる乱数値であり、チャンレンジ生成部3002は乱数生成機能を内包している。
【0132】
チャレンジが生成された後、生成されたチャレンジC、公開鍵情報記憶部3004に保持されている法数nおよび公開鍵e、利用許可証記憶部3007に記憶されている利用許可証が含む利用条件lが、通信制御部3008を介して利用許可証明部3611に送付される(3105)。
【0133】
チャレンジを受け取った利用許可証明部3611は、レスポンス計算部3013でレスポンスRを計算し(3106)、通信制御部3011を介して利用許可証検査部3608に送付される(3107)。レスポンスRは、通信制御部3011を介して利用許可証検査部3608から入力されたチャレンジC、法数n、公開鍵e、利用条件l、消費者秘密情報記憶部3013に保持されている消費者秘密情報uから、以下の(4)式にしたがって計算される。
【0134】
【数4】
R=Cf(n,e,u,l) mod n (4)
通信制御部3008を介してレスポンスRを受け取った利用許可証検査部3608は、レスポンス検査部3005でレスポンスRの正当性を検査する(3108)。検証にはレスポンスRの他に、チャレンジ生成部3002が生成したチャレンジC、公開鍵情報記憶部3004が記憶している法数n、公開鍵e、利用許可証記憶部3007が保持している利用許可証に含まれる証明値tが使用される。(5)の式が成り立てば検証成功、そうでなければ失敗である。
【0135】
【数5】
C≡(CtR)e mod n (5)
(1)(4)(5)の式からわかるように、法数や公開鍵、証明値、利用条件、消費者秘密情報の組み合わせが正しい時のみレスポンスの検査に成功する。検証用公開鍵が異なるデジタルコンテンツの利用許可証を流用したり、他人の利用許可証を利用したり、利用条件を改竄したりといった攻撃は困難である。
【0136】
前述したように、利用条件lには、利用許可証の有効期間以外に多くの条件が記載可能である。たとえば、利用可能な回数を利用条件lに指定することは好適な例である。この場合、条件判定対象情報生成部3003に現在までの使用回数を保持する機構を設けておき、3103の判断の際に条件判定対象情報sとして利用条件判定部3006に送付し、そこで利用条件lに記載されている利用可能な回数と比較すればよい。
【0137】
編集のように長時間かかる作業の際は、編集作業の開始時に利用許可証の検査に成功したとしても、編集作業の途中で利用許可証の有効期間が切れてしまうことがありえる。このような場合には、数分毎に、利用許可証の検査をおこない、利用許可証の有効期間が切れていることがわかった場合には、その時点で編集が実行できなくなるように構成すればよい。
【0138】
デジタルコンテンツに含まれるデータ本体3715が、特に暗号化等の施されていない形式であった場合、デジタルコンテンツのファイルからデータ本体のみを取り出すことで、利用許可証の検査なしに、デジタルコンテンツの内容にアクセスできる可能性がある。これを防ぐためには、データ本体3715には暗号化されたデータを入れておけばよい。利用許可証の検査に成功した場合にのみ一時的に復号し、各種機能を実行するようにすることで、ファイルからデジタルコンテンツの内容が漏れることを防ぐことができる。
【0139】
図38は、本発明を適用したデジタルコンテンツを復号するソフトウエアである。本ソフトウエアは、暗号化された状態で存在する文書・画像・音楽・映像といったデジタルコンテンツを復号して利用可能な形式として出力するものである、復デジタルコンテンツの復号には利用許可証が必要であり、本ソフトウエアは、復号を実行する前に、本ソフトウエアの利用者が正しい利用許可証を所持しているかどうかを検査する。
【0140】
ソフトウエア3801は、入出力制御部3802、復号部3803、利用許可証検査部3804からなる。
【0141】
それぞれの構成要素の役割を以下に示す。
【0142】
入出力制御部3802:利用者からの入力あるいは、利用者への出力を制御する。
復号部3803:暗号化されているデジタルコンテンツを復号する。
利用許可証検査部3804:復号部3803から呼び出され、利用者が、現在操作中のデジタルコンテンツを復号可能な利用許可証を所持しているかどうかを検査する。
【0143】
また、本ソフトウエアが動作するコンピュータ上には、消費者秘密情報や利用許可証を保持し、利用許可証の正当性の検査に必要な情報を利用許可証検査部3804に送付する利用許可証明部3811が存在する。
【0144】
図39に本ソフトウエアが復号するデジタルコンテンツのデータ構造を示す。
【0145】
本ソフトウエアが復号するデジタルコンテンツ3901は、暗号化されたデータ本体3903と、本デジタルコンテンツの復号に割り当てられた検証用公開鍵の情報3902、さらには、データ本体3903と検証用公開鍵の情報3902に対するデジタル署名3904からなる。デジタル署名3904は、デジタルコンテンツの改竄を防ぐためのものである。デジタルコンテンツ3901の最後尾に付属しており、デジタルコンテンツ3901が改竄されていないかどうかを必要に応じて検査することができる。
【0146】
図32は、図38に示したソフトウエア3801の利用許可証検査部3804と、該ソフトウエアに対して利用許可証の正当性の検査に使用する情報を供給する利用許可証明部3811の内部構成を示したものである。利用許可証検査部3608は、利用許可証明部3811が保持している利用許可証をとりだし、その正当性を検証する。
【0147】
利用許可証検査部3804は、入出力インタフェース3201、条件判定対象情報生成部3202、利用条件判定部3203、公開鍵情報記憶部3204、証明値検査部3205、利用許可証記憶部3206、通信制御部3207、消費者秘密情報記憶部3208から構成される。
【0148】
利用許可証検査部3804の各部の役割を以下に示す。
【0149】
入出力インタフェース3201:復号部3803からの入力をうけ、利用許可証の検査結果を出力するインタフェース。
条件判定対象情報生成部3202:利用許可証に記載されている利用条件が特定の条件を満たす場合にのみデジタルコンテンツを復号する場合、その判断の対象となる情報を生成する。
利用条件判定部3203:利用許可証に記載されている利用条件が満たされているかどうかを判定する。
公開鍵情報記憶部3204:利用許可証の検査に使用する検証用公開鍵に関する情報を記憶する。
証明値検査部3205:利用許可証に記載されている証明値の正当性を検査する。
利用許可証記憶部3206:利用許可証明部3811から取り出した利用許可証を保持する。
通信制御部3207:利用許可証明部3811との間の通信を制御する。
消費者秘密情報記憶部3208:利用許可証明部3811から取り出した消費者秘密情報を保持する。
【0150】
また、利用許可証明部3811は、通信制御部3211、消費者秘密情報記憶部3212、利用許可証記憶部3213から構成される。
【0151】
利用許可証明部3811の各部の役割を以下に示す。
【0152】
通信制御部3211:利用許可証検査部3804との間のデータの入出力を制御する。
消費者秘密情報記憶部3212:消費者秘密情報を保持する。
利用許可証記憶部3213:利用許可証が複数保持される。
【0153】
図33は、利用許可証の検証の際の利用許可証検査部3804と利用許可証明部3811の動作を示すフローチャートである。図33に従って利用許可証の検査の際の利用許可証検査部3804と利用許可証明部3811の動作を説明する。
【0154】
図39に示したデジタルコンテンツの復号が利用者から指示された場合、復号部3803は、利用許可証検査部3804を呼び出して利用許可証の検証を行う。その際復号部3803は、該デジタルコンテンツに付随している検証用公開鍵の情報(検証用公開鍵識別子ID、法数n、公開鍵e)を取り出して、入出力インタフェース3201を介して利用許可証検査部3804に入力する。利用許可証検査部3804は、この入力を受けた時点から利用許可証の検査を開始する。
【0155】
利用許可証検査部3804は、まず、入出力インターフェース3201を介して入力された検証用公開鍵の情報を公開鍵情報記憶部3204に記憶する(3300)。次に通信制御部3207を介して利用許可証明部3811の利用許可証記憶部3213にアクセスし、利用許可証記憶部3213に保持されている利用許可証のうち、利用許可証検査部3804による利用許可証の検査に使用可能なものを探す(3301)。利用許可証記憶部3211に保持されている利用許可証のうち、その公開鍵識別子フィールドの値が公開鍵情報記憶部3204に保持されている検証用公開鍵識別子と一致するものが、求める利用許可証である。ここで該当する利用許可証が見つからなければ、利用許可証の検査は失敗であり、エラー処理の後(3306)、終了する。
【0156】
該当する利用許可証が見つかった場合には、該利用許可証が取り出され、利用許可証検査部3804の利用許可証記憶部3206に記憶される(3302)。
【0157】
次に、利用条件判定部3203で、利用許可証記憶部3206に保持されている利用許可証に含まれる利用条件lが満たされているかどうかが判定される(3303)。利用条件lに記載されている利用許可証の有効期間開始や終了のチェックのために、利用条件判定部3203は時計を内蔵している。また、条件判定対象情報生成部3202で生成された条件判定対象情報sが存在する場合、条件判定対象情報sが利用条件lを満たすかどうかもここで判定される。
【0158】
3303で、利用条件lが満たされていないと判断された場合、利用許可証の検査は失敗であり、エラー処理の後(3306)、終了する。
【0159】
3303で、利用条件lが満たされていると判断された場合、通信制御部3207を介して利用許可証明部3811の消費者秘密情報記憶部3212にアクセスし、消費者秘密情報記憶部3212に保持されている消費者秘密情報uを取り出し、利用許可証検査部3804の消費者秘密情報記憶部3208に記憶する(3304)。
【0160】
最後に、証明値検査部3205で、利用許可証記憶部3206に保持されている利用許可証に含まれる証明値tの正当性を検査する(3305)。検証のために、証明値検査部3205は乱数rを生成し、公開鍵情報記憶部3204が記憶している法数n、公開鍵e、利用許可証記憶部3206が保持している利用許可証に含まれる利用条件l、消費者秘密情報記憶部3208が保持している消費者秘密情報uに対して (6)の式が成り立つかどうかを検査する。
【0161】
【数6】
r≡(rt+f(n,e,u,l)e mod n (6)
(1)(6)の式からわかるように、法数や公開鍵、証明値、利用条件、消費者秘密情報の組み合わせが正しい時のみ証明値の検査に成功する。検証用公開鍵が異なるデジタルコンテンツの利用許可証を流用したり、他人の利用許可証を利用したり、利用条件を改竄したりといった攻撃は困難である。
【0162】
圧縮されたデジタルコンテンツを伸長する際に、伸長のための利用許可証の検査をするよう構成する場合も、図38に示したソフトウエアと同様の構成と動作が利用できる。暗復号の処理がが圧縮伸長の処理に変わるだけで、構成や動作はまったく同じものが利用できる。
【0163】
図35に示したソフトウエアや、図37、図39に示したようなファイルといったデジタルコンテンツは、利用許可証を持たない消費者は使用できないので、消費者は、デジタルコンテンツ自体をいかなる流通経路を使って入手してもかまわない。したがって、デジタルコンテンツの提供者は、消費者にとって便利な様々な経路でデジタルコンテンツを配布することができる。たとえば、インターネット上の特定のサイトからのダウンロードでもよいし、CD−ROM等に記憶させて配布するのでもよい。衛星放送でデジタルコンテンツを放送してもよいし、デジタルコンテンツのコピーを友人同士で交換してもかまわない。
【0164】
[検証用公開鍵情報の発行]
検証用公開鍵情報はプロバイダからの依頼によって、センタで作成され、依頼したプロバイダに送付される。依頼の際には、検証用公開鍵情報依頼というデータが送受信される。通常、発信者は依頼をするプロバイダであり受信者は依頼を受けるセンタであるが、インターネットに接続されたその他のエンティティがプロバイダの代わりに依頼を行ったりセンタの代わりに依頼を受けたりする場合には、プロバイダやセンタ以外のエンティティが発信者や受信者になってもよい。
【0165】
検証用公開鍵情報依頼のデータ構造を以下に示す。
【0166】
【表4】
Figure 0004120125
【0167】
発信者フィールド:この検証用公開鍵情報依頼の発信者の識別子が記載される。発信者は通常プロバイダであるが、インターネットに接続された別のエンティティでもよい。
受信者フィールド:この検証用公開鍵情報依頼の受信者の識別子が記載される。受信者は通常センタであるが、インターネットに接続された別のエンティティでもよい。
日時フィールド:この検証用公開鍵情報依頼の作成日時が記載される。
公開鍵仕様フィールド:作成してもらう検証用公開鍵に対する依頼者の要望が記載される。検証用公開鍵を使用するプロバイダの識別子、公開鍵暗号アルゴリズム、鍵長の情報がここに記述できる。
デジタル署名フィールド:この検証用公開鍵情報依頼の発信者によるこの検証用公開鍵情報依頼に対するデジタル署名が記載される。
証明証フィールド:この検証用公開鍵情報依頼のデジタル署名フィールドのデジタル署名を検証するための公開鍵を含む公開鍵証明証群が記載される。
【0168】
検証用公開鍵情報依頼を受け取ったセンタは、検証用公開鍵情報依頼に記載された公開鍵仕様にしたがって公開鍵ペアを作成し、検証用公開鍵情報を作成して依頼者に渡す。依頼された検証用公開鍵情報を作成するかしないか、あるいは、指定された公開鍵仕様通りに公開鍵を作成するかどうかはセンタが決定できる。
【0169】
検証用公開鍵情報を引き渡す際には、検証用公開鍵情報送付というデータが送受信される。通常、発信者は検証用公開鍵情報を作成したセンタであり、受信者は発行された検証用公開鍵情報を使用するプロバイダであるが、インターネットに接続されたその他のエンティティがセンタの代わりに検証用公開鍵情報の送付を行ったり、プロバイダの代わりに検証用公開鍵情報を受け取ったりする場合には、センタやプロバイダ以外のエンティティが発信者や受信者になってもよい。
【0170】
検証用公開鍵情報送付のデータ構造を以下に示す。
【0171】
【表5】
Figure 0004120125
【0172】
発信者フィールド:この検証用公開鍵情報送付の送付者の識別子が記載される。発信者は通常センタであるが、インターネットに接続された別のエンティティでもよい。
受信者フィールド:この検証用公開鍵情報送付の受信者の識別子が記載される。受信者は通常プロバイダであるが、インターネットに接続された別のエンティティでもよい。
日時フィールド:この検証用公開鍵情報送付の作成日時が記載される。
検証用公開鍵情報フィールド:この検証用公開鍵情報送付で送られる検証用公開鍵情報が記載される。
デジタル署名フィールド:この検証用公開鍵情報送付の発信者によるこの検証用公開鍵情報送付に対するデジタル署名が記載される。
証明証フィールド:この検証用公開鍵情報送付のデジタル署名フィールド、およびこの検証用公開鍵情報送付に含まれる検証用公開鍵情報のデジタル署名フィールドのデジタル署名を検証するための公開鍵を含む公開鍵証明証群が記載される。
【0173】
[利用許可証仲介許諾]
本実施例では、プロバイダとリテーラは独立に存立することが可能である。リテーラは多様なプロバイダが提供する多様なデジタルコンテンツの販売を行うことが可能であるし、特定のプロバイダが自己の提供するデジタルコンテンツを多くのリテーラに販売をしてもらうといったことも可能である。
【0174】
プロバイダにとっては、多くのリテーラに自己のデジタルコンテンツを販売してもらうことは基本的には有利であるが、信用度の低いリテーラに販売をされるのは、後のトラブルを招く可能性が高く許容できない。したがって、プロバイダは自己のデジタルコンテンツを取り扱えるリテーラをコントロールする必要がある。
【0175】
このコントロール可能にするために、本実施例では利用許可証仲介許諾というデータを使用する。
【0176】
利用許可証仲介許諾はプロバイダが特定のリテーラに対して自己の特定のデジタルコンテンツの販売を委託している事を証するデジタルデータであり、リテーラからの依頼を受けて作成され、依頼者に送付される。
【0177】
以降、単に仲介許諾といえば利用許可証仲介許諾を、仲介許諾証といえば利用許可証仲介許諾証を指すものとする。
【0178】
仲介許諾証のデータ構造を以下に示す。
【0179】
【表6】
Figure 0004120125
【0180】
発行者フィールド:この仲介許諾証の発行者であるプロバイダの識別子が記載される。
受領者フィールド:この仲介許諾証の受領者であるリテーラの識別子が記載される。
発行日フィールド:この仲介許諾証の発行日が記載される。
仲介許諾識別子フィールド:この仲介許諾証にプロバイダが割り当てた識別子が記載される。
有効期間開始日時フィールド:この仲介許諾証の有効期間の開始日時が記載される。
有効期間終了日時フィールド:この仲介許諾証の有効期間の終了日時が記載される。
公開鍵識別子フィールド:この仲介許諾証によって利用許可証の仲介が許諾される検証用公開鍵に割り当てられた検証用公開鍵識別子が記載される。
利用条件限定情報フィールド:利用許可証に記載される利用条件の範囲を限定する情報である利用条件限定情報が記載される。
デジタル署名フィールド:発行者であるプロバイダによるこの仲介許諾証全体に対するデジタル署名が記載される。
【0181】
利用条件限定情報フィールドに記載される利用条件限定情報によって、プロバイダはリテーラの仲介によって発行される利用許可証に記載される利用条件を詳細にコントロールする事ができる。
【0182】
利用条件限定情報のデータ構造を以下に示す。
【0183】
【表7】
Figure 0004120125
【0184】
最短有効期間フィールド:この仲介許諾証の受領者であるリテーラが仲介して発行される、この仲介許諾証の公開鍵鍵識別子フィールドに指定された検証用公開鍵に対応する利用許可証の利用条件フィールドに記載される有効期間開始から有効期間終了までの間の長さの最低限度が記載される。該利用許可証の利用条件フィールドに記載される有効期間開始から有効期間終了までの間の長さは、ここに記載される値以上でなければならない。
最長有効期間フィールド:この仲介許諾証の受領者であるリテーラが仲介して発行される、この仲介証の公開鍵鍵識別子フィールドに指定された検証用公開鍵に対応する利用許可証の利用条件フィールドに記載される有効期間開始から有効期間終了までの間の長さの最長限度が記載される。該利用許可証の利用条件フィールドに記載される有効期間開始から有効期間終了までの間の長さは、ここに記載される値以下でなければならない。
【0185】
利用条件限定情報には、最短有効期間あるいは最長有効期間以外にも、この仲介許諾証の公開鍵鍵識別子フィールドで指定された検証用公開鍵とバインドされているデジタルコンテンツに応じて種々の限定を設定する事が可能である。
【0186】
例えば、デジタルコンテンツの利用回数が特定の回数以下に限定されるような場合、最小利用可能回数や最大利用可能回数を利用条件限定情報に記載しておき、その範囲内で利用条件に利用可能回数を指定するように構成する。
【0187】
また、デジタルコンテンツの利用時にいくらかの料金を課金あるいは徴収するために利用条件にその金額を指定する場合には、指定可能な金額の範囲を利用条件限定情報に記載する。
【0188】
さらに、デジタルコンテンツが持つ機能のうちの特定の機能の利用のみを許すために利用条件にその機能を指定する場合には、指定可能な機能の範囲を利用条件限定情報に記載する。
【0189】
[仲介許諾証の発行]
仲介許諾証はリテーラからの依頼によって、プロバイダで作成され、依頼したリテーラに送付される。依頼の際には、仲介許諾証依頼というデータが送受信される。通常、発信者は依頼をするリテーラであり受信者は依頼を受けるプロバイダであるが、インターネットに接続されたその他のエンティティがリテーラの代わりに依頼を行ったりプロバイダの代わりに依頼を受けたりする場合には、リテーラやプロバイダ以外のエンティティが発信者や受信者になってもよい。
【0190】
仲介許諾証依頼のデータ構造を以下に示す。
【0191】
【表8】
Figure 0004120125
【0192】
発信者フィールド:この仲介許諾証依頼の発信者の識別子が記載される。発信者は通常リテーラであるが、インターネットに接続された別のエンティティでもよい。
受信者フィールド:この仲介許諾証依頼の受信者の識別子が記載される。受信者は通常プロバイダであるが、インターネットに接続された別のエンティティでもよい。
日時フィールド:この仲介許諾証依頼の作成日時が記載される。
仲介許諾仕様フィールド:作成してもらう仲介許諾証に対する依頼者の要望を記載した仲介許諾仕様が記載される。
デジタル署名フィールド:この仲介許諾証依頼の発信者によるこの仲介許諾証依頼に対するデジタル署名が記載される。
証明証フィールド:この仲介許諾証依頼のデジタル署名フィールドのデジタル署名を検証するための公開鍵を含む公開鍵証明証群が記載される。
【0193】
仲介許諾証依頼の仲介許諾仕様フィールドに記載される仲介許諾仕様のデータ構造を以下に示す。
【0194】
【表9】
Figure 0004120125
【0195】
許諾者フィールド:仲介許諾証を作成してほしいプロバイダの識別子が記載される。
被許諾者フィールド:希望する仲介許諾証によって許諾を受けるリテーラの識別子が記載される。
公開鍵鍵識別子フィールド:仲介許諾証で利用許可証の仲介を許諾してほしい検証用公開鍵に割り当てられた検証用公開鍵識別子が記載される。
希望利用条件限定情報フィールド:作成してもらう仲介許諾証に記載してほしい利用条件限定情報が記載される。
【0196】
仲介許諾証依頼を受け取ったプロバイダは、仲介許諾証依頼に記載された仲介許諾仕様にしたがって仲介許諾証を作成し、リテーラに渡す。依頼された仲介許諾証を作成するかしないか、あるいは、指定された仲介許諾仕様どおりに仲介許諾証を作成するかどうかはプロバイダが決定できる。
【0197】
作成した仲介許諾証を引き渡す際には、仲介許諾証送付というデータが送受信される。通常、発信者は仲介許諾証を作成したプロバイダであり、受信者は発行された仲介許諾証を使用するリテーラであるが、インターネットに接続されたその他のエンティティがプロバイダの代わりに仲介許諾証の送付を行ったり、リテーラの代わりに仲介許諾証を受け取ったりする場合には、プロバイダやリテーラ以外のエンティティが発信者や受信者になってもよい。
【0198】
仲介許諾証送付のデータ構造を以下に示す。
【0199】
【表10】
Figure 0004120125
【0200】
発信者フィールド:この仲介許諾証送付の送付者の識別子が記載される。発信者は通常プロバイダであるが、インターネットに接続された別のエンティティでもよい。
受信者フィールド:この仲介許諾証送付の受信者の識別子が記載される。受信者は通常リテーラであるが、インターネットに接続された別のエンティティでもよい。
日時フィールド:この仲介許諾証送付の作成日時が記載される。
仲介許諾証フィールド:この仲介許諾証送付で送られる仲介許諾証が記載される。
デジタル署名フィールド:この仲介許諾証送付の発信者によるこの仲介許諾証送付に対するデジタル署名が記載される。
証明証フィールド:この仲介許諾証送付のデジタル署名フィールド、およびこの仲介許諾証送付に含まれる仲介許諾証のデジタル署名フィールドのデジタル署名を検証するための公開鍵を含む公開鍵証明証群が記載される。
【0201】
[利用許可証の発行]
利用許可証は、消費者からの依頼に応じて発行される。消費者はリテーラに対して特定のデジタルコンテンツに対して特定の利用条件での予約を依頼する利用許可証依頼を送付する。利用許可証依頼を受け取ったリテーラは、通常センタに対して、依頼元である消費者に対する利用許可証の発行を依頼するため利用許可証依頼を作成し、センタに送付する。利用許可証依頼を受け取ったセンタは消費者向けの利用許可証を作成し、利用許可証依頼を送付してきたリテーラに渡す。利用許可証を受け取ったリテーラは、その利用許可証をその依頼者である消費者に送付する。センタからあるいはリテーラからの利用許可証の送付には、利用許可証送付というデータが送受信される。
【0202】
消費者とセンタの間を複数のリテーラが仲介することも可能である。その場合、消費者からの依頼を直接受けたリテーラが第2のリテーラに利用許可証依頼を送付し、第2のリテーラがセンタに利用許可証依頼を送付するという形態をとる。発行された利用許可証は逆の経路で利用許可証送付を送付していく事で消費者に届いてもよいし、いくつかのリテーラをスキップしてもよい。
【0203】
利用許可証依頼のデータ構造を以下に示す。
【0204】
【表11】
Figure 0004120125
【0205】
発信者フィールド:この利用許可証依頼の発信者の識別子が記載される。
受信者フィールド:この利用許可証依頼の受信者の識別子が記載される。
日時フィールド:この利用許可証依頼の作成日時が記載される。
許可内容フィールド:依頼する利用許可証の内容に関する要望のためのフィールドである。通常、利用許可に関する要望を記した許可仕様が記載されるが、受信者がリテーラであって、リテーラで販売している物品あるいはサービスにリテーラ独自の管理番号が割り当ててある場合には、その番号が記載されることもある。
デジタル署名フィールド:この利用許可証依頼の発信者によるこの利用許可証依頼に対するデジタル署名が記載される。
証明証フィールド:この利用許可証依頼のデジタル署名フィールド、およびこの利用許可証依頼に仲介許諾が含まれるならばそのデジタル署名フィールドのデジタル署名を検証するための公開鍵を含む公開鍵証明証群が記載される。
【0206】
利用許可証依頼の許可内容フィールドに記載される許可仕様のデータ構造を以下に示す。
【0207】
【表12】
Figure 0004120125
【0208】
【表13】
公開鍵鍵識別子フィールド:利用許可証依頼で依頼する利用許可証を検証できる検証用公開鍵に割り当てられた検証用公開鍵識別子が記載される。
消費者識別子フィールド:利用許可証依頼で依頼する利用許可証で予約を証される消費者の識別子が記載される。
利用条件フィールド:利用許可証依頼で依頼する利用許可証に記載してほしい利用条件が記載される。
仲介許諾証フィールド:利用許可証依頼の発信者がリテーラの場合に、そのリテーラが、この許可仕様の公開鍵鍵識別子フィールドに指定された識別子をもつ検証用公開鍵に対応する利用許可証を、この許可仕様の利用条件フィールドに記載された利用条件で仲介することが許諾されている事を証する仲介許諾証が含まれる。
【0209】
許可仕様の利用条件フィールドに記載されたとおりの利用条件を持つ利用許可証を発行するかどうかは、センタが決定する。特に、許可仕様に含まれる仲介許諾証で許諾されていない依頼に対しては、利用許可証を発行しない。
【0210】
また、利用許可証の依頼の過程で、仲介するリテーラが許可仕様の利用条件フィールドの内容を修正する事もありうる。
【0211】
利用許可証送付のデータ構造を以下に示す。
【0212】
【表14】
Figure 0004120125
【0213】
発信者フィールド:この利用許可証送付の送付者の識別子が記載される。
受信者フィールド:この利用許可証送付の受信者の識別子が記載される。
日時フィールド:この利用許可証送付の作成日時が記載される。
利用許可証フィールド:この利用許可証送付で送られる利用許可証が記載される。
デジタル署名フィールド:この利用許可証送付の発信者によるこの仲介許諾送付に対するデジタル署名が記載される。
証明証フィールド:この利用許可証送付のデジタル署名フィールド、およびこの利用許可証送付に含まれる利用許可証のデジタル署名フィールドのデジタル署名を検証するための公開鍵を含む公開鍵証明証群が記載される。
【0214】
[センタの構成]
本実施例のセンタは、インターネットを介して入力される検証用公開鍵情報依頼と利用許可証依頼を処理する機能、利用許可証の発行履歴を作成してインターネットを介してプロバイダあるいはリテーラに送付する機能、検証用公開鍵情報の発行履歴を作成してインターネットを介してプロバイダに送付する機能を持つ。
【0215】
図2は、本実施例のセンタの構成図である。
【0216】
センタは、入出力制御部201、処理選択部202、検証用公開鍵情報依頼処理部203、利用許可証依頼処理部204、プロバイダDB205、公開鍵ペアDB206、リテーラDB207、消費者DB208、利用許可証発行履歴DB209、署名鍵記憶部210、証明証記憶部211、利用許可証発行プロバイダ用履歴作成部212、利用許可証発行リテーラ用履歴作成部213、検証用公開鍵情報発行履歴作成部214から構成され、入出力制御部201を介してインターネットに接続されている。
【0217】
本実施例のセンタの各部の役割を以下に述べる。
【0218】
入出力制御部201:インターネットを介したデータの入力を受け付けるとともに、検証用公開鍵情報依頼処理部203が作成したデータや利用許可証依頼処理部204が作成したデータをインターネットを介して出力する。インターネットからの入出力制御部201への入力、あるいは、入出力制御部201からインターネットへの出力の方法としては、入出力制御部201と接続されたWWWサイトを準備してプロバイダやリテーラにアクセスさせるもの、あるいは電子メールシステムと入出力制御部201を自動的にあるいは人手によって連動させるものなどが使用できる。
処理選択部202:入力したデータが検証用公開鍵情報依頼かまたは利用許可証依頼かを判断し、検証用公開鍵情報依頼であれば検証用公開鍵情報依頼処理部203を、利用許可証依頼であれば利用許可証依頼処理部204を呼び出す。
検証用公開鍵情報依頼処理部203:検証用公開鍵情報依頼を処理し、検証用公開鍵情報依頼送付を作成して入出力制御部201を介して依頼者に送付する。検証用公開鍵情報依頼送付作成の過程で、プロバイダDB205を参照し、公開鍵ペアDB206に新しいエントリを追加する。
利用許可証依頼処理部204:利用許可証依頼を処理し、利用許可証依頼送付を作成して入出力制御部201を介して依頼者に送付する。利用許可証依頼送付作成の過程で、公開鍵ペアDB206、リテーラDB207、消費者DB208を参照し、利用許可証発行履歴DB209に新しいエントリを追加する。
プロバイダDB205:プロバイダに関するデータを保持するDB。
公開鍵ペアDB206:利用許可証の作成に使用される公開鍵ペアに関する情報を保持するDB。
リテーラDB207:リテーラに関するデータを保持するDB。
消費者DB208:消費者に関するデータを保持するDB。
利用許可証発行履歴DB209:利用許可証の発行履歴に関するデータを保持するDB。
署名鍵記憶部210:センタが作成するデジタル署名に使用する署名鍵を保持する。
証明証記憶部211:署名鍵記憶部210に記憶されている署名鍵で作成したデジタル署名を検証できる検証鍵を含む公開鍵証明証を保持する。
利用許可証発行プロバイダ用履歴作成部212:各プロバイダ毎の利用許可証の発行履歴を作成し、入出力制御部201を介してプロバイダに送付する。
利用許可証発行リテーラ用履歴作成部213:各リテーラ毎の利用許可証の発行履歴を作成し、入出力制御部201を介してリテーラに送付する。
検証用公開鍵情報発行履歴作成部214:各プロバイダ毎の検証用公開鍵情報の発行履歴を作成し、入出力制御部201を介してプロバイダに送付する。
【0219】
[センタが持つデータベース]
センタは、プロバイダDB205、公開鍵ペアDB206、リテーラDB207、消費者DB208、利用許可証発行履歴DB209の5つのデータベースを持っている。
【0220】
プロバイダDB205は、センタがプロバイダとして認めているエンティティに関する情報を保持したデータベースである。
【0221】
プロバイダDB205の構造を図6に示す。プロバイダDB205は以下の唯一の属性からなるテーブルである。
【0222】
【表15】
プロバイダ識別子属性:センタがプロバイダとして認めているエンティティの識別子。
【0223】
センタは、このデータベースに登録されているプロバイダ以外のエンティティをプロバイダとは認めない。したがって、そのようなエンティティに対して検証用公開鍵情報を発行することはないし、そのようなエンティティが提供しているデジタルコンテンツに対する利用許可証を発行する事もない。
【0224】
センタがプロバイダと認めるエンティティを増やしたい場合には、このデータベースに新規エントリを追加する。
【0225】
公開鍵ペアDB206は、プロバイダに発行される検証用公開鍵と、それに対応する秘密鍵に関する情報を保持したデータベースである。本実施例では、検証用公開鍵とそれに対応する秘密鍵のための公開鍵暗号アルゴリズムとしてRSAを使用する。したがって、公開鍵ペアDB206はRSAの公開鍵ペアについての情報を保持するデータベースである。
【0226】
公開鍵ペアDB206の構造を図7に示す。公開鍵ペアDB206は以下の7つの属性からなるテーブルであり、各エントリはそれぞれ一つの公開鍵ペアに関する情報である。
【0227】
【表16】
公開鍵識別子属性:このエントリの公開鍵ペアに割り当てられた検証用公開鍵識別子。
法数属性:RSA法数。
公開鍵属性:RSA公開鍵。
秘密鍵属性:RSA秘密鍵。
プロバイダ識別子属性:このエントリの公開鍵ペアの公開鍵を含む検証用公開鍵情報を発行されたプロバイダの識別子。
有効期間開始属性:このエントリの公開鍵ペアの公開鍵を含む検証用公開鍵情報の有効期間の開始日時。
有効期間終了属性:このエントリの公開鍵ペアの公開鍵を含む検証用公開鍵情報の有効期間の終了日時。
発行日属性:このエントリの公開鍵ペアの公開鍵を含む検証用公開鍵情報の発行日時。
【0228】
リテーラDB207は、センタがリテーラとして認めているエンティティに関する情報を保持したデータベースである。
【0229】
リテーラDB207の構造を図8に示す。リテーラDB207は以下の唯一の属性からなるテーブルである。
【0230】
【表17】
リテーラ識別子属性:センタがリテーラとして認めているエンティティの識別子。
【0231】
センタは、このデータベースに登録されているリテーラ以外のエンティティをリテーラとは認めない。したがって、そのようなエンティティからの利用許可証発行依頼に対して利用許可証を発行する事はない。
【0232】
センタがリテーラと認めるエンティティを増やしたい場合には、このデータベースに新規エントリを追加する。
【0233】
消費者DB208は、センタが消費者として認めているエンティティに関する情報を保持したデータベースである。
【0234】
消費者DB208の構造を図9に示す。消費者DB208は以下の2つの属性からなるテーブルである。
【0235】
【表18】
消費者識別子属性:センタが消費者として認めている消費者識別子。
消費者秘密情報属性:消費者識別子属性で指定された消費者識別子に対応する消費者秘密情報。
【0236】
利用許可証発行履歴DB209は、センタがこれまでに発行した利用許可証に関する情報を保持したデータベースである。
【0237】
利用許可証発行履歴DB209の構造を図10に示す。消費者DB208は以下の6つの属性からなるテーブルであり、各エントリはそれぞれ一つの利用許可証に関する情報である。
【0238】
【表19】
公開鍵識別子属性:このエントリの利用許可証を検証できる検証用公開鍵に割り当てられた検証用公開鍵識別子。
プロバイダ識別子属性:このエントリの公開鍵識別子属性で指定された検証用公開鍵を含む検証用公開鍵情報の発行を受けたプロバイダの識別子。
消費者識別子属性:このエントリの利用許可証でデジタルコンテンツの利用を許可された消費者の消費者識別子。
仲介者識別子属性:このエントリの利用許可証の発行を依頼したリテーラの識別子。
利用条件属性:このエントリの利用許可証に記載された利用条件をBER(Basic Encoding Rule:ITU−T Recomendation X.690)にしたがってエンコードした結果。
発行日属性:このエントリの利用許可証の発行日時。
【0239】
図3は、本実施例のセンタの動作を示すフローチャートである。本実施例のセンタの動作を図3のフローチャートにしたがって説明する。
【0240】
図3に示す通り、本実施例のセンタは、データの入力を待ち続け、入力があれば入力に応じた処理を行った後に再度入力待ちの状態に戻る終わる事のない処理である。
【0241】
最初に、入出力制御部201で入力があるかどうかがチェックされる(301)。ここで入力がなければ、再度入力のチェック(301)に戻る。
【0242】
入力のチェック(301)で入力があった場合、処理選択部202で、その入力が検証用公開鍵情報依頼かどうかが判断される(302)。入力が検証用公開鍵情報依頼であれば、検証用公開鍵情報依頼処理部203が呼び出され検証用公開鍵情報依頼が処理される(303)。検証用公開鍵情報依頼の処理が終われば、再度入力のチェック(301)に戻る。
【0243】
302の判断で、入力が検証用公開鍵情報依頼でなければ、処理選択部202で、その入力が利用許可証依頼どうかが判断される(304)。入力が利用許可証依頼であれば、利用許可証依頼処理部204が呼び出され利用許可証依頼が処理される(305)。利用許可証依頼の処理が終われば、再度入力のチェック(301)に戻る。
【0244】
また、304の判断で、入力が利用許可証依頼でなければ、再度入力のチェック(301)に戻る。
【0245】
[検証用公開鍵情報依頼処理部]
図4は、本実施例のセンタが持つ検証用公開鍵情報依頼処理部203の内部構成を示した図である。
【0246】
検証用公開鍵情報依頼処理部203は、検証用公開鍵情報依頼を処理する機能を持ち、処理制御部401、署名検証部402、公開鍵ペア作成部403、公開鍵ペア識別子作成部404、検証用公開鍵情報作成部405、検証用公開鍵情報送付作成部406、エラーメッセージ作成部407、署名作成部408から構成される。
【0247】
検証用公開鍵情報依頼処理部203を構成する各部の役割を以下に述べる。
【0248】
処理制御部401:処理選択部202からの入力、入出力制御部201への出力、プロバイダDB205の参照、公開鍵ペアDB206へのエントリの追加の機能を担うとともに、検証用公開鍵情報依頼の処理全体を制御する。
署名検証部402:処理選択部202から入力される検証用公開鍵情報依頼のデジタル署名を検証する。
公開鍵ペア作成部403:検証用公開鍵および利用許可証の作成に使用される公開鍵ペアを作成する。
公開鍵ペア識別子作成部404:検証用公開鍵に割り当てられる検証用公開鍵識別子を作成する。十分に大きな空間からランダムにビット列を取り出す等、生成される識別子が重複しない工夫がなされている。
検証用公開鍵情報作成部405:検証用公開鍵情報を作成する。検証用公開鍵情報にデジタル署名を添付するために署名作成部408を呼び出す。
検証用公開鍵情報送付作成部406:検証用公開鍵情報送付を作成する。検証用公開鍵情報送付にデジタル署名を添付するために署名作成部408を呼び出す。さらに、センタの署名の検証鍵の公開鍵証明証を入手するために証明証記憶部211にアクセスする。
エラーメッセージ作成部407:エラーメッセージを作成する。
署名作成部408:検証用公開鍵情報、検証用公開鍵情報送付のためのデジタル署名を作成する。デジタル署名のための署名鍵を入手するために、署名鍵記憶部210にアクセスする。
【0249】
図5は、本実施例のセンタが持つ検証用公開鍵情報依頼処理部203の処理制御部401の動作を示すフローチャートである。処理制御部401の動作を図5にしたがって説明する。
【0250】
まず、処理選択部202から入力された検証用公開鍵情報依頼の公開鍵仕様フィールドに含まれる検証用公開鍵の使用者であるプロバイダの識別子を取り出し、センタがこの識別子のエンティティをプロバイダとして認めているかどうかをプロバイダDB205を参照して調べる(501)。プロバイダDB205にこの識別子を持つエントリが存在すれば、プロバイダとして認めたエンティティであることがわかる。
【0251】
501の判断で、プロバイダとして認めていないエンティティであることがわかった場合、エラーメッセージ作成部407でエラーメッセージを作成して入出力制御部201に出力した後(509)、終了する。
【0252】
501の判断で、プロバイダとして認めているエンティティであることがわかった場合、検証用公開鍵情報依頼のデジタル署名を検証する(502)。検証鍵は検証用公開鍵情報依頼の証明証フィールドに添付されているものを使用するが、必要な公開鍵証明証が証明証フィールドに存在しない場合には、CA108から公開鍵証明証を取得してから署名の検証を行う。
【0253】
署名の検証に失敗した場合、エラーメッセージ作成部407でエラーメッセージを作成して入出力制御部201に出力した後(509)、終了する。
【0254】
署名の検証に成功した場合、公開鍵ペア作成部403を呼び出してRSA公開鍵ペアを作成させ、作成された法数、公開鍵、秘密鍵を受け取る(503)。さらに、公開鍵ペア識別子作成部404を呼び出して検証用公開鍵情報に割り当てる識別子を作成させ、作成された識別子を受け取る(504)。
【0255】
次に検証用公開鍵情報の有効期間の開始日時と終了日時を適切に決定した後(505)、新しいエントリを公開鍵ペアDBに追加する(506)。新しいエントリの各属性には以下の値が設定される。
【0256】
【表20】
公開鍵識別子属性:504で作成した識別子。
法数属性:503で作成したRSA法数。
公開鍵属性:503で作成したRSA公開鍵。
秘密鍵属性:503で作成したRSA秘密鍵。
プロバイダ識別子属性:検証用公開鍵情報依頼の公開鍵仕様フィールドに含まれる検証用公開鍵の使用者であるプロバイダの識別子。
有効期間開始属性:505で作成した有効期間の開始日時。
有効期間終了属性:505で作成した有効期間の終了日時。
発行日属性:現在の日時。
【0257】
次に、検証用公開鍵情報作成部(405)を呼び出し、検証用公開鍵情報を作成させ、その結果を受け取る(507)。検証用公開鍵情報の各フィールドには以下の値が設定される。
【0258】
【表21】
発行者フィールド:自分自身すなわちセンタの識別子。
受領者フィールド:検証用公開鍵情報依頼の公開鍵仕様フィールドに含まれる検証用公開鍵の使用者であるプロバイダの識別子。
発行日フィールド:現在の時刻。
有効期間開始日時フィールド:505で作成した有効期間の開始日時。
有効期間終了日時フィールド:505で作成した有効期間の終了日時。
検証用公開鍵識別子フィールド:504で作成した識別子。
公開鍵情報フィールド:503で作成した法数、公開鍵、秘密鍵。
デジタル署名フィールド:このフィールド以外のフィールドのデータに対するデジタル署名。デジタル署名の作成のため、署名作成部408を呼び出し、結果の署名値を受け取り、このフィールドに設定する。
【0259】
最後に、検証用公開鍵情報送付作成部406を呼び出し、検証用公開鍵情報送付を作成させ、その結果を受け取って入出力制御部201に出力した後(508)、終了する。検証用公開鍵情報送付の各フィールドには以下の値が設定される。
【0260】
【表22】
発信者フィールド:自分自身すなわちセンタの識別子。
受信者フィールド:検証用公開鍵情報依頼の発信者フィールドに記載されている識別子。
日時フィールド:現在の時刻。
検証用公開鍵情報フィールド:507で作成した検証用公開鍵情報。
デジタル署名フィールド:このフィールドおよび証明証フィールド以外のフィールドのデータに対するデジタル署名。デジタル署名の作成のため、署名作成部408を呼び出し、結果の署名値を受け取り、このフィールドに設定する。
証明証フィールド:証明証記憶部211に記憶している公開鍵証明証。
【0261】
[利用許可証依頼処理部]
図11は、本実施例のセンタが持つ利用許可証依頼処理部204の内部構成を示した図である。
【0262】
利用許可証依頼処理部204は、利用許可証依頼を処理する機能を持ち、処理制御部1101、署名検証部1102、仲介許諾内容確認部1103、利用許可証識別子作成部1104、利用許可証作成部1105、利用許可証送付作成部1106、エラーメッセージ作成部1107、署名作成部1108、証明値作成部1109、利用条件作成部1110から構成される。
【0263】
利用許可証依頼処理部204を構成する各部の役割を以下に述べる。
【0264】
処理制御部1101:処理選択部202からの入力、入出力制御部201への出力、公開鍵ペアDB206リテーラDB207消費者DB208の参照、利用許可証発行履歴DB209へのエントリの追加の機能を担うとともに、利用許可証依頼の処理全体を制御する。
署名検証部1102:処理選択部202から入力される利用許可証依頼、および該利用許可証依頼に含まれる仲介許諾証のデジタル署名を検証する。
仲介許諾内容確認部1103:処理選択部202から入力される利用許可証依頼で依頼された利用許可証の仲介が、該利用許可証依頼に含まれている仲介許諾証によって許諾されているかどうかを確認する。
利用許可証識別子作成部1104:利用許可証に割り当てられる利用許可証識別子を作成する。十分に大きな空間からランダムにビット列を取り出す等、生成される識別子が重複しない工夫がなされている。
利用許可証作成部1105:利用許可証を作成する。利用許可証にデジタル署名を添付するために署名作成部1108を呼び出す。
利用許可証送付作成部1106:利用許可証送付を作成する。利用許可証送付にデジタル署名を添付するために署名作成部1108を呼び出す。さらに、センタの署名の検証鍵の公開鍵証明証を入手するために証明証記憶部211にアクセスする。
エラーメッセージ作成部1107:エラーメッセージを作成する。
署名作成部1108:利用許可証、利用許可証送付のためのデジタル署名を作成する。デジタル署名のための署名鍵を入手するために、署名鍵記憶部210にアクセスする。
証明値作成部1109:利用許可証に含まれる証明値を作成する。
利用条件作成部1110:利用許可証に含まれる利用条件を作成する。
【0265】
図12は、本実施例のセンタが持つ利用許可証依頼処理部204の処理制御部1101の動作を示すフローチャートである。処理制御部1101の動作を図12にしたがって説明する。
【0266】
まず、処理選択部202から入力された利用許可証依頼の発信者フィールドに記載されている識別子を取り出し、センタがこの識別子のエンティティをリテーラとして認めているかどうかをリテーラDB207を参照して調べる(1201)。リテーラDB207にこの識別子を持つエントリが存在すれば、リテーラとして認めたエンティティであることがわかる。
【0267】
1201の判断で、リテーラとして認めていないエンティティであることがわかった場合、エラーメッセージ作成部1107でエラーメッセージを作成して入出力制御部201に出力した後(1210)、終了する。
【0268】
1201の判断で、リテーラとして認めているエンティティであることがわかった場合、利用許可証依頼のデジタル署名、および利用許可証依頼に含まれる仲介許諾証のデジタル署名を検証する(1202)。検証鍵は利用許可証依頼の証明証フィールドに添付されているものを使用するが、必要な公開鍵証明証が証明証フィールドに存在しない場合には、CA108から公開鍵証明証を取得してから署名の検証を行う。
【0269】
署名の検証に失敗した場合、エラーメッセージ作成部1107でエラーメッセージを作成して入出力制御部201に出力した後(1210)、終了する。
【0270】
署名の検証に成功した場合、利用許可証依頼で依頼された利用許可証の仲介が、該利用許可証依頼に含まれている仲介許諾証によって許諾されているかどうかを確認する(1203)。より具体的には、利用許可証依頼の許可内容フィールドに含まれている許可仕様を仲介許諾内容確認部1103に送付し、該許可仕様の公開鍵鍵識別子フィールドで指定されている検証用公開鍵識別子を持つ検証用公開鍵に対応する利用許可証を、該許可仕様の利用条件フィールドに記載されている利用条件で発行することが、該許可仕様の仲介許諾証フィールドに含まれている仲介許諾証で許諾されているかどうかを確認する。
【0271】
1203で、許諾されていない事がわかった場合、エラーメッセージ作成部1107でエラーメッセージを作成して入出力制御部201に出力した後(1210)、終了する。
【0272】
1203で、許諾されている事がわかった場合、利用許可証識別子作成部1104を呼び出して利用許可証に割り当てる識別子を作成させ、作成された識別子を受け取った後(1204)、利用条件作成部1110を呼び出して、利用許可証に記載する利用条件を決定する(1205)。利用条件作成部が生成する利用条件は、利用許可証依頼の許可内容フィールドに含まれている許可仕様の利用条件フィールドの値そのままでもよいし、該許可仕様の仲介許諾証フィールドに含まれている仲介許諾証によって許諾されている範囲内で該利用条件フィールドの値を適切に修正したものであってもよい。
【0273】
利用条件の作成の後、新しいエントリを利用許可証発行履歴DB209に追加する(1206)。新しいエントリの各属性には以下の値が設定される。
【0274】
【表23】
公開鍵識別子属性:利用許可証依頼の許可内容フィールドに含まれている許可仕様の公開鍵鍵識別子フィールドの値。
プロバイダ識別子属性:公開鍵ペアDBにアクセスし、該公開鍵ペアDBの公開鍵識別子属性が、利用許可証依頼の許可内容フィールドに含まれている許可仕様の公開鍵鍵識別子フィールドの値と同じ値を持つエントリの、プロバイダ識別子属性を取り出し、その値を設定する。
消費者識別子属性:利用許可証依頼の許可内容フィールドに含まれている許可仕様の消費者識別子フィールドの値。
仲介者識別子属性:利用許可証依頼の発信者フィールドの値。
利用条件属性:1205で利用条件作成部が作成した利用条件。
発行日属性:現在の日時。
【0275】
次に、証明値作成部1109を呼び出して証明値を作成させ、その結果を受け取る(1207)。さらに、利用許可証作成部1105を呼び出し、利用許可証を作成させ、その結果を受け取る(1208)。利用許可証の各フィールドには以下の値が設定される。
【0276】
【表24】
発行者フィールド:自分自身すなわちセンタの識別子。
受領者フィールド:利用許可証依頼の許可内容フィールドに含まれている許可仕様の消費者識別子フィールドの値。
発行日フィールド:1206で利用許可証発行履歴DB209に追加したエントリの発行日属性の値。
利用許可証識別子フィールド:1204で作成した識別子。
公開鍵識別子フィールド:利用許可証依頼の許可内容フィールドに含まれている許可仕様の公開鍵鍵識別子フィールドの値。
利用条件フィールド:1205で利用条件作成部が作成した利用条件。
証明値フィールド:1207で作成した証明値。
デジタル署名フィールド:このフィールド以外のフィールドのデータに対するデジタル署名。デジタル署名の作成のため、署名作成部1108を呼び出し、結果の署名値を受け取り、このフィールドに設定する。
【0277】
最後に、利用許可証送付作成部1106を呼び出し、利用許可証送付を作成させ、その結果を受け取って入出力制御部201に出力した後(1209)、終了する。利用許可証送付の各フィールドには以下の値が設定される。
【0278】
【表25】
発信者フィールド:自分自身すなわちセンタの識別子。
受信者フィールド:利用許可証依頼の発信者フィールドの値。
日時フィールド:現在の時刻。
利用許可証フィールド:1208で作成した利用許可証。
デジタル署名フィールド:このフィールドおよび証明証フィールド以外のフィールドのデータに対するデジタル署名。デジタル署名の作成のため、署名作成部1108を呼び出し、結果の署名値を受け取り、このフィールドに設定する。
証明証フィールド:証明証記憶部211に記憶している公開鍵証明証。
【0279】
[センタが持つその他の機能]
本実施例のセンタは、利用許可証発行の履歴情報をプロバイダに送付する事ができる。
【0280】
プロバイダに渡される利用許可証発行の履歴情報は、そのプロバイダに割り当てられた検証用公開鍵に対応する利用許可証の発行についての情報であり、利用許可証発行プロバイダ用履歴作成部212で作成され、入出力制御部201を介してプロバイダに送付される。プロバイダにとっては、この履歴情報は、自己が提供しているデジタルコンテンツをどのリテーラがどのぐらい販売したかのを示す信頼できる情報であり、販売におけるマージンがリテーラからプロバイダに渡される場合に、リテーラから送られたマージンの正しさをプロバイダが確認する際の重要な情報となる。
【0281】
利用許可証発行プロバイダ用履歴作成部212は、履歴を作成するプロバイダの識別子と履歴作成の対象期間の開始日時と終了日時の指定を受け、利用許可証発行履歴DB209から、プロバイダ識別子属性の値が指定されたプロバイダの識別子と一致し、発行日属性の値が指定された履歴作成の対象期間内であるエントリ群を取り出し、その公開鍵識別子属性、仲介者識別子属性、利用条件属性、発行日属性の値を取り出す。本実施例では、履歴を作成するプロバイダの識別子と履歴作成の対象期間の指定はセンタのオペレータから受けるが、インターネット経由でプロバイダから入力されるように構成してもよい。
【0282】
本実施例のセンタは、利用許可証発行の履歴情報をリテーラにも送付する事ができる。
【0283】
リテーラに渡される利用許可証発行の履歴情報は、そのリテーラからの依頼で行った利用許可証の発行についての情報であり、利用許可証発行リテーラ用履歴作成部213で作成され、入出力制御部201を介してリテーラに送付される。この履歴は、センタがリテーラから利用許可証発行のマージンを受け取る場合のマージンの額の根拠となる。
【0284】
利用許可証発行リテーラ用履歴作成部213は、履歴を作成するリテーラの識別子と履歴作成の対象期間の開始日時と終了日時の指定を受け、利用許可証発行履歴DB209から、仲介者識別子属性の値が指定されたリテーラの識別子と一致し、発行日属性の値が指定された履歴作成の対象期間内であるエントリ群を取り出し、その公開鍵識別子属性、プロバイダ識別子属性、消費者識別子属性、利用条件属性、発行日属性の値を取り出す。本実施例では、履歴を作成するリテーラの識別子と履歴作成の対象期間の指定はセンタのオペレータから受けるが、インターネット経由でリテーラから入力されるように構成してもよい。
【0285】
また、本実施例のセンタは、検証用公開鍵情報発行の履歴情報をプロバイダに送付する事ができる。
【0286】
プロバイダに渡される検証用公開鍵情報発行の履歴情報は、そのプロバイダに対して発行された検証用公開鍵情報についての情報であり、検証用公開鍵情報発行履歴作成部214で作成され、入出力制御部201を介してプロバイダに送付される。この履歴は、センタがプロバイダから検証用公開鍵情報発行の手数料を徴収する場合の根拠となる。
【0287】
検証用公開鍵情報発行履歴作成部214は、履歴を作成するプロバイダの識別子と履歴作成の対象期間の開始日時と終了日時の指定を受け、履歴を作成するプロバイダの識別子と履歴作成の対象期間の開始日時と終了日時の指定を受け、公開鍵ペアDB206から、公開鍵識別子属性、法数属性、公開鍵属性、有効期間開始属性、有効期間終了属性、発行日属性の値を取り出す。本実施例では、履歴を作成するプロバイダの識別子と履歴作成の対象期間の指定はセンタのオペレータから受けるが、インターネット経由でプロバイダから入力されるように構成してもよい。
【0288】
上記の履歴情報のプロバイダやリテーラへの送付方法は、電子メールでもよいし、WWWベースでオンデマンドで発行してもよい。盗聴や改竄の危険がある場合は暗号化やデジタル署名が適用されるのが望ましい。
【0289】
[プロバイダの構成]
図13は、本実施例のプロバイダの構成図である。
【0290】
本実施例のプロバイダは、検証用公開鍵情報依頼を作成してインターネットを介してセンタに送付する機能と、インターネットを介して入力される検証用公開鍵情報送付と仲介許諾証依頼とを処理する機能を持つ。プロバイダは、入出力制御部1301、処理選択部1302、検証用公開鍵情報依頼作成部1303、検証用公開鍵情報送付処理部1304、仲介許諾証依頼処理部1305、検証用公開鍵DB1306、署名鍵記憶部1307、証明証記憶部1308、仲介許諾証発行履歴DB1309、仲介許諾証発行履歴作成部1310から構成され、入出力制御部1301を介してインターネットに接続されている。
【0291】
本実施例のプロバイダの各部の役割を以下に述べる。
【0292】
入出力制御部1301:インターネットを介したデータの入力を監視するとともに、検証用公開鍵情報依頼作成部1303や仲介許諾証依頼処理部1305が作成したデータをインターネットを介して出力する。インターネットからの入出力制御部1301への入力、あるいは、入出力制御部1301からインターネットへの出力の方法としては、入出力制御部1301と接続されたWWWサイトを準備して他のエンティティにアクセスさせるもの、他のエンティティが用意しているWWWサイトにアクセスしてプロバイダが作成したデータを送るもの、あるいは電子メールシステムと入出力制御部1301を自動的にあるいは人手によって連動させるものなどが使用できる。
処理選択部1302:入力したデータが検証用公開鍵情報送付かまたは仲介許諾証依頼かを判断し、検証用公開鍵情報送付であれば検証用公開鍵情報送付処理部1304を、仲介許諾証依頼であれば仲介許諾証依頼処理部1305を呼び出す。
検証用公開鍵情報依頼作成部1303:検証用公開鍵情報依頼を作成し、入出力制御部1301を介してセンタに送付する。検証用公開鍵情報依頼作成の過程で、署名鍵記憶部1307と証明証記憶部1308にアクセスする。
検証用公開鍵情報送付処理部1304:検証用公開鍵情報送付を処理し、検証用公開鍵を検証用公開鍵DB1306に登録する。
仲介許諾証依頼処理部1305:仲介許諾証依頼を処理し、仲介許諾証送付を作成して入出力制御部1301を介して依頼者に送付する。仲介許諾証送付作成の過程で検証用公開鍵DB1306を参照するとともに、仲介許諾発行履歴DB1309に新しいエントリを追加し、署名鍵記憶部1307と証明証記憶部1308にアクセスする。
検証用公開鍵DB1306:検証用公開鍵に関する情報を保持するDB。
署名鍵記憶部1307:プロバイダが作成するデジタル署名に使用する署名鍵を保持する。
証明証記憶部1308:署名鍵記憶部1307に記憶されている署名鍵で作成したデジタル署名を検証できる検証鍵を含む公開鍵証明証を保持する。
仲介許諾証発行履歴DB1309:仲介許諾証の発行の履歴を保持するDB。
仲介許諾証発行履歴作成部1310:リテーラ毎の仲介許諾証の発行履歴を作成する。
【0293】
[プロバイダが持つデータベース]
プロバイダは、検証用公開鍵DB1306、仲介許諾証発行履歴DB1309の2つのデータベースを持っている。
【0294】
検証用公開鍵DB1306は、センタから発行を受けた検証用公開鍵情報の内容を、プロバイダ自身が決定した検証用公開鍵の用途とともに保持するデータベースである。
【0295】
検証用公開鍵DB1306の構造を図14に示す。検証用公開鍵DB1306は以下の6つの属性からなるテーブルであり、各エントリはそれぞれ一つの検証用公開鍵に関する情報である。
【0296】
【表26】
公開鍵識別子属性:検証用公開鍵に割り当てられた検証用公開鍵識別子。
法数属性:検証用公開鍵情報に含まれていたRSA法数。
公開鍵属性:検証用公開鍵情報に含まれていたRSA公開鍵。
有効期間開始属性:検証用公開鍵情報の有効期間の開始日時。
有効期間終了属性:検証用公開鍵情報の有効期間の終了日時。
用途属性:このエントリの検証用公開鍵に対してプロバイダが割り当てた用途。
この検証用公開鍵で利用許可証の正当性を検証するデジタルコンテンツあるいはその機能の情報である。
【0297】
仲介許諾証発行履歴DB1309は、プロバイダが発行した仲介許諾証に関する履歴を保持するデータベースである。
【0298】
仲介許諾証発行履歴DB1309の構造を図34に示す。仲介許諾証発行履歴DB1309は以下の7つの属性からなるテーブルであり、各エントリはそれぞれ一回の仲介許諾証の発行に関する情報である。
【0299】
【表27】
仲介許諾証識別子属性:発行した仲介許諾証に割り当てられた識別子。
公開鍵識別子属性:発行した仲介許諾証で利用許可証の仲介が許諾される検証用公開鍵に割り当てられた検証用公開鍵識別子。
リテーラ識別子属性:発行した仲介許諾証で許諾をうけるリテーラの識別子。
利用条件限定情報属性:発行した仲介許諾証に記載されている利用条件限定情報。有効期間開始属性:発行した仲介許諾証の有効期間の開始日時。
有効期間終了属性:発行した仲介許諾証の有効期間の終了日時。
発行日属性:発行した仲介許諾証の発行日時。
【0300】
[検証用公開鍵情報依頼作成部]
本実施例のプロバイダは、新たに販売を開始したいデジタルコンテンツが発生した時に、そのデジタルコンテンツに割り当てる検証用公開鍵を含む検証用公開鍵情報の発行をセンタに依頼する。依頼の際には、検証用公開鍵情報依頼作成部1303において検証用公開鍵情報依頼を作成し、入出力制御部1301を介してセンタに送付する。
【0301】
検証用公開鍵情報依頼作成部1303では、検証用公開鍵情報依頼の各フィールドに以下の値を設定する。
【0302】
【表28】
発信者フィールド:自分自身すなわちプロバイダの識別子。
受信者フィールド:センタの識別子。
日時フィールド:現在の時刻。
公開鍵仕様フィールド:作成してもらう検証用公開鍵に対する要望。検証用公開鍵の使用者として自分の識別子を記載し、さらに、要望する公開鍵暗号アルゴリズムと鍵長が記載される。本実施例では公開鍵暗号アルゴリズムとしてはRSAのみが使用可能なので、公開鍵暗号アルゴリズムの値はRSAで固定である。
デジタル署名フィールド:このフィールドおよび証明証フィールド以外のフィールドのデータに対するデジタル署名。デジタル署名の作成のため、検証用公開鍵情報依頼作成部1303は署名作成部を含んでおり、この署名作成部が作成した署名値をこのフィールドに設定する。署名鍵は署名鍵記憶部1307にアクセスして入手する。
証明証フィールド:証明証記憶部1308に記憶している公開鍵証明証。
【0303】
[検証用公開鍵情報送付処理部]
検証用公開鍵情報依頼作成部1303で検証用公開鍵情報依頼が作成されセンタに送付されると、その返信としてセンタから検証用公開鍵情報送付が送信されてくる。検証用公開鍵情報送付は、入出力制御部1301および処理選択部1302を経由して検証用公開鍵情報送付処理部1304へ送られ、そこで処理される。
【0304】
図15は、本実施例のプロバイダが持つ検証用公開鍵情報送付処理部1304の動作を示すフローチャートである。検証用公開鍵情報送付処理部1304の動作を図15にしたがって説明する。
【0305】
まず、処理選択部1302から入力された検証用公開鍵情報送付、および、該検証用公開鍵情報送付に含まれる検証用公開鍵情報のデジタル署名を検証する(1501)。検証鍵は検証用公開鍵情報送付の証明証フィールドに添付されているものを使用するが、必要な公開鍵証明証が証明証フィールドに存在しない場合には、CA108から公開鍵証明証を取得してから署名の検証を行う。署名の検証のために、検証用公開鍵情報送付処理部1304はデジタル署名の検証を専門に行う署名検証部を含んでいる。
【0306】
1501で、デジタル署名の検証に失敗した場合、エラー処理を行った後(1505)、終了する。
【0307】
1501で、デジタル署名の検証に成功した場合、検証用公開鍵情報送付に含まれている検証用公開鍵情報の発行者がセンタであるかどうかが調べられる(1502)。この検査は、検証用公開鍵情報の発行者フィールドに記載されている識別子がセンタのものであるかどうかで検査できる。
【0308】
1502の検査で、検証用公開鍵情報の発行者がセンタでなかった場合、エラー処理を行った後(1505)、終了する。
【0309】
1502の検査で、検証用公開鍵情報の発行者がセンタであったら、次に検証用公開鍵DB1306に新しいエントリを追加する(1503)。新しいエントリの各属性には以下の値が設定される。
【0310】
【表29】
公開鍵識別子属性:検証用公開鍵情報送付に含まれている検証用公開鍵情報の検証用公開鍵識別子フィールドの値。
法数属性:検証用公開鍵情報送付に含まれている検証用公開鍵情報の、公開鍵情報フィールドに含まれていたRSA法数。
公開鍵属性:検証用公開鍵情報送付に含まれている検証用公開鍵情報の、公開鍵情報フィールドに含まれていたRSA公開鍵。
有効期間開始属性:検証用公開鍵情報送付に含まれている検証用公開鍵情報の有効期間開始日時フィールドの値。
有効期間終了属性:検証用公開鍵情報送付に含まれている検証用公開鍵情報の有効期間終了日時フィールドの値。
用途属性:この検証用公開鍵にプロバイダ割り当てた用途についての情報。
【0311】
[仲介許諾依証頼処理部]
図16は、本実施例のプロバイダが持つ仲介許諾証依頼処理部1305の内部構成を示した図である。
【0312】
仲介許諾証依頼処理部1305は、仲介許諾証依頼を処理する機能を持ち、処理制御部1601、署名検証部1602、仲介許諾証識別子作成部1603、エラーメッセージ作成部1604、仲介許諾証作成部1605、仲介許諾証送付作成部1606、署名作成部1607、利用条件限定情報作成部1608から構成される。
【0313】
仲介許諾証依頼処理部1305を構成する各部の役割を以下に述べる。
【0314】
処理制御部1601:処理選択部1302からの入力、入出力制御部1301への出力、検証用公開鍵DB1306の参照、仲介許諾証発行履歴DB1309へのエントリの追加の機能を担うとともに、仲介許諾証依頼の処理全体を制御する。
署名検証部1602:処理選択部202から入力される仲介許諾証依頼のデジタル署名を検証する。
仲介許諾証識別子作成部1603:仲介許諾証に割り当てられる仲介許諾証識別子を作成する。十分に大きな空間からランダムにビット列を取り出す等、生成される識別子が重複しない工夫がなされている。
エラーメッセージ作成部1604:エラーメッセージを作成する。
仲介許諾証作成部1605:仲介許諾証を作成する。仲介許諾証にデジタル署名を添付するために署名作成部1607を呼び出す。
仲介許諾証送付作成部1606:仲介許諾証送付を作成する。仲介許諾証送付にデジタル署名を添付するために署名作成部1607を呼び出す。さらに、プロバイダの署名の検証鍵の公開鍵証明証を入手するために証明証記憶部1308にアクセスする。
署名作成部1607:仲介許諾証、仲介許諾証送付のためのデジタル署名を作成する。デジタル署名のための署名鍵を入手するために、署名鍵記憶部1307にアクセスする。
利用条件限定情報作成部1608:仲介許諾証に記載される利用条件限定情報を作成する。
【0315】
図17は、本実施例のプロバイダが持つ仲介許諾証依頼処理部1305の処理制御部1601の動作を示すフローチャートである。処理制御部1601の動作を図17にしたがって説明する。
【0316】
まず、処理選択部1302から入力された仲介許諾証依頼のデジタル署名を検証する(1701)。検証鍵は仲介許諾証依頼の証明証フィールドに添付されているものを使用するが、必要な公開鍵証明証が証明証フィールドに存在しない場合には、CA108から公開鍵証明証を取得してから署名の検証を行う。
【0317】
署名の検証に失敗した場合、エラーメッセージ作成部1604でエラーメッセージを作成して入出力制御部1301に出力した後(1709)、終了する。
【0318】
署名の検証に成功した場合、仲介許諾証依頼で依頼された仲介許諾証を発行するかどうかを決定する(1702)。仲介許諾証を発行するかどうかの決定はプロバイダにまかされている。例えば、仲介許諾証によって許諾を受けるリテーラを信用できない場合や、仲介許諾証依頼に含まれる仲介許諾証仕様の許諾者フィールドに記載されている識別子が自分のものと異なる場合や、仲介許諾証依頼に含まれる仲介許諾仕様の公開鍵鍵識別子フィールドに記載された検証用公開鍵識別子を持つ検証用公開鍵情報が自分に対して発行されたものでない場合や、仲介許諾証依頼に含まれる仲介許諾仕様の希望利用条件限定情報フィールドの希望にそえない場合に仲介許諾証の発行をやめることになる。
【0319】
1702で、仲介許諾証を発行しないと決定した場合には、エラーメッセージ作成部1604でエラーメッセージを作成して入出力制御部1301に出力した後(1709)、終了する。
【0320】
1702で、仲介許諾証を発行すると決定した場合には、仲介許諾証識別子作成部1603を呼び出して仲介許諾証に割り当てる識別子を作成させ、作成された識別子を受け取った後(1703)、発行する仲介許諾証の有効期間を適切に決定する(1704)。
【0321】
さらに、利用条件限定情報作成部1608を呼び出して発行する仲介許諾証に含まれる利用条件限定情報を作成させ、その結果を受け取る(1705)。ここで作成する利用条件限定情報は、仲介許諾証依頼に含まれる仲介許諾仕様の希望利用条件限定情報フィールドに記載されいるものでもよいし、プロバイダが自己の判断で適切な利用条件限定情報を決定してもよい。
【0322】
その後、仲介許諾証作成部1605を呼び出し、仲介許諾証を作成させ、その結果を受け取る(1706)。仲介許諾証の各フィールドには以下の値が設定される。
【0323】
【表30】
発行者フィールド:自分自身すなわちプロバイダの識別子。
受領者フィールド:仲介許諾証依頼に含まれる仲介許諾仕様の被許諾者フィールドの値。
発行日フィールド:現在の日時。
仲介許諾証識別子フィールド:1703で作成した識別子。
有効期間開始日時フィールド:1704で決定した有効期間の開始日時。
有効期間終了日時フィールド:1704で決定した有効期間の終了日時。
公開鍵鍵識別子フィールド:仲介許諾証依頼に含まれる仲介許諾仕様の公開鍵鍵識別子フィールドの値。
利用条件限定情報フィールド:1705で決定した利用条件限定情報の値。
デジタル署名フィールド:このフィールド以外のフィールドのデータに対するデジタル署名。デジタル署名の作成のため、署名作成部1607を呼び出し、結果の署名値を受け取り、このフィールドに設定する。
【0324】
次に、仲介許諾証送付作成部1606を呼び出し、仲介許諾証送付を作成させ、その結果を受け取って入出力制御部1301に出力する(1707)。仲介許諾証送付の各フィールドには以下の値が設定される。
【0325】
【表31】
発信者フィールド:自分自身すなわちプロバイダの識別子。
受信者フィールド:仲介許諾証依頼の発信者フィールドに記載されている識別子。
日時フィールド:現在の日時。
仲介許諾証フィールド:1706で作成した仲介許諾証。
デジタル署名フィールド:このフィールドおよび証明証フィールド以外のフィールドのデータに対するデジタル署名。デジタル署名の作成のため、署名作成部1607を呼び出し、結果の署名値をこのフィールドに設定する。
【0326】
【表32】
証明証フィールド:証明証記憶部1308に記憶している公開鍵証明証。
【0327】
最後に仲介許諾証発行の履歴を表す新しいエントリを仲介許諾証発行履歴DB1309に追加して終了する。追加されるエントリの各属性には以下の値が格納される。
【0328】
【表33】
仲介許諾証識別子属性:1703で作成した識別子。
公開鍵識別子属性:仲介許諾証依頼に含まれる仲介許諾仕様の公開鍵識別子フィールドの値。
リテーラ識別子属性:仲介許諾証依頼に含まれる仲介許諾仕様の被許諾者フィールドの値。
利用条件限定情報属性:1705で決定した利用条件限定情報の値。
有効期間開始属性:1704で決定した有効期間の開始日時。
有効期間終了属性:1704で決定した有効期間の終了日時。
発行日属性:1705で作成した仲介許諾証の発行日フィールドに記載した値。
【0329】
[プロバイダが持つその他の機能]
本実施例のプロバイダは、仲介許諾証発行の履歴情報をリテーラに送付する事ができる。
【0330】
リテーラに渡される仲介許諾証発行の履歴情報は、そのリテーラに発行された仲介許諾証についての情報であり、仲介許諾証発行履歴作成部1310で作成され、入出力制御部1301を介してリテーラに送付される。この履歴は、プロバイダがリテーラに対して仲介許諾証発行の手数料を請求する場合の根拠となる。
【0331】
仲介許諾証発行履歴作成部1310は、履歴を作成するリテーラの識別子と履歴作成の対象期間の開始日時と終了日時の指定を受け、仲介許諾証発行履歴DB1309から、リテーラ識別子属性の値が指定されたリテーラの識別子と一致し、発行日属性の値が指定された履歴作成の対象期間内であるエントリ群を取り出し、その仲介許諾証識別子属性、公開鍵識別子属性、利用条件限定情報属性、有効期間開始属性、有効期間終了属性、発行日属性の値を取り出す。本実施例では、履歴を作成するリテーラの識別子と履歴作成の対象期間の指定はプロバイダのオペレータから受けるが、インターネット経由でリテーラから入力されるように構成してもよい。
【0332】
上記の履歴情報の送付方法は、電子メールでもよいし、WWWベースでオンデマンドで発行してもよい。盗聴や改竄の危険がある場合は暗号化やデジタル署名が適用されるのが望ましい。
【0333】
[リテーラの構成]
図18は、本実施例のリテーラの構成図である。
【0334】
本実施例のリテーラは、仲介許諾証依頼を作成してインターネットを介してプロバイダに送付する機能、インターネットを介して入力される仲介許諾証送付、利用許可証依頼、利用許可証送付を処理する機能、利用許可証仲介の履歴を作成してインターネットを介してプロバイダや利用許可証仲介の依頼者に送付する機能を持つ。リテーラは、入出力制御部1801、処理選択部1802、仲介許諾証依頼作成部1803、利用許可証依頼処理部1804、仲介許諾証送付処理部1805、利用許可証送付処理部1806、仲介許諾証DB1807、利用許可証仲介履歴DB1808、署名鍵記憶部1809、証明証記憶部1810、利用許可証仲介プロバイダ用履歴作成部1811、利用許可証仲介依頼者用履歴作成部1812から構成され、入出力制御部1801を介してインターネットに接続されている。
【0335】
本実施例のリテーラの各部の役割を以下に述べる。
【0336】
入出力制御部1801:インターネットを介したデータの入力を監視するとともに、仲介許諾証依頼作成部1803、利用許可証依頼処理部1804、利用許可証送付処理部1806が作成したデータをインターネットを介して出力する。インターネットからの入出力制御部1801への入力、あるいは、入出力制御部1804からインターネットへの出力の方法としては、入出力制御部1801と接続されたWWWサイトを準備して他のエンティティにアクセスさせるもの、他のエンティティが用意しているWWWサイトにアクセスしてリテーラが作成したデータを送るもの、あるいは電子メールシステムと入出力制御部1801を自動的にあるいは人手によって連動させるものなどが使用できる。
処理選択部1802:入力したデータが、利用許可証依頼、仲介許諾証送付、利用許可証送付のいずれであるかを判断し、利用許可証依頼であれば利用許可証依頼処理部1804を、仲介許諾証送付であれば仲介許諾証送付処理部1805を、利用許可証送付であれば利用許可証送付処理部1806を呼び出す。
仲介許諾証依頼作成部1803:仲介許諾証依頼を作成し、入出力制御部1801を介してプロバイダに送付する。仲介許諾証依頼作成の過程で、署名鍵記憶部1809と証明証記憶部1810にアクセスする。
利用許可証依頼処理部1804:消費者からの利用許可証依頼を処理し、第二の利用許可証依頼を作成して、入出力制御部1801を介してセンタに送付する。処理の過程で、仲介許諾証DB1807を参照するとともに、署名鍵記憶部1809と証明証記憶部1810にアクセスする。
仲介許諾証送付処理部1805:プロバイダからの仲介許諾証送付を処理し、該仲介許諾証送付に含まれている仲介許諾証を仲介許諾証DB1807に登録する。
利用許可証送付処理部1806:センタからの利用許可証送付を処理し、第二の利用許可証送付をを作成して、入出力制御部1801を介して利用許可証の依頼者に送付する。処理の過程で、利用許可証仲介履歴DB1808を更新するとともに、署名鍵記憶部1809と証明証記憶部1810にアクセスする。
仲介許諾証DB1807:プロバイダからこのリテーラに対して発行された仲介許諾証に関する情報を保持するDB。
利用許可証仲介履歴DB1808:このリテーラが仲介した利用許可証についての履歴を保持するDB。
署名鍵記憶部1809:リテーラが作成するデジタル署名に使用する署名鍵を保持する。
証明証記憶部1810:署名鍵記憶部1809に記憶されている署名鍵で作成したデジタル署名を検証できる検証鍵を含む公開鍵証明証を保持する。
利用許可証仲介プロバイダ用履歴作成部1811:各プロバイダ毎の利用許可証仲介の履歴を作成し、入出力制御部1801を介してプロバイダに送付する。
利用許可証仲介依頼者用履歴作成部1812:リテーラが受け取った利用許可証仲介依頼の依頼者毎の利用許可証仲介の履歴を作成し、入出力制御部1801を介して依頼者に送付する。
【0337】
[リテーラが持つデータベース]
リテーラは、仲介許諾証DB1807と利用許可証仲介履歴DB1808の2つのデータベースを持っている。
【0338】
仲介許諾証DB1807は、リテーラが複数のプロバイダから受けた仲介許諾証に関する情報を保持したデータベースである。
【0339】
仲介許諾証DB1807の構造を図19に示す。仲介許諾DB1807は以下の5つの属性からなるテーブルである。各エントリがそれぞれ一つの仲介許諾証にあたる。
【0340】
【表34】
仲介許諾証識別子属性:プロバイダから発行された仲介許諾証に割り当てられている仲介許諾証識別子。
公開鍵識別子属性:プロバイダから発行された仲介許諾証で利用許可証発行の仲介が許諾された検証用公開鍵の識別子。
プロバイダ識別子属性:仲介許諾証を発行したプロバイダの識別子。
仲介許諾証属性:プロバイダから発行された仲介許諾証自体をBERにしたがってエンコードしたデータ。
プロバイダ証明証属性:仲介許諾証を発行したプロバイダのデジタル署名を検証できる公開鍵を含む公開鍵証明証をBERにしたがってエンコードしたデータ。
【0341】
利用許可証仲介履歴DB1808は、リテーラが仲介した利用許可証に関する情報を保持したデータベースである。
【0342】
利用許可証仲介履歴DB1808の構造を図20に示す。利用許可証仲介履歴DB1808は以下の8つの属性からなるテーブルである。各エントリがそれぞれ一つの利用許可証の仲介にあたる。
【0343】
【表35】
利用許可証識別子属性:仲介した利用許可証にセンタが割り当てた識別子。
公開鍵識別子属性:仲介した利用許可証の正当性を検証できる検証用公開鍵にセンタが割り当てた識別子。
プロバイダ識別子属性:公開鍵識別子属性で指定された検証用公開鍵のユーザであるプロバイダの識別子。
消費者識別子属性:利用許可証の発行を受けた消費者の識別子。
依頼者識別子属性:利用許可証依頼をリテーラに送付してきたエンティティの識別子。
利用条件属性:仲介された利用許可証に記載された利用条件。
依頼日時属性:リテーラが受け取った利用許可証依頼の作成日時。
発信日時属性:リテーラが利用許可証送付を作成した日時。
【0344】
[仲介許諾証依頼作成部]
本実施例のリテーラは、プロバイダが提供しているデジタルコンテンツの販売を始めたい場合、そのデジタルコンテンツに割りあてられた検証用公開鍵に対応する利用許可証の仲介を許諾する仲介許諾証をプロバイダから受けなければならない。プロバイダから仲介許諾証を受け取るため、リテーラは仲介許諾証依頼作成部1803において仲介許諾証依頼を作成し、入出力制御部1801を介してプロバイダに送付する。
【0345】
仲介許諾証依頼作成部1803では、仲介許諾証依頼の各フィールドに以下の値を設定する。
【0346】
【表36】
発信者フィールド:自分自身すなわちリテーラの識別子。
受信者フィールド:仲介許諾証の依頼先であるプロバイダの識別子。
日時フィールド:現在の時刻。
仲介許諾仕様フィールド:作成してもらう仲介許諾証に対するリテーラからの希望を記載する。
デジタル署名フィールド:このフィールドおよび証明証フィールド以外のフィールドのデータに対するデジタル署名。デジタル署名の作成のため、仲介許諾証依頼作成部1803は署名作成部を含んでおり、この署名作成部が作成した署名値をこのフィールドに設定する。署名鍵は署名鍵記憶部1809にアクセスして入手する。
証明証フィールド:証明証記憶部1810に記憶している公開鍵証明証。
【0347】
仲介許諾証依頼の仲介許諾仕様フィールドに記載される仲介許諾仕様の各フィールドには以下の値が設定される。
【0348】
【表37】
許諾者フィールド:仲介許諾証を発行してほしいプロバイダの識別子。
被許諾者フィールド:自分自身すなわちリテーラの識別子。
公開鍵識別子フィールド:仲介許諾証を発行してほしい検証用公開鍵に割り当てられた検証用公開鍵識別子。
希望利用条件限定情報フィールド:リテーラが仲介許諾証に記載してほしいと希望する利用条件限定情報。
【0349】
[仲介許諾証送付処理部]
仲介許諾依頼作成部1803で仲介許諾証依頼が作成されプロバイダに送付されると、その返信としてプロバイダから仲介許諾証送付が送信されてくる。仲介許諾証送付は、入出力制御部1801および処理選択部1802を経由して仲介許諾証送付処理部1805に送られ、そこで処理される。
【0350】
図21は、本実施例のリテーラが持つ仲介許諾証送付処理部1805の動作を示すフローチャートである。仲介許諾証送付処理部1805の動作を図21にしたがって説明する。
【0351】
まず、処理選択部1802から入力された仲介許諾証送付、および、該仲介許諾証送付に含まれる仲介許諾証のデジタル署名を検証する(2101)。検証鍵は仲介許諾証送付の証明証フィールドに添付されているものを使用するが、必要な公開鍵証明証が証明証フィールドに存在しない場合には、CA108から公開鍵証明証を取得してから署名の検証を行う。署名の検証のために、仲介許諾証送付処理部1805はデジタル署名の検証を専門に行う署名検証部を含んでいる。
【0352】
2101で、デジタル署名の検証に失敗した場合、エラー処理を行った後(2104)、終了する。
【0353】
2101で、デジタル署名の検証に成功した場合、仲介許諾証送付に含まれている仲介許諾証の作成者が正しいプロバイダであるかどうかが確認される(2102)。正しいプロバイダであるかどうかの判断基準にはいくつかバリエーションが有り得る。たとえば、仲介許諾証送付に含まれている仲介許諾証の発行者フィールドの値が、自分が依頼した仲介許諾証依頼に含まれる仲介許諾仕様の許諾者フィールドに記載されている識別子と一致するという基準はその一例である。仲介許諾証送付に含まれている仲介許諾証で利用許可証の仲介が許諾される検証用公開鍵と、該仲介許諾証の発行者との関係を確認したければ、センタが発行した検証用公開鍵情報を確認すればよい。検証用公開鍵情報は公開可能な情報であるので、センタあるいはプロバイダが検証用公開鍵情報を自由にダウンロードできる形で公開することが可能である。
【0354】
2102の検査で、仲介許諾証の作成者が正しいプロバイダではなかった場合、エラー処理を行った後(2104)、終了する。
【0355】
2102の検査で、仲介許諾証の作成者が正しいプロバイダと判断した場合、仲介許諾証DB1807に新しいエントリを追加する(2103)。新しいエントリの各属性には以下の値が設定される。
【0356】
【表38】
仲介許諾証識別子属性:仲介許諾証送付に含まれる仲介許諾証の仲介許諾証識別子フィールドの値。
公開鍵識別子属性:仲介許諾証送付に含まれる仲介許諾証の公開鍵鍵識別子フィールドの値。
プロバイダ識別子属性:仲介許諾証送付に含まれる仲介許諾証の発行者フィールドの値。
仲介許諾証属性: 仲介許諾証送付に含まれる仲介許諾証をBERにしたがってエンコードした結果。
プロバイダ証明証属性:仲介許諾証送付に含まれるプロバイダの署名の検証鍵を含む公開鍵証明証をBERにしたがってエンコードした結果。
【0357】
[利用許可証依頼処理部]
図22は、本実施例のリテーラが持つ利用許可証依頼処理部1804の内部構成を示した図である。
【0358】
利用許可証依頼処理部1804は、消費者あるいは他のリテーラから送信された利用許可証依頼を処理し、センタへの利用許可証依頼を作成し、入出力制御部1801経由でセンタへ送付する機能を持ち、処理制御部2201、署名検証部2202、エラーメッセージ作成部2203、利用許可証依頼作成部2204、署名作成部2205、利用条件作成部2206から構成される。
【0359】
利用許可証依頼処理部1804を構成する各部の役割を以下に述べる。
【0360】
処理制御部2201:処理選択部1802からの入力、入出力制御部1801への出力、仲介許諾証DB1807の参照、利用許可証仲介履歴DB1808へのエントリの追加の機能を担うとともに、利用許可証依頼の処理全体を制御する。署名検証部2202:処理選択部1802から入力される利用許可証依頼のデジタル署名を検証する。
エラーメッセージ作成部2203:エラーメッセージを作成する。
利用許可証依頼作成部2204:センタへ送付する利用許可証依頼を作成する。利用許可証依頼にデジタル署名を添付するために署名作成部2205を呼び出す。さらに、リテーラの署名の検証鍵の公開鍵証明証を入手するために証明証記憶部1810にアクセスする。
署名作成部2205:利用許可証依頼作成部2204で作成する利用許可証依頼のためのデジタル署名を作成する。デジタル署名のための署名鍵を入手するために、署名鍵記憶部1809にアクセスする。
利用条件作成部2206:依頼する利用許可証に含まれるべき利用条件を作成する。
【0361】
図23は、本実施例のリテーラが持つ利用許可証依頼処理部1804の処理制御部2201の動作を示すフローチャートである。処理制御部2201の動作を図23にしたがって説明する。
【0362】
まず、処理選択部1802から入力された利用許可証依頼のデジタル署名を検証する(2301)。検証鍵は該利用許可証依頼の証明証フィールドに添付されているものを使用するが、必要な公開鍵証明証が証明証フィールドに存在しない場合には、CA108から公開鍵証明証を取得してから署名の検証を行う。
【0363】
署名の検証に失敗した場合、エラーメッセージ作成部2203でエラーメッセージを作成して入出力制御部1801に出力した後(2307)、終了する。
【0364】
署名の検証に成功した場合、入力された利用許可証依頼で利用許可証の仲介を依頼されている検証用公開鍵の仲介が許諾されているかどうかを検査する(2302)。仲介許諾証DB1807に、利用許可証依頼で依頼された検証用公開鍵に対する仲介許諾証が存在し、かつ、利用許可証依頼に記載されている利用条件が、仲介許諾証DB1807に保持されている仲介許諾証に記載されている利用条件限定情報の範囲内である場合に許諾されていると判断する。
【0365】
2302の検査で仲介が許諾されていないと判断された場合、エラーメッセージ作成部2203でエラーメッセージを作成して入出力制御部1801に出力した後(2307)、終了する。
【0366】
2302の検査で仲介が許諾されていると判断された場合、利用許可証依頼を受け付けるかどうかを判断する(2303)。入力された利用許可証依頼の発信者である消費者やリテーラが信用できない場合は、ここで利用許可証依頼を受け付けないことを決定する。
【0367】
2303で利用許可証依頼を受け付けないと判断した場合、エラーメッセージ作成部2203でエラーメッセージを作成して入出力制御部1801に出力した後(2307)、終了する。
【0368】
2303で利用許可証依頼を受け付けると判断した場合、利用条件作成部2206を呼び出し、センタへ送付する利用許可証依頼に記載する利用条件を作成させ、その結果を受けとる(2304)。利用条件作成部2206が作成する利用条件は、入力された利用許可証依頼に記載されている利用条件のままでもよいし、必要ならリテーラの裁量で適切なものに修正してもよい。
【0369】
利用条件が決まったら、処理中の利用許可証依頼に関する情報を保持したエントリを利用許可証仲介履歴DB1808に追加する(2305)。新しいエントリの各属性には以下の値が設定される。
【0370】
【表39】
利用許可証識別子属性:この時点では値は設定されない。
公開鍵識別子属性:入力された利用許可証依頼に含まれる許可仕様の公開鍵識別子フィールドに記載されている値。
プロバイダ識別子属性:公開鍵識別子属性に設定された識別子で特定される検証用公開鍵情報のユーザであるプロバイダの識別子。該プロバイダの識別子は、仲介許諾証DBを参照して得ることができる。すなわち、本DBの公開鍵識別子属性に設定された識別子を仲介許諾証DBの公開鍵識別子属性の値に持つ仲介許諾証DBのエントリのプロバイダ識別子属性がそれにあたる。
消費者識別子属性:入力された利用許可証依頼に含まれる許可仕様の消費者識別子フィールドの値。
依頼者識別子属性:入力された利用許可証依頼の発信者フィールドの値。
利用条件属性:2304で決定した利用条件。
依頼日時属性:入力された利用許可証依頼の日時フィールドの値。
発信日時属性:この時点では値は設定されない。
【0371】
最後にセンタへ送付する利用許可証依頼を作成し、入出力制御部1801を介してセンタに送付し(2306)、終了する。センタへ送付する利用許可証依頼の各フィールドには以下の値が設定される。
【0372】
【表40】
発信者フィールド:自分自身すなわちリテーラの識別子。
受信者フィールド:センタの識別子。
日時フィールド:現在の日時。
許可内容フィールド:後述する許可仕様。
デジタル署名フィールド:このフィールドおよび証明証フィールド以外のフィールドのデータに対するデジタル署名。デジタル署名の作成のため、署名作成部2205を呼び出して署名値を作成させ、結果をこのフィールドに設定する。署名鍵は署名鍵記憶部1809にアクセスして入手する。
証明証フィールド:証明証記憶部1810に記憶している公開鍵証明証。
【0373】
許可内容フィールドに記載される許可仕様の各フィールドには、以下の値が記載される。
【0374】
【表41】
公開鍵識別子フィールド:入力された利用許可証依頼に含まれる許可仕様に記載された公開鍵識別子フィールドの値。
消費者識別子フィールド:入力された利用許可証依頼に含まれる許可仕様に記載された消費者識別子フィールドの値。
利用条件フィールド:2304で決定した利用条件。
仲介許諾フィールド:仲介許諾証DB1807に保持されている、利用許可証依頼で依頼された検証用公開鍵に対する仲介許諾証。
【0375】
[利用許可証送付処理部]
図24は、本実施例のリテーラが持つ利用許可証送付処理部1806の内部構成を示した図である。
【0376】
利用許可証送付処理部1806は、センタあるいは他のリテーラからの送信された利用許可証送付を処理し、利用許可証の依頼者に送付する利用許可証送付を作成し、入出力制御部1801経由で該依頼者に送付する機能を持ち、処理制御部2401、署名検証部2402、エラーメッセージ作成部2403、利用許可証送付作成部2404、署名作成部2405から構成される。
【0377】
利用許可証送付処理部1806を構成する各部の役割を以下に述べる。
【0378】
処理制御部2401:処理選択部1802からの入力、入出力制御部1801への出力、利用許可証仲介履歴DB1808のエントリ更新の機能を担うとともに、利用許可証送付の処理全体を制御する。
署名検証部2402:処理選択部1802から入力される利用許可証送付、および利用許可証送付に含まれる利用許可証のデジタル署名を検証する。
エラーメッセージ作成部2403:エラーメッセージを作成する。
利用許可証送付作成部2404:利用許可証の依頼者に送付する利用許可証送付を作成する。新たに作成する利用許可証送付にデジタル署名を添付するために署名作成部2405を呼び出す。さらに、リテーラの署名の検証鍵の公開鍵証明証を入手するために証明証記憶部1810にアクセスする。
署名作成部2405:利用許可証送付作成部2404で作成する利用許可証送付のためのデジタル署名を作成する。デジタル署名のための署名鍵を入手するために、署名鍵記憶部1809にアクセスする。
【0379】
図25は、本実施例のリテーラが持つ利用許可証送付処理部1806の処理制御部2401の動作を示すフローチャートである。処理制御部2401の動作を図25にしたがって説明する。
【0380】
まず、処理選択部1802から入力された利用許可証送付および該利用許可証送付に含まれる利用許可証のデジタル署名を検証する(2501)。検証鍵は該利用許可証送付の証明証フィールドに添付されているものを使用するが、必要な公開鍵証明証が証明証フィールドに存在しない場合には、CA108から公開鍵証明証を取得してから署名の検証を行う。
【0381】
署名の検証に失敗した場合、エラーメッセージ作成部2403でエラーメッセージを作成して入出力制御部1801に出力した後(2504)、終了する。
【0382】
署名の検証に成功した場合、入力された利用許可証送付で送付された内容にしたがって、利用許可証仲介履歴DB1808のエントリを更新する(2502)。更新されるエントリは、入力された利用許可証送付に対応する利用許可証依頼を処理した時に追加されたエントリであり、エントリの公開鍵識別子属性、消費者識別子属性の値が、それぞれ入力された利用許可証送付に含まれる利用許可証の公開鍵識別子フィールド、受領者フィールドの値と一致し、該エントリの利用許可証識別子属性と発信日時属性の値が設定されていないものである。
【0383】
更新対象のエントリの各属性は以下のように更新される。
【0384】
【表42】
利用許可証識別子属性:入力された利用許可証送付に含まれる利用許可証の利用許可証識別子フィールドの値。
公開鍵識別子属性:変化なし。
プロバイダ識別子属性:変化なし。
消費者識別子属性:変化なし。
依頼者識別子属性:変化なし。
利用条件属性:入力された利用許可証送付に含まれる利用許可証の利用条件フィールドの値。
依頼日時属性:変化なし。
発信日時属性:現在の時刻。
【0385】
最後に、利用許可証の依頼者に送付する新たな利用許可証送付を作成し、入出力制御部1801を介して利用許可証の依頼者に送付し(2503)、終了する。新たに作成される利用許可証送付の各フィールドには以下の値が設定される。
【0386】
【表43】
発信者フィールド:自分自身すなわちリテーラの識別子。
受信者フィールド:2502で更新された利用許可証仲介履歴DB1808のエントリの依頼者識別子属性の値。
日時フィールド:2502で更新された利用許可証仲介履歴DB1808のエントリの発信日時属性の値。
利用許可証フィールド:入力された利用許可証送付に含まれる利用許可証。
デジタル署名フィールド:このフィールドおよび証明証フィールド以外のフィールドのデータに対するデジタル署名。デジタル署名の作成のため、署名作成部2405を呼び出し、結果の署名値を受け取り、このフィールドに設定する。
証明証フィールド:証明証記憶部1810に記憶している公開鍵証明証と、入力された利用許可証送付の証明証フィールドに含まれる証明証のうち、該利用許可証送付に含まれる利用許可証のデジタル署名を検証できる検証鍵を含む公開鍵証明証。
【0387】
[利用許可証依頼処理の課金・決済]
本実施例のリテーラは、利用許可証依頼の処理の過程で利用許可証発行料金の課金あるいは決済を行うことができる。課金あるいは決済の処理は、消費者からの利用許可証依頼をうけた後、センタに利用許可証依頼を送付する前に行われる。
【0388】
課金の場合は、利用許可証依頼の処理の過程で、消費者毎に利用許可証発行料金を加算しておき、後に消費者に対して請求する。そのため、本実施例のリテーラは、消費者毎に現在の利用許可証発行料金高を保持するデータベースをもっている。
【0389】
本実施例のリテーラは、利用許可証依頼の処理のたび毎に利用許可証発行料金の決済を行うこともできる。決済の方法としては、消費者が所持するクレジットカードによる決済や、プリペイドの方式等種々のものが利用可能であるが、いずれも、消費者からの利用許可証依頼をうけた後、決済が終了した事が確認されてから、センタに利用許可証依頼を送付する。
【0390】
[リテーラが発行する履歴情報]
本実施例のリテーラは利用許可証仲介の履歴情報をプロバイダに送付する事ができる。
【0391】
プロバイダに渡される利用許可証仲介の履歴情報は、そのプロバイダに割り当てられた検証用公開鍵に対応する利用許可証の仲介についての情報であり、利用許可証仲介プロバイダ用履歴作成部1811で作成され、入出力制御部1801を介してプロバイダに送付される。この履歴は、リテーラがプロバイダに送付するマージンの額に対する根拠となる。
【0392】
利用許可証仲介プロバイダ用履歴作成部1811は、履歴を作成するプロバイダの識別子と履歴作成の対象期間の開始日時と終了日時の指定を受け、利用許可証仲介履歴DB1808から、プロバイダ識別子属性の値が指定されたプロバイダの識別子と一致し、発行日属性の値が指定された履歴作成の対象期間内であるエントリ群を取り出し、その利用許可証識別子属性、公開鍵識別子属性、利用条件属性、依頼日時属性、発信日時属性の値を取り出す。本実施例では、履歴を作成するプロバイダの識別子と履歴作成の対象期間の指定はリテーラのオペレータから受けるが、インターネット経由でプロバイダから入力されるように構成してもよい。
【0393】
また、本実施例のリテーラは利用許可証仲介の履歴情報を利用許可証仲介の依頼者にも送付する事ができる。
【0394】
依頼者に渡される利用許可証仲介の履歴情報は、その依頼者から依頼された利用許可証の仲介についての情報であり、利用許可証仲介依頼者用履歴作成部1812で作成され、入出力制御部1801を介して依頼者に送付される。この履歴は、リテーラが依頼者に対して手数料の請求を行う場合の根拠となる。
【0395】
利用許可証仲介依頼者用履歴作成部1812は、履歴を作成する依頼者の識別子と履歴作成の対象期間の開始日時と終了日時の指定を受け、利用許可証仲介履歴DB1808から、依頼者識別子属性の値が指定されたプロバイダの識別子と一致し、発行日属性の値が指定された履歴作成の対象期間内であるエントリ群を取り出し、その利用許可証識別子属性、公開鍵識別子属性、プロバイダ識別子属性、消費者識別子属性、利用条件属性、依頼日時属性、発信日時属性の値を取り出す。本実施例では、履歴を作成する依頼者の識別子と履歴作成の対象期間の指定はリテーラのオペレータから受けるが、インターネット経由で依頼者から入力されるように構成してもよい。
【0396】
上記の履歴情報のプロバイダや依頼者への送付方法は、電子メールでもよいし、WWWベースでオンデマンドで発行してもよい。盗聴や改竄の危険がある場合は暗号化やデジタル署名が適用されるのが望ましい。
【0397】
[消費者端末の構成]
図26は、本実施例の消費者端末の構成図である。
【0398】
本実施例の消費者は、消費者識別子と消費者秘密情報を内蔵した携帯型記憶装置を所持しており、インターネットを介してリテーラから利用許可証を受け取って該携帯型記憶装置に記憶する。消費者端末は、入出力制御部2602、利用許可証依頼作成部2603、利用許可証送付処理部2604、署名鍵記憶部2605、証明証記憶部2606、携帯型記憶装置制御部2607から構成され、入出力制御部2602を介してインターネットに接続されているとともに、携帯型記憶装置制御部2607を介して携帯型記憶装置と接続されている。
【0399】
本実施例の消費者端末の各部の役割を以下に述べる。
【0400】
入出力制御部2602:インターネットを介したデータの入力を受け付けるとともに、利用許可証依頼作成部2603が作成した利用許可証依頼をインターネットを介して出力する。インターネットからの入出力制御部2602への入力、あるいは、入出力制御部2602からインターネットへの出力の方法としては、他のエンティティが用意しているWWWサイトにアクセスして消費者端末が作成したデータを送るもの、あるいは電子メールシステムと入出力制御部2602を自動的にあるいは人手によって連動させるものなどが使用できる。
【0401】
利用許可証依頼作成部2603:利用許可証依頼を作成し、入出力制御部2602を介してリテーラに送付する。利用許可証依頼の作成の過程で、署名鍵記憶部2605と証明証記憶部2606にアクセスするとともに、携帯型記憶装置制御部2607を介して携帯型記憶装置2608にアクセスする。
利用許可証送付処理部2604:リテーラからの利用許可証送付を処理し、該利用許可証送付に含まれている利用許可証を携帯型記憶装置制御部2607を介して携帯型記憶装置2608に記録する。
署名鍵記憶部2605:消費者端末が作成するデジタル署名に使用する署名鍵を保持する。
証明証記憶部2606:署名鍵記憶部2605に記憶されている署名鍵で作成したデジタル署名を検証できる検証鍵を含む公開鍵証明証を保持する。
携帯型記憶装置制御部2607:携帯型記憶装置2608へのデータの書込みとアクセスを行う。
【0402】
本実施例では、利用許可証依頼にデジタル署名を施す場合に使用する署名鍵や、その署名鍵で作成した署名を検証する検証鍵を含む公開鍵証明証は、消費者端末が保持しているものとしたが、これらが携帯型記憶装置に保持されているように構成してもよい。
【0403】
本実施例では、消費者が携帯型記憶装置を所持しており、該記憶装置に利用許可証を記憶するように構成しているが、もちろん、消費者端末自体の記憶領域に記憶するように構成してもよい。
【0404】
[利用許可証依頼作成部]
本実施例の消費者端末は、該端末を利用している消費者が利用したいデジタルコンテンツがある場合、そのデジタルコンテンツの利用許可証の仲介を依頼する利用許可証依頼を利用許可証依頼作成部2603で作成し、入出力制御部2602を介してリテーラに送付する。
【0405】
利用許可証依頼作成部2603では、利用許可証依頼の各フィールドに以下の値を設定する。
【0406】
【表44】
発信者フィールド:自分自身すなわち消費者端末の識別子。
受信者フィールド:リテーラの識別子。
日時フィールド:現在の時刻。
許可内容フィールド:後述する許可仕様。
デジタル署名フィールド:このフィールドおよび証明証フィールド以外のフィールドのデータに対するデジタル署名。デジタル署名の作成のため、利用許可証依頼作成部2603は署名作成部を含んでおり、この署名作成部が作成した署名値をこのフィールドに設定する。署名鍵は署名鍵記憶部2605にアクセスして入手する。
証明証フィールド:証明証記憶部2606に記憶している公開鍵証明証。
【0407】
許可内容フィールドに指定される許可仕様の各フィールドには以下の値が設定される。
【0408】
【表45】
公開鍵識別子フィールド:利用したいデジタルコンテンツに割り当てられている検証用公開鍵の識別子。
消費者識別子フィールド:消費者端末を使用している消費者の識別子。消費者識別子は携帯型記憶装置2608に記憶されており、利用許可証依頼作成部2603は、携帯型記憶装置制御部2607を介して携帯型記憶装置2608から消費者識別子を入手する。
利用条件フィールド:消費者の希望等を反映した適切なものを利用許可証依頼作成部2603が決定して設定。
仲介許諾証フィールド:設定しない。
【0409】
[利用許可証送付処理部]
利用許可証依頼作成部2603で利用許可証依頼が作成されリテーラに送付されると、その返信としてリテーラから利用許可証送付が送信されてくる。利用許可証送付は、入出力制御部2602を経由して利用許可証送付処理部2604に入力され、そこで処理される。
【0410】
図27は、本実施例の消費者端末が持つ利用許可証依頼作成部2603の動作を示すフローチャートである。利用許可証依頼作成部2603の動作を図27にしたがって説明する。
【0411】
まず、入力された利用許可証送付および該利用許可証送付に含まれる利用許可証のデジタル署名を検証する(2701)。検証鍵は検証用公開鍵情報送付の証明証フィールドに添付されているものを使用するが、必要な公開鍵証明証が証明証フィールドに存在しない場合には、CA108から公開鍵証明証を取得してから署名の検証を行う。
【0412】
2701で、デジタル署名の検証に失敗した場合、エラー処理を行った後(2704)、終了する。
【0413】
2701で、デジタル署名の検証に成功した場合、入力された利用許可証送付に含まれる利用許可証が、現在消費者端末を使用している消費者向けのものかどうかが検査される(2702)。検査は、携帯型記憶装置制御部2607を介して携帯型記憶装置2608から入手した消費者識別子と、入力された利用許可証送付に含まれる利用許可証の受領者フィールドの値が一致するかどうかで行われる。
【0414】
2702の検査で、入力された利用許可証送付に含まれる利用許可証が現在消費者端末を使用している消費者向けのものでないと判断された場合、エラー処理を行った後(2704)、終了する。
【0415】
2702の検査で、入力された利用許可証送付に含まれる利用許可証が現在消費者端末を使用している消費者向けのものであると判断された場合、該利用許可証を携帯型記憶装置制御部2607を介して携帯型記憶装置2608に記録し(2703)、終了する。
本実施例では、消費者が携帯型記憶装置を所持し、そこに消費者識別子が記憶されているが、これが消費者端末中の記憶領域に記憶されるよう構成してもよい。
【0416】
【発明の効果】
以上説明したように、この発明によれば、デジタルコンテンツ提供者が利用証明証を発行するファシリティの構築や維持管理からデジタルコンテンツ提供者が開放される。
【図面の簡単な説明】
【図1】本発明を適用した実施例の構成図である。
【図2】本発明を適用したセンタの構成図である。
【図3】本発明を適用したセンタの動作を示すフローチャートである。
【図4】本発明を適用したセンタが持つ検証用公開鍵情報依頼処理部の内部構成を示した図である。
【図5】本発明を適用したセンタが持つ検証用公開鍵情報依頼処理部の処理制御部の動作を示すフローチャートである。
【図6】本発明を適用したセンタが持つプロバイダDBの構造を示した図である。
【図7】本発明を適用したセンタが持つ公開鍵ペアDBの構造を示した図である。
【図8】本発明を適用したセンタが持つリテーラDBの構造を示した図である。
【図9】本発明を適用したセンタが持つ消費者DBの構造を示した図である。
【図10】本発明を適用したセンタが持つ利用許可証発行履歴DBの構造を示した図である。
【図11】本発明を適用したセンタが持つ利用許可証依頼処理部の内部構成を示した図である。
【図12】本発明を適用したセンタが持つ利用許可証依頼処理部の処理制御部の動作を示すフローチャートである。
【図13】本発明を適用したプロバイダの構成図である。
【図14】本発明を適用したプロバイダが持つ検証用公開鍵DBの構造を示した図である。
【図15】本発明を適用したプロバイダが持つ検証用公開鍵情報送付処理部の動作を示すフローチャートである。
【図16】本発明を適用したプロバイダが持つ仲介許諾証依頼処理部の内部構成を示した図である。
【図17】本発明を適用したプロバイダが持つ仲介許諾証依頼処理部の処理制御部の動作を示すフローチャートである。
【図18】本発明を適用したリテーラの構成図である。
【図19】本発明を適用したリテーラが持つ仲介許諾証DBの構造を示した図である。
【図20】本発明を適用したリテーラが持つ利用許可証仲介履歴DBの構造を示した図である。
【図21】本発明を適用したリテーラが持つ仲介許諾証送付処理部の動作を示すフローチャートである。
【図22】本発明を適用したリテーラが持つ利用許可証依頼処理部の内部構成を示した図である。
【図23】本発明を適用したリテーラが持つ利用許可証依頼処理部の処理制御部の動作を示すフローチャートである。
【図24】本発明を適用したリテーラが持つ利用許可証送付処理部の内部構成を示した図である。
【図25】本発明を適用したリテーラが持つ利用許可証送付処理部の処理制御部の動作を示すフローチャートである。
【図26】本発明を適用した消費者端末の構成図である。
【図27】本発明を適用した消費者端末が持つ利用許可証依頼作成部の動作を示すフローチャートである。
【図28】本発明を適用した携帯型記憶装置と利用許可証検査機能付きソフトウエアの内部構成例を示した図である。
【図29】利用許可証の検証の際の携帯型記憶装置と利用許可証検証機能付きソフトウエア動作を示すフローチャートである。
【図30】本発明を適用した利用許可証検査機能付きコンテンツプロセッシングソフトウエアと利用許可証明部の内部構成例を示した図である。
【図31】利用許可証の検証の際の利用許可証検査機能付きコンテンツプロセッシングソフトウエアと利用許可証明部の動作を示すフローチャートである。
【図32】本発明を適用した利用許可証検査機能付きコンテンツ復号ソフトウエアと利用許可証明部の内部構成例を示した図である。
【図33】利用許可証の検証の際の利用許可証検査機能付きコンテンツ復号ソフトウエアと利用許可証明部の動作を示すフローチャートである。
【図34】本発明を適用したプロバイダが持つ仲介許諾証発行履歴DBの構造を示した図である。
【図35】本発明を適用した利用許可証検査機能付きソフトウエアの構成例を示した図である。
【図36】本発明を適用した利用許可証検査機能付きコンテンツプロセッシングソフトウエアの構成例を示した図である。
【図37】本発明を適用した利用許可証検査機能付きコンテンツプロセッシングソフトウエアで操作されるデジタルコンテンツのデータ構造を示した図である。
【図38】本発明を適用した利用許可証検査機能付きコンテンツ復号ソフトウエアの構成例を示した図である。
【図39】発明を適用した利用許可証検査機能付きコンテンツ復号ソフトウエアで復号されるデジタルコンテンツのデータ構造を示した図である。
【符号の説明】
101 インターネット101
103、104 リテーラ
102 利用許可証発行センタ
105、106 プロバイダ
107 消費者端末
108 認証局(Certificate Authority)
201 入出力制御部
202 処理選択部
203 検証用公開鍵情報依頼処理部
204 利用許可証依頼処理部
205 プロバイダDB
206 公開鍵ペアDB
207 リテーラDB
208 消費者DB
209 利用許可証発行履歴DB
210 署名鍵記憶部
211 証明証記憶部
212 利用許可証発行プロバイダ用履歴作成部
213 利用許可証発行リテーラ用履歴作成部
214 検証用公開鍵情報発行履歴作成部
401 処理制御部
402 署名検証部
403 公開鍵ペア作成部
404 公開鍵ペア識別子作成部
405 検証用公開鍵情報作成部
406 検証用公開鍵情報送付作成部
407 エラーメッセージ作成部
408 署名作成部
1101 処理制御部
1102 署名検証部
1103 仲介許諾内容確認部
1104 利用許可証識別子作成部
1105 利用許可証作成部
1106 利用許可証送付作成部
1107 エラーメッセージ作成部
1108 署名作成部
1109 証明値作成部
1110 利用条件作成部
1301 入出力制御部
1302 処理選択部
1303 検証用公開鍵情報依頼作成部
1304 検証用公開鍵情報送付処理部
1305 仲介許諾証依頼処理部
1306 検証用公開鍵DB
1307 署名鍵記憶部
1308 証明証記憶部
1309 仲介許諾証発行履歴DB
1310 仲介許諾証発行履歴作成部
1801 入出力制御部
1802 処理選択部
1803 仲介許諾証依頼作成部
1804 利用許可証依頼処理部
1805 仲介許諾証送付処理部
1806 利用許可証送付処理部
1807 仲介許諾証DB
1808 利用許可証仲介履歴DB
1809 署名鍵記憶部
1810 証明証記憶部
1811 利用許可証仲介プロバイダ用履歴作成部
1812 利用許可証仲介依頼者用履歴作成部
2602 入出力制御部
2603 利用許可証依頼作成部
2604 利用許可証送付処理部
2605 署名鍵記憶部
2606 証明証記憶部
2607 携帯型記憶装置制御部
2801 条件判定対象情報生成部
2802 チャレンジ生成部
2803 公開鍵情報記憶部
2804 レスポンス検査部
2811 入出力制御部
2812 消費者秘密情報記憶部
2813 レスポンス計算部
2814 利用条件判定部
2815 利用許可証記憶部
3001 入出力インタフェース
3002 チャレンジ生成部
3003 条件判定対象情報生成部
3004 公開鍵情報記憶部
3005 レスポンス検査部
3006 利用条件判定部
3007 利用許可証記憶部
3008 通信制御部
3011 入出力制御部
3012 消費者秘密情報記憶部
3013 レスポンス計算部
3014 利用許可証記憶部
3501 利用対象のソフトウエア
3502 入出力制御部
3503 処理制御部
3504 第1の機能の実行部
3505 第2の機能の実行部
3506 第1の利用許可証検査部
3507 第2の利用許可証検査部
3508 携帯型記憶装置制御部
3511 携帯型記憶装置
3601 デジタルコンテンツプロセッシングソフトウエア
3602 入出力制御部
3603 処理制御部
3604 表示実行部
3605 編集実行部
3606 印刷実行部
3607 コンテンツデータ記憶部
3608 利用許可証検査部
3611 利用許可証明部

Claims (6)

  1. 第1の受け付け手段が、検証用情報の作成を依頼する検証用情報作成依頼を受け付けるステップと、
    検証用情報作成手段が、上記検証用情報作成依頼に基づいて、公開鍵と当該公開鍵を識別する公開鍵識別子とを含む検証用情報を作成するステップと、
    保管手段が、当該作成した検証用情報と当該検証用情報に含まれる前記公開鍵に対応する秘密鍵とを対応付けて保管するステップと、
    検証用情報出力手段が、上記検証用情報作成手段で作成された検証用情報を出力するステップと、
    第2の受付手段が、検証用情報を特定する公開鍵識別子を含む利用許可証作成依頼を受け付けるステップと、
    利用条件作成手段が、上記利用許可証作成依頼の対象であるデジタルコンテンツの利用を限定する条件である利用条件を作成するステップと、
    利用許可証作成手段が、上記保管手段に保管された秘密鍵であって、前記第2の受付手段により受け付けられた公開鍵識別子により特定される検証用情報に対応する秘密鍵を用いて、前記前記第2の受付手段により受け付けられた公開鍵識別子と上記利用条件作成手段が作成した利用条件とを含む利用許可証を作成するステップと、
    利用許可証出力手段が、上記利用許可証作成手段で作成された利用許可証を出力するステップと
    を有することを特徴とする利用許可証発行装置の利用許可証発行方法。
  2. 検証用情報の作成を依頼する検証用情報作成依頼を受け付ける第1の受付手段と、
    上記検証用情報作成依頼に基づいて、公開鍵と当該公開鍵を識別する公開鍵識別子とを含む検証用情報を作成する検証用情報作成手段と、
    当該作成した検証用情報と当該検証用情報に含まれる前記公開鍵に対応する秘密鍵とを対応付けて保管する保管手段と、
    上記検証用情報作成手段で作成された検証用情報を出力する検証用情報出力手段と、
    検証用情報を特定する公開鍵識別子を含む利用許可証作成依頼を受け付ける第2の受付手段と、
    上記利用許可証作成依頼の対象であるデジタルコンテンツの利用を限定する条件である利用条件を作成する利用条件作成手段と、
    上記保管手段に保管された秘密鍵であって、前記第2の受付手段により受け付けられた公開鍵識別子により特定される検証用情報に対応する秘密鍵を用いて、前記前記第2の受付手段により受け付けられた公開鍵識別子と上記利用条件作成手段が作成した利用条件とを含む利用許可証を作成する利用許可証作成手段と、
    上記利用許可証作成手段で作成された利用許可証を出力する利用許可証出力手段と
    を備えることを特徴とする利用許可証発行装置
  3. 上記利用許可証作成依頼は利用許可証発行の仲介者を特定するための情報と、該特定される検証用情報に対応する利用許可証の発行の仲介が該特定される仲介者に許諾されていることを証明する利用許可証仲介許諾証を含み、
    上記利用許可証作成手段は、利用許可証仲介許諾証によって該仲介者に該検証用情報に対応する利用許可証の発行の仲介が許諾されているかを確認し、許諾されている場合にのみ利用許可証を作成することを特徴とする
    請求項2記載の利用許可証発行装置
  4. 利用許可証の発行履歴を記憶する利用許可証発行履歴記憶部と、
    デジタルコンテンツの提供者を特定する情報の入力を受け、利用許可証発行履歴記憶部に記憶されている発行履歴から、該提供者が提供するデジタルコンテンツに関する利用許可証の発行履歴である利用許可証提供者用発行履歴を抽出する利用許可証提供者用発行履歴作成部と、
    前記利用許可証提供者用発行履歴作成部で作成された利用許可証提供者用発行履歴を出力する利用許可証提供者用発行履歴出力部とをさらに備えることを特徴とする
    請求項2記載の利用許可証発行装置
  5. さらに、利用許可証の発行の依頼を受理する利用許可証発行依頼受理手段を備え、
    上記利用許可証発行依頼受理手段が利用許可証発行依頼を受理した場合に、利用許可証作成手段で利用許可証を作成し、
    利用許可証の発行履歴を記憶する利用許可証発行履歴記憶部と、
    利用許可証発行の依頼者を特定するための情報の入力を受け、利用許可証発行履歴記憶部に記憶されている発行履歴から、該依頼者から依頼された利用許可証の発行履歴である利用許可証依頼者用発行履歴を抽出する利用許可証依頼者用発行履歴作成部と、
    前記利用許可証依頼者用発行履歴作成部で作成された利用許可証依頼者用発行履歴を出力する利用許可証依頼者用発行履歴出力部とをさらに備えることを特徴とする
    請求項2記載の利用許可証発行装置
  6. 検証用情報の発行履歴を記憶する検証用情報発行履歴記憶部と、
    検証用情報の被発行者を特定するための情報の入力をうけ、検証用情報発行履歴記憶部に記憶されている発行履歴から、該被発行者に対して発行された検証用情報に関する検証用情報の発行履歴である検証用情報発行被発行者用履歴を抽出する検証用情報発行履歴作成部と、
    前記検証用情報発行履歴作成部で作成された検証用情報発行被発行者用履歴を出力する検証用情報発行履歴出力部とをさらに備えることを特徴とする
    請求項2記載の利用許可証発行装置
JP2000024525A 2000-02-01 2000-02-01 利用許可証発行装置および方法 Expired - Fee Related JP4120125B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000024525A JP4120125B2 (ja) 2000-02-01 2000-02-01 利用許可証発行装置および方法
US09/678,031 US7225165B1 (en) 2000-02-01 2000-10-03 License-issuing system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000024525A JP4120125B2 (ja) 2000-02-01 2000-02-01 利用許可証発行装置および方法

Publications (2)

Publication Number Publication Date
JP2001216198A JP2001216198A (ja) 2001-08-10
JP4120125B2 true JP4120125B2 (ja) 2008-07-16

Family

ID=18550495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000024525A Expired - Fee Related JP4120125B2 (ja) 2000-02-01 2000-02-01 利用許可証発行装置および方法

Country Status (2)

Country Link
US (1) US7225165B1 (ja)
JP (1) JP4120125B2 (ja)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020019814A1 (en) * 2001-03-01 2002-02-14 Krishnamurthy Ganesan Specifying rights in a digital rights license according to events
US7958024B2 (en) 2001-03-15 2011-06-07 Versata Development Group, Inc. Method and apparatus for processing sales transaction data
US7925513B2 (en) * 2001-03-15 2011-04-12 Versata Development Group, Inc. Framework for processing sales transaction data
US7908304B2 (en) * 2001-03-15 2011-03-15 Versata Development Group, Inc. Method and system for managing distributor information
US20030018481A1 (en) * 2001-03-15 2003-01-23 Cheng Zhou Method and apparatus for generating configurable documents
US6983479B1 (en) * 2001-06-08 2006-01-03 Tarantella, Inc. Dynamic content activation by locating, coordinating and presenting content publishing resources such that content publisher can create or change content
JP2003099263A (ja) * 2001-09-21 2003-04-04 Ricoh Co Ltd 文書のデータ構造、記憶媒体、情報処理装置及び情報処理システム
US7904326B2 (en) * 2001-06-29 2011-03-08 Versata Development Group, Inc. Method and apparatus for performing collective validation of credential information
US7257844B2 (en) 2001-07-31 2007-08-14 Marvell International Ltd. System and method for enhanced piracy protection in a wireless personal communication device
CA2458079A1 (en) * 2001-08-24 2003-03-06 Virtual Paper Emedia Solutions Gmbh Devices, appliances and methods for the diffusion, billing, payment and playback of digital media contents
JP2004287901A (ja) * 2003-03-24 2004-10-14 Yamaha Corp 音楽コンテンツ利用装置およびプログラム並びにコンピュータ読み取り可能な記録媒体
US7788496B2 (en) * 2003-10-08 2010-08-31 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf thereof
US8103592B2 (en) * 2003-10-08 2012-01-24 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf of first process
US7979911B2 (en) * 2003-10-08 2011-07-12 Microsoft Corporation First computer process and second computer process proxy-executing code from third computer process on behalf of first process
US8600936B2 (en) 2005-01-03 2013-12-03 Mark D. Menefee Export license compliance system (“ELCS”) using controlled communications
JP4734941B2 (ja) * 2005-01-31 2011-07-27 富士ゼロックス株式会社 カプセル化サーバ
US7890428B2 (en) * 2005-02-04 2011-02-15 Microsoft Corporation Flexible licensing architecture for licensing digital application
US8091142B2 (en) * 2005-04-26 2012-01-03 Microsoft Corporation Supplementary trust model for software licensing/commercial digital distribution policy
US20080270310A1 (en) * 2006-06-27 2008-10-30 Intuit Inc. Facilitating dynamic configuration of software products
JP4908961B2 (ja) * 2006-07-27 2012-04-04 キヤノン株式会社 情報処理方法、情報処理装置、プログラム及び記憶媒体
US8788829B2 (en) 2006-08-17 2014-07-22 Aol Inc. System and method for interapplication communications
US8156545B2 (en) * 2007-02-09 2012-04-10 Sony Corporation Method and apparatus for authorizing a communication interface
US7900243B2 (en) * 2006-10-19 2011-03-01 Oracle America, Inc. Method and system for managing execution of an application module
US20080134348A1 (en) * 2006-12-05 2008-06-05 Microsoft Corporation Conditional policies in software licenses
JP5393038B2 (ja) * 2008-03-04 2014-01-22 キヤノン株式会社 情報処理装置、情報処理方法及びシステム
JP4909431B2 (ja) * 2010-05-14 2012-04-04 株式会社エヌ・ティ・ティ・ドコモ ライセンス発行システム、クライアント端末、サーバ、及びライセンス発行方法
US9165332B2 (en) 2012-01-27 2015-10-20 Microsoft Technology Licensing, Llc Application licensing using multiple forms of licensing
US9007243B2 (en) * 2012-09-05 2015-04-14 IQ-Analog Corporation System and method for customizing data converters from universal function dice
US9477821B2 (en) * 2012-11-19 2016-10-25 Google Technology Holdings LLC Generic feature-licensing framework
US20140215120A1 (en) * 2013-01-30 2014-07-31 Inmar, Inc. System, method and computer program product for generating chronologically ordered globally unique identifiers
US9507921B2 (en) * 2014-04-07 2016-11-29 Microsoft Technology Licensing, Llc User-specific application activation for remote sessions
US10679151B2 (en) 2014-04-28 2020-06-09 Altair Engineering, Inc. Unit-based licensing for third party access of digital content
US20150332282A1 (en) * 2014-05-16 2015-11-19 Altair Engineering, Inc. Unit-based licensing for collage content access
US10685055B2 (en) 2015-09-23 2020-06-16 Altair Engineering, Inc. Hashtag-playlist content sequence management
US11799864B2 (en) * 2019-02-07 2023-10-24 Altair Engineering, Inc. Computer systems for regulating access to electronic content using usage telemetry data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection

Also Published As

Publication number Publication date
JP2001216198A (ja) 2001-08-10
US7225165B1 (en) 2007-05-29

Similar Documents

Publication Publication Date Title
JP4120125B2 (ja) 利用許可証発行装置および方法
US8996423B2 (en) Authentication for a commercial transaction using a mobile module
US7184986B2 (en) Content transaction system and method, and program providing medium therefor
US8117128B2 (en) Content usage management system method, and program providing medium therefor
US7099846B1 (en) Apparatus and system for providing fee-based content
US6385725B1 (en) System and method for providing commitment security among users in a computer network
US20060235795A1 (en) Secure network commercial transactions
US7287010B1 (en) Information processing device and method, and providing medium
US20030120611A1 (en) Content distribution system and content distribution method
US20020010861A1 (en) Access control system, access control method, device, access control server, access-control-server registration server, data processing apparatus, and program storage medium
EP1220173A1 (en) System and method for the secure distribution of digital content in a sharing network
US20040196981A1 (en) Information processing device and method, information processing system, recording medium, and program
US20030105720A1 (en) Content secondary distribution management system and method, and program providing medium therefor
JP3982135B2 (ja) 予約証明証発行装置および方法
JP2000357196A (ja) 情報処理装置及び方法、管理装置及び方法、提供媒体、情報提供システム及び方法並びに情報送信装置
EP1047030A2 (en) Information processing apparatus and method, information management apparatus and method, information providing medium, information providing system and method, and information transmission apparatus
EP1120726A1 (en) Information processing device and method, and providing medium
JP2002140534A (ja) ログ管理構成を持つコンテンツ配信システムおよびコンテンツ配信方法
JP4245523B2 (ja) 電子権利譲渡処理方法、電子権利譲渡管理システム及びその装置、並びにプログラム
JP2003196415A (ja) 著作物権利料分配システム、著作物権利料分配方法および著作物権利料分配プログラム
JP2006309328A (ja) サービス提供契約システム、仲介者サーバ、サービス提供契約方法およびプログラム
JP2001256403A (ja) コンテンツ利用料金管理システムおよびコンテンツ利用料金管理方法、並びにプログラム提供媒体
JP4477996B2 (ja) 利用権管理装置及び方法
AU2011202945B2 (en) Network commercial transactions
JP2002139998A (ja) 属性確認処理を含むデータ通信システムおよび属性確認処理を含むデータ通信方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080229

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080414

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110509

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110509

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120509

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130509

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140509

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees