WebサーバからダウンロードしたJavaクラスは、サンドボックスというセキュリティ機構の管理下に置かれ、ファイルアクセスなどのローカルコンピュータの資源へのアクセスが制限されます。
しかし、署名(権限)を施されたJavaクラスは、このサンドボックスの管理下に置かれないため、ローカルコンピュータ資源へのアクセスが可能となります。
プレインストール型Javaライブラリは、ローカル資源へアクセス(ダイナミックライブラリのロードやファイルへのアクセス)を内部的に行うため、プレインストール型JavaライブラリのAPIを呼び出しているクラスに署名を行うことが必要です。
また、権限はJDK/JRE1.2以降で導入されたセキュリティ機構です。
以前のJDK/JRE1.1では、デジタル署名を施したJavaクラスはサンドボックスの管理下に置かれないため、すべてのローカル資源へのアクセスが可能でした。これは、ファイルアクセスだけを許可するなどの詳細な設定が不可能であることを意味します。
この問題を解決するため、JDK/JRE1.2以降ではセキュリティポリシという定義ができます。セキュリティポリシとは、実行するコードが実行可能であるか、またはアクセス可能なファイルのパスの制限を定義するものです。Javaクラスは、実行される前にセキュリティポリシに基づき、どのように実行するか、どこまでローカル資源のアクセスが可能であるかを確認します。
JDK/JRE1.2以降のセキュリティ機構のイメージ図を以下に示します。
JDK/JRE1.1のセキュリティ機構のイメージ図を以下に示します。