Bản trình bày bằng tiếng Việc của chương trình đào tạo CEH v9 Module 18 Module 18 của CEHv9 trình bày các vấn đề liên quan đến Cryptography (mã hóa thông tin). Giới thiệu các kỹ thuật mã hóa đối xứng, mã hóa khóa công khai, hàm băm (hash)... Trình bày các ứng dụng từ các kỹ thuật mã hóa như: che dấu thông tin, xác minh nguồn gốc thông tin, che dấu mật khẩu...
Module 18 Cryptography Các Chủ Đề Chính Trong Chương Này Giới Thiệu Cryptography Tổng Quan Về Mã Hóa Các Thuật Toán Băm Public Key Infrastructure Chữ Ký Số Mã Hóa Dữ Liệu Trên ổ Cứng Truecrypt Cryptography Là Gì An toàn thông tin bảo vệ đặc tính riêng tư (confidentialy), toàn vẹn (intergrity) khả dụng (availabilty) thông tin - C : (confidential) bảo vệ tính riêng tư liệu thông qua chế chứng thực mã hóa, ngăn ngừa người không hợp lệ không đọc thông tin Giống bì thư phát lương thường dán chữ Confidential, hình dung môi trường IT người chưa log vào domain không truy cập liệu chia cho Domain User - I : (integrity) bảo vệ tính tòan vẹn liệu thông qua thuật tóan message digesst, SHA, MD5 ngăn ngừa attacker thay đổi thông tin nhạy cảm trình truyền - A : (available) bảo đảm liệu trạng thái sẳn sàng đap ứng nhu cầu người dùng Trong kì thi chứng bảo mật Security+ SCNP câu hỏi CIA hay ra, đặc biệt lưu ý chữ A tượng trưng cho Available Authentiacation - Non-Repudiation : Tính chối bỏ, nghĩa liệu người gởi họ phải có trách nhiệm với thông tin thông qua xác nhận nguồn gốc chữ kí điện tử Hình 18.1 – Các mục tiêu mã hóa Để thực điều áp dụng biện pháp xác thực mã hóa Và mật mã học hay cryptography ngành học nghiên cứu vấn đề mã hóa Mã hóa tiến trình biên đổi liệu từ dạng cleartext (văn túy dễ dàng nhận biết) thành kết ciphertext, dạng liệu đọc không giải mã khóa thích hợp Mục tiêu mã hóa ngăn ngừa việc công man in the middle, sniffer đánh cắp liệu trái phép phòng ngừa việc mát liệu bị hacker công vật lý trộm đĩa cứng, máy tính xách tay hay chí đột nhập vào hệ thống xem liệu riêng tư, bí bảo vệ thuật toán mã hóa mạnh mẽ Hình 18.2 - Mã hóa ngăn không cho attacker xem trộm liệu Tổng Quan Về Mã Hóa Mã hóa áp dụng cho liệu lưu trữ đĩa cứng chúng truyền qua mạng, thuật toán mã hóa có nhiệm vụ biến đổi liệu từ dạng clear text sang cipher text ngượi lại giải mã từ cipher text thành clear text Ngay từ thời xa xưa, vị tướng lĩnh tài ba Cesar biết ứng dụng kỹ thuật mã hóa để biến đổi thông điệp gốc thành thông điệp đọc để truyền thông môi trường quân Thuật toán gọi Cesar Shilf xem thuật toán mã hóa cổ xưa nhất, hoạt động đơn giãn Ví dụ thông điệp truyền ABC ứng dụng mã hóa dịch chuyển kí tự qua phải vị trí thành BCD, nhận ứng dụng giải mã cách dịch ngược trước mộ kí tự, khóa để giải mã Với phương pháp cần quét cạn với khoảng 27 lần cho kết gốc, dựa ý tưởng nhà khoa học cho đời thuật toán mã hóa dich chuyển transposition bẻ khóa Ngoài phương pháp dịch chuyển trasposition có chế mã hóa khác substitution phương pháp thay kí tự kí tự khác Các thuật toán mã hóa ứng dụng công thức toàn học dựa chế thay hay hoán đổi vị trí để tạo liệu an toàn Trong trình giải mã ta cần có khóa thích hợp Có hai kiểu sử dụng khóa giải mã sysmetric key encryption asymmetric key encryption hay gọi mã hóa đối xứng mã hóa bất đối xứng Mỗi phương pháp có đại diện thuật toán DES, AES hay Elgamel mà cần phân biệt kì thi chứng CEH Sau bảng mô tả thuật toán thông dụng đại diện cho hai ứng dụng khóa : Bảng 17.1 - Các Thuật Tóan Mã Hóa Thuật Tóan Mã Hóa Mô tả Ví dụ Symmetric/Private key Symmetric encryption (mã Data Encryption Standard hóa đối xứng) xem (DES) private key encryption Triple DES (3DES) tiến hành mã hóa giải mã Advanced Encryption Standard dựa khóa (AES) Điều có thuận lợi mặt Rijndael tốc độ triển khai Rivest Cipher (RC) chi phí thấp lại có tính Skipjack bảo mật tiến hành Blowfish truyền liệu phải gởi kèm CAST-128 khóa dùng để giải mã khóa bị đánh cắp làm cho liệu bị an tòan Do áp dụng chế cần có chế truyền khóa an tòan Stream cipher symmetric encryption Asymmetric/Public key Asymmetricencryption (mã Rivest Shamir Adelman hóa bất đối xứng), hay (RSA) cryptosystem gọi public key encryption Diffie-Hellman phương pháp mã hóa cao Elgamel cấp so với symmetric encryption an tòan Trong chế mã hóa cặp khóa áp dụng gồm public key có tác dụng tất người, liệu mã hóa public key recipent (bên nhận) có private key recipient giải mã liệu Phương pháp mã hóa bất đối xứng giải vấn đề chia private key mã hóa đối xứng, tính an tòan cao Các Thuật Toán Băm (Hash) Các hàm băm thuật toán mã hóa chiều chế giải mã ví dụ phương pháp message digest sử thuật toán băm (hashing algorithm) giao thức MD5 SHA Khi sử dụng thuật tóan băm tạo giá trị băm (hash value) digest với kích thước phụ thuộc vào liệu gốc Trong qua trình truyền thông liệu mã hóa (ciphertext) digest truyền đến bên nhận để phục vụ cho trình so sánh liệu sau truyền với thuật toán thích hợp Digital signature việc cung cấp chế bảo đảm tính tòan vẹn (integrity) lọai trừ khả chối bỏ trách nhiệm bên gởi liệu, đặc trưng gọi non-repudiation có trình bày phần – tính quan trọng môi trường trao đổi thông tin điện tử Bảng 17.2 - Các Thuật Tóan Băm Các thuật tòan Hashing Mô tả Secure Hash Algorithm (SHA-1, SHA- Là thuật tóan mã hóa mạnh số 256, SHAthuật tóan băm giới thiệu SHA-1 tạo 384, SHA-512) hash value 160-bitcòn SHA-256, SHA-384, SHA-512 tạo hash value tương ứng 256-bit, 384-bit, 512bit Message Digest (MD-5) MD5 sử dụng 128-bit message digest Public Key Infrastructure (PKI) PKI hay hạ tầng khóa công khai bao gồm nhiều thành phần khác người, chứng điện tử, sách, thiết bị phần cứng, phần mềm quy trình thực hình minh họa Trong thành phần CA hay Certification Authority quan trọng chịu trách nhiệm cấp phát quản lý chứng điện tử (certificate) xác nhận tính hợp lệ thành phần tham gia trình trao đổi thông tin ứng dụng công nghệ mã hóa khóa công khai Các bạn hình dung PKI máy quản lý phủ với quan quản lý thị thực, người dân thành phần liên kết, trao đổi thông tin Và chứng điện tử chứng minh nhân dân hay passport (hộ chiếu) Khi cần sư dụng dịch vụ di chuyển máy bay bạn cần phải xuất trình chứng minh nhân dân để co quan an ninh xác nhận tính hợp lệ, quan an ninh hay phận quản lý vận hành theo quy trình phủ quy định Quay trở với mô hình PKI, người dùng sender cần gởi thông tin đến người nhận receiver hai phía cần phải xin certificate từ đơn vị chủ quản máy chủ CA thông qua yêu cầu xin khóa gọi enrollment, trình diễn nhanh chóng cách gởi yêu cầu trực tiếp đến CA nêu thành phần môi trường tin cậy Actice Directory Nhưng đa số phải xin khóa qua yêu cầu theo định dạng chuẩn PKCS #10 (tham khảo http://www.rsa.com/rsalabs/node.asp?id=2132), yêu cầu hợp lệ certificate cấp phát với định dạng X.509 chứa thông tin gồm cặp khóa public key, private key thời gian hợp lệ khóa (khi hết thời gian không sử dụng khóa phải yêu cầu cặp khóa mới) Nếu sender cần gởi email đến receiver dùng public key receiver để mã hóa, sau thông điệp gởi đến bên nhận receiver dùng private key để giải mã, khóa giải mã không truyền hệ thống mạng nên độ bảo mật cao Hình 18.3 – Quá trình truyền thông môi trường PKI Chúng ta tự triển khai hệ thống PKI Windows hay Linux nhằm phục vụ cho nhu cầu trao đổi thông tin nội cách cài đặt thêm dịch vụ CA hệ điều hành Windows Server 2000 / 2003 / 2008 Nếu muốn sử dụng công nghệ khóa công khai môi trường công cộng ứng dụng cho trang web quan, doanh nghiệp cần phải mua thuê dịch vụ cấp phát quản lý Certificate từ nhà cung cấp bên thứ VeriSign (tại Việt Nam có VASC đại lý Thawte) hay Thawte, Entrust, Comodo, Sitelock … Ngoài ra, sử dụng hệ thống PKI mở OpenPGO, GNUPG Hình 18.4 – Các nhà cung cấp dịch vụ xác thực chứng điện tử Chữ Ký Số (Digital Signature) Chữ ký số thành phần chữ ký điện tử Chữ ký số chữ ký điện tử dựa kỹ thuật mã hóa khóa công khai mà đề cập, với cặp khóa dành cho người khóa bí mật (private key) khóa công khai (public key) Khóa bí mật không truyền mạng khóa công khai công bố cho tất người tham gia biết Ví dụ để trao đổi thông điệp bí mật, người gửi tìm khóa công khai liệu công bố sở liệu OpenPGP (khi cần cài phần mềm OpenPGP) sử dụng khóa công khai người nhận để mã hóa thông điệp cần gửi, bên nhận sử dụng khóa bí mật tương ứng để giải mã thông điệp Chữ ký điện tử thông tin mã hoá khoá riêng người gửi gửi kèm theo văn nhằm đảm bảo cho người nhận định danh, xác thực nguồn gốc (nonrepudiation) tính toàn vẹn tài liệu nhận (intergrity) Chữ ký điện tử thể văn gửi ký người sở hữu khoá riêng tương ứng với chứng điện tử Hình 18.5 - Minh họa trình gởi thư điện tử có ứng dụng chữ kí số Mã Hóa Dữ Liệu Trên ổ Cứng Để bảo vệ liệu ổ cứng thường sử dụng phương pháp mã hóa với thuật toán có độ mạnh nhằm phòng chống hacker đánh cắp thông tin giải mã Nếu sử dụng hệ thống Windows với định dạng NTFS ta dùng tính mã hóa EFS (Encrypt File System) để bảo vệ liệu máy tính Nhưng với phương pháp EFS bị hacker đột nhập máy tính với quyền người dùng kẻ công đọc thông tin mật mà không cần giải mã đặc tính mã hóa giải mã suốt người dùng Chính vị vậy, ứng dụng nguồn mở nhiều người sử dụng cho vấn đề mã hóa liệu đĩa cứng TrueCrypt với thuật toán mạnh mẽ giải mã Một tính thú vị TrueCrypt cho phép mã hóa toàn hệ thống, ngăn chặn hacker từ bước đăng nhập Và cho dù máy tính hay đĩa cứng quý vị có bị đánh cắp liệu riêng tư hoàn toàn bí mật Hướng Dẫn Sử Dụng TrueCrypt TrueCrypt phần mềm nguồn mở có khả mã hóa toàn không gian ổ cứng theo chế on-the-fly - nghĩa tất liệu mã hóa giải mã hoàn toàn tự động chúng đọc hay ghi mà không cần tương tác người dùng Điều gần giống với tính mã hóa EFS hệ thống Windows Server 2000/2003 hay XP bạn định dạng phần chia theo NTFS Tuy nhiên với TrueCrypt quản lý liệu an toàn hơn, giải mã thông tin bị mã hóa mà khóa thích hợp, thiết lập chế mã hóa với TrueCrypt toàn hệ thống tập tin bao gồm file/folder, metadata không gian trống mã hóa Các tập tin "ổ" (volume) TrueCrypt chép, di chuyển cách bình thường Khi tập tin đọc giải mã on-the-fly (trong nhớ/RAM), ngược lại tập tin hay thư mục chép lên ổ TrueCrypt tự động mã hoá trước lưu Hẳn bạn thắc mắc có cần phải tăng thêm RAM sử dụng TrueCrypt hay không, trình mã hóa/giải mã on-the-fly tiến hành nhớ Câu trả lời không toàn tập tin nạp vào RAM lúc để tiến hành mã hóa hay giải mã, mà chương trình nạp phần tập tin vào nhớ để thực trình này, sau nạp tiếp phần lại theo chế "cuốn chiếu" Điều làm cho nhớ không bị chiếm dụng toàn tiến hành mã hoá/giải mã suốt trình xử lý tập tin đọc, ghi, xem video Một điều cần ý TrueCrypt không lưu liệu giải mã lên đĩa cứng mà tạm thời lưu trữ lên RAM, hệ thống shutdown/restart bị cố nguồn đột ngột liệu lưu trạng thái an toàn Sử Dụng TrueCrypt Bước 1: Đầu tiên tải phần mềm cài đặt máy tính Các bạn tải TrueCrypt từ địa chỉ: http://www.truecrypt.org Bước 2: Sau cài đặt, chạy chương trìnnh cách nhấn chuột vào biểu tượng TrueCrypt desktop trình đơn Start>Programs>TrueCrypt Bước 3: Trong cửa sổ TrueCrypt, nhấn Create Volume Bước 4: Cửa sổ TrueCrypt Volume Creation Wizard xuất hiện, nhấn Next Bước 5: Trong bước ta cần xác định vị trí tạo "ổ" (volume) TrueCrypt Một TrueCrypt volume đặt file, gọi container, hay partition (gọi device) Ở tạo TrueCrypt volume file Nhấn Select File để tiếp tục Bước 6: Chúng ta tạo TrueCrypt volume (container) folder D:\My Documents đặt tên My Volume Bạn chọn tên khác lưu trữ vào vị trí tùy ý ổ đĩa USB Lưu ý : TrueCrypt không mã hóa tập tin có sẵn hệ thống Cho nên, ta chọn tập tin có sẵn tập tin bị ghi đè thay container Vì bạn cần tạo volume di chuyển tập tin vào volume Nhập tên nhấn Save để quay trở hình TrueCrypt Volume Creation Wizard 10 Bước 7: Trên cửa sổ Volume Creation Wizard nhấn Next Bước 8: Đến đây, chọn tham số cần thiết thuật toán mã hóa, thuật toán băm Ở sử dụng thiết lập mặc định AES RIPEMD-160, nhấn Next 11 Bước 9: Hãy xác định kích thước TrueCrypt container, ví dụ megabyte hình Bạn xác định kích thước thích hợp với nhu cầu nhấn Next Bước 10: Đây bước quan trọng nhất: xác định mật (password) cho TrueCrypt volume Để chọn password mạnh bạn tham khảo tài liệu liên quan, nêu vắn tắt mật mạnh độ dài phải ký tự kết hợp chữ hoa, chữ thường, số kí tự đặc biệt Sau nhấn Next 12 Bước 11: Hãy di chuyển trỏ chuột phạm vi cửa sổ Volume Creation Wizard khoảng 30 giây Thời gian di chuyển chuột lâu chất lượng khóa mã hóa tạo tốt Để tiếp tục nhấn Format Tùy thuộc vào kích thước TrueCrypt volume mà tiến trình định dạng diễn lâu hay mau, sau hoàn tất có TrueCrypt volume tên My Volume thư mục D:\My Documents\, thông báo hoàn tất trình tạo volume Nhấn OK để đóng hộp thoại Bước 12: 13 Như vậy, tạo xong TrueCrypt volume (file container) Hãy đóng cửa sổ TrueCrypt Volume Creation Wizard cách nhấn Exit Bước 13: Trong phần "gán" (mount) volume vừa tạo với tên ổ đĩa Ví dụ gán TrueCrypt volume với tên ổ đĩa M hình sau Bước 14: Nhấn Select File 14 Bước 15: Chọn tập tin My Volume mà bạn tạo bước đến 11 nhấn Open Bước 16: Trên cửa sổ bạn nhấn Mount, lúc hộp thoại yêu cầu cung cấp mật xuất 15 Bước 17: Nhập mật mà bạn xác định bước 10 nhấn OK Nếu mật hợp lệ volume hiển thị ổ đĩa M Như tạo ổ ảo M mà tất tập tin lưu trữ mã hóa Bạn sử dụng ổ đĩa thông thường khác liệu lưu trữ 16 ổ đĩa bảo mật, tiến trình mã hóa giải mã diễn cách suốt liệu lưu đĩa cứng mà lưu RAM Nếu bạn muốn đóng volume không cho phép truy nhập vào liệu lưu trữ bên trong, mở giao diện chương trình TrueCrypt chọn volume mount sau nhấn Dismount 17 Thay tạo file container, bạn mã hóa toàn phần chia ổ cứng hay thiết bị lưu trữ cách tiến hành bước tương tự từ – 17, sau thay Select File, chọn Select Device Sau danh sách số công cụ mã hóa liệu ổ cứng Hình 18.6 – Danh sách công cụ mã hóa sữ liệu Tổng Kết Trong chương mật mã học tìm hiểu thuật toán mã hóa với chế mã hóa đối xứng hay mã hóa bất đối xứng, công nghệ mã hóa khóa công khai, chữ kí số … Mặc dù kỹ thuật mã hóa có khả phòng chống nhiều dạng công nguy hiểm hacker bẻ khóa thuật toán sử dụng không đủ độ mạnh hay mật yếu bị công brute-force, dò từ điển hay bẻ khóa MD5 với công cụ online http://md5crack.com Ngoài ra, sử dụng chứng điện tử môi trường không tin cậy có khả bị hacker công phương pháp giả mạo certificate hay gọi Fake Certificate, trường hợp cần tuân thủ nguyên tắt an toàn thông tin nhằm đem đến bảo mật tối đa cho thông tin, liệu bí mật Trong phần cuối thảo luận chủ đề Penetration Test 18