淺談加密技術(shù)在電子商務(wù)中的應(yīng)用

微信公眾號(hào)- 寬寬的烏托邦
寬寬的烏托邦
互聯(lián)網(wǎng)的快速發(fā)展使電子商務(wù)稱為商務(wù)活動(dòng)的新模式,電子商務(wù)從產(chǎn)生至今雖然時(shí)間不長,但發(fā)展十分迅速。由于電子商務(wù)是在互聯(lián)網(wǎng)環(huán)境下進(jìn)行的商務(wù)活動(dòng),如何保證這些商務(wù)活動(dòng)的安全性就是一個(gè)很重要的問題。本文就此問題展開一些相關(guān)討論,主要包括對(duì)稱加密、非對(duì)稱加密、哈希算法的應(yīng)用,以及 HTTPS 協(xié)議保證雙方通信安全的原理介紹

一:加密技術(shù)里的專有名詞介紹

為保證數(shù)據(jù)和交易的安全,確認(rèn)交易雙方的真實(shí)身份,電子商務(wù)必須采用加密技術(shù)。加密技術(shù)是指通過用代碼或密碼來保障數(shù)據(jù)安全性的一種手段。

密文:欲加密的數(shù)據(jù)稱為明文,加密后的數(shù)據(jù)稱為密文。

加密:明文經(jīng)過某種加密算法作用后,轉(zhuǎn)換成密文,這一過程稱之為加密。

解密:密文經(jīng)過某種解密算法作用后,轉(zhuǎn)換成明文,這一過程稱之為解密。

密鑰:加密算法和解密算法中使用的參數(shù)稱為密鑰。

二:對(duì)稱加密的應(yīng)用

對(duì)稱加密是一種可逆的加密方式,加密方和解密方共用同一把密鑰。安全性相對(duì)非對(duì)稱加密要低,但是性能要比非對(duì)稱加密要高。

1.jpg

圖1對(duì)稱加密的示意圖

應(yīng)用場景:

1.數(shù)據(jù)庫連接的用戶名和密碼一般會(huì)使用對(duì)稱加密進(jìn)行加解密。

2.數(shù)據(jù)庫中一些比較敏感的數(shù)據(jù)比如身份證號(hào)、手機(jī)、真實(shí)姓名、郵箱

等信息會(huì)使用對(duì)稱加密進(jìn)行加解密。

但這個(gè)一般來說不會(huì)在代碼層面體現(xiàn)出來,因?yàn)槲覀兛赡苓€會(huì)用到這些手機(jī)、姓名什么的數(shù)據(jù)來作為查詢條件使用。如果有這個(gè)需求的話,在數(shù)據(jù)庫MySQL中,也提供了一些加解密的操作。

3.HTTPS的數(shù)據(jù)傳輸階段使用對(duì)稱加密進(jìn)行加解密。

三:非對(duì)稱加密的應(yīng)用

非對(duì)稱加密是一種可逆的加密方式,是通過密鑰對(duì)來實(shí)現(xiàn)的,密鑰對(duì)包含公鑰和私鑰,公鑰是可以對(duì)外公布的,私鑰是自己保存的,不對(duì)外公布。一般是使用公鑰進(jìn)行加密,私鑰解密;私鑰簽名,公鑰驗(yàn)簽。

2.jpg

圖2非對(duì)稱加密的示意圖

應(yīng)用場景:

1.在支付領(lǐng)域中,與銀行進(jìn)行通信時(shí)會(huì)使用非對(duì)稱加密。

有2種方式來保證通信和數(shù)據(jù)的安全,

1.1一種是自己生成公私鑰,雙方互換公鑰。

1.2還有一種就是使用數(shù)字信封的方式

(采用加密技術(shù)來保證只有特定的收信人才能閱讀信的內(nèi)容)。

銀行采用對(duì)稱密鑰來加密信息,為了能安全的傳輸對(duì)稱密鑰,將對(duì)稱密鑰使用我們的公開密鑰來進(jìn)行加密。這部分就稱為數(shù)字信封,然后將數(shù)字信封和對(duì)稱加密的信息一起發(fā)送給我們,我們先用相應(yīng)的私鑰來打開數(shù)字信封,得到對(duì)稱密鑰,然后用對(duì)稱密鑰來解開信息。

2.在區(qū)塊鏈中,通過非對(duì)稱加密完成數(shù)據(jù)的加解密和簽名驗(yàn)簽功能。

3.在HTTPS的握手階段,通過使用非對(duì)稱加密完成握手。

整個(gè)傳輸?shù)倪^程還是使用的對(duì)稱加密,因?yàn)檫@個(gè)性能是比較好的。問題就在這個(gè)密鑰的分發(fā)問題上,可以在HTTPS的握手階段,用非對(duì)稱加密對(duì)這個(gè)密鑰來進(jìn)行加密傳輸。

四:哈希函數(shù)

哈希嚴(yán)格來說并不算是一種加密算法,但是他可以用來驗(yàn)證數(shù)據(jù)的完整性,對(duì)電子商務(wù)的安全也起到了非常重要的重要。哈希函數(shù)是一種單向的、有雪崩效應(yīng)的函數(shù)。

應(yīng)用場景

1.安全加密:

系統(tǒng)的密碼經(jīng)常使用MD5、SHA函數(shù)處理后存儲(chǔ)。

2.數(shù)據(jù)校驗(yàn):

2.1 P2P資源下載時(shí),都會(huì)包含一個(gè)MD5值。

2.2在請(qǐng)求第三方接口,通常會(huì)用個(gè)sign值,存放所有參數(shù)的MD5值。

2.3區(qū)塊鏈中常使用SHA256進(jìn)行防篡改。

3.唯一標(biāo)識(shí):

3.1對(duì)請(qǐng)求的URL進(jìn)行MD5。

3.2對(duì)文件進(jìn)行MD5。

五:HTTPS

在最初的互聯(lián)網(wǎng)通信中,大多使用的是HTTP協(xié)議,在傳輸?shù)倪^程中,都是明文在傳輸,一旦數(shù)據(jù)被截獲,就面臨著數(shù)據(jù)泄露的危險(xiǎn)。但是隨著電子商務(wù)的興起及發(fā)展,人們對(duì)數(shù)據(jù)安全性的要求越來越高。HTTPS就可以解決這個(gè)問題。

HTTPS協(xié)議可以看成是HTTP傳輸,用SSL/TLS協(xié)議來進(jìn)行加解密:HTTPS=HTTP+SSL/TLS。

SSL/TLS是世界上應(yīng)用最廣泛的密碼通信方法。比如說,當(dāng)我們?cè)诰W(wǎng)上商城中輸入信用卡號(hào)時(shí),我們的Web瀏覽器就會(huì)使用SSL/TLS進(jìn)行密碼通信。使用SSL/TLS可以對(duì)通信對(duì)象進(jìn)行認(rèn)證,還可以確保通信內(nèi)容的機(jī)密性,他綜合運(yùn)用了密碼學(xué)中的對(duì)稱密碼、非對(duì)稱密碼、消息驗(yàn)證碼、數(shù)字簽名等密碼技術(shù)。

TLS協(xié)議包括TLS握手協(xié)議和TLS記錄協(xié)議。

TLS握手協(xié)議:

又分為4個(gè)子協(xié)議:握手協(xié)議、密碼規(guī)格變更協(xié)議、警告協(xié)議、應(yīng)用數(shù)據(jù)協(xié)議。這一層主要負(fù)責(zé)除加密之外的其他各種操作。

TLS記錄協(xié)議:

位于TLS握手協(xié)議的下層,是負(fù)責(zé)使用對(duì)稱密碼對(duì)消息就像加密通信的部分,使用了對(duì)稱密碼和消息認(rèn)證碼,但具體的算法和共享的密鑰是通過握手在服務(wù)器和客戶端之間協(xié)商決定的。這一層主要負(fù)責(zé)進(jìn)行加密操作。

HTTPS協(xié)議的大致流程:

3.jpg

圖3HTTPS協(xié)議流程圖

TLS握手協(xié)議主要用到的密碼技術(shù):

1.哈希函數(shù):用來構(gòu)造隨機(jī)數(shù)生成器。

2.隨機(jī)數(shù)生成器:用來生成預(yù)備主密碼、密鑰(密碼參數(shù))、初始化向量。

3.非對(duì)稱加密:用來加密預(yù)備主密碼。

4.數(shù)字簽名:用來驗(yàn)證服務(wù)器和客戶端的證書。

TLS記錄協(xié)議中主要用到的密碼技術(shù):

1.對(duì)稱加密:確保消息劃分成片段后的機(jī)密性。

2.消息認(rèn)證碼:確保消息劃分片段后的完整性,并進(jìn)行認(rèn)證。

3.認(rèn)證加密:確保消息換份成片段后的完整性、機(jī)密性,并進(jìn)行認(rèn)證。

這里面使用到了數(shù)字證書。我們所處的這端,也就是瀏覽器,主要是通過它里面的信息來判斷這個(gè)數(shù)字證書是不是合法的。

1.認(rèn)證機(jī)構(gòu)是要有權(quán)威的,要背負(fù)法律責(zé)任的,全球目前有50多家機(jī)構(gòu)有資格頒發(fā)證書;

2.認(rèn)證機(jī)構(gòu)頒發(fā)的證書中包含頒發(fā)機(jī)構(gòu)信息、公鑰、公司信息、域名、有效期等信息;

3.瀏覽器發(fā)起HTTPS請(qǐng)求時(shí),服務(wù)器會(huì)返回網(wǎng)站的SSL證書,瀏覽器會(huì)對(duì)證書做驗(yàn)證:驗(yàn)證域名、有效期等信息是否正確

4.判斷證書來源是否合法。每份簽發(fā)證書都可以根據(jù)驗(yàn)證鏈查找到對(duì)應(yīng)的根證書,操作系統(tǒng)、瀏覽器會(huì)在本地存儲(chǔ)權(quán)威機(jī)構(gòu)的根證書,利用本地根證書可以對(duì)對(duì)應(yīng)機(jī)構(gòu)簽發(fā)證書完成來源驗(yàn)證;

5.判斷證書是否被篡改,需要與認(rèn)證機(jī)構(gòu)的服務(wù)器進(jìn)行校驗(yàn);

6.判斷證書是否已吊銷

六:總結(jié)

加密技術(shù)的應(yīng)用主要在電子商務(wù)的通信中的身份認(rèn)定、權(quán)限驗(yàn)證、消息完整等方面。加密技術(shù)要保證付款方和收款方不能存在抵賴行為。所以有時(shí)候通過第三方進(jìn)行收款與存款,也要通過數(shù)字簽名方式進(jìn)行身份的確認(rèn)。另外在一些軟件的應(yīng)用權(quán)限方面有嚴(yán)格的要求,要使用多級(jí)密碼。為了防止用戶口令被黑客攻破,就要提升用戶口令的復(fù)雜度與安全性,可以考慮使用MD5加鹽存儲(chǔ)技術(shù)??偠灾?,加密技術(shù)的最終目的是實(shí)現(xiàn)數(shù)據(jù)信息和密碼不受侵害,能夠進(jìn)行身份驗(yàn)證和密碼權(quán)限驗(yàn)證。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無評(píng)論