2015-04-06 52 views
2

我正在構建一個使用RSA非對稱密鑰加密的應用程序。我的OSX應用程序應該如何存儲用戶的私鑰?

公鑰發送到我們的API,但私鑰需要安全地存儲在用戶的計算機上。

一個選項將遵循與SSH相同的模式並將密鑰存儲在磁盤上(權限被鎖定爲0600/rw----)。

這是否適合OSX鑰匙串? 如果是這樣,你將如何存儲密鑰?我見過的C API的大多數Cocoa包裝都是以密碼爲中心的。

回答

1

登錄鑰匙扣套裝以及爲您的應用程序,至少有以下原因:
1.它是基於用戶 - 每個用戶都有自己的登錄鑰匙串
2.它不被其他用戶訪問
3它使用從您的帳戶密碼生成的密鑰進行加密

文件系統方法具有上述#1和#2的好處,但它沒有#3,因此鑰匙串就是要走的路。關於密鑰,我建議將私鑰保存在密鑰鏈中,公共密鑰保存在用戶的默認密鑰中(安全性較低,但無論如何,您將分發該密鑰)。

更多鑰匙扣:
- https://security.stackexchange.com/questions/756/how-secure-is-keychain-on-os-x
- https://apple.stackexchange.com/questions/53579/how-is-the-system-keychain-secured-in-os-x(這更多更多系統鑰匙串,不登錄一個)

相關問題