質問

インターネット上で署名されたjarをホストする場合のセキュリティ上の意味は何ですか?

jarの署名を理解しているので、ユーザーが証明書の自動承認を選択すると、署名されたjarがドメインから来たか、別のドメインからリンクされているか、別のドメインでホストされているかは関係ありません。たとえば、Sunはこのメソッドを使用して、ドライバーにリンクする(ホストされた)署名済みjarを提供することにより、アプレットにOpenGLサポートを提供します。それで、私が利用可能にするJavaコードの開発者および証明書署名者として行うべき注意事項はありますか?

役に立ちましたか?

解決

コンテキストに応じて、セキュリティマネージャと関連するセキュリティポリシーに依存して正しいことを行います。通常、独自のクラスローダーマジックを実行しているのでなければ、特別なことをする必要はありません。セキュリティポリシーを制御できる場合(アプレットではなくJavaアプリケーションなど)、特定の他のコードに対してのみjarを呼び出すためのアクセス許可を付与できます。コードを区別するためにコードベースに依存している場合は、https URLの方が適しています。また、アクセスの発信元/アクセス先がわかっている場合、Webサーバー上のjarへのアクセスを制限しても問題はありませんが、おそらくそれ以上の問題があります。

ただし、APIの呼び出し元はコードではなく、悪意がある可能性があることに常に留意してください。そのため、脅威のモデリングでは、悪意のあるユーザーがコードが公開するAPIによって提供される機能に何らかの方法でアクセスした場合に、悪意のあるユーザーが何ができるかを考える必要があります。セキュリティマネージャは、この種のことを防ぐために呼び出しスタックをチェックすることになっています。ただし、たとえば、署名済みのjarにLaunchMissiles()メソッドがある場合は、とにかく確実かどうかをユーザーに尋ねることができます。また、ユーザーを認証することもできます。

また、特に証明書やURLなどを参照している場合、セキュリティ警告の右ボタンをクリックするためにユーザーに依存する必要はありません-ほとんどのユーザーは2つのカテゴリのいずれかに分類されます。理解できません。また、理解できないために警告で[キャンセル]をクリックした人もいます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top