Cisco 交換器透過 crypto key generate rsa 指令原生產生 RSA 金鑰對,建議從 2048 位元模數搭配公開指數 65537 作為 SSH 伺服器身分、HTTPS 憑證簽章以及 IPsec 通道驗證的起始大小。交換器會將金鑰內容儲存在私有設定中,並用來與管理主機協商加密連線。當您改為需要一組離線的 RSA 金鑰對時——無論是為了搭配的系統、課堂展示,或是要求由瀏覽器產生 PEM 輸出的工作流程——RSA 金鑰產生器能完全在您的瀏覽器中,透過平台 Web Cryptography API 產生相同的底層 2048 或 3072 位元 RSA 金鑰內容。金鑰位元組不會傳送到任何應用程式伺服器。公開端以 SubjectPublicKeyInfo PEM 匯出、私密端以未加密的 PKCS#8 PEM 匯出,兩者皆為 RFC 7468 所定義的標準 ASN.1 信封。本指南將逐步說明兩種路徑——交換器上的 crypto key generate rsa 工作流程,以及離線覽器工作流程——讓您能依據部署需求選擇合適的方法。

Cisco 交換器 RSA 金鑰產生方式
在 Cisco 環境中產生 RSA 金鑰對有兩條實際可行的路徑。第一條是讓交換器自行產生金鑰,這是 IOS 與 Nexus 設備上 SSH 伺服器身分的預設做法。第二條是在工作站離線產生金鑰,然後將公開端匯入交換器或對等系統。兩種方式皆仰賴 RFC 8017 中定義的相同 RSA 數學原理,但差別在於私密金實際存放的位置以及受到保護的方式。
當交換器本身將擔任 SSH 伺服器或 HTTPS 端點時,交換器上產生金鑰是最簡便的路徑。私密金鑰絕不離開設備,由執行中的設定保存,並透過 copy running-config startup-config 在重新載入後持續保存。當您需要為將連線至交換器的系統準備一組金鑰對、想要檢視或散佈 PEM 區塊,或交換器不支援您通訊協定所需的金大小或標籤時,使用瀏覽器工具進行離線產生是正確的路徑。離線產生也能以可複製貼上的形式提供公開與私密信封,方便自動化、文件記錄與通訊協定測試使用。
Cisco IOS 的 RSA 金鑰產生指令
Cisco IOS 與 IOS-XE 設備透過一組簡明且定義明確的指令序列來產生 RSA 金。下列步驟適用於執行 IOS 或 IOS-XE 的 Catalyst 交換器,以及大多數 ISR 路由器。執行 NX-OS 的 Nexus 交換器則使用稍後緊接著展示的不同語法。
- 透過主控台、Telnet 或 SSH 連線至交換器,並在出現提示時輸入 enable 密碼以進入特權 EXEC 模式。
- 使用 configure terminal 進入全域設定模式。在產生 RSA 金鑰之前,請確認設備已設定主機名稱與網域名稱,因為 IOS 會使用它們來標示金鑰:hostname CORE-SW1 與 ip domain-name example.lan。
- 使用 crypto key generate rsa general-keys modulus 2048 產生金鑰對。IOS 會提示確認,因為重新產生會覆寫現有金鑰。模數值即為位元長度,而 2048 是廣泛互通性的預設值。
- 選用:若您計畫稍後匯出公開金鑰,或需要多組金鑰共存,可使用 crypto key generate rsa general-keys label SSH-KEY modulus 2048 exportable 加入用途標籤。
- 使用 end 退出設定模式,然後以 show crypto key mypubkey rsa 驗證金鑰。輸出內容會回報模數長度、金鑰標與指紋雜湊值。
- 使用 copy running-config startup-config 儲存設定,使金在重新載入後仍能保留。若未執行此步驟,金會在重新啟動時遺失。
在執行 NX-OS 的 Cisco Nexus 交換器上,等效的指令序列為 configure terminal、ssh key rsa 2048、exit、show ssh key,以及 copy running-config startup-config。Nexus 指令集並未完整支援 IOS 的所有選項,但兩個系列皆會產生指數為 65537 的 2048 位元 RSA 金鑰。
使用 RSA 金鑰產生器在瀏覽器中產生 RSA 金鑰
當工作流程需要 PEM 輸出時——例如將公開金鑰推送至設定檔的腳本、預期接收 SPKI 輸入的工具,或課堂展示——RSA 金鑰產生器會在您的瀏覽器內部產生一組全新的金鑰對。該實作會呼叫平台 Web Cryptography API,以兩個大質數組成一個使用 SHA-256 與指數 65537 的 RSA-OAEP 金鑰。整個過程中沒有任何網路請求帶金鑰內容。
- 確認使用端的應用程式預期接收 RSA-OAEP 搭配 SHA-256、指數 65537,以及 SPKI 公開 PEM 或 PKCS#8 私密 PEM。參數不符——例如 SHA-1 或 PKCS#1 v1.5——會使金鑰看似匯入成功,卻在執行階段靜默失敗。
- 開啟 RSA 金鑰產生器,選擇 2048 或 3072 位元,然後點選 generate。3072 位元模數會耗費明顯更長的時間,因為覽器必須尋找兩個更大的質數;請預留額外時間且不要中斷分頁。
- 複製以 BEGIN PUBLIC KEY 開頭的公開 PEM 區塊,並僅將其散佈給需要對持有者加密的系統。該區塊是 RFC 7468 中定義、以 Base64 包裝的 ASN.1 SubjectPublicKeyInfo 結構。
- 將以 BEGIN PRIVATE KEY 開頭的私密 PEM 區塊直接移入受保護的金鑰儲存區、硬體安全模組,或加密的密碼管理工具。它並未以密碼加密,任何取得該檔案的人皆可解密相容的密文。
- 執行通訊協定層級的往返測試:將公開金鑰匯入目標系統,加密一則已知的 UTF-8 訊息,並在使用私密金鑰解密後斷言內容完全相符。僅匯入成功並不足以證明參數相符。
RSA 金鑰參數:2048 對 3072 位元
在任何 RSA 工作流程中,模數長度都是最顯眼的旋鈕。下表比較了 RSA 金鑰產生器所提供的兩種大小,並以 RFC 8017 的權衡說明與瀏覽器 Web Crypto 實作的實際行為作為依據。
| 屬性 | 2048 位元模數 | 3072 位元模數 |
|---|---|---|
| 互通性 | 在 SSH、TLS 與 IPsec 各實作間廣泛支援 | 受現代實作支援;部分舊型對等端可能拒絕 |
| 瀏覽器中的產生時間 | 極短——現代筆記型電腦上通常不到一秒 | 明顯較長——必須尋找兩個更大的質數 |
| 營運成本 | 加密與解密操作速度較快 | 金生命週期內每次操作的成本較高 |
| 對抗因數分解的安全餘裕 | 對多數威脅模型而言,可接受至 2020 年代晚期 | 餘裕更大但成本較高——建議用於長效身分 |
| Cisco IOS 預設行為 | 與標準 crypto key generate rsa modulus 2048 用法一致 | 大多數現代 IOS-XE 映像皆支援;請以 show crypto key mypubkey rsa 驗證 |
下方單一算繪範例說明兩者的大小關係。2048 位元模數為 256 位元組,因此在扣除編碼負載後,使用 SHA-256 填充的最大 RSA-OAEP 明文負載約為 190 位元組。3072 位元模數為 384 位元組,可接受等比例放大的負載。因此,需要保護檔案或長訊息的應用程式,會使用 RSA-OAEP 加密一把隨機對稱金鑰,再以經驗證的對稱加密處理大量資料;本工具刻意不另行發明混合式檔案格式。
謹慎處理與散佈私密金鑰
RSA 私密金鑰屬於持票人憑證。任何取得 PKCS#8 PEM 區塊的人,皆能解密對應公開金鑰所產生的所有密文,因此私密輸出應與 root 密碼同等對待。請僅產生一次,將公開金鑰複製給使用者,將私密金鑰直接移入受保護的儲存空間,並執行前述的通訊協定層級往返測試。請勿將私密金貼入版本控制、工單系統、聊天工具、分析儀表板、瀏覽器同步或一般筆記。在安全匯入金鑰後,請關閉分頁並清除剪貼簿紀錄;若私密金曾經外洩,請立即輪替。對於生產環境的身分或 TLS,建議優先採用所屬平台或硬體安全模組所提供的金鑰產生工作流程,而非瀏覽器型工具。
由於 Web Cryptography API 匯出的 PKCS#8 位元組不包含密碼信封,本工具並未對私密 PEM 加上密碼保護。在瀏覽器外加上 passphrase 信封雖然可行,但會改變格式並使前述往返測試失效;任何重新加密作業,僅應在確認未受保護的金鑰能端對端正常運作後再進行。瀏器擴充功能、剪貼簿管理工具、惡意程式與螢幕擷圖皆位於 Web Crypto 範疇之外,因此產生金鑰時請使用已受信任並完成修補更新的裝置。
以端對端測試驗證 RSA 金鑰
能順利匯入的 PEM 並不保證參數相容。RSA-OAEP 包含數個可調整參數——雜湊演算法、標與遮罩產生函式——若對等端預設使用 SHA-1 或不同的標籤,將會接受金鑰卻在解密時失敗。RSA 金鑰產生器所使用的驗證合約會鎖定八項外部參數不變量、匯出兩個信封、將產生的 SPKI 與 PKCS#8 重新匯入 Web Crypto、以公開金鑰加密一則已知 UTF-8 訊息,並在使用私密金鑰解密後斷言內容完全相符。匯入後的演算法亦須回報所選的模數長度。在正式環境中依賴任何金之前,請以實際的應用程式通訊協定——SSH 金鑰交換、TLS 握手或自訂的 RSA-OAEP 呼叫——重複該往返測試。
輸出隨機是預期行為:以相同設定產生兩次必須產生不同的金鑰,因為安全的金鑰產生必然是隨機的,無法以固定的黃金值進行測試。產生作業為非同步,若您在產生途中變更參數,工作識別可防止較舊的要求覆蓋較新的設定。私密與公開輸出僅保留於元件記憶體中,直到頁面導覽或被取代為止,然而瀏覽器擴充功能、惡意程式、剪貼簿管理工具與螢幕圖仍位於該範之外。請將金鑰於產生完成的瞬間視為已生效,若懷疑外洩則立即輪替。
如果您正在權衡各種選項,如何使用已知金鑰解讀 Vigenere 密文對此有詳細說明。
如果您正在權衡各種選項,XOR 加密是否安全?重複金鑰的現實檢驗對此有詳細說明。