chapter2.登錄私人衣櫥

今天我們來實現(xiàn)私人衣櫥的第3個功能:登錄揉燃;
現(xiàn)在APP都有登錄的功能猪钮,登錄的過程是客戶端(手機端)與服務(wù)端交互的過程好爬,這種架構(gòu)模式叫client/server模式吩跋,client即客戶端友酱,也就是你們能看到的和可操作的界面,而服務(wù)端用戶是感知不到的隶校, 但是實際上每個客戶端背后都有負責的服務(wù)端支撐仔涩,你的數(shù)據(jù)忍坷,登錄的驗證過程都在服務(wù)器端完成。


client/server模式
client/server模式

登陸的過程是非常重要且敏感的熔脂,因為它涉及到一個安全承匣。我們肯定不希望自己的用戶名和密碼被竊取或者說修改。在手機的界面上當你輸入用戶名跟密碼之后锤悄。手機端都需要將這兩個信息發(fā)送到服務(wù)端韧骗,來完成驗證,驗證完畢后零聚,再通知客戶端登錄成功袍暴。
在網(wǎng)絡(luò)傳輸數(shù)據(jù)用戶名和密碼的過程中,就有可能發(fā)生4個主要的安全問題隶症。

竊聽
a向b發(fā)送的消息可能會在傳輸?shù)倪^程中被第三者政模,比如說x偷看。

篡改
a向b發(fā)送消息的過程中被x進行了篡改蚂会。

假冒
a向b發(fā)送的消息過程中可能會被x監(jiān)聽淋样,然后x冒充a向b發(fā)送了消息,這叫假冒胁住。

事后否認
b得到了a發(fā)送的消息趁猴,但是a不承認這是我發(fā)送的消息刊咳。

所以這個過程類似:a寫信給b,在郵寄的過程中被偷看了叫竊聽儡司。被偷看了娱挨,并且還被第三者修改了一部分重要的內(nèi)容叫篡改。第三者直接替換掉a的信捕犬,然后發(fā)給了b叫假冒跷坝。b收到信之后,與a確認寫信內(nèi)容的時候碉碉,a否認該信由他寄出柴钻,叫事后否認。

所以怎么解決上面所提到的4個安全方面的問題呢垢粮?

方法一:加密

既然消息很容易被竊聽贴届。那我們就可以采取加密的方式。

  • 加密的第1種方式:對稱加密

對稱是相對于非對稱加密而言足丢,而實際上就是說對內(nèi)容的加密和解密用的是同一把鑰匙粱腻。

但這里會涉及到一個問題庇配,比如說a發(fā)送消息前斩跌,需要進行加密,把密文發(fā)給了b捞慌,b也必須使用同一把鑰匙進行解密耀鸦。所以說a還需要把鑰匙也發(fā)送給b。

所以這里又涉及到一個問題是鑰匙的安全性啸澡。假如說這個鑰匙被第三者截獲袖订。那他也可以用這個鑰匙解開其中的消息的內(nèi)容。

  • 加密的第2種方式:非對稱加密嗅虏。

也就是說加密和解密用的是兩把不同的鑰匙洛姑。分別叫公鑰和私鑰。公鑰用來加密皮服,私鑰用來解密楞艾。

整個過程是:
1.a 準備 發(fā)送登錄信息b
2.b 先發(fā)送一個公鑰給a
3.a 用公鑰加密信息,然后發(fā)給b
4.b 收到a的密碼信息后龄广,用私鑰解密
因為只有b有私鑰硫眯,所以即使X截獲了信息,也沒有私鑰去解密內(nèi)容择同。

這個過程可以可理解成:


非對稱加密

你要投票两入,黨組織先發(fā)放一個投票箱,大家將投票信息往其中投敲才,這個投票箱就像是公鑰裹纳,投完之后择葡,再把裝有投票信息的投票箱返回給黨組織,黨組織用手中的鑰匙(私鑰)打開投票箱痊夭,查看里面的內(nèi)容刁岸。所以投票箱在運輸過程中,一直是安全的她我。

第2種方式的優(yōu)點是假設(shè)發(fā)送方有:a1,a2,a3 他們?nèi)呖梢怨灿靡粋€鑰匙虹曙;但第1種方式就需要三把鑰匙。

方式2:非對稱加密有缺陷嗎番舆?答案是的酝碳,你這么知道投票箱是來自合法組織(黨組織)的呢?也就是a無法確認公鑰是來自b恨狈,如果中間人用一個假冒的公鑰疏哗,發(fā)給a,a加密后禾怠,被X截獲返奉,然后X用他的私鑰,即可揭開其中的信息內(nèi)容吗氏。

所以想要解決這個問題就必須用用到數(shù)字證書芽偏。

方式二:數(shù)字證書
證書

數(shù)字證書是一種權(quán)威性的電子文檔,可以由權(quán)威公正的[第三方機構(gòu)]弦讽,即CA中心簽發(fā)的證書污尉。它包含一個公鑰、名稱以及證書授權(quán)中心的數(shù)字簽名往产。數(shù)字證書還有一個重要的特征就是只在特定的時間段內(nèi)有效被碗。
所以來回顧下非對稱加密的交互過程:
1.a 準備 發(fā)送登錄信息b
2.b 先發(fā)送一個公鑰給a
3.a 用公鑰加密信息,然后發(fā)給b
4.b 收到a的密碼信息后仿村,用私鑰解密
因為只有b有私鑰锐朴,所以即使X截獲了信息,也沒有私鑰去解密內(nèi)容蔼囊。

變成了:
1.a 準備 發(fā)送登錄信息b
2.b 先將公鑰以及b的資料信息提交給CA審核焚志,審核通過后,生成數(shù)字證書压真。
3.b將數(shù)字證書發(fā)給a
4.a從中提取出b的信息娩嚼,在CA中心驗證,b的公鑰確實屬于b滴肿,確認屬實后岳悟,用公鑰加密信息,然后發(fā)給b
5.b 收到a的密碼信息后,用私鑰解密
因為只有b有私鑰贵少,所以即使X截獲了信息呵俏,也沒有私鑰去解密內(nèi)容。如果b用偽造證書滔灶,也無法通過第4步普碎。

這個過程是絕對安全的嗎?當然是否定的录平。有可能第三者x攻擊認證中心麻车,冒充認證中心生成數(shù)字證書,但是這種概率極低斗这,并且一般來說認證中心都是有一些權(quán)威機構(gòu)动猬。

方式二:數(shù)字簽名

前面介紹的加密方式,數(shù)字證書表箭,是為了防止信息被竊聽赁咙、篡改和冒充。那數(shù)字簽名解決的是防止事后否認免钻。比如在網(wǎng)上簽約彼水,合同一旦簽訂是不允許抵賴或者違約,也就需要防止事后否認极舔。

數(shù)字簽名
就是只有信息的發(fā)送者才能產(chǎn)生的別人無法偽造的一段數(shù)字串凤覆,這段數(shù)字串同時也是對信息的發(fā)送者發(fā)送信息真實性的一個有效證明。

現(xiàn)實生活中的簽名

前面的傳輸過程演變?yōu)椋?br> 1.a 準備 發(fā)送登錄信息b
2.b 先將公鑰以及b的資料信息提交給CA審核姆怪,審核通過后叛赚,生成數(shù)字證書澡绩。
3.b將數(shù)字證書發(fā)給a
4.a從中提取出b的信息稽揭,在CA中心驗證,b的公鑰確實屬于b肥卡,確認屬實后溪掀,用公鑰加密信息,同時加上自己的數(shù)字簽名步鉴,然后一并發(fā)給b
5.b 收到a的密碼信息后揪胃,用私鑰解密,并確認數(shù)字簽名信息是來自a.

  • 數(shù)字簽名的過程其實也是加密的過程氛琢,使用的是a的私鑰加密喊递,b獲取后使用a的公鑰解密。

計算機世界里阳似,加解密的過程其實都是算法運算的過程骚勘,加密有許多種算法,比如AES, RSA.... 但是非業(yè)內(nèi)人士只需要了解加解密的過程和原理。有興趣的可以找其他資料繼續(xù)深入俏讹。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末当宴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子泽疆,更是在濱河造成了極大的恐慌户矢,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件殉疼,死亡現(xiàn)場離奇詭異梯浪,居然都是意外死亡,警方通過查閱死者的電腦和手機瓢娜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進店門驱证,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恋腕,你說我怎么就攤上這事抹锄。” “怎么了荠藤?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵伙单,是天一觀的道長。 經(jīng)常有香客問我哈肖,道長吻育,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任淤井,我火速辦了婚禮布疼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘币狠。我一直安慰自己游两,他們只是感情好,可當我...
    茶點故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布漩绵。 她就那樣靜靜地躺著贱案,像睡著了一般。 火紅的嫁衣襯著肌膚如雪止吐。 梳的紋絲不亂的頭發(fā)上宝踪,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機與錄音碍扔,去河邊找鬼瘩燥。 笑死,一個胖子當著我的面吹牛不同,可吹牛的內(nèi)容都是我干的厉膀。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼站蝠!你這毒婦竟也來了汰具?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤菱魔,失蹤者是張志新(化名)和其女友劉穎留荔,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體澜倦,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡聚蝶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了藻治。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片碘勉。...
    茶點故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖桩卵,靈堂內(nèi)的尸體忽然破棺而出验靡,到底是詐尸還是另有隱情,我是刑警寧澤雏节,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布胜嗓,位于F島的核電站,受9級特大地震影響钩乍,放射性物質(zhì)發(fā)生泄漏辞州。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一寥粹、第九天 我趴在偏房一處隱蔽的房頂上張望变过。 院中可真熱鬧,春花似錦涝涤、人聲如沸媚狰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哈雏。三九已至楞件,卻和暖如春衫生,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背土浸。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工罪针, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人黄伊。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓泪酱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子墓阀,可洞房花燭夜當晚...
    茶點故事閱讀 45,675評論 2 359

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

  • 文中首先解釋了加密解密的一些基礎(chǔ)知識和概念毡惜,然后通過一個加密通信過程的例子說明了加密算法的作用,以及數(shù)字證書的出現(xiàn)...
    納蘭三少閱讀 1,929評論 1 6
  • 文中首先解釋了加密解密的一些基礎(chǔ)知識和概念斯撮,然后通過一個加密通信過程的例子說明了加密算法的作用经伙,以及數(shù)字證書的出現(xiàn)...
    sunny沖哥閱讀 1,391評論 0 3
  • 數(shù)字證書原理 - 無恙 - 博客園 文中首先解釋了加密解密的一些基礎(chǔ)知識和概念,然后通過一個加密通信過程的例子說明...
    拉肚閱讀 1,666評論 0 3
  • 文中首先解釋了加密解密的一些基礎(chǔ)知識和概念勿锅,然后通過一個加密通信過程的例子說明了加密算法的作用帕膜,以及數(shù)字證書的出現(xiàn)...
    已認證用戶閱讀 3,848評論 1 4
  • 原文地址:數(shù)字證書原理,公鑰私鑰加密原理 文中首先解釋了加密解密的一些基礎(chǔ)知識和概念,然后通過一個加密通信過程的例...
    淇濱杜隆坦閱讀 4,167評論 4 46