iOS 逆向 day 15 單向散列函數(shù) 數(shù)字簽名 證書

一瓦侮、單向散列函數(shù) one way hash function

  1. 什么是單向散列函數(shù)?
  • 單向散列函數(shù)夏跷,又被稱為消息摘要函數(shù)(message digest function)闷旧,哈希函數(shù)
  • 輸出的散列值,也被稱為消息摘要(message digest)城舞、指紋(fingerprint)
  • 嚴格來講:它不是加密算法
  1. 常見的幾種單向散列函數(shù)
  • MD4轩触、MD5:產生 128bit 的散列值,MD 就是 Message Digest 的縮寫家夺,目前已經不安全
  • SHA-1:產生 160bit 的散列值脱柱,目前已經不安全
  • SHA-2:SHA-256拉馋、SHA-384榨为、SHA-512惨好,散列值長度分別是 256bit、384bit随闺、512bit
  1. 單向散列函數(shù)的特點
  • 根據(jù)任意長度的消息日川,計算出固定長度的散列值
  • 計算速度快,能快速計算出散列值
  • 消息不同矩乐,散列值也不同
  • 具備單向性
  1. 單向散列函數(shù)的核心思想**防篡改龄句,摘要,單向性**
  • 常見場景一: 網站發(fā)布軟件散罕,通常用戶會根據(jù)自己的喜歡和網絡情況從各個不同渠道下載軟件分歇。那如何保證軟件沒有被篡改過呢?通常官網軟件旁邊會附上一個散列值欧漱,用戶在各個地方獲取軟件之后职抡,可以自己通過摘要算法計算一下散列值,如果和官網的相同误甚,就表明軟件沒有被篡改繁调。這主要體現(xiàn)摘要和防篡改

  • 常見場景二:幾乎所有的服務器都不保存用戶的真實密碼,通常保證的就是用戶密碼的 摘要值靶草。萬一有一天服務器遭到攻擊,用戶信息泄露了奕翔,黑客拿到了用戶密碼,也無法還原出用戶當初輸出的真實密碼派继,這樣服務端就比較安全宾袜。這也是為什么一般我們忘記某個密碼之后,服務端都不支持找回密碼的原因驾窟,因為服務端也不知道扒烀ā!這主要提現(xiàn)了單一性

二绅络、數(shù)字簽名

  1. 什么是數(shù)字簽名月培?
  • 生成簽名:由消息的發(fā)送者完成,通過簽名密鑰也就是私鑰完成
  • 驗證簽名:有消息的接收者完成恩急,通過驗證密鑰也就是公鑰完成

2.數(shù)字簽名和公鑰加密的對比


對比表格
  • 數(shù)字簽名杉畜,其實就是將公鑰密碼反過來用
  • 數(shù)字簽名的作用不是為了保證機密性,僅僅是為了能夠識別內容有沒有被篡改衷恭,也就是證明是私鑰本人發(fā)送的數(shù)據(jù)
  1. 數(shù)字簽名流程 → 核心思想 證明是私鑰持有者發(fā)送的信息

情景的背景描述:Bob 收到暗戀著 Alice 的約會信息 此叠,可是 Bob 如何確定消息沒被篡改?如何確定沒有人冒充Alice發(fā)送消息随珠?

Alice 想約會 Bob

  • Alice 生成一對私鑰公鑰灭袁,把自己的公鑰公布出去
  • 再吧將要發(fā)送的約會信息猬错,使用摘要算法生成一個摘要值
  • Alice 將摘要值使用私鑰進行簽名,然后把簽名值茸歧、約會消息一并發(fā)給 Bob

Bob 收到 Alice 的約會消息

  • Bob 拿到 Alice 公布的公鑰(暫時假定 Bob 拿到的公鑰是正確的)
  • Bob 用Alice的公鑰驗證 簽名值兔魂,獲得 摘要值
  • Bob 將約會消息進行單向散列算法獲得新摘要值举娩。
  • Bob 對比摘要值新摘要值一致析校,那么就可以確定消息來自 Alice,并且未經過篡改铜涉。

三智玻、數(shù)字簽名無法解決的問題 → 中間人攻擊

仔細思考我們前面的內容吊奢,無論是公鑰加密的示例中页滚,還是數(shù)字簽名的示例中裹驰,我們都只能假設對方拿到的公鑰是正確的幻林,基于這個大前提沪饺,Bob 和 Alice 的信息交流才是安全可靠的整葡,如果遭受到中間人攻擊呢遭居?

中間人劫持流程圖

四魏滚、證書

密碼學中的證書,全稱叫做公鑰證書(Public-key Certificate芋齿,PKC),跟身份證觅捆、駕駛證類似。里面有姓名掂摔、郵箱等個人信息乙漓,以及此人的公鑰叭披。并由認證機構(Certificate Authority 涩蜘,CA)施加數(shù)字簽名

證書生成和使用流程圖

五、總結

  1. 對稱密碼
  • 加密和解密用的同一種密鑰
  • 加密速度快
  • 無法解決傳輸中密鑰泄露的問題
  1. 公鑰密碼
  • 公鑰加密樟澜,私鑰解密往扔;私鑰加密,公鑰解密
  • 加密速度慢
  • 可以解決密鑰傳輸泄露的問題
  1. 單向散列函數(shù)
  • 可以對所有信息進行摘要算法萍膛,生成長度相同的摘要值
  • 具有不可逆性蝗罗、單一性
  • 主要用于防篡改
  1. 數(shù)字簽名
  • 使用私鑰加密消息的散列值串塑,生成簽名
  • 使用公鑰驗證簽名
  • 主要用于保證消息來源的可靠性
  1. 證書
  • 由 CA 證書機構桩匪,使用私鑰對其他人的公鑰生成數(shù)字簽名
  • 主要是避免中間人攻擊
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末闺骚,一起剝皮案震驚了整個濱河市僻爽,隨后出現(xiàn)的幾起案子胸梆,更是在濱河造成了極大的恐慌碰镜,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異王滤,居然都是意外死亡,警方通過查閱死者的電腦和手機糜俗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門珠月,熙熙樓的掌柜王于貴愁眉苦臉地迎上來啤挎,“玉大人庆聘,你說我怎么就攤上這事伙判⊙绺В” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵沥邻,是天一觀的道長。 經常有香客問我蕊玷,道長垃帅,這世上最難降的妖魔是什么贸诚? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮头朱,結果婚禮上,老公的妹妹穿的比我還像新娘班眯。我一直安慰自己署隘,他們只是感情好磁餐,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著恤浪,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荠呐。 梳的紋絲不亂的頭發(fā)上呵恢,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天渗钉,我揣著相機與錄音鳄橘,去河邊找鬼瘫怜。 笑死鲸湃,一個胖子當著我的面吹牛暗挑,可吹牛的內容都是我干的窿祥。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼靠胜!你這毒婦竟也來了霎褐?” 一聲冷哼從身側響起损合,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤律适,失蹤者是張志新(化名)和其女友劉穎涩堤,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體白魂,經...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年痴脾,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖盏浇,靈堂內的尸體忽然破棺而出童擎,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布包帚,位于F島的核電站,受9級特大地震影響,放射性物質發(fā)生泄漏章蚣。R本人自食惡果不足惜贾虽,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一绰咽、第九天 我趴在偏房一處隱蔽的房頂上張望取募。 院中可真熱鬧玩敏,春花似錦旺聚、人聲如沸砰粹。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽圣拄。三九已至庇谆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寞肖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工莫鸭, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留衫仑,地道東北人呻粹。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像制妄,于是被迫代替她去往敵國和親耕捞。 傳聞我的和親對象是個殘疾皇子诗芜,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355