如何正確地使用加密與認證技術
在密碼學專家之中,“加密並不是認證”是一個簡單的共識。但很多不瞭解密碼學的開發者,並不知道這句話的意義。如果這個知識更廣為人知和深入理解,那麼將會避免很多的設計錯誤。
這一概念本身並不困難,但在表面之下,還有更多豐富的細節和玄妙之處有待發現。本文就是講述開發者對於加密和認證二者的混淆與誤用,並附上了優秀的解決方案。
0x01 加密與認證之間有哪些區別?
加密是呈現資訊,使其在沒有正確的金鑰情況下,變得難以卒讀的過程。在簡單的對稱加密中,同一個金鑰被用於加密和解密。在非對稱加密中,可以使用使用者的公鑰對資訊加密,使得只有對應私鑰的擁有者才能讀取它。
認證是呈現資訊,使其抗篡改***通常在某一非常低的概率之內,小於1除以已知宇宙中粒子的數量***,同時也證明它起源於預期傳送者的過程。
注意:當本文提及真實性時,是專門指的資訊真實性,而不是身份真實性。這是一個PKI和金鑰管理問題,我們可能在未來的部落格中詳細說明。
就CIA triad而言:加密提供機密性,認證提供完整性。
加密不提供完整性;被篡改的資訊***通常***還能解密,但結果通常會是垃圾。單獨加密也不抑制惡意第三方傳送加密資訊。
認證不提供機密性;可以為明文資訊提供抗篡改。
在程式設計師中,常見的錯誤是混淆這兩個概念。你能很容易找到這樣的一個庫或者框架:加密cookie資料,然後在僅僅解密它之後就無條件地信任與使用之。
最近訪問
- 如何正確地使用加密與認證技術
- 2015年中考英語衝刺高分四大妙招
- 天秤座需提防的星座
- 屬馬人雙子座運勢性格分析
- 公司採購制度3篇
- 慶祝建黨九十四週年企業領導講話稿
- 好聽的女生網名有內涵_文靜內涵優雅女生網名
- 與葡萄有關的腦筋急轉彎
- 西湖龍井的功效和作用
- 超級好聽的女生網名
- 科目二倒車入庫操作原理
- 有關拼搏的演講稿
- 總賬會計工作的職責描述
- 高中關於感恩的黑板報圖文資料
- 新郎跟父母說的話語
- 風水傳奇故事集錦
- 法制教育的黑板報資料
- 中秋節慶典邀請函標準範例
- 福建高考英語閱讀訓練題答案解析
- 八個字以內的勵志句子
- 康熙字典五行屬金的字
- 康熙字典五行屬木的字
- 康熙字典五行屬水的字
- 康熙字典五行屬火的字
- 康熙字典五行屬土的字