2011-06-23 17 views
0

Webアプリケーションの一部として認証にJavaアプレットを使用するメリットとデメリットは何ですか?私はそのようなアプレットが認証とトランザクション署名目的でのみ使用され、それ以外の場合はWebアプリケーションでは使用されないケースを考えます。WebアプリケーションのJavaアプレットのメリット

+0

認証と署名にアプレットを使用する点は何でしょうか?セキュリティシアター? –

+0

ほとんどのサーバーにはSPNEGOが組み込まれているため、認証を行うにはアプレットのようなコードを作成する必要はありません。 –

+0

認証の際にフィジカルデバイスを使用する必要がありますか。ハードドライブ、フラッシュカード、スマートカード、eToken、iKeyなど?その場合、**アプレットを使用する必要があります。 – MockerTim

答えて

3

アプレットは、認証のコンテキストでのみサーバーの機能を強化することをお勧めします。サーバーは、メッセージが転送中に変更された可能性があるため、アプレット(クライアント)によって送信された内容を再確認する必要があります。

ただし、アプレットが有効な目的を果たすことがあります。例えば、クライアントによって送信されたメッセージは、アプレットによってデジタル署名され、キーはユーザごとのUSBドライブ(秘密鍵を含む)で管理される。このような状況では、アプレットは、USBストアへのアクセスとは別に、JavaのJCAライブラリにアクセスするためのメカニズムとして機能します。生成された署名は、メッセージの受信時にサーバによって再検証されなければならない。

正しく実装されていると、クライアント側のセキュリティスキームのようなアプレットは、アプリケーションのセキュリティの状態を向上させます。

正しく実装されていないと、サーバーが信頼できる入力を提供するためにクライアントに依存するセキュリティ・シアターになります。また、プライベートキーを含むアクセスドライブなどの特権操作を実行する必要がある場合は、アプレットに署名する必要があります。適切なJavaセキュリティーポリシーファイルを維持する必要があります。 Javaセキュリティモデルの管理プロセスにエラーが発生すると、明らかにシステムのセキュリティが低下します。また、MSCAPIなどのネイティブOS固有のAPIにアクセスする必要がある場合は、ネイティブコード(DLL)のデプロイメントが前提条件となり、その責任を担うソフトウェア(アプレットではない)を安全にコーディングする必要があります。

0

短所:

  • クライアントJVM管理。
  • セッション/プロキシコーディネーション管理。
  • 古い技術。

利点:

  • シングル言語スキル?
  • ...?

IMHO強力なGUIサポートやJava2D(ほとんどの場合JQuery、ExtJSなどで行うことができます)が不要な場合は、アプレットの実際の引数はありません。

関連する問題