前面在講非對稱式加密時談到網際網路中聰明的加密手法,公鑰和私鑰如何運用來保護資料被竊取。這樣的做法雖然可以保證資料傳輸的安全,讓「中間人」難以破解並得到資料,但是還有個小問題存在。
那就是,有人假冒你來傳訊息怎麼辦?
假設 Eve 想假冒 Bob 傳訊息給 Alice,便用 Alice 的公鑰加密後傳過去。
Alice 拿到密文後用自己的私鑰解密,發現解的開,這是要給我的訊息沒錯。
*Eve 假冒 Bob,拿 Alice 的公鑰加密訊息
如果 Alice 沒有什麼防備心,可能就此相信了傳訊息給他的人就是 Bob,匯款到了 Eve 的帳戶裡。
這可怎麼辦?總得想想辦法讓 Alice 確定訊息是否由 Bob 所發出吧?
Bob 說沒問題,我簽個名好了!
問題是在網路的世界,要怎麼做到「簽名」這件事呢?可以透過公鑰及私鑰!
前面提到公鑰及私鑰是一組的鑰匙,用公鑰加密可以用私鑰解密,反之用私鑰加密可以用公鑰解密。
那麼我們是否可以反過來,這次不用對方的公鑰加密,讓對方用私鑰解密。而用自己的私鑰加密,讓對方用自己的公鑰解密?
*Bob 用自己的私鑰加密,其它人用 Bob 的公鑰才解的開
當然可以,這就是數位簽章的基本原理。透過公鑰及私鑰,可以用兩種角度分別實現資料的加密,以及確定身份這兩件事。
但事情還沒結束,世界還沒和平,還有一個小問題:Alice 怎麼能確認在 Bob 網路上公開的公鑰,不是 Eve 掉包過的呢?
此時就需要第三方的公證人了,Bob 會把自己的公鑰放在公道伯 CA 這裡,所謂的 CA 是 Certficate Authority(數位憑證認證機構)。
這時 Alice 只要和這些機構拿取 Bob 的公鑰,在用這把鑰匙確認收到的訊息是否為 Bob 私鑰所加密的即可,再也不用擔心受怕了。
當我們透過 HTTPS 連上一個網站時,點下瀏覽器「鎖」的圖示便能查看數位憑證的詳細資訊,像是哪個 CA 發行、什麼時候過期等等。
*Google 的數位憑證
這就是為什麼要輸入較敏感的訊息到網站上時,一定要確保這個網站是透過 HTTPS 協定了,加密訊息和確認目標身份是保證網路通訊安全的基石。
當初抱著透過寫作來複習一些理論,順帶從自己的角度科普網路知識,終於寫到第 30 天,默默的也寫了 4、5 萬字。
寫作的過程中發現自己以為很懂的一些知識,其實根本不那麼懂,很多時候還要查閱許久的資料,重新學習後才敢把文章寫出來發佈。就算只是以科普為主軸,沒有加入太多技術細節,但還是有部分內容講的不夠精準,甚至有一些錯誤。
也有一些想要提的還沒提,像是 VPN、Rounting Algorithms、ARP、Wireshark 等等我覺得蠻重要的概念、應用,或是一些網路工具。
但總之,蠻開心的是有個開始並持續寫到結束,好過沒有開始。
寫作期間也看了許多大神們的文章,真的很值得學習呀!感謝 iT 邦幫忙所發起的活動以及社群,感謝閱讀我文章的網友們,歡迎交流交流,也希望多少有些幫助。
最後,雖然團隊挑戰失敗 XD,但還是非常感謝隊友 Jimmy, Kevin, Bouyu 的參與及一路相伴!
花了半天的時間把30篇文章看完了,感謝樓主的分享,介紹得非常清楚,有些概念原先不是很清楚,看過後都懂了,真的感謝!
30篇文章都看完了,樓主的文章真的幫助我釐清很多之前沒那麼清楚的網路概念,我覺得樓主真的很會寫教學文章,真的非常感謝!!