4

我正在收集信息以實現證書身份驗證方案,該系統要求移動設備客戶端使用證書進行身份驗證,然後才能授予對系統使用的服務的訪問權限。我正在尋找可能的解決方案,以允許我向系統的可信用戶頒發唯一證書,以便除了其他登錄憑證之外,還可以將其用於移動設備。唯一證書身份驗證和REST服務

具體來說,WCF REST服務將由客戶端設備上的移動應用程序(例如Android應用程序)使用,並且需要檢查客戶端是否具有正確的證書並且具有有效的用戶憑證由用戶提供。而且,這種情況下的安全性是關鍵和高度關切的。

在剛剛描述的情況下,我的問題是否可以實現唯一的證書認證並高度重視安全性?如果不是,那麼有什麼不同的選擇或者達到這個目標的最好方法?

此外,對於用於PIV/CAC卡的單獨頒發的證書,是否有辦法利用這些證書使用移動設備進行身份驗證?

回答

1

這種安全性一直是一個難以解決的問題。這種性質的主要方法之一是使用diffie hellman密鑰交換來首先建立一個關鍵系統。每個用戶都擁有自己的唯一密鑰,只有初始握手纔是流程密集型的。然後,此時您可以運行任意數量的加密算法,以便每次驗證時驗證密鑰。

所以,這就引出瞭如何建立重點擺在首位,你把它和什麼獨特的信息,你可以用它來創建在移動客戶端一鍵之前的問題。這導致我們走下了一條灰色的道路,因爲有許多不同的方式來做到這一點,都有自己的考慮。例如,您可以使用Android操作系統的本機架構來獲取手機的唯一ID或用戶Google Play帳戶ID,以便在原始密鑰中用作散列。但是請記住,diffie hellman是匿名的,因此您需要一種方法在您與密鑰交換密鑰之前首先對用戶進行身份驗證。之後,儘管您可以使用已簽名的請求。

基本上,這是一個需要深思熟慮的安全領域,需要利用給定的資源並知道您在移動平臺上,您需要保持CPU週期較低,這意味着不需要密集的算法。上述方法只是您可以實現的一種解決方案。

另外,如果你開發的Android應用程序,這種認證可以很容易地通過推動應用程序界面完成。你基本上可以將一個證書推送給應用程序,它可以調用或撤銷訪問,所以這應該是最簡單的路線。如果你想在Symbian操作系統上使用它,那麼你將不得不像上面所描述的那樣做更多的工作。此外,由於你基本上是要求一個登錄,而不是完全加密的密鑰簽名系統的開銷應該不會太困難,但有可能成爲棘手的實現跨平臺。

希望給你一個起點,進一步研究和想法。