A. ssl安全協議提供的服務有哪些
SSL協議提供的服務主要有:
認證用戶和伺服器,確保數據發送到正確的客戶機和伺服器;
加密數據以防止數據中途被竊取;
維護數據的完整性,確保數據在傳輸過程中不被改變。
B. WEB伺服器如何配置SSL
隨著Windows Server 2003操作系統的推出,Windows平台的安全性和易用性大大增強,然而,在默認情況下,IIS使用HTTP協議以明文形式傳輸數據,沒有採取任何加密措施,用戶的重要數據很容易被竊取,如何才能保護區域網中的這些重要數據呢?下面筆者就介紹一下如何使用SSL增強IIS伺服器的通信安全。
一、什麼是SSL
SSL(Security Socket Layer)全稱是加密套接字協議層,它位於HTTP協議層和TCP協議層之間,用於建立用戶與伺服器之間的加密通信,確保所傳遞信息的安全性,同時SSL安全機制是依靠數字證書來實現的。
SSL基於公用密鑰和私人密鑰,用戶使用公用密鑰來加密數據,但解密數據必須使用相應的私人密鑰。使用SSL安全機制的通信過程如下:用戶與IIS伺服器建立連接後,伺服器會把數字證書與公用密鑰發送給用戶,用戶端生成會話密鑰,並用公共密鑰對會話密鑰進行加密,然後傳遞給伺服器,伺服器端用私人密鑰進行解密,這樣,用戶端和伺服器端就建立了一條安全通道,只有SSL允許的用戶才能與IIS伺服器進行通信。
提示:SSL網站不同於一般的Web站點,它使用的是「HTTPS」協議,而不是普通的「HTTP」協議。因此它的URL(統一資源定位器)格式為「https://網站域名」。
二、安裝證書服務
要想使用SSL安全機制功能,首先必須為Windows Server 2003系統安裝證書服務。
進入「控制面板」,運行「添加或刪除程序」,接著進入「Windows組件向導」對話框,勾選「證書服務」選項,點擊「下一步」按鈕,接著選擇CA類型。這里選擇「獨立根CA」,點擊「下一步」按鈕,為自己的CA伺服器取個名字,設置證書的有效期限,最後指定證書資料庫和證書資料庫日誌的位置,就可完成證書服務的安裝。
三、配置SSL網站
1.創建請求證書文件
完成了證書服務的安裝後,就可以為要使用SSL安全機制的網站創建請求證書文件。點擊「控制面板→管理工具」,運行「Internet 信息服務-IIS 管理器」,在管理器窗口中展開「網站」目錄,右鍵點擊要使用SSL的網站,選擇「屬性」選項,在網站屬性對話框中切換到「目錄安全性」標簽頁(圖1),然後點擊「伺服器證書」按鈕。在「IIS證書向導」對話框中選擇「新建證書」,點擊「下一步」按鈕,選擇「現在准備證書請求,但稍後發送」。在「名稱」輸入框中為該證書取名,然後在「位長」下拉列表中選擇密鑰的位長。接著設置證書的單位、部門、站點公用名稱和地理信息,最後指定請求證書文件的保存位置。這樣就完成了請求證書文件的創建。
2.申請伺服器證書
完成上述設置後,還要把創建的請求證書文件提交給證書伺服器。在伺服器端的IE瀏覽器地址欄中輸入「http://localhost/CertSrv/default.asp」。在「Microsoft 證書服務」歡迎窗口中點擊「申請一個證書」鏈接,接下來在證書申請類型中點擊「高級證書申請」鏈接,然後在高級證書申請窗口中點擊「使用BASE64編碼的CMC或PKCS#10....」鏈接,再打開剛剛生成的「certreq.txt」文件,將其中的內容復制到「保存的申請」輸入框後點擊「提交」按鈕即可。
3.頒發伺服器證書
點擊「控制面板→管理工具」,運行「證書頒發機構」。在主窗口中展開樹狀目錄,點擊「掛起的申請」項(圖2),找到剛才申請的證書,然後右鍵點擊該項,選擇「所有任務→頒發」。頒發成功後,點擊樹狀目錄中的「頒發的證書」項,雙擊剛才頒發的證書,在彈出的「證書」對話框的「詳細信息」標簽頁中,點擊「復制到文件」按鈕,彈出證書導出向導,連續點擊「下一步」按鈕,並在「要導出的文件」對話框中指定文件名,最後點擊「完成」。
4.安裝伺服器證書
重新進入IIS管理器的「目錄安全性」標簽頁,點擊「伺服器證書」按鈕,彈出「掛起的證書請求」對話框,選擇「處理掛起的請求並安裝證書」選項,點擊「下一步」按鈕,指定剛才導出的伺服器證書文件的位置,接著設置SSL埠,使用默認的「443」即可,最後點擊「完成」按鈕。
在「目錄安全性」標簽頁,點擊安全通信欄的「編輯」按鈕,勾選「要求安全通道(SSL)」選項,最後點擊「確定」按鈕即可啟用SSL。
在完成了對SSL網站的配置後,用戶只要在IE瀏覽器中輸入「https://網站域名」就能訪問該網站。
http://wenku..com/link?url=R-_
C. 什麼是SSL如何使用
SSL證書是什麼?
SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網路通信提供安全及數據完整性的一種安全協議,TLS/SSL在傳輸層對網路連接進行加密。
SSL證書是數字證書的一種,通過在瀏覽器端和伺服器端之間建立一條SSL安全通道,實現數據加密傳輸,確保通訊信息的安全性和完整性。因為配置在伺服器上,所以也被稱為SSL伺服器證書。
SSL證書的作用:
1、網站實現加密傳輸,加強隱私安全保護
2、認證伺服器真實身份,防止釣魚網站仿冒
3、有利於提高網站搜索排名及收錄
4、提高公司品牌形象和可信度
如何使用SSL證書
一、靜態超鏈接
這是目前網站中使用得比較多的做法,在那麼多的操作方法中算是最簡單的了。一般在SSL使用進行傳輸的時候鏈接中會直接標明要使用HTTPS的協議證書這種情況
二、資源訪問限制
這是為了保護WEB應用中的敏感數據,防止資源的非法訪問和保證傳輸的安全性
D. SSl是什麼意思
SSl是一種安全協議。
SSL(Secure Sockets Layer)及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網路通信提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層對網路連接進行加密。
SSL為Netscape所研發,用以保障在Internet上數據傳輸之安全,利用數據加密技術,可確保數據在網路上之傳輸過程中不會被截取及竊聽。一般通用之規格為40 bit之安全標准,美國則已推出128 bit之更高安全標准,但限制出境。
SSL協議位於TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持。廣泛地用於Web瀏覽器與伺服器之間的身份認證和加密數據傳輸。
(4)什麼是支持ssl的web伺服器擴展閱讀:
ssl的應用:
1、extended validation ssl certificates翻譯為中文即擴展驗證(EV)SSL證書,該證書經過最徹底的身份驗證,確保證書持有組織的真實性。獨有的綠色地址欄技術將循環顯示組織名稱和作為CA的GlobalSign名稱,從而最大限度上確保網站的安全性,樹立網站可信形象,不給欺詐釣魚網站以可乘之機。
2、對線上購物者來說,綠色地址欄是驗證網站身份及安全性的最簡便可靠的方式。在IE7.0、FireFox3.0、Opera 9.5等新一代高安全瀏覽器下,使用擴展驗證(EV)SSL證書的網站的瀏覽器地址欄會自動呈現綠色,從而清晰地告訴用戶正在訪問的網站是經過嚴格認證的。
3、此外綠色地址欄臨近的區域還會顯示網站所有者的名稱和頒發證書CA機構名稱,這些均向客戶傳遞同一信息,該網站身份可信,信息傳遞安全可靠,而非釣魚網站。
E. 什麼是ssl,通常使用於什麼環境
SSL 證書就是遵守 SSL 安全套接層協議的伺服器數字證書。而 SSL 安全協議最初是由美國網景 Netscape Communication 公司設計開發的,全稱為:安全套接層協議 (Secure Sockets Layer) , 它指定了在應用程序協議 ( 如 HTTP 、 Telnet 、 FTP) 和 TCP/IP 之間提供數據安全性分層的機制,它是在傳輸通信協議 (TCP/IP) 上實現的一種安全協議,採用公開密鑰技術,它為 TCP/IP 連接提供數據加密、伺服器認證、消息完整性以及可選的客戶機認證。由於此協議很好地解決了互聯網明文傳輸的不安全問題,很快得到了業界的支持,並已經成為國際標准。
F. 什麼是SSL協議,SSL協議是什麼意思
SSL證書是一種數字證書,主要是給予網站HTTPS安全協議加密傳輸與信任的功能。SSL證書擁有數字加密與認證過程,加密協議可以保護網站。
G. 什麼是ssl
ssl加密的方法
關鍵詞: ssl加密的方法
隨著計算機網路技術的發展,方便快捷的互連網使人們漸漸習慣了從Web頁上收發E-mail、購物和
交易,這時Web頁面上需要傳輸重要或敏感的數據,例如用戶的銀行帳戶、密碼等,所以網路安全
就成為現代計算機網路應用急需解決的問題。
現行網上銀行和電子商務等大型的網上交易系統普遍採用HTTP和SSL相結合的方式。伺服器端採用
支持SSL的Web伺服器,用戶端採用支持SSL的瀏覽器實現安全通信。
SSL是Secure Socket Layer(安全套接層協議)的縮寫,可以在Internet上提供秘密性傳輸。
Netscape公司在推出第一個Web瀏覽器的同時,提出了SSL協議標准,目前已有3.0版本。SSL採用公
開密鑰技術。其目標是保證兩個應用間通信的保密性和可靠性,可在伺服器端和用戶端同時實現支
持。目前,利用公開密鑰技術的SSL協議,已成為Internet上保密通訊的工業標准。本文著重在
SSL協議和SSL程序設計兩方面談談作者對SSL的理解。
SSL協議初步介紹
安全套接層協議能使用戶/伺服器應用之間的通信不被攻擊者竊聽,並且始終對伺服器進行認證,
還可選擇對用戶進行認證。SSL協議要求建立在可靠的傳輸層協議(TCP)之上。SSL協議的優勢在於
它是與應用層協議獨立無關的,高層的應用層協議(例如:HTTP,FTP,TELNET等)能透明地建立於
SSL協議之上。SSL協議在應用層協議通信之前就已經完成加密演算法、通信密鑰的協商及伺服器認證
工作。在此之後應用層協議所傳送的數據都會被加密,從而保證通信的私密性。
通過以上敘述,SSL協議提供的安全信道有以下三個特性:
1.數據的保密性
信息加密就是把明碼的輸入文件用加密演算法轉換成加密的文件以實現數據的保密。加密的過程需要
用到密匙來加密數據然後再解密。沒有了密鑰,就無法解開加密的數據。數據加密之後,只有密匙
要用一個安全的方法傳送。加密過的數據可以公開地傳送。
2.數據的一致性
加密也能保證數據的一致性。例如:消息驗證碼(MAC),能夠校驗用戶提供的加密信息,接收者可
以用MAC來校驗加密數據,保證數據在傳輸過程中沒有被篡改過。
3.安全驗證
加密的另外一個用途是用來作為個人的標識,用戶的密匙可以作為他的安全驗證的標識。
SSL是利用公開密鑰的加密技術(RSA)來作為用戶端與伺服器端在傳送機密資料時的加密通訊協定。
目前,大部分的Web 伺服器及瀏覽器都廣泛支持SSL 技術。當瀏覽器試圖連接一個具有SSL認證加
密的伺服器時,就會喚醒一個SSL會話,瀏覽器檢查認證,必須具備下面三個條件:
1)有一個權威機構發放證書,當然可以創建自我簽訂的證書(x509 結構)。
2)證書不能過期。
3)證書是屬於它所連接的伺服器的。
只有全部具備了這三個條件,瀏覽器才能成功完成認證。通過這三個條件,用戶能確認其瀏覽器連接
到正確的伺服器,而不是連接到一些想盜取用戶密碼等重要信息的虛假的伺服器上。
在當今的電子商務中還有一項被廣泛使用的安全協議是SET協議。SET(Secure Electronic Transaction,
安全電子交易)協議是由VISA和MasterCard兩大信用卡公司於1997年5月聯合推出的規范。SET能在電
子交易環節上提供更大的信任度、更完整的交易信息、更高的安全性和更少受欺詐的可能性。SET交
易分三個階段進行:用戶向商家購物並確定支付;商家與銀行核實;銀行向商家支付貨款。每個階段都
涉及到RSA對數據加密,以及RSA數字簽名。使用SET協議,在一次交易中,要完成多次加密與解密操作,
故有很高的安全性,但SET協議比SSL協議復雜,商家和銀行都需要改造系統以實現互操作。
在Linux 下,比較流行支持SSL認證的是OpenSSL伺服器。OpenSSL項目是一個合作的項目,開發一個
健壯的、商業等級的、完整的開放源代碼的工具包,用強大的加密演算法來實現安全的Socket層
(Secure Sockets Layer,SSL v2/v3)和傳輸層的安全性(Transport Layer Security,TLS v1)。
這個項目是由全世界的志願者管理和開發OpenSSL工具包和相關文檔。
如何在Linux下配置OpenSSL伺服器,首先從OpenSSL的主頁(http://www.openssl.org/)上下載
openssl-version.tar.gz軟體包來編譯安裝,與Apache伺服器配合可以建立支持SSL的Web伺服器,
並可以使用自我簽訂的證書做認證,關於如何編譯、安裝OpenSSL伺服器,可以參考一下OpenSSL HOWTO
文檔。
SSL 程序設計初步介紹
SSL 通訊模型為標準的C/S 結構,除了在 TCP 層之上進行傳輸之外,與一般的通訊沒有什麼明顯的區
別。在這里,我們主要介紹如何使用OpenSSL進行安全通訊的程序設計。關於OpenSSL 的一些詳細的信
息請參考OpenSSL的官方主頁 http://www.openssl.org。
在使用OpenSSL前,必須先對OpenSSL 進行初始化,以下的三個函數任選其一:
SSL_library_init(void);
OpenSSL_add_ssl_algorithms();
SSLeay_add_ssl_algorithms();
事實上 後面的兩個函數只是第一個函數的宏。
如果要使用OpenSSL的出錯信息,使用SSL_load_error_strings (void)進行錯誤信息的初始化。以後
可以使用void ERR_print_errors_fp(FILE *fp) 列印SSL的錯誤信息。
一次SSL連接會話一般要先申請一個SSL 環境,基本的過程是:
1. SSL_METHOD* meth = TLSv1_client_method(); 創建本次會話連接所使用的協議,如果是客戶端可
以使用
SSL_METHOD* TLSv1_client_method(void); TLSv1.0 協議
SSL_METHOD* SSLv2_client_method(void); SSLv2 協議
SSL_METHOD* SSLv3_client_method(void); SSLv3 協議
SSL_METHOD* SSLv23_client_method(void); SSLv2/v3 協議
伺服器同樣需要創建本次會話所使用的協議:
SSL_METHOD *TLSv1_server_method(void);
SSL_METHOD *SSLv2_server_method(void);
SSL_METHOD *SSLv3_server_method(void);
SSL_METHOD *SSLv23_server_method(void);
需要注意的是客戶端和伺服器需要使用相同的協議。
2.申請SSL會話的環境 CTX,使用不同的協議進行會話,其環境也是不同的。申請SSL會話環
境的OpenSSL函數是
SSLK_CTX* SSL_CTX_new (SSL_METHOD*); 參數就是前面我們申請的 SSL通訊方式。返回當前
的SSL 連接環境的指針。
然後根據自己的需要設置CTX的屬性,典型的是設置SSL 握手階段證書的驗證方式和載入自己
的證書。
void SSL_CTX_set_verify (SSL_CTX* , int , int* (int, X509_STORE_CTX*) )
設置證書驗證的方式。
第一個參數是當前的CTX 指針,第二個是驗證方式,如果是要驗證對方的話,就使用
SSL_VERIFY_PEER。不需要的話,使用SSL_VERIFY_NONE.一般情況下,客戶端需要驗證對方,而
伺服器不需要。第三個參數是處理驗證的回調函數,如果沒有特殊的需要,使用空指針就可以了。
void SSL_CTX_load_verify_locations(SSL_CTX*, const char* , const char*);
載入證書;
第一個參數同上,參數二是證書文件的名稱,參數三是證書文件的路徑;
int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type);
載入本地的證書;type 指明證書文件的結構類型;失敗返回-1
int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type);
載入自己的私鑰;type 參數指明私鑰文件的結構類型;失敗返回-1
載入了證書和文件之後,就可以驗證私鑰和證書是否相符:
BOOl SSL_CTX_check_private_key (SSL_CTX*);
3.既然SSL 使用TCP 協議,當然需要把SSL attach 到已經連接的套接字上了:
SSL* SSL_new (SSL_CTX*); 申請一個SSL 套節字;
int SSL_set_rfd (SSL*); 綁定只讀套接字
int SSL_set_wfd (SSL*); 綁定只寫套接字
int SSL_set_fd ( SSL*); 綁定讀寫套接字
綁定成功返回 1, 失敗返回0;
4. 接下來就是SSL 握手的動作了
int SSL_connect (SSL*); 失敗返回 -1
5. 握手成功之後,就可以進行通訊了,使用SSL_read 和SS_write 讀寫SSL 套接字代替傳統的
read 、write
int SSL_read (SSL *ssl, char *buf, int num );
int SSL_write (SSL *ssl, char *buf, int num);
如果是伺服器,則使用 SSL_accept 代替傳統的 accept 調用
int SSL_accept(SSL *ssl);
6. 通訊結束,需要釋放前面申請的 SSL資源
int SSL_shutdown(SSL *ssl); 關閉SSL套接字;
void SSL_free (ssl); 釋放SSL套接字;
void SSL_CTX_free (ctx); 釋放SSL環境;
OpenSSL 雖然已經發展到了0.9.96版本,但是它的文檔還很少,甚至連最基本的man 函數手
冊都沒有完成。所以,本文緊緊是講述了使用OpenSSL 進行程序設計的框架。更加詳細的資
料可以參考OpenSSL 的文檔或者 Apache mod_ssl 的文檔。
通過以上的介紹,我想讀者對SSL協議已經有了一定的了解,作者有機會將會繼續給大家介紹
SSL協議的其他方面的內容。
SSL原理解密
本文出自:
http://noc.cstnet.net.cn/
范曉明
RSA公鑰加密在計算機產業中被廣泛使用在認證和加密。可以從RSA Data Security Inc.獲得的RSA公鑰加密許可證。公鑰加密是使用一對非對稱的密碼加密或解密的方法。每一對密碼由公鑰和私鑰組成。公鑰被廣泛發布。私鑰是隱密的,不公開。用公鑰加密的數據只能夠被私鑰解密。反過來,使用私鑰加密的數據只能用公鑰解密。這個非對稱的特性使得公鑰加密很有用。
使用公鑰加密法認證
認證是一個身份認證的過程。在下列例子中包括甲和乙,公鑰加密會非常輕松地校驗身份。符號{數據} key意味著"數據"已經使用密碼加密或解密。假如甲想校驗乙的身份。乙有一對密碼,一個是公開的,另一個是私有的。乙透露給甲他的公鑰。甲產生一個隨機信息發送給乙。甲——〉乙:random-message
乙使用他的私鑰加密消息,返回甲加密後的消息。 乙——〉甲:{random-message}乙的私鑰
甲收到這個消息然後使用乙的以前公開過的公鑰解密。他比較解密後的消息與他原先發給乙的消息。如果它們完全一致,就會知道在與乙說話。任意一個中間人不會知道乙的私鑰,也不能正確加密甲檢查的隨機消息。
除非你清楚知道你加密的消息。用私鑰加密消息,然後發送給其他人不是一個好主意。因為加密值可能被用來對付你,需要注意的是:因為只有你才有私鑰,所以只有你才能加密消息。所以,代替加密甲發來的原始消息,乙創建了一個信息段並且加密。信息段取自隨機消息(random-message)並具有以下有用的特性:
1. 這個信息段難以還原。任何人即使偽裝成乙,也不能從信息段中得到原始消息;
2. 假冒者將發現不同的消息計算出相同的信息段值;
3. 使用信息段,乙能夠保護自己。他計算甲發出的隨機信息段,並且加密結果,並發送加密信息段返回甲。甲能夠計算出相同的信息段並且解密乙的消息認證乙。
這個技術僅僅描繪了數字簽名。通過加密甲產生的隨機消息,乙已經在甲產生的消息簽名。因此我們的認證協議還需要一次加密。一些消息由乙產生:
甲——〉乙:你好,你是乙么?
乙——〉甲:甲,我是乙
{信息段[甲,我是乙] } 乙的私鑰
當你使用這個協議,乙知道他發送給乙的消息,他不介意在上面簽名。他先發送不加密的信息,"甲,我是乙。",然後發送信息段加密的消息版本。甲可以非常方便地校驗乙就是乙,同時,乙還沒有在他不想要的信息上簽名。
提交公鑰
那麼,乙怎樣以可信的方式提交他的公鑰呢?看看認證協議如下所示:
甲——〉乙:你好
乙——〉甲:嗨,我是乙,乙的公鑰
甲——〉乙:prove it
乙——〉甲:甲,我是乙 {信息段[甲,我是乙] } 乙的私鑰
在這個協議下,任何人都能夠成為"乙"。所有你所要的只是公鑰和私鑰。你發送給甲說你就是乙,這樣你的公鑰就代替了乙的密碼。然後,你發送用你的私鑰加密的消息,證明你的身份。甲卻不能發覺你並不是乙。為了解決這個問題,標准組織已經發明了證書。一個證書有以下的內容:
* 證書的發行者姓名
* 發行證書的組織
* 標題的公鑰
* 郵戳
證書使用發行者的私鑰加密。每一個人都知道證書發行者的公鑰(這樣,每個證書的發行者擁有一個證書)。證書是一個把公鑰與姓名綁定的協議。通過使用證書技術,每一個人都可以檢查乙的證書,判斷是否被假冒。假設乙控制好他的私鑰,並且他確實是得到證書的乙,就萬事大吉了。
這些是修訂後的協議:
甲——〉乙:你好
乙——〉甲:嗨,我是乙,乙的校驗
甲——〉乙:prove it
乙——〉甲:甲,我是乙 {信息段[甲, 我是乙] } 乙的私鑰
現在當甲收到乙的第一個消息,他能檢查證書,簽名(如上所述,使用信息段和公鑰解密),然後檢查標題(乙的姓名),確定是乙。他就能相信公鑰就是乙的公鑰和要求乙證明自己的身份。乙通過上面的過程,製作一個信息段,用一個簽名版本答復甲。甲可以校驗乙的信息段通過使用從證書上得到的公鑰並檢查結果。
如果一個黑客,叫H
甲——〉H:你好
H——〉不能建立一個令甲相信的從乙的消息。
交換密碼(secret)
一旦甲已經驗證乙後,他可以發送給乙一個只有乙可以解密、閱讀的消息:
甲——〉乙:{secret}乙的公鑰
唯一找到密碼的方法只有使用乙的私鑰解碼上述的信息。交換密碼是另一個有效使用密碼加密的方法。即使在甲和乙之間的通訊被偵聽,只有乙才能得到密碼。
使用密碼作為另一個secret-key增強了網路的安全性,但是這次這是一個對稱的加密演算法(例如DES、RC4、IDE甲)。因為甲在發送給乙之前產生了密碼,所以甲知道密碼。乙知道密碼因為乙有私鑰,能夠解密甲的信息。但他們都知道密碼,他們都能夠初始化一個對稱密碼演算法,而且開始發送加密後的信息。這兒是修定後的協議:
甲——〉乙:你好
乙——〉甲:嗨,我是乙,乙的校驗
甲——〉乙:prove it
乙——〉甲:甲,我是乙 {信息段[甲,我是乙] }乙的私鑰
甲——〉乙:ok 乙,here is a secret {secret}乙的公鑰
乙——〉甲:{some message}secret-key
黑客竊聽
那麼如果有一個惡意的黑客H在甲和乙中間,雖然不能發現甲和乙已經交換的密碼,但能幹擾他們的交談。他可以放過大部分信息,選擇破壞一定的信息(這是非常簡單的,因為他知道甲和乙通話採用的協議)。
甲——〉H:你好
H——〉乙:你好
乙——〉H:嗨,我是乙,乙的校驗
H——〉甲:嗨,我是乙,乙的校驗
甲——〉H:prove it
H——〉乙:prove it
乙——〉H:甲,我是乙 {信息段[甲,我是乙] }乙的私鑰
H——〉甲:甲,我是乙 {信息段[甲,我是乙] }乙的私鑰
甲——〉H:ok 乙,here is a secret {secret} 乙的公鑰
H——〉乙:ok 乙,here is a secret {secret} 乙的公鑰
乙——〉H:{some message}secret-key
H——〉甲:Garble[{some message}secret-key ]
H忽略一些數據不修改,直到甲和乙交換密碼。然後H干擾乙給甲的信息。在這一點上,甲相信乙,所以他可能相信已經被干擾的消息並且盡力解密。
需要注意的是,H不知道密碼,他所能做的就是毀壞使用秘鑰加密後的數據。基於協議,H可能不能產生一個有效的消息。但下一次呢?
為了阻止這種破壞,甲和乙在他們的協議中產生一個校驗碼消息(message authentication code)。一個校驗碼消息(MAC)是一部分由密碼和一些傳輸消息產生的數據。信息段演算法描述的上述特性正是它們抵禦H的功能:
MAC= Digest[some message,secret ]
因為H不知道密碼,他不能得出正確的值。即使H隨機干擾消息,只要數據量大,他成功的機會微乎其微。例如,使用HD5(一個RSA發明的好的加密演算法),甲和乙能夠發送128位MAC值和他們的消息。H猜測正確的MAC的幾率將近1/18,446,744,073,709,551,616約等於零。
這是又一次修改後的協議:
甲——〉乙:你好
乙——〉甲:嗨,我是乙,乙的校驗
甲——〉乙:prove it
乙——〉甲:嗨,我是乙,乙的校驗
甲,我是乙
{信息段[甲,我是乙] } 乙的私鑰
ok 乙,here is a secret {secret} 乙的公鑰
{some message,MAC}secret-key
現在H已經無技可施了。他干擾了得到的所有消息,但MAC計算機能夠發現他。甲和乙能夠發現偽造的MAC值並且停止交談。H不再能與乙通訊。
OpenSSL FAQ
H. SSL是什麼如何使用
SSL證書,也稱為伺服器SSL證書,是遵守SSL協議的一種數字證書,由全球信任的證書頒發機構(CA)驗證伺服器身份後頒發。將SSL證書安裝在網站伺服器上,可實現網站身份驗證和數據加密傳輸雙重功能。
如何使用SSL:
SSL證書需要到CA機構申請,然後部署到網站的伺服器端,網站就可以實現ssl加密訪問了。申請SSL可以淘寶Gworg獲取。
I. 你知道什麼是SSL
http://ke..com/view/16147.htm
SSL (Secure Socket Layer)
為Netscape所研發,用以保障在Internet上數據傳輸之安全,利用數據加密(Encryption)技術,可確保數據在網路
上之傳輸過程中不會被截取及竊聽。目前一般通用之規格為40 bit之安全標准,美國則已推出128 bit之更高安全
標准,但限制出境。只要3.0版本以上之I.E.或Netscape瀏覽器即可支持SSL。
當前版本為3.0。它已被廣泛地用於Web瀏覽器與伺服器之間的身份認證和加密數據傳輸。
SSL協議位於TCP/IP協議與各種應用層協議之間,為數據通訊提供安全支持。SSL協議可分為兩層: SSL記錄協議(SSL Record Protocol):它建立在可靠的傳輸協議(如TCP)之上,為高層協議提供數據封裝、壓縮、加密等基本功能的支持。 SSL握手協議(SSL Handshake Protocol):它建立在SSL記錄協議之上,用於在實際的數據傳輸開始前,通訊雙方進行身份認證、協商加密演算法、交換加密密鑰等。
SSL協議提供的服務主要有:
1)認證用戶和伺服器,確保數據發送到正確的客戶機和伺服器;
2)加密數據以防止數據中途被竊取;
3)維護數據的完整性,確保數據在傳輸過程中不被改變。
SSL協議的工作流程:
伺服器認證階段:1)客戶端向伺服器發送一個開始信息「Hello」以便開始一個新的會話連接;2)伺服器根據客戶的信息確定是否需要生成新的主密鑰,如需要則伺服器在響應客戶的「Hello」信息時將包含生成主密鑰所需的信息;3)客戶根據收到的伺服器響應信息,產生一個主密鑰,並用伺服器的公開密鑰加密後傳給伺服器;4)伺服器恢復該主密鑰,並返回給客戶一個用主密鑰認證的信息,以此讓客戶認證伺服器。
用戶認證階段:在此之前,伺服器已經通過了客戶認證,這一階段主要完成對客戶的認證。經認證的伺服器發送一個提問給客戶,客戶則返回(數字)簽名後的提問和其公開密鑰,從而向伺服器提供認證。
從SSL 協議所提供的服務及其工作流程可以看出,SSL協議運行的基礎是商家對消費者信息保密的承諾,這就有利於商家而不利於消費者。在電子商務初級階段,由於運作電子商務的企業大多是信譽較高的大公司,因此這問題還沒有充分暴露出來。但隨著電子商務的發展,各中小型公司也參與進來,這樣在電子支付過程中的單一認證問題就越來越突出。雖然在SSL3.0中通過數字簽名和數字證書可實現瀏覽器和Web伺服器雙方的身份驗證,但是SSL協議仍存在一些問題,比如,只能提供交易中客戶與伺服器間的雙方認證,在涉及多方的電子交易中,SSL協議並不能協調各方間的安全傳輸和信任關系。在這種情況下,Visa和 MasterCard兩大信用卡公組織制定了SET協議,為網上信用卡支付提供了全球性的標准。