tìm hiểu về Giao thức bảo mật PGP: cấu trúc, hoạt động, ứng dụng, điểm yếu....1.1 Giới thiệu chung về giao thức PGPPGP là viết tắt của từ Pretty Good Privacy (Bảo mật rất mạnh). Mã hóa PGP là một phần mềm máy tính dùng để mật mã hóa dữ liệu và xác thực. Phiên bản PGP đầu tiên do Phil Zimmermann được công bố vào năm 1991. Kể từ đó, phần mềm này đã có nhiều cải tiến và hiện nay tập đoàn PGP cung cấp phần mềm dựa trên nền tảng này.1.2 Mục đích sử dụng PGPMục đích sử dụng PGP là phục vụ cho việc mã hóa thư điện tử, phần mềm mã nguồn mở PGP hiện nay đã trở thành một giải pháp mã hóa cho các công ty lớn, chính phủ cũng như các cá nhân. Các ứng dụng của PGP được dùng để mã hóa bảo vệ thông tin lưu trữ trên máy tính xách tay, máy tính để bàn, máy chủ và trong quá trình trao đổ email hoặc chuyển file, chữ ký số…1.3 Phương thức hoạt động của PGP
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA AN TOÀN THÔNG TIN - - BÀI TIỂU LUẬN GIAO THỨC BẢO MẬT PGP HÀ NỘI, 3/2016 Mục Lục Giới thiệu .4 1.1 Giới thiệu chung giao thức PGP 1.2 Mục đích sử dụng PGP 1.3 Phương thức hoạt động PGP Nội Dung 2.1 Giải thuật sử dụng PGP 2.2 Mô hình kiến trúc 2.3 Hoạt động 10 2.4 Ứng dụng 16 Kết Luận 20 Tài Liệu Tham Khảo 21 Giới thiệu 1.1 Giới thiệu chung giao thức PGP PGP viết tắt từ Pretty Good Privacy (Bảo mật mạnh) Mã hóa PGP phần mềm máy tính dùng để mật mã hóa liệu xác thực Phiên PGP Phil Zimmermann công bố vào năm 1991 Kể từ đó, phần mềm có nhiều cải tiến tập đoàn PGP cung cấp phần mềm dựa tảng 1.2 Mục đích sử dụng PGP Mục đích sử dụng PGP phục vụ cho việc mã hóa thư điện tử, phần mềm mã nguồn mở PGP trở thành giải pháp mã hóa cho công ty lớn, phủ cá nhân Các ứng dụng PGP dùng để mã hóa bảo vệ thông tin lưu trữ máy tính xách tay, máy tính để bàn, máy chủ trình trao đổ email chuyển file, chữ ký số… 1.3 Phương thức hoạt động PGP PGP sử dụng kết hợp mật mã hóa khóa công khai thuật toán khóa đối xứng cộng thêm với hệ thống xác lập mối quan hệ khóa công khai danh người dùng (ID) Phiên hệ thống thường biết tên mạng lưới tín nhiệm dự mối quan hệ ngang hàng (khác với hệ thống X.509 với cấu trúc dựa vào nhà cung cấp chứng thực số) Các phiên PGP sau dựa kiến trúc tương tự hạ tầng khóa công khai PGP sử dụng thuật toán mã hóa khóa bất đối xứng Trong hệ thống này, người sử dụng phải có cặp khóa: Khóa công khai khóa bí mật Người gửi sử dụng khóa công khai người nhận để mã hóa khóa chung (còn gọi khóa phiên) dùng thuật toán mật mã hóa khóa đối xứng Khóa phiên chìa khóa để mật mã hóa thông tin gửi qua lại phiên giao dịch Có nhiều khóa công khai người sử dụng PGP lưu trữ mác máy chủ khóa PGP khắp giới Một điều vô quan trọng để phát thông điệp có bị thay đổi giả mạo người gửi Để thực mục tiêu người gửi phải ký văn với thuật toán RSA DSA Đầu tiên, PGP tính giá trị hàm băm thông điệp tạo chữ ký số với khóa bí mật người gửi Khi nhận văn bản, người nhận tính lại giá trị hàm băm văn đồng thời giải mã chữ ký số khóa công khai người gửi Nếu hai giá trị giống khẳng định văn chưa bị thay đổi kể từ gửi người gửi người sở hữu khóa bí mật tương ứng Trong trình mã hóa kiểm tra chữ ký, điều vô quan trọng khóa công khai sử dụng thực thuộc người cho sở hữu Nếu đơn giản download khóa công khai từ không đảm bảo điều PGP thực việc phân phối khóa thông qua thực chứng số tạo nên kỹ thuật mật mã cho việc sửa đổi dễ dàng bị phát Tuy nhiên điều chưa đủ ngăn chặn việc sửa đổi sau chứng thực tạo Người dùng cần phải trang bị khả xem xét khóa công khai có thực thuộc người chủ sở hữu hay không Từ phiên PGP có chế hỗ trợ điều gọi mạng lưới tín nhiệm.Mỗi khóa công khai bên thứ xác nhận OpenPGP cung cấp chữ ký tin cậy sử dụng để tạo nhà cung cấp chứng thực số (CA) Một chữ ký tin cậy chứng tỏ khóa thực thuộc người sử dụng người đáng tin cậy để ký xác nhận khóa mức thấp Một chữ ký có mức tương đương với chữ ký mô hình mạng lưới tín nhiệm Chữ ký mức tương đương với chữ ký CA có khả xác nhận cho số lượng không hạn chế chữ ký mức Chữ ký mức tương tự chữ ký danh sách CA mặc định rong Internet Explorer; cho phép người chủ tạo CA khác PGP thiết kế với khả hủy bỏ thu hồi chứng thực có khả bị vô hiệu hóa Điều tương đương với danh sách thực chứng bị thu hồi mô hình hạ tầng khóa công khai Các phiên PGP gần hỗ trợ tính hạn thực chứng Nội Dung 2.1 Giải thuật sử dụng PGP 2.1.1 Mã hóa đối xứng a) IDEA IDEA đời từ năm 1991 có tên IPES (Improved Proposed Encyption Standard) Đến năm 1992 đổi tên thành International Data Encrytion Algorithm Tác giả Xuejia Lai James Massey Thiết kế loại mã dựa phép cộng modulo 2(OR), phép cộng modulo 216 phép nhân modulo 216+1 (số nguyên tố 65537) Loại mã nhanh phần mềm (mọi chíp xử lý máy tính cá nhân thực hiẹn phép nhân lệnh đơn) IDEA cấp sáng chế công ty Ascom – Tech AG Thuỵ sĩ cấp Đến chưa có công cho phép huỷ hoàn toàn thuật toán IDEA Do thuật toán có độ an toàn cao IDEA loại mã khối sử dụng Chìa khóa 128 bit để mã hóa liệu khối 64 bít với vòng lặp Mỗi lần lặp IDEA sử dụng phép toán khác nhau, phép toán thao tác hai đầu vào 16 bít để sản sinh đầu 16 bít đơn Ba phép toán là: • Phép XOR theo bít • Phép cộng modulo 216 với đầu vào đầu số nguyên không dấu 16 bít Hàm láy hai số nguyên 16 bit làm dầu vào sản sinh tổng 16 bít; bị tràn sang bít thứ 17, bit bị vứt bỏ • Phép nhân số nguyên theo modulo 216+1 với đầu vào đầu số nguyên 16 bít Trừ trường hợp khối xem 216 b) 3DES Thuật toán DES (Data Encryption Standard) phủ Mỹ tạo năm 1977 (NIST NSA) dựa công việc mà IBM làm DES thuộc loại mã khối 64 bits với khoá dài 64 bits Thuật toán DES nghiên cứu thời gian dài Thuật toán 3DES cải thiện độ mạnh thuật toán DES việc sử dụng trình mã hóa giải mã sử dụng khóa Các chuyên gia xác định 3DES an toàn Nhược điểm chậm cách đáng kể so với thuật toán khác Bản thân DES chậm dùng phép hoán vị bit Lý để dùng 3DES nghiên cứu kỹ lưỡng 2.1.2 Mã hóa bất đối xứng a) RSA Thuật toán RSA phát minh năm 1978 Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) khóa bí mật (hay khóa cá nhân) Mỗi khóa số cố định sử dụng trình mã hóa giải mã Khóa công khai công bố rộng rãi cho người dùng để mã hóa Những thông tin mã hóa khóa công khai giải mã khóa bí mật tương ứng Nói cách khác, người mã hóa có người biết khóa cá nhân (bí mật) giải mã Thuật toán sử dụng chế độ mã hóa khối P, C số nguyên (0, n) Nhắc lại: C = EPU (P): mã hóa khóa PU P = DPR(EPU (P)): giải mã khóa PR (ko cho phép tính PR từ PU) - Dạng mã hóa/ giải mã: C = Pe mod n P = cd mod n = Ped mod n PU = {e, u} -> Public PR = {d, n} -> Private - Người gửi người nhận biết giá trị n e, người nhận biết giá trị d - Mục đích: tìm giá trị e, d, n (chọn) để tính P C Nhận xét: - Có thể tìm giá trị e, d, n cho Ped = P mod n với P < n - Không thể xác định d biết e n b) ElGamal/ Diffie Hellman Trong PGP thuật toán Diffie Hellman gọi DH thường dùng để trao đổi khoá không dùng để ký Vì dùng để ký chữ ký lớn Trong lúc đó, ElGamal dùng để ký bảo mật chữ ký phải dùng hai số kích thước 1024 bit RSA cần số có độ dài 1024 bit Đối với DSA cần số có độ dài 160 bit c) DSA DSA phiên đăc biệt ElGamal Đây phiên ElGamal cần lượng lớn tính toán số có độ dài 1024 bit, số chữ ký chọn tập 2160 phần tử Các nhà thiết kế thành công tạo thủ tục cần 160 bit để thể nhóm phần tử Điều làm cho chữ ký sinh có kích thước nhỏ, cần hai số có độ lớn 160 bit thay phải dùng hai số lớn có độ dài 1024 bit 2.1.3 Hàm hash Hàm hash định nghĩa ánh xạ H: X >{0,1}k Trong X không gian rõ độ dài tuỳ ý, {0,1}k tập dãy số 0,1 có độ dài K cho trước Hàm Hash xây dựng cho thỏa mãn tính chất sau: Tính chất chiều Hàm Hash yếu Hàm Hash mạnh Hàm hash gọi thoả mãn tính chất chiều cho trước giá trị hash (giá trị rút gọn) Z mặt tính toán tìm giá trị thông báo x cho Z = h(x) Tuy nhiên cho trước thông báo x việc xác định Z = h(x) lại thực nhanh chóng.Hàm h gọi có tính chất yếu cho trước thông báo x mặt tính toán tìm thông báo x’≠x (x,x’X) cho h(x’)=h(x).Còn hàm hash gọi có tính chất mạnh tổng thực hành tìm thông báo x, x’X khác cho h(x’) = h(x) Các phiên trước PGP sử dụng hàm băm MD5 để băm liệu MD5 thay thuật toán SHA 2.2 Mô hình kiến trúc Kiến trúc tổng quan Hình 1:Kiến trúc tổng quan Hai dịch vụ mà PGP cung cấp cho người dùng là: mã hóa xác thực thông điệp Khi thiết kế ứng dụng bảo mật email, người thiết kế phải đương đầu với hai vấn đề chính, trước hết, phải bảo mật ứng dụng giải thuật nào? Trong trường hợp PGP, dịch vụ dựa vào ba giải thuật: IDEA (mã hóa khóa bí mật), RSA (mã hóa khóa công khai) MD5 (Hàm băm an toàn) Trong phần nghiên cứu toàn bước thực hiên PGP truyền nàận thông điệp thông báo xử lý thông điệp Sau tìm hiểu chi tiết bước trình xử lý 2.3 Hoạt động 2.3.1 Mã hóa Hoạt động thực tế PGP để gửi nhận thông điệp bao gồm năm dịch vụ: chữ ký số, mã hóa thông điệp PGP Quy trình thực theo bước sau: Hình 1: Qúa trình mã hóa thông điệp PGP a, Chuẩn bị file Mỗi lần thực hiện, PGP xử lý file Những file xử lý PGP nói chung thường văn Đây dạng phổ biến truyền thông email Nhưng PGP chấp nhận file nào, kể file nhị phân, file PICT Một dịch vụ tiện lợi PGP cung cấp cho phép người dùng gửi file theo đường email bình thường b, Chữ ký số Khi nhận file đầu vào, bước PGP tạo chữ ký số để gán vào file Đây dịch vụ lựa chọn Nếu người gửi yêu cầu chữ ký số, PGP tạo mã băm file sau mã hóa mã băm với RSA sử dụng cho khóa riêng tư người gửi Kết mã hóa mã băm chữ ký số cho file Chữ ký số bảo đảm file người gửi file không bị biến dạng c, Nén Việc nén lại giúp tiết kiệm thời gian truyền, không gian đĩa quan trọng giúp tăng cường tính bảo mật mật mã Hầu hết kỹ thuật phân tích mã hóa tìm thấy rõ để phá mật mã Nén làm giảm bớt mô hình này, qua giúp tăng cường khả chống giải mã Tuy nhiên người dùng lựa chọn dùng nén không d, Mã hóa 10 Đầu tiên người dùng sử dụng thuật toán mã hóa đối xứng mã hóa rõ khóa chung (còn gọi khóa phiên) Tiếp theo người dùng sử dụng cặp khóa công khai bí mật tạo thuật toán mã hóa bất đối xứng Sử dụng khóa công khai cặp khóa công khai – bí mật mã hóa khóa phiên tạo sau trình mã hóa rõ thuật toán mã hóa đối xứng Phần mã hóa thông điệp gửi PGP sử dụng hai thuật toán mã hóa đối xứng mã hóa bất đối xứng để tận dụng ưu hai Thuật toán mã hóa bất đối xứng đảm bảo việc phân phối khóa phiên hệ thống với độ bảo mật cao thuật toán mã hóa bí mật có ưu tốc độ mã hóa giải mã (nhanh cỡ 1000 lần) e, Tính tương thích Email Nếu ký, nén mã hóa thực file gốc khối liệu sản sinh liệu nhị phân Tuy nhiên, nhiều hệ thống email xử lý với liệu nhị phân mà xử lý file văn Khắc phục hạn chế này, PGP chuyển đổi liệu nhị phân thành ký tự in PGP sử dụng khuôn dạng ASCII armor để chuyển đổi liệu 2.3.2 Giải mã Hình mô tả trình giải mã thông điệp PGP Về bản, để giải mã, PGP cần thực đảo ngược bước trình mã hóa Hình 2: Quá trình giải mã thông điệp PGP Đầu tiên PGP thực việc chuyển file mã lại dạng nhị phân để thực giải mã Tiếp theo người dùng sử dụng khóa riêng tư cặp khóa công khai – riêng tư để thực việc giải mã khóa phiên Sau có khóa phiên thực việc trình giải mã rõ Việc giải nén thực để khôi phục đầy đủ mô hình văn Cuối 11 việc kiểm tra chữ ký để xem văn có bị sửa đổi hay xâm phạm trình truyền hay chưa 2.3.3 Khóa Khóa giá trị làm việc với thuật toán mã hóa để tạo mã cụ thể Về khóa số lớn Kích thước khóa đo bit Trong thuật toán mã hóa, khóa lớn tính bảo mật cao Tuy nhiên kích thước cặp khóa công khai – bí mật so với khóa thông thường không liên quang với Như khóa thông thường 80 bit có sức mạnh tương đương với khóa công khai 1024 bit Kích thước khóa quan trọng cho an toàn, thuật toán sử dụng cho loại khác Vì so sánh kích thước khóa hệ mật mã với Nền tảng thao tác PGP yêu cầu người dùng có cặp khóa công khai – bí mật chép khóa công khai người nhận Mặc dù cặp khóa công khai – bí mật mặt toán học có liên quan đến nhau, khó để suy khóa bí mật có khóa công khai Tuy nhiên, suy khóa bí mật có đủ thời gian khả tính toán Điều dẫn đến vấn đề quan trọng để chọn khóa kích cỡ, tức đủ lớn để đảm bảo an toàn đủ nhỏ để áp dụng cách nhanh chóng Ngoài bạn cần phải xem xét cố gắng đọc tập tin bạn, họ có thời gian khả họ Khóa lưu trữ dạng mã hóa PGP lưu trữ khóa hai tập tin đĩa cứng bạn Một cho khóa công cộng cho khóa bí mật Những tập tin gọi vòng khóa A Khóa công khai PGP thường lưu lại chìa khóa công khai mà người dùng thu Các khóa tập hợp lưu lại vòng khóa công khai Mỗi mục vòng gồm phần: 12 - Khóa công khai - User ID chủ nhân khóa công khai này, tên đặc trưng chủ nhân - Một keyID, định danh cho khóa - Thông tin khác liên quan đến độ tin cậy khóa chủ nhân B Khóa bí mật Để sử dụng PGP, người dùng cần phải có khóa bí mật Nếu muốn người dùng tạo nhiều khóa bí mật Vòng khóa bí mật chứa đựng thông tin khóa - Khóa riêng gồm 128 bit sinh nhờ passphrase hàm băm MD5 - User ID - Key ID khóa công khai tương ứng 2.3.4 Chữ ký số Một chữ ký số phục vụ mục đích chữ ký viết tay Tuy nhiên chữ ký viết tay dễ dàng bị giả mạo Một chữ ký số cao cấp chữ ký viết tay gần làm giả, minh chứng cho nội dung thông tin danh tính người ký Chữ ký số cho người nhận thông tin xác minh tính xác thực nguồn gốc thông tin, xác nhận thông tin nguyên vẹn Một chữ ký số công khai quan trọng cung cấp chứng thực toàn vẹn liệu Cách thức làm việc chữ ký số mô tả hình Hình 3: Lược đồ ký thông điệp PGP 13 Người gửi tạo thông điệp: PGP sử dụng MD5 băm thông điệp tạo mã băm 128 bit Người gửi lấy khóa bí mật vòng khóa để sử dụng PGP mã hóa mã băm RSA sử dụng chìa khóa bí mật người gửi, gán kết vào thông điệp Key ID khóa công khai người gửi tương ứng gắn liền với chữ ký Hình 4: Lược đồ kiểm tra chũ ký thông điệp PGP người nhận: PGP lấy Key ID gán chữ ký sử dụng để lấy khóa công khai từ vòng khóa công khai PGP sử dụng RSA với khóa công khai người gửi để giải mã khôi phục mã băm PGP tạo mã băm cho thông điệp so sánh với mã băm giải mã Nếu hai trùng nhau, thông điệp xác thực Sự kết hợp MD5 RSA cung cấp sơ đồ chữ ký số hiệu Với sức mạnh RSA, người nhận chắn người sở hữu riêng với khóa thích hợp tạo chữ ký Với sức mạnh MD5, người nhận chắn không khác tạo thong điệp mà mã băm trùng với mã băm thông điệp gốc trùng với chữ ký thông điệp gốc 2.3.5 Nén PGP mặc định nén thông điệp sau ký trước trình mã hóa Điều có lợi cho việc cất giữ không gian vừa cho truyền thông email vừa cho lưu trữ máy tính PGP sử dụng giải thuật Zip để nén thông điệp Thực chất 14 giải thuật Zip tìm kiếm chuỗi ký tự lặp lại liệu vào thay chuỗi với mã gọn 2.3.6 Mã hóa giải mã thông điệp Một dịch vụ khác PGP cung cấp mã hóa thông điệp để truyền cất giữ máy tính Trong hai trường hợp sử dụng giải thuật mã hóa truyền thống IDEA Những phiên nhất, PGP sử dụng thuật toán AES thay IDEA Trong thuật toán mã hóa trọng vào vấn đề phân phối khóa Thì với PGP khoá truyền thống sử dụng lần; với thông điệp có khóa 128 bít ngẫu nhiên tạo Vì sử dụng lần, nên khoá phiên gắn vào thông điệp truyền với thông điệp Để bảo vệ khoá phiên, PGP sử dụng RSA với khoá công cộng người nhận Hình 5: Lược đồ mã hóa thông điệp PGP Hình minh họa vấn đề bao gồm bước sau: PGP tạo số 128 bit ngẫu nhiên nhờ việc băm passphrase người gửi MD5 sử dụng làm khóa phiên cho thông điệp PGP mã hóa thông điệp sử dụng khóa phiên PGP mã hóa khóa phiên với RSA Sử dụng khóa công khai người nhận gắn vào khóa phiên mã hóa 15 Hình 6: Lược đồ giải mã thông điệp PGP Hình mô tả trình giải mã thông điệp PGP lấy key ID gán vào thông điệp sử dụng để lấy khóa bí mật từ vòng khóa bí mật Một người dùng có khóa riêng Người nhận cung cấp passphrase Nó cho phép PGP giải mã khóa riêng người nhận PGP sử dụng RSA với khóa riêng để giải mã khôi phục khóa phiên PGP sử dụng khóa phiên giải mã thông điệp 2.4 Ứng dụng Ứng dụng rõ ràng mật mã hóa khóa công khai bảo mật: văn mã hóa khóa công khai người sử dụng giải mã với khóa bí mật người Các ứng dụng PGP bao gồm: thư điện tử, chữ ký số, mật mã hóa ổ đĩa cứng máy tính xách tay, bảo mật tệp thư mục, bảo mật phiên trao đổi 16 IM, mật mã hóa luồng chuyển tệp, bảo vệ tệp thư mục lưu trữ máy chủ mạng Bảo mật Email/ file văn chương trình GPG4win Tạo cặp khóa bất đối xứng Truy cập http://www.gnupg.org/ tải chương trình GnuPG từ trang chủ thực cài đặt bình thường Sau cài đặt xong thực tạo cặp khóa PGP: - Mở công cụ Kleopatra (giao diện đồ họa gpg4win) để tạo cặp khóa bất đối xứng (khóa công khai bí mật) Click File -> New Certificate - Bảng Certificate Creation Wizard ra, bạn điền đầy đủ thông tin họ tên email, Trong tùy chọn nâng cao bạn thiết lập dạng mã hóa RSA hay DSA, thời hạn Key… - Xem lại thông tin lần nữa, sau click “Create Key“ Sẽ có thông báo nhắc nhở nhập xác nhận mật Bạn nên chọn mật mạnh để chống lại công cụ dò đoán mật Cặp khóa bạn tạo vài giây (như hình) - Bạn nên chọn “Make a backup of your file pair” để lưu khóa vào nơi an toàn - Chọn dòng chứa cặp khóa bạn -> click chuột phải -> click Export Certificates để lưu khóa công khai desktop - Bạn phải trao đổi khóa công khai bạn cho người nhận Nhiều người chọn cách để khóa công khai trang web cá nhân họ, gửi đính file đính kèm đến cho người 17 Import Keys/Delete keys Khi bạn có Public Key Bạn cần phải Add vào Key Database bạn để sau sử dụng đến Bạn dùng để giải mã hoá liệu chủ nhân mã hoá Public Key mà bạn có lần sau Ngược lại bạn xóa key khỏi CSDL Mã hoá giải mã hoá (Encrypt And Decrypt) Trong trình mã hóa giải mã hóa không cẩn public key secret key bạn mà cần đến Public key người mà bạn muốn trao đổi liệu với họ cách an toàn Khi mã hoá đối tượng liệu cho người khác bạn phải chọn Public Key họ để mã hoá Sau gửi cho họ, họ dùng Secret Key để giải mã hoá liệu mà bạn mã hoá Public Key họ Chính phương pháp mã hoá liệu tỏ an toàn Mã hoá (Encrypt) Trước muốn mã hoá liệu trao đổi với họ bạn phải có bổ xung Public Key họ vào Database Key bạn Nói cách dễ hiểu ta dùng Public Key họ để mã hoá liệu gửi lại cho họ - Chọn public key Sign hình vẽ - Nhập public key user - Tạo file mã hóa data.doc.asc Giải mã (Decrypt) Quá trình giải mã hoá đơn giản hơn, sau nhận liệu mã hoá ta gửi cho Về phía người nhận họ muốn giải mã hoá Nhập pass user cần lấy secret key 18 Tạo file ban đầu data.doc Quá trình ký nhận kiểm tra chữ ký Ký nhận Bước 1: Vào chức file Chọn file muốn ký nhận chọn chức Sign Kiểm tra chữ ký: Trước tiên ta vào WinPT tức quản lý khóa để chọn passpharse user cho public key Chọn Key->sign 19 Rồi điền vào Passphrase: Sau Ta Vào chức file Chọn file muốn ký nhận chọn chức Verify Nếu file có chữ ký hợp lệ hiển thị vậy: Kết Luận Với đề tài tìm hiểu giao thức bảo mật PGP chúng em làm sang tỏ số vấn đề như: • Giới thiệu giao thức bảo mật PGP, thuật toán liên quan • Quy trình thực mã hóa giải mã PGP • Cài đặt ứng dụng minh họa kỹ thuật mã hóa PGP Tuy nhiên số hạn chế là: 20 • Chưa trình bày cách cụ thể rõ ràng giao thức PGP thuật toán liên quan • Chưa thực hành nghiên cứu sâu ứng dụng PGP Tài Liệu Tham Khảo [1] http://en.wikipedia.org/wiki/Pretty_Good_Privacy [2] Larry L.Peterson and Bruce S Davie, Computer Networks, Morgan Kaufmann, Fifth Edition, 2012 [3] http://cntt.travelvisatousa.com [4] An toàn thông tin (Mạng máy tính, truyền tin số truyền liệu) - NXB Khoa học Kỹ thuật 21 [...]... 3 Kết Luận Với đề tài tìm hiểu giao thức bảo mật PGP chúng em đã làm sang tỏ được một số vấn đề như: • Giới thiệu về giao thức bảo mật PGP, các thuật toán liên quan • Quy trình thực hiện mã hóa và giải mã của PGP • Cài đặt ứng dụng minh họa kỹ thuật mã hóa PGP Tuy nhiên vẫn còn một số hạn chế đó là: 20 • Chưa trình bày được một cách cụ thể và rõ ràng hơn về giao thức PGP và các thuật toán liên quan... của mật mã hóa khóa công khai là bảo mật: một văn bản được mã hóa bằng khóa công khai của một người sử dụng thì chỉ có thể giải mã với khóa bí mật của người đó Các ứng dụng PGP giờ đây bao gồm: thư điện tử, chữ ký số, mật mã hóa ổ đĩa cứng máy tính xách tay, bảo mật tệp và thư mục, bảo mật các phiên trao đổi 16 IM, mật mã hóa luồng chuyển tệp, bảo vệ các tệp và thư mục lưu trữ trên máy chủ mạng Bảo mật. .. đồ giải mã thông điệp trong PGP Hình 7 mô tả quá trình giải mã thông điệp 1 PGP lấy key ID được gán vào thông điệp và sử dụng nó để lấy khóa bí mật đúng từ vòng khóa bí mật Một người dùng có thể có hơn một khóa riêng 2 Người nhận cung cấp một passphrase Nó cho phép PGP giải mã khóa riêng của người nhận 3 PGP sử dụng RSA với khóa riêng để giải mã và khôi phục khóa phiên 4 PGP sử dụng khóa phiên giải... và truyền cùng với thông điệp Để bảo vệ khoá phiên, PGP sử dụng RSA với khoá công cộng của người nhận Hình 5: Lược đồ mã hóa thông điệp trong PGP Hình 6 minh họa vấn đề này bao gồm các bước sau: 1 PGP chỉ tạo một số 128 bit ngẫu nhiên nhờ việc băm passphrase của người gửi bằng MD5 và sử dụng nó làm khóa phiên cho thông điệp 2 PGP mã hóa thông điệp sử dụng khóa phiên 3 PGP mã hóa khóa phiên với RSA Sử... trọng trong cung cấp chứng thực và toàn vẹn dữ liệu Cách thức làm việc của chữ ký số được mô tả trong hình Hình 3: Lược đồ ký trên 1 thông điệp PGP 13 Người gửi tạo ra một thông điệp: 1 PGP sử dụng MD5 băm thông điệp tạo ra một mã băm 128 bit 2 Người gửi lấy khóa bí mật trên vòng khóa để sử dụng 3 PGP mã hóa mã băm bằng RSA sử dụng chìa khóa bí mật của người gửi, và gán kết quả vào thông điệp Key ID... đặc trưng của chủ nhân - Một keyID, là định danh cho khóa này - Thông tin khác liên quan đến độ tin cậy của khóa và chủ nhân của nó B Khóa bí mật Để sử dụng PGP, người dùng cần phải có một khóa bí mật Nếu muốn người dùng có thể tạo nhiều khóa bí mật Vòng khóa bí mật chứa đựng thông tin của mỗi khóa - Khóa riêng gồm 128 bit được sinh ra nhờ một passphrase và hàm băm MD5 - User ID - Key ID của khóa công... PGP chuyển đổi dữ liệu nhị phân thành những ký tự có thể in được PGP sử dụng khuôn dạng ASCII armor để chuyển đổi dữ liệu 2.3.2 Giải mã Hình dưới mô tả quá trình giải mã một thông điệp trong PGP Về cơ bản, để giải mã, PGP chỉ cần thực hiện đảo ngược các bước của quá trình mã hóa Hình 2: Quá trình giải mã một thông điệp trong PGP Đầu tiên PGP sẽ thực hiện việc chuyển file bản mã về lại dạng nhị phân để... với nhau Nền tảng những thao tác của PGP là yêu cầu mỗi người dùng có một cặp khóa công khai – bí mật cũng như các bản sao chép các khóa công khai của người nhận Mặc dù một cặp khóa công khai – bí mật về mặt toán học là có liên quan đến nhau, nó rất khó để có thể suy ra được một khóa bí mật nếu như chỉ có khóa công khai Tuy nhiên, vẫn có thể suy ra được khóa bí mật nếu có đủ thời gian và khả năng tính... khai của người gửi tương ứng gắn liền với chữ ký Hình 4: Lược đồ kiểm tra chũ ký trên một thông điệp PGP của người nhận: 1 PGP lấy Key ID được gán trong chữ ký và sử dụng nó để lấy khóa công khai đúng từ vòng khóa công khai 2 PGP sử dụng RSA với khóa công khai của người gửi để giải mã khôi phục mã băm 3 PGP tạo ra một mã băm mới cho thông điệp và so sánh nó với mã băm giải mã Nếu cả hai trùng nhau, thông... hệ thống với độ bảo mật cao còn thuật toán mã hóa bí mật có ưu thế về tốc độ mã hóa và giải mã (nhanh hơn cỡ 1000 lần) e, Tính tương thích Email Nếu ký, nén hoặc mã hóa được thực hiện trên file gốc thì khối dữ liệu được sản sinh ra là những dữ liệu nhị phân Tuy nhiên, nhiều hệ thống email không thể xử lý với dữ liệu nhị phân mà chỉ có thể xử lý những file văn bản Khắc phục hạn chế này, PGP chuyển đổi