官术网_书友最值得收藏!

1.9 身份驗證

身份驗證(Authentication)又稱驗證或鑒權,是指通過一定的手段完成對用戶身份的確認。身份驗證的目的是確認當前聲稱為某種身份的用戶,確實是所聲稱的用戶。在日常生活中,身份驗證并不罕見。例如,通過檢查對方的證件,我們一般可以確信對方的身份。雖然在日常生活中,這種確認對方身份的做法屬于廣義的“身份驗證”,但“身份驗證”一詞更多地被用在計算機、通信等領域。

身份驗證的方法有很多,基本上可分為基于共享密鑰的身份驗證、基于生物學特征的身份驗證和基于公開密鑰加密算法的身份驗證。不同的身份驗證方法,其安全性各有不同。

在TLS/SSL協議握手的第三步中,用到了數字證書中的公鑰,為什么會出現數字證書呢?先假設不采用數字證書,觀察一下在建立安全通信的過程中會面臨哪些風險。

我們假設這樣一種不使用數字證書就進行TLS協議建立連接的場景:在TLS協議握手的第一步中,客戶端發送明文消息client_hello給服務端。Mallory在服務端收到client_hello消息之前,截獲了這條消息,發送給客戶端偽造的協商消息server_hello??蛻舳耸盏組allory發來的偽造的協商消息,如果不驗證證書,繼續進行后續的密鑰協商過程,流程也是可以走完的。后續的通信依然使用客戶端和服務端協商的密鑰加密通信過程,但是問題顯而易見,客戶端并沒有和最初預想的服務端建立連接,而和Mallory的服務端建立了連接。

Mallory可以冒充客戶端和真正的服務端建立連接,Mallory作為中間人,監聽轉發通信內容。

產生這個問題的根源在于,大家都可以生成公私鑰對,而客戶端無法確認這個公私鑰對到底屬于誰,這個時候就需要一種方法來證明一個公私鑰對的擁有者身份。

主站蜘蛛池模板: 疏附县| 宁夏| 望江县| 太和县| 固始县| 封开县| 新野县| 慈利县| 蒙山县| 彝良县| 广灵县| 高淳县| 阿鲁科尔沁旗| 马山县| 陆丰市| 江孜县| 华安县| 延寿县| 内丘县| 神木县| 南平市| 萨迦县| 黑山县| 贡嘎县| 溧阳市| 稻城县| 铜山县| 仁怀市| 丰镇市| 桓仁| 东阿县| 辽源市| 德保县| 临夏县| 额尔古纳市| 夹江县| 江都市| 三亚市| 平罗县| 尚志市| 扶沟县|