HTTP網(wǎng)絡(luò)協(xié)議(學(xué)習(xí)筆記五)

HTTP網(wǎng)絡(luò)協(xié)議(五)

15~18課

15.狀態(tài)碼_form提交

狀態(tài)碼(Status Code)

-狀態(tài)碼指示HTTP請求是否已成功完成

狀態(tài)碼可以分為5類

-信息響應(yīng):100~199

-成功響應(yīng):200~299

-重定向:300~399

-客戶端錯誤:400~499

-服務(wù)端錯誤:500~599

狀態(tài)碼描述語

100 continue

-請求的初始部分已經(jīng)被服務(wù)器收到,并且沒有被服務(wù)器拒絕,客戶端應(yīng)該繼續(xù)發(fā)送剩余的請求,如果請求已完成蛆封,就忽略這個(gè)響應(yīng)

-允許客戶端發(fā)送帶請求體的請求前蛾扇,判斷服務(wù)器是否愿意接收請求(服務(wù)器通過請求頭判斷)

-在某些情況下律适,如果服務(wù)器再不堪請求體就拒絕請求時(shí)如捅,客戶端就發(fā)送請求體是不恰當(dāng)?shù)幕虻托У?/p>

200 OK:請求成功

302 Found:請求的資源被暫時(shí)的移動到了由Location頭部指定的URL上

304 Not Modified: 說明無需再次傳輸請求的內(nèi)容,也就是說可以使用緩存的內(nèi)容

400 Bad Request: 由于語法無效淮椰,服務(wù)器無法理解該請求

有可能格式?jīng)]問題,但內(nèi)容不全纳寂,也會返回400主穗。(可由開發(fā)決定)

401 Unauthorized: 由于缺乏目標(biāo)資源要求的身份驗(yàn)證憑證

403 Forbidden: 服務(wù)器端有能力處理該請求,但是拒絕授權(quán)訪問

404 Not Found:服務(wù)器端無法找到所請求的資源

405 Method Not Allowed: 服務(wù)器禁止了使用當(dāng)前HTTP方法的請求(有能力毙芜,但是禁止)

406 Not Acceptable: 服務(wù)器端無法提供與Accept-Charset以及Accept-Language 指定的值相匹配的響應(yīng)

408 Request Timeout: 服務(wù)器想要將沒有在使用的連接關(guān)閉

一些服務(wù)器會在空閑連接上發(fā)送此消息钢拧,即使是在客戶端沒有發(fā)送任何請求的情況下

500 Internal Server Error: 所請求的服務(wù)器遇到意外的情況并阻止其執(zhí)行請求

501 Not Implemented: 請求的方法不被服務(wù)器支持凯正,因此無法被處理

-服務(wù)器必須支持的方法(即不會返回這個(gè)狀態(tài)的方法) 只有GET和HEAD

502 Bad Gateway: 作為網(wǎng)關(guān)或代理角色的服務(wù)器,從上游服務(wù)器(如tomcat)中接收到的響應(yīng)是無效的

503 Service Unavailable:服務(wù)器尚處于可以接受請求的狀態(tài)

-通常造成這種情況的原因是由于服務(wù)器停機(jī)維護(hù)或已超載

form提交 - 常用屬性

html 里form里的button, 默認(rèn)類型 type = submit

form提交,文件上傳必須使用multipart/form-data

-action: 請求的URI

-method: 請求方法(GET夫壁、POST)

-enctype: POST請求時(shí),請求體的編碼方式

application/x-www-form-urlencoded(默認(rèn)值)

用&分隔參數(shù)互例,用=分割鍵和值欺劳,字符用URL編碼方式進(jìn)行編碼

getParameter, 只能取urlencoded的方法取值

multipart/form-data的類型,不能通過getParameter取出展辞。需要從content-type 的boundary取出每一段的數(shù)據(jù)

Java里可以用第三方庫取出這些值奥邮,幫助解析請求體。 第三方庫 Commons-fileupload

form提交 - multipart/form-data

參考RFC_1521

請求頭

Content-Type:multipart/form-data; boundary=xxx


MORERR formi.jpg

16.跨域_Cookie_Session

Access-Control-Allow-Origin 服務(wù)器設(shè)置,告訴瀏覽器洽腺,誰能跨域

Origin 瀏覽器發(fā)給服務(wù)器脚粟,告訴服務(wù)器源頭是什么

前后端分離:后臺工程師 JAVA

前端工程師 HTML JS CSS

頁面服務(wù)器(Nginx)

03CORS FontEdge

Index.html

后臺服務(wù)器(Tomcat)

02.Cors UserSecvlet

Idea服務(wù)器會自動開啟一個(gè)服務(wù)器

同源策略(Same-Origin Policy)(瀏覽器出于安全考慮)

瀏覽器有個(gè)同源策略 Ajax請求 異步請求的一種

-它規(guī)定了:默認(rèn)情況下,Ajax請求只能發(fā)送給同源的URL

-同源是指三個(gè)相同:協(xié)議蘸朋、域名(IP)核无、端口

-img、script度液、line厕宗、iframe、video堕担、audio等標(biāo)簽不受同源策略的約束

跨域資源共享和

解決Ajax跨域請求的常用方法

-CORS(Cross-Origin Resource Sharing),跨域資源共享

CORS的實(shí)現(xiàn)需要客戶端和服務(wù)器同時(shí)支持

-客戶端

所有的瀏覽器都支持(IE至少是IE10版本)

-服務(wù)器

需要返回相應(yīng)的響應(yīng)頭(比如Access-Control-Allow-Origin)

告知瀏覽器這是一個(gè)允許跨域訪問的請求

Cookie 請求頭

Set-Cookie 響應(yīng)頭

Cookie: (只針對一個(gè)瀏覽器已慢,換了瀏覽器需重新設(shè)置Cookie)

在服務(wù)器(瀏覽器)存儲一些數(shù)據(jù),存儲到本地磁盤(硬盤)

服務(wù)器可以返回Cookie交給客戶端去存儲

Cookie是直接存儲在瀏覽器本地的一小串?dāng)?shù)據(jù)

-使用document.cookie訪問Cookie

-修改Cookie時(shí)霹购,只會修改其中提到的Cookie

-name = value 必須被編碼(encodeURIComponet)

-一個(gè)Cookie最大為4kb, 每個(gè)網(wǎng)站最多有20+個(gè)左右的Cookie(具體取決于瀏覽器)

服務(wù)器設(shè)置Cookie

Cookie通常是由Web服務(wù)器使用的響應(yīng)頭Set-Cookie設(shè)置的

關(guān)于max-age

-在JavaScript

Cookie的作用域

domain和path標(biāo)示定義了Cookie的作用域佑惠,即Cookie應(yīng)該發(fā)送給哪些URL

domain

-標(biāo)示制定了那些主機(jī)可以接受Cookie

-如果不指定,默認(rèn)為當(dāng)前文檔的主機(jī)(不包含子域名)齐疙;如果指定了domain, 則一般包子域名

-例如:如果設(shè)置domain=502it.com, 則Cookie也包含在子域名中(如bbs.520it.com)

Path

-標(biāo)識置頂了主機(jī)下的哪些數(shù)據(jù)路徑可以接受Cookie, 子路徑也會被匹配

-例如:設(shè)置path=/docs, 則一下地址都會匹配

/docs

/docs/one/

/docs/one/img

Session

getSession內(nèi)部的原理

檢查客戶端是否有發(fā)送一個(gè)叫做JSSESION的Cookie

-如果沒有

創(chuàng)建一個(gè)新的session對象膜楷,并且這個(gè)Session對象會有一個(gè)id

這個(gè)Session對象會保留在服務(wù)器的內(nèi)存中

在響應(yīng)的時(shí)候,會添加一個(gè)Cookie(JESSIONID=Session對象的id)給客戶端

-如果沒有

返回id為JSSESION的Session對象

Session的有效期

-session的有效期默認(rèn)是30分鐘

-可以在web.xml中配置失效時(shí)間(單位是分鐘)

總結(jié)

Cookie

-數(shù)據(jù)存儲在瀏覽器客戶端

-數(shù)據(jù)有大小和數(shù)據(jù)的限制

-適合存儲一些小型贞奋、不敏感的數(shù)據(jù)

-默認(rèn)情況下赌厅,關(guān)閉瀏覽器后就會銷毀

Session

-數(shù)據(jù)存儲在服務(wù)器端

-數(shù)據(jù)沒有大小和數(shù)量的限制

-可以存儲大型、敏感的數(shù)據(jù)(比如用戶數(shù)據(jù))

-默認(rèn)情況下轿塔,未使用30分鐘后就會銷毀

Cookie特愿、Session會話跟蹤技術(shù),請求之間是否是同一個(gè)會話勾缭。

17.代理CDN網(wǎng)絡(luò)安全

代理服務(wù)器(Proxy Server)

特點(diǎn)

-本身不生產(chǎn)內(nèi)容

-處于中間位置轉(zhuǎn)發(fā)上下游的請求和響應(yīng)

面向下游的客戶端:它是服務(wù)器

面向上游的服務(wù)器:它是客戶端

正向代理:代理的對象是客戶端

反向代理:代理的對象是服務(wù)器

正向代理 - 作用

-隱藏客戶端身份

-繞過防火墻(突破訪問限制)
-internet訪問控制

-數(shù)據(jù)過濾

-一些免費(fèi)的正向代理

https://ip.jiangxianli.com/

https://www.kuaidaili.com/free/inha/

反向代理 - 作用

-隱藏服務(wù)器身份

-安全防護(hù)

-負(fù)載均衡

抓包工具的原型

Fiddler揍障、Charles等抓包工具的原理:在客戶端啟動了正向代理服務(wù)

需要注意

-wireshark的原理是:通過底層驅(qū)動,攔截網(wǎng)卡上流動的數(shù)據(jù)

代理服務(wù)器 - 相關(guān)的頭部字段

Via: 追加經(jīng)過的每一臺代理服務(wù)器的主機(jī)名(或域名)

X-Forwarded-For: 追加請求方IP地址

X-Real-IP: 客戶端的真實(shí)IP地址

CDN(Content Delivery Networks 或Content distribution Network),譯為:內(nèi)部分發(fā)發(fā)網(wǎng)絡(luò)

利用最靠近每位用戶的服務(wù)器

更快更可靠地將音樂俩由、圖片毒嫡、視頻等資源文件(一般是靜態(tài)資源)傳遞給用戶

CDM運(yùn)營商在全國,乃至全球的各大樞紐城市都建立了機(jī)房

-部署了大量擁有高存儲高寬帶的節(jié)點(diǎn)幻梯,構(gòu)建了一個(gè)跨運(yùn)營商兜畸、跨地域的專用網(wǎng)絡(luò)

內(nèi)容所有者向CDN運(yùn)營商支付費(fèi)用,CDN將其內(nèi)容交付給最終客戶

網(wǎng)絡(luò)安全問題

網(wǎng)絡(luò)通信中面臨的4種安全威脅

截壤衤谩:竊聽通信內(nèi)容

中斷:中斷網(wǎng)絡(luò)通信

篡改:篡改通信內(nèi)容

偽造:偽造通信內(nèi)容

網(wǎng)絡(luò)層- ARP欺騙

ARP欺騙(ARP spoofing)膳叨、又稱ARP毒化(ARP poisoning)、ARP病毒痘系、ARP攻擊

ARP欺騙可以造成的效果

-可讓攻擊者獲取局域網(wǎng)上的數(shù)據(jù)包甚至可以篡改數(shù)據(jù)包

-可讓網(wǎng)絡(luò)上特定電腦之間無法正常通行(比如網(wǎng)絡(luò)執(zhí)法官這樣的軟件)

-讓送至特定IP地址的流量被錯誤送到攻擊者所取代的地方

APR欺騙 - 核心步驟舉例

-假設(shè)主機(jī)C是攻擊者菲嘴,主機(jī)A、B是被攻擊者

C只要收到過A、B發(fā)送的ARP請求龄坪,就會擁有A昭雌、B的IP、MAC地址健田,就可以進(jìn)行欺騙活動

C發(fā)送一個(gè)ARP響應(yīng)給B烛卧,把響應(yīng)包里的源IP設(shè)置為A的IP地址,源MAC設(shè)置為C的MAC地址

DoS妓局、DDoS

DoS攻擊(拒絕服務(wù)器攻擊总放,Denial-of-Servive attack)

-使目標(biāo)電腦的網(wǎng)絡(luò)或系統(tǒng)資源耗盡,使服務(wù)端暫時(shí)中斷或停止好爬,導(dǎo)致其正常用戶無法訪問

DDoS攻擊(分布式拒絕服務(wù)器攻擊局雄,Distributed Denial-of-Service attack)

-黑客使用網(wǎng)絡(luò)上兩個(gè)或兩個(gè)以上被攻陷的電腦作為“僵尸”向特定的目標(biāo)發(fā)動DoS攻擊

-2018年3月,GitHub遭到迄今為止規(guī)模最大的DDoS攻擊

DoS攻擊可以分為2個(gè)大類

-帶寬消耗型:UDP洪水攻擊存炮、ICMP洪水攻擊

-資源消耗型:SYN洪書攻擊炬搭、LAND攻擊

SYN洪水攻擊(SYN flooding attack)

-攻擊者發(fā)送一系列的SYN請求(第一次握手)到目標(biāo),然后讓目標(biāo)??收不到ACK(第三次握手)而進(jìn)行等待穆桂,消耗資源

攻擊方法

-跳過發(fā)送最后的SCK信息

-修改源IP地址宫盔,讓目標(biāo)送SYN-ACK到偽造的IP地址,因此目標(biāo)永不可能收到ACK(第三次握手)

防護(hù)

-參考 RFC_4987

傳輸層 - LAND攻擊

LAND攻擊(局域網(wǎng)拒絕服務(wù)攻擊享完,Local Area Network Denial arrack)

-通過持續(xù)發(fā)送相同源地址和目標(biāo)地址的欺騙數(shù)據(jù)包灼芭,使目標(biāo)試圖與自己建立連接,消耗系統(tǒng)資源直至崩潰

有些系統(tǒng)存在設(shè)計(jì)上的缺陷般又,允許設(shè)備接受并響應(yīng)來自網(wǎng)絡(luò)姿鸿,卻宣稱來自于設(shè)備自身的數(shù)據(jù)包,導(dǎo)致循環(huán)應(yīng)答

防護(hù)

-大多數(shù)防火墻都能攔截類似的攻擊包倒源,以保護(hù)系統(tǒng)

-部分操作系統(tǒng)通過發(fā)布安全補(bǔ)丁修復(fù)了這一漏洞

-路由器應(yīng)同時(shí)配置上行與下行的篩選器,屏蔽所有源地址與目標(biāo)地址相同的數(shù)據(jù)包

DoS句狼、DDoS防御

防御方式通常為:入侵檢測笋熬、流量過濾、和多重驗(yàn)證

-堵塞網(wǎng)絡(luò)帶寬的流量將被過濾腻菇、而正常的流量可正常通過

防火墻

-防火墻可以設(shè)置規(guī)則胳螟,例如允許或拒絕特定的通訊協(xié)議,端口或IP地址

-當(dāng)攻擊從少數(shù)不正常的IP地址發(fā)出時(shí)筹吐,可以簡單的使用拒絕規(guī)則阻止一切從攻擊源IP發(fā)出的通信

-復(fù)雜攻擊難以用簡單規(guī)則來阻止糖耸,例如80端口遭受攻擊時(shí)不可能拒絕端口所有的通信,因?yàn)橥瑫r(shí)會阻止合法的流量

-防火墻可能處于網(wǎng)絡(luò)框架中過后的位置丘薛,路由器可能在惡意流量達(dá)到防火墻前即被攻擊影響

黑洞引導(dǎo)

-將所有受攻擊計(jì)算機(jī)的通信全部發(fā)送至一個(gè)“黑洞”(空接口或不存在的計(jì)算機(jī)地址)或者有足夠能力處理洪流的網(wǎng)絡(luò)設(shè)備商嘉竟,以避免網(wǎng)絡(luò)收到較大的影響

流量清洗

-當(dāng)流量被送到DDoS防護(hù)清洗中心時(shí),通過采用抗DDoS軟件處理,將正常流量和惡意流量區(qū)分開

-正常的流量則回注客戶網(wǎng)站

應(yīng)用層 - DNS劫持

DNS劫持舍扰,又稱為域名劫持

-攻擊者篡改了某個(gè)域名的解析結(jié)果倦蚪,使得指向該域名的IP變成了另外一個(gè)IP

-導(dǎo)致對相應(yīng)網(wǎng)址的訪問被劫持到另一個(gè)不可達(dá)的或者假冒的網(wǎng)址

-從而實(shí)現(xiàn)非法竊取用戶信息或者破壞正常網(wǎng)絡(luò)服務(wù)的目的

為防止DNS劫持,可以考慮更靠譜的DNS服務(wù)器边苹,比如:114.114.114.114

-谷歌:8.8.8.8陵且、8.8.4.4

-微軟:4.2.2.1、4.2.2.2

-百度:180.76.76.76

-阿里:223.5.5.5个束、223.6.6.6

HTTP劫持:對HTTP數(shù)據(jù)包進(jìn)行攔截處理慕购,比如插入JS代碼

-比如你的訪問某些網(wǎng)站時(shí),在右下角多了一個(gè)莫名其妙的彈窗廣告

HTTP協(xié)議的安全問題

HTTP協(xié)議默認(rèn)是采取明文傳輸?shù)牟绲祝虼藭泻艽蟮陌踩[患

-常用的提高安全性的方法是:對通信內(nèi)容進(jìn)行加密后沪悲,在進(jìn)行傳輸

18.對稱加密非對稱加密數(shù)字簽名_證書

常見的加密方式有

-不可逆

單向單列函數(shù):MD5、SHA等

-可逆

對稱加密:DES桩警、3DES可训、AES等

非對稱加密:RSA等

-其他

混合密碼系統(tǒng)

數(shù)字簽名

數(shù)字證書

iOS底層原理,iOS簽名 蘋果是如何對app進(jìn)行簽名的(這個(gè)課程可以看)

常見英文

encrypt:加密

decrypt:解密

plaintext:明文

ciphertext:密文

如何防止被竊聽

單向散列函數(shù)(One-Way hash function)

單向散列函數(shù)捶枢,可以根據(jù)消息內(nèi)容計(jì)算出散列值

應(yīng)用:密碼加密

散列值的長度和消息長度無關(guān)握截,無論消息是1bit、10M烂叔、100G, 單向散列函數(shù)都會計(jì)算出固定長度的散列值 (長度20字節(jié))

單向散列-特點(diǎn)

根據(jù)任意長度的消息谨胞,計(jì)算出固定長度的散列值

計(jì)算速度快,能快速計(jì)算出散列值

消息不同蒜鸡,散列值也不同

具備單向性

單向散列函數(shù)-稱呼

單向散列函數(shù)胯努,也被稱為

-消息摘要函數(shù)(message digest function)

-哈希函數(shù)(hash finction)

輸出的散列值,也被稱為

-消息摘要(message digest)

-指紋(fingerprint)

MD4逢防、MD5

-產(chǎn)生128bit的散列值叶沛,MD就是Message Digest的縮寫,目前已經(jīng)不安全(32個(gè)十六進(jìn)制字符)

SHA-1

-產(chǎn)生160bit的散列值忘朝,目前已經(jīng)不安全

SHA-2

-SHA-256灰署、SHA-384、SHA-512局嘁,散列值長度分別是256bit溉箕、384bit、512bit

SHA-3

-全新標(biāo)準(zhǔn)

單向散列函數(shù)-幾個(gè)網(wǎng)址

MD5加密

https://www.cmd5.com/hash.aspx

MD5解密

https://www.cmd5.com/

暴力破解悦昵,枚舉各種數(shù)據(jù)肴茄。但是數(shù)據(jù)源是無窮無盡的,MD5密文是有限的

其他加密

https://www.sojson.com/encrypt_des.html

https://tool.chinaz.com/tools/md5.aspx

單向散列函數(shù) - 應(yīng)用:防止數(shù)據(jù)被篡改(檢測數(shù)據(jù)是否被篡改)

鏡像站點(diǎn)但指,為了分散通信負(fù)荷而從鏡像站點(diǎn)下載軟件

官網(wǎng)站點(diǎn)寡痰,對比鏡像站點(diǎn)的散列值抗楔,為了確認(rèn)完整性,從原始網(wǎng)址獲取到散列

應(yīng)用:密碼加密

18.對稱加密非對稱加密數(shù)字簽名_證書

如何加密解密氓癌?

對稱加密(Symmetric Cryptography):加密用的密鑰 = 解密用的密鑰

常用的:

AES(Advanced Encryption Standard)

-取代DES成為新標(biāo)準(zhǔn)的一種對稱加密算法谓谦,又稱為Rijndeal加密法

-AES的密鑰長度有128、192贪婉、256bit三種(密鑰越長破解難度越大)

-目前AES反粥,已經(jīng)逐步取代DES,3DES疲迂,成為首選的對稱加密算法

它經(jīng)過了全世界密碼學(xué)家所進(jìn)行的高品質(zhì)驗(yàn)證工作

DES(Data Encryption Standard)

-DES 是一種將64bit 明文加密成64bit密文的加密算法才顿,密鑰長度是56bit

-規(guī)格上來說,密鑰長度是64bit, 但每隔7bit會設(shè)置一個(gè)用于錯誤檢查的bit, 因此密鑰長度實(shí)質(zhì)上是56bit

-由于DES每次只能加密64bit的數(shù)據(jù)尤蒿,遇到比較大的數(shù)據(jù)郑气,需要對DES加密進(jìn)行迭代(反復(fù))

-目前已經(jīng)可以在短時(shí)間內(nèi)被破譯,所以不建議使用

3DES(Triple Data Encryption Algorithm)

3DES, 將DES重復(fù)3次所得到的一種密碼算法腰池,也叫做3DES

-三重DES并不是進(jìn)行3次DES加密(加密->加密->加密)

-而是加密(Encryption)-> 解密(Decryption)-> 加密(Encryption)的過程

-目前還被一些銀行等機(jī)構(gòu)使用尾组,但處理速度不高,安全性逐漸暴露出問題

-3個(gè)密鑰都是不相同的示弓,也叫DED-EDE3

-如果所有的密鑰相同讳侨,則結(jié)果與普通DES是等價(jià)的 (無效用法)

-如果密鑰1,密鑰3相同奏属,密鑰2不同跨跨,稱為DES-EDE2

——————————————————————————————————————————————————————————

非對稱加密(公鑰密碼):(Asymmetric Cryptography)

-在非對稱jimmy,密鑰分為加密密鑰囱皿、解密密鑰2中勇婴,它們并不是同一個(gè)密鑰

-加密密鑰一般是公開的,因此該密鑰稱為公鑰(Public key)

因此嘱腥,非對稱加密也被稱為公鑰密碼算法(Public-key Cryptography)

-解密密鑰:有消息接受者自己保管的耕渴,不能公開,因此也稱為私鑰(private key)

公鑰齿兔、私鑰

公鑰和私鑰是一一對應(yīng)的萨螺,不能單獨(dú)生成

-一對公鑰和私鑰統(tǒng)稱為密鑰對(Key pair)

由公鑰加密的密文,必須使用與該公鑰對應(yīng)的私鑰才能解密

由私鑰加密的密文愧驱,必須使用與該私鑰對應(yīng)的公鑰才能解密

RSA

目前使用最廣泛的非對稱加密算法是RSA

RSA的名字,由他的3位開發(fā)者椭盏,即Ron Rivest组砚、 Adi Shamir、Leonard Adleman的姓氏首字母組成

——————————————————————————————————————————————————————————

密鑰配送問題

-在使用對稱加密時(shí)掏颊,一定會遇到密鑰配送問題

-如果Alice將使用對稱加密過的信息發(fā)給了Bob

只有將密鑰發(fā)送給Bob,Bob才能完成解密

在發(fā)送過程中:可能會被竊聽糟红,對方也能完成解密

如何解決密鑰配送問題

有以下幾種解決密鑰配送的方法

-事先共享密鑰(比如私下共享)

-密鑰分配中心(Key Distribution Center, 簡稱KDC)

-Diffie-Hellman密鑰交換

解決密鑰配送問題

由消息的接收者艾帐,生成一對公鑰、私鑰

將公鑰發(fā)給消息的發(fā)送者

消息的發(fā)送者使用公鑰加密消息

非對稱加密的加密解密速度比較對稱加密要慢

-非對稱加密:復(fù)雜->安全->加密解密速度慢

-對稱加密:簡單->不安全->加密解密速度快

混合密碼系統(tǒng)(Hybird Cryptosystem)

對稱加密的缺點(diǎn)

-不能很好的解決密鑰配送問題(密鑰會被竊聽)

非對稱加密的缺點(diǎn)

-加密解密速度比較慢

混合密鑰系統(tǒng):是將對稱加密和非對稱加密的優(yōu)勢相結(jié)合的方法

-解決了非對稱加密速度慢的問題

-并通過非對稱加密解決了對稱加密的密鑰配送問題

網(wǎng)絡(luò)上密碼通信所用的SSL/TLS都運(yùn)用了混合密碼系統(tǒng)

混合密碼

會話密鑰(Session key)

-為本次通信隨機(jī)生成的臨時(shí)密鑰(例如隨機(jī)數(shù))

-作為對稱加密的密鑰盆偿,用于加密消息柒爸,提高速度

加密步驟(發(fā)送消息)

1.首先,消息發(fā)送者要擁有消息接受接收的公鑰

2.生成會話密鑰(隨機(jī)數(shù))事扭,作為對稱加密的密鑰捎稚,加密消息(生成密文A)

3.用消息接收者的公鑰,加密會話密鑰(2的隨機(jī)數(shù))(生成密文B)

4.將前兩步生成的加密結(jié)果求橄,AB一并發(fā)送給消息接收者

發(fā)送出去的內(nèi)容包括

-用會話密鑰加密的消息(加密方法:對稱加密)

-用公鑰加密的會話密鑰(加密方法:非對稱加密)

A —> B 的msg, 一定用對稱加密今野,因?yàn)閙sg大小不確定

混合密碼 — 解密

解密步驟(收到消息)

1.消息接收者用自己的密鑰解密(密文B)出會話密鑰

2.再用第一步解密出來的會話密鑰,解密消息

數(shù)字簽名

服務(wù)器如何確認(rèn)消息的真實(shí)性罐农?

在數(shù)字簽名技術(shù)中条霜,有一下2種行為

-生成簽名:由消息的發(fā)送者完成,通過“簽名密鑰”生成

-驗(yàn)證簽名:由消息的接受者完成涵亏,通過“驗(yàn)證密鑰”驗(yàn)證

過程改進(jìn)

1.消息進(jìn)行MD5宰睡,拿到固定長度

2.利用私鑰對散列值進(jìn)行簽名

Q:如何能保證這個(gè)簽名是消息發(fā)送者之間簽的?

A:用消息發(fā)送者的私鑰進(jìn)行簽名

Q: 如果有人篡改了消息內(nèi)容或簽名內(nèi)容气筋,會是什么結(jié)果拆内?

A:簽名驗(yàn)證失敗,證明內(nèi)容被篡改了

Q:數(shù)字簽名不能保證機(jī)密性裆悄?

A:數(shù)字簽名的作用不是為了保證機(jī)密性矛纹,僅僅是為了能夠識別內(nèi)容有沒有被篡改

數(shù)字簽名的作用:

1.確認(rèn)消息的完整性

2.識別消息是否被篡改

3.防止消息發(fā)送人否認(rèn)

非對稱加密 - 公鑰、私鑰再總結(jié)

在非對稱加密中光稼,任何人都可以使用公鑰進(jìn)行加密

在數(shù)字簽名中或南,任何人都可以用公鑰驗(yàn)證簽名

數(shù)字簽名,就是將非對稱加密反過來使用

既然是加密艾君,那肯定是不希望別人知道我的消息采够,所以只有我能解密。

-公鑰負(fù)責(zé)加密冰垄,私鑰負(fù)責(zé)解密

既然是簽名蹬癌,那肯定是不希望有人冒充我發(fā)送消息,所以只有我能簽名

-私鑰負(fù)責(zé)簽名虹茶,公鑰負(fù)責(zé)驗(yàn)簽

公鑰的合法性

如果遭遇了中間人攻擊逝薪,那么

-公鑰有可能是偽造的

如何驗(yàn)證公鑰的合法性

-證書

是消息發(fā)送者能拿到真正的公鑰,利用權(quán)威機(jī)構(gòu)認(rèn)證過的公鑰蝴罪。

認(rèn)證權(quán)威機(jī)構(gòu)董济,再拿公鑰

證書(Certificate)

說到證書

-首先聯(lián)想到的是駕駛證、畢業(yè)證要门、英語四六級等等虏肾,都是由權(quán)威機(jī)構(gòu)認(rèn)證的

密碼學(xué)中的證書廓啊,全城是公鑰證書(Public-key Certificate, PKC),跟駕駛證類似

-里面有姓名、郵箱等個(gè)人信息封豪,以及此人的公鑰

-并由認(rèn)證機(jī)構(gòu)(Certificate Authority, CA),施加數(shù)字簽名

CA就是能夠認(rèn)定“公鑰屬于此人”谴轮,并能夠生成數(shù)字簽名的個(gè)人或組織

-有國際性組織、政府設(shè)立的組織

-有通過提供認(rèn)證服務(wù)來盈利的企業(yè)

-個(gè)人也可以成立認(rèn)證機(jī)構(gòu)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吹埠,一起剝皮案震驚了整個(gè)濱河市第步,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌藻雌,老刑警劉巖雌续,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異胯杭,居然都是意外死亡驯杜,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進(jìn)店門做个,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鸽心,“玉大人,你說我怎么就攤上這事居暖⊥缙担” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵太闺,是天一觀的道長糯景。 經(jīng)常有香客問我,道長省骂,這世上最難降的妖魔是什么蟀淮? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮钞澳,結(jié)果婚禮上怠惶,老公的妹妹穿的比我還像新娘。我一直安慰自己轧粟,他們只是感情好策治,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著兰吟,像睡著了一般通惫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上混蔼,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天讽膏,我揣著相機(jī)與錄音,去河邊找鬼拄丰。 笑死府树,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的料按。 我是一名探鬼主播奄侠,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼载矿!你這毒婦竟也來了垄潮?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤闷盔,失蹤者是張志新(化名)和其女友劉穎弯洗,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逢勾,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡牡整,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了溺拱。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逃贝。...
    茶點(diǎn)故事閱讀 38,716評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖迫摔,靈堂內(nèi)的尸體忽然破棺而出沐扳,到底是詐尸還是另有隱情,我是刑警寧澤句占,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布沪摄,位于F島的核電站,受9級特大地震影響纱烘,放射性物質(zhì)發(fā)生泄漏杨拐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一凹炸、第九天 我趴在偏房一處隱蔽的房頂上張望戏阅。 院中可真熱鬧,春花似錦啤它、人聲如沸奕筐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽离赫。三九已至,卻和暖如春塌碌,著一層夾襖步出監(jiān)牢的瞬間渊胸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工台妆, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留翎猛,地道東北人胖翰。 一個(gè)月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像切厘,于是被迫代替她去往敵國和親萨咳。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容