OpenPGPとPKI
COMM Internal Note 007    /     PGP-001

山根 信二
村山 優子
岩手県立大学ソフトウェア情報学部 1

平成14年2月13日

全体の構成

本章とそれに続く章では,以下の調査報告を行なう.
PGP-001
OpenPGPとPKI
PGP-002
Windows, Macintosh での PGP/OpenPGP メール
PGP-003
OpenPGPとその応用 (ネットワーク篇)
PGP-004
OpenPGP準拠ツールの互換性
付録
PGP/GnuPGのインストール方法とコマンドライン版の使用上の注意

本章の目次

 

はじめに

本章の目的: OpenPGPとPKI

本章では,OpenPGPをインターネットの認証基盤としての視点から考察する.ま ず最初にPGPおよびGnuPGそれぞれについての説明を行なった後,X.509に代表さ れる従来のPKIとの比較検討を加え,最後にOpenPGP鍵サーバの役割について論じ る.

なお,本文では一般的仕様に関してはOpenPGPと呼び,個々の実装をPGPあるいは GnuPGと呼んで区別する.

OpenPGPとは

Pretty Good Privacy

OpenPGPの原型となったPGP (Pretty Good Privacy)はデータを暗号化するアプ リケーションである.1991年にPhilip Zimmammanが最初のPGP version 1.0を作 成し,その後世界各地の有志によって改良に改良が加えられた. 1998年にはOpenPGPとして規格化され, その内容はRFC2440[4]として公開されている.

ソフトウェアとしてのPGPは, Pretty Good Privay, Inc.社が販売,開発,そして無料 ソフトウェアとしての配付を行なっていたが,後に同社を買収した Network Associates, Incが作業を引き継いだ. しかしながら,PGPは今後のバージョンアップが困難な状態にある. 2001年10月にNetwork Associates,IncはPGP事業部門を再統合す ることを発表し,PGPおよび関連製品ラインは それ以降メンテナンスモード(開発停止)になっ ている (NAIの発表は http://www.nai.com/other/jump/pgp-integrated.asp, 日 本法人の発表は http://www.nai.com/japan/pgp/ を参照). 売却先が見つかるまでは,PGPの保守やサポートは続けられるが開発が継続される予定はない.

2002年2月の時点でPGP製品版の最新バージョンはPGP Desktop Security 7.1.1である.無料配付版であるPGP Freewareはバージョン7.1のWindows 版およびMac版が公開されている. UNIX用コマンドライン版の最新版としてはPGP 6.5.8がバイナリ/ソースコードともに 無料で公開されている. これらの無料公開版は非商用という条件下で無料で利用できる. 無料版の詳しい利用条件はLISENCEファイルに入っているPGP Network Associates Freeware End User License Agreementに記述されている.

GNU Pairvacy Guard

OpenPGPを実装したGnuPG(GNU Privacy Guard)は, German Unix Users Group (GUUG)のメンバーである Werner Kochによって開発された.Version 0.0.0は1997年12月にリリースされ ,2001年現在の最新版はVersion 1.0.6である. 特徴として,商用非商用を問わず GNU Public Licenseに従って 自由に改良再配布ができることが挙げられる. また特許で制限されたアルゴリズムを全く使っていないために, 特許上の利用制限もないという特徴を持っている. たとえば当初はRSA暗号は特許制限があるために標準パッケージには含まれなかったが, 2000年9月のRSAアルゴリズムのPublic domain化にともない, バージョン1.0.4からはRSAが標準で使えるようになった.

メールの暗号化だけではないOpenPGP

PGP/GnuPGは,一言で説明すれば汎用のデータ暗号ツールである.公開鍵暗号, 共有鍵暗号,電子署名などの基本的な機能をもち,広域ネットワーク上での鍵 交換を容易にするために鍵サーバへネットワーク経由でアクセスする機能など の周辺機能を持つ. 「PGPはメールのセキュリティを高めるツールである」と説 明する文を多く見受けるが,これはOpenPGPの機能の一面を示しているに過ぎ ない. (ただしインターネットを利用するユーザが最も多く利用するサービスは メールであるので,結果的にOpenPGPが多く利用される場面はメールであるこ とは事実である. OpenPGPは出力フォーマットをバイナリもしくはアスキー(Radix-64形式)で出 力できるため,アスキー出力された結果をメールその他のメッセージ に張りつけて アスキー形式のテキストファイルとして送ることはインターネットでは 広く行われてきた.)

本章では,このOpenPGPの広い用途の中でも,特に インターネットの認証基盤としての役割に注目する.

PKIの標準化動向

公開鍵暗号を使ってファイルの署名や検証を行なう仕組みである電子署名は, インターネット社会において重要な役割を担っている. しかしながらインターネット上の公開鍵暗号利用には,「通信したい相手の公開 鍵をどうやって手に入れるか」「公開鍵が本物であるかどうかを誰が確認するの か」という根本的な問題が存在する.そして現在,その問題を解決する 共通鍵のインフラ(Public-Key Infrastructure), すなわちPKIの整備が必要とされる.

PKIの主な機能には以下の3点がある[13].

大規模分散ネットワークであるインターネット上でこれらの機能を実現する インターネットPKIの仕組みは,現在も開発途上である. その中でも活発な活動が進められている プロジェクトとして,X.509とOpenPGPをあげることができる. X.509とOpenPGPの 両者はまったく異なる思想にもとづいたシステムであり,現在のところ相互運用性はない. そしてしばしばX.509とPKIとは同一視されているために, 「PKIとPGPは両極の方式である」[2]と紹介されることもあるが, この表現は正確ではない. 正しくは「PKIを実現する技術標準としてX.509とOpenPGPの標準化活動が 活発に進められており,その両者はまったく異なる考え方に基づいてつくられている」 と言い直すことができる.

本章では,これらの異なるモデルの比較検討という点からPKIを考察する. また,その他のPKIのモデルや今後のPKIの将来像についても報告する.

X.509のPKI

X.509 Public Key Infrastructure

X.509[8]は ITU(国際通信連合)の下部組織である ITU-T(International Telecommunication Union-Telecommunication sector) によって提案された技術標準で,国際標準規格ISO 9594-8としても登録されてい る.

X.509の認証においては,認証局すなわちCA(Certificate Authority)と 呼ばれる発行機関が管理機能を与えられている. CAは電子署名の証明書を利用者に発行する. さらにそれぞれのCAは階層構造をなしており, CA同士が相互認証することによって証明書の連鎖を形成している. CAの機能には登録機能も含まれるが,その機能は登録機関(RA)に委託される場合 もあり,必ずしもCA自らが登録を行なう必要はないとされる.

X.509はOSIのX.500 ディレクトリシステムを前提としたオンライン認証全般に ついての規格だったが, 柔軟な運用を行なうための改訂が行なわれている. X.509v3(Version 3)では,公開鍵証明書に任意の情報を埋め込むための拡張 項目が追加された(表1参照). 後述するインターネット公開鍵インフラストラクチャ おいても,X.509はX.500ディレクトリを前提せずに標準化する議論が進められて いる.

 
表 1: X.509の公開鍵証明書
1. version
2. serialNumber
3. signature
4. issuer
5. validity
6. subject
7. subjectPublicKeyInfo
8. issuerUniqueIdentifier
  (v2またはv3のオプション)
9. subjectUniqueIdentifier
  (v2またはv3のオプション)
10. extensions
   (v3のみのオプション)
 


X.509とインターネット標準化

インターネット技術の標準化を推進するIETFでは,X.509のインターネットでの利 用についても討議が行なわれてきた. 当初,X.509の実装はWWWやメールといったアプリケーションごとに議論されてき たが,今日では総合的なPKIについての議論が進められている.

Netscape社のブラウザに採用され,インターネットで 爆発的に普及したRSA社(RSA Data Security, Inc.)のSSLは, 公開鍵証明書のための規格としてX.509v3に準拠した方式を採用している[11]. RSA社は電子メールにおいても同様のデータフォーマットを S/MIME(Secure/Multipurpose Internet Mail Extensions)として提案した. このS/MIMEはIETFの S/MIME Working Group (http://www.ietf.org/html.charters/smime-charter.html)にて検討され ている.

さらに,インターネットの総合的なPKIとしてX.509を採用する議論が IETFのPublic-Key Infrastructure (X.509) (pkix) Working Group (http://www.ietf.org/html.charters/pkix-charter.html) にて行なわれている.S/MIMEの認証機構はPKIX Working Groupの 作業に基づいて行なわれることになっており,両グループは密接な関係にある.

インターネットでのX.509についてはRFC 2459に, S/MIMEについてはRFC 2311, 2312にて規格化されている. それらはIPA(情報処理振興事業協会)セキュリティセンターにて日本語訳も公開されてい る(http://www.ipa.go.jp/security/pki/pki.html).

OpenPGPのPKI

OpenPGP の Web of Trust

OpenPGPは,X.509で提案されたモデルとは異なる独自のPKIによって 電子署名の認証を行なう. OpenPGPでは公開鍵暗号が本人のものであるかどうかを 末端利用者同士が個人レベルで認証するモデルを採用している. つまり,どの証明書を信頼してどの証明書を排除するかは CAではなく各利用者が責任を負う. このモデルは,PGPのドキュメントで``Web of Trust''(信頼の輪)と表現されて いる.

OpenPGPとインターネット標準化

OpenPGPのインターネットにおける標準化は, IETFのOpenPGP Working Group (http://www.ietf.org/html.charters/openpgp-charter.html) にて推進されている. 2002年までにRFC化されたもので,有効なものは以下のものである.
RFC2440, ``OpenPGP Message Format''
OpenPGPを定めた規格. RFC 1991, ``PGP Message Exchange Formats''はPGPバージョン2を もとに作られた規格だが,RFC 2440はPGPバージョン5以降をもとに して作られた新しい規格である.1998年発行.
2002年1月現在,利用できる暗号アルゴリズムの見直しなどを行なっ た改訂版[5]を策定中である.
RFC3156, ``MIME Security with OpenPGP''
RFC2015, ``MIME Security with Pretty Good Privacy(PGP)''を改訂したもの. 別名OpenPGP/MIMEとも呼ばれる.2001年発行.

X.509とOpenPGPの比較

X.509とOpenPGPの特徴について述べた.

X.509およびとOpenPGPはたとえ同じ暗号アルゴリズムを採用していても, これまでまったく別々に標準化を進めており,相互接続性はない. たとえば,S/MIME準拠の電子署名メールとOpenPGP準拠の電子署名メールとは 別々のアプリケーションによって処理される. これは両者のPKIのモデルが異なっているためである.

相違点

2にPKIとしてのOpenPGPとX.509とを比較する.

 
表 2: X.509とOpenPGPの相違点
特徴   X.509 OpenPGP
PKIの形態: hierarchical PKI trust-file PKI
公開鍵の認証者: 専門機関(CA) 各ユーザ
信頼点: ルートCA 利用者自身(面識)
認証の連鎖構造: ツリー型 ユーザ中心型
認証者を認証する根拠: 利用者による選択 利用者自身
証明書の破棄の管理: あり 不完全
コスト: 高い 低い
 


先にOpenPGPの認証システムを ``Web of Trust''と呼んだが, 別の呼び方としては,利用者がCAに問い合わせず自分で認証を行ない,手元の認 証ファイルを元にして相手を信頼するためにtrust-file PKIとも呼ばれ,それに対して 階層化されたCAによって認証を行なうX.509はhierarchical PKIとも呼ばれる[13].

このために,OpenPGPは通信したい相手の公開鍵をCAから入手するのではなく, 末端利用者が自力で入手しなければならない. これは認証システム構築において問題となる可能性がある. これでは大規模な認証システムの運営には不向きだと言えるかもしれない. しかしながら,PGP/GnuPGPは全世界規模のインターネットコミュニティにおいて 利用されてきた.

たとえば,ニュースグループで配信されるコントロールメッセージへのPGP署名は 1990年代からすでに実用化されている[9]. これは,メッセージを中継する世界各地の無数のニュースサーバが コントロールメッセージ(ニュースグループ管理に関わる特定のメッセージ)への 署名を自動的に検証する仕組みである. ニュースグループへの配信受信には第三者機関の登録は必要なく, ニュースサーバとPGP/GnuPGを導入して コントロールメッセージ用の公開鍵情報を設定すれば誰もがこの電子署名 システムを利用可能である. このシステムが実用化された理由として,ソースコードおよびドキュメントがすべて無 料で公開されている点もあげられる. INN, C News, DNews, ANU Newsといった主要ニュースサーバが 速やかにこの機構を実装できたのも,このオープンソースの利点を生かした ためだと考えられる.

このように見ると,OpenPGPに適しているのは, (ニュースグループのように) 利用に際して第三者機関の登録認証を必要としないシステムであり, 末端同士が随時メッセージを交換し認証を行なうアドホックなシステムである. このようなシステムは,近年peer-to-peerシステムとして注目を集めている[12]. 今後さらなる開発および実用化が見込まれるpeer-to-peerシステムでは, セキュリティやアカウンタビリティを保証するためにOpenPGPの ``Web of Trust''の利用が進むと考えられる.

また,低コストでPKIを構築する場合にもOpenPGPおよび関連するオープンソース ソフトウェアの利用は有効だと考えられる.

それに対して,X.509のPKIは,アドホックな登録/認証作業には適していないが, 継続的つ安定した認証サービスに適している.

OpenPGPの問題

OpenPGPをX.509と比較した際に,末端利用者が通信相手の鍵をどのように 入手し信頼するのかという問題を先に述べた.そしてさらに深刻な問題点も 存在する.それは,公開鍵の失効の処理である. 公開鍵の有効期間中に内容変更・秘密鍵の盗難・紛失・破壊などが生じたために 公開鍵証明書が失効した場合,利用者に通知する必要が生じる. この場合,X.509ではCAがそれぞれの 運営方針に応じて証明書失効リスト(CRL)を作成し連携するCAへと配布する. それに対してOpenPGPでは,利用者自身が破棄証明書を作成し, 各利用者へ配布する.その際の問題点として, 利用者への通知が困難なこと,さらに利用者自身が秘密鍵を紛失した際には 破棄証明書すら作成できなくなる. したがって,今後OpenPGPは通知システム関連の改善が必要とされる. (この問題について鍵サーバが果たす役割については後で述べる.)

今後の展望

X.509/OpenPGPの実用化が進んでいるが,両者のモデルは 本質的に異なり,それぞれの特性に適した用途が考えられる. すなわち,両者は相互排除の関係にあるのではなく,併存可能である. 今後は,必要とされる状況に応じて 双方の利点を生かしたインターネットPKIの構築を目指すべきである.

SPKI

X.509やOpenPGPの他に注目される インターネットPKIの標準化動向としては, SPKI(Simple Public Key Infrastructure)がある. SPKIは,IETF SPKI Working Group (http://www.ietf.org/html.charters/spki-charter.html)において 標準化作業が行なわれており,現在は 検討段階を終えて実装と相互運用性実験の段階に入っている.

SPKI Working Groupでの議論はRivestとLampsonによるSDSI(Simple Distributed Security Infrastructure)の研究(http://theory.lcs.mit.edu/~cis/sdsi.html)をベースとしている. このため,研究分野ではSPKI/SDSIと呼ばれる場合が多い. 技術標準としては, 1999年に出されたRFC 2692[7]において背景の概念が述べられ, RFC 2693では証明書フォーマットや実装に必要な処理規則が規定されている.

現在のところ,SPKIはX.509やOpenPGPのようには普及していないため, 今後の普及の見通しの見込みは立っていない[1].

最後に,X.509, OpenPGP, SPKI/SDSIの技術的な比較を表3に示す.

 
表 3: 技術的な観点からのX.509, OpenPGP, SPKI/SDSIの比較.Clarke[6]の表を参考にした.
X.509 ネームスペース: グローバル
証明タイプ 本人性の証明
識別名と鍵との結合: 単一値関数: グローバルな識別名はそれぞれ唯一の
鍵ペアと一対一対応している.
(ユーザはただひとつの公開鍵秘密鍵ペアを持っていると仮定する)
CA の特徴: グローバルな階層.コマーシャルのX.509 CAも存在する
X.509のコミュニティはトップダウンによって構築される.
信用モデル: 階層型の信用モデル.信用は「信用できる」CAがつくる.
電子署名: それぞれの証明書は証明書発行者によって電子署名されている.
証明書の失効: CAがCRL(Certificate Revocation List)を配布する.
PGP ネームスペース: グローバル
認証タイプ: 本人性の認証
識別名と鍵との結合: 単一値関数: グローバルな識別名はそれぞれ唯一の
鍵ペアと一対一対応している.
(ユーザはただひとつの公開鍵秘密鍵ペアを持っていると仮定する)
CA の特徴: 平等主義的なデザイン.それぞれの鍵で証明書を発行できる.
PGPのコミュニティは分散構造のボトムアップによって構築され
る.
信用モデル: Web of Trust(信用の輪)
電子署名: それぞれの証明書は複数の署名を含むことができる.最初の 署名は
証明書発行者による署名である.
証明書の失効 利用者が破棄証明書をPGP公開鍵サーバに登録することで,
無効になった公開鍵を手元に持っている相手に配布する.
SPKI/ ネームスペース: ローカル
 SDSI 証明タイプ: 本人性の証明または認証の証明
識別名と鍵との結合: 多値関数: ローカルな名前はゼロ,1,それ以上の鍵と結合される.
(ユーザはただひとつの公開鍵秘密鍵ペアを持っていると仮定する)
CAの特徴: 平等主義的なデザイン.それぞれの鍵は証明書を発行できる.
SPKI/SDSIのコミュニティは分散構造のボトムアップによって構
築される.
信用モデル: chain of authorizationの提供
グループを定義し認証を委任するためにインフラストラクチャは
明快でスケーラブルなモデルを持つ.
電子署名: それぞれの証明書は証明書の発行者による署名を一つ含んでい る.
証明書の失効: 短い有効期限と生存証明書を用いる
 


OpenPGPの今後の展望と鍵サーバの意義

OpenPGPの問題点として,「通信したい相手の公開鍵をどうやって手にいれるか」 そして「公開鍵の破棄証明をどうやって通知するか」という 鍵情報の入手の問題を挙げた. この問題に対して有効だと考えられるのがインターネット上のOpenPGP公開鍵サー バである. この鍵サーバは OpenPGP標準化以前の PGPバージョン2の頃から運用されており, 現在も世界各地の鍵サーバが分散データベースを構築している. 鍵サーバは電子メールやWWW経由で利用可能であり, 自由に公開鍵の登録を行ない,さらには メールアドレス,ニックネーム,鍵IDで公開鍵を検索できる. さらに,公開鍵の破棄証明を送れば登録されている公開鍵に 破棄証明が加えられる.

利用者個人が認証に責任を持つOpenPGPのPKIは, 鍵サーバの機能を組み合わせることによってさらに 有効なPKIとなると言える.

本章のまとめ

本章では,PKIの視点からX.509およびOpenPGPを とりあげ,両者が異なるモデルの実現を目指していること,および 両者の特長を示した.また,それ以外のPKIの提案として SPKI/SDSIについても紹介した. PKIには唯一のモデルは存在しない.したがって PKIを構築するにあたってどのモデルを採用するのかという視点が必要となる.

PKIとしてのOpenPGPは,認証局及び登録機関を介することなくpeer-to-peerの認証を 行なえるという特長がある.しかしながら, 「通信したい相手の公開鍵をどうやって手にいれるか」 そして「公開鍵の破棄証明をどうやって通知するか」という点が不十分である. この問題点への取り組みとして,鍵サーバの役割をあげた.

備考: ドイツ政府のGnuPGへの取り組み

1999年以降,ドイツ政府はGnuPGプロジェクトを支援し,政府機関に採用する 動きを見せている. まず1999年11月に ドイツの連邦経済技術省(BMWi, Bundesministerium fur Wirtschaft und Technologie)がGnuPGプロジェクトに318,000マルク(およそ17万USドル)の 資金援助を行なうことを発表した[3,14]. このプロジェクトリーダーはドイツ在住のWerner Kochである (GnuPGは世界各地から開発者が参加しているが,プロジェクトリーダーは Werner Kochが担当している).

GnuPGの初期バージョンのリリースと前後してドイツ政府は ソースコードを公開にすることでシステムの安全性を確保するために, 暗号の配布/輸出に対して制限を設けない方針を発表しているが, GnuPGの支援はその延長として考えられる.

さらに,GnuPGおよびソースコード公開の暗号システムを政府の 情報基盤として位置づける方針も打ち出されている. 2001年10月1日に,ドイツ内務省の情報技術保安局(BSI, Bundesamt fur Sicherheit in der Informationstechnik)[10]は政府標準メーラ Sphinx(スフィンクス)プロジェクトを発表した.このSphinxメーラの仕様には X.509v3に準拠したS/MIMEの実装が含まれているが, 注目されるのはこの計画に採用されたAgypten(エジプテン)プロジェクトで ある.

Agyptenプロジェクトでは,Sphinxメーラをフリーソフトウェアで作成し, その成果をGNU Public Licenseのもとに公開することが計画されている. そして,さらに注目すべきことに, GnuPGのWerner Kochも参画しているこのプロジェクトは Sphinxの仕様にOpenPGPを追加し,S/MIMEとOpenPGPの両者 を併存させる予定である(http://www.gnupg.org/aegypten/).

このように,政府向けPKIとソースコード公開の重要性,そして OpenPGPの関わりを考える上でドイツ政府は斬新な試みを行なって おり,2002年に予定されているSphinxメーラの発表が注目される.

参考文献

1
Carlisle Adams and Steve Lloyd.
Understanding Public-Key Infrastructure: Concepts, Standards, and Deployment Considerations.
Macmillan Technical Publishing, 1999.
邦訳『PKI: 公開鍵インフラストラクチャの概念、標準、 展開』(ピアソン・エデュケーション, 2000.7).

2
青木隆一, 稲田龍.
PKIと電子社会のセキュリティ.
共立出版, October 2001.

3
BMWi.
Press release on the promotion of ``Open Source and IT-Securit Enhancement and Marketing of the GNU Privacy Guards (GnuPG) project''.
Sicherheit im Internet, November 22 1999.
Online press release in English, available at http://www.sicherheit-im-internet.de/themes/themes.phtml?ttid=20&tsid=196&tdid=337.

4
Jon Callas, Lutz Donnerhacke, Hal Finney, and Rodney Thayer.
OpenPGP Message Format.
Request For Comments, November 1998.
RFC 2440 (Category: Standards Track) replaces RFC 1991, ``PGP Message Exchange Formats''.

5
Jon Callas, Lutz Donnerhacke, Hal Finney, and Rodney Thayer.
OpenPGP Message Format.
Internet Draft, August 2001.
draft-ietf-openpgp-rfc2440bis-03.txt. Revision of RFC 2440[4]. http://www.ietf.org/internet-drafts/draft-ietf-openpgp-rfc2440bis-03.t xt.

6
Dwaine E. Clarke.
SPKI/SDSI HTTP Server / Certificate Chain Discovery in SPKI/SDSI.
Master's thesis, Department of Electrical Engineering and Computer Science at Massachusetts Institute of Technology, September 2001.
http://theory.lcs.mit.edu/~cis/theses/clarke-master s.pdf.

7
Carl M. Ellison, Bill Frantz, Butler Lampson, Ron Rivest, Brian Thomas, and Tatu Ylonen.
SPKI Certificate Theory.
Request For Comments, September 1999.
RFC 2693 (Status: Experimental).

8
International Telecommunications Union-Telecommunication Standardization Sector (formerly ``CCITT'').
Recommendation X.509, ``Information Technology-Open Systems Interconnection-The Directory: Authentication Framework''.
(Equivalent to ISO 9594-8.), June 1997.

9
David C Lawrence.
Authentication of Usenet Group Changes.
Online document, 1999.
ftp://ftp.isc.org/pub/pgpcontrol/README.html.

10
KMail and mutt as Sphinx-clients for German authorities.
NewsForge, October 05 2001.
Online article available at http://www.newsforge.com/article.pl?sid=01/10/05/162238.

11
Magnus Nystrom and Burt Kaliski.
PKCS #10: Certification Request Syntax Version 1.7.
Request For Comments, November 2000.
RFC 2986 (Status: Informational).

12
Andy Oram, editor.
Peer-to-Peer: Harnessing the Power of Disruptive Technologies.
O'Reilly & Associates, March 2001.

Some chapter is available at http://www.oreilly.com/catalog/peertopeer/.

13
Robert W. Shirey.
Internet Security Glossary.
Request For Comments, May 2000.
RFC 2828 (Also FYI 36) (Status: Informational).

14
Peter Wayner.
Germany awards grant for encryption.
New York Times, November 19 1999.
Also available at http://www.nytimes.com/library/tech/99/11/cyber/articles/19encrypt.html.



Copyright2002 Shinji Yamane and Yuko Murayama.




本ドキュメントは、GNU Free Documentation License 1.1(GNU フリー文書 利用許諾契約書)の条件下で自由に利用可能である。 詳細については http://www.gnu.org/copyleft/fdl.html から入手可能である.


YAMANE Shinji
平成14年2月13日