微信小程序上線已經(jīng)有很長(zhǎng)一段時(shí)間了,而開發(fā)者在接入小程序的過程中,會(huì)遇到一些問題,例如小程序要求必須通過HTTPS完成服務(wù)端通信,開發(fā)者需搭建HTTPS服務(wù),進(jìn)行 SSL 證書申請(qǐng)、部署,完成HTTPS服務(wù)搭建。深圳網(wǎng)站制作博納網(wǎng)絡(luò)為您編輯整理。
不僅僅是小程序,蘋果 iOS 平臺(tái),Google,Android 在今年也逐步強(qiáng)制要求開發(fā)者使用 HTTPS 接入。HTTPS 似乎是一個(gè)繞不開的“劫”,讓不少開發(fā)者費(fèi)心不已。
為什么開發(fā)者繞不開“HTTPS”
如果要繞開HTTPS那么就一定要說說HTTP協(xié)議,HTTP 協(xié)議是一個(gè)非常簡(jiǎn)單和高效的協(xié)議,互聯(lián)網(wǎng)大部分的應(yīng)用默認(rèn)都是使用的HTTP。由于性能和上個(gè)世紀(jì) 90 年代使用環(huán)境的限制,HTTP 協(xié)議本身并不是一個(gè)為了安全設(shè)計(jì)的協(xié)議,既沒有身份認(rèn)證,也沒有一致性檢驗(yàn),最不符合現(xiàn)在安全要求的是HTTP所有的內(nèi)容都是明文傳輸?shù)摹?/span>
另一方面,互聯(lián)網(wǎng)是一個(gè)發(fā)展快速的行業(yè),各類的應(yīng)用已經(jīng)滲透到人們的生活中,不管是游戲、金融、購(gòu)物、社交還是用到最多的搜索,這些服務(wù)都能帶給人們極大的便捷,提升生活質(zhì)量和效率。
但遺憾的是,大多通過HTTP服務(wù)的應(yīng)用都隱藏著巨大的安全隱患,它不安全。這些安全隱患又集中表現(xiàn)在如下兩方面:
1、隱私泄露
由于HTTP本身是明文傳輸,用戶和服務(wù)端之間的傳輸內(nèi)容都能被中間人查看。也就是說你在網(wǎng)上搜索、購(gòu)物、訪問的網(wǎng)點(diǎn)、點(diǎn)擊的內(nèi)容信息等,都可以被“中間人”獲取。由于國(guó)內(nèi)對(duì)于隱私保護(hù)的重視度不高,而風(fēng)險(xiǎn)又比較隱性,造成的損失及后果也不太好評(píng)估。已知的一些比較嚴(yán)重的隱私泄露事件包括:
QQ登陸信息被不法分子竊取,然后在異地登陸,進(jìn)行廣告宣傳和欺詐行為。
用戶手機(jī)號(hào)和身份信息泄露。用戶在頁面中的搜索行為泄露。比如搜索了一所醫(yī)院,很快就會(huì)有人打電話進(jìn)行推廣(非效果廣告)。
2、頁面劫持
隱私泄露的風(fēng)險(xiǎn)不易發(fā)現(xiàn),用戶感知度很低。但另外一類劫持的影響就非常明顯而直接了——頁面劫持,也就是直接篡改用戶的瀏覽頁面。有很多頁面劫持是非常簡(jiǎn)單粗暴的,直接插入第三方廣告或者運(yùn)營(yíng)商的流量提示信息。
HTTPS 是解決劫持的核武器:HTTPS 為什么能很好的解決劫持呢?主要是三大武器:
1、身份認(rèn)證—防假冒,防抵賴
每次建立一個(gè)全新的 HTTPS 連接時(shí),都需要對(duì)身份進(jìn)行認(rèn)證,確保用戶訪問的是正確的目的網(wǎng)站。
2、內(nèi)容加密—防竊聽
內(nèi)容加密意味端對(duì)端的通信內(nèi)容全都是密文,中間人不能直接查看到內(nèi)容,HTTPS所有的應(yīng)用層內(nèi)容都是通過對(duì)稱加密來實(shí)現(xiàn)加密和解密的。
3、一致性校驗(yàn)—防篡改
通過對(duì)數(shù)據(jù)和共享密鑰的MAC碼來防止中間人篡改內(nèi)容,確保數(shù)據(jù)的完整性和一致性。
通過以上介紹,相信開發(fā)者明白了為什么微信小程序,蘋果 iOS 平臺(tái),Google, Android都希望大家部署SSL證書,這個(gè)開發(fā)者繞不開的“劫”并不是真正的劫,而是信息安全傳輸?shù)募用苷弑Wo(hù)者,是個(gè)不能繞開的,“保護(hù)者”在互聯(lián)網(wǎng)中擔(dān)任著非常重要的角色使信息不被泄露,篡改,竊聽及劫持。