歡迎來到第六章:資訊安全、隱私與資料完整性!

在現今的數位世界中,資料與黃金同樣珍貴。無論是你的私人訊息、銀行詳情,還是遊戲進度,我們都需要確保這些資料安全、隱私且正確。在本章中,我們將學習電腦如何保護資訊免受「惡意分子」的侵害,以及當我們輸入資料或透過網絡傳送資料時,電腦如何確保資料不會損毀或出錯。別擔心某些術語聽起來很生硬——我們會用簡單的類比為你一一拆解!


6.1 資訊安全 (Data Security)

在我們深入探討工具之前,必須先理解本章的三大核心概念。學生經常搞混這些概念,所以我們先把重點釐清吧!

安全、隱私與完整性:有什麼分別?

想像你有一本私人日記

1. 資訊安全 (Security) 是日記上的以及你用來隱藏它的保險箱。這是為了防止他人盜取或損壞資料所採取的一系列措施。

2. 隱私 (Privacy) 是你保有日記內秘密的權利。這關乎於誰有權限查看這些資料。

3. 完整性 (Integrity) 是確保沒有人撕掉頁面或亂塗改你的文字。這意味著資料必須精確且合乎現狀,既正確又即時。


威脅:網際網路上的「壞蛋」

為了保護資料,我們必須了解我們是在抵禦什麼。以下是課程大綱中提到的常見威脅:

駭客入侵 (Hacking): 未經許可試圖闖入電腦系統以竊取或篡改資料的行為。

網路釣魚 (Phishing): 你收到一封看起來像是銀行或 Netflix 寄來的郵件,要求你點擊連結並「更新密碼」。這其實是竊取你登入帳密陷阱!

網路農場攻擊 (Pharming): 這招更狡猾。惡意程式會被安裝在你的電腦或伺服器中,即便你輸入了正確的網址(例如 www.yourbank.com),它也會將你重新導向至偽造的網站

惡意軟體 (Malware): 這代表「惡意軟體」。你需要知道兩個主要類型:

  • 病毒 (Viruses): 能夠自我複製並旨在刪除或損壞資料的程式。
  • 間諜軟體 (Spyware): 秘密監控你行為(例如記錄你的鍵盤敲擊次數)並將資訊回傳給駭客的軟體。

安全措施:你的數位堡壘

我們該如何反擊?我們使用分層防護:

1. 使用者帳號與密碼: 最基本的層級。只有擁有「鑰匙」(密碼)的人才能進入。

2. 生物特徵識別 (Biometrics): 使用你身體獨有的特徵作為鑰匙,例如指紋臉部辨識。偷走一個大拇指可比偷走密碼難多了!

3. 防火牆 (Firewall): 把這想像成守在網路入口的警衛。它會檢查所有進出的資料,並封鎖任何可疑的連線。

  • 4. 防毒與反間諜軟體: 用於掃描檔案以找出並「消滅」惡意程式的軟體。
  • 5. 加密 (Encryption): 這會將你的資料轉化為秘密代碼。即便駭客偷走了你的檔案,沒有解密金鑰他們也無法讀取。

    6. 數位簽章 (Digital Signatures): 這就像信封上的火漆印記。它能證明文件確實來自發送者,且過程中未經任何篡改。


    快速回顧:安全措施

    要保護系統,使用防火牆與防毒軟體。要保護資料本身,使用加密與存取權限(Permission)。

    重點總結: 安全是關於保護,隱私是關於控制,完整性則是關於準確性。像網路釣魚和惡意軟體這類的威脅不斷演變,因此我們使用「多層次」的安全防護來確保安全。


    6.2 資料完整性 (Data Integrity)

    資料完整性全在於確保資料是正確的。這分為兩個階段:當你輸入資料時(驗證與確認),以及當資料透過網路傳輸時。

    驗證 (Validation) 與 確認 (Verification)

    如果一開始覺得這很複雜別擔心——這是學生最容易失分的地方!

    驗證 (Validation) 是由電腦進行的檢查。電腦會檢查資料是否合理或遵循特定規則。它並不知道資料是否「真實」,只知道它是否「被允許」。

    常見的驗證方法:

    • 範圍檢查 (Range Check): 數字是否在限制內?(例如:月份必須在 1 到 12 之間)。
    • 格式檢查 (Format Check): 看起來對嗎?(例如:郵遞區號必須是字母和數字的組合)。
    • 長度檢查 (Length Check): 太短或太長了嗎?(例如:密碼必須至少 8 個字元)。
    • 存在檢查 (Presence Check): 你是不是漏掉沒填?
    • 檢查位元 (Check Digit): 在編碼末尾額外增加的一個數字(如條碼上的數字),它是透過其他位數計算得出的,用以確保編碼輸入無誤。

    確認 (Verification) 是檢查資料是否確實與原始來源相符。這是為了確保你在輸入時沒有打錯字。

    資料輸入期間的確認方法:

    • 雙重輸入 (Double Entry): 你輸入兩次密碼(如果兩次不相符,代表你犯錯了)。
    • 視覺檢查 (Visual Check): 你查看螢幕並與你正在輸入的文件進行對比。

    常見錯誤警報!

    驗證 (Validation) 不等於確認 (Verification)。如果你把名字輸入為 "Zyxwv" 而電腦接受了它,這代表它通過了驗證(因為它是字母組成),但它卻未能通過確認,因為那根本不是你的真實姓名!


    傳輸過程中的資料完整性

    當資料透過纜線或 Wi-Fi 傳輸時,位元(0 和 1)有時會因為電氣干擾而意外翻轉。我們使用以下方法來偵測錯誤:

    1. 同位檢查 (Parity Check - Byte): 我們在位元組中增加一個額外的位元(同位位元),讓所有 1 的總數變為偶數奇數。如果一個位元組送達時 1 的數量不對,我們就知道發生錯誤了!

    2. 同位區塊 (Parity Block): 這就像一個網格。我們同時檢查列和行的同位。這更好用,因為它能精確指出是哪一個位元翻轉了,並自動修正它

    3. 檢查總和 (Checksum): 在發送前,電腦會對資料進行數學運算以得到一個數值(檢查總和)。接收端的電腦會執行相同的公式。如果兩邊算出的數字不符,代表資料在傳輸途中損毀了。

    公式範例:\( \text{Data Value} \pmod{\text{Key}} = \text{Checksum} \)


    你知道嗎?

    每次你下載大型檔案時都會用到檢查總和。如果網站提供的「雜湊值 (Hash)」或「檢查總和」與你電腦下載後計算出的結果不符,代表你的下載檔案損毀了!


    快速回顧:完整性檢查

    驗證 (Validation): 規則檢查(範圍、長度、格式)。
    確認 (Verification): 人為檢查(雙重輸入、視覺檢查)。
    傳輸 (Transfer): 數學運算(同位檢查、檢查總和)。

    重點總結: 資料完整性確保資料從輸入的那一刻起,直到到達目的地都保持準確。驗證檢查資料是否「合法」,確認檢查資料是否「正確」,而同位檢查/檢查總和則檢查資料是否「成功挺過傳輸過程」。