簡體   English   中英

Windows上智能卡的java密鑰庫和密碼安全性

[英]java keystore and password security for smartcard on windows

http://docs.oracle.com/javase/6/docs/api/java/security/KeyStore.html

在下面的代碼中,java應用程序向用戶請求密碼:

KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());

// get user password and file input stream
char[] password = getPassword();
java.io.FileInputStream fis =
    new java.io.FileInputStream("keyStoreName");
ks.load(fis, password);
fis.close();

這是否意味着應用程序可以獲得我的數字證書密碼,即使它是在智能卡上並可能用於其他東西?

是的,具有足夠權限的另一個應用程序可以從內存中讀取密碼的內容,或者在輸入鍵盤時隱藏密碼。

代碼示例顯示存儲為char數組的密碼,這是推薦的做法。 使用密碼后,這些數組可以重置為不同的值,這與不可變的String不同。 這可以最小化攻擊窗口,但不會將其刪除。

多家智能卡制造商提供外部密碼鍵盤設備,確保密碼直接發送到卡上。 您可以考慮調查其中一種解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM