自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

MySQL是如何做到安全登陸

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

[[209808]]

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

在mysql.user表中有個authentication_string字段,存儲的是密碼的兩次sha1值。

你可以用下面的語句,驗證和mysql.user表中存儲的是一致的。

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

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

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

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

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

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

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

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

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

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

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

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

我們分析它的安全性:

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

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

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

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

責(zé)任編輯:龐桂玉 來源: 36大數(shù)據(jù)
相關(guān)推薦

2010-05-20 17:29:02

IIS安全

2021-08-02 09:01:05

MySQL 多版本并發(fā)數(shù)據(jù)庫

2023-11-30 10:13:17

TensorRT架構(gòu)

2011-11-09 15:49:52

API

2011-07-25 10:24:00

2009-11-20 11:37:11

Oracle完全卸載

2016-11-30 14:18:30

互聯(lián)網(wǎng)

2011-09-01 11:08:41

安全登陸Windows服務(wù)器網(wǎng)絡(luò)安全

2016-01-08 10:03:07

硅谷通吃互聯(lián)網(wǎng)

2019-08-08 10:18:15

運維架構(gòu)技術(shù)

2010-03-30 10:44:05

Nginx啟動

2024-12-04 13:52:30

2022-09-09 08:41:43

Netty服務(wù)端驅(qū)動

2021-05-24 10:55:05

Netty單機并發(fā)

2019-12-23 09:25:29

日志Kafka消息隊列

2024-06-13 15:26:23

2019-01-03 14:00:37

降價青云全棧云

2024-07-10 17:28:51

2011-06-22 09:45:46

JavaScriptAPI

2013-01-06 10:57:03

點贊
收藏

51CTO技術(shù)棧公眾號