コードの安全性は、開発者やインターネット アプリケーションのユーザーにとって大きな問題です。 悪意のあるコード、改ざんされたコード、不明なサイトや作成者からのコードなど、リスクがあります。
インターネット用に開発する場合、セキュリティには 2 つの基本的な方法があります。 1 つ目は "サンドボックス" と呼ばれます。この方法では、アプリケーションは特定の API セットに制限され、プログラムがユーザーのコンピューター上のデータを破棄する可能性があるファイル I/O などの潜在的に危険なものから除外されます。 2 つ目は、デジタル署名を使用して実装されます。 このアプローチは、インターネットにおける「シュリンクラップ」と呼ばれます。 秘密キー/公開キー テクノロジを使用してコードが検証され、署名されます。 コードを実行する前に、そのデジタル署名が検証され、コードが既知の認証済みソースからのものであり、署名されてからコードが変更されていないことが確認されます。
最初のケースでは、アプリケーションが害を及ぼさないことを信頼し、アプリケーションの発生元を信頼します。 2 つ目は、デジタル署名を使用して信頼性を検証します。 デジタル署名は、コードの発行元に関する詳細を識別して提供するために使用される業界標準です。 そのテクノロジは、RSA や X.509 を含む標準に基づいています。 通常、ブラウザーを使用すると、ユーザーは不明な配信元のコードをダウンロードして実行するかどうかを選択できます。