注冊(cè)登錄

微信小程序HTTPS 這是微信小程序開(kāi)發(fā)者必須注意(1)

2020-09-28
導(dǎo)讀:微信小程序HTTPS已經(jīng)是當(dāng)下最熱門(mén)的話題,下面將從多方面來(lái)談?wù)勎⑿判〕绦騂TTPS相關(guān)的內(nèi)容,下面從小程序是否必須要用https,小程序https證書(shū)配置,小程序https證書(shū)問(wèn)題等。...

微信小程序HTTPS已經(jīng)是當(dāng)下最熱門(mén)的話題,下面將從多方面來(lái)談?wù)勎⑿判〕绦騂TTPS相關(guān)的內(nèi)容,下面從小程序是否必須要用https,小程序https證書(shū)配置,小程序https證書(shū)問(wèn)題,小程序https post等七篇系列來(lái)講解。
 

一、微信小程序接入的困境

開(kāi)發(fā)者在接入微信小程序過(guò)程中,會(huì)遇到以下問(wèn)題:

微信小程序要求必須通過(guò) HTTPS 完成與服務(wù)端通信,若開(kāi)發(fā)者選擇自行搭建 HTTPS 服務(wù),那需要自行 SSL 證書(shū)申請(qǐng)、部署,完成 https 服務(wù)搭建,效率低流程冗長(zhǎng);且 HTTPS 的 SSL 加解析,對(duì)服務(wù)器的 CPU 有極大的開(kāi)銷(xiāo)。

不僅僅是小程序,蘋(píng)果 iOS 平臺(tái),Google Android 在 2017 也逐步強(qiáng)制要求開(kāi)發(fā)者使用 HTTPS 接入。HTTPS 似乎是一個(gè)繞不開(kāi)的門(mén)檻,讓不少開(kāi)發(fā)者頭痛不已。

針對(duì)以上問(wèn)題,騰訊云的負(fù)載均衡服務(wù)(cloud load balance),希望通過(guò)對(duì) HTTPS 的性能優(yōu)化,提供一鍵式的 SSL 證書(shū)申請(qǐng)服務(wù),降低 HTTPS 的應(yīng)用門(mén)檻和使用成本,讓開(kāi)發(fā)者能快速接入微信小程序等服務(wù)。首先,先讓我們看看 HTTP 與 HTTPS 的對(duì)比,逐一解開(kāi)您的謎團(tuán)。

二、為什么要接入 HTTPS—HTTP 的安全風(fēng)險(xiǎn)

前面我們已經(jīng)說(shuō)到了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é)議,既沒(méi)有身份認(rèn)證,也沒(méi)有一致性檢驗(yàn),最頭疼的是,HTTP 所有的內(nèi)容都是明文傳輸?shù)摹?/span>

另外一方面,互聯(lián)網(wǎng)的發(fā)展也是日新月異,各種 HTTP 應(yīng)用不斷地滲透到人們生活的方方面面。不管是社交、購(gòu)物、金融、游戲、還是搜索,這些 HTTP 服務(wù)都能帶給人們極大的便捷,提升生活質(zhì)量和效率。

 

顯然,HTTP 和人們生活及經(jīng)濟(jì)利益密切相關(guān),遺憾的是,它不安全。也就意味著這里一 定潛藏著巨大的安全隱患。這些隱患又集中表現(xiàn)在如下兩方面:

1、隱私泄露

由于 HTTP 本身是明文傳輸,用戶和服務(wù)端之間的傳輸內(nèi)容都能被中間者查看。也就是說(shuō) 你在網(wǎng)上搜索、購(gòu)物、訪問(wèn)的網(wǎng)點(diǎn)、點(diǎn)擊的頁(yè)面等信息,都可以被「中間人」獲取。由于國(guó)人大多不太重視隱私的保護(hù),這里的風(fēng)險(xiǎn)比較隱性,傷害后果也不太好定量評(píng)估。已知的一些比較嚴(yán)重的隱私泄露事件包括:

1、QQ 登陸態(tài)被不法分子竊取,然后在異地登陸,進(jìn)行廣告和欺詐行為。

2、用戶手機(jī)號(hào)和身份信息泄露。

3、用戶網(wǎng)上行為泄露。比如搜索了一所醫(yī)院,很快就會(huì)有人打電話進(jìn)行推廣(非效果廣告)。

2、頁(yè)面劫持

隱私泄露的風(fēng)險(xiǎn)比較隱蔽,用戶基本感知不到。但另外一類(lèi)劫持的影響就非常明顯非常直接了——頁(yè)面劫持,也就是直接篡改用戶的瀏覽頁(yè)面。有很多頁(yè)面劫持很簡(jiǎn)單粗暴,直接插入第三方廣告或者運(yùn)營(yíng)商的流量提示信息。

微信小程序HTTPS 這是微信小程序開(kāi)發(fā)者必須注意(1)

但也有一些劫持做得比較隱蔽,比如下面的京東頁(yè)面劫持:其中上圖是使用 HTTP 方面的頁(yè)面,頂部箭頭所示的地方出現(xiàn)了一個(gè)購(gòu)物推薦,很逼真,就像京東或者瀏覽器官方的工具。

微信小程序HTTPS 這是微信小程序開(kāi)發(fā)者必須注意(1)

但換成 HTTPS 訪問(wèn),就沒(méi)有這個(gè)工具頁(yè)面,顯然是被劫持了。

微信小程序HTTPS 這是微信小程序開(kāi)發(fā)者必須注意(1)

3、劫持路徑及分類(lèi)

那劫持到底是如何產(chǎn)生的呢?從技術(shù)上來(lái)講比較簡(jiǎn)單,在內(nèi)容經(jīng)過(guò)的地方進(jìn)行監(jiān)聽(tīng)篡改就行了。但要想把整個(gè)劫持的產(chǎn)業(yè)鏈條摸清楚,需要深入黑產(chǎn)內(nèi)部,比較困難。有一點(diǎn)可以肯定的是,劫持大部分都是在中間的網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)生的,又叫「中間人」(MITM, man in the middle)。如下圖所示:

微信小程序HTTPS 這是微信小程序開(kāi)發(fā)者必須注意(1)

由于信息傳輸都需要經(jīng)過(guò)上述的「中間人節(jié)點(diǎn)」,它們又擁有信息的讀寫(xiě)權(quán)限,如果信息沒(méi)有加密,也沒(méi)有校驗(yàn),那么想要查看隱私,篡改頁(yè)面,對(duì)于「中間人」來(lái)說(shuō)可謂是輕而易舉。

那劫持又有哪些主要的分類(lèi)呢?根據(jù)劫持路徑劃分的話,主要是下圖所示的三類(lèi):

微信小程序HTTPS 這是微信小程序開(kāi)發(fā)者必須注意(1)

DNS 劫持,客戶端劫持和鏈路劫持。 根據(jù)我們的不完全統(tǒng)計(jì),業(yè)務(wù)遇到的絕大部分劫持 (90%)都屬于鏈路劫持。

重磅推薦:小程序開(kāi)店目錄

第一部分:小商店是什么

第二部分:如何開(kāi)通一個(gè)小商店

第三部分:如何登錄小商店

第四部分:開(kāi)店任務(wù)常見(jiàn)問(wèn)題

第五部分:小商店可以賣(mài)什么

第六部分:HiShop小程序特色功能

第七部分:小程序直播

第八部分:小程序收貨/物流

第九部分:小程序怎么結(jié)算

第十部分:小程序客服

第十一部分:電商創(chuàng)業(yè)

第十二部分:小程序游戲開(kāi)發(fā)

電話咨詢 微信咨詢 預(yù)約演示 0元開(kāi)店