Http協議(6)—安全HTTP

一、保護HTTP的安全
1.功能:
.服務器認證:
客戶端知道它是在與真正的服務器進行通信
.客戶端認證:
服務器知道它是在與真正的客戶端進行通信
.完整性:
????????????????????? ? 服務器與客戶端的數據不會被修改
.加密:
客戶端與服務器的對話是私密的,不會被竊聽
.效率:
運行足夠快的算法
.普適性:
所有客戶端和服務器都支持這些協議
.管理的可擴展性
在任何地方的任何人都可以進行安全通信
.適應性
能夠支持當前最知名的安全方法

2.HTTPS
HTTPS在HTTP下面提供了一個傳輸級的安全密碼層 ? ? ? ? ? ? ? ??
用SSL的輸入/輸出取代TCP的調用

二、數字加密
1.密碼
加密之前的原始報文稱為明文
使用密碼之后的編碼報文成為密文????

2.使用密鑰的密碼
通過使用密鑰來產生不同的加密密文

3.數字密碼
C= E(p,e)
P = D(c, d)
????????? ? C:經過編碼的密文
E:編碼函數
P:明文報文
e:編碼密鑰
D:解碼函數
d:解碼密鑰

三、對稱密鑰加密技術
編碼使用的密鑰值和解碼使用的密鑰值相同(e = d),統稱為k

1.密鑰長度與枚舉攻擊
枚舉攻擊:
用暴力法去嘗試所有的密鑰值

2.建立共享密鑰
發送者和接收者在互相對話之前要有一個共享的保密密鑰,如果有N個節點,每個
節點都要與其他N-1個節

3.公開密鑰加密技術
不為每個節點對話使用單獨的密鑰,而是使用非對稱密鑰:一個用來對主機報文進行
編碼,一個用來對主機報文進行解碼;編碼密鑰是公開的,但只有主機知道解碼密鑰

四、數字簽名
說明是誰編寫的報文并且該報文并沒有篡改過

1.簽名是加了密的校驗和
數字簽名是附加在報文上的特殊加密檢驗碼
a.節點A將變長報文提取為定長的摘要
b.節點A對摘要應用了一個簽名函數,該函數將用戶的私有密鑰作為參數
c.節點A將簽名附加到報文的末尾發給節點B
d.節點B需要確定報文確實是節點A寫的,對前面進行檢測

五、數字證書
1.內容
.對象的名稱
.過期時間
.證書發布者
.來自證書發布者的數字簽名

2.用證書對服務器進行驗證
通過HTTPS安全連接上服務器后,瀏覽器會自動獲取所連服務器的數字證書
服務器證書:
.Web站點的名稱和主機名
.Web站點的公開密鑰
.簽名頒發機構名稱
.簽名頒發機構的簽名

六、HTTPS
1.概述
將HTTP報文發送給TCP之前發送給了一個安全層.,對其進行加密

2.方案
HTTPS

3.建立安全傳輸
a.對于http,客戶端發送一條到Web服務器端口80的tcp連接,接受服務器響應,然后關閉連接
b.對于https,客戶端打開到web服務器端口443的tcp連接,然后初始化SSL,對加密
參數進行溝通,交換密鑰等,然后將請求報文加密并發送給ssl層

4.SSL握手
.交換協議版本號
.選擇一個兩端都了解的密碼
.對兩端密碼的身份進行認證
.生成臨時的會話密鑰,以便加密信道 ? ? ? ??
SSL支持雙向認證,將服務器證書承載回客戶端,客戶端證書承載會服務端

5.站點證書有效性
驗證步驟:
a.日期檢測
檢測是否過期
b.簽名頒發者可信度檢測
c.簽名檢測
對簽名使用頒發機構的公開密鑰,并將其與檢驗碼進行比較
d.站點身份檢測
瀏覽器會驗證證書中的域名是否和將要訪問服務器的域名是否一致

七、通過代理以隧道形式傳輸安全流量
客戶端使用服務器的公開密鑰對發往服務器的數據進行加密時,代理不能讀取http首部,
故無法知道將請求轉發到何處
解決辦法:
a.https ssl 隧道協議:客戶端在開始加密之前以明文方式告知代理連接的host和port,
通過CONNECT擴展方法

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/273363.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/273363.shtml
英文地址,請注明出處:http://en.pswp.cn/news/273363.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

restful處理

重寫/覆蓋 HTTP 方法 一些HTTP客戶端僅能處理簡單的的GET和POST請求,為照顧這些功能有限的客戶端,API需要一種方式來重寫HTTP方法. 盡管沒有一些硬性標準來做這事,但流行的慣例是接受一種叫 X-HTTP的請求頭,重寫是用一個字符串值…

Http協議(7)—Http緩存

一、冗余的數據傳輸有些客戶端訪問服務器頁面時,服務器會多次響應同一個頁面的副本給客戶端,這會產生冗余數據,故使用緩存就可以保留第一條相應的副本,以后就響應緩存的數據二、帶寬瓶頸在需要下載大型文件時,如果在局域網中放入該文件的一個…

Apache JMeter--網站自動測試與性能測評

Apache JMeter--網站自動測試與性能測評2013-02-28 15:48:05標簽:JmeterFrom:http://bdql.iteye.com/blog/291987 出于學習熱情,翻譯總結Emily H. Halili的《Apache JMeter》一書的部分內容。 JMeter的簡介 可以肯定的是,JMeter至少符合以下幾…

Linux 重命名文件

inux下重命名文件或文件夾的命令mv既可以重命名,又可以移動文件或文件夾. 例子:將目錄A重命名為B mv A B 例子:將/a目錄移動到/b下,并重命名為c mv /a /b/c 其實在文本模式中要重命名文件或目錄的話也是很簡單的,我們只…

苦逼的.net程序員, 轉行高富帥iOS移動開發

先知先覺,后知后覺 **- 在做了兩三年.net開發后, 還是感覺.net不是那么牛逼, 許多給我一起搞.net的同學, 不是去做了android, 就是去做了iOS, 或者java; 這讓我對.net的前景有了一些動搖, 在三思考之后,還是決定放棄.net ,理由很簡單,就是工資有點低; 由于藍鷗iOS培訓機構,一…

C# DataTable的詳細使用方法

在項目中經經常使用到DataTable,假設DataTable使用得當,不僅能使程序簡潔有用,并且可以提高性能,達到事半功倍的效果,現對DataTable的使用技巧進行一下總結。 一、DataTable簡單介紹 (1)構造函數 DataTable() 不…

mysql設置環境變量

-- 設置或修改系統日志有效期SET GLOBAL expire_logs_days8;SHOW VARIABLES LIKE %expire_logs_days%;-- 設置或修改系統最大連接數SET GLOBAL max_connections 2648;SHOW VARIABLES LIKE %max_connections%;-- 修改MYSQL自動編號步長SHOW VARIABLES LIKE %auto_increment%;SE…

CentOS7 編譯安裝LVS 互為主備 (實測 筆記 Centos 7.0 + ipvsadm 1.27 + keepalived 1.2.15 )

環境: 系統硬件:vmware vsphere (CPU:2*4核,內存2G,雙網卡) LVS服務器(兩臺): 系統:Centos7.0 64位(LVSkeepalived) LvsMaster:192.168.1.21 (主…

shell 執行mysql語句

<pre name"code" class"plain">#變量定義 sqlname"test.sql" dir"/sdb2/backup/mysql_db_backup/backup/databases" host"127.0.0.1" user"root" passwd"root" dbname"test" #導…

hdu3081 Marriage Match II(最大流)

轉載請注明出處&#xff1a; http://www.cnblogs.com/fraud/ ——by fraud Marriage Match II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 2410 Accepted Submission(s): 820 Problem Descriptio…

CentOS6安裝tomcat6

首先我們要下載一個tomcat的安裝包 http://ftp.riken.jp/net/apache/ wget http://ftp.riken.jp/net/apache/tomcat/tomcat-6/v6.0.41/src/apache-tomcat-6.0.41.tar.gz 下載好后解壓到一個以目錄&#xff0c;我的是放在了/usr/apache-tomcat-6.0.41 tar –zxvf apache-t…

修復 XE7 , XE8 Frame 內 PopupMenu 快捷鍵失效問題

問題&#xff1a;將 Frame 含 PopupMenu 放置 Form 后&#xff0c;在 Frame 里的 PopupMenu 失效&#xff0c;無法按快捷鍵。 適用&#xff1a;(XE7 update 1 / XE8) for Windows 平臺 修正方法&#xff1a; 請將源碼 FMX.Forms.pas 復制到自己的工程目錄里&#xff0c;再進行修…

Vmware Centos中安裝vmtools工具

在Vmware安裝虛擬機是很好玩的&#xff0c;可是有時候在虛擬機與本地主機之間相互傳遞文件時卻是一件比較麻煩的事情&#xff0c;這時候我們安裝一個vmtools的工具這樣我們就可以隨意的在虛擬機與主機之間相互拖拽文件&#xff0c;下面我們就來說說如何安裝vmtools 點擊虛擬機會…

關于Dapper - 能否不創建定義表對應類使用

1.是可以的&#xff0c;而且支持的很棒 1 /*2 lcg3 * 1.看看能不能用4 * 2.怎么用 - 引哪個文件即可&#xff1f;5 */6 7 //數據庫連接參數8 private const string strConn "Data SourceAlen;Initial Catal…

動態規劃 背包九講的實現。

最近在學習動態規劃&#xff0c;會了不少基礎的之后就開始挑戰比較困難的背包問題了&#xff0c;我這里自己寫了每一講的問題&#xff0c;解析&#xff0c;代碼&#xff0c;注釋。如果dp還沒入門的孩紙就去看看我的另一篇文章http://www.cnblogs.com/luyi14/p/4344946.html …

Linux中查看負載

行車過橋 一只單核的處理器可以形象得比喻成一條單車道。設想下&#xff0c;你現在需要收取這條道路的過橋 費 — 忙于處理那些將要過橋的車輛。你首先當然需要了解些信息&#xff0c;例如車輛的載重、以及 還有多少車輛正在等待過橋。如果前面沒有車輛在等待&#xff0c;那么你…

flask小demo-數據查詢

mysqlconn-flask.py 1 # -*- coding: utf-8 -*-2 #codingutf-83 4 import os5 import mysql.connector6 from flask import Flask, request, render_template7 8 app Flask(__name__)9 10 def db(): 11 # 注意把password設為你的root口令: 12 conn mysql.connect…

js實現的文件下載

/** * Javascript 多文件下載 * author Barret Lee * email barret.chinagmail.com */var Downer (function(files) { var h5Down !/Trident|MSIE/.test(navigator.userAgent); // try{ // h5Down document.createElement("a").hasOwnProperty("download&quo…

Jersey注解詳解

REST 在 2000 年由 Roy Fielding 在博士論文中提出&#xff0c;他是 HTTP 規范 1.0 和 1.1 版的首席作者之一。 REST 中最重要的概念是資源&#xff08;resources&#xff09;&#xff0c;使用全球 ID&#xff08;通常使用 URI&#xff09;標識。客戶端應用程序使用 HTTP 方法&…

Struts2配置文件詳解

解決在斷網環境下,配置文件無提示的問題我們可以看到Struts.xml在斷網的情況下,前面有一個嘆號,這時,我們按alt/ 沒有提示,這是因為” http://struts.apache.org/dtds/struts-2.0.dtd”是一個網絡地址,如果上網的話,IDE會自動幫我們下載此文件,如果斷網就沒有辦法了,但是我們還…