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

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

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

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

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

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

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

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

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

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

1.jpg

圖1對稱加密的示意圖

應(yīng)用場景:

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

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

等信息會使用對稱加密進行加解密。

但這個一般來說不會在代碼層面體現(xiàn)出來,因為我們可能還會用到這些手機、姓名什么的數(shù)據(jù)來作為查詢條件使用。如果有這個需求的話,在數(shù)據(jù)庫MySQL中,也提供了一些加解密的操作。

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

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

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

2.jpg

圖2非對稱加密的示意圖

應(yīng)用場景:

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

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

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

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

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

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

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

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

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

四:哈希函數(shù)

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

應(yīng)用場景

1.安全加密:

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

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

2.1 P2P資源下載時,都會包含一個MD5值。

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

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

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

3.1對請求的URL進行MD5。

3.2對文件進行MD5。

五:HTTPS

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

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

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

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

TLS握手協(xié)議:

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

TLS記錄協(xié)議:

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

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

3.jpg

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

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

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

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

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

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

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

1.對稱加密:確保消息劃分成片段后的機密性。

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

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

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

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

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

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

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

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

6.判斷證書是否已吊銷

六:總結(jié)

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

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論