prf函數(shù)python PRF作用

計(jì)量經(jīng)濟(jì)學(xué)中PRF是什么意思?

PRF(pulse repetition frequency)即脈沖重復(fù)頻率,每秒鐘發(fā)射的脈沖數(shù)目,是脈沖重復(fù)間隔(pulse repetition interval, PRI)的倒數(shù)。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都網(wǎng)站建設(shè)、宜良網(wǎng)絡(luò)推廣、成都微信小程序、宜良網(wǎng)絡(luò)營銷、宜良企業(yè)策劃、宜良品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供宜良建站搭建服務(wù),24小時(shí)服務(wù)熱線:18980820575,官方網(wǎng)址:muchs.cn

脈沖重復(fù)間隔就是一個(gè)脈沖和下一個(gè)脈沖之間的時(shí)間間隔。脈沖重復(fù)頻率的1/2稱為尼奎斯特頻率極限,如果多普勒頻移值超過這一極限,脈沖多普勒所檢出的頻率改變就會(huì)出現(xiàn)大小和方向的偽差,稱為頻率失真。

測量原理與應(yīng)用

測量發(fā)射機(jī)每秒鐘所產(chǎn)生的射頻脈沖(或脈沖串)的數(shù)目,脈沖重復(fù)頻率為脈沖重復(fù)周期的倒數(shù)。因此,既可以直接用頻率計(jì)測量射頻脈沖的數(shù)目,又可用示波器測量脈沖包絡(luò)的重復(fù)周期,并由脈沖周期計(jì)算出發(fā)射脈沖的重復(fù)頻率。

脈沖重復(fù)頻率可控制頻譜多普勒上流速的測量范圍。PRF設(shè)置優(yōu)化高PRF用于避免高速血流時(shí)的混疊現(xiàn)象低PRF用于檢測低速血流(顯示為充填型頻譜頻譜多普勒中最大脈沖重復(fù)頻率與多普勒最大取樣深度有關(guān)。

print()是什么函數(shù)??有什么作用?

printf()函數(shù)是格式化輸出函數(shù)系列中比較有具有普遍特點(diǎn)的, 一般用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出信息。在編寫程序時(shí)經(jīng)常會(huì)用到此函數(shù)。printf()函數(shù)的調(diào)用格式為:

printf("格式化字符串", 參量表);

要用printf要加上頭文件包含語句#include stdio.h

print是java才有的

不過MSDN上有.這個(gè)函數(shù)

void Print( HDC hDC, DWORD dwFlags ) const;

Parameters

hDC

[in] The handle to a device context.

dwFlags

[in] Specifies the drawing options. You can combine one or more of the following flags:

PRF_CHECKVISIBLE Draw the window only if it is visible.

PRF_CHILDREN Draw all visible child windows.

PRF_CLIENT Draw the client area of the window.

PRF_ERASEBKGND Erase the background before drawing the window.

PRF_NONCLIENT Draw the non-client area of the window.

PRF_OWNED Draw all owned windows.

C庫里Judge沒\此函數(shù)

計(jì)量經(jīng)濟(jì)學(xué)srf與prf的關(guān)系

prf包括str,str是prf的分支。整體回歸函數(shù):在給定解釋變量x的條件下,解釋變量y的預(yù)期軌跡稱為整體回歸線,或者更通俗地說,整體回歸曲線。 對(duì)應(yīng)函數(shù):e(Y|x)=f(x)被調(diào)用(二元)全局返回(人口回歸函數(shù),PRF)樣本回歸函數(shù):樣本散點(diǎn)圖類似于一條直線。 畫一條直線以最適合散點(diǎn)圖。 由于樣本取自總體,因此該線可以近似代表總體回歸線。 這條線稱為樣本回歸線。 樣本回歸線的函數(shù)形式為:Y,= f(X)= p。+ BX,稱為樣本回歸函數(shù)(SRF)

拓展資料:

1、 計(jì)量經(jīng)濟(jì)學(xué)是將經(jīng)濟(jì)理論與數(shù)理統(tǒng)計(jì)相結(jié)合,并以實(shí)際經(jīng)濟(jì)數(shù)據(jù)進(jìn)行定量分析的一門學(xué)科.主要內(nèi)容包括理論計(jì)量經(jīng)濟(jì)學(xué)和應(yīng)用計(jì)量經(jīng)濟(jì)學(xué)。 理論計(jì)量經(jīng)濟(jì)學(xué)主要研究如何利用、改造和發(fā)展數(shù)理統(tǒng)計(jì)方法,使其成為衡量隨機(jī)經(jīng)濟(jì)關(guān)系的一種特殊方法。 應(yīng)用計(jì)量經(jīng)濟(jì)學(xué)是在一定的經(jīng)濟(jì)理論指導(dǎo)下,以反映事實(shí)的統(tǒng)計(jì)數(shù)據(jù)為基礎(chǔ),研究經(jīng)濟(jì)數(shù)學(xué)模型的實(shí)用性或用計(jì)量經(jīng)濟(jì)學(xué)方法探索經(jīng)驗(yàn)經(jīng)濟(jì)規(guī)律。

2、 計(jì)量經(jīng)濟(jì)學(xué)的兩大研究對(duì)象:橫截面數(shù)據(jù)和時(shí)間序列數(shù)據(jù)。 前者旨在總結(jié)不同的經(jīng)濟(jì)參與者是否具有相似的行為相關(guān)性,并通過模型參數(shù)的估計(jì)結(jié)果來顯示相關(guān)性; 后者側(cè)重于分析同一經(jīng)濟(jì)主體在不同時(shí)間的數(shù)據(jù),以展示研究對(duì)象的動(dòng)態(tài)行為。新興的計(jì)量經(jīng)濟(jì)學(xué)研究開始同時(shí)切入具有橫截面和時(shí)間序列的數(shù)據(jù)。 也就是說,每個(gè)截面同時(shí)具有時(shí)間序列的觀測值。 這種數(shù)據(jù)稱為跟蹤數(shù)據(jù)(面板數(shù)據(jù),或面板數(shù)據(jù)分析)。 追蹤數(shù)據(jù)來研究多個(gè)不同經(jīng)濟(jì)體的動(dòng)態(tài)行為差異,可以獲得比簡單的橫截面或時(shí)間序列分析更豐富的實(shí)證結(jié)論。

3、 計(jì)量經(jīng)濟(jì)學(xué)(英文:Econometrics)是建立在數(shù)理經(jīng)濟(jì)學(xué)和數(shù)理統(tǒng)計(jì)方法論基礎(chǔ)上的一門經(jīng)濟(jì)學(xué)分支,它試圖綜合理論定量方法和經(jīng)驗(yàn)(經(jīng)驗(yàn))定量方法來解決經(jīng)濟(jì)問題。隨著這一分支的出現(xiàn),經(jīng)濟(jì)學(xué)在過去只能定性地研究經(jīng)濟(jì)現(xiàn)象,擴(kuò)展到一個(gè)可以同時(shí)進(jìn)行定量分析的新階段。“計(jì)量”的意思是“用統(tǒng)計(jì)方法進(jìn)行定量研究”,所以“計(jì)量”一詞應(yīng)讀作“[Li à ng]”而不是“[Li á ng]”。

PRF的其他含義

偽隨機(jī)數(shù)函數(shù)(Pseudorandom function)

總體回歸函數(shù)(Population regression function)計(jì)量經(jīng)濟(jì)學(xué)用語。

催乳素釋放因子(Prolactin releasing factor)【醫(yī)】

PRF

Primary Reference Fuel的縮寫。用來表示內(nèi)燃機(jī)燃料的成分

SSL/TLS協(xié)議原理解讀

HTTPS是什么相信大家都知道,如果你不知道。。。請(qǐng)關(guān)閉此文!??!

HTTP的數(shù)據(jù)是明文傳輸?shù)?,沒有安全性可言。HTTPS是秘文傳輸,那么HTTPS是怎么實(shí)現(xiàn)數(shù)據(jù)的安全(加密)傳輸?shù)??那是因?yàn)镠TTPS比HTTP多了個(gè)'S'。 即HTTP下加入SSL層,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL。

SSL/TLS協(xié)議是網(wǎng)絡(luò)安全通信的重要基石,本文將簡單介紹SSL/TLS協(xié)議,主要關(guān)注SSL/TLS協(xié)議的安全性,特別是SSL規(guī)范的正確實(shí)現(xiàn)。 本系列的文章大體分為幾個(gè)部分:

1、SSL/TLS簡介

2、SSL/TLS協(xié)議的基本流程

3、從SSL到TLS

4、SSL/TLS的流行實(shí)現(xiàn)庫

SSL全稱是Secure Sockets Layer,安全套接字層,它是由網(wǎng)景公司(Netscape)設(shè)計(jì)的主要用于Web的安全傳輸協(xié)議,目的是為網(wǎng)絡(luò)通信提供機(jī)密性、認(rèn)證性及數(shù)據(jù)完整性保障。如今,SSL已經(jīng)成為互聯(lián)網(wǎng)保密通信的工業(yè)標(biāo)準(zhǔn)。

SSL最初的幾個(gè)版本(SSL 1.0、SSL2.0、SSL 3.0)由網(wǎng)景公司設(shè)計(jì)和維護(hù),從3.1版本開始,SSL協(xié)議由因特網(wǎng)工程任務(wù)小組(IETF)正式接管,并更名為TLS(Transport Layer Security),發(fā)展至今已有TLS 1.0、TLS1.1、TLS1.2這幾個(gè)版本。

如TLS名字所說,SSL/TLS協(xié)議僅保障傳輸層安全。同時(shí),由于協(xié)議自身特性(數(shù)字證書機(jī)制),SSL/TLS不能被用于保護(hù)多跳(multi-hop)端到端通信,而只能保護(hù)點(diǎn)到點(diǎn)通信。

SSL/TLS協(xié)議能夠提供的安全目標(biāo)主要包括如下幾個(gè):

認(rèn)證性——借助數(shù)字證書認(rèn)證服務(wù)器端和客戶端身份,防止身份偽造

機(jī)密性——借助加密防止第三方竊聽

完整性——借助消息認(rèn)證碼(MAC)保障數(shù)據(jù)完整性,防止消息篡改

重放保護(hù)——通過使用隱式序列號(hào)防止重放攻擊

為了實(shí)現(xiàn)這些安全目標(biāo),SSL/TLS協(xié)議被設(shè)計(jì)為一個(gè)兩階段協(xié)議,分為握手階段和應(yīng)用階段:

握手階段也稱協(xié)商階段,在這一階段,客戶端和服務(wù)器端會(huì)認(rèn)證對(duì)方身份(依賴于PKI體系,利用數(shù)字證書進(jìn)行身份認(rèn)證),并協(xié)商通信中使用的安全參數(shù)、密碼套件以及MasterSecret。后續(xù)通信使用的所有密鑰都是通過MasterSecret生成。

在握手階段完成后,進(jìn)入應(yīng)用階段。在應(yīng)用階段通信雙方使用握手階段協(xié)商好的密鑰進(jìn)行安全通信。

Handshake協(xié)議:包括協(xié)商安全參數(shù)和密碼套件、服務(wù)器身份認(rèn)證(客戶端身份認(rèn)證可選)、密鑰交換;

ChangeCipherSpec 協(xié)議:一條消息表明握手協(xié)議已經(jīng)完成;

Alert 協(xié)議:對(duì)握手協(xié)議中一些異常的錯(cuò)誤提醒,分為fatal和warning兩個(gè)級(jí)別,fatal類型的錯(cuò)誤會(huì)直接中斷SSL鏈接,而warning級(jí)別的錯(cuò)誤SSL鏈接仍可繼續(xù),只是會(huì)給出錯(cuò)誤警告;

Record 協(xié)議:包括對(duì)消息的分段、壓縮、消息認(rèn)證和完整性保護(hù)、加密等。

圖2、圖3都是表示的協(xié)議流程,大同小異??梢詫?duì)比著看加深理解。

每一個(gè)SSL/TLS鏈接都是從握手開始的,握手過程包含一個(gè)消息序列,用以協(xié)商安全參數(shù)、密碼套件,進(jìn)行身份認(rèn)證以及密鑰交換。握手過程中的消息必須嚴(yán)格按照預(yù)先定義的順序發(fā)生,否則就會(huì)帶來潛在的安全威脅。今年頂級(jí)安全會(huì)議CCS 有文章提出了建立綜合狀態(tài)機(jī)來檢查SSL鏈接中消息序列……

2.1 握手過程中的消息序列

ClientHello:ClientHello通常是握手過程中的第一條消息,用于告知服務(wù)器客戶端所支持的密碼套件種類、最高SSL/TLS協(xié)議版本以及壓縮算法。

ClientHello中還包含一個(gè)隨機(jī)數(shù),這個(gè)隨機(jī)數(shù)由4個(gè)字節(jié)的當(dāng)前GMT UNIX時(shí)間以及28個(gè)隨機(jī)選擇的字節(jié)組成,共32字節(jié)。該隨機(jī)數(shù)會(huì)在密鑰生成過程中被使用。

另外,ClientHello中還可能包含客戶端支持的TLS擴(kuò)展。(TLS擴(kuò)展可以被用來豐富TLS協(xié)議的功能或者增強(qiáng)協(xié)議的安全性)

ServerHello:服務(wù)器接受到ClientHello后,會(huì)返回ServerHello。服務(wù)器從客戶端在ClientHello中提供的密碼套件、SSL/TLS版本、壓縮算法列表里選擇它所支持的項(xiàng),并把它的選擇包含在ServerHello中告知客戶端。接下來SSL協(xié)議的建立就基于服務(wù)器選擇的密碼套件類型、SSL/TLS協(xié)議版本以及壓縮算法。

ServerHello中同樣會(huì)包含一個(gè)隨機(jī)數(shù),同樣4+28 字節(jié)類型,由服務(wù)器生成。

Certificate:客戶端和服務(wù)器都可以發(fā)送證書消息來證明自己的身份,但是通??蛻舳俗C書不被使用。 服務(wù)器一般在ServerHello后會(huì)接一條Certificate消息,Certificate消息中會(huì)包含一條證書鏈,從服務(wù)器證書開始,到Certificate authority(CA)或者最新的自簽名證書結(jié)束。下圖形象地描述了證書鏈:

SSL中使用的證書通常是X.509類型證書,X.509證書的內(nèi)容如下表所示:

在用的X.509證書包含Version 1和Version 3兩種版本,其中v1版本的證書存在安全隱患,同時(shí)不支持TLS擴(kuò)展,被逐漸棄用。現(xiàn)在大多數(shù)在用的SSL證書都是V3版本。

同時(shí)證書會(huì)附帶與協(xié)商好的密鑰交換算法對(duì)應(yīng)的密鑰。密鑰交換算法以及它們所要求的密鑰類型如下表所示。

ServerKeyExchange:該消息僅當(dāng)以下密鑰交換算法被使用時(shí)由服務(wù)器發(fā)出:

RSA_EXPORT(僅當(dāng)服務(wù)器的公鑰大于512bit時(shí))、DHE_DSS、DHE_DSS_EXPORT、DHE_RSA、DHE_RSA_EXPORT、DH_anon 使用其它密鑰交換算法時(shí),服務(wù)器不能發(fā)送此消息。

ServerkeyExchange消息會(huì)攜帶這些密鑰交換算法所需要的額外參數(shù),以在后續(xù)步驟中協(xié)商PreMasterSecret。這些參數(shù)需要被簽過名。

CertificateRequest:這個(gè)消息通常在要求認(rèn)證客戶端身份時(shí)才會(huì)有。消息中包含了證書類型以及可接受的CA列表。

ServerHelloDone:服務(wù)器發(fā)送這條消息表明服務(wù)器部分的密鑰交換信息已經(jīng)發(fā)送完了,等待客戶端的消息以繼續(xù)接下來的步驟。這條消息只用作提醒,不包含數(shù)據(jù)域。

ClientKeyExchange:這條消息包含的數(shù)據(jù)與所選用的密鑰交換算法有關(guān)。

如果選擇的密鑰交換算法是RSA,那么消息包含的參數(shù)為用服務(wù)器RSA公鑰(包含在之前證書中的或者是ServerKeyExchange中的)加密過的PreMasterSecret,它有48個(gè)字節(jié),前2個(gè)字節(jié)表示客戶端支持的最高協(xié)議版本,后46個(gè)字節(jié)是隨機(jī)選擇的。

如果選擇的密鑰交換算法是DH或者DHE,則可能有兩種情況:

隱式DH公開值:包含在Certificate消息里;

顯示DH公開值:公開值是本消息的一部分。

CertificateVerify:這條消息用來證明客戶端擁有之前提交的客戶端證書的私鑰。

Finished:表明握手階段結(jié)束。這是第一條用協(xié)商的算法和密鑰保護(hù)的消息。

因?yàn)槭怯脜f(xié)商好的密鑰加密的消息,它可以用來確認(rèn)已經(jīng)協(xié)商好的密鑰。

同時(shí)Finished消息包含一個(gè)verify_data域,可以用來校驗(yàn)之前發(fā)送和接收的信息。

Verify_data域是一個(gè)PRF函數(shù)的輸出(pseudo-random function)。這個(gè)偽隨機(jī)函數(shù)的輸入為:(1)兩個(gè)hash值:一個(gè)SHA-1,一個(gè)MD5,對(duì)之前握手過程中交換的所有消息做哈希;(2)the MasterSecret,由預(yù)備主密鑰生成;(3)finished_label,如果客戶端發(fā)送的則是”client finished”,服務(wù)器發(fā)送的則是”server finished”。關(guān)于這個(gè)PRF的細(xì)節(jié)在3.3節(jié)中會(huì)具體描述。 此外,F(xiàn)inished 消息不能夠在ChangeCipherSpec前發(fā)送。

2.2 不同密鑰交換算法對(duì)應(yīng)的握手過程

不同的密鑰交換算法對(duì)應(yīng)的握手過程中的消息序列是不同的,相應(yīng)的實(shí)現(xiàn)方式也不同,本節(jié)介紹幾個(gè)常見密鑰交換算法對(duì)應(yīng)的握手過程。

TLS-RSA:在這個(gè)場景下,PreMasterSecret是由客戶端指定的,并用RSA公鑰加密發(fā)送給服務(wù)器。服務(wù)器不影響PReMasterSecret的生成。

TLS-DH:基于DH的密鑰交換也被稱為靜態(tài)Diffie-Hellman。在這種場景下,可能是雙方各自提交一個(gè)證書包含DH公開值,或者服務(wù)器端提交證書包含DH公開值,客戶端在每次會(huì)話中選擇一個(gè)值。協(xié)商好的DH值被用作PreMasterSecret。顯然證書中的參數(shù)是固定的,那么每次鏈接的PreMasterSecret也是相同的。

TLS-DH不能提供前向安全性。

TLS-DHE:基于DHE的TLS握手中會(huì)有ServerKeyExchange消息。握手過程中交換參數(shù)的認(rèn)證通過數(shù)字簽名來實(shí)現(xiàn),支持的簽名算法包括RSA和DSS。DH參數(shù)會(huì)有它的數(shù)字簽名一起被包含在ServerKeyExchange中被發(fā)送出去。客戶端在ClientKeyExchange中返回它的公開DH參數(shù),但沒有簽名保護(hù)。同樣協(xié)商出來的DH密鑰被用作PreMasterSecret。

2.3 密鑰生成

Pseudo-random Function(PRF):偽隨機(jī)函數(shù)是SSL協(xié)議中的一個(gè)重要組成部分,它被用來秘密擴(kuò)展以及生成密鑰。在3.1節(jié)講解Finished消息時(shí)已經(jīng)簡單提及PRF,在這里我們?cè)敿?xì)討論P(yáng)RF的工作原理。SSL/TLS協(xié)議中的PRF如下圖所示:

這個(gè)PRF基于兩個(gè)hash函數(shù):MD5和SHA-1,它有3個(gè)輸入,一個(gè)Secret(比如PreMasterSecret),一個(gè)標(biāo)志符(比如”client finished”, “server finished”),還有一個(gè)種子值(比如客戶端隨機(jī)數(shù)+服務(wù)器端隨機(jī)數(shù))。

Secret在使用時(shí)被分為長度相同的兩半:S1和S2,分別作為P_MD5和P_SHA-1的輸入。

PRF的輸出按如下方式處理得到:

P_MD5和P_SHA-1都是擴(kuò)展函數(shù),用來擴(kuò)展秘密值以用于密鑰生成,它們的計(jì)算方式如下:

其中A(0) = seed, A(i) = HMAC hash( secret, A( i ?1) )

這個(gè)秘密擴(kuò)展會(huì)一直進(jìn)行直到得到足夠多的擴(kuò)展數(shù)據(jù)。 Key Derivation:主密鑰(MasterSecret)是利用上述PRF從預(yù)備主密鑰(PreMasterSecret)生成的。每個(gè)MasterSecret為48字節(jié),生成方式如下:

得到MasterSecret后,它會(huì)被進(jìn)一步處理最后生成4個(gè)不同的密鑰和2個(gè)初始向量(IV)。處理過程如下:

處理過程一直持續(xù)到足夠多的輸出被生成,然后把輸出分為4個(gè)key和2個(gè)IV:

下圖完整闡述了SSL/TLS協(xié)議中的密鑰生成過程。

本節(jié)介紹SSL/TLS協(xié)議的版本變遷,不同版本的區(qū)別以及安全特性等。

SSL 1.0由于從來沒有被公開過,并且存在嚴(yán)重安全漏洞,我們就不討論了。

SSL 2.0:SSL 2.0于1995年4月被發(fā)布。SSL 2.0中主要存在的問題如下:

MAC不能覆蓋填充長度域,攻擊者可能利用這點(diǎn)破壞消息完整性;

缺乏握手認(rèn)證,攻擊者可以篡改密碼套件列表,誘騙通信雙方使用較弱的密碼套件;

使用較弱的或有問題的密碼算法(如MD5,RC4等),或者使用不安全的分組模式(如CBC模式);

對(duì)于不同的密碼學(xué)基元使用相同的密鑰,違背基本安全常識(shí)。

由于以上安全問題,RFC 6176已經(jīng)明確提出避免使用SSL 2.0,但是現(xiàn)實(shí)生活中還有少量客戶端和服務(wù)器支持SSL 2.0.

SSL 3.0:SSL 3.0引入了一些新的特性和機(jī)制解決了很多之前版本存在的漏洞。此外,SSL 3.0中引入了ChangeCipherSpec子協(xié)議。SSL 3.0向后兼容SSL 2.0,相對(duì)于SSL 2.0,它的主要改變包括以下幾點(diǎn):

支持更多的密碼套件(支持更多的密碼算法如DSS,SHA-1)

在握手階段支持密鑰協(xié)商(DH和FORTEZZA)

支持密碼學(xué)參數(shù)的重協(xié)商

增加了消息壓縮選項(xiàng)

MAC能夠覆蓋填充長度域了,同時(shí)MAC可以使用MD5或者SHA-1

不同的密碼學(xué)基元使用不同的key

Alert子協(xié)議能對(duì)任何錯(cuò)誤給出兩種提示:Warning和Fatal

中止鏈接的時(shí)候會(huì)用一個(gè)close_notify警告通知通信雙方

支持證書鏈,而非單個(gè)證書

通過Finished消息認(rèn)證所有發(fā)送和接收的消息

加密了的PreMasterSecret包含當(dāng)前使用的協(xié)議版本,防止協(xié)議回滾

TLS 1.0:TLS 1.0和SSL 3.0差別非常小。實(shí)際上,TLS 1.0是SSL 3.1,在IETF接手后改名為TLS。TLS 1.0版本是目前使用最廣泛的SSL/TLS協(xié)議版本。

TLS 1.0不再支持使用FORTEZZA的密碼套件。

TLS 1.0中MAC被替換成HMAC。

之前提到ChangeCipherSpec消息必須在Finished消息前發(fā)送,在TLS 1.0中,如果消息序列不符合這個(gè)要求,會(huì)產(chǎn)生FATAL警告并終止鏈接。

TLS 1.1:這個(gè)版本相比之前改動(dòng)也很小。最重要的改動(dòng)是預(yù)防了針對(duì)CBC分組模式的一些攻擊?,F(xiàn)在的填充錯(cuò)誤變的和非法MAC錯(cuò)誤不可區(qū)分了,防止攻擊者利用可區(qū)分錯(cuò)誤響應(yīng)建立解密預(yù)言機(jī)對(duì)密文進(jìn)行攻擊。

在每次加密過程中,使用CBC分組模式時(shí),都需要顯示給出IV,而不用再密鑰生成時(shí)使用PRF生成IV。

此外,TLS 1.1禁止為適應(yīng)之前出口限制而使用弱化的密碼套件。

TLS 1.2:這是最新的版本,部署的還比較少。這個(gè)版本禁用了PRF中的MD5和SHA-1,而用一個(gè)可配置的hash函數(shù)取代了它們,這樣的修改簡化了計(jì)算過程。修改后的PRF風(fēng)格如下:

此外,TLS 1.2的一個(gè)重要變化是支持認(rèn)證加密模式(支持GCM等)。但是由于一些AEAD(Authenticated Encryption with Associated Data)密碼算法要求IV為隱式的,所以IV又恢復(fù)到由MasterSecret生成,即TLS 1.0以前的風(fēng)格。

TLS 1.2支持使用GCM、CCM的新密碼套件。

同時(shí)SSL 2.0被宣布放棄,不再向后兼容SSL 2.0.

本節(jié)簡單介紹一下流行的SSL/TLS實(shí)現(xiàn)庫,SSL協(xié)議非常復(fù)雜,由開發(fā)者自己實(shí)現(xiàn)常常會(huì)出錯(cuò),開發(fā)者在具體實(shí)現(xiàn)SSL協(xié)議時(shí)通常會(huì)依賴于這些密碼學(xué)庫。

4.1 常見的SSL/TLS 實(shí)現(xiàn)

OpenSSL:這是非常流行的開源SSL/TLS實(shí)現(xiàn)。

OpenSSLim完全用C語言實(shí)現(xiàn),支持SSL 2.0/3.0,TLS 1.0/1.1/1.2以及DTLS 1.0。

OpenSSL 近年來出現(xiàn)了很多的安全漏洞,比如2014年曝出的著名的Heartbleed漏洞等。

JSSE:這是使用Java實(shí)現(xiàn)的,支持SSL 3.0,TLS 1.0/1.1/1.2.

Bouncy Castle:它不僅僅支持SSL/TLS,它是一個(gè)完整的密碼學(xué)庫,支持各種密碼學(xué)算法和協(xié)議。不過它僅僅支持TLS 1.0版本。

Android平臺(tái)主要使用這個(gè)密碼學(xué)庫。

GnuTLS:這是另一個(gè)用C語言實(shí)現(xiàn)的庫,支持SSL 3.0,TLS 1.0/1.1/1.2以及DTLS 1.0。主要在Unix世界被使用。同時(shí)以各種安全漏洞多而聞名。

NSS:這是最初由網(wǎng)景公司(Netscape)開發(fā)的庫,支持SSL 2.0/3.0,TLS 1.0/1.1,現(xiàn)在主要被瀏覽器和客戶端軟件使用,比如Firefox使用的就是NSS庫,Chrome使用的是一個(gè)NSS庫的修正版。

下表是一些常見軟件以及它們所使用的SSL/TLS實(shí)現(xiàn)庫的情況:

其它還有一些常用的SSL實(shí)現(xiàn)庫,如cryptlib、CyaSSL、MatrixSSL、PolarSSL等,由于市場占有率不高,我們這里就不多做介紹了。

4.2 流行SSL/TLS實(shí)現(xiàn)庫的安全研究

最近幾年曝出的高風(fēng)險(xiǎn)SSL安全漏洞大多跟SSL實(shí)現(xiàn)庫有關(guān),比如2014年4月曝出的“心臟滴血”漏洞,存在于OpenSSL 1.0.1-1.0.1f版本中,影響全球近17%的Web服務(wù)器;同樣是2014年曝出的蘋果公司iOS 7.0.6版本系統(tǒng)中存在的“gotofail”漏洞,因?yàn)槌绦騿T的疏忽導(dǎo)致SSL證書校驗(yàn)中的簽名校驗(yàn)失效;包括今年曝出的SSL Freak攻擊也是由于SSL實(shí)現(xiàn)庫的安全漏洞導(dǎo)致的攻擊,我們研究小組的同學(xué)對(duì)這個(gè)攻擊有詳細(xì)的分析,參見《SSL Freak來襲:如何實(shí)施一個(gè)具體的SSL Freak攻擊》。同時(shí)我們還開發(fā)了一個(gè)基于python的中間人代理攻擊框架“風(fēng)聲”對(duì)某國內(nèi)知名電商的服務(wù)器進(jìn)行具體的攻擊,并上報(bào)了漏洞。

考慮到大量SSL/TLS實(shí)現(xiàn)庫中存在安全問題,同時(shí)這些主流的SSL/TLS實(shí)現(xiàn)庫對(duì)開發(fā)者而言使用難度較高,比如有些SSL/TLS實(shí)現(xiàn)庫要求開發(fā)者自己進(jìn)行隨機(jī)數(shù)生成或密鑰管理,讓缺乏系統(tǒng)信息安全知識(shí)培訓(xùn)的開發(fā)者去使用這樣高度復(fù)雜的密碼學(xué)庫容易產(chǎn)生很多安全問題。我們?cè)谶@里推薦一些高級(jí)密碼學(xué)庫:Google keycazer、NaCl、Cryptlib、GPGME。這些密碼學(xué)庫存在的安全問題較少,同時(shí)封裝了一些底層的密碼學(xué)操作,降低了開發(fā)者的使用難度。

以上就是本次要介紹的SSL /TLS協(xié)議基本知識(shí),后續(xù)的文章我們會(huì)對(duì)一些典型SSL/TLS攻擊進(jìn)行具體介紹。

參考:

1、

2、

3、

當(dāng)前標(biāo)題:prf函數(shù)python PRF作用
網(wǎng)站URL:http://muchs.cn/article10/hgiggo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、手機(jī)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站品牌網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)