JavaScript セキュリティの重要用語集


証明書 (Certificate)

証明書 (certificate) は一組の鍵のうちの公開鍵で、鍵の所有者を識別する情報と組み合わされていて、 認証局 (certificate authority) の非公開鍵によって署名されている。認証局の署名は、証明書の公開鍵が所有情報に合致する事を保障する。 証明書はオンラインの ID カードに相当するものだ: これはファイルに署名したり、署名付きファイルの出所を 証明するのに使える。

署名 (Signature)

証明書を使って、開発者はウェブページとそれに関連したコードに署名できる。Netscape の SignTool のような署名プログラムは、 まず署名すべきファイルを圧縮する。このプログラムは、 ユーザーに一意の署名と署名付きファイルを生成するためにユーザーの証明書を使う。この署名は、 JAR ファイルの中のファイルに含まれている。JAR ファイルの中身が署名後に変更されていたら、 ユーザーのブラウザにはそれが分かり、署名は無効となる。

JAR ファイル

JAR (Java Archive から) はデジタル署名、セキュリティ情報、 あるいはファイルやファイル群付属の他のメタデータと関連付けるためのフォーマットだ。これは有名な zip ファイルフォーマットを基にしている。application/java-archive という MIME-type は jar ファイルと関連付けられている。 Mozilla では、JAR ファイルは次のような URL 形式でアクセスされる:

jar:http://www.mozilla.org/projects/security/components/capsapp.jar!/getprefs.html

capsapp.jar のところはアーカイブファイルで、getprefs.html は capsapp.jar の中の 必要なファイルである。

特権 (Privilege)

特権 (「機能」 ("capability") と呼ばれることもある) は、ユーザーのコンピュータへアクセスするという 拡張レベルをスクリプトに提供する特別な識別子である。拡張特権を持ったスクリプトがユーザーのコンピュータに与える、 (悪意のあるまたは偶然の) 潜在的な損害があるので、Mozilla は、拡張特権を求めるスクリプトが 正当な証明書で署名されている事を要求する。署名はスクリプトに起因するエンティティを識別し、 署名後にスクリプトになされたあらゆる変更の証拠を示す。

認証局 (Certificate Authority)

認証局 (CA) は、証明書を作り署名する団体である。 料金は通常用途によって変る。よく電子メールに使われる個人証明書は $19.95/年 ぐらいと低く、 一方開発者証明書は $695/年 あるいはそれ以上に高い。他のサイトは ユーザーが無料で証明書を登録するのを許可している。CA は電子メールやスクリプトに署名するためだけでなく、 SSL サーバーや法律関係の文書のためにも証明書を提供している。

CA をいくつか ( dmoz.org から):

BelSign (P)
AlphaTrust.com (F)
Digital Signature Trust Co (P)
Entrust.net (P)
Equifax Secure (P)
GlobalSign (P)
Inter Clear (P)
Texstar Technologies Inc. (P)
Thawte Digital Certificate Services (F)
The USERTRUST Network (P)
VeriSign (P)

P - 証明書が有料のサイト。F - 無料の証明書が利用できるサイト (通常個人使用のみ) 。