Bài giảng An toàn thông tin: Chương 6 - ThS. Nguyễn Thị Phong Dung

35 6 0
Bài giảng An toàn thông tin: Chương 6 - ThS. Nguyễn Thị Phong Dung

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng An toàn thông tin: Chương 6 Xác thực và toàn vẹn thông tin, được biên soạn gồm các nội dung chính sau: Nhu cầu xác thực thông điệp; Mã xác thực thông điệp (MAC); Xác thực thông điệp dùng RSA; Hàm băm (hash function); Chữ ký số (Digital Signature); Chứng thư số (Digital Certificate); Hạ tầng khóa công khai (PKI). Mời các bạn cùng tham khảo!

TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN Bài giảng mơn học: AN TỒN THƠNG TIN Chương 6: Xác thực tồn vẹn thơng tin Số tín chỉ: Số tiết: 30 tiết ( Lý Thuyết) GV: ThS Nguyễn Thị Phong Dung Email : ntpdung@ntt.edu.vn Bài 6: Xác thực tồn vẹn thơng tin Nhu cầu xác thực thông điệp Mã xác thực thông điệp (MAC) Xác thực thông điệp dùng RSA Hàm băm (hash function) Chữ ký số (Digital Signature) Chứng thư số (Digital Certificate) Hạ tầng khóa cơng khai (PKI) Nhu cầu xác thực thơng điệp • Đặt vấn đề: • Case 1: Nếu Mallory đánh cắp thơng điệp M Alice Sau sửa lại thành M’ gởi cho Bob • Case 2: Mallory tự tạo thông điệp M’ giả mạo Alice gởi cho Bob Nhu cầu xác thực thơng điệp • Nhu cầu xác thực thơng điệp: • Kiểm chứng danh tính nguồn phát thơng điệp (Authentication) • Bao hàm trường hợp Alice phủ nhận tin (Non-repudiation) • Bao hàm trường hợp Bob tự tạo thông điệp “vu khống” Alice tạo thông điệp • Kiểm chứng tính tồn vẹn thơng điệp (Integrity) : • Nội dung tồn vẹn: tin khơng bị sửa đổi • Bao hàm trường hợp Bob cố tình sửa đổi • Xác thực thơng điệp hỗ trợ phịng chống dạng cơng như: • Tấn cơng thay (Substitution) • Tấn cơng giả danh (Masquerade) • Tấn cơng cơng phát lại (Reply attack) Mật mã khóa đối xứng • Có thể dùng mật mã khóa đối xứng để xác thực ? • Ngun lý mật mã khóa đối xứng: • Người nhận có biết C’ thơng điệp bị thay đổi? • Mã hóa khóa đối xứng có cung cấp tính xác thực? Mật mã khóa đối xứng • Mơ hình xử lý mã hóa cho thơng điệp: • Mã hóa dịng (Stream Cipher): bit (hay byte) liệu đầu vào xử lý mã hóa kết thúc luồng liệu • Mã hóa khối (Block Cipher): liệu chia thành khối, kích thước để mã hóa (và giải mã) • Có mơ hình xử lý thơng tin mã hóa khối: • Mơ hình Electronic Code Book (ECB): • Mơ hình Cipher Block Chaining (CBC): Mật mã khóa đối xứng • Mơ hình Electronic Code Book (ECB): • Thơng tin cần mã hóa chia thành nhiều khối (P0  Pn-1) • Dùng khóa K để mã hóa khối thành phần • Giải mã: dùng khóa K giải mã khối (C0  Cn-1) • Nhận xét: • Dễ đốn: Ci = Cj Pi = Pj => dựa vào phương pháp thống kê để phá mã • Chỉ thích hợp cho thơng tin ngắn Mật mã khóa đối xứng • Mơ hình Cipher Block Chaining (CBC): • Khởi tạo khối liệu giả (Initial Vector – IV) • Khối XOR với IV mã hóa với khóa K: C0 = E(P0 ⊕ IV, K) • Khối XOR với Bản mã khối trước mã hóa: Ci = E(Pi ⊕ Ci-1, K) • Giải mã: dùng khóa K IV giải mã khối C0 • khối (C0  Cn-1) • Nhận xét: • Nếu Pi = Pj sau mã hóa, Ci ≠ Cj • Giải mã: phải có khóa K khối liệu khởi tạo (Initial Vector – IV) Mã xác thực thông điệp (MAC) • Tổng quan Mã xác thực thơng điệp • Thuật ngữ “thông điệp”: • Message = Plain text Cipher text (thơng điệp = thơng tin) • Mã xác thực thơng điệp (Message Authentication Code - MAC) • Là giải pháp xác thực tính tồn vẹn nguồn gốc thơng điệp • Bên nhận phát thay đổi thơng điệp đường truyền • Duy trì tính tồn vẹn khơng thể chối bỏ liệu • MAC xây dựng dựa mật mã khóa đối xứng (Pre-share key) • NIST (Viện tiêu chuẩn cơng nghệ quốc gia Mỹ): • Chuẩn C-MAC (Cipher Message Authentication Code): sử dụng mã hóa cho đoạn code dùng xác thực thơng điệp • Chuẩn H-MAC (Keyed-Hash Messasge Authentication Code) : sử dụng khóa hàm băm cho đoạn code dùng xác thực thông điệp Mã xác thực thơng điệp (MAC) • Giải thuật MAC: • Bên gởi thực hiện: • Tính giá trị MACA dựa thơng tin P khóa K • Gắn (tag) MACA vào mã C trước truyền • Bên nhận: • • • • Giải mã C thành P’ Tính giá trị MACB dựa P’ khóa K So sánh MACB với MACA Nếu MACB = MACA => xác thực P E C D K MACA K So sánh Tính MAC MACB Tính MAC P’ Hàm băm (hash function) • Giới thiệu hàm băm MD5: • Tổng quan: • MD5: Message Digest version (tạm dịch: tóm tắt thơng điệp) • Do R Rivest đề xuất vào năm 1992 • Đã sử dụng rộng rãi • Đặc tính MD5: • Giá trị băm = 128 bit (tương đương 32 ký số Hex) • Thơng điệp có kích thước tối đa 264 bits • Một vài ví dụ mã băm MD5: • Ký tự ‘a’ => 0cc175b9c0f1b6a831c399e269772661 • Chuỗi ‘an toan thong tin’ => 5cab4237552af30a8c9d3c52f7f34058 • Ký tự rỗng “” => d41d8cd98f00b204e9800998ecf8427e Hàm băm (hash function) • Giới thiệu hàm băm MD5: • Lưu đồ giải thuật băm MD5: • Tương tự mã khối CBC với: Block size = 512 bits, IV = 128 bits • F thuật tốn băm 512 bits => 128 bits (Hi) • Mã băm = mã Hn cuối Hàm băm (hash function) • Giới thiệu hàm băm SHA-1: • Tổng quan: • SHA: Secure Hash Algorithm (tạm dịch: thuật tốn băm có bảo mật) • SHA-1 Hoa kỳ chuẩn hóa: NIST FIPS 180-1 (1995) • Sử dụng giao thức bảo mật thông tin nay: TLS, SSL, PGP, SSH, S/MIME • Đặc tính SHA: • Giá trị băm = 160 bit (tương đương 40 ký số Hex) • Thơng điệp có kích thước tối đa 2128 bits • Giới thiệu hàm băm SHA-2: • Tăng cường bảo mật cho SHA-1 • Số bit mã băm thay đổi theo phiên bản: SHA-256, SHA-384, SHA-512 Chữ ký số (Digital Signature) • Chữ ký số (Digital Signature - DS): • Là thông tin kèm theo thông điệp, nhằm hỗ trợ bên nhận: • Xác định chủ thể, nguồn gốc thơng điệp • Xác minh tính tồn vẹn thơng điệp • Cơng nghệ sử dụng: • Dùng hàm băm (Hash) cho xác minh tính tồn vẹn • Dùng tính xác thực mã hóa khóa bất đối xứng (RSA) Đây có phải “Chữ ký số” ? Chữ ký số (Digital Signature) • Hàm băm: xác minh tính tồn vẹn thơng điệp P E C D K HA K P’ So sánh Tính HA HB Tính HB • Bên nhận: • Nếu HA = HB => thơng điệp M tồn vẹn (khơng bị sửa đổi) • Yếu điểm xác thực hàm băm: • Nếu Trudy đánh cắp M đường truyền -> sửa đổi M’ -> tính lại H’A gởi cho bên nhận • Bên nhận có phát thơng điệp M bị thay đổi? Chữ ký số (Digital Signature) • Chữ ký số: kết hợp hàm băm mã khóa bất đối xứng: P E C D P’ e(HA) Tính HB H’A Tính HA e(HA) KRA KUA So sánh HB HA • Bên gởi: mã hóa mã băm HA Private key (KRA bên gởi) • Bên nhận: dùng Public key (KUA bên gởi) giải mã H’A • Nếu HA bên gởi mã hóa KRA => HA = HB (xác minh) • Nếu HA Trudy mã hóa KRT => HA ≠ HB (khơng xác minh) Chữ ký số (Digital Signature) • Nhận xét Chữ ký số: • Xét tình huống: • Nếu C công bố Public key KUC giả mạo A • => B nhận KUC tin tưởng Public key A • => B xác minh thơng điệp mã hóa KRC A • Nếu dùng Hash RSA cho Chữ ký số khơng đủ tin cậy • Giải pháp: • Cần có tổ chức (Organization) tin cậy, giúp B xác định Public key nhận A => chống giả mạo • => Dịch vụ Chứng thư số (Digital Certificate - CA) Chứng thư số (Digital Certificate) • Khái niệm Chứng thư số (Digital Certificate): • Digital Certificate Chứng thư điện tử Cơ quan có thẩm quyền (Certificate Authority - CA) cấp cho chủ thể có nhu cầu • Chứng thư số chứa thơng tin định danh, Public key chủ thể • Khi đối tác nhận Public key chứa Chứng thư số, CA tin tưởng chứng thực Public key chủ thể • Quy chuẩn quốc tế Digital Certificate X.509 Chứng thư số (Digital Certificate) • Quy trình tạo Chứng thư số theo chuẩn X.509: • Thơng tin ID Public key chủ thể (chứng chưa chứng thực) chuyển CA • CA băm (hash) thông tin ID Public key chủ thể => tạo mã băm • Thực mã hóa cho mã băm Private Key CA => tạo CH • Gán (tagged) CH thơng tin ID Public key chủ thể => chứng chứng thực (Signed Certificate) Cert = ID || KU || e(H(ID,KU),KRCA) Tính H Mã H Mã RSA CH KR_CA • Chủ thể nhận Signed Certificate => cung cấp cho đối tác giao dịch Chứng thư số (Digital Certificate) • Cấu trúc bên chứng thư số: (xem giải thích slide sau) Chứng thư số (Digital Certificate) • Diễn giả cấu trúc bên chứng thư số: • Version: phiên theo chuẩn X.509 • Serial Number: Số nhận dạng chứng số; • Subject: Thơng tin nhận dạng cá nhận tổ chức; • Certificate Signature Algorithm: Thuật toán tạo chữ ký số • Certificate Signature Value: giá trị chữ ký số • Issuer name: tên tổ chức CA cấp phát chứng thư số; • Validity: ngày cấp hạn sử dụng chứng số; • Subject hay Issue to: tên chủ thể sử dụng • Subject Public Key Algorithm: thuật tốn tạo Public key chủ thể • Subject Public Key: giá trị Public key chủ thể • Thumbprint: Chuỗi băm tạo từ khóa cơng khai chủ thể Chứng thư số (Digital Certificate) • Hoạt động Chứng thư số: Server yêu cầu => CA cung cấp Certificate cho Server Khi nhận yêu cầu giao dịch từ Client, Server gởi Cert cho Client, bao gồm khóa public KUS Client xác minh Cert (ID Public key): ✔ Dùng KUCA (Public key CA) giải mã Signature Cert => h1 ✔ Băm Cert (ID Public key) => h2 => so sánh với h1 Nếu Cert xác minh đúng, Client giao dịch với Server: ✔ Mã hóa liệu khóa KuS ✔ Server giải mã khóa KRS CA Server Server Client 32 Hạ tầng khóa cơng khai (PKI) • Dẫn nhập: • Ưu điểm Chứng thư số: • Giải tồn Chữ ký số • Hỗ trợ giao thức mạng “chống giả mạo Public Key” • Nhược điểm: • Có q nhiều nhà cung cấp (Certificate Authority - CA) • => Client dễ bị lừa CA giả mạo • => thiếu tính qn Cert • => tin cậy, hạn sử dụng… Cert khác chúng cấp CA khác • Giải pháp: xây dựng “Hạ tầng khóa cơng khai” (Public Key Infrastructure – PKI) Hạ tầng khóa cơng khai (PKI) • Public Key Infrastructure – PKI • Khái niệm PKI: • Hạ tầng khóa cơng khai tập phần cứng, phần mềm, nhân lực, sách thủ tục để tạo, quản lý, phân phối, sử dụng, lưu trữ thu hồi chứng số (Digital Certificate) • Cấu trúc PKI: • Certificate Authority (CA): Cơ quan cấp kiểm tra chứng số; • Registration Authority (RA): Bộ phận kiểm tra thông tin nhận dạng người dùng theo yêu cầu CA; • Validation Authority (VA): Cơ quan xác nhận thông tin nhận dạng người dùng thay mặt CA; • Central Directory (CD): Là nơi lưu danh mục lập số khóa; • Certificate Management System: Hệ thống quản lý chứng chỉ; • Certificate Policy: Chính sách chứng chỉ; Cám ơn ! ... ký số Hex) • Thơng điệp có kích thước tối đa 264 bits • Một vài ví dụ mã băm MD5: • Ký tự ‘a’ => 0cc175b9c0f1b6a831c399e 269 77 266 1 • Chuỗi ? ?an toan thong tin’ => 5cab4237552af30a8c9d3c52f7f34058... 160 bit (tương đương 40 ký số Hex) • Thơng điệp có kích thước tối đa 2128 bits • Giới thiệu hàm băm SHA-2: • Tăng cường bảo mật cho SHA-1 • Số bit mã băm thay đổi theo phiên bản: SHA-2 56, SHA-384,... (SHA-2 56, SHA-384, SHA-512) 17 Hàm băm (hash function) • Minh họa hàm băm đơn giản: • Dùng thuật tốn XOR để băm thơng điệp • Thơng điệp (M): 1010 1100 0111 1000 1010 1100 • Băm bit – chia thông

Ngày đăng: 27/01/2023, 08:29

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan