成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

HTTPS原理

HTTPS 原理詳解HTTPS (全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標(biāo)的HTTP 通道,簡單講是HTTP 的

HTTPS 原理詳解

HTTPS (全稱:Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標(biāo)的HTTP 通道,簡單講是HTTP 的安全版。即HTTP 下加入SSL 層,HTTPS 的安全基礎(chǔ)是SSL ,因此加密的詳細(xì)內(nèi)容請(qǐng)看SSL 。 它是一個(gè)URI scheme (抽象標(biāo)識(shí)符體系),句法類同http:體系。用于安全的HTTP 數(shù)據(jù)傳輸。https:URL表明它使用了HTTP ,但HTTPS 存在不同于HTTP 的默認(rèn)端口及一個(gè)加密/身份驗(yàn)證層(在HTTP 與TCP 之間)。這個(gè)系統(tǒng)的最初研發(fā)由網(wǎng)景公司進(jìn)行,提供了身份驗(yàn)證與加密通訊方法,現(xiàn)在它被廣泛用于萬維網(wǎng)上安全敏感的通訊,例如交易支付方面。

它是由Netscape 開發(fā)并內(nèi)置于其瀏覽器中,用于對(duì)數(shù)據(jù)進(jìn)行壓縮和解壓操作,并返回網(wǎng)絡(luò)上傳送回的結(jié)果。HTTPS 實(shí)際上應(yīng)用了Netscape 的安全套接字層(SSL )作為HTTP 應(yīng)用層的子層。(HTTPS 使用端口443,而不是象HTTP 那樣使用端口80來和TCP/IP進(jìn)行通信。)SSL 使用40 位關(guān)鍵字作為RC4流加密算法,這對(duì)于商業(yè)信息的加密是合適的。HTTPS 和SSL 支持使用X.509數(shù)字認(rèn)證,如果需要的話用戶可以確認(rèn)發(fā)送者是誰。

也就是說它的主要作用可以分為兩種:一種是建立一個(gè)信息安全通道,來保證數(shù)據(jù)傳輸?shù)陌踩涣硪环N就是確認(rèn)網(wǎng)站的真實(shí)性。

它是一個(gè)URI scheme(抽象標(biāo)識(shí)符體系) ,句法類同http:體系。用于安全的HTTP 數(shù)據(jù)傳輸。https:URL表明它使用了HTTP ,但HTTPS 存在不同于HTTP 的默認(rèn)端口及一個(gè)加密/身份驗(yàn)證層(在HTTP 與TCP 之間)。這個(gè)系統(tǒng)的最初研發(fā)由網(wǎng)景公司進(jìn)行,提供了身份驗(yàn)證與加密通訊方法,現(xiàn)在它被廣泛用于萬維網(wǎng)上安全敏感的通訊,例如交易支付方面。

限制

它的安全保護(hù)依賴瀏覽器的正確實(shí)現(xiàn)以及服務(wù)器軟件、實(shí)際加密算法的支持.

一種常見的誤解是“銀行用戶在線使用https: 就能充分徹底保障他們的銀行卡號(hào)不被偷竊?!睂?shí)際上,與服務(wù)器的加密連接中能保護(hù)銀行卡號(hào)的部分,只有用戶到服務(wù)器之間的連接及服務(wù)器自身。并不能絕對(duì)確 保服務(wù)器自己是安全的,這點(diǎn)甚至已被攻擊者利用,常見例子是模仿銀行域名的釣魚攻擊。少數(shù)罕見攻擊在網(wǎng)站傳輸客戶數(shù)據(jù)時(shí)發(fā)生,攻擊者嘗試竊聽數(shù)據(jù)于傳輸 中。

商業(yè)網(wǎng)站被人們期望迅速盡早引入新的特殊處理程序到金融網(wǎng)關(guān),僅保留傳輸碼(transaction number) 。不過他們常常存儲(chǔ)銀行卡號(hào)在同一個(gè)數(shù)據(jù)庫里。那些數(shù)據(jù)庫和服務(wù)器少數(shù)情況有可能被未授權(quán)用戶攻擊和損害。 TLS 1.1之前

這段僅針對(duì)TLS 1.1之前的狀況。因?yàn)镾SL 位于http 的下一層,并不能理解更高層協(xié)議,通常SSL 服務(wù)器僅能頒證給特定的IP/端口組合。這是指它經(jīng)常不能在虛擬主機(jī)(基于域名) 上與HTTP 正常組合成HTTPS 。 這一點(diǎn)已被更新在即將來臨的TLS 1.1中—會(huì)完全支持基于域名的虛擬主機(jī)。

SSL 介紹

SSL (Secure Socket Layer)

為Netscape 所研發(fā),用以保障在Internet 上數(shù)據(jù)傳輸之安全,利用數(shù)據(jù)加密(Encryption)技術(shù),可確保數(shù)據(jù)在網(wǎng)絡(luò)

上之傳輸過程中不會(huì)被截取及竊聽。目前一般通用之規(guī)格為40 bit之安全標(biāo)準(zhǔn),美國則已推出128 bit之更高安全

標(biāo)準(zhǔn),但限制出境。只要3.0版本以上之I.E. 或Netscape 瀏覽器即可支持SSL 。

當(dāng)前版本為3.0。它已被廣泛地用于Web 瀏覽器與服務(wù)器之間的身份認(rèn)證和加密數(shù)據(jù)傳輸。

SSL 協(xié)議位于TCP/IP協(xié)議與各種應(yīng)用層協(xié)議之間,為數(shù)據(jù)通訊提供安全支持。SSL 協(xié)議可分為兩層: SSL記錄協(xié)議(SSL Record Protocol ):它建立在可靠的傳輸協(xié)議(如TCP )之上,為高層協(xié)議提供數(shù)據(jù)封裝、壓縮、加密等基本功能的支持。 SSL握手協(xié)議(SSL Handshake Protocol ):它建立在SSL 記錄協(xié)議之上,用于在實(shí)際的數(shù)據(jù)傳輸開始前,通訊雙方進(jìn)行身份認(rèn)證、協(xié)商加密算法、交換加密密鑰等。

SSL 協(xié)議提供的服務(wù)主要有:

1)認(rèn)證用戶和服務(wù)器,確保數(shù)據(jù)發(fā)送到正確的客戶機(jī)和服務(wù)器;

2)加密數(shù)據(jù)以防止數(shù)據(jù)中途被竊?。?/p>

1 / 4

,

3)維護(hù)數(shù)據(jù)的完整性,確保數(shù)據(jù)在傳輸過程中不被改變。

SSL 協(xié)議的工作流程:

服務(wù)器認(rèn)證階段:1)客戶端向服務(wù)器發(fā)送一個(gè)開始信息“Hello”以便開始一個(gè)新的會(huì)話連接;2)服務(wù)器根據(jù)客戶的信息確定是否需要生成新的主密鑰, 如需要?jiǎng)t服務(wù)器在響應(yīng)客戶的“Hello”信息時(shí)將包含生成主密鑰所需的信息;3)客戶根據(jù)收到的服務(wù)器響應(yīng)信息,產(chǎn)生一個(gè)主密鑰,并用服務(wù)器的公開密鑰 加密后傳給服務(wù)器;4)服務(wù)器恢復(fù)該主密鑰,并返回給客戶一個(gè)用主密鑰認(rèn)證的信息,以此讓客戶認(rèn)證服務(wù)器。

用戶認(rèn)證階段:在此之前,服務(wù)器已經(jīng)通過了客戶認(rèn)證,這一階段主要完成對(duì)客戶的認(rèn)證。經(jīng)認(rèn)證的服務(wù)器發(fā)送一個(gè)提問給客戶,客戶則返回(數(shù)字)簽名后的提問和其公開密鑰,從而向服務(wù)器提供認(rèn)證。

從SSL 協(xié)議所提供的服務(wù)及其工作流程可以看出,SSL 協(xié)議運(yùn)行的基礎(chǔ)是商家對(duì)消費(fèi)者信息保密的承諾,這就有利于商家而不利于消費(fèi)者。在電子商務(wù)初級(jí)階段,由于運(yùn) 作電子商務(wù)的企業(yè)大多是信譽(yù)較高的大公司,因此這問題還沒有充分暴露出來。但隨著電子商務(wù)的發(fā)展,各中小型公司也參與進(jìn)來,這樣在電子支付過程中的單一認(rèn) 證問題就越來越突出。雖然在SSL3.0中通過數(shù)字簽名和數(shù)字證書可實(shí)現(xiàn)瀏覽器和Web 服務(wù)器雙方的身份驗(yàn)證,但是SSL 協(xié)議仍存在一些問題,比如,只能 提供交易中客戶與服務(wù)器間的雙方認(rèn)證,在涉及多方的電子交易中,SSL 協(xié)議并不能協(xié)調(diào)各方間的安全傳輸和信任關(guān)系。在這種情況下,Visa 和 MasterCard兩大信用卡公組織制定了SET 協(xié)議,為網(wǎng)上信用卡支付提供了全球性的標(biāo)準(zhǔn)。

SSL 協(xié)議的握手過程 為了便于更好的認(rèn)識(shí)和理解 SSL 協(xié)議,這里著重介紹 SSL 協(xié)議的握手協(xié)議。SSL 協(xié)議既用到了公鑰加密技術(shù)又用到了對(duì)稱加密技術(shù),對(duì)稱加密技術(shù)雖然比公鑰加密技術(shù)的速度快,可是公鑰加密技術(shù)提供了更好的身份認(rèn)證技術(shù)。SSL 的握手協(xié)議非常有效的讓客戶和服務(wù)器之間完成相互之間的身份認(rèn)證,其主要過程如下: ①客戶端的瀏覽器向服務(wù)器傳送客戶端 SSL 協(xié)議的版本號(hào),加密算法的種類,產(chǎn)生的隨機(jī)數(shù),以及其他服務(wù)器和客戶端之間通訊所需要的各種信息。

②服務(wù)器向客戶端傳送 SSL 協(xié)議的版本號(hào),加密算法的種類,隨機(jī)數(shù)以及其他相關(guān)信息,同時(shí)服務(wù)器還將向客戶端傳送自己的證書。

③客戶利用服務(wù)器傳過來的信息驗(yàn)證服務(wù)器的合法性,服務(wù)器的合法性包括:證書是否過期,發(fā)行服務(wù)器證書的 CA 是否可靠,發(fā)行者證書的公鑰能否正確解開服務(wù)器證書的“發(fā)行者的數(shù)字簽名”,服務(wù)器證書上的域名是否和服務(wù)器的實(shí)際域名相匹配。如果合法性驗(yàn)證沒有通過, 通訊將斷開;如果合法性驗(yàn)證通過,將繼續(xù)進(jìn)行第四步。 ④用戶端隨機(jī)產(chǎn)生一個(gè)用于后面通訊的“對(duì)稱密碼”,然后用服務(wù)器的公鑰(服務(wù)器的公鑰從步驟②中的服務(wù)器的證書中獲得)對(duì)其加密,然后將加密后的“預(yù)主密碼”傳給服務(wù)器。

⑤如果服務(wù)器要求客戶的身份認(rèn)證(在握手過程中為可選),用戶可以建立一個(gè)隨機(jī)數(shù)然后對(duì)其進(jìn)行數(shù)據(jù)簽名,將這個(gè)含有簽名的隨機(jī)數(shù)和客戶自己的證書以及加密過的“預(yù)主密碼”一起傳給服務(wù)器。

⑥如果服務(wù)器要求客戶的身份認(rèn)證,服務(wù)器必須檢驗(yàn)客戶證書和簽名隨機(jī)數(shù)的合法性,具體的合法性驗(yàn)證過程包括:客戶的證書使用日期是否有效,為客戶提供證 書的CA 是否可靠,發(fā)行CA 的公鑰能否正確解開客戶證書的發(fā)行 CA 的數(shù)字簽名,檢查客戶的證書是否在證書廢止列表(CRL )中。檢驗(yàn)如果沒有通過,通訊立刻中斷;如果驗(yàn)證通過,服務(wù)器將用自己的私鑰解開加密的“預(yù)主密碼 ”,然后執(zhí)行一系列步驟來產(chǎn)生主通訊密碼(客戶端也將通過同樣的方法產(chǎn)生相同的主通訊密碼)。

⑦服務(wù)器和客戶端用相同的主密碼即“通話密碼”,一個(gè)對(duì)稱密鑰用于 SSL 協(xié)議的安全數(shù)據(jù)通訊的加解密通訊。同時(shí)在 SSL 通訊過程中還要完成數(shù)據(jù)通訊的完整性,防止數(shù)據(jù)通訊中的任何變化。

⑧客戶端向服務(wù)器端發(fā)出信息,指明后面的數(shù)據(jù)通訊將使用的步驟⑦中的主密碼為對(duì)稱密鑰,同時(shí)通知服務(wù)器客戶端的握手過程結(jié)束。

⑨服務(wù)器向客戶端發(fā)出信息,指明后面的數(shù)據(jù)通訊將使用的步驟⑦中的主密碼為對(duì)稱密鑰,同時(shí)通知客戶端服務(wù)器端的握手過程結(jié)束。

⑩SSL 的握手部分結(jié)束,SSL 安全通道的數(shù)據(jù)通訊開始,客戶和服務(wù)器開始使用相同的對(duì)稱密鑰進(jìn)行數(shù)據(jù)通訊,同時(shí)進(jìn)行通訊完整性的檢驗(yàn)。

雙向認(rèn)證 SSL 協(xié)議的具體過程

① 瀏覽器發(fā)送一個(gè)連接請(qǐng)求給安全服務(wù)器。

② 服務(wù)器將自己的證書,以及同證書相關(guān)的信息發(fā)送給客戶瀏覽器。

③ 客戶瀏覽器檢查服務(wù)器送過來的證書是否是由自己信賴的 CA 中心所簽發(fā)的。如果是,就繼續(xù)執(zhí)行協(xié)議;如果不是,客戶瀏覽器就給客戶一個(gè)警告消息:警告客戶這個(gè)證書不是可以信賴的,詢問客戶是否需要繼續(xù)。

2 / 4

,

④ 接著客戶瀏覽器比較證書里的消息,例如域名和公鑰,與服務(wù)器剛剛發(fā)送的相關(guān)消息是否一致,如果是一致的,客戶瀏覽器認(rèn)可這個(gè)服務(wù)器的合法身份。

⑤ 服務(wù)器要求客戶發(fā)送客戶自己的證書。收到后,服務(wù)器驗(yàn)證客戶的證書,如果沒有通過驗(yàn)證,拒絕連接;如果通過驗(yàn)證,服務(wù)器獲得用戶的公鑰。

⑥ 客戶瀏覽器告訴服務(wù)器自己所能夠支持的通訊對(duì)稱密碼方案。

⑦ 服務(wù)器從客戶發(fā)送過來的密碼方案中,選擇一種加密程度最高的密碼方案,用客戶的公鑰加過密后通知瀏覽器。 ⑧ 瀏覽器針對(duì)這個(gè)密碼方案,選擇一個(gè)通話密鑰,接著用服務(wù)器的公鑰加過密后發(fā)送給服務(wù)器。

⑨ 服務(wù)器接收到瀏覽器送過來的消息,用自己的私鑰解密,獲得通話密鑰。

⑩ 服務(wù)器、瀏覽器接下來的通訊都是用對(duì)稱密碼方案,對(duì)稱密鑰是加過密的。

上面所述的是雙向認(rèn)證 SSL 協(xié)議的具體通訊過程,這種情況要求服務(wù)器和用戶雙方都有證書。單向認(rèn)證 SSL 協(xié)議不需要客戶擁有 CA 證書,具體的過程相對(duì)于上面的步驟,只需將服務(wù)器端驗(yàn)證客戶證書的過程去掉,以及在協(xié)商對(duì)稱密碼方案,對(duì)稱通話密鑰時(shí),服務(wù)器發(fā)送給客戶的是沒有加過密的 (這并不影響 SSL 過程的安全性)密碼方案。 這樣,雙方具體的通訊內(nèi)容,就是加過密的數(shù)據(jù),如果有第三方攻擊,獲得的只是加密的數(shù)據(jù),第三方要獲得有用的信息,就需要對(duì)加密的數(shù)據(jù)進(jìn)行解密,這時(shí)候的 安全就依賴于密碼方案的安全。而幸運(yùn)的是,目前所用的密碼方案,只要通訊密鑰長度足夠的長,就足夠的安全。這也是我們強(qiáng)調(diào)要求使用 128 位加密通訊的原因。 證書各部分的含義

Version 證書版本號(hào),不同版本的證書格式不同

Serial Number 序列號(hào),同一身份驗(yàn)證機(jī)構(gòu)簽發(fā)的證書序列號(hào)唯一

Algorithm Identifier 簽名算法,包括必要的參數(shù) Issuer 身份驗(yàn)證機(jī)構(gòu)的標(biāo)識(shí)信息

Period of Validity 有效期

Subject 證書持有人的標(biāo)識(shí)信息

Subject’s Public Key 證書持有人的公鑰

Signature 身份驗(yàn)證機(jī)構(gòu)對(duì)證書的簽名

證書的格式 認(rèn)證中心所發(fā)放的證書均遵循 X.509 V3 標(biāo)準(zhǔn),其基本格式如下:

證書版本號(hào)(Certificate Format Version)

含義:用來指定證書格式采用的 X.509 版本號(hào)。

證書序列號(hào)(Certificate Serial Number)

含義:用來指定證書的唯一序列號(hào),以標(biāo)識(shí) CA 發(fā)出的所有公鑰證書。

簽名(Signature ) 算法標(biāo)識(shí)(Algorithm Identifier)

含義:用來指定 CA 簽發(fā)證書所用的簽名算法。

簽發(fā)此證書的 CA 名稱(Issuer )

含義:用來指定簽發(fā)證書的 CA 的 X.500 唯一名稱(DN , Distinguished Name)。

證書有效期(Validity Period) 起始日期(notBefore ) 終止日期(notAfter )

含義:用來指定證書起始日期和終止日期。

用戶名稱(Subject )

含義:用來指定證書用戶的 X.500 唯一名稱(DN ,Distinguished Name)。

用戶公鑰信息(Subject Public Key Information ) 算法(algorithm ) 算法標(biāo)識(shí)(Algorithm Identifier ) 用戶公鑰(subject Public Key )

含義:用來標(biāo)識(shí)公鑰使用的算法,并包含公鑰本身。

證書擴(kuò)充部分(擴(kuò)展域)(Extensions )

含義:用來指定額外信息。

X.509 V3 證書的擴(kuò)充部分(擴(kuò)展域)及實(shí)現(xiàn)方法如下:

CA 的公鑰標(biāo)識(shí)(Authority Key Identifier )

公鑰標(biāo)識(shí)(SET 未使用)(Key Identifier )

簽發(fā)證書者證書的簽發(fā)者的甄別名(Certificate Issuer )

簽發(fā)證書者證書的序列號(hào)(Certificate Serial Number)

X.509 V3 證書的擴(kuò)充部分(擴(kuò)展域)及實(shí)現(xiàn)CA 的公鑰標(biāo)識(shí)(Authority Key Identifier )

3 / 4

,

公鑰標(biāo)識(shí)(SET 未使用)(Key Identifier )

簽發(fā)證書者證書的簽發(fā)者的甄別名(Certificat 簽發(fā)證書者證書的序列號(hào)(Certificate Serial Number) 含義:CA 簽名證書所用的密鑰對(duì)的唯一標(biāo)識(shí)用戶的公鑰標(biāo)識(shí)(Subject Key Identifier )

含義:用來標(biāo)識(shí)與證書中公鑰相關(guān)的特定密鑰進(jìn)行解密。

證書中的公鑰用途(Key Usage )

含義:用來指定公鑰用途。

用戶的私鑰有效期(Private Key Usage Period ) 起始日期(Note Before ) 終止日期(Note After ) 含義:用來指定用戶簽名私鑰的起始日期和終止日期。

CA 承認(rèn)的證書政策列表(Certificate Policies)

含義:用來指定用戶證書所適用的政策,證書政策可由對(duì)象標(biāo)識(shí)符表示。

用戶的代用名(Substitutional Name )

含義:用來指定用戶的代用名。

CA 的代用名(Issuer Alt Name )

含義:用來指定 CA 的代用名。

基本制約(Basic Constraints )

含義:用來表明證書用戶是最終用戶還是 CA。 在 SET 系統(tǒng)中有一些私有擴(kuò)充部分(擴(kuò)展域)Hashed Root Key 含義:只在根證書中使用,用于證書更新時(shí)進(jìn)行回溯。

證書類型(Certificate Type )

含義:用來區(qū)別不同的實(shí)體。該項(xiàng)是必選的。

商戶數(shù)據(jù)(Merchant Data )

含義:包含支付網(wǎng)關(guān)需要的所有商戶信息。

持卡人證書需求(Card Cert Required )

含義:顯示支付網(wǎng)關(guān)是否支持與沒有證書的持卡人進(jìn)行交易。

SET 擴(kuò)展(SETExtensions )

含義:列出支付網(wǎng)關(guān)支持的支付命令的 SET 信息擴(kuò)展。

CRL 數(shù)據(jù)定義版本(Version )

含義:顯示 CRL 的版本號(hào)。

CRL 的簽發(fā)者(Issuer )

含義:指明簽發(fā) CRL 的 CA 的甄別名。

CRL 發(fā)布時(shí)間(this Update ) 預(yù)計(jì)下一個(gè) CRL 更新時(shí)間(Next Update ) 撤銷證書信息目錄(Revoked

Certificates ) CRL 擴(kuò)展(CRL Extension ) CA 的公鑰標(biāo)識(shí)(Authority Key Identifier ) CRL 號(hào)(CRL Number )

4 / 4

標(biāo)簽: