正確的流程應該是這樣:
目標:讓 Server 能確認 Client 身分 + 發給 access token,並用私鑰做後續身份驗證
1. Client 生成公私鑰對
-
Client 裝置內部(或 Secure Element)產生金鑰對
-
私鑰保留在本地(永不離開)
-
公鑰送給 Server 註冊(一次性或定期)
-
Client 裝置內部(或 Secure Element)產生金鑰對
私鑰保留在本地(永不離開)
公鑰送給 Server 註冊(一次性或定期)
當比較 Ed25519 和 RSA-1024,特別是從「安全性」的角度來看,Ed25519 在幾乎所有方面都明顯優於 RSA-1024。下面是詳細的比較分析:
| 項目 | Ed25519 | RSA-1024 |
|---|---|---|
| 對應安全強度 | 約 128-bit(對標 AES-128) | 約 80-bit(已被視為不安全) |
| 抗量子攻擊 | 不具抗量子能力 | 不具抗量子能力 |
| 抗碰撞攻擊 | 高抗性(基於 Curve25519) | 弱(容易被大規模運算破解) |
RSA-1024 的安全性已經被普遍認為 不夠安全。目前主流建議的最低 RSA 長度是 2048 位元,因為 1024 位 RSA 可以被有足夠資源的國家級對手在實務中破解。
Ed25519 是基於橢圓曲線加密的現代演算法,安全性相當於約 3072-bit 的 RSA,但計算與儲存成本低很多。