日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
MySQL是如何做到安全登陸

首先Mysql的密碼權(quán)限存儲(chǔ)在mysql.user表中。我們不關(guān)注鑒權(quán)的部分,我們只關(guān)心身份認(rèn)證,識(shí)別身份,后面的權(quán)限控制是很簡(jiǎn)單的事情。

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

在mysql.user表中有個(gè)authentication_string字段,存儲(chǔ)的是密碼的兩次sha1值。

你可以用下面的語(yǔ)句,驗(yàn)證和mysql.user表中存儲(chǔ)的是一致的。

select sha1(UNHEX(sha1(‘password’)))

以上就是服務(wù)端關(guān)于密碼的存儲(chǔ),接下來(lái)是認(rèn)證過(guò)程。

Mysql采用的是一種challenge/response(挑戰(zhàn)-應(yīng)答)的認(rèn)證模式。

***步:客戶端連接服務(wù)器

第二步:服務(wù)器發(fā)送隨機(jī)字符串challenge給客戶端

第三步:客戶端發(fā)送username+response給服務(wù)器

其中response=HEX(SHA1(password) ^ SHA1(challenge + SHA1(SHA1(password))))

第四步:服務(wù)器驗(yàn)證response。

服務(wù)器存儲(chǔ)了SHA1(SHA1(password)))

所以可以計(jì)算得到SHA1(challenge + SHA1(SHA1(password))))

那么SHA1(password)=response^ SHA1(challenge + SHA1(SHA1(password))))

***再對(duì)SHA1(password)求一次sha1和存儲(chǔ)的數(shù)據(jù)進(jìn)行比對(duì),一致表示認(rèn)證成功。

我們分析它的安全性:

  1. 抓包可以得到response,但是每次認(rèn)證服務(wù)器都會(huì)生成challenge,所以通過(guò)抓包無(wú)法構(gòu)造登陸信息。
  2. 數(shù)據(jù)庫(kù)內(nèi)容被偷窺,數(shù)據(jù)庫(kù)記錄的是sha1(sha1(password)),不可以得到sha1(password)和明文密碼,所以無(wú)法構(gòu)造response,同樣無(wú)法登陸。

當(dāng)然如果被抓包同時(shí)數(shù)據(jù)庫(kù)泄密,就可以得到sha1(password),就可以仿冒登陸了。

這種認(rèn)證方式其實(shí)是有一個(gè)框架標(biāo)準(zhǔn)的,叫做SASL(Simple Authentication and Security Layer ),專門(mén)用于C/S模式下的用戶名密碼認(rèn)證。原理就是服務(wù)器發(fā)送一個(gè)挑戰(zhàn)字challenge給客戶端,客戶端返回的response證明自己擁有密碼,從而完成認(rèn)證的過(guò)程,整個(gè)過(guò)程不需要密碼明文在網(wǎng)絡(luò)上傳輸。

基于SASL協(xié)議有很多實(shí)現(xiàn),mysql的就是模仿的CRAM-MD5協(xié)議,再比如SCRAM-SHA1協(xié)議,是mongdb、PostgreSQL 使用的認(rèn)證方式。在JDK中專門(mén)有一套SASL的API,用于實(shí)現(xiàn)不同的SASL認(rèn)證方式。 


當(dāng)前名稱:MySQL是如何做到安全登陸
標(biāo)題路徑:http://www.5511xx.com/article/dhhjjgh.html