答案:SSL與數位認證
--------------------------------------------------------------------------------
[ 本文重點 | SSL安全資料傳輸 | SSL運作步驟與設定 | 金鑰(key)產生與管理 ]
[ Microsoft Certificate Server | 用戶端認證(Client Certificate) ]
--------------------------------------------------------------------------------
本文重點
介紹熱門的SSL與數位認證方法,包括SSL安全連線的伺服器認證、SSL運作步驟與設定、金鑰(key)產生與管理,以及IIS 4.0的Microsoft Certificate Server之伺服器認證、用戶端認證等方法。
Windows NT Option Pack中文版軟體所包含的「Microsoft Certificate Server」,可自行建立一個認證中心(Certificate Authority),以管理數位認證的授與、廢除及更新,數位認證用於公開金鑰加解密之應用,譬如SSL的伺服器認證與用戶端認證,讓您透過Intranet或 Internet 安全地傳送資料。
SSL安全資料傳輸
SSL(Secure Sockets Layer)
SSL(Secure Sockets Layer)加密方法,可以對資料傳輸做安全上的保護。
當使用者傳送私有資料(譬如信用卡或銀行帳號)到網站時,可能害怕資料傳送當中被攔截。SSL(Secure Sockets Layer)3.0協定,提供了傳輸安全上的保護,於使用者傳送資料前先做「加密」成亂易做图,網站接收資料後再「解密」出原來的資料。資料傳送當中即使被攔截,也只是看到一堆亂易做图,看不到原來的資料。
使用SSL安全方法時,使用者產生一把對稱金鑰(session key ),將待傳送的資料「加密」成亂易做图,網站接收資料後再使用同一把對稱金鑰「解密」出原來的資料。
為了將使用者產生的這一把加解密用的對稱金鑰安全地傳給伺服器,SSL於使用者傳送這一把對稱金鑰前,先使用伺服器的公開金鑰(public key)將對稱金鑰「加密」成亂易做图,網站接收資料後再使用伺服器的私密金鑰(private key)「解密」出原來的對稱金鑰。
本文針對與SSL相關的伺服器認證(Server Certificates)、SSL運作的步驟與設定、金鑰(key)產生與管理,詳細介紹如下:
伺服器認證(Server Certificates)
使用SSL安全方法時,為了確保使用者拿到的伺服器公開金鑰(public key)為正確的,伺服器必須由具公信力的認證中心(Certificate Authority,簡稱CA),核發伺服器認證(Server Certificates)。
一個認證就像一個印鑑證明,證明這個印章屬於您所有,不是別人假造的。
伺服器認證包括提供網站內容者的組織、和認證中心的名稱,以及伺服器的公開金鑰。
認證中心CA
使用SSL安全方法連線時,必須先取得伺服器認證。
伺服器認證是否成功,取決於使用者是否信任認證中心核發的伺服器認證資料是否為正確有效。
譬如一個使用者與您的網站伺服器建立連線時,即使看到您伺服器的認證,可能仍然猶豫是否要將信用卡資料提供給您,尤其是您的公司是新的或沒有甚麼知名度時,會更加地猶豫不決。
基於這個理由,有時認證係由具有公信力的第三者認證中心(Certificate Authority,簡稱CA)所核發。認證中心有責任確認認證的資料是否為正確有效。
有許多的第三者認證中心,提供IIS核發伺服器認證(server certificate)的服務,如下:
Verisign Inc.:http://www.verisign.com
GTE CyberTrust Solutions:http://www.cybertrust.gte.com
Thawte Consulting:http://www.thawte.com
CertiSign Certificado Digital Ltda.:http://www.certisign.com.br
BelSign NV-SA:http://www.belsign.be
Keywitness Canada:http://www.keywitness.ca
BankGate CA:http://www.bankgate.com
可連線到http://www.microsoft.com/security/ 取得最新提供IIS伺服器認證(server certificate)服務的認證中心CA名單。
另外一個替代方式,取決於您公司與網站伺服器使用者的關係如何,您能夠自己充當認證中心,核發伺服器認證(Server Certificates)給自己。譬如,於大公司的企業內網路當中,處理員工的薪資和福利時,公司管理當局可以決定是否自己維護一個認證伺服器(certificate server)以核發伺服器認證給自己的伺服器。
使用Windows NT Option Pack中的Microsoft Certificate Server,可以建立一個認證伺服器,自己充當認證中心,核發伺服器認證。
SSL運作步驟與設定
SSL運作的步驟
SSL運作的步驟如下:
使用者的瀏覽器使用「https」通訊方式與網站伺服器建立連線。
網站伺服器傳送包括伺服器公開金鑰的伺服器認證(Server Certificates)給使用者。
使用者的瀏覽器產生一把加解密用的對稱金鑰(session key),使用伺服器的公開金鑰(public key)將對稱金鑰「加密」成亂易做图,傳送給網站伺服器。
網站伺服器使用伺服器的私密金鑰(private key),以「解密」出瀏覽器產生的對稱金鑰。
網站伺服器與瀏覽器使用這一把對稱金鑰,將資料做加解密以相互傳送資料。
伺服器加入SSL功能
於伺服器加入SSL(Secure Sockets Layer)的功能,可以確保資料傳輸的安全性。要如何於伺服器加入SSL功能呢?有以下數個步驟:
產生一對Key(金鑰):第一步驟,首先使用 [識別易做图管理員](Key Manager)於NT上建立一對新的Key(金鑰),將產生一個認證申請檔案(certificate request file),預設為NewKeyRq.txt檔。您再將此認證申請檔案傳給認證中心(Certificate Authority,簡稱CA),或使用 [識別易做图管理員](Key Manager)傳送。CA可由具有公信力的第三者扮演,Microsoft Certificate Server也可扮演此CA的角色。CA核準後將核發伺服器認證(server certificate),傳送給您一個認證檔案(certificate file)。
安裝伺服器認證檔案:當您收到CA核發的伺服器認證檔案時,使用 [識別易做图管理員](Key Manager)安裝這個檔案。
於IIS設定安全傳輸port 443和啟動SSL:執行 IIS 4.0的 [Internet 服務管理員] ,選擇要使用SSL的網站,如預設的Web站台,按下滑鼠右鍵,選擇 [內容],選擇 [目錄安全] ,按下 [安全通訊] 的 [編輯] 按鈕,選擇 [存取這個資源時,必須使用安全通道] 。若如此設定,則整個設定的站台,如上預設的Web站台,都必須使用「https:// 」的SSL方式。
設定須使用SSL的方法
這個方法設定「整個」的網站、目錄、或檔案須使用SSL的方法將傳送的資料做加解密。
於 [Internet 服務管理員] ,選擇一個網站(Web site)、目錄、或檔案,按下滑鼠右鍵開啟 [內容] 。
選擇 [目錄安全] 或 [檔案安全] 頁,於 [安全通訊] 下按下 [編輯] 按鈕(若未產生一對key,須先按下 [識別易做图管理員](Key Manager)產生之)。
於 [安全通訊] 對話盒當中 ,選擇 [存取這個資源時,必須使用安全通道]。
使用者的瀏覽器使用「https://」通訊方式與網站伺服器建立連線。
設定加解密金鑰的長度
加解密資料所用的對稱金鑰(session key)長度愈長,愈不容易被破解。
您能夠設定網站伺服器需要使用128位元長度的對稱金鑰(session key),而非預設的40位元的長度。若您設定為至少128位元長度,則想要與伺服器建立安全連線的使用者,必須採用能夠產生128位元對稱金鑰的瀏覽器。
基於美國法律的限制,128位元金鑰長度僅僅可以使用於美國和加拿大。
您必須先從認證中心取得伺服器認證(Server Certificates),才可以建立安全的SSL連線。
設定加解密金鑰長度的方法,如下:
於 [Internet 服務管理員] ,選擇一個網站(Web site)、目錄、或檔案,按下滑鼠右鍵開啟 [內容] 。
選擇 [目錄安全] 或 [檔案安全] 頁,於 [安全通訊] 下按下 [編輯] 按鈕(若未產生一對key,須先按下 [識別易做图管理員](Key Manager)產生之)。
於 [安全通訊] 對話盒當中 ,選擇 [存取這個資源時,必須使用安全通道] 後,按下 [加密設定] 按鈕。
於 [加密設定] 對話盒當中 ,選擇 [需要128位元加密] 後按下 [確認] 按鈕。
金鑰(key)產生與管理
識別易做图管理員(Key Manager)
SSL所使用的一對金鑰(key),包括公開金鑰(public key)和私密金鑰(private key),可以使用NT的「識別易做图管理員」(Key Manager)來產生、匯入(import)、和匯出(export)這一對唯一的金鑰(key),以供申請伺服器認證(Server Certificates)之用。
您也可以使用「識別易做图管理員」(Key Manager),來申請和安裝伺服器認證(Server Certificates),以及為遠端的伺服器產生一對金鑰(key)。
一個domain name只能安裝一個伺服器認證(Server Certificates)。
一對金鑰(key)只能使用於一個伺服器認證(Server Certificates)。
一對金鑰(key)只能使用於一個domain name,但是多個IP address可因共用同一個domain name而共用同一對金鑰(key)。
執行「識別易做图管理員」(Key Manager)有兩個方法,當您 於 [Internet 服務管理員] 選擇一個網站(Web site)、目錄、或檔案時,方法如下:
按下工具列的 [識別易做图管理員](Key Manager)圖示。
按下滑鼠右鍵開啟 [內容] ,選擇「 [目錄安全] 」或 [檔案安全] 頁,於 [安全通訊] 下按下 [編輯] 按鈕,再按下 [識別易做图管理員](Key Manager)按鈕。
產生金鑰(key)方法
產生一對金鑰(key)的方法如下:
於 [Internet 服務管理員] 按下工具列的 [識別易做图管理員](Key Manager)圖示。
於 [識別易做图] 選單選擇 [建立識別易做图],依照指示即可產生一對金鑰(key)。
可以選擇將所產生的一對金鑰(key)儲存成一個檔案以傳送給認證中心,或向Microsoft Certificate Server線上自動申請伺服器認證。
產生一對金鑰(key)時,可向認證
上一个:allaire 发布jrun 3.0 rc1版
下一个:Java Web Start 1.0 Architecture