Mã hóa nhằm đảm bảo các yêu cầu sau:
Tính bí mật (confidentiality): dữ liệu không bị xem bởi “bên thứ 3”
Tính toàn vẹn (Integrity): dữ liệu không bị thay đổi trong quá trình truyền
Tính không khước từ (Non-repudiation): là cơ chế người thực hiện hành động không thể chối bỏ những gì mình đã làm, có thể kiểm chứng được nguồn gốc hoặc người đưa tin
50 trang |
Chia sẻ: Mr Hưng | Lượt xem: 1332 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Kỹ thuật mã hóa, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
KỸ THUẬT MÃ HÓAEncryption© 2011, Vietnam-Korea Friendship IT CollegeMã hóaCăn bản về mã hóaKhái niệmPhân loạiPKITiêu chuẩn và các giao thức về mã hóa© 2011, Vietnam-Korea Friendship IT CollegeKhái niệm về mã hóaMã hóa nhằm đảm bảo các yêu cầu sau:Tính bí mật (confidentiality): dữ liệu không bị xem bởi “bên thứ 3”Tính toàn vẹn (Integrity): dữ liệu không bị thay đổi trong quá trình truyềnTính không khước từ (Non-repudiation): là cơ chế người thực hiện hành động không thể chối bỏ những gì mình đã làm, có thể kiểm chứng được nguồn gốc hoặc người đưa tin© 2011, Vietnam-Korea Friendship IT CollegeKhái niệm về mã hóaMã hóa là một quá trình xáo trộn (scramble) nội dung của một file hoặc một bản tin sao cho chỉ có đối tượng sở hữu khóa giải mã mới có thể đọc được nội dung đã được mã hóa© 2011, Vietnam-Korea Friendship IT CollegeStream CipherKhái niệm về mã hóaLet us talk one to onea->1b->2c->3d->4e ->5f ->6g ->ah ->b..y->sz->tF5n om n1fe ih5 ni ih51->a2->b3->c4->d5 ->d6 ->fa ->gb ->h..s->yt->zLet us talk one to oneStream cipherVí dụ: mã RC4© 2011, Vietnam-Korea Friendship IT CollegeBlock CipherKhái niệm về mã hóaVí dụ: mã DES, SHA-1© 2011, Vietnam-Korea Friendship IT CollegeCác giải thuật mã hóaGiải thuật băm (mã hóa 1 chiều: one-way encrypt)compareMột số giải thuật băm: MD5: tạo ra 128-bit checksum SHA: tạo ra 160-bit checksum© 2011, Vietnam-Korea Friendship IT CollegeCác giải thuật mã hóaGiải thuật băm (hash)Nhằm đảm bảo tính toàn vẹn của thông tinDữ liệu sau khi xử lý qua giải thuật băm gọi là giá trị băm (hash value)Giá trị băm có đội dài không đổi, không phụ thuộc vào độ dài dữ liệu và được gửi đi cùng dữ liệu.Giá trị băm này sẽ được so sánh với giá trị băm gửi kèm để xác định dữ liệu có bị thay đổi trên đường truyền hay không?Một số giải thuật bămMD5 (Message Digest 5): giá trị băm 128 bit (32 hex)SHA-1 (Secure Hash Algorithm): giá trị băm 160 bit© 2011, Vietnam-Korea Friendship IT CollegeMessage digest #5 (MD5)Thuật toán biến đổi 1 chuổi string thành 1 tín hiệu “message digest” hay còn gọi là “MD5 hashes” (128 bits – 32 ký tự hexa)Bất cứ string nào cũng điều có duy nhất một hash, không bao giờ có 2 hashes cho 1 string Từ 1 hash không thể tìm ngược lại string của nó Ý nghĩa: “vân tay của thông điệp”ChecksumPasswordVí dụ: Plaintext: viethanMD5: 6A6FAB2F8227790C0776019B9DF67C1F© 2011, Vietnam-Korea Friendship IT CollegeMessage digest #5 (MD5)Thuật toánGắn thêm độ dài của dữ liệu vào sao cho + 64 bit chia hết cho 512 Chia dữ liệu thành 16 từ mã 32-bit (512-bit)Khởi tạo bộ đệm MDXử lý bản tin theo khối 16 từ mãXuất mã MD5Có thể bẻ khóa bằng tấn công Brute Force© 2011, Vietnam-Korea Friendship IT CollegeSecure Hash Algorithm-1 (SHA-1)SHA-1 tương tự như MD5 nhưng độ dài của giá trị băm là 160 bit có độ bảo mật cao hơn MD5, khó bị bẻ khóa bởi Brute ForceDữ liệu vào được nhóm thành khối 16 từ mã 32-bit dạng Hex (khối 512-bit) dữ liệu ra 160 bitDữ liệu khối 512-bit được đưa vào xử lý tuần tự B1,, B2, B3,.. BnViệc tính toán được thực hiện trên 80 từ mã W0, W1, , W79 được đưa vào 2 bộ đệm có kích thước 5 từ mãBộ đệm 1: A, B, C, D, EBộ đệm 2: H0, H1 , H2, H3 , H4 © 2011, Vietnam-Korea Friendship IT CollegeSecure Hash Algorithm-1 (SHA-1)Từ mã W16 – W79 được tính như sau:Quá trình tính toán xuất ra từ mã SHA – 160 bit: H0 H1 H2 H3 H4Ví dụ Plaintext: viethanSHA-1: 61223A9F54B6AA8D15F93D1E04E8ADC225F2E9DC© 2011, Vietnam-Korea Friendship IT CollegeSecure Hash Algorithm-2 (SHA-2)Các phiên bản của SHA-1Độ dài của giá trị băm: 256, 348 và 512SHA-2 256SHA-2 348SHA-2 512© 2011, Vietnam-Korea Friendship IT CollegeCác giải thuật mã hóaGiải thuật mã hóa đồng bộ/đối xứng (Symmetric)Sử dụng cùng một khóa để mã hóa và giải mãSơ đồ mã hóa là một song ánhE = K x M → CEk: M → C, m → E(k,m)© 2011, Vietnam-Korea Friendship IT CollegeCác giải thuật mã hóaGiải thuật mã hóa đồng bộ/đối xứng (Symmetric)Đặc điểm:Tốc độ mã hóa nhanh, phù hợp với dữ liệu dung lượng lớnQuá trình trao đổi khóa không an toànCác loạiDES (Data Encryption Standard): 56 bit key / 64 bit plaintext3DES (Triple DES): 168 bit keyAES (Advanced Encryption Standard): 128, 192, 256 bit keyVernam’s One-time pad: khóa thay đổi “giả ngẫu nhiên”Có thể bẻ khóa bằng tấn công vét cạn (Brute Force)© 2011, Vietnam-Korea Friendship IT CollegeData Encryption Standard (DES)Sơ đồ mã hóaNếu khóa k được chọn, ta cóQuá trình mã hóa gồm 16 bước (round), mỗi bước sử dụng 1 key 48-bit (round key), bản tin được chia thành 2 khối 32-bit© 2011, Vietnam-Korea Friendship IT CollegeData Encryption Standard (DES)Cứ sau mỗi round, khối 32-bit được hoán vị cho đến round cuối cùng thì xuất mã DESĐặc điểmTốc độ mã hóa nhanh, được sử dụng rộng rãiKhóa có thể bị dò tìm bằng cách thử tất cả các tổ hợp có thể có của khóa© 2011, Vietnam-Korea Friendship IT CollegeTriple DES (3-DES)Là một phiên bản của DESSử dụng 2-3 khóa thay vì 1 khóa đối với DES và mã hóa liên tục 3 lần© 2011, Vietnam-Korea Friendship IT CollegeAdvanced Encryption Standard (AES)Xử lý khối dữ liệu 128-bitSử dụng 03 loại khóa 128, 192, 256-bit AES-128AES-192AES-256Đối với AES-128, mã hóa được thực hiện qua 10 round sử dụng thuật toán Rijdael xuất mã AES 128 bit© 2011, Vietnam-Korea Friendship IT CollegeCác giải thuật mã hóaGiải thuật mã hóa không đồng bộ/không đối xứng (Asymmetric)Khóa dùng để mã hóa và giải mã là khác nhauCó 2 loại khóaKhóa bí mật (Private key): giữ riêngKhóa công khai (Public key): đưa ra công cộng© 2011, Vietnam-Korea Friendship IT CollegeCác giải thuật mã hóaGiải thuật mã hóa không đồng bộ/không đối xứng (tt)Các giải thuật RSA (Ron Rivest, Adi Shamir, and Leonard Adleman)DSA (Digital Signature Standard)Diffie-Hellman (W.Diffie and Dr.M.E.Hellman)Ý nghĩa thực tiễnMã hóaChữ ký điện tử© 2011, Vietnam-Korea Friendship IT CollegeRSATạo khóa (Public/Private) RSA theo thuật toán sau: Chọn 2 số nguyên tố (bí mật) p và qTính tích n = p*q Tính giá trị E = (p-1)*(q-1)Chọn khóa chung (public) kp (số nguyên tố)Tính khóa riêng kr sao cho: E mod (kp*kr) =1Mã hóa bản tin C = mkr mod nGiải mã tín hiệu nhận được = mkp mod n© 2011, Vietnam-Korea Friendship IT CollegeCông cụPGP DesktopTrueCryptGPG© 2011, Vietnam-Korea Friendship IT CollegeThực hànhMã hóa file dữ liệu bằng PGPTìm kiếm trên Internet ứng dụng sau và cài vào máy:PGP DesktopMã hóa một file dữ liệu (kích thước nhỏ ~ vài trăm KB)Gửi kết quả đến: trantheson@mic.gov.vn © 2011, Vietnam-Korea Friendship IT Collegetrantheson@mic.gov.vnMã hóa nội dung email1-Cài đặt ThunderBird 2-Cài đặt Enigmail (add-on) tải về tại ạo khóa (RSA hoặc DES)4-Gửi một email với nội dung đã được mã hóa5-Xuất key và gửi đến người nhận6-Giải mã nội dung email© 2011, Vietnam-Korea Friendship IT CollegeThực hànhMã hóa MD5 trong PHPMã hóa DESMã hóa RSATạo form nhập chuỗi bất kỳMã hóa MD5, DES, RSAXuất dữ liệu© 2011, Vietnam-Korea Friendship IT CollegeChữ ký số© 2011, Vietnam-Korea Friendship IT CollegeChữ ký sốChữ ký số (chương III, mục 1, điều 21, Luật giao dịch điện tử)“Chữ ký số được tạo lập dưới dạng từ, chữ, số, ký hiệu, âm thanh hoặc các hình thức khác bằng phương tiện điện tử, gắn liền hoặc kết hợp một cách lôgic với thông điệp dữ liệu, có khả năng xác nhận người ký thông điệp dữ liệu và xác nhận sự chấp thuận của người đó đối với nội dung thông điệp dữ liệu được ký.Chữ ký số có thể được chứng thực bởi một tổ chức cung cấp dịch vụ chứng thực chữ ký.”© 2011, Vietnam-Korea Friendship IT CollegeChữ ký sốChữ ký điện tử : Digital SignatureLà một phương pháp chứng thực thông tin sử dụng kỹ thuật mã hóa© 2011, Vietnam-Korea Friendship IT CollegeChứng chỉ sốCertificate Authority - CA© 2011, Vietnam-Korea Friendship IT CollegePKIPKI – Public Key InfrastructurePKI là cấu trúc nền tảng của mã hóa không đối xứng, nó không định nghĩa các công nghệ cụ thể.Việc thực hiện PKI là khác nhau, phụ thuộc vào các công nghệ sử dụngKhái niệm hạ tầng khóa công khai (PKI) thường được dùng để chỉ toàn bộ hệ thống bao gồm nhà cung cấp chứng thực số (CA) cùng các cơ chế liên quan đồng thời với toàn bộ việc sử dụng các thuật toán mật mã hóa khóa công khai trong trao đổi thông tin. © 2011, Vietnam-Korea Friendship IT CollegePKICác thành phần của PKICertificate Authority – CA: là bên thứ 3 đứng ra nhận trách nhiệm cung cấp, thu hồi và phân phối khóaDigital Certificate: chứng chỉ sốCertificate PolicyCertificate Pratice Statement - CPS© 2011, Vietnam-Korea Friendship IT CollegePKICertificate Authority (CA) và Digital Certificate© 2011, Vietnam-Korea Friendship IT CollegePKICertificate Policy: mỗi một CA sẽ có chính sách tạo, sử dụng Certificate khác nhauCertificate Practice Statement (CPS): nội dung cụ thể của Certificate Policy© 2011, Vietnam-Korea Friendship IT CollegePKIMô hình tin cậy (trust model)SinglePeer-to-PeerHierarchial© 2011, Vietnam-Korea Friendship IT CollegePKIQuản lý khóaTạo khóa: tập trung và phân tánLưu trữ và phân phối khóaBàn giao khóaHạn dùngThu hồi khóaĐình chỉ sử dụng khóaPhục hồi khóaSử dụng lại khóaHủy khóa© 2011, Vietnam-Korea Friendship IT CollegeTiêu chuẩn và giao thức mã hóaNguồn gốc của các tiêu chuẩn và giao thức mã hóaTừ các tổ chức của chính phủ và quân độiNSA (National Security Agency)NIST (National Institute of Standards and Technology)Từ các hiệp hộiIETF (Internet Engineering Task Force)IEEE (Institute of Electrical and Electroncis Engineers)W3C (World Wide Web Consortium)Từ các tổ chức công cộngPGP (Pretty Good Privacy)RSA (Rivest, Shamir, and Adelman)© 2011, Vietnam-Korea Friendship IT CollegeTiêu chuẩn và giao thức mã hóaPKIX/PKCSPKIX (Public Key Infrastructure X.509) – các tiêu chuẩn của IETFPKCS (Public Key Cryptography Standards) – tập hợp các tiêu chuẩn của RSAX.509Định nghĩa cấu trúc và các trường trong khóa công khai (Public key)Định nghĩa thủ tục phân phối khóa© 2011, Vietnam-Korea Friendship IT CollegeTiêu chuẩn và giao thức mã hóaSSL (Secure Socket Layer) và TLS (Transport Layer Security)Mã hóaChứng thựcĐảm bảo tính toàn vẹnTLS dựa trên SSL, tăng cường mã hóa, nhưng không tương thích với SSL© 2011, Vietnam-Korea Friendship IT CollegeTiêu chuẩn và giao thức mã hóaCMP (Certificate Management Protocols)Giao thức quản lý giao tiếp trong sử dụng khóaS/MIME (Secure Multipurpose Internet Mail Extensions)Tiêu chuẩn dùng để mã hóa e-mail© 2011, Vietnam-Korea Friendship IT CollegeTiêu chuẩn và giao thức mã hóaSET (Secure Electronic Transaction)Chuẩn dùng để mã hóa thông tin của các thẻ tín dụngSSH (Secure Shell)Sử dụng trong các ứng dụng terminal thay thế cho telnet, rlogin, remote© 2011, Vietnam-Korea Friendship IT CollegeTiêu chuẩn và giao thức mã hóaPGP (Pretty Good Privacy)Chuẩn mã hóa e-mailMiễn phíSử dụng cơ chế mã hóa không đồng bộHTTPS (HTTP Secure)Sử dụng SSLGiao tiếp qua cổng 443© 2011, Vietnam-Korea Friendship IT CollegeTiêu chuẩn và giao thức mã hóaS-HTTP (Secure HTTP)Có thể sử dụng nhiều phương pháp mã hóa khác nhauSử dụng cổng 443IPSec (Internet Protocol Security)Sử dụng trong mạng riêng ảo VPNDùng 2 giao thứcAH (Authentication Header): chứng thực, toàn vẹnESP (Encapsulating Security Payload): chứng thực, toàn vẹn, mã hóa© 2011, Vietnam-Korea Friendship IT CollegeTiêu chuẩn và giao thức mã hóaIPSec (tt)© 2011, Vietnam-Korea Friendship IT CollegeTiêu chuẩn và giao thức mã hóaCC – Common CriteriaTập các tiêu chuẩn quốc tế dùng để đánh giá hệ thốngWTLS (Wireless Transport Layer Security)Cung cấp chứng thực và kết nối mã hóa giữa Client và Server trong hệ thống mạng không dâyWEP (Wired Equivalent Privacy)Giao thức mã hóa cho các thiết bị không dây, đảm bảo hoạt động như các thiết bị có dâyISO 17799Tiêu chuẩn quốc tế về an toàn bảo mật thông tin© 2011, Vietnam-Korea Friendship IT CollegeThực hànhTriển khai CA ứng dụng chữ ký điện tử cho dịch vụ email, mã hóa nội dung email© 2011, Vietnam-Korea Friendship IT CollegeTriển khai CAYêu cầu: gmail, CD Win2k3Tiến hành:Cài đặt email POP3 (gmail) trên máy người dùngGmail: Incomming: pop.gmail.com (port: 995, SSL)Outgoing: smtp.gmail.com (port: 465, SSL)Cài đặt IISCài đặt CA (Certificate Service)User đăng ký, CA cấp phát chứng chỉUser cài đặt chứng chỉ Gắn chữ ký sốMã hóa e-mail© 2011, Vietnam-Korea Friendship IT CollegeTrantheson@mic.gov.vnBật trình duyệt web IEĐ/c: ìm đến mục: Request Certificate gửi yêu cầu cấp chứng chỉĐiền các thông tin vào Form của CA gửi về Submit để gửi y/cVào CA server để cấp phát chứng chỉ sốĐăng nhập vào để tải chứng chỉ về© 2011, Vietnam-Korea Friendship IT CollegeChọn View status of pending certificateChọn Email Protection CertificateChọn Install cài đặt vào máy tính© 2011, Vietnam-Korea Friendship IT CollegeThảo luậnMã hóa: MD5(1), SHA-2(2), AES(3), RSA(4): mô tả thuật toán (lưu đồ), viết chương trình mô phỏng thuật toán (C#, PHP,)PKI:PGP(1,3): mã hóa email, thư mục, phân vùngCA(2,4): mã hóa email, cấp chứng chỉ số© 2011, Vietnam-Korea Friendship IT College
Các file đính kèm theo tài liệu này:
- ki_thuat_ma_hoa_5277.ppt