• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

09-安全配置指導

目錄

11-公鑰管理配置

本章節下載 11-公鑰管理配置  (297.32 KB)

11-公鑰管理配置


1 公鑰管理

1.1  簡介

公鑰管理用於非對稱密鑰算法的密鑰管理與發布。

1.1.1  非對稱密鑰算法原理

非對稱密鑰算法是數據加解密的一種方法,用來保證數據在網絡中安全傳輸、不被攻擊者非法竊聽和惡意篡改。如圖1-1所示,在非對稱密鑰算法中,加密和解密使用的密鑰一個是對外公開的公鑰,一個是由用戶秘密保存的私鑰,從公鑰很難推算出私鑰。公鑰和私鑰一一對應,二者統稱為非對稱密鑰對。通過公鑰(或私鑰)加密後的數據隻能利用對應的私鑰(或公鑰)進行解密。對稱密鑰算法中,加密和解密使用相同的密鑰。

圖1-1 加密和解密轉換關係示意圖

 

非對稱密鑰算法包括RSA(Rivest Shamir and Adleman)、DSA(Digital Signature Algorithm,數字簽名算法)和ECDSA(Elliptic Curve Digital Signature Algorithm,橢圓曲線數字簽名算法)等。

1.1.2  非對稱密鑰算法作用

非對稱密鑰算法主要有兩個用途:

·     對發送的數據進行加/解密:發送者利用接收者的公鑰對數據進行加密,隻有擁有對應私鑰的接收者才能使用該私鑰對數據進行解密,從而可以保證數據的機密性。目前,隻有RSA算法可以用來對發送的數據進行加/解密。

·     對數據發送者的身份進行認證:非對稱密鑰算法的這種應用,稱為數字簽名。發送者利用自己的私鑰對數據進行加密,接收者利用發送者的公鑰對數據進行解密,從而實現對數據發送者身份的驗證。由於隻能利用對應的公鑰對通過私鑰加密後的數據進行解密,因此根據解密是否成功,就可以判斷發送者的身份是否合法,如同發送者對數據進行了“簽名”。目前,RSA、DSA和ECDSA都可以用於數字簽名。

非對稱密鑰算法應用十分廣泛,例如SSH(Secure Shell,安全外殼)、SSL(Secure Sockets Layer,安全套接字層)、PKI(Public Key Infrastructure,公鑰基礎設施)中都利用了非對稱密鑰算法進行數字簽名。非對稱密鑰算法隻有與具體的應用(如SSH、SSL)配合使用,才能實現利用非對稱密鑰算法進行加/解密或數字簽名。

1.2  FIPS相關說明

設備運行於FIPS模式時,本特性部分配置相對於非FIPS模式有所變化,具體差異請見本文相關描述。有關FIPS模式的詳細介紹請參見“安全配置指導”中的“FIPS”。

1.3  公鑰管理配置任務簡介

公鑰管理配置任務如下:

(1)     生成本地非對稱密鑰對

(2)     將本地非對稱密鑰中的主機公鑰分發到遠端主機

請選擇以下一項進行配置:

¡     導出本地非對稱密鑰對中的主機公鑰

¡     顯示本地非對稱密鑰對中的公鑰信息

為了實現遠端主機對本地設備的身份驗證,用戶需要將本地的主機公鑰保存到遠端主機上。

(3)     配置遠端主機的公鑰

請選擇以下一項進行配置:

¡     導入遠端主機的公鑰

¡     手工配置遠端主機的公鑰

為了實現本地設備對遠端主機的身份驗證,用戶需要在本地設備上配置遠端主機公鑰。

(4)     (可選)銷毀本地非對稱密鑰對

1.4  生成本地非對稱密鑰對

1. 配置限製和指導

創建RSA和DSA密鑰對時,設備會提示用戶輸入密鑰模數的長度。密鑰模數越長,安全性越好,但是生成密鑰的時間越長。創建ECDSA密鑰對時,可使用不同密鑰長度的橢圓曲線,密鑰越長,安全性越好,但是生成密鑰的時間越長。關於密鑰模數長度或密鑰長度的配置限製和注意事項請參見表1-1

生成密鑰對時,如果不指定密鑰對名稱,係統會以缺省名稱命名密鑰對,並把該密鑰對標記為默認(default)。

用戶可以使用缺省的密鑰對名稱創建其他密鑰對,但係統不會把該密鑰對標記為默認(default)。

非默認名稱密鑰對的密鑰類型和名稱不能完全相同,否則需要用戶確認是否覆蓋原有的密鑰對。不同類型的密鑰對,名稱可以相同。

執行public-key local create命令後,生成的密鑰對將保存在設備中,設備重啟後密鑰不會丟失。

表1-1 不同類型密鑰對對比

密鑰對類型

生成的密鑰對

密鑰模數長度/密鑰長度

RSA

·     非FIPS模式下:

¡     不指定密鑰對名稱時,將同時生成兩個密鑰對服務器密鑰對和主機密鑰對

¡     指定密鑰對名稱時,隻生成一個主機密鑰對

·     FIPS模式下:隻生成一個主機密鑰對,包括一個公鑰和一個私鑰

說明

目前,隻有SSH1.5中應用了RSA服務器密鑰對

·     非FIPS模式下:密鑰模數長度取值範圍為512~4096比特,缺省值為1024比特,建議密鑰模數的長度大於或等於768比特

·     FIPS模式下:密鑰模數長度取值範圍為2048~4096比特,取值為256的倍數,缺省值為2048比特

DSA

隻生成一個主機密鑰對

·     非FIPS模式下:密鑰模數長度取值範圍為512~2048比特,缺省值為1024比特,建議密鑰模數的長度大於或等於768比特

·     FIPS模式下:不支持

ECDSA

隻生成一個主機密鑰對

·     非FIPS模式下:密鑰長度取值為192、256、384或521比特

·     FIPS模式下:密鑰長度取值為256、384或521比特

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     生成本地非對稱密鑰對。

(非FIPS模式)

public-key local create { dsa | ecdsa [ secp192r1 | secp256r1 | secp384r1 | secp521r1 ] | rsa } [ name key-name ]

(FIPS模式)

public-key local create { ecdsa [ secp256r1 | secp384r1 | secp521r1 ] | rsa } [ name key-name ]

缺省情況下,不存在本地非對稱密鑰對。

1.5  將本地非對稱密鑰中的主機公鑰分發到遠端主機

1.5.1  功能簡介

在某些應用(如SSH)中,為了實現遠端主機采用數字簽名方法對本地設備進行身份驗證,用戶需要將本地的主機公鑰保存到遠端主機上。

將本地的主機公鑰保存到遠端主機上,有以下三種方法:

·     在本地設備上執行public-key local export命令按照指定格式將本地主機公鑰導出到指定文件(執行命令時指定filename參數),並將該文件上傳到遠端主機上。在遠端主機上,通過從公鑰文件中導入的方式將本地的主機公鑰保存到遠端設備上。

·     在本地設備上執行public-key local export命令按照指定格式將本地主機公鑰導出到用戶界麵(執行命令時不指定filename參數),通過拷貝粘貼等方式將用戶界麵上的主機公鑰保存到文件中,並將該文件上傳到遠端主機上。在遠端主機上,通過從公鑰文件中導入的方式將本地的主機公鑰保存到遠端設備上。

·     在本地設備上執行display public-key local public命令顯示非對稱密鑰對中的公鑰信息,並記錄主機公鑰數據。在遠端主機上,通過手工配置的方式將記錄的本地主機公鑰保存到遠端設備上。

1.5.2  導出本地非對稱密鑰對中的主機公鑰

(1)     進入係統視圖。

system-view

(2)     導出本地非對稱密鑰對中的主機公鑰。

¡     按照指定格式將本地RSA主機公鑰導出到指定文件或用戶界麵。

(非FIPS模式)

public-key local export rsa [ name key-name ] { openssh | ssh1 | ssh2 } [ filename ]

(FIPS模式)

public-key local export rsa [ name key-name ] { openssh | ssh2 } [ filename ]

¡     按照指定格式將本地ECDSA主機公鑰導出到指定文件或用戶界麵。

public-key local export ecdsa [ name key-name ] { openssh | ssh2 } [ filename ]

¡     按照指定格式將本地DSA主機公鑰導出到指定文件或用戶界麵。

public-key local export dsa [ name key-name ] { openssh | ssh2 } [ filename ]

本命令僅在非FIPS模式下支持。

1.5.3  顯示本地非對稱密鑰對中的公鑰信息

請在任意視圖下執行以下命令。

·     顯示本地RSA密鑰對中的公鑰信息。

display public-key local rsa public [ name key-name ]

若執行本命令時,同時顯示了RSA服務器密鑰對和主機密鑰對的公鑰信息,用戶隻需記錄主機密鑰對的公鑰信息。

·     顯示本地ECDSA密鑰對中的公鑰信息。

display public-key local ecdsa public [ name key-name ]

·     顯示本地DSA密鑰對中的公鑰信息。

display public-key local dsa public [ name key-name ]

1.6  配置遠端主機的公鑰

1.6.1  功能簡介

在某些應用(如SSH)中,為了實現本地設備對遠端主機的身份驗證,需要在本地設備上配置遠端主機的RSA、ECDSA、DSA主機公鑰。用戶可以使用以下方法配置遠端主機公鑰:

·     導入遠端主機公鑰。

·     手工配置遠端主機公鑰。

遠端主機公鑰信息的獲取方法,請參見“1.5  將本地非對稱密鑰中的主機公鑰分發到遠端主機”。

1.6.2  配置限製和指導

手工配置遠端主機的公鑰時,輸入的主機公鑰必須滿足一定的格式要求。通過display public-key local public命令顯示的公鑰可以作為輸入的公鑰內容;通過其他方式(如public-key local export命令)顯示的公鑰可能不滿足格式要求,導致主機公鑰保存失敗。因此,建議選用從公鑰文件導入的方式配置遠端主機的公鑰。

1.6.3  導入遠端主機的公鑰

1. 功能簡介

用戶事先將遠端主機的公鑰文件保存到本地設備(例如,通過FTP或TFTP,以二進製方式將遠端主機的公鑰文件保存到本地設備),本地設備從該公鑰文件中導入遠端主機的公鑰。導入公鑰時,係統會自動將遠端主機的公鑰文件轉換為PKCS(Public Key Cryptography Standards,公共密鑰加密標準)編碼形式。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     從公鑰文件中導入遠端主機的公鑰。

public-key peer keyname import sshkey filename

1.6.4  手工配置遠端主機的公鑰

1. 功能簡介

用戶事先在遠端主機上通過display public-key local public命令查看其公鑰信息,並記錄遠端主機公鑰的內容。在本地設備上采用手工輸入的方式將遠端主機的公鑰配置到本地。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     指定遠端主機公鑰的名稱,並進入公鑰視圖。

public-key peer keyname

(3)     手工輸入遠端主機的公鑰。

逐個字符輸入或拷貝粘貼公鑰內容。

在輸入公鑰內容時,字符之間可以有空格,也可以按回車鍵繼續輸入數據。保存公鑰數據時,將刪除空格和回車符。

(4)     退出公鑰視圖時,保存配置的主機公鑰。

peer-public-key end

1.7  銷毀本地非對稱密鑰對

1. 功能簡介

在如下幾種情況下,建議用戶銷毀舊的非對稱密鑰對,並生成新的密鑰對:

·     本地設備的私鑰泄露。這種情況下,非法用戶可能會冒充本地設備訪問網絡。

·     保存密鑰對的存儲設備出現故障,導致設備上沒有公鑰對應的私鑰,無法再利用舊的非對稱密鑰對進行加/解密和數字簽名。

·     本地證書到達有效期,需要刪除對應的本地密鑰對。

2. 配置步驟

(1)     進入係統視圖。

system-view

(2)     銷毀本地非對稱密鑰對。

(非FIPS模式)

public-key local destroy { dsa | ecdsa | rsa } [ name key-name ]

(FIPS模式)

public-key local destroy { ecdsa | rsa } [ name key-name ]

1.8  公鑰管理顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後公鑰管理的信息,通過查看顯示信息驗證配置的效果。

表1-2 公鑰管理顯示和維護

操作

命令

顯示本地非對稱密鑰對中的公鑰信息

(非FIPS模式)

display public-key local { dsa | ecdsa | rsa } public [ name key-name ]

(FIPS模式)

display public-key local { ecdsa | rsa } public [ name key-name ]

顯示保存在本地的遠端主機的公鑰信息

display public-key peer [ brief | name publickey-name ]

 

1.9  公鑰管理典型配置舉例

1.9.1  手工配置遠端主機的公鑰

1. 組網需求

圖1-2所示,為了防止非法用戶訪問,Device B(本地設備)采用數字簽名方法對訪問它的Device A(遠端設備)進行身份驗證。進行身份驗證前,需要在Device B上配置Device A的公鑰。

本例中要求:

·     Device A采用的非對稱密鑰算法為RSA算法。

·     采用手工配置方式在Device B上配置Device A的主機公鑰。

2. 組網圖

圖1-2 手工配置遠端主機的公鑰組網圖

 

3. 配置步驟

(1)     配置Device A

# 在Device A上生成默認名稱的本地RSA非對稱密鑰對,密鑰模數的長度采用缺省值1024比特。

<DeviceA> system-view

[DeviceA] public-key local create rsa

The range of public key modulus is (512 ~ 4096).

If the key modulus is greater than 512, it will take a few minutes.

Press CTRL+C to abort.

Input the modulus length [default = 1024]:

Generating Keys...

...

Create the key pair successfully.

# 顯示生成的本地RSA密鑰對的公鑰信息。

[DeviceA] display public-key local rsa public

 

=============================================

Key name: hostkey(default)

Key type: RSA

Key length: 1024

Time when key pair created: 16:48:31 2011/05/12

Key code:

 

   30819F300D06092A864886F70D010101050003818D0030818902818100DA3B90F59237347B

   8D41B58F8143512880139EC9111BFD31EB84B6B7C7A1470027AC8F04A827B30C2CAF79242E

   45FDFF51A9C7E917DB818D54CB7AEF538AB261557524A7441D288EC54A5D31EFAE4F681257

   6D7796490AF87A8C78F4A7E31F0793D8BA06FB95D54EBB9F94EB1F2D561BF66EA27DFD4788

   CB47440AF6BB25ACA50203010001

 

=============================================

Key name: serverkey(default)

Key type: RSA

Key length: 768

Time when key pair created: 16:48:31 2011/05/12

Key code:

 

   307C300D06092A864886F70D0101010500036B003068026100C9451A80F7F0A9BA1A90C7BC

   1C02522D194A2B19F19A75D9EF02219068BD7FD90FCC2AF3634EEB9FA060478DD0A1A49ACE

   E1362A4371549ECD85BA04DEE4D6BB8BE53B6AED7F1401EE88733CA3C4CED391BAE633028A

   AC41C80A15953FB22AA30203010001

(2)     配置Device B

# 在Device B上配置Device A的主機公鑰:在公鑰視圖輸入Device A的主機公鑰,即在Device A上通過display public-key local rsa public命令顯示的主機公鑰hostkey內容。

<DeviceB> system-view

[DeviceB] public-key peer devicea

Enter public key view. Return to system view with "peer-public-key end" command.

[DeviceB-pkey-public-key-devicea]30819F300D06092A864886F70D010101050003818D0030818902818100DA3B90F59237347B

[DeviceB-pkey-public-key-devicea]8D41B58F8143512880139EC9111BFD31EB84B6B7C7A1470027AC8F04A827B30C2CAF79242E

[DeviceB-pkey-public-key-devicea]45FDFF51A9C7E917DB818D54CB7AEF538AB261557524A7441D288EC54A5D31EFAE4F681257

[DeviceB-pkey-public-key-devicea]6D7796490AF87A8C78F4A7E31F0793D8BA06FB95D54EBB9F94EB1F2D561BF66EA27DFD4788

[DeviceB-pkey-public-key-devicea]CB47440AF6BB25ACA50203010001

# 從公鑰視圖退回到係統視圖,並保存用戶輸入的公鑰。

[DeviceB-pkey-public-key-devicea] peer-public-key end

4. 驗證配置

# 顯示Device B上保存的Device A的主機公鑰信息。

[DeviceB] display public-key peer name devicea

 

=============================================

Key name: devicea

Key type: RSA

Key length: 1024

Key code:

 

   30819F300D06092A864886F70D010101050003818D0030818902818100DA3B90F59237347B

   8D41B58F8143512880139EC9111BFD31EB84B6B7C7A1470027AC8F04A827B30C2CAF79242E

   45FDFF51A9C7E917DB818D54CB7AEF538AB261557524A7441D288EC54A5D31EFAE4F681257

   6D7796490AF87A8C78F4A7E31F0793D8BA06FB95D54EBB9F94EB1F2D561BF66EA27DFD4788

   CB47440AF6BB25ACA50203010001

通過對比可以看出,Device B上保存的Device A的主機公鑰信息與Device A實際的主機公鑰信息一致。

1.9.2  從公鑰文件中導入遠端主機的公鑰

1. 組網需求

圖1-3所示,為了防止非法用戶訪問,Device B(本地設備)采用數字簽名方法對訪問它的Device A(遠端設備)進行身份驗證。進行身份驗證前,需要在Device B上配置Device A的公鑰。

本例中要求:

·     Device A采用的非對稱密鑰算法為RSA算法。

·     采用從公鑰文件中導入的方式在Device B上配置Device A的主機公鑰。

2. 組網圖

圖1-3 從公鑰文件中導入遠端主機的公鑰組網圖

 

3. 配置步驟

(1)     在Device A上生成密鑰對,並導出公鑰

# 在Device A上生成默認名稱的本地RSA非對稱密鑰對,密鑰模數的長度采用缺省值1024比特。

<DeviceA> system-view

[DeviceA] public-key local create rsa

The range of public key modulus is (512 ~ 4096).

If the key modulus is greater than 512, it will take a few minutes.

Press CTRL+C to abort.

Input the modulus length [default = 1024]:

Generating Keys...

...

Create the key pair successfully.

# 顯示生成的本地RSA密鑰對的公鑰信息。

[DeviceA] display public-key local rsa public

 

=============================================

Key name: hostkey(default)

Key type: RSA

Key length: 1024

Time when key pair created: 16:48:31 2011/05/12

Key code:

 

   30819F300D06092A864886F70D010101050003818D0030818902818100DA3B90F59237347B

   8D41B58F8143512880139EC9111BFD31EB84B6B7C7A1470027AC8F04A827B30C2CAF79242E

   45FDFF51A9C7E917DB818D54CB7AEF538AB261557524A7441D288EC54A5D31EFAE4F681257

   6D7796490AF87A8C78F4A7E31F0793D8BA06FB95D54EBB9F94EB1F2D561BF66EA27DFD4788

   CB47440AF6BB25ACA50203010001

 

=============================================

Key name: serverkey(default)

Key type: RSA

Key length: 768

Time when key pair created: 16:48:31 2011/05/12

Key code:

 

   307C300D06092A864886F70D0101010500036B003068026100C9451A80F7F0A9BA1A90C7BC

   1C02522D194A2B19F19A75D9EF02219068BD7FD90FCC2AF3634EEB9FA060478DD0A1A49ACE

   E1362A4371549ECD85BA04DEE4D6BB8BE53B6AED7F1401EE88733CA3C4CED391BAE633028A

   AC41C80A15953FB22AA30203010001

# 將生成的默認名稱的RSA主機公鑰導出到指定文件devicea.pub中。

[DeviceA] public-key local export rsa ssh2 devicea.pub

(2)     在Device A上啟動FTP服務器功能

# 啟動FTP服務器功能,創建FTP用戶(用戶名為ftp,並設置密碼),並配置FTP用戶的用戶角色為network-admin。

[DeviceA] ftp server enable

[DeviceA] local-user ftp

[DeviceA-luser-manage-ftp] password simple 123456TESTplat&!

[DeviceA-luser-manage-ftp] service-type ftp

[DeviceA-luser-manage-ftp] authorization-attribute user-role network-admin

[DeviceA-luser-manage-ftp] quit

(3)     Device B獲取Device A的公鑰文件

# Device B通過FTP以二進製方式從Device A獲取公鑰文件devicea.pub。

<DeviceB> ftp 10.1.1.1

Connected to 10.1.1.1 (10.1.1.1).

220 FTP service ready.

User (10.1.1.1:(none)): ftp

331 Password required for ftp.

Password:

230 User logged in.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> binary

200 TYPE is now 8-bit binary

ftp> get devicea.pub

227 Entering Passive Mode (10,1,1,1,118,252)

150 Accepted data connection

226 File successfully transferred

301 bytes received in 0.003 seconds (98.0 kbyte/s)

ftp> quit

221-Goodbye. You uploaded 0 and downloaded 1 kbytes.

221 Logout.

(4)     Device B從公鑰文件中導入公鑰

# Device B從公鑰文件中導入Device A的主機公鑰。

<DeviceB> system-view

[DeviceB] public-key peer devicea import sshkey devicea.pub

4. 驗證配置

# 顯示Device B上保存的Device A的主機公鑰信息。

[DeviceB] display public-key peer name devicea

 

=============================================

Key name: devicea

Key type: RSA

Key length: 1024

Key code:

 

   30819F300D06092A864886F70D010101050003818D0030818902818100DA3B90F59237347B

   8D41B58F8143512880139EC9111BFD31EB84B6B7C7A1470027AC8F04A827B30C2CAF79242E

   45FDFF51A9C7E917DB818D54CB7AEF538AB261557524A7441D288EC54A5D31EFAE4F681257

   6D7796490AF87A8C78F4A7E31F0793D8BA06FB95D54EBB9F94EB1F2D561BF66EA27DFD4788

   CB47440AF6BB25ACA50203010001

通過對比可以看出,Device B上保存的Device A的主機公鑰信息與Device A實際的主機公鑰信息一致。

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們