(57)【要約】      （修正有）【課題】社会において著作者、芸術家が果たしている役割を尊重しながら、デジタル芸術作品を効率的に流通させ、一方で芸術作品の中から効率的に好みの作品を発見することが出来、さらに著作物を利用する際に、著作者、芸術家への正当な対価と評価を提供することを補助し、新たな著作物、芸術作品の創作を産み、社会と文化を発展させていくことに貢献する情報通信技術を低コストに実現する。【解決手段】ＲＳＡ暗号および楕円曲線暗号による非対象鍵暗号の鍵ペアの生成機能と電子署名生成機能、およびＰ２Ｐネットワークに参加するコンピュータの総数と性能値の統計分布を管理することによって、コンピュータ・ノード同士の相互接続形態とコンピュータ・ノード間の通信データ量を制御する機能と電子署名技術を駆使した著作権保護機能を持つネットワーク・ソフトウェア・アプリケーション・プログラム（Ｐ２Ｐソフトウェア・プログラム）を提供する。【選択図】図９
2008136063.tif 000002
【特許請求の範囲】
【請求項１】
Ｐ２Ｐネットワーク・アプリケーション・プログラムであって、当該プログラムがＲＳＡ暗号または楕円曲線暗号による鍵ペア生成機能を有し、プログラムが事業者から配布される時に、利用者のＭＡＣアドレスと利用者ＩＤを用いてコンピュータ・ノードごとに公開鍵証明書を発行して、個人情報を事業者に提供することを必要としないセキュリティ機構を提供するＰ２Ｐネットワーク・アプリケーション・プログラムとその配布方法。
【請求項２】
Ｐ２Ｐネットワーク・アプリケーション・プログラムであって、Ｐ２Ｐネットワークに参加するコンピューター・ノードがＣＰＵの処理能力と通信性能をコンピューター・ノードに通知することによって、処理能力と通信性能の統計分布を計算することによって、プログラムによってコンピューター・ノード同士の接続形態が決定され、処理能力と通信性能の高いノードがより多くのコンピューター・ノードからデータを受け取り、なおかつデータを配信するＰ２Ｐネットワーク・アプリケーション・プログラム。
【請求項３】
Ｐ２Ｐネットワーク・アプリケーション・プログラムであって、当該プログラムが操作するデジタル芸術作品のデータは撮像機器や製作ソフトウェアなどで撮影あるいは製作されたデジタルデータであり、この現画像にデジタル信号処理フィルタを施して宣伝用のデータを作成でき、宣伝用のデータは、撮像機器内で自動生成しても良いし、当該アプリケーション・プログラムを利用して作成しても良いし、ソフトウェアで別途作成しても良く、利用者は任意にそれを選択することができる機能を有し、またオリジナルのデジタルデータから宣伝用データに変換するために使用する信号処理フィルタや係数は、縮小処理やモザイク処理など様々なものがユーザー任意に選択でき、通常はオリジナルのデジタルデータに暗号処理関数を施して配信用データを生成する。暗号処理関数の代わりに、信号処理フィルタを代用しても良い。すなわち、元に復元さえ出来れば如何なる処理関数を用いることが出来、暗号処理関数名や信号処理フィルタ名、暗号関数の鍵や信号処理フィルタの係数は権利証に記載され、著作権者は、オリジナルのデジタル芸術作品データの著作権者と撮像機器を主張するための電子署名に被写体権利などの著作隣接権保有者を明示追記することができ、当該プログラムは、宣伝用データとそれに付随するキーワードが著作権者本人によるものであることと、宣伝用データが著作権者本人の手によってオリジナルのデジタル芸術作品データから生成されたものであることを主張する電子署名を生成でき、配信用データが、著作権者の手によってオリジナルの芸術作品データから生成されたものであることを主張する電子署名を生成することができ、著作権者から利用者に対して提供される権利証を発行する機能を有し、権利証には、暗号処理関数名か信号処理フィルタ関数名を一意に特定するための情報と、鍵とフィルタ係数が含まれ、権利証に記載される内容を使用して宣伝用データあるいは配信用データから、オリジナルのデジタル芸術作品データを復元することができる機能を有するＰ２Ｐネットワーク・アプリケーション・プログラム。
【請求項４】
Ｐ２Ｐネットワーク・アプリケーション・プログラムであって、利用者に対して、展示室という概念を提供すし、展示室に芸術家当人あるいは代理人がデジタル芸術作品を配置でき、展示室や作品ごとにタイトルや説明やキーワードを設定することができ、共同展示者を追加したり、展示室への参加の許認可を行う機能を芸術家当人に対して提供する機能を有するＰ２Ｐネットワーク・アプリケーション・プログラム。
【請求項５】
Ｐ２Ｐネットワーク・アプリケーション・プログラムであって、利用者ごとに発行される公開鍵証明書に記載される利用者ＩＤとＭＡＣアドレスによるブラック・リストの生成機能を有し、社会倫理的に問題となるデジタルデータを公開する利用者や、デジタル芸術作品について著作権者の意図しない利用を行う者や、不正な振る舞いをするコンピューター・ノードをＰ２Ｐネットワークから締め出す機能を提供するＰ２Ｐネットワーク・アプリケーション・プログラム。
【請求項６】
Ｐ２Ｐネットワーク・アプリケーション・プログラムであって、アプリケーション・プログラムを配布する事業体あるいは組織体の公開鍵証明書を用いて、アプリケーション・プログラム本体に付属する事業体あるいは組織体の電子署名から復号した値と、プログラムのバイナリイメージのハッシュ値を比較し、アプリケーション・プログラムのバイナリ・イメージに改竄が無いかどうかプログラム自身が確認を行い、確認出来なければ動作しないＰ２Ｐネットワーク・アプリケーション・プログラム。
【請求項７】
Ｐ２Ｐネットワーク・アプリケーション・プログラムであって、利用者は興味のある、あるいは気に入った展示室を選択し、同じ展示室を選択した者同士のコンピューター・ノードによる接続網を当該プログラムが自動的に構成する機能を有し、展示室を選択したコンピューター・ノードのみで共有される鍵を用いて、デジタル芸術作品と付随するキーワードのデータを暗号通信によって配信する機能を有するＰ２Ｐネットワーク・アプリケーション・プログラム。
【請求項８】
Ｐ２Ｐネットワーク・アプリケーション・プログラムであって、利用者は宣伝用のデータのなかから、気に入ったものがあれば、著作権者に対して権利証の要求を行うことができる機能を有し、また、著作権者が要求を確認し、著作権者が許諾すれば権利証が発行されて希望者に送信される仕組みを提供するＰ２Ｐネットワーク・アプリケーション・プログラム。
【請求項９】
Ｐ２Ｐネットワーク・アプリケーション・プログラムであって、プログラム自身による統計処理によって、処理能力と転送能力において同程度と判断されるコンピューター・ノード同士の相互接続による監視機能によって、P2Pネットワーク上でのコンピューターの頻繁な参加と離脱を把握することができる機能を提供するＰ２Ｐネットワーク・アプリケーション・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、著作権を保護しながら著作物を効率的に通信網上で流通させるＰ２Ｐネットワーク・アプリケーション・ソフトウェア・プログラムとその配布技術に関する。
【背景技術】
【０００２】
1.            社会的背景
芸術の科学的定義は難しいが、ここでは、製作者の感性と感覚と技能が作品に表れることによって、見る人の心に影響を及ぼすものを芸術と考える。芸術分野の中には、作品が社会で流通するときに、企業の組織的な助力が必要不可欠であるものがある。著作権を持つ芸術家と著作隣接権を持つ企業組織が密接に関係する芸術分野では、企業組織の判断論理が、芸術家の作品に影響を及ぼすことがある。良い影響を及ぼすこともあれば、悪い影響を及ぼすこともある。芸術家の作品製作と資本主義社会の企業論理は相反するときがある。企業の組織的な助力が芸術作品の評価に影響するケースも少なくない。
【０００３】
デジタル技術の向上により、芸術家個人でも質の高い芸術を量産することが容易になってきた。写真、絵画、音楽、文学、漫画、映画、などの芸術作品の製作を補助するデジタル技術の普及が進んできた。デジタル技術を駆使した芸術は、他の芸術に比べると社会全体での創出量が多くなる傾向があり、効率的に好みの作品を発見するのが困難になり、また一方で個人でも質の高い芸術を量産することが可能であり、著作隣接権を保護しなくてはならないケースが少ない、という特徴がある。
【０００４】
日本国では著作権は特許権などと異なり、権利の取得にあたって登録の必要はなく、著作物を創作した時に自動的に権利が発生する。著作権とは、著作物を利用しようとする人に、著作権者が利用を認めたり(許諾)、禁止したりできる権利である。従って「私的使用のための複製」など著作権法で認められている例外を除いて、著作物を利用する際には著作権者の許諾を得る必要がある。著作権法では著作権のほかに「著作隣接権」という権利で著作物を世の中に伝達する役割を担う実演家(歌手・演奏者)、レコード製作者(レコード会社など)、放送事業者、有線放送事業者の権利も保護している。例えば、1枚のCDには作詞家・作曲家の権利(著作権)のほか、レコード会社や歌手・演奏者の権利(著作隣接権)も含まれているので、市販CDを音源としてインターネットのホームページにアップロードするような場合には、著作権者(JASRACの管理作品であればJASRAC)の許諾と同時に著作隣接権者の許諾が必要になる。
【０００５】
芸術と社会は密接に関係するものであり、著作権に対する理解と保護の度合いは、その国の文化のバロメーターといわれている。社会の中で芸術家、著作者が果たしている大切な役割を尊重し、著作物を利用する際に、著作者への正当な対価を支払うことが、さらに新たな芸術と著作物の創作を産み、文化を発展させる。
【０００６】
2.            目的
芸術の製作を補助するデジタル技術が社会の中で広範囲に普及することによって、社会全体の中で創出された芸術作品の総量が増えたとき、一方で作品を見て評価する側が、効率的に好みの作品を発見することを補助する技術が求められる。
【０００７】
例えば、デジタルカメラを用いた写真芸術は、他の芸術に比べると、被写体に関する権利を除いて著作隣接権が発生しにくく、芸術家個人で質の高い作品を量産することが可能である。写真芸術は被写体と構図と光の加減がその要素と考えることが出来、シャッターを押下する人物の感性と感覚が写真に現れ、見る人の心に影響を及ぼすものと考える。
デジタルカメラは年々高精度化と高解像度化が進み、広角レンズと望遠レンズを備えたデジタル一眼レフカメラが登場し、市場が活発化している。デジタル一眼レフカメラはプロの写真家や写真芸術家の仕事を補助するだけでなく、個人ユーザーに芸術を製作する楽しみを提供し、写真家、写真芸術家の裾野を広げる役割を担う。高機能デジタルカメラの普及によりその傾向はさらに拍車をかけ、個人ユーザーが低コストに芸術を量産できるようになる。デジタルカメラを駆使した写真芸術は、他の芸術に比べると社会全体での創出量が多くなる傾向があり、効率的に好みの作品を発見するのが困難になり、また一方で著作隣接権を保護しなくてはならないケースが少ない、という特徴がある。
【０００８】
このように、デジタル技術の向上により、芸術家個人でも質の高い芸術を量産することが容易になってきている社会的背景を踏まえ、本論文では、社会において芸術家及び著作者が果たしている大切な役割を尊重しながら、大量に創出されるデジタル芸術作品を効率的に流通させ、一方で芸術作品の中から効率的に好みの作品を発見することが出来、さらに著作物を利用する際に、著作者への正当な対価と評価を提供することを補助する仕組みを低いコストで実現し、新たな芸術と著作物の創作を産み、社会と文化を発展させていくことに貢献するソフトウェア・アプリケーションとその配布方法を提案する。
【０００９】
3.            既存の技術の説明とその問題点
前述の目的を実現するP2Pネットワーク・アプリケーション・ソフトウェアを設計するにあたり、関連する次の5点の既存の要素技術の説明とその問題点について記述する。
(1) PKI電子署名技術と公開鍵暗号
(2) 著作権保護技術
(3) P2Pネットワーク・アプリケーション・ソフトウェアとその通信方式
(4) 圧縮技術とファイルフォーマット
(5) WEBサービス
(1)の問題点は、公開鍵暗号における電子証明書の信用ツリー構造のモデルが、社会における人の信用ツリー構造のモデルと一致していないことである。
(2)の問題点は、著作権よりも著作隣接権を優先して保護していることである。
(3)の問題点は、著作権を保護する技術と著作物を効率的に流通させる技術を両方併せながら、尚且つ社会における人の信用ツリー構造のモデルと一致させたセキュリティ仕様を提供していないことである。
(4)の問題点は、一般的に、静止画像及び動画像及び音響の圧縮及びファイルフォーマットの仕様は、流通効率化と著作権保護を同時に考慮した仕様にはなっていないことである。
(5)の問題点は、一般的に、WEBサービスを提供するためのサーバコンピュータ側のソフトウェアは、管理組織による専門的な管理が必要であり、管理組織の仲介と介在によりコストが肥大化しやすく、運用維持コストも固定費として肥大化しやすいことである。
著作権を保護する技術と効率的に流通させる技術を両方併せ、社会における人の信用ツリー構造のモデルと一致させた秘匿通信仕様を利用者に提供する必要がある。そうでなくては芸術家、著作者及び利用者、愛好家双方が同時に利便性を感じる技術とならない。既存の技術を組み合わせるだけでは、作品および著作物本体が仲介業者に委ねられ、芸術家、著作者当人の意思が優先されず、新たな芸術と著作物の創作意欲を誘発せず、質の高い芸術によって社会と文化を発展させることに貢献しない。
P2Pネットワーク・アプリケーションに関する研究は、局所的なアルゴリズムの研究に注視したものが殆どだが、現実社会では、包括的かつ総合的な解決案が求められていると考えるべきである。
【００１０】
4.            PKIと電子署名技術と公開鍵暗号
デジタルデータに電子署名を施すことにより、オリジナルのデジタルデータの著作権保有者であることを数学的に主張することができる。電子署名技術は既知の技術であり、またそれは既知の暗号技術を元にしている。電子署名技術を構成する要素となる暗号技術は衝突のない一方向性ハッシュ関数、共通鍵暗号、非対称鍵暗号、である。
【００１１】
一方向性ハッシュ関数は、掻き混ぜ関数とも云われ、入力となるデータ(ビット列)から固定長のデータ(ビット列)を出力する。一方向性ハッシュ関数に入力するデータが同じであるならば、出力されるデータも同じになる。一方向性ハッシュ関数に入力するデータが異なれば、出力されるデータも異なる。「一方向性」とは、h()をハッシュ関数、mを入力平文としたとき、値h(m)からmを得ることが困難な性質のことである。一方向性ハッシュ関数は衝突が無いのが理想であり、「衝突が無い」ということは、h(m1)=h(m2)を満たすペアm1とm2を見つけ出すことが困難であるという性質のことである。一般的にハッシュ関数h(x)とは、入力xのビット長に比べてh(x)のビット長が十分小さくなる関数であり、通常h(x)の大きさはxの大きさによらず、ある一定の範囲を取る。一方向性ハッシュ関数としてSHAやMDなどがある。
【００１２】
共通鍵暗号では、暗号処理と複合処理に、同じ鍵データ(ビット列)を使用する。暗号する側と複合する側は同じ鍵を所有しなくてはならない。共通鍵暗号としてDESやAESなどがある。
【００１３】
非対象鍵暗号では、暗号処理と複合処理に対となる二つの鍵データ(ビット列)を使用する。ある数学的論理に基づいて、対となっている二つの鍵データ（ビット列）を生成する。非対称鍵暗号では、暗号する側と複合する側は対になっている二つの鍵をそれぞれが所有する。複合する側が所有する鍵を公開鍵（PublicKey）と云い、暗号する側が所有する鍵を秘密鍵（PrivateKey）と云う。非対称鍵暗号としてRSA暗号と楕円曲線暗号が知られている。
【００１４】
一般的に、電子署名技術は非対称鍵暗号と一方向性ハッシュ関数を組み合わせて実現する。電子署名を施す側は、デジタルデータを一方向性ハッシュ関数の入力とし、ハッシュ値を出力する。ハッシュ値を非対称鍵暗号の秘密鍵で暗号化し、その出力を電子署名とする。電子署名を施す側をAとし、検証する側をBとする。デジタルデータをmとし、ハッシュ関数をh()とする。
A : Digest = hash(m)
A : Sign = enc(Digest, PrivateKeyA)
【００１５】
電子署名を検証する側は、デジタルデータであるmと、電子署名であるSignと、署名者の公開鍵であるPublicKeyAを、手元に入手する必要がある。
B : Digest = hash(m)
B : Digest" = dec(Sign, PublicKeyA)
B : Compare(Digest, Digest")
【００１６】
まず検証したいデジタルデータであるmを一方向性ハッシュ関数の入力としてハッシュ値（Digest）を演算によって取得し、それから、受け取った電子署名であるSignを、署名者の公開鍵であるPublicKeyAを用いて復号演算してハッシュ値(Digest")を取得し、両者を比較する。一致すれば正当な電子署名とみなし改竄が無いと判定し、一致しなければ不正な電子署名であり改竄があったとみなす。
【００１７】
一般的に、非対称鍵暗号を使用するとき、利用者がどのようにしてお互いの公開鍵を交換しあうかが課題となる。情報通信ネットワーク上で利用者がお互いの公開鍵を交換しようとしたとき、公開鍵に相当するデータを盗聴出来ると、安全で信頼できる暗号通信とならない。悪意を持つ利用者Cが、利用者Aのふりをして利用者Bと公開鍵を交換出来ると、安全で信頼できる暗号通信とならない。
【００１８】
そこで、信頼のおける仲介者を設置し、仲介者を介して相互の公開鍵を交換するのが一般的である。仲介者をXとして、利用者Aさんと利用者Bさんが公開鍵を交換するとする。
まず、利用者Aと利用者Bは鍵ペアを作成する。
A : <PublicKeyA, PrivateKeyA> = KeyGeneration()
B : <PublicKeyB, PrivateKeyB> = KeyGeneration()
【００１９】
利用者Aと利用者Bは、自分の公開鍵と自分の付属情報を仲介者であるXに送付する。付属情報には、氏名、所属機関名、連絡先など、適当な情報を用いることができる。
A->X : PublicKeyA + AttributesA
B->X : PublicKeyB + AttributesB
【００２０】
仲介者Xは受け取った公開鍵と付属情報のハッシュ値を生成し、それをXの秘密鍵で暗号して公開鍵証明書(Cert)とする。
X : DigestA = h(PublicKeyA + AttributesA)
X : CertA = enc(DigestA, PrivateKeyX)
X : DigestB = h(PublicKeyB + AttributesB)
X : CertB = enc(DigestB, PrivateKeyX)
【００２１】
利用者Aと利用者Bは仲介者Xを介して、それぞれの公開鍵と公開鍵証明書を取得し、併せて仲介者Xの公開鍵を取得する。
X->A : PublicKeyX + PublicKeyB + CertB
X->B : PublicKeyX + PublicKeyA + CertA
【００２２】
利用者Aと利用者Bは、お互いの公開鍵を、公開鍵証明書と仲介者Xの公開鍵を使用して検証する。
A : Digest = h(PublicKeyB + AttributesB)
A : Digest" = dec(CertB, PublicKeyX)
A : Compare(Digest, Digest")
B : Digest = h(PublicKeyA + AttributesA)
B : Digest" = dec(CertA, PublicKeyX)
B : Compare(Digest, Digest")
【００２３】
まず検証したい公開鍵（PublicKey）と付属情報（Attributes）を一方向性ハッシュ関数の入力としてハッシュ値（Digest）を演算によって取得し、それから、受け取った公開鍵証明書であるCertを、仲介者の公開鍵であるPublicKeyXを用いて復号演算してハッシュ値(Digest")を取得し、両者を比較する。一致すれば正当な公開鍵とみなし改竄が無いと判定し、一致しなければ不正な公開鍵であり改竄があったとみなす。
但し、このような公開鍵交換方式においては、利用者Aと利用者Bが共に、Xを中立的な仲介者として信用出来なくてはならない。例えば、仲介者Xが中立ではなく、利用者Bとだけ親密であり、限りなくB≒Xであったとする。その場合、上記のXが全てBに置き換わり、公開鍵証明書と電子署名の検証過程が意味を成さない。
A->B : PublicKeyA + AttributesA
B->B : PublicKeyB + AttributesB
B : DigestA = h(PublicKeyA + AttributesA)
B : CertA = enc(DigestA, PrivateKeyB)
B : DigestB = h(PublicKeyB + AttributesB)
B : CertB = enc(DigestB, PrivateKeyB)
B->A : PublicKeyB + PublicKeyB + CertB
B->B : PublicKeyB + PublicKeyA + CertA
A : Digest = h(PublicKeyB + AttributesB)
A : Digest" = dec(CertB, PublicKeyB)
A : Compare(Digest,Digest")
B : Digest = h(PublicKeyA + AttributesA)
B : Digest" = dec(CertA, PublicKeyB)
B : Compare(Digest,Digest")
【００２４】
電子署名技術と公開鍵暗号の既存技術の問題点は、公開鍵暗号における電子証明書の信用ツリー構造のモデルが、社会における人の信用ツリー構造のモデルと一致していないことである。
【００２５】
PKIは、利用者と利用者が公開鍵認証センターを信用することで成り立つ。人間社会において、「誰を信用すれば良いのか？」という社会心理を数理的な方程式を用いて解を出すことは出来ない。すなわち数理にのみ基づいて考え出された仕組みで完全に解決することはありえない。
【００２６】
PKIは社会の中で十二分に機能しているとはいえない状態にある。公開鍵証明書発行サービスを提供する民間企業と、情報通信網（インターネット）への接続を提供する民間企業と、通信技術や通信手段を提供する民間企業がそれぞれ別々であり、顧客にとって事業体と映る単位で公開鍵証明書が発行されていないので、公開鍵暗号方式の価値と意味が一般利用者に直感的に理解しにくく、信用と安心として機能するに至っていない。また一方で公開鍵認証センターを運用するコストは固定費となり、割高となっており、民間企業としても、収益率の良い事業となり得ていない。
【００２７】
民主主義政府の統治する資本主義社会における商行為は、事業体が顧客の信用の獲得を賭けて競い合うものである。したがって、顧客は、事業体を信用の単位として捉えていると考えるべきであり、公開鍵証明書の発行においても、顧客にとって事業体と映る単位で発行されるのが適切である。国家政府によって認められる範囲内で、顧客にとって事業体と映る単位で非対称鍵暗号における公開鍵証明書を発行するのが、資本主義社会における商行為に最も適合すると考えるべきである。
【００２８】
現状、民間企業が公開鍵認証センターを運用し、有償で公開鍵証明書を発行している。公開鍵証明書には有効期限があり、期限になると有償の更新手続きを行う。民間企業は、社会における生命保険業者の如く、安心を提供する企業としての社会的役割を果たす。ユーザーは、インターネット上に盗聴の不安があるにもかかわらず、それを有償で使用し、加えて安心を民間企業からそれを有償で購入する。PKIは安心を提供する商品であり、公開鍵証明書はインターネットを使用する上での安心という役割を担いながら、公的な権威と信用はない。
【００２９】
既存のPKIでは信用ツリーをピラミッド型のヒエラルキーとして構成する。信用ツリーの最上部にあるルート認証局がその下の公開鍵認証センターが発行する証明書を証明し、そらにその下に位置する公開鍵認証センターが発行する証明書を証明する。このように既存のPKIでは、信用と安心の拠り所を信頼ツリーの頂点、一箇所に集中させている。従って、この仕組みを人間社会の中で適用しようとすると、人間社会の中で既に権威と信用のある組織がルート認証局を担う必要性がある。
【００３０】
情報通信技術は日進月歩であり、人間社会の中で権限を有するに値する人徳者が、常に情報通信技術に関する適切な判断が出来るとは限らない。研究者や有識者と称する者の中には詭弁家もあれば、学術的な研究者や有識者の中には、専門的知識を有しながらも、ある側面においては危うい素人であることもある。優れた研究者や有識者は、人間社会の中で権限を付与するに値する人徳者であるとは限らない。また、大なり小なり人間社会における民主主義的意思決定は永遠に健全に機能するものではなく、民主政治は時を経て衆愚政治に変遷し、やがて独裁政治に移行するものであり、その変遷過程の事例を人間の歴史の節々に見て取る事は容易である。
【００３１】
このように、PKIと電子署名技術と公開鍵暗号における現実的な課題は、公開鍵暗号における電子証明書の信用ツリー構造のモデルが、社会における人の信用ツリー構造のモデルと一致していないことに起因して発生すると考えるべきである。
【００３２】
5.            著作権保護技術
既存の著作権保護技術の問題点は、著作権よりも著作隣接権を優先して保護していることである。
【００３３】
既存のデジタル著作権管理技術 は、電子機器上のコンテンツの無制限な利用を防ぐための技術である。基本的には、オリジナルのデジタルデータを暗号化して記録し、特定のソフトウェアあるいはハードウェアでしか再生できないようにすることで、第三者による複製や再利用を困難にする技術になっている。コピーガード技術の一種に相当する場合もあるが、コピーガードが通常物理的なメディアを使ってコピーを制限しようとするものであるのに対し、デジタル著作権管理技術はデジタルデータとコンピュータプログラムをのみ使って、たとえ同一のデータをコピーできても再生や閲覧が不可能になるように設計されている。一般に、デジタル化されたコンテンツは複製しても品質が劣化しないことから、個人でいくらでも複製が可能であるが、デジタル著作権管理技術はコピーされたファイルを元のファイルと区別して再生不可能にすることにより、このような無制限な複製を無意味なものにする。その技術的特性により、複製以外の利用として著作権法によって認められている範囲での抜粋や、他人への譲渡なども制限することが多い。
【００３４】
既存の著作権保護技術の例として、Microsoft製のWindows Media DRM、ソニー製のOpenMG、アップルコンピュータによるiTunes Music Storeで採用されているFairplay、などがある。これらは全て、著作隣接権を保持する団体や企業の意向を受けて、特定のメーカーが定めたものであり、その技術的詳細は一般に公開されていない。映画産業や音楽産業などのコンテンツ業者は、自らの利益を守るために著作権保護技術は必要であると主張している。現状の著作権保護技術と呼ばれているものの殆どは、著作権ではなく、著作隣接権を保護する意図で設計されている。
【００３５】
本来、著作物の流通させることを存在意義としている事業者は、著作物を流通させるためのコストに加えて、著作隣接権を保護するためのコストを維持すべきである。しかし、「芸術家の作品を流通させることによって利潤を得ることを生業とする企業が、世界中の芸術家の作品を効率的に流通させて尚且つ芸術家当人の権利を保護する仕組みを構築するコストを負担しようとするだろうか？」
【００３６】
コンテンツの著作隣接権を保持しているのは巨大な財閥であることが多く、芸術家を専属化して隷属させ、再生機器のシェア拡大のためにユーザーの囲い込み戦略を取る場合が多い。著作隣接権を保持する複数の財閥同士はお互いに自己の利潤のみを追求することもあり、著作権保護技術は自ずと独善的な仕様に陥りやすく、結果的に著作権保護技術の仕様は、企業対企業の利潤の調整結果が反映され、利用者の利便性が考慮されていない仕様に落ち着くことが多い。
【００３７】
デジタル技術の向上により、芸術家個人でも質の高い芸術を量産することが容易になってきた。写真、絵画、音楽、文学、漫画、映画、などの芸術作品の製作を補助するデジタル技術の普及が進み、デジタル技術を駆使した芸術は、個人でも質の高い作品を量産することが可能で、社会全体での創出量が多くなる傾向があり、また著作隣接権を保護しなくてはならないケースが少ない、という特徴がある。既存の著作権保護技術はこのような社会的背景を考慮したものではなく、適していない。
【００３８】
また、研究機関や財閥に所属する暗号、音響、映像、通信、電気の技術者の殆どは著作権保護の思想に本質的に無関心であることが多い。技術者は芸術家でもなく、法律家でもない。世界中の芸術家の作品を効率的に流通させて尚且つ芸術家当人の権利を保護する仕組みを構築しようとするモチベーションは低く、著作権そのものを法的に保護しながら効率的に流通させようとする技術がボトムアップで生まれた実績が無い。
【００３９】
6.            P2Pネットワーク・アプリケーション・ソフトウェアとその通信方式
P2Pネットワーク・アプリケーション・ソフトウェアとその通信方式の既存技術の問題点は、著作権を保護する技術と著作物を効率的に流通させる技術を両方併せ、尚且つ社会における人の信用ツリー構造のモデルと一致させたセキュリティ仕様を提供していないことである。
【００４０】
P2Pネットワークは一般に、コンピュータ・ネットワークの形態の一つで、定まったクライアント、サーバという役割分担を持たず、ネットワーク上の他のコンピュータに対してクライアントとしてもサーバとしても働くノードの集合によって形成される情報通信・データ交換網を指す。
【００４１】
P2P型のネットワークモデルを応用したあらゆるネットワーク技術やアプリケーションがある。例えばNNTPの伝送システムや、DNSや、Skypeなどのインターネット電話があるが、著名なP2Pアプリケーションの例として、WinMX、Winny、Napster、Gnutellaなど、インターネットにつながったコンピュータ間で自由に、そして完全では無いにせよ匿名でファイルを転送できる機能を持ったファイル共有ソフトがある。
【００４２】
NapsterやWinMXなどは、例えば検索など一部の処理を行うためにクライアント・サーバ型の構造を持ち、その他の処理はノード対ノードで直接P2Pを用いた通信処理を行う。このようなP2Pを、ハイブリッドP2Pと呼ぶ。WinnyやGnutellaのように、全ての処理をノード対ノードのP2P構成を用いて行うようなネットワークは、ピュアP2Pと呼ばれる。
【００４３】
P2Pシステムに関する研究プロジェクトには、ChordやPASTやCoopNetといったものがあり、盛んに研究されている。一般的に、P2Pシステムでは、次の4点が解決すべき技術的な研究課題となる。
(1)ネットワーク構成のスケーラビリティ
(2)ネットワークトラフィックのスケーラビリティ、
(3)検索の効率化
(4)複合検索の効率化
【００４４】
以上の4点に加えて下記3点を課題として設定するものがある。
(5)匿名性
(6)秘匿性
(7)安全性
【００４５】
P2Pシステムを提供するソフトウェア・アプリケーションは、これら7点の課題を包括的かつ総合的に解決するものでなければならない。
【００４６】
(1)については、参加するノードの数の変化に応じて、個々のノードがどのように相互に接続するかという課題である。一般的にP2Pシステムにおいては、参加するノードの数の変化率、それぞれのノードの処理能力、相互の通信能力が動的に変化し、そこで個々のノードがどのようなアルゴリズムで相互に接続し、ネットワークを構成すると効率的な接続構成となるか、が重要な課題となる。
【００４７】
(2)については、それぞれのノードがどのようにデータを送受信するのかという課題である。参加するノードの数の変化に応じて、個々のノード間の通信データ量をどう制御するか、が重要な課題となる。
【００４８】
(3)については、P2Pシステムに参加するそれぞれのノードが持つデータを、どう効率的に探し当てるかという課題である。目的のデータを探し出すための効率的な検索方法を提供することが重要な課題となる。
【００４９】
(4)については、P2Pシステムに参加するそれぞれのノードが持つデータを、キーワードや属性情報を用いて、どう効率的に探し当てるかという課題である。どのようにしてキーワードや属性情報をデータに付与し、目的のデータをキーワードや属性情報を用いて、どう効率的に探し出すか、が重要な課題となる。
【００５０】
(5)については、利用者がP2Pシステム参加する時に、どうすれば事業者に対して個人情報を提供せずに済むかという課題である。匿名性のあるセキュリティ機構と相互認証の仕組みが課題となる。
【００５１】
(6)については、P2Pシステムにおいて利用者がどのような情報のやり取りを行ったか、どうすれば悪意ある第三者が追跡することを不可能にできるか、という課題である。悪意ある第三者が、利用者の個人情報と取引記録を調査出来ないように、どのように秘匿にするかが課題となる。
【００５２】
(7)については、(1)ノード間の通信データ量、(2)問題のあるデータの流通、(3)問題のあるデータを流通させるノードの参加、以上3点の事象をどう制御するかという課題である。一般的にP2Pシステムでは、参加するノードの数の変化率と、それぞれのノードの処理能力と相互の通信能力と保持するデータは不定であり、またどのような人物が参加しているかも不明である。そのような環境において、コンピューターウィルスに利用されないように、必要なときに、前述の3点の事象をどう制御し、P2Pシステムの安全を実現するかという課題である。
【００５３】
P2Pシステムを提供するソフトウェア・アプリケーションは、何か一つの課題を解決していれば良いというものではなく、これら7点の課題を包括的かつ総合的に解決するものでなければならない。
【００５４】
7.            圧縮技術とファイルフォーマット
圧縮技術とファイルフォーマットの既存技術の問題点は、一般的に、静止画像及び動画像及び音響の圧縮及びファイルフォーマットの仕様は、流通効率化と著作権保護を同時に考慮した仕様にはなっていないことである。例えば、デジタルカメラ製品の出力する静止画像フォーマットは、デジタル写真の芸術的価値と流通機構と著作権保護を考慮した仕様にはなっていない。著作権を保護する技術と、著作物を効率的に流通させる技術と、著作物を量産する技術を併せてユーザーに提供しなくてはユーザーは利便性を感じない。しかし、デジタルカメラに独自の電子署名機能をつけたとしても、製品のシェアが上がらないと予想され、デジタルカメラのメーカーは、基本的に自社製品のシェアの拡大とユーザーの囲い込み戦略を採ることが多く、業界標準の電子署名機能と著作権保護機能の実現を推進する強い動機は小さい。
【００５５】
8.            WEBサービス
WEBサービスを構成する既存技術の問題点は、WEBサービスを提供するためのサーバコンピュータ側のソフトウェアは、管理組織による専門的な管理が必要であり、管理組織の仲介と介在によりコストは肥大化し、運用維持コストも固定費として肥大化しやすいことである。
【００５６】
WEBアプリケーションの機能は、既存のWEBサーバアーキテクチャの上に構築されるものであり、サーバコンピュータ側のバックエンドのソフトウェアにさらに重きを置いており、堅牢なデータベース機能とワークフロー機能のソフトウェア実装が必要とされる。一般的に、サーバコンピュータ側のソフトウェアは、管理組織による専門的な管理が必要であり、管理組織の仲介と介在によりコストは肥大化し、運用維持コストも固定費として肥大化しやすい。ユーザーの囲い込みとユーザーに飽きられないようにするための新規のアプリケーション開発と相まって運用維持コストが肥大化しやすい。管理組織はサーバー側コンピューターの維持費を保持し続けねばならず、サイトに出す広告費か利用者からの集金等でそれを補う必要がある。
【００５７】
本来のWEBでは、滅多に更新されない静的なHTMLから構成されていた。頻繁に更新されるWEBコンテンツのデータベースからコンテンツ・マネジメント・システムを通して動的なHTMLのWEBページを生成していた。しかし、いずれもWEBコンテンツの閲覧が重要視され、ページヒット数や見た目の美しさが重要な要素とされていたが、WEBコンテンツが参加型アーキテクチャになり、コンテンツ間のデータ交換と相互関係が密になり、WEBサイトのコンテンツ同士の連動機能が実現されるようになった。そのようなWEBコンテンツ同士の連動を可能とするプロトコルとしては、RSS、RDF（RSS 1.1）、Atomがあり、いずれもXMLをベースにしている。FOAFと XFNといった特殊化したプロトコルは、サイトの機能を拡大し、一般ユーザーがサイトを通さずに相互にやりとりすることが可能になってきた。WEBサイト間の双方向メッセージ通信プロトコルはWEB2.0と呼ばれる流行の基盤技術のひとつであり、RESTfulと SOAPが主要な方式である。
例えば、Flickrはデジタル写真の共有とコミュニティ形成を支援するWEBサービスである。Flickrはカナダ・ヴァンクーヴァーに本拠を持つルディコープ社が2004年2月に開設した。Flickrは、デジタルカメラなどによる写真を共有するコミュニティサイトである。個人で撮った写真をウェブ上で整理・分類・展示しておけるほか、見知らぬ人と共有して互いにコメントを書き込むこともできる。こうした画像掲示板やソーシャル・ネットワーキング・サービスのようなコミュニティとしてユーザーに人気が出ただけでなく、ブロガーの間で写真の共同保管・共同利用の場所としても広く使われることで巨大化した。Flickrで、同様の写真アップロードサイトと比べて人気の出た原因は、誰かがアップロードした写真にだれでも自由に「タグ」と呼ばれるキーワードを付けて分類することができ、タグを通して他のユーザーとコミュニティを形成したり、タグをたどるうちに予想もしなかった写真に出くわす楽しさがあることと言われている。撮影場所、撮影対象などを表すタグがあることによって、何かについての画像を調べたい者は簡単にFlickrの中から画像を検索することができる。またFlickrは最も検索数の多いキーワードのタグをつけられた写真へすぐアクセスできるページを多数備えて提供している。
【００５８】
例えば、Flickrではユーザーに、ある種の共通使用ライセンスのもとで画像を提供するよう依頼している。一般個人が無作為に撮影したデジタル写真に芸術性を認めるか否かは、見る人次第であり、厳密な定義は難しい。芸術とは製作者の心が人の心に作用する著作物のことであり、客観的かつ科学的に数値的な検証を行うことは意味を成さない。例えば、文章や物語であっても、デジタルカメラによるデジタル写真と同様に、誰にでも製作することが出来る。しかし作家や小説家は芸術家として社会的価値を果している。それと同じようにデジタルカメラによる写真にも芸術性はあると考えるべきである。例えば、高解像度のデジタル一眼レフカメラで撮像された写真データのサイズは大きく、WEBサイトで集中管理するには不向きであり、また撮像データをWEBサイトに登録するにあたり、著作権を実質的に放棄しなくてはならない。
【００５９】
WEBサービスを構成する既存の要素技術は、人の心に訴えるデジタル芸術を効率的に流通させ、かつ芸術家にその正当な対価を提供するに至らない。
【発明の開示】
【発明が解決しようとする課題】
【００６０】
9.            アプリケーション・プログラムの具体的説明
本論文において提案するソフトウェア・アプリケーションとその配布方法には、次の5点の目的がある。
(a.) 社会において芸術家及び著作者が果たしている大切な役割を尊重しながら、大量に創出されるデジタル芸術作品を効率的に流通させること
(b.) 流通する芸術作品の中から効率的に好みの作品を発見することを補助すること
(c.) 作品及び著作物を鑑賞あるいは利用する際に、著作者への正当な対価と評価を提供することを補助すること
(d.) 新たな芸術と著作物の創作を誘発し、社会と文化を発展させること
(e.) これらの仕組みを低いコストで実現すること
【課題を解決するための手段】
【００６１】
事例として、デジタルカメラを用いた写真芸術を題材として、P2Pソフトウェア・アプリケーションの振る舞いとその配布方法について説明する。
[1] 配布
[2] 作品の取り込み
[3] 起動と相互接続
[4] 展示
[5] 検索と発見
[6] 要求と交換
[7] Webサービスとの併用
[8] クラッキングやその他の対策とセキュリティ
【００６２】
9.1            配布
このアプリケーション・プログラムが配布されるときの通信手順および処理手順を説明する。このアプリケーション・プログラムを使用するためにダウンロードを行おうとしている人をAとし、Aが使用するコンピュータ・ノードをNodeAとする。また、このアプリケーション・プログラムを配布する側のノードをAPV(Application Program Vender)とする。
（図１）
（図２）
【００６３】
このアプリケーション・プログラムは、リリースされるバージョンごとにAPVの公開鍵証明書（APVCert）が同封される。1.においてAPVは鍵ペアを生成する。
この鍵ペア生成処理においては、広く知られている公知の数学的成果を、幾つか選択出来るようにする。RSA暗号の中でも、（1）通常のRSA暗号、（2）中国人の剰余定理を利用したRSA暗号、（3）ガーナーのアルゴリズムを応用した中国人の剰余定理を利用したRSA暗号、（4）ガーナーのアルゴリズムを利用したリバランスドRSA暗号、など、幾つかの種類が知られており、（5）楕円曲線暗号も鍵長によって、鍵生成、暗号、復号に要する処理時間が異なる。この鍵ペアは、秘密鍵を使った署名処理(ex. 6.,19.)と、公開鍵を使った検証処理(ex. 9.,22.)の利用頻度が同程度であり、どちらの処理にも高速に演算を行うことが求められる。ここでは公開鍵による検証処理と秘密鍵による署名処理の演算速度が均等に近くなる鍵ペア生成のアルゴリズムとして、（3）や（5）を選択するのが適切と考える。
【００６４】
まず、利用者Aは、APVに対してアプリケーション・プログラムのダウンロードの要求メッセージ（DownloadRequestMessage）を送信する。DownloadRequestMessageには、利用者Aの使用するコンピュータ・ノードのIPアドレスとMACアドレスが含まれる。MACアドレスとは、イーサーネット・アダプタに割り当てられた固有のID番号であり、IEEEが管理と割り当てを行う各メーカーごとの固有番号と、メーカーが独自に各カードに割り当てる番号の組み合わせによって表される。全世界で同じ識別番号は存在しない。APVは、DownloadRequestMessageに含まれるIPアドレスとIPパケットヘッダのSource Addressに含まれるIPアドレスを参照し、両者が一致すればNodeAはグローバルIPアドレスを持つと判断する。両者が一致しなければ、DownloadRequestMessageに含まれるIPアドレスがプライベートIPアドレスに該当するかどうか確認し、該当すればNodeAはプライベートIPアドレスを持ち、ゲートウエイの内側に配置するノードと判断し、IPヘッダに含まれるIPアドレスをゲートウェイのIPアドレスとし、DownloadRequestMessageに含まれるIPアドレスをノード本体のプライベートIPアドレスと判断する。(4.)
【００６５】
APVは、利用者AのノードのIPアドレスとMACアドレスのハッシュ値を求め(5.)、APVの秘密鍵で署名する(6.)。これをダウンロード署名（DwdSign）とする。
【００６６】
APVは利用者ごとにユニークとなる利用者ID（uid）を発行する(7.)。利用者ID（uid）は人間に対して割り振られるものとし、利用者一人につき利用者ID（uid）が一つ割り振られるものとする。これはアプリケーション・バージョン毎にユニークであれば良い。例えば、32ビット長の正の整数値とすると、最小値は0で最大値は4,294,967,295であり、2005年時点で、世界の総人口は約65億人、日本の総人口は約1億3千万人であり、現時点では十分である。
【００６７】
利用者AはAPVからアプリケーション・プログラムを取得する(8.)。このアプリケーション・プログラムは、リリースされるバージョンごとにAPVの公開鍵証明書が同封される。また、アプリケーション・プログラム本体には、利用者ID（uid）とダウンロード署名（DwdSign）が同封される。
【００６８】
利用者Aは取得したアプリケーション・プログラムをコンピュータにインストールする。このときアプリケーションプログラムは、コンピュータ・ノードのIPアドレスとMACアドレスを調べ、同封のダウンロード署名（DwdSign）をAPVCertを用いて検証し、検証に成功しない限り、インストールは許可されないものとする(9.)。
【００６９】
利用者Aのアプリケーション・プログラムは、NodeAにて鍵ペアを生成し、ユーザー公開鍵証明書（UserCert）の発行をAPVに依頼する。この鍵ペアも、秘密鍵を使った署名処理(13.)と、公開鍵を使った検証処理(17.)の利用頻度が同程度であり、どちらの処理にも高速に演算を行うことが求められる。したがって、ここでは公開鍵による検証処理と秘密鍵による署名処理の演算速度が均等に近くなる鍵ペア生成のアルゴリズムを選択する必要がある。
【００７０】
一般的にアプリケーション・プログラムが商品となり、これを配布することが商行為となる。前述のように資本主義社会における商行為は、事業体が顧客の信用の獲得を賭けて競い合うものである。したがって、顧客は、事業体を信用の単位として捉えていると考えるべきであり、公開鍵証明書の発行においても、利用者にとって事業体と映る単位で発行されるのが適切である。利用者の公開鍵証明書をUserCertとすると、利用者Aの公開鍵証明書UserCertAは、APVが署名し、APVが発行するのが適切である。
【００７１】
ユーザー公開鍵証明書には、アプリケーション・プログラムベンダーが発行する世界中で二つとない利用者ID（uid）と、使用するコンピュータ・ノードのMACアドレスが記載される。ユーザー公開鍵証明書には、uidとMACアドレスが記載されるものの、利用者Aはアプリケーション・プログラム・ベンダーに対して個人情報を提供する必要がない。また、アプリケーション・プログラム・ベンダーも利用者Aの個人情報について関知する必要がない。ユーザー公開鍵に利用者ID（uid）とMACアドレスを記載することによって、個人情報を事業者に提供することなく、ノード間のセキュリティ機構を構築することができる。
【００７２】
利用者Aはコンピュータ・ノードのイーサーネット・アダプタのみを交換することがある。また、利用者Aはコンピュータ・ノードに複数のイーサーネット・アダプタを取り付け、使い分けることがある。このときは、ユーザー公開鍵証明書の再発行あるいは追加発行が可能である。前者は利用者ID（uid）が変わるので、3.以降の手順を繰り返せば良い。後者は利用者ID（uid）が変わらないので、10.以降の手順を繰り返せば良い。
【００７３】
原理的には一人二役を防ぐことはできないので、現実的には利用者ID（uid）の枯渇に対する考慮が必要となる。利用者Aは、ダウンロードから公開鍵証明書の発行まで、同一のコンピュータ・ノードとイーサーネット・アダプタを使用する必要があり、一定の作業時間を要する。従って、自動化プログラムによって一人数役として利用者ID（uid）を要求するといった行為を行う動機を低下させることができる。一般的には、常に人が介在してダウンロードおよびインストール手続きを進めることになる。利用者ID（uid）が枯渇したときは、APVが4,294,967,295以上のダウンロード要求とUserCertの発行要求を受け付けた後であり、アプリケーション・プログラムのバージョン・アップと再配布を検討するに適した時期になっていると予想される。また、APVが利用者ID（uid）の再発行の要求を受けたときは、以前の利用者ID（uid）を空番とし、再利用することができる。
【００７４】
9.2            作品の取り込み
このアプリケーション・プログラムは芸術家が作品を展示して配布するためのものである。作品を展示する単位として展示室（Exhibition Room）という概念を提供する。作品が商品であり、これを配布することが商行為となる。芸術という分野では芸術家個人が事業体であり、展示室（exh,Exhibition Room）という単位は事業単位となる。展示室（exh）ごとに、ユーザーごとにユニークな識別子となるID（exhid）を割り当てる。例えば、16ビット長の正の整数値とすると、一人の芸術家は最大で65,535個の展示室を持つことができる。
【００７５】
芸術家は芸術作品をアプリケーション・プログラムに取り込み、独自の管理用のデータ構造を生成する。
ここでは写真を例として説明する。ここではオリジナルのデジタル芸術作品をo（オリジナル）と表記する。著作権者をAとし、被写体となった人物など、作品に関する権利を持つ者をBとする。オリジナルのデジタル芸術作品の著作権を主張するための電子署名（osign）を作成する手順は次のようになる。例えば、64ビット長の正の整数値とすると、一人の芸術家は最大で18,446,744,073,709,551,615もの作品数を展示することが可能である。
1. o = jpeg()
2. oid = assign()
3. osign0 = enc(h(o + oid + uid), PrivateKeyA )
4. osign1 = enc(h(o + oid + UserCertB), PrivateKeyA )
5. osign  = ousign0 + ohsign1...
【００７６】
オリジナルのデジタル芸術作品を宣伝するためデジタルデータをp（プレビュー）と表記する。pはオリジナルのデジタル芸術作品を魅力を相手に訴えるためのデジタルデータであり、それ自体の著作権は保護されないものとする。一般的には、オリジナルのデジタル芸術作品に対して、(1)劣化させる、（2）一部を劣化させる、（3）一部を切り出すあるいは加工する、（4）劣化させてから一部を切り出すあるいは加工する、といった処理を施したものがpとなる。psignは、pがoを元に著作権者A本人によって生成されたものであることを主張する電子署名である。キーワード（kwd）は著作権者が作品に対して任意に付与するものであり、作品の検索に利用される。オリジナルの作品一つにつき一つの識別子（oid）が割り振られるものとする。
1. filt = { filt1(),filt2(),..,filtN() } = UserSelect()
2. coef = { coef1,coef2,..,coefN } = UserSelect()
3. p = filt(o,coef)
4.pdiff=(o-p)+{filt1(),filt2(),.,filtN()}+{coef1,coef2,.,coefN}
5. kwd = { kwd1,kwd2,..,kwdN } = UserInput()
6. psign0 = enc( h(p + oid + pdiff),PrivateKeyA )
7. psignKwd = enc( h(kwd),PrivateKeyA )
8. psign = psign0 + psignKwd
【００７７】
このアプリケーション・プログラムが取り扱うデータ構造を次に説明する。このアプリケーション・プログラムは、以下の7種類のデータ構造をツリー構造で取り扱う。これらは、P2Pネットワークに参加する全ノードで共有するものと、展示室（exh）に参加しているノードのみで共有するもの、がある。前者を全ノード共有木（Global Shared Tree）とし、後者を展示室限定ノード共有木（Exh. Limited Shared Tree）とする。
[1] uid木（完全2分探索木）（Global Shared Tree）
[2] userKwdHash木（赤黒木）（Global Shared Tree）
[3] exhKwdHash木（赤黒木）（Global Shared Tree）
[4] oKwdHash木（赤黒木）（Exh. Limited Shared Tree）
[5] exhid木（完全2分探索木）（Exh. Limited Shared Tree）
[6] oid木（完全2分探索木）（Exh. Limited Shared Tree）
[7] ohash木（赤黒木）（Exh. Limited Shared Tree）
【００７８】
[1]のuid木は、特殊な役割を持つノードのみが管理するツリー構造である。利用者ID（uid）は利用者ごとに割り振られる固有の識別子であり、P2Pネットワーク・システム上の特殊な役割を持つ複数のノード上で、木構造として集中管理する。利用者ID（uid）を32ビット長とすると、0から4,294,967,295までの全ての利用可能な値の完全2分探索木となる。リーフで保持するデータは、UserCert、IPアドレス、exhidテーブル、展示室（exh）に参加している利用者のuid木、ノードの性能値、である。割り振られていない利用者ID（uid）のリーフは空欄となる。利用可能な全ての値を使用した完全2分探索木であり、木構造は変化しない。リーフのみが変化するのは、ユーザーがP2Pネットワークに参加したときと離脱したときである。uid木をP2Pネットワーク上の特定のノードで集中管理することにより、全ノードの性能値の統計処理が可能となり、P2Pネットワーク・システムの全体の通信トラフィックの制御が可能となる。P2Pアプリケーション・プログラムはアプリケーション・プログラム・ベンダーという事業体あるいは組織体が提供するものであり、P2Pネットワークの全体構成とトラフィックを制御しうる責任を負う必要がある。
また、uid木を特殊な役割を持つノードで集中管理することにより、少なくとも利用者ID（uid）か展示室ID（exhid）を使った検索要求に対しては全ノードに対して検索結果を返すことを保障できる。こうすることによって、WEBサイト等で、利用者ID （uid）や展示室ID（exhid）を公開して、利用者はそのIDを使用して検索を行い、目的の作品を探し当てて権利を要求する、といった利用方法が可能になる。
【００７９】
[2]のuserKwdHash木は赤黒木で表現する。利用者が自己紹介のために自分に付与したキーワード（kwd）のハッシュ値をuserKwdHashとする。リーフで保持するのは、uidテーブルである。木構造が変化するのは、ユーザーが自分にキーワード（kwd）を付与したときと、ユーザーが他人にキーワード（kwd）を付与したときである。
【００８０】
[3]のexhKwdHash木は赤黒木で表現する。利用者が自分の展示室を紹介するために付与したキーワード（kwd）のハッシュ値をexhKwdHashとする。リーフで保持するのは、exhid+uidテーブルである。木構造が変化するのは、ユーザーが自分の展示室（exh）にキーワード（kwd）を付与したときと、ユーザーが他人の展示室（exh）にキーワード（kwd）を付与したときである。利用者は自分を紹介するため、または展示室を紹介するために、アイコン画像やキーワードを付与することができる。それぞれのアイコン画像やキーワードのハッシュ値が計算され、userKwdHash木、exhKwdHash木、というデータ構造で、各ノードに配信する。userKwdHash木、exhKwdHash木はFIFO方式で、それぞれのノードの処理能力が許す範囲で管理する。利用者はグローバル・ネットワーク・ツリーで、ユーザーや展示室をキーワードを用いて検索することができる。
【００８１】
[4]のoKwdHash木は赤黒木で表現する。利用者が自分の作品に付与したキーワードのハッシュ値をoKwdHashとする。リーフで保持するのは、oidテーブルである。木構造が変化するのは、ユーザーが自分の作品にキーワード（kwd）を付与したときと、ユーザーが他人の作品にキーワード（kwd）を付与したときである。
【００８２】
[5]のexhid木は完全2分探索木で表現する。リーフで保持するのは、oid木への参照である。木構造が変化するのは、ユーザーが展示室（exh）を追加したときと、ユーザーが展示室（exh）を削除したときである。リーフのみが変化することはない。
【００８３】
[6]のoid木は完全2分探索木で表現する。リーフで保持するのは、exhid、okwdテーブルである。木構造が変化するのは、ユーザーが作品を追加したときと削除したときである。リーフのみが変化するのは、ユーザーが作品の展示室（exh）を変更したときと、ユーザーが作品にキーワード（kwd）を付与したときである。
【００８４】
[7]のohash木は赤黒木で表現する。デジタル作品のハッシュ値をohashとする。リーフで保持するのは、作品ID（oid）、展示室ID（exhid）である。木構造が変化するのは、ユーザーが作品を追加したときと、削除したときで、リーフのみが変化するのは、ユーザーが作品のexhを変更したときである。
【００８５】
9.3            起動と相互接続
全てのノードで構成されるデータ交換ネットワークを、グローバル・ネットワーク・ツリー（Global Network Tree）と呼ぶ。グローバル・ネットワーク・ツリーは、ユーザー情報、ユーザー公開鍵証明書、展示室情報を配信および共有するための相互接続網である。ここで共有されるデータ構造は、uid木と、userKwdHash木と、exhKwdHash木である。グローバル・ネットワーク・ツリーの構成を以下の図に示す（図3）（図4）。中心の環をセンター・リング（Center Ring）と呼び、センター・リングを構成するノードを、P2PNK（P2P Network Keeper）と呼ぶ。また、環の数を段数と呼ぶ。P2PNK（Center Ring）となるノードはP2PNK同士で相互に接続する。P2PNKはuid木を管理し、P2Pネットワーク上のノード総数や性能値の標準偏差をリアルタイムに管理する。複数のP2PNKノード間において、uid木は同じ状態に保つ必要がある。また、相互に接続することによって、監視するという意味を持つ。
【００８６】
展示室に参加するノードのみで構成するデータ交換ネットワークを、展示室限定ネットワーク・ツリー（Exh. Limited Network Tree）と呼ぶ。展示室の開催者のノードをオーナー（exhowner）と呼び、ツリーの高さを段数と呼ぶ。展示室限定ネットワークツリーは、展示室の開催者のノード（exhowner）を頂点として、中継ノードを介してp（プレビュー）、oKwdHash木、exhid木、oid木、ohash木を配信するためのツリー構造である。展示室限定ネットワーク・ツリーの構成を次の図に示す（図5）。
【００８７】
アプリケーション・プログラムは、起動直後に、CPUの処理速度、下がり方向の転送速度(受信速度)、上がり方向の転送速度(送信速度)の実計測を行う。個々のノードの性能をXで表記し、X = (CPUの処理速度,受信速度,送信速度) = (p,r,s)、とおく。
【００８８】
アプリケーション・プログラムは、グローバル・ネットワーク・ツリーに参加するとき、P2PNKに対してノードの登録処理を行う。このとき、Xの値をP2PNKに送信する。P2PNKは参加する全ノードの総数と性能Xの平均と標準偏差を保持する。性能が平均に位置するノードや平均以下のノードはグローバル・ネットワーク・ツリーの外環（External Ring）に位置する。平均+3σ以上のノード、平均+2σ以上のノード、平均+1σ以上のノードで尚且つ24時間以上、連続稼動するノードのみが、P2PNKや中継ノードの候補となる。各ノードの上の線は下がり方向の転送(受信)を示し、ある段数に分布するノードのXのp+rの平均値から本数が決まる。下の線は上がり方向の転送(送信)を示し、ある段数に分布するノードのXのp+sの平均値から本数を決定することができる。
【００８９】
グローバル・ネットワーク・ツリーに参加する全ノードは、その役割によって、(a)P2PNKとなるノード、(b)中継ノード、(c)外環に位置するノード、の三種類に分類することができる。
【００９０】
(a)は、グローバル・ネットワーク・ツリーを制御するノードであり、  全ノードの性能値の統計処理の結果、性能Xが高い偏差値を示すノードで尚且つ24時間以上連続して稼動した実績のあるノードのうち、APVが承認したノードが候補となる。P2PNKは、全ノードの総数と各ノードの性能と偏差値を管理し、ネットワーク構成と通信トラフィックを集中管理する。P2PNKはP2Pシステムに参加する全ノードの総数を把握し、uid木、userKwdHash木、exhKwdHash木を管理する。uid木は、複数のP2PNKで保持されるときもそのツリー構成と保持データは同一であることが保障される。uid木をP2PNKで集中管理することにより、全ノードの性能値の統計処理が可能となり、P2Pネットワーク・システムの全体のトラフィックの制御が可能となる。(b)は、全ノードの性能値Xの統計処理の結果、高い偏差値を示すものが候補となる。転送能力の高いノードを中継ノードとすることにより、各ノード間のデータ転送を効率化する。(c)は全ノードの性能値の統計処理の結果、平均付近に分布するノードと平均以下の全てのノードが含まれる。
【００９１】
このように、性能X(p,r,s)が高い偏差値を示すノードのみが、P2PNKや中継ノードとなる累進課負荷という設計思想により、P2Pネットワーク・システムを効率的に構成する。
【００９２】
展示室限定ネットワーク・ツリーに参加する全ノードは、その役割によって、(a)exhTNとなるノード、(b)中継ノード、(c)外環に位置するノード、の三種類に分類することができる。
【００９３】
(a)は、展示室限定ネットワーク・ツリーを制御する配信ノードであり、グローバル・ネットワーク・ツリーのP2PNKが候補ノードとなる。(b)は、グローバル・ネットワーク・ツリーにおける中継ノードが候補ノードとなる。全ノードの性能値Xの統計処理の結果、高い偏差値を示すものが候補となる。転送能力の高いノードを中継ノードとすることにより、各ノード間のデータ転送を効率化する。(c)は全ノードの性能値の統計処理の結果、平均付近に分布するノードと平均以下の全てのノードが含まれる。
全てのノードは、P2PNKにノードの登録処理を行う。P2PNKはP2Pシステムに参加する全ノードの総数を把握し、uid木、userKwdHash木、exhKwdHash木を管理する。その中でもuid木は、アプリケーション・プログラム・ベンダーが提供するP2PNKノードで集中管理するものであり、複数のP2PNKノードで保持するときも、そのツリー構成と保持データは同一であることが保障されねばならない。P2PNKによる統計処理の結果、性能Xが高い偏差値を示すノードで尚且つ24時間以上連続して稼動した実績のあるノードのうち、アプリケーション・プログラム・ベンダーが承認したノードのみが候補となる。アプリケーション・プログラムはアプリケーション・プログラム・ベンダーという事業体あるいは組織体が提供するものであり、P2Pネットワークの全体構成とトラフィックを制御しうる責任を負う必要がある。uid木を特殊な役割を持つノードで集中管理することにより、全ノードの性能値の統計処理が可能となり、P2Pネットワーク・システムの全体のトラフィックの制御が可能となる。
【００９４】
アプリケーション・プログラムは、起動直後に以下の手順で処理を進める。
1. selfCheck()
2. if( discoveryNears() == success ) {
3.             connectNears()
4.             queryP2PNK()
5. } else {
6.             readListP2PNK
7. }
8. registerMeToP2PNK()
9. queryConnectOrder()
【００９５】
自分の公開鍵証明書（UserCert）をAPV公開鍵証明書（APVCert）で確認する。プログラムのバイナリーイメージのハッシュ値を計算し、APVから配布されたときのものと相違ないか、確認し、CPUの処理速度、下がり方向の転送速度(受信速度)、上がり方向の転送速度(送信速度)の実計測を行う。（1.）。それから、IPブロードキャストを使用して近隣ノードを探索し（2.）、近隣ノードが発見出来たら、相互接続する（3.）。相互接続した近隣ノードからP2PNKのIPアドレスを教えて貰う（4.）。近隣ノードが発見出来ないときは、APV署名付きのP2PNKリストからP2PNKのIPアドレスを教えて貰う（6.）。P2PNKにuidとIPアドレスを送信し、登録処理を行う（8.）。P2PNKから再接続指示を受信する（9.）。
【００９６】
ノード同士の相互接続は下記の手順に従って行い、ノードAとノードBの間には鍵AB、ノードBとノードCの間には鍵BC、ノードCとノードDの間には鍵CDというように、ノード間の接続ごとに共通鍵暗号の鍵が共有される。ノードAとノードBがあり、AからBに接続要求を出した時の例を次の図に示す（図6）。
【００９７】
9.4            展示
このアプリケーション・プログラムは、前述のように、芸術家が作品を展示して配布するためのものであり、作品を展示する単位として展示室（Exhibition Room）という概念を提供する。作品が商品であり、展示室（exh,Exhibition Room）という単位は事業単位となる。展示室を開設した者をexhownerと呼ぶ。展示室（exh）ごとに、ユーザーごとにユニークな識別子となるID（exhid）を割り当てる。例えば、16ビット長の正の整数値とすると、一人の芸術家は最大で65,535個の展示室を持つことができる。exhidは利用者ごとにユニークな値であればよく、uidとexhidを連結した値によって、展示室を全世界で一意に特定できる。利用者は任意に展示室(exh.)を作成し、作品を展示室に配置することができる（図7）。
【００９８】
展示室（exh.）を作成あるいは削除すると、exhid TableがP2PNKに通知され、uid木のexhid Tableが更新される。P2PNKは全ノードのexhid Tableの追加や修正要求を集中的に管理するが、作品がない空の展示室の情報は管理しない。
利用者は、展示室への入室要求を発することができ、展示室は芸術家による事業単位であり、誰でも入室できるか、許可した特定の人物だけに入室を許可するか、は芸術家の意向が尊重される。展示室への入室を許可された利用者は、uid木とexhid木というデータ構造で管理する。こうすることによって、展示室に入室を許可されたユーザーが誰で、そのうちオンラインとなっているユーザーは誰なのか、このP2Pネットワーク・システムは常に把握することができる。展示室に入室を許可されたユーザーのノードのみで、展示室限定ネットワーク・ツリー（ExhLNT, Exh. Limited Network Tree）を構成する。展示室限定ネットワークツリーは、exhownerを頂点として、中継ノードを介してp（プレビュー）、oKwdHash木、exhid木、oid木、ohash木を配信するためのツリー構造である。統計処理の結果、高い偏差値を示したノードから順番にツリーの上位に位置する中継ノードの候補となる。展示室の開催者のノード（exhowner）は、展示室限定ネットワーク・ツリーの接続認証用に共通鍵（ExhAuthCommonKey）を生成し、グローバル・ネットワーク・ツリーを介して配信する。exhLNTに参加する全ノードは、exnTNから接続先のIPアドレスの通知を受け、接続の指示があったノードに対して接続要求を行う。接続要求の認証処理にはExhCommonKeyを用いる。こうすることによって、展示室の開催者に許可されたノードのみを経由して暗号化したデータを配信することが可能になる。
【００９９】
9.5            検索と発見
このアプリケーション・プログラムは、ユーザー、展示室、作品をキーワードを用いて検索するための機能を提供する。キーワードによる検索は、userKwdHash木、exhKwdHash木、oKwd木を使用する。
【０１００】
ユーザーと展示室を、キーワードを使って検索するときには、運が悪いときは発見できないときがある。ユーザーや展示室のキーワードによる検索は、雑多な情報を観て廻りながら何かを発見できる喜びや偶然発見する喜びを提供する機能であり、検索結果や検索時間の保証を行う必要はない。最も確実な検索方法は利用者ID（uid）か展示室ID（exhid）を使って検索を行うことである。
【０１０１】
作品の検索は、ユーザーが展示室を選択してから行う行為であり、展示室限定ネットワーク・ツリーを介して検索要求が配信される。
【０１０２】
作品の検索は、検索処理に要する時間は保証されないが、検索の結果が返されることを保障することができる。展示室限定ネットワーク・ツリー（exhLNT）では、上位に位置するノードであればあるほど、性能値が高く、情報が豊富になる。
最も確実な検索方法は利用者ID（uid）か展示室ID（exhid）を使って検索を行うことであり、利用者ID（uid）や展示室ID（exhid）はP2PNKで集中管理しているので、全ノードに対して検索結果を返すことを保障できる。こうすることによって、WEBサイト等で、利用者ID（uid）や展示室ID（exhid）を公開し、利用者はIDを使用して検索を行い、目的の作品を探し当てて権利を要求する、といった利用方法が可能になる。検索要求は接続ツリーの上位に位置するノードに対して順々に配信される（図8）。このような仕組みにすれば、中継ノードによる検索要求に関するデータの転送量の制御が可能となる。
【０１０３】
9.6            要求と交換
利用者はexhownerに対して、作品の使用権利の要求を行う。配信、著作権保持者は、要求者ごとに作品を暗号化し、権利証を発行する。
芸術家は利用者に対して、デジタル芸術作品を提供することができる。提供するためにパッケージングしたデジタルデータをe（Encrypted）と表記する。esignは、eがoを元にpを作成した著作権者A本人によって生成されたものであることを主張する電子署名である。
1. enc = { enc1(),enc2(),..,encN() } = UserSelect()
2. K = { K1,K2,..,KN } = UserSelect()
3. e = enc(o,K)
4. esign = enc(h(e + psign),PrivateKeyA)
【０１０４】
権利証（rights）は著作権者から利用者に対して提供される。著作権者をAとし、作品の愛好者である利用者をXとする。
1. DealingInformation = from_uid + to_uid + enc
2. rightsKey = enc(K,PublicKeyX)
3. rightsSign = enc(h(DealingInformation),PrivateKeyA)
4. rights = DealingInformation + rightsSign + rightsKey 
【０１０５】
利用者は暗号化された作品と権利証を受信し、手元で復号することができる（図9）。
1. Get(e)
2. Get(esign)
3. Get(rights)
4. Check_esign()
5. Dec_e(e,rights)
【０１０６】
どのuidからどのuidに対してどの作品の権利が提供されたのか、権利証の発行履歴が著作権者の手元に残すことが出来るので、事業者や著作権者の意図に反する行為をする者とその使用ノードを特定することができる。
【０１０７】
9.7            Webサービスとの併用
このアプリケーション・プログラムは、WEBサービスと競合するものではなく、共存するものである。このアプリケーション・プログラムでは、オリジナルのデジタル芸術作品の実体となるデータが、著作権者の所有するコンピュータに置かれたまま、宣伝用のキーワードや宣伝用のデータのみが各ノードに行き渡る。
【０１０８】
著作権者は、宣伝用のデータと作品ID（oid）、また、展示室ID（exhid）や利用者ID（uid）をWEBに掲載することもでき、利用者はWEBで気に入った作品や作家や展示室を見つけたときに、アプリケーション・プログラムを用いて、展示室ID（exhid）や利用者ID（uid）や作品ID（oid）を使って、検索して、目当ての作品を探し、権利を要求することができる。IDを使った検索の結果が返されることを、P2Pネットワークは保障しているので、必ず所望の作家と作品を引き当てることができる。
【０１０９】
このアプリケーション・プログラムでは、事業者はネットワーク・トラフィックの制御と、クラッキング行為やデータ偽造による成り済まし行為をするノードの制御をするための最低限の情報が集まるものの、ノード間の通信内容、利用者間で取引されるデータの内容や履歴はプライバシーとして保護される。
【０１１０】
デジタル芸術作品のオリジナルデータをサーバーに全て集める方式は、通信トラフィックの過負荷を招き、事業者にとってデータ維持のための固定費を増大させ、著作権者はオリジナルの作品のデジタルデータを全て事業者に委ねることになる。作品の実体となるデータは、著作権者当人と、その権利を要求した愛好家にとって価値のあるものであり、直接配送される方式が効率的である。
一般的に、事業者は個人情報の保護を謳うが、WEBサービスによる方式では、サーバーコンピュータの管理を担う専門組織に対して、全てのデータやプライバシーが丸見えの状態になる。事業者が利用者に対して個人情報保護を書面あるいは口頭で確約しようとも、技術的な仕組という視点からは、利用者のプライバシーはコンピュータの管理者には丸見えになっていると捉えるべきである。
【０１１１】
従来のWEBアプリケーションの方式と異なり、間に仲介業者が介入することなく、著作権者と愛好家の2点間で取引を実施することにより、効率的なデータ転送を行うことができ、作品の交換履歴のプライバシーを通信事業者から守ることが可能である。
【０１１２】
9.8            クラッキングやその他の対策とセキュリティ
このアプリケーション・プログラムのセキュリティは、非対称鍵暗号の数理的安全性に依存している。P2Pネットワーク・アプリケーションに対するコンピューター・サイエンス的な攻撃は、非対称鍵暗号の安全性と表裏一体であり、アルゴリズムと鍵長を適切に選択することが重要になる。RSA暗号の中でも、（1）通常のRSA暗号、（2）中国人の剰余定理を利用したRSA暗号、（3）ガーナーのアルゴリズムを応用した中国人の剰余定理を利用したRSA暗号、（4）ガーナーのアルゴリズムを利用したリバランスドRSA暗号、など、幾つかの種類が知られており、（5）楕円曲線暗号も鍵長によって、鍵生成、暗号、復号に要する処理時間が異なる。このアプリケーション・プログラムで使用する鍵ペアは、秘密鍵を使った署名処理と、公開鍵を使った検証処理の頻出頻度がほぼ同程度であり、演算速度が均等に近くなる鍵ペア生成のアルゴリズムとして、（3）や（5）を選択するのが適切と考える。
【０１１３】
ガーナーのアルゴリズムを応用した中国人の剰余定理を利用したRSA暗号の鍵ペア生成の手順は次の通りである。鍵ペアの生成に際して、まず乱数を利用してランダムに素数p,qを選択する。ここで、素数判定法にはラビン法、フェルマー法などを用いる。既知の素数判定法は実際には合成数判定法であり、乱数の生成と判定を繰り返すので処理時間を要する。pとqの値を掛けて、nを求める。nの桁数(ビット数)はpの桁数(ビット数)にqの桁数（ビット数）を加算したものになる。ユークリッド互助除法を使った最大公約数を求める関数（gcd()）を用いて、gcd( e, (p-1)(q-1) ) = 1となるeを求める。eには、3[B'0000 0000 0000 0011]、17[B'0000 0000 0001 0001]、65535[B'1000 0000 0000 0001]などがよく利用される。そして、ed ≡ 1 mod ((p-1)(q-1))およびd = e^-1 mod ((p-1)(q-1))となるdを、逆数を求める関数(inv())を用いて算出する。<e,n>が公開鍵となり、<p,q,dp,dq,p_inv_q>が秘密鍵となる。
【０１１４】
1. GetPrimeNumber() {
2.            p = rand()
3.            q = rand()
4.            CheckPrime(p)
5.            CHekcPrime(q)
6. }
7. n = p * q
8. gcd( e, (p-1)(q-1) ) = 1
9. ed ≡ 1 mod ((p-1)(q-1))
10. d = e^-1 mod ((p-1)(q-1))
11. dp = d mod (p-1)
12. dq = d mod (q-1)
13. p_inv_q  =  p^-1 mod q
（あるいはq_inv_p = q^-1mod p）
【０１１５】
暗号処理手順は、平文をm、暗号文をcとすると、 c = m^e mod nであり、復号処理手順は、平文をm、暗号文をcとすると、次の通りである。
1. cp = c mod p
2. cq = c mod q
3. mp = cp^dp mod p
4. mq = cq^dq mod q
5. m = Garner( mp, mq, p, q, p_inv_q, n ) {
6.             v = mq ?mp mod q
7.             v = v * (p_inv_q) mod q
8.             m = v * p mod n
9.             m = m + mp mod n
10. } 
【０１１６】
楕円曲線暗号は、離散対数問題と呼ばれる数学の問題を応用した非対象鍵暗号である。鍵ペア生成処理では、まず乱数を利用してランダムに素数pを選ぶ。それから位数がpの巡回群Gの生成元gを選ぶ。ここで、巡回群Gとして楕円曲線で定義される素数位数の巡回群を選ぶことができる。GF(p)上の楕円曲線E(Fp)及びE(Fp)の有理点g生成元を選ぶ。gの位数をqとする。そしてxを{1,2,.....p-1}からランダムに選び、yをy=g^x(mod p)とする。公開鍵は<p,g,y>であり、秘密鍵は<x>である。例えば、p=11として、GF(11)上の楕円曲線をy^2=x^3+2x+1とする。E(F11)上の生成元をg=(5,9)とすると、gの位数はq=16である。秘密鍵をx=5とすると、y = g^x(mod p) = 5(5,9) = (8,1)である。
【０１１７】
暗号処理では、mを平文とし、m∈Gを暗号化するとすると、kをZp-1からランダムに選び、c1=g^k(mod p)  とし、c2=m*y^k(mod p)  となり、暗号文は(c1,c2)となる。例えば、平文m=(10,3)とすると、乱数k = 8を選び、c1= g^8(mod p) = 8(5,9) = (9,0)、c2= m * y^8 = (10,3) + 8(8,1) = (8,3)、となり、暗号文Cは(c1,c2) = ((9,0),(8,3))である。
【０１１８】
復号処理では、(c1,c2) ∈GxGを復号する。mを平文とすると、m=c2*(c1*x)^-1となる。例えば、暗号文Cは(c1,c2) = ((9,0),(8,3))とすると、c2 * (c1^x)^-1 = (8,3) ? 5(9,0) = (10,3)  となり、m =  (10,3)となる。
【０１１９】
RSA暗号、楕円曲線暗号、どちらの場合も、安全性は、鍵ペアの生成に使用する素数のビット長に依存している。素数のビット長を長くすれば安全性が上がり、短くすれば下がる。いずれにせよ、RSA暗号は1977年の発明、楕円曲線暗号は1985年の発明であり、数学的な大発見は稀有な偉業と考えるべきであり、愉快犯が簡単に実現できるものではない。攻撃対象として、事業者や芸術家（という事業体）が想定しうるが、いずれにせよ既知のアルゴリズムにおいて鍵長を適切に設定することが、対応策として最も低コストでかつ妥当と考える。
【０１２０】
一般的にP2Pネットワーク・アプリケーションでは、参加するノードの変化率、処理能力、転送能力が動的であるために、転送トラフィックの制御が困難である。しかし、P2Pネットワーク・アプリケーションを配布する事業体あるいは組織は転送トラフィックを制御する責任を負うと考えるのが適切である。この論文で提案するアプリケーション・プログラムが提供するP2Pネットワークでは、P2PNKあるいはexhTNという特定の役割を持つノードが、全ノードの処理能力と転送能力と確率分布を計算し、中継ノードによる転送データ量の制御を行うことができるので、トラフィック制御が可能になる。P2PNKとexhTNはツリーに参加する全ノードの総数Nと性能値Xを把握し、中継ノードに対して転送データ量の制御を指示することができる。
【０１２１】
一般的にP2Pネットワーク・アプリケーションでは、参加するノードがどのようなデータを送受信しているか関知しない。利用者がどのようなデータを送受信しているかはプライバシーであり、仕組み的に第三者が盗聴あるいは推測しにくいようにするべきである。しかし、時には公序良俗に反するデータや非社会的なデータの交換が問題になることが予想される。信号処理技術を駆使して、技術的にそれらのデータを自動的に識別する仕組みを組み込むためには、あらかじめ公序良俗に反するデータや非社会的なデータの定義と洗い出しが必要になる。しかし、芸術は作者の心が作品を通じて人に通じるものであり、表現技術や表現方法は芸術家によって多種多様であり、「何が公序良俗に反するの作品なのか？」「何が非社会的な作品なのか？」といった観点を技術仕様に組み込むことは芸術の創出を促す情報通信技術として相応しくない。個々のデジタル芸術作品の是非は、技術仕様で解決するものではなく、社会倫理と民主主義政治と司法と立法で解決する問題であることが前提であるが、このアプリケーション・ソフトウェアでは、利用者の個人情報を収集することなく、社会的に問題となるようなデジタル作品の送信者を特定することは可能である。
【０１２２】
このプリケーション・プログラムは、APVから発行されたUserCertを使わなければ利用できない。UserCertにはMACアドレスが記載される。MACアドレスとは、イーサーネット・アダプタに割り当てられた固有のID番号であり、IEEEが管理と割り当てを行う各メーカーごとの固有番号と、メーカーが独自に各カードに割り当てる番号の組み合わせによって表される。全世界で同じ識別番号は存在しない。MACアドレスはIPアドレスと異なり、物的証拠となりうる。クラッキング行為やデジタル芸術作品の改竄行為を行ったノードの特定に利用者ID（uid）とMACアドレスとIPアドレスのログが利用できる。この仕組みを利用して、悪質な行為をしていると判断できるノードのMACアドレスと利用者ID（uid）のブラックリストを作成し、P2Pネットワークから締め出すことが可能である。利用者全員の個人情報を収集することなく、一人二役、他人になりすます、ノード情報を偽る、デジタル芸術作品の不正利用する、許可の無い改変と再配布を行う、といったこれらの行為を行っているノードを特定し、P2Pネットワークから締め出すことができる機能を提供することができる。
【０１２３】
デジタル芸術作品の不正利用や許可の無い改変と再配布に対する懸念が予想されるが、まずこのアプリケーション・プログラムは、著作権者の権利を優先的に保護することを目的としている。著作権者の権利を守るということは、作品の利用形態と利用方法について著作権者の意向が最優先され、著作権者が対価を望めば対価が支払われる、ということであり、著作権者が求めてもいないものを第三者が請求することを是としない。
このアプリケーション・プログラムは、芸術家個人が事業主であり、展示室という単位を事業単位として、デジタル芸術作品が流通および展開されるように設計されている。例えるなら、ネットワーク上で個展を開催することを補助する情報通信技術である。利用者は、興味のある芸術家を選択し、興味のある芸術家の展示室を選択する。一般的に、芸術家にとって、盗作や贋作は恥であり、また、盗作や贋作を個展で発表する行為は、愛好者に受け入れられない。したがって、データを再配布することは現実的な動機にならない。アプリケーション・ソフトウェアの設計思想と設計がデータの再配布と芸術家と芸術作品に対する冒涜と侮辱に対する対応策となっている。
【０１２４】
このアプリケーション・プログラムでは、アプリケーション・プログラム・ベンダーの技術的専門家からもプライバシーを完全に守ることができる。保護する対象を技術で守るのか、法と社会倫理で守るのか、は、今後も常に論点になりやすいと予想されるが、芸術の創出を促し、文化を発展させる技術は、芸術家の立場を尊重し、著作物の利用に関して、著作権者の意向が最優先され、尚且つ効率的に作品を流通させること、を想定するべきであると考える。
【発明の効果】
【０１２５】
10.            終わりに
著作隣接権を保持する組織の意向よりも、著作権者当人の意向を尊重し、優先保護することが、社会の中で芸術家、著作者が果たしている大切な役割を尊重することになり、著作物を利用する際に、著作者への正当な対価を支払うことを促進し、さらに新たな芸術と著作物の創作を産み、文化を発展させる。芸術と社会は密接に関係するものであり、著作権に対する理解と保護の度合いは、その国の文化のバロメーターといわれている。
著作隣接権を保持する団体の以降は、芸術作品の質を落とすことがある。どこかで聞いたことがあるようなマンネリなヒット曲が次々にリリースされる光景、マンネリなパート２映画、物語が区切りよく終結してしてるにも拘わらず何故か延々と続く連載漫画、の例を列挙することはたやすい。これらは事業者の意向が芸術家の意向を上回っていることの現れであるといえる。その是非は別として、本来、芸術とは作者の心が作品を通じて鑑賞者の心に伝わること、がその本質にあるのであり、芸術家当人の意向を優先することが文化と芸術の振興に繋がると考えるべきである。
【０１２６】
芸術の製作を補助するデジタル技術が社会の中で広範囲に普及することによって、芸術家個人でも品質の高い作品を量産することが可能になってきた。
本論文で提案するP2Pネットワーク・アプリケーション・プログラムでは、以下の5つの事項を実現できる。
(a.) 社会において芸術家及び著作者が果たしている大切な役割を尊重しながら、大量に創出されるデジタル芸術作品を効率的に流通させること
(b.) 流通する芸術作品の中から効率的に好みの作品を発見することを補助すること
(c.) 作品及び著作物を鑑賞あるいは利用する際に、著作者への正当な対価と評価を提供することを補助すること
(d.) 新たな芸術と著作物の創作を誘発し、社会と文化を発展させること
(e.) これらの仕組みを低いコストで実現すること
【０１２７】
前述のように、芸術と社会は密接に関係するものであり、著作権に対する理解と保護の度合いは、その国の文化のバロメーターといわれている。著作隣接権を保持する団体を過保護しようとも、文化の発展には繋がらない。著作権者の権利と芸術家当人の意向を優先的に保護する著作権保護技術によるP2Pネットワーク・アプリケーション・ソフトウェアの普及により、新たな芸術と著作物の創作を産み、社会と文化を発展させる。
【図面の簡単な説明】
【０１２８】
【図１】アプリケーション・プログラムの配布時の処理の流れ（その１）
【図２】アプリケーション・プログラムの配布時の処理の流れ（その２）
【図３】コンピューター・ノード同士の接続を示す図（その１）
【図４】コンピューター・ノード同士の接続を示す図（その２）
【図５】デジタル芸術作品を配信するときのコンピューター・ノード同士の接続を示す図
【図６】コンピューター・ノード同士の相互接続時の相互認証処理の流れを示す図
【図７】配布するデジタル芸術作品を表示するユーザーインターフェイス
【図８】検索要求データの配信方向を示す図
【図９】配信データからオリジナルのデジタル芸術作品を復元するときの処理を示す図
【図１】
2008136063.tif 000003
【図２】
2008136063.tif 000004
【図３】
2008136063.tif 000005
【図４】
2008136063.tif 000006
【図５】
2008136063.tif 000007
【図６】
2008136063.tif 000008
【図７】
2008136063.tif 000009
【図８】
2008136063.tif 000010
【図９】
2008136063.tif 000011