資料內(nèi)容:
送或接收的數(shù)據(jù)。
當(dāng)您必須以安全的方式在網(wǎng)絡(luò)上移動信息時,未經(jīng)加密的連接是不可接受的。若要使任何類型的數(shù)據(jù)不可讀,請使用
加密。加密算法必須包括安全元素,以抵抗多種已知的攻擊,例如更改加密消息的順序或重復(fù)兩次數(shù)據(jù)。
MySQL使用TLS(傳輸層安全)協(xié)議支持客戶端和服務(wù)器之間的加密連接。TLS有時被稱為SSL(安全套接字層),但
MySQL實際上并不使用SSL協(xié)議進(jìn)行加密連接,因為它的加密很弱(請參閱第6.4.6節(jié),
“加密連接協(xié)議和密碼”).
TLS使用加密算法來確保通過公共網(wǎng)絡(luò)接收的數(shù)據(jù)可以被信任。它具有檢測數(shù)據(jù)更改、丟失或重播的機(jī)制。TLS還結(jié)
合了使用X.509標(biāo)準(zhǔn)提供身份驗證的算法。
X.509使在互聯(lián)網(wǎng)上識別某人成為可能。從基本意義上講,應(yīng)該有一個名為“證書管理機(jī)構(gòu)”(或CA)將電子證書分配給任
何需要的人。證書依賴于具有兩個加密密鑰(公鑰和秘密密鑰)的非對稱加密算法。證書所有者可以向另一方出示證書
作為身份證明。證書由所有者的公鑰組成。使用此公鑰加密的任何數(shù)據(jù)只能使用證書所有者持有的相應(yīng)密鑰解密。
MySQL可以使用OpenSSL或yaSSL進(jìn)行加密連接支持。有關(guān)這兩個包的比較,請參見第6.4.4節(jié),“OpenSSL對
yaSSL”有關(guān)每個包支持的加密協(xié)議和密碼的信息,請參見第6.4.6節(jié),
“加密連接協(xié)議和密碼”.
默認(rèn)情況下,如果服務(wù)器支持加密連接,MySQL程序?qū)L試使用加密進(jìn)行連接,如果無法建立加密連接,則返回到未
加密連接。有關(guān)影響使用加密連接的選項的信息,請參閱第6.4.1節(jié),
“將MySQL配置為使用加密連接”和第6.4.2
節(jié),
“加密連接的命令選項”.
MySQL在每個連接的基礎(chǔ)上執(zhí)行加密,對給定用戶使用加密可以是可選的,也可以是強(qiáng)制的。這使您能夠根據(jù)各個應(yīng)
用程序的要求選擇加密或未加密的連接。有關(guān)如何要求用戶使用加密連接的信息,請參閱REQUIRE的條款CREATE
USER聲明第13.7.1.2節(jié),
“創(chuàng)建用戶語法”..還請參閱require_secure_transport系統(tǒng)變量第5.1.7節(jié),
“服務(wù)器系統(tǒng)變
量”
可以在主復(fù)制服務(wù)器和從復(fù)制服務(wù)器之間使用加密連接。見第16.3.8節(jié),
“設(shè)置復(fù)制以使用加密連接”.
有關(guān)從MySQL C API使用加密連接的信息,請參閱第27.8.15節(jié),“C API加密連接支持”.
還可以使用加密從SSH連接到MySQL服務(wù)器主機(jī)。有關(guān)示例,請參見第6.4.7節(jié),
“用SSH從Windows遠(yuǎn)程連接
MySQL”.
對MySQL 5.7中的加密連接支持做了一些改進(jìn)。以下時間線概述了這些變化: