Subject: PGP.NIC.AD.JP上でのPGP Public Key Server. Author: 鈴木裕信 SUZUKI HIRONOBU Title: ソフトウェア・コンサルタント E-Mail: hironobu@h2np.suginami.tokyo.jp Date: 1999/Jan/24 1. はじめに 本文章は、pgp.nic.ad.jp上で稼働しているPGP Public Key Serverの現状を 説明するものである。 1.1 PGPとは PGPはPhilip Zimmermann が作成した暗号化/電子署名が行える汎用の暗号ツー ルである。暗号機能として、公開鍵暗号、慣用暗号の両方の機能を用意してい る。 PGPは、インターネット上で安全な情報交換を行うツールとして用いられ、事 実上の標準になっている。 現在は、ネットワークアソシエイツ社(旧PGP Inc. 社)から商用の製品として出荷されていると同時に、そのソースコードが公開 されフリーソフトウェアとして使用可能である。 http://www.pgpi.com http://www.nai.com http://pgp.nic.ad.jp 現在はPGPの仕様をRFC化するためIETFの分科会で活動が行なわれている。そ こでは、OpenPGPと呼ばれる名称に変更され細かい仕様の規格化作業が行なわ れている。OpenPGPのdraft仕様を元にGNU版PGPであるGPGが開発されている。 今後、OpenPGPがRFCとして正式に仕様が決まればさらにインプリメンターが増 えることと思われる。 1.2 PGP Public Key Serverとは PGP Public Key Server ( 以降 公開鍵サーバとよぶ )とは、PGPの公開鍵を ユーザ間で交換するためのサーバーである。 公開鍵サーバはユーザが公開鍵を交換する中継点として利用することを目的 としており、その公開鍵が本当に正しい公開鍵なのかを保証しているわけでは ない。公開鍵をプールしているだけである。 公開鍵サーバは、世界各地でボランティアによって運営されている。現在 20~30サイト程度と考えられる。公開鍵サーバは、同期メカニズムを持ってお り世界各地に散らばる公開鍵サーバは、各々が同期している。従って、ユーザ は世界中のどこかの公開鍵サーバに登録されれば、自動的に世界中のすべての 公開鍵サーバに反映される。 1.2.1 世界各地の公開鍵サーバ 公開鍵サーバを運用するグループの枠組は大きくわけて3程度に分類される。 * 中心的役割を果たすグループ * 補間的に支えるグループ * その他のグループ 中心的役割を果たすグループのメンバーは世界に3つある。NAIが管理してい る商用PGPのデフォルトキーサーバ。オランダのSurfnetが管理している国際版 フリーPGP版のデフォルトキーサーバー。アメリカのMITが管理している米国版 フリーPGP版のデフォルトキーサーバーである。この3つが各々が同期する形で 中心(コア)となっている。 補間的に支えるグループのメンバーは4〜5サイト程度ある。これは、中心グ ループに対し補間的役割を果たし、他の鍵サーバーへの中継や、リージョナル な範囲での登録/検索など負荷分散の役割を果たしている。ここに含まれるで あろうサイトとして、米国ジョージア大学が管理しているサイト、ドイツ DEF/PCAが管理しているサイト、スイス ETH Zurichが管理しているサイトなど などが上げられる。pgp.nic.ad.jpはこのグループに入る。 その他のグループは、末端的役割を果たす公開鍵サーバで、大学内や極めて ローカルな範囲を守備に持つ。しかし、必ずしも資源に余裕があるわけではな いので、その運用は極めて不安定である。これらは約15~20程度ある。 NAIの公開鍵サーバ以外は、すべてボランディアという立場であり、サイトに より割ける資源も、管理者の立場も各々異なる。 1.3 公開鍵サーバの意義 PGPは、一般の利用者が自分のプライバシを保護するために使われることを設 計思想においた暗号システムである。インターネット上でのプライバシ保護は、 インターネットユーザすべてに対し利用できる形でなければいけない。また、 同時に企業による支配や、あるいは特定オーソリティーが利用を制限するよう なことがあってはいけない。 この考え方に立った上で、公開鍵を交換するための広域インフラの必要性を 考える必要がある。このインフラを実現するのが、現在の公開鍵サーバである。 もちろん公開鍵サーバは、誰でもが自由にアクセスできる必要があるし、また、 自由にアクセスできている。 1.3.1 pgp.nic.ad.jpでの意義 pgp.nic.ad.jpは、1994年4月11日にext221.sra.co.jp上で公開された公開鍵サー バの流れを汲んでいる。ext221.sra.co.jpのサーバが稼働を開始した時は、ま だ、世界で4、5サイトしか公開鍵サーバが存在していなかった時である。 運用実績および提供している資源から見るとpgp.nic.ad.jpは中堅と言える。 ただしjpアドレスを持つユーザの鍵登録数を見ると、全世界の鍵登録全体の 1% ~ 2%であり、利用者は明らかに少ない。また、pgp.nic.ad.jpへの日々のア クセス数を見ても登録で10~50程度、検索で100~300程度なので、全世界規模で 見た場合、アクセスの負荷分散という意味では意義が小さい。 pgp.nic.ad.jpの最大の意義は、鍵サーバ間での鍵同期を行なうための中継サ イトとして冗長性を持たせる役割である。途中でいくつかのサイトが停止した 場合でも鍵が公開鍵サーバに到達するようなメカニズムを持っている。鍵同期 のリンク網を見た場合、アジア圏内にpgp.nic.ad.jpがあることによって、全 体の健全性を保持させることができている。 1.4 稼働実績 1.4.1 登録者数と鍵ファイルサイズ pgp.nic.ad.jp上の公開鍵に関する統計情報は昨年末(1998年末)で以下の通り。 登録公開鍵数: 約42万 鍵データベースファイルサイズ: 約1.7Gバイト 鍵ダンプファイルサイズ: 約450Mバイト 同期サイト数: 5サイト 鍵同期回数: 約1000 ~ 4000回 ( 1日平均 ) Web経由検索数: 約50 ~ 100回 ( 同上 ) Web経由登録数: 約5~10回 ( 同上 ) HKP経由検索/登録: 約5~10回 ( 同上 ) 日々の稼働状況は以下のページから参照できる。 http://pgp.nic.ad.jp/notsupported/index.html 1.5 問題点 1.5.1 激増する登録公開鍵数 全世界で登録される公開鍵数が激増している。そのため、データベースとし て大量のトランザクションをこなすハードウェアが必要となっている。また大 量のデータのバックアップ等、その分の資源も手間も必要となる。 筆者の管理する公開鍵サーバでは、1997年12月(ICAT時代)に保持していた公 開鍵数は6万個以下であった。97年当時は、一日平均のトランザクション量は 数十から数百である。管理する鍵数で7倍、トランザクション量で10倍になっ た。 97年12月で、最大のサイトであるMITの鍵数でさえ約24万個であった。それか ら1年を経過した現在、pgp.nic.ad.jpの保持する鍵数でさえ、その倍になって いる。 (注) pgp.nic.ad.jpの現在の公開鍵保持数は、最大級のMITが 保持している公開鍵の約9割程度になっている。 1.5.2 公開鍵サーバソフトのメンテナンス 現在、公開鍵サーバソフトは3種類ある。 1) NAI社の PGP Certificate Server NAIが販売と同時にソースコード公開のフリーソフトとして公開 2) Highware社のOpenKeyserver 販売と同時にバイナリをフリーソフトとして公開 3) Marc Horowitz のpks-0.9.3 GPLライセンスのコードとして公開 PGP Certificate Serverを使っているサイトもあるが、殆どがpks-0.9.3を利 用している。理由はGPLライセンスであること、つまり企業の意向に左右され ず自由に利用できるということである。OpenKeyserverは、最近出て来たばか りであり、利用しているサイトはまだ見当たらない。 ただし、pks-0.9.3にも問題がある。基本設計が登録数でいって数万〜十万程 度を想定しているのである。現在のように、数十万単位の鍵を扱うと、細部に 破綻が出て来る。例えば、一度バックアップした公開鍵を使ってイニシャライ ズしようとすると、数日かかってしまうといったことや、あるいは、1つのデー タベースファイルが2Gを越えるため32ビットマシンでは扱えなくなってしまう といったことが挙げられる。 最大ファイルサイズの問題の修正は、筆者が解決し、そのコードは管理者コ ミュニティに公開している。当面の問題は回避されたが、今後、メンテナンス をどうしていくのかが管理者コミュニティ全体の課題として残っている。 ==== 以上