https理論與實(shí)踐

說(shuō)點(diǎn)廢話,我一直覺(jué)得APPLE是個(gè)非常激進(jìn)的公司蛀缝, 從早些的Flash顷链,到現(xiàn)在的http,又比如新的Mac連USB口都不給屈梁。公司大到這個(gè)量級(jí)嗤练,已經(jīng)可以憑一己之力促進(jìn)先進(jìn)技術(shù)的普及了。

本文內(nèi)容分為以下三部分

  • HTTPS協(xié)議
  • 使用Let's Encrypt在后端部署https服務(wù)
  • https在iOS上的正確使用姿勢(shì)

Part1 HTTPS協(xié)議

普通的HTTP請(qǐng)求在讶,在通信雙方建立了TCP連接之后煞抬,就可以進(jìn)行了。而HTTPS則不同构哺,在建立TCP連接之后革答,需要先進(jìn)行SSL協(xié)議的握手過(guò)程,然后才是HTTP的通信曙强。

SSL的握手過(guò)程如下圖所示


alice想要與bob進(jìn)行https的通信残拐,需要以下幾步

  1. alice給出協(xié)議版本號(hào)、一個(gè)客戶端生成的隨機(jī)數(shù)(Client random)旗扑,以及客戶端支持的加密方法蹦骑。
  2. bob確認(rèn)雙方使用的加密方法,并給出數(shù)字證書(shū)(包含bob的公鑰)臀防、以及一個(gè)服務(wù)器生成的隨機(jī)數(shù)(Server random)眠菇。
  3. alice 確認(rèn)數(shù)字證書(shū)(向CA確認(rèn))有效,然后生成一個(gè)新的隨機(jī)數(shù)(Premaster secret)袱衷,并使用數(shù)字證書(shū)中的公鑰捎废,加密這個(gè)隨機(jī)數(shù),發(fā)給鮑勃致燥。
  4. bob使用自己的私鑰登疗,獲取愛(ài)麗絲發(fā)來(lái)的隨機(jī)數(shù)(即Premaster secret)。
  5. alice和bob根據(jù)約定的加密方法,使用前面的三個(gè)隨機(jī)數(shù)辐益,生成"對(duì)話密鑰"(session key)断傲,用來(lái)加密接下來(lái)的整個(gè)對(duì)話過(guò)程。

上述步驟的最終目的智政,是為了生成”對(duì)話密鑰“认罩,以后的通信都使用這個(gè)密鑰進(jìn)行對(duì)稱加密(一般對(duì)稱加解密的速度是比較快的)

那么看到這里,就又一個(gè)問(wèn)題出現(xiàn)了续捂。握手階段的信息安全如何保障垦垂?

答案是無(wú)法保障。整個(gè)握手階段牙瓢,都是明文的劫拗。因此如果有第三方竊聽(tīng)了通信,他可以獲得Client random矾克、Server random以及加密后的Premaster secret页慷。只要第三方無(wú)法破解Premaster secret的內(nèi)容,那么通信就是安全的聂渊。

Part2 使用Let's Encrypt在后端部署https服務(wù)

可以參考這篇文章

How To Secure Nginx with Let's Encrypt on Ubuntu 16.04

大致步驟

  1. 安裝certbot客戶端
  2. 配置服務(wù)器允許方案 /.well-known文件夾
  3. sudo letsencrypt certonly -a webroot --webroot-path=/var/www/html -d example.com -d www.example.com 這個(gè)命令會(huì)生成你需要的證書(shū)等文件
  4. 配置Nginx ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

如果速度很慢多半是python的源被墻了差购,需要改一下pip配置。

Let's Encrypt大法好汉嗽,退沃通保平安欲逃!

Part3 在iOS上使用自己頒發(fā)的HTTPS證書(shū)的正確姿勢(shì)

在開(kāi)發(fā)環(huán)境,也需要進(jìn)行HTTPS的話饼暑,需要對(duì)AFN進(jìn)行兩個(gè)設(shè)置:允許不合法的證書(shū)和不驗(yàn)證域名

    AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithBaseURL:[NSURL URLWithString:[self host]]];

    manager.securityPolicy.allowInvalidCertificates = YES;
    manager.securityPolicy.validatesDomainName = NO;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末稳析,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子弓叛,更是在濱河造成了極大的恐慌彰居,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件撰筷,死亡現(xiàn)場(chǎng)離奇詭異陈惰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)毕籽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)抬闯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人关筒,你說(shuō)我怎么就攤上這事溶握。” “怎么了蒸播?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵睡榆,是天一觀的道長(zhǎng)萍肆。 經(jīng)常有香客問(wèn)我,道長(zhǎng)胀屿,這世上最難降的妖魔是什么塘揣? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮碉纳,結(jié)果婚禮上勿负,老公的妹妹穿的比我還像新娘馏艾。我一直安慰自己劳曹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布琅摩。 她就那樣靜靜地躺著铁孵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪房资。 梳的紋絲不亂的頭發(fā)上蜕劝,一...
    開(kāi)封第一講書(shū)人閱讀 51,482評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音轰异,去河邊找鬼岖沛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛搭独,可吹牛的內(nèi)容都是我干的婴削。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼牙肝,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼唉俗!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起配椭,我...
    開(kāi)封第一講書(shū)人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤虫溜,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后股缸,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體衡楞,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年敦姻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瘾境。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡替劈,死狀恐怖寄雀,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情陨献,我是刑警寧澤盒犹,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響急膀,放射性物質(zhì)發(fā)生泄漏沮协。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一卓嫂、第九天 我趴在偏房一處隱蔽的房頂上張望慷暂。 院中可真熱鬧,春花似錦晨雳、人聲如沸行瑞。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)血久。三九已至,卻和暖如春帮非,著一層夾襖步出監(jiān)牢的瞬間氧吐,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工末盔, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留筑舅,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓陨舱,卻偏偏與公主長(zhǎng)得像翠拣,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子隅忿,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理心剥,服務(wù)發(fā)現(xiàn),斷路器背桐,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 一优烧、作用 不使用SSL/TLS的HTTP通信,就是不加密的通信链峭。所有信息明文傳播畦娄,帶來(lái)了三大風(fēng)險(xiǎn)。 (1)竊聽(tīng)風(fēng)險(xiǎn)...
    XLsn0w閱讀 10,534評(píng)論 2 44
  • 原文地址 http://blog.csdn.net/u012409247/article/details/4985...
    0fbf551ff6fb閱讀 3,522評(píng)論 0 13
  • 本文部分內(nèi)容參考果殼網(wǎng)對(duì)HTTPS的介紹弊仪,這里是原文鏈接:http://www.guokr.com/post/11...
    OliverGao閱讀 3,808評(píng)論 3 29
  • 文/小麥 “我得了抑郁癥…” “怎么可能熙卡?!你整天這么開(kāi)心的一個(gè)人励饵!別鬧了哈驳癌。” “哇役听!你生活的環(huán)境這么好颓鲜!真不懂...
    賴小麥閱讀 1,006評(píng)論 14 15