Bỏ qua nội dung

Bảo mật, quyền riêng tư và toàn vẹn dữ liệu

Khoa học máy tính A-Level · Chủ đề 6

Bài học video cho chủ đề này Mở trang video
16:28

Bảo mật, Quyền riêng tư & Toàn vẹn

Ngay bây giờ, ngay giây phút này, thiết bị của bạn đang bị tấn công. Không phải bởi một người cúi xuống bàn phím — mà bởi hàng ngàn robot tự động, liên tục quét…

Giọng đọc tiếng Anh · phụ đề tiếng Anh + 中文 được ghi trực tiếp

6.1

Bảo mật, quyền riêng tư và tính toàn vẹn — ba khái niệm khác nhau

Chương trình
Thí sinh cần có thể: Ghi chú và hướng dẫn
Giải thích sự khác biệt giữa các thuật ngữ an ninh, quyền riêng tư và tính toàn vẹn của dữ liệu
Thể hiện sự đánh giá đúng đắn về nhu cầu vừa an ninh dữ liệu vừa an ninh hệ thống máy tính
Mô tả các biện pháp an ninh nhằm bảo vệ hệ thống máy tính, từ PC độc lập đến mạng máy tính Bao gồm tài khoản người dùng, mật khẩu, kỹ thuật xác thực như chữ ký kỹ thuật số và sinh trắc học, tường lửa, phần mềm diệt virus, phần mềm chống spyware, mã hóa
Thể hiện sự hiểu biết về các nguy cơ đối với an ninh máy tính và dữ liệu do mạng và internet gây ra Bao gồm malware (virus, spyware), cracker, gian lận qua email, gian lận qua trang web
Mô tả các phương pháp có thể được sử dụng để hạn chế rủi ro do các mối đe dọa gây ra
Mô tả các phương pháp an ninh nhằm bảo vệ an ninh dữ liệu Bao gồm mã hóa, quyền truy cập

Nguồn: Chương trình Cambridge International

Ba từ này nghe có vẻ giống nhau nhưng mang ý nghĩa hoàn toàn khác biệt:

  • Bảo mật (security) — bảo vệ dữ liệu khỏi sự truy cập, thay đổi hoặc phá hủy trái phép.
  • Quyền riêng tư (privacy) — quyền cá nhân kiểm soát ai được xem dữ liệu riêng tư của mình, dựa trên sự đồng thuận và mục đích rõ ràng.
  • Tính toàn vẹn (integrity) — dữ liệu phải chính xác và đầy đủ — không bị hỏng hoặc bị thay đổi vô tình.

Một tệp có thể an toàn (chỉ người được ủy quyền mới mở được) nhưng thiếu tính toàn vẹn (một lỗi đánh máy đã làm hỏng nội dung); hoặc chính xác nhưng không có quyền riêng tư (ai cũng có thể đọc được). Cả ba yếu tố đều cần thiết.

Sự khác biệt mà đề bài yêu cầu, mỗi ý một câu: Bảo mật là giữ dữ liệu an toàn trước mất mát và truy cập trái phép; Quyền riêng tư là giữ dữ liệu bí mật, chỉ những người có quyền mới được xem; Tính toàn vẹn là dữ liệu chính xác, nhất quán và đầy đủ. Vậy "sự khác biệt giữa bảo mật và quyền riêng tư": bảo mật tập trung vào việc ngăn chặn người không được ủy quyền truy cập, thay đổi hoặc làm mất dữ liệu; quyền riêng tư tập trung vào quyền cá nhân quyết định ai được xem dữ liệu riêng tư của họ. "Sự khác biệt giữa bảo mật và tính toàn vẹn": bảo mật bảo vệ dữ liệu khỏi truy cập trái phép; tính toàn vẹn đảm bảo dữ liệu chính xác và cập nhật, điều này được bảo vệ bởi các cơ chế xác thực và kiểm tra.

Khám phá

Phòng thí nghiệm rủi ro và trách nhiệm

Sắp xếp các ví dụ theo quy tắc, rủi ro hoặc bảo vệ liên quan.

Từ vựng Luyện tập
English Tiếng Việt
security/sɪˈkjʊərɪti/ bảo mật
privacy/ˈprɪvəsi/ quyền riêng tư
integrity/ɪnˈteɡrɪti/ tính toàn vẹn
unauthorised/ʌnˈɔːθəraɪzd/ không được ủy quyền
6.1

Tại sao bảo mật lại quan trọng

Cần bảo vệ hai thứ: chính dữ liệu (giữ cho nó bí mật, nguyên vẹn và sẵn sàng sử dụng) và hệ thống máy tính (nếu hệ thống bị xâm phạm, nó có thể tấn công các hệ thống khác, đánh cắp thông tin đăng nhập, hoặc bị khóa đòi tiền chuộc).

"Tại sao nhà trường cần bảo vệ cả hai?" Dữ liệu: vì đây là thông tin cá nhân và bí mật, nên không được để người không được ủy quyền đọc, sửa hay xóa, và nếu mất dữ liệu thì nhà trường sẽ ngừng hoạt động. Hệ thống: kẻ đột nhập khi tiếp cận được hệ thống máy tính có thể cài mã độc, dùng hệ thống đó để tấn công các hệ thống khác, phá hoại phần cứng/phần mềm, hoặc khóa hệ thống bằng ransomware; một hệ thống an toàn là tuyến phòng thủ đầu tiên cho dữ liệu nằm trên đó.

Từ vựng Luyện tập
English Tiếng Việt
ransomware/ˈrænsəmweə/ ransomware (phần mềm tống tiền)
networks/ˈnetwɜːks/ mạng máy tính
6.1

Mối đe dọa từ mạng và internet

Các mối đe dọa được chia thành ba nhóm chính.

Người tấn công kiểu man-in-the-middle ngồi giữa Alice và Bob, đọc hoặc thay đổi tin nhắn
Người tấn công kiểu man-in-the-middle ngồi giữa hai bên
  1. Mã độc (Malware) — phần mềm gây hại:
  • Virus — đoạn mã tự sao chép gắn vào các chương trình khác và lây lan khi chúng được chạy.
  • Worm — đoạn mã tự sao chép lây lan qua mạng mà không cần hành động của người dùng.
  • Trojan horse — giả vờ hữu ích nhưng ẩn chứa mã độc.
  • Spyware — thu thập thông tin âm thầm (lệnh phím, mật khẩu).
  • Ransomware — mã hóa tệp của bạn và đòi tiền chuộc.
  • Adware —推送 quảng cáo không mong muốn.

2. Lừa đảo con người (tấn công xã hội):

  • Phishing — email/trang web giả mạo lừa người dùng cung cấp thông tin đăng nhập.
  • Pharming — chuyển hướng người dùng đến trang web giả mạo ngay cả khi họ gõ đúng địa chỉ thật.
  • Social engineering (kỹ thuật xã hội) — lừa người ta cung cấp thông tin.

Các mô tả của chương trình về bốn mối đe dọa được nêu tên: một virus là phần mềm độc hại có khả năng tự sao chép (tạo bản sao chính nó), gắn vào các tập tin khác và xóa hoặc làm hỏng dữ liệu; phần mềm gián điệp (spyware) là phần mềm độc hại ghi lại các phím nhấn và hành động của người dùng rồi gửi cho bên thứ ba để lấy mật khẩu và thông tin cá nhân; thư lừa đảo (phishing) giả vờ đến từ một tổ chức hợp lệ và chứa liên kết dẫn đến trang web giả mạo, nơi người dùng bị yêu cầu cung cấp thông tin cá nhân hoặc ngân hàng; pharming là mã độc được cài đặt trên máy tính người dùng hoặc trên máy chủ web để chuyển hướng người dùng sang trang web giả mạo mặc dù họ đã nhập đúng địa chỉ. Điểm tương đồng giữa spyware và virus: cả hai đều là malware, cả hai đều được cài đặt mà không biết sự thật của người dùng, cả hai đều có thể gửi dữ liệu đến bên thứ ba hoặc gây hư hại cho hệ thống; điểm khác biệt là virus tự sao chép trong khi spyware ghi lại và truyền tải thông tin. Phishing và pharming đều dẫn người dùng đến trang web giả mạo nhằm thu thập dữ liệu của họ; phishing đòi hỏi người dùng phải nhấp vào liên kết trong thư, còn pharming hoạt động thông qua mã trên máy tính hoặc máy chủ DNS và không cần thư.

3. Các cuộc tấn công vào mạng:

  • hacking bởi hackers — truy cập trái phép, thường thông qua mật khẩu yếu hoặc lỗi phần mềm.
  • từ chối dịch vụ (DoS/DDoS) — làm ngập một máy chủ khiến người dùng thực sự không thể truy cập được.
  • nghe lén (eavesdropping) — bắt giữ dữ liệu đang truyền (mối nguy cơ trên Wi-Fi mở).
  • người đứng giữa (man-in-the-middle) — kẻ tấn công bí mật chuyển tiếp hoặc thay đổi tin nhắn giữa hai bên.

Ví dụ giải chi tiết. Xác định và mô tả hai mối đe dọa đối với dữ liệu trên mạng trường học, đồng thời đưa ra phương pháp phòng ngừa khác nhau cho từng loại.

Mối đe dọa 1, malware: một virus được sao chép vào máy tính từ tệp đính kèm thư hoặc file tải về sẽ tự sao chép và làm hỏng hoặc xóa các tập tin; phương pháp phòng ngừa: phần mềm diệt virus quét các tập tin và được cập nhật thường xuyên. Mối đe dọa 2, hacking: một người không được ủy quyền truy cập vào mạng, ví dụ bằng cách đoán mật khẩu yếu, và đọc hoặc thay đổi dữ liệu; phương pháp phòng ngừa: tường lửa chặn các kết nối trái phép, hoặc mật khẩu mạnh đi kèm xác thực hai yếu tố. Một cặp thứ ba, lừa đảo: thư điện tử dẫn người dùng đến trang giả mạo thu thập thông tin đăng nhập; phương pháp phòng ngừa: đào tạo người dùng kiểm tra người gửi và URL, cùng bộ lọc thư. biện pháp phải phù hợp với mối đe dọa: mã hóa không ngăn được virus, và phần mềm diệt virus không ngăn được lừa đảo.

Phân nhóm malware theo hành vi: các loại tự lây lan là virus (gắn vào chương trình) và sâu bọ (lây lan qua mạng); các loại ẩn náu hoặc ngụy trang là Trojan (giống công cụ hữu ích), spyware, ransomware và adware
Malware theo hành vi: tự lây lan (virus, sâu bọ) so với ẩn náu/ngụy trang (Trojan, spyware, ransomware, adware)
Từ vựng Luyện tập
English Tiếng Việt
malware/ˈmælweə/ malware (mã độc)
man-in-the-middle/mæn ɪnðə ˈmɪdl/ người đứng giữa
virus/ˈvaɪrəs/ virus
worm/wɜːm/ worm
Trojan horse/ˈtrəʊdʒn hɔːs/ ngựa Trojan
spyware/ˈspaɪweə/ phần mềm gián điệp
adware/ˈædweə/ phần mềm quảng cáo
phishing/ˈfɪʃɪŋ/ phishing
pharming/ˈfɑːmɪŋ/ pharming (định hướng giả)
social engineering/ˈsəʊʃl ˌendʒɪˈnɪərɪŋ/ kỹ thuật xã hội
hacking/ˈhækɪŋ/ crack mã
hackers/ˈhækəz/ kẻ hack
denial of service/dɪˈnaɪəl ɒv ˈsɜːvɪs/ denial of service (từ chối dịch vụ)
eavesdropping/ˈiːvzdrɒpɪŋ/ nghe lén
6.1

Biện pháp bảo mật

Các biện pháp bảo vệ cả bảo mật dữ liệu (chống mất mát, trộm cắp hoặc hư hỏng) và bảo mật hệ thống máy tính (phần cứng, phần mềm và mạng của nó).

PC độc lập

  • mật khẩu mạnh; phần mềm diệt virus được cập nhật; cập nhật phần mềm kịp thời; sao lưu lên thiết bị lưu trữ riêng; mã hóa toàn bộ ổ đĩa; màn hình khóa.

PC kết nối mạng

Tất cả các biện pháp nêu trên, cộng thêm tường lửa, quyền hạn theo từng người dùng (chỉ quản trị viên mới có quyền admin), quản lý tập trung tài khoản người dùng, và nhật ký kiểm toán (ai đã đăng nhập, họ đã thao tác gì).

Cách thức hoạt động của các biện pháp, theo văn phong mà chương trình đánh giá:

  • tường firewall: kiểm tra mọi gói tin đến và đi, so sánh với các tiêu chuẩn đã thiết lập (danh sách trắng hoặc đen của địa chỉ, cổng và giao thức); chặn bất kỳ gói nào không đáp ứng tiêu chuẩn; có thể ngăn truy cập vào một số trang web và cảnh báo các nỗ lực truy cập trái phép.
  • mã hóa: dữ liệu bị xáo trộn (mã hóa) bằng một khóa thành văn bản mã, nên bản sao bị chặn không thể hiểu được nếu không có khóa; người nhận sử dụng khóa để giải mã. Nó bảo vệ dữ liệu khi truyền và khi lưu trữ, nhưng không ngăn chặn việc dữ liệu bị chặn hay xóa.
  • mật khẩu và tài khoản người dùng: chỉ người dùng biết mật khẩu mới có thể đăng nhập; mật khẩu mạnh (dài, ký tự hỗn hợp, thay đổi thường xuyên) không thể bị đoán; tài khoản bị khóa sau nhiều lần thất bại; mỗi tài khoản mang quyền truy cập riêng.
  • phần mềm diệt virus và chống gián điệp: quét các tập tin và chương trình dựa trên cơ sở dữ liệu chữ ký malware đã biết, kiểm tra hành vi, cách ly hoặc xóa những gì tìm thấy, và phải được cập nhật để nhận diện malware mới.
  • quyền truy cập: mỗi người dùng (hoặc nhóm) được cấp quyền hạn cho từng tập tin hoặc bảng, chẳng hạn như chỉ đọc hoặc đọc và viết, do đó người dùng không thể xem hoặc thay đổi dữ liệu không thuộc về mình; cơ sở dữ liệu cũng có thể hiển thị cho mỗi người dùng một chế độ xem chỉ chứa các trường họ cần.
  • sinh trắc học: thiết bị chụp ảnh khuôn mặt, vân tay hoặc mống mắt, chuyển đổi chúng thành dữ liệu kỹ thuật số, so sánh với dữ liệu đã lưu của người dùng đó và chỉ cho phép truy cập khi khớp; sinh trắc học không thể bị quên, cho mượn hay đoán giống như mật khẩu.
  • sao lưu: bản sao dữ liệu trên thiết bị lưu trữ riêng, được giữ ở vị trí khác, để phục hồi dữ liệu bị mất hoặc hư hỏng.

Để hạn chế rủi ro từ malware, trong ba điểm: cài đặt phần mềm chống malware và cập nhật thường xuyên; sử dụng tường lửa; không mở tệp đính kèm hay tải file từ nguồn không rõ ràng; vá lỗ hổng cho hệ điều hành và ứng dụng; và đào tạo người dùng.

Sơ đồ hộp với máy tính người dùng nằm ở phía đáng tin cậy, sau đó là tường lửa, rồi đến internet ở phía không đáng tin cậy, được kết nối bằng mũi tên hai chiều
Tường lửa nằm giữa máy tính người dùng và internet

Xuyên qua internet

  • VPN — mã hóa lưu lượng giữa người dùng và cổng doanh nghiệp.
  • HTTPS / TLS — mã hóa lưu lượng web.
  • chữ ký số — xác minh người gửi tin nhắn và đảm bảo tin nhắn không bị thay đổi trong quá trình truyền tải.
  • phát hiện xâm nhập — giám sát lưu lượng truy cập để tìm các mẫu tấn công đã biết.

Cách chữ ký số xác thực một tài liệu (năm điểm): người gửi đưa tin nhắn qua hàm hash để tạo ra digest; người gửi mã hóa digest bằng khóa riêng tư, và digest đã mã hóa đó chính là chữ ký số; tin nhắn và chữ ký số được gửi đi cùng nhau; người nhận giải mã chữ ký số bằng khóa công khai của người gửi để khôi phục lại digest; người nhận hash tin nhắn đã nhận và so sánh hai digest; nếu chúng khớp nhau, tin nhắn đến từ người gửi (chỉ họ mới có khóa riêng tư) và không bị thay đổi trong quá trình truyền. Chữ ký số chứng minh ai là người gửi và tin nhắn còn nguyên vẹn; nó không ẩn nội dung, đó là chức năng của việc mã hóa tin nhắn.

Hai luồng: người gửi hash tin nhắn thành digest và mã hóa digest bằng khóa riêng tư của mình để tạo chữ ký, sau đó gửi tin nhắn và chữ ký; người nhận giải mã chữ ký bằng khóa công khai của người gửi để thu được digest A, hash tin nhắn đã nhận để thu được digest B, và so sánh chúng
Chữ ký số: một bản hash của tin nhắn, được mã hóa bằng khóa riêng tư của người gửi, được người nhận đối chiếu với bản hash mới
Từ vựng Luyện tập
English Tiếng Việt
firewall/ˈfaɪəwɔːl/ tường lửa
two-factor authentication/tuː ˈfæktə ɔːˌθentɪˈkeɪʃn/ xác thực hai yếu tố
authentication/ɔːˌθentɪˈkeɪʃn/ xác thực
VPN/ˌviː piː ˈen/ VPN
digital signatures/ˈdɪdʒɪtl ˈsɪɡnɪtʃəz/ chữ ký số
private key/ˈpraɪvət kiː/ khóa riêng tư
public key/ˈpʌblɪk kiː/ khóa công khai
authorisation/ˌɔːθəraɪˈzeɪʃn/ giấy phép
least-privilege/liːst ˈprɪvɪlɪdʒ/ ít đặc quyền nhất
plaintext/ˈpleɪntekst/ văn bản rõ
Symmetric encryption/sɪˈmetrɪk enˈkrɪpʃn/ Mã hóa đối xứng
asymmetric encryption/ˌeɪsɪˈmetrɪk enˈkrɪpʃn/ mã hóa bất đối xứng
access control/ˈækses kənˈtrəʊl/ kiểm soát truy cập
check digit/tʃek ˈdɪdʒɪt/ chữ số kiểm tra
6.1

Ghép các biện pháp phòng thủ với mối đe dọa

  • ngắt quãng trong quá trình truyền → mã hóa dữ liệu (HTTPS, VPN). Dữ liệu mã hóa bị chặn sẽ vô dụng nếu không có khóa.
  • truy cập trái phép → xác thực mạnh mẽ (mật khẩu dài; xác thực hai yếu tố với mã điện thoại hoặc key); phân quyền người dùng; khóa sau khi đăng nhập thất bại.
  • phần mềm độc hại → phần mềm diệt virus và phần mềm chống spyware với quét thời gian thực; vá lỗi; tránh tải xuống từ nguồn không đáng tin cậy.
  • lừa đảo trực tuyến → đào tạo người dùng; lọc email; kiểm tra URL trước khi nhập thông tin đăng nhập.
  • đe dọa nội bộ → nguyên tắc quyền tối thiểu (cho mỗi người dùng chỉ những gì họ cần); kiểm toán.
  • DDoS → giới hạn tốc độ và lọc lưu lượng truy cập.

Đối với dữ liệu nhạy cảm vượt qua internet, phương pháp của mô hình này là mã hóa: dữ liệu được mã hóa bằng khóa thành dạng text mã hóa, vì vậy người không được phép chặn bắt được sẽ không đọc được, và chỉ người nhận dự định, người có khóa, mới giải mã được. Đối với tập tin chương trình được gửi qua email để kiểm thử, câu trả lời tương tự áp dụng (mã hóa tập tin, hoặc gửi qua kết nối đã mã hóa), kèm theo mật khẩu cho chính tập tin đó.

6.1

Bảo vệ chính dữ liệu

  • mã hóa — biến dữ liệu rõ thành text mã hóa bằng một khóa. Mã hóa đối xứng (AES) sử dụng một khóa chung; mã hóa bất đối xứng (RSA) sử dụng khóa công khai và khóa riêng tư. Bảo vệ dữ liệu khi lưu trữ và khi đang truyền tải.
  • kiểm soát truy cập — quyền tệp (đọc/ghi/thực thi) và quyền truy cập, được hệ điều hành thực thi.
  • xác thực — kỹ thuật xác thực xác minh người dùng: thứ bạn biết (mật khẩu), thứ bạn có (token, điện thoại), hoặc thứ bạn là (sinh trắc học — vân tay, khuôn mặt, võng mạc); kết hợp các yếu tố mang lại độ an toàn cao nhất.
  • sao lưu — giữ các bản sao (một số ở vị trí khác) để khả năng mất mát hoặc hư hỏng có thể được khôi phục.
  • an ninh vật lý — phòng máy chủ có khóa, khóa cáp.

Quyền truy cập trong cơ sở dữ liệu, mô tả cho ba điểm: mỗi người dùng được cấp một tài khoản với tên đăng nhập và mật khẩu; quản trị viên CSDL phân quyền cho mỗi tài khoản đối với từng bảng, chẳng hạn như chỉ đọc, đọc và ghi, hoặc không có quyền truy cập; người dùng chỉ thấy các bảng và trường mà họ được phép, do đó khách hàng không thể mở bảng nhân viên và nhân viên văn phòng có thể đọc nhưng không được sửa giá. DBMS thực thi điều này thông qua quyền truy cập của nó và các bảng nhìn, đồng thời nó cũng có thể mã hóa dữ liệu được lưu trữ.

Mã hóa đối xứng sử dụng một khóa chung để cả mã hóa và giải mã tin nhắn; mã hóa bất đối xứng mã hóa bằng khóa công khai của người nhận và giải mã bằng khóa riêng tư của họ *Mã hóa đối xứng sử dụng một khóa chung; mã hóa bất đối xứng sử dụng khóa công khai để mã hóa và khóa riêng tư để giải mã

Một token bảo mật RSA SecurID màu xám có màn hình LCD hiển thị mã sáu chữ số *Token bảo mật hiển thị mã thay đổi liên tục để xác thực hai yếu tố ("thứ mà bạn có")

Máy đọc vân tay USB nhỏ với bàn phím cảm biến quang học *Máy đọc vân tay kiểm tra "thứ mà bạn là" — đặc điểm của con người, không phải mật khẩu

Khám phá

Mã hóa bằng cipher Caesar

Thay đổi độ lệch — đó chính là khóa. Mỗi chữ cái trượt số vị trí đó dọc theo bảng chữ cái để tạo văn bản mã, và cùng khóa đó trượt ngược lại. Khóa chung này là mã hóa đối xứng thu nhỏ.

Từ vựng Luyện tập
English Tiếng Việt
encryption/enˈkrɪpʃn/ mã hóa
backup/ˈbækʌp/ bản sao lưu
user accounts/ˈjuːzə əˈkaʊnts/ tài khoản người dùng
audit logs/ˈɔːdɪt lɒɡz/ nhật ký kiểm toán
ciphertext/ˈsaɪfətekst/ văn bản mã hóa
access rights/ˈækses raɪts/ quyền truy cập
anti-spyware/ˈænti ˈspaɪweə/ phần mềm chống spyware
biometrics/ˌbaɪəʊˈmetrɪks/ biometrics (sinh trắc học)
6.2

Toàn vẹn dữ liệu

Chương trình
Thí sinh cần có thể: Ghi chú và hướng dẫn
Mô tả cách xác thực dữ liệu và kiểm chứng dữ liệu giúp bảo vệ tính toàn vẹn của dữ liệu
Mô tả và sử dụng các phương pháp xác thực dữ liệu Bao gồm kiểm tra phạm vi, kiểm tra định dạng, kiểm tra độ dài, kiểm tra sự tồn tại, kiểm tra sự hiện diện, kiểm tra giới hạn, số kiểm tra
Mô tả và sử dụng các phương pháp kiểm chứng dữ liệu trong quá trình nhập dữ liệu và truyền dữ liệu Trong quá trình nhập bao gồm kiểm tra trực quan, nhập đôi Trong quá trình truyền bao gồm kiểm tra chẵn lẻ (byte và khối), tổng kiểm tra

Nguồn: Chương trình Cambridge International

Dữ liệu có tính toàn vẹn khi nó chính xác và đầy đủ. Hai kỹ thuật: xác thực dữ liệu (bắt dữ liệu xấu trước khi lưu trữ) và kiểm chứng dữ liệu (xác nhận dữ liệu đã được nhập hoặc chuyển giao chính xác).

Xác thực — dữ liệu có hợp lý không?

Xác thực kiểm tra dữ liệu dựa trên các quy tắc hợp lý, tự động:

  • kiểm tra phạm vi — nằm trong giới hạn (một tháng là từ 1–12).
  • kiểm tra ngưỡng — nằm ở phía đúng của một ngưỡng đơn lẻ (ví dụ: tuổi ≥ 18).
  • kiểm tra sự tồn tại — mục được tham chiếu tồn tại (ví dụ: mã sản phẩm có trong bảng).
  • kiểm tra độ dài — đúng số lượng ký tự.
  • kiểm tra kiểu / ký tự — loại dữ liệu phù hợp (trường điện thoại chỉ cho phép số).
  • kiểm tra định dạng — khớp với mẫu (email phải chứa @).
  • kiểm tra sự hiện diện — các trường bắt buộc không được để trống.
  • số kiểm tra — một chữ số bổ sung được tính toán từ các chữ số khác (ISBN, số thẻ) giúp phát hiện lỗi nhập liệu.

Ví dụ có lời giải. Trong một sơ đồ chữ số kiểm tra đơn giản, chữ số kiểm tra là phần dư khi tổng các chữ số được chia cho $10$, sau đó được nối vào cuối số. Số $4162$ có tổng các chữ số là $13$, nên nó được lưu trữ dưới dạng $41623$. Người dùng nhập $14623$: hai chữ số đầu tiên bị hoán vị, nhưng tổng vẫn là $13$, do đó chữ số kiểm tra vẫn khớp và lỗi không bị phát hiện. Người dùng nhập $41523$ sẽ bị phát hiện, vì $4 + 1 + 5 + 2 = 12$ sẽ tạo ra chữ số kiểm tra là $2$. Một sơ đồ phát hiện được các chữ số bị hoán vị sẽ gán trọng số khác nhau cho từng vị trí, giống như cách ISBN-13 làm (trọng số $1, 3, 1, 3, \ldots$, rồi thêm chữ số để tổng trở thành bội của $10$). Chữ số kiểm tra là quá trình xác thực: nó kiểm tra số liệu theo một quy tắc ngay tại thời điểm nhập vào.

  • kiểm tra tra cứu và kiểm tra nhất quán (ví dụ: ngày giao hàng ≥ ngày đặt hàng).

Xác thực bắt được dữ liệu bị định dạng sai, nhưng không bắt được dữ liệu đúng định dạng mà lại sai về mặt sự thật (ví dụ: "Bob" thay vì "Bib").

Ví dụ có lời giải. Xác định loại kiểm tra xác thực mà mỗi đoạn mã giả thực hiện.

Giả mã Kiểm tra
IF x < 0 OR x > 10 THEN OUTPUT "Invalid" kiểm tra khoảng giá trị: giá trị phải nằm trong hai giới hạn
IF x = "" THEN OUTPUT "Invalid" kiểm tra sự tồn tại: trường dữ liệu không được để trống
IF NOT(x = "Red" OR x = "Yellow" OR x = "Blue") THEN OUTPUT "Invalid" kiểm tra tra cứu (tồn tại): giá trị phải thuộc một danh sách cho trước
IF LENGTH(x) <> 6 THEN OUTPUT "Invalid" kiểm tra độ dài: đúng số lượng ký tự
IF MID(x, 1, 1) < "A" OR MID(x, 1, 1) > "Z" THEN OUTPUT "Invalid" kiểm tra định dạng: một ký tự cụ thể phải là chữ cái

Để xác thực số đăng ký xe bắt buộc gồm một chữ cái, ba chữ số và hai chữ cái: kiểm tra định dạng thử nghiệm từng vị trí theo mẫu của nó, và kiểm tra độ dài xác nhận sáu ký tự. Để xác thực ngày tháng năm sinh: kiểm tra định dạng (DD/MM/YYYY), kiểm tra phạm vi (tháng là $1$ đến $12$, năm không nằm trong tương lai) và kiểm tra sự hiện diện (không được để trống). Điểm nằm giữa $0$ và điểm tối đa cho bài thi cần kiểm tra kiểu (số nguyên) và kiểm tra phạm vi, với giới hạn trên được đọc từ bản ghi riêng của bài thi: đó là cách xác thực bảo vệ tính toàn vẹn, bằng cách từ chối dữ liệu không thể đúng.

Kiểm chứng — dữ liệu đã được nhập hoặc truyền tải chính xác chưa?

Kiểm chứng kiểm tra xem dữ liệu có bị thay đổi khi di chuyển từ nơi này sang nơi khác hay không.

Trong quá trình nhập: nhập đôi (nhập hai lần và so sánh, tương tự như việc thiết lập mật khẩu mới) hoặc kiểm tra trực quan.

Theo mô tả của sơ đồ, nhập đôi là việc nhập dữ liệu hai lần, bởi cùng một người hoặc bởi hai người, và yêu cầu máy tính so sánh hai phiên bản này để báo cáo bất kỳ sự khác biệt nào; kiểm tra trực quan là việc người dùng so sánh nội dung hiển thị trên màn hình với tài liệu nguồn gốc và sửa chữa mọi sai lệch trước khi lưu. Cả hai phương pháp đều bảo vệ tính toàn vẹn bằng cách đảm bảo dữ liệu được lưu trữ khớp với nguồn gốc. Ngay cả sau khi đã qua xác thực và kiểm chứng, dữ liệu vẫn có thể sai: nó có thể hợp lý và khớp với nguồn gốc, nhưng chính nguồn gốc đã sai, hoặc người dùng đã nhập một giá trị hợp lệ khác với giá trị dự định.

Trong quá trình truyền tải (bits có thể đảo):

  • kiểm tra chẵn lẻ — một bit bổ sung khiến số lượng 1 trở thành chẵn (chẵn lẻ chẵn) hoặc lẻ. Bộ thu đếm lại. Phát hiện lỗi một bit.
  • tổng kiểm tra — người gửi gửi giá trị tóm tắt của dữ liệu; người thu tính toán lại và so sánh.
  • kiểm tra dư thừa tuần hoàn (CRC) — tổng kiểm tra mạnh hơn sử dụng phép chia đa thức, phát hiện nhiều loại lỗi hơn.

Kiểm tra khối chẵn lẻ: hàng bị lỗi và cột bị lỗi giao nhau tại bit bị lật

Ví dụ giải. Bốn byte được gửi kèm chẵn lẻ chẵn, theo sau là byte chẵn lẻ. Tìm bit bị hỏng.

Mảng bốn byte nhận được và một byte chẵn lẻ theo chẵn lẻ chẵn, với bit chẵn lẻ ở cột đầu tiên; hàng byte thứ ba có năm 1 và cột thứ tư có ba 1, cả hai đều lẻ, và bit tại giao điểm của chúng được đánh dấu là bit bị đảo
Kiểm tra khối chẵn lẻ: hàng thất bại và cột thất bại giao nhau tại bit bị đảo

Đếm số 1 trong mỗi hàng và mỗi cột. Mỗi hàng và mỗi cột đều phải có số lượng chẵn; byte 3 có năm bit và cột 4 có ba bit. Bit tại nơi giao nhau giữa hàng và cột đó là bit đã thay đổi, vì vậy nó được đặt lại từ 1 sang 0. Kiểm tra tính lẻ chẵn (parity check) đơn lẻ phát hiện lỗi trong một byte nhưng không thể nói bit nào bị sai; hai lỗi trong cùng một byte triệt tiêu lẫn nhau và vượt qua mà không ai để ý. Kiểm tra tổng (checksum), được giải thích cho ba điểm: người gửi đưa khối dữ liệu qua một thuật toán tạo ra giá trị checksum; dữ liệu và checksum được gửi cùng nhau; người nhận chạy cùng thuật toán trên dữ liệu đã nhận; nếu hai giá trị checksum khớp nhau, dữ liệu được chấp nhận, và nếu không, dữ liệu bị từ chối và gửi lại.

Bảy bit dữ liệu giống nhau được hiển thị hai lần: bit chẵn lẻ 0 cho bốn 1 để chẵn lẻ chẵn, bit chẵn lẻ 1 cho năm 1 để chẵn lẻ lẻ
Bit chẵn lẻ được thiết lập để số lượng 1 là chẵn hoặc lẻ
Người gửi tính toán tổng kiểm tra (checksum) và gửi kèm với khối dữ liệu; người nhận tính lại tổng kiểm tra và so sánh, cùng với một ví dụ minh họa về phép tính tổng byte chia dư cho 256
Tính toán tổng kiểm tra cho một khối dữ liệu

Xác minh chỉ chứng minh những gì nhận được khớp với những gì đã gửi — chứ không phải dữ liệu có chính xác, và cũng không chống lại việc can thiệp cố ý. Kiểm tra tính hợp lệ (Validation) hỏi "điều này có hợp lý không?"; xác minh (verification) hỏi "điều này có được sao chép đúng không?" — hãy sử dụng cả hai.

Bảng câu hỏi phân loại các phương pháp theo thời điểm sử dụng: trong quá trình nhập liệu, bao gồm nhập đôi và kiểm tra trực quan; trong quá trình truyền dữ liệu, bao gồm kiểm tra tính chẵn lẻ (byte hoặc khối) và tổng kiểm tra. Việc chuyển tệp video từ máy ảnh đến máy chủ sử dụng tổng kiểm tra: máy ảnh tính toán nó, máy chủ tính lại, nếu không khớp thì gửi lại.

Cạnh nhau: xác thực hỏi "dữ liệu này có hợp lý không?" và kiểm tra các quy tắc như phạm vi, kiểu dáng và định dạng trước khi lưu trữ (bắt được dữ liệu vô nghĩa); xác minh hỏi "nó đã được sao chép chính xác không?" và sử dụng nhập đôi, tính chẵn lẻ và tổng kiểm tra (bắt được lỗi sao chép)
Xác thực kiểm tra xem dữ liệu có hợp lý không; xác minh kiểm tra xem nó đã được sao chép mà không bị thay đổi

Ví dụ giải chi tiết. Một người dùng nhập ngày sinh của mình là 31/02/2009, và nhập địa chỉ email hai lần. Mỗi lỗi nào được bắt bởi phép kiểm tra nào, và sự khác biệt là gì? Xác thực hỏi "dữ liệu này có hợp lý không?" - máy tính thử nghiệm nó dựa trên một quy tắc, và việc kiểm tra định dạng hoặc phạm vi sẽ bác bỏ 31/02/2009 vì tháng Hai chưa bao giờ có 31 ngày. Xác minh hỏi "dữ liệu này đã được nhập chính xác không?" - việc nhập email hai lần là nhập đôi, và so sánh hai bản sao sẽ bắt được lỗi gõ phím. Điểm hạn chế khiến đây trở thành câu hỏi yêu thích: xác thực không bao giờ cho bạn biết dữ liệu đúng, chỉ là nó có thể - 01/02/2009 vượt qua mọi quy tắc xác thực ngay cả khi người dùng thực tế được sinh ra vào một ngày khác. Hãy nói rõ mỗi phép kiểm tra có thể và không thể bắt được điều gì.

Khám phá

Phòng thí nghiệm khái niệm tin học

Phân loại các ví dụ cụ thể theo ý tưởng tin học mà chúng minh họa.

Từ vựng Luyện tập
English Tiếng Việt
validation/ˌvælɪˈdeɪʃn/ xác minh tính hợp lệ
verification/ˌverɪfɪˈkeɪʃn/ xác minh
parity check/ˈpærɪti tʃek/ kiểm tra chẵn lẻ
checksum/ˈtʃeksəm/ checksum
cyclic redundancy check/ˈsaɪklɪk rɪˈdʌndənsi tʃek/ kiểm tra dư thừa chu kỳ
parity block check/ˈpærɪti blɒk tʃek/ kiểm tra khối chẵn lẻ
Xem bài học
6.2

Các định nghĩa mà giám khảo chấp nhận

Một câu hỏi định nghĩa được chấm dựa trên từ ngữ cố định. Hãy học những câu này đúng chính xác.

Thuật ngữ Định nghĩa
an toàn dữ liệu giữ cho dữ liệu an toàn khỏi mất mát và truy cập trái phép, thay đổi hoặc xóa bỏ
quyền riêng tư dữ liệu giữ cho dữ liệu bí mật, để chỉ những người có quyền mới nhìn thấy
tính toàn vẹn dữ liệu dữ liệu chính xác, nhất quán và đầy đủ
mã độc phần mềm độc hại được cài đặt mà không hay biết của người dùng nhằm làm hỏng hệ thống hoặc đánh cắp dữ liệu
virus mã độc tự nhân bản, gắn vào các tệp khác và làm hỏng hoặc xóa dữ liệu
phần mềm gián điệp mã độc ghi lại các phím bấm hoặc hành động của người dùng và gửi chúng bên thứ ba
lừa đảo tin nhắn một email giả danh từ một tổ chức hợp lệ dẫn người dùng đến trang web giả để thu thập dữ liệu cá nhân
lừa đảo mạng mã độc chuyển hướng người dùng đến trang web giả ngay cả khi đã nhập đúng địa chỉ
tường lửa phần cứng hoặc phần mềm kiểm tra tất cả lưu lượng đi vào hoặc ra khỏi hệ thống dựa trên các tiêu chí đã đặt và chặn lại những gì không đáp ứng
mã hóa biến tấu dữ liệu bằng khóa thành văn bản mã hóa, sao cho không thể hiểu được nếu không có khóa để giải mã
chữ ký số hàm băm của tin nhắn được mã hóa bằng khóa riêng của người gửi, dùng để chứng minh ai là người gửi và rằng nó không bị thay đổi
xác thực dữ liệu một phép kiểm tra tự động cho thấy dữ liệu nhập vào là hợp lý và tuân theo các quy tắc đã đặt
xác minh dữ liệu một phép kiểm tra cho thấy dữ liệu đã được nhập hoặc truyền chính xác, bằng cách so sánh với nguồn gốc hoặc giá trị được tính lại
chữ số kiểm tra một chữ số phụ được tính toán từ các chữ số khác của một số và appended vào cuối, sao cho lỗi trong số có thể được phát hiện
kiểm tra tính chẵn lẻ một bit phụ được thêm vào byte sao cho số lượng bit 1 là chẵn (hoặc lẻ), mà người nhận đếm lại
tổng kiểm tra một giá trị được tính toán từ một khối dữ liệu bằng thuật toán và gửi kèm, được tính lại bởi người nhận và so sánh
6.2

Mẹo làm bài thi

  • Giữ ba ý tưởng tách biệt: an ninh (giữ dữ liệu an toàn), quyền riêng tư (ai có thể nhìn thấy nó), tính toàn vẹn (giữ cho nó chính xác).
  • Ghép nối mỗi nguy cơ (mã độc, tấn công mạng, lừa đảo tin nhắn, đánh cắp) với một biện pháp (tường lửa, mã hóa, xác thực, quyền truy cập).
  • Mã hóa bảo vệ sự bí mật, không phải tính toàn vẹn — hãy dùng tổng kiểm tra, tính chẵn lẻ hoặc chữ số kiểm tra cho tính toàn vẹn.
  • Phân biệt virus, sâu bọ và Trojan và cách mỗi loại lây lan.

Lỗi thường gặp

  • Đưa cùng một biện pháp cho hai nguy cơ, hoặc một biện pháp không phù hợp với nguy cơ. Mỗi nguy cơ trong bảng cần một biện pháp ngăn chặn khác nhau thực sự ngăn chặn nó.
  • Tên một biện pháp mà không nói nó hoạt động thế nào. "Tường lửa" đạt điểm khi được theo sau bởi "so sánh lưu lượng với tiêu chí đã đặt và chặn lại những gì thất bại".
  • Gọi xác thực là phép kiểm tra dữ liệu đúng. Xác thực kiểm tra dữ liệu có hợp lý; xác minh kiểm tra nó khớp với nguồn gốc. Không cái nào chứng minh nó là thật.
  • Nói rằng chữ ký số mã hóa tin nhắn. Nó mã hóa hàm băm của tin nhắn bằng khóa riêng; người nhận giải mã nó bằng khóa công khai và so sánh các hàm băm.
  • Miêu tả chữ số kiểm tra là xác minh, hoặc kiểm tra tính chẵn lẻ là xác thực. Chữ số kiểm tra là quy tắc xác thực khi nhập; tính chẵn lẻ và tổng kiểm tra xác minh khi truyền.
  • Viết rằng virus "gửi dữ liệu đến bên thứ ba" và phần mềm gián điệp "nhân bản". Loại nhân bản là virus; loại ghi lại là phần mềm gián điệp.

Bài học tương tác về chủ đề này

Làm theo từng bước, kèm theo bài tập kiểm tra ngay lập tức.

Đề thi cũ

Nhiều chủ đề hơn trong Khoa học máy tính A-Level

Đăng nhập hoặc tạo tài khoản

IGCSE, A-Level & AP