Rsa

javascript RSA簽名安全嗎?

  • October 28, 2016

我目前正在開發一個安全的開源消息傳遞系統(https://github.com/DSMNET/DSMNET)。我目前正在使用 cryptico.js ( https://github.com/wwwtyro/cryptico ) 庫來加密所有發送的消息。

現在要對使用者進行身份驗證,我的伺服器將發送一個隨機字元串,客戶端將加密該字元串並對其進行簽名。伺服器將檢查簽名是否與為使用者儲存的公鑰匹配。使用者將使用他們的密碼生成他們的公鑰和私鑰。

我想知道使用 Javascript RSA 和使用 RSA 簽名進行身份驗證是否安全,或者人們可以偽造 RSA 簽名。

如果你實現得很好,並且沒有 MITM(即使用經過身份驗證的通信通道),那麼很難偽造 RSA 簽名(這意味著你可以安全地使用它們)。

但是,在您的實施中,您還需要考慮另外兩個主要因素:

  1. 一個是使用 Javascript 作為編碼媒介:由於一些明顯的暴露給對手,許多人認為 Javascript 是一種用於編寫安全程式碼的糟糕語言。我個人並不在那個陣營——如果你好好保護你執行 JS 程式碼的環境,你會沒事的。

此外,讓使用者的瀏覽器完成工作也有一些優勢(Java 有自己的一套實現/管理問題),這可能是一個謹慎的選擇。 2. 第二點很重要:您選擇了“cryptico”引擎,我們不知道編寫和修改程式碼的人表現如何。

他修改了那裡的一些關鍵安全程序,這應該為它的使用敲響一個紅色的大警鐘。如果您打算將它用於任何重要的事情,您需要在使用前通過關鍵的安全/加密審查來傳遞已發布的程式碼。

引用自:https://crypto.stackexchange.com/questions/10200