2011-06-23 160 views
0

使用Java小應用程序作爲Web應用程序的一部分進行身份驗證的優點和缺點是什麼?我想到的情況是,這種小程序僅用於身份驗證和交易簽名的目的,而不是在Web應用程序中使用。Web應用程序的Java小應用程序的優點

+0

使用applet進行認證和簽名會有什麼意義?安全劇場? –

+0

大多數服務器都具有內置的SPNEGO支持,因此您不必編碼類似applet的內容來執行身份驗證。 –

+0

您是否需要在認證過程中使用任何物理設備?如硬盤,閃存卡,智能卡,eToken,iKey等?在這種情況下,您必須**使用小程序。 – MockerTim

回答

3

作爲一種最佳實踐,小應用程序應該只在服務器的身份驗證環境中增強其功能。服務器應該重新驗證applet(客戶端)發送的內容,因爲該消息可能在傳輸過程中被修改。

然而,有時候一個applet可以用於有效的目的。例如,由客戶端發送的消息可以由小應用程序進行數字簽名,並且密鑰在每個用戶的USB驅動器(包含私鑰)中進行管理。在這種情況下,除了訪問USB存儲器之外,小程序還可用作訪問Java中的JCA庫的機制。收到消息後,生成的簽名必須由服務器重新驗證。

當正確實施時,像任何客戶端安全方案的小程序都會增加應用程序的安全狀態。

如果執行不正確,會導致服務器依賴客戶端提供可信輸入的安全影院。另外,如果需要執行特權操作(例如包含私鑰的訪問驅動器),則必須對小程序進行簽名;並且必須保持適當的Java安全策略文件。 Java安全模型管理過程中的任何錯誤都會明顯降低系統的安全性。另外,如果必須訪問像MSCAPI這樣的本地操作系統特定的API,則本地代碼(DLL)的部署是必要的,並且負責這樣做的軟件(而不是小程序)必須被安全地編碼。

0

缺點:

  • 客戶端JVM的管理。
  • 會話/代理協調管理。
  • 陳舊的技術。

優點:

  • 單一語言技能?
  • ...?

恕我直言,如果你不需要像強大的GUI支持或Java2D(其中大部分可以用JQuery,ExtJS等完成)的東西,那麼applet就沒有真正的參數。