Đồ án Nghiên cứu hệ mật PGP và đánh giá độ an toàn mật mã của nó

Các gói khoá bí mật khá giống nhau khi đối chiếu phần thông tin công khai, chỉ khác nhau về kiểu của các Header và phần các số lớn mở rộng.

Một gói khoá bí mật bao gồm:

 [ Các trường khoá công khai tương ứng ], [1 byte thiết lập chuỗi cho thủ tục khoá], [lựa chọn: một thuật toán mã đối xứng ( 1 byte ) ], [ lựa chọn: một chuỗi để xác định khoá], [nếu đã được mã: 8 byte chứa giá trị khởi tạo], [các số lớn được mã], [2 byte kiểm tra tổng].

 

ppt26 trang | Chia sẻ: lynhelie | Lượt xem: 3679 | Lượt tải: 5download
Bạn đang xem trước 20 trang tài liệu Đồ án Nghiên cứu hệ mật PGP và đánh giá độ an toàn mật mã của nó, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG NGÀNH CÔNG NGHỆ THÔNG TIN ====== ĐỒ ÁN TỐT NGHIỆPĐề tài: Nghiên cứu hệ mật PGP và đánh giá độ an toàn mật mã của nó Giáo viên hướng dẫn :TS. Hồ Văn CanhSinh viên thực hiện :Phạm Thị TươiLớp :CT8011PHẦN I: GIỚI THIỆU CHUNG Mục đích của đề tài: Bảo mật dữ liệu nhằm mục đích tránh mất mát thông tin, thông tin không bị sao chép, đánh cắp đồng thời những dữ liệu đó khi tới tay người nhận một cách nhanh chóng, chính xác. Việc sử dụng các hệ mật mã để bảo mật dữ liệu khi truyền tin trên mạng là rất cần thiết. Khoa học mật mã là ngành đã ra đời từ lâu và trải qua nhiều giai đoạn phát triển, từ một môn khoa học thực nghiệm đã nhanh chóng trở thành môn khoa học logic đỉnh cao và ngày càng hội tụ nhiều những kiến thức tinh tuý của loài người. Với đề tài “ Nghiên cứu PGP và đánh giá độ an toàn của chúng” thì chúng ta cũng sẽ hiểu hơn về ứng dụng của việc sử dụng hệ mật mã.2PHẦN II: NỘI DUNG TRÌNH BÀY Chương 1: TỔNG QUAN VỀ CÁC HỆ MẬT MÃ Chương 2: GIỚI THIỆU TỔNG QUAN VỀ PGP Chương 3: CẤU TRÚC FILE CỦA PGP Chương 4: QUÁ TRÌNH MÃ HÓA VÀ GIẢI MÃ THÔNG ĐIỆP TRONG PGP Chương 5: CÁC ĐẶC ĐIỂM CỦA PGP3Chương 1: TỔNG QUAN VỀ CÁC HỆ MẬT MÃ Định nghĩa : Một hệ mật là một bộ 5 thành phần ( P,C,K,E.D ) trong đó: P là một tập hữu hạn các ký tự bản rõ, C là một tập hữu hạn các ký tự bản mã, K là một tập hữu hạn các khoá, Các tập P,C,K lần lượt được gọi là không gian bản rõ, không gian bản mã tương ứng và không gian khoá. Với mỗi k є K , tồn tại một quy tắc mã ek và một quy tắc (hàm ngược của ek giải mã dk, tức là mỗi k є K, tồn tại các hàm mã và giải mã: ek: P ─>C, dk: C ─> D sao cho dk (ek (x))=x với mỗi x є D. C = { ek: P ─> C,k є K } Còn D = { dk :C ─> P,k є K và dk ek =I } Trong đó I là phần tử đồng nhất 41.1. Mật mã khoá đối xứng ( mật mã một khoá – Symmertric Key )Hệ mật mã khoá đối xứng là hệ mật mã (P,C,K,E,D ) giả sử với mỗi khoá k є K nếu cho trước ek є C người ta có thể dễ dàng tính được dk є D sao cho với mọi x є P để hệ thức sau đây nghiệm đúng: dk(ek(x)) =x Tính chất hệ mật mã khoá đối xứng: Tính chất 1: Độ bảo mật cao nếu khoá mã được giữ bí mật tuyệt đối. Tính chất 2: Để giữ bí mật tuyệt đối, người ta phải truyền cho nhau trên kênh được đảm bảo chắc chắn là an toàn. Tính chất 3: Tốc độ mã/dịch trên máy tính hoặc trên thiết bị cứng hoá rất nhanh.51.2. Mật mã khoá bất đối xứng (Asymmetric Key ) Định nghĩa : Hệ mật mã hoá khoá bất đối xứng hay còn gọi là hệ mật mã hoá khoá công khai là một hệ mật ( P,C,K,E,D ). Trong đó việc cho trước khoá mã ek є C (k є K ) người ta không thể suy ra được về tính toán khoá dịch dk є D sao cho: dk (ek (x)) =x với mỗi x є PTính chất cơ bản của hệ mật bất đối xứng Tính chất 1: Hệ mật mã bất đối xứng sử dụng một kênh truyền không an toàn để truyền bản mã và khoá mã mà vẫn đảm bảo độ an toàn mật mã của hệ. Tính chất 2: Tốc độ mã /dịch chậm hơn nhiều lần so với hệ mật đôi xứng. Độ mật của hệ này phụ thuộc các tham số của hệ : các tham số càng lớn thì độ an toàn càng cao, nhưng tham số lớn lại gây chậm trễ cho việc mã/dịch. 6Chương 2: GIỚI THIỆU TỔNG QUAN VỀ PGP 2.1 Giới thiệu về PGPPGP( Pretty Good Privacy ) là một chương trình máy tính nhằm đảm bảo bí mật thông tin cá nhân cho người sử dụng.PGP dùng hai kỹ thuật mã hoá và chữ ký số.Phiên bản PGP đầu tiên do Phil Zimmermann công bố năm 1991. Với mục tiêu ban đầu là phục vụ mã hoá thư điện tử. Nhưng với các ứng dụng PGP giờ đây bao gồm: Thư điện tử, chữ ký số, mật mã hoá ổ đĩ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 bản trao đổi IM, mật mã hoá 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.72.2. Hoạt động của PGP PGP sử dụng kết mật mã hoá khoá công khai và thuật toán khoá đối xứng cộng thêm với hệ thống xác lập mối quan hệ giữa khoá công khai và chỉ danh người dùng ID.Người sử dụng đầu tiên phải có một cặp khoá : khoá công khai và khoá bí mật. Người gửi sử dụng khoá công khai của người nhận để mã hóa một khoá chung ( còn gọi là khoá phiên ). Khoá phiên được dùng để mã hóa dữ liệu còn khoá công khai mã hoá chậm hơn nên được dùng để mã hoá khoá phiên.Người nhận sau khi nhận được dữ liệu sẽ dùng khoá bí mật của mình để giải mã tìm ra khoá phiên, sau đó dùng khoá phiên này để giải mã dữ liệu gốc.8Chương 3: CẤU TRÚC FILE CỦA PGP Khuôn dạng file theo OpenPGP được dùng trong nhiều kiểu file, những thông báo được mã bằng PGP bao gồm :Những file có phần mở rộng (.pgp ),Những file chữ ký độc lập (.sig), File chứa khoá truyền đi (.asc), File chứa khoá công khai (.pkr) và khoá riêng (.skr).93.1. Các gói và Header của góiDữ liệu trong một file được chia thành các gói, mỗi một gói bao gồm dữ liệu mà nó chứa và được thêm vào phần đầu một Header để xác định loại gói và độ dài của gói đó. Header mô tả kiểu và độ dài của gói khoá. Tất cả các gói đều bắt đầu bằng các Header. Header của gói cũ có độ dài là 1,2,3 hoặc 5 byte. Bít đầu tiên luôn có giá trị 1, bít thứ hai là 0 nếu là dạng cũ ( old format).Đối với các gói mới, bít thứ 2 sẽ có giá trị 1, 6 bít còn lại của byte đầu tiên của header xác định kiểu gói. Header có thể có độ dài là 2,3,5 byte. Độ dài của gói tương ứng phụ thuộc vào giá trị của byte 2 của Header.103.2. Các gói khoá 3.2.1. Gói khoá công cộng113.2. Các gói khoá 3.2.2. Gói khoá bí mậtCác gói khoá bí mật khá giống nhau khi đối chiếu phần thông tin công khai, chỉ khác nhau về kiểu của các Header và phần các số lớn mở rộng.Một gói khoá bí mật bao gồm: [ Các trường khoá công khai tương ứng ], [1 byte thiết lập chuỗi cho thủ tục khoá], [lựa chọn: một thuật toán mã đối xứng ( 1 byte ) ], [ lựa chọn: một chuỗi để xác định khoá], [nếu đã được mã: 8 byte chứa giá trị khởi tạo], [các số lớn được mã], [2 byte kiểm tra tổng].123.3. Các gói chữ ký PGP dùng nhiều chữ ký khác nhau. Việc xác nhận chữ dựa trên khoá công cộng để xác nhận một UserID và khoá có quan hệ với nhau. Ý nghĩa của chữ ký được xác định bằng kiểu của nó. Có một số kiểu chữ ký sau: 00: Chữ ký trên một tài liệu nhị phân : Người ký xác nhận bản thân họ đã tạo ra, xem hoặc sửa một file. 01: Chữ ký trên tài liệu dạng text. 02: Chữ ký độc lập 10: Xác nhận chung trên một khoá công cộng và một userID, không thể hiện rõ cách kiểm tra một người ký là hợp lệ. 11,12,13: Các giá trị này thay thế cho các mức độ xác thực userID và khoá tương ứng với: person, casual, positive. 133.4. Các gói khácPublic Key Encrypted Session Key Packet ( Gói khoá phiên được mã bằng khoá công cộng ).Symmetric Key Encrypted Session Key packet ( Gói khoá phiên được mã bắng khoá đối xứng ).One Pass Signatrue Packet ( Gói chữ ký được dùng một lần ).Compressed Data Packet ( Gói dữ liệu nén)Market Packet ( Gói đánh dấu )Literal Data Packet ( Gói dữ liệu dạng chữ )UserID Packet ( Gói định danh người dùng ) Trust Packet ( Gói tin cậy )143.5. KEYID và FINGERPRINTFKey ID là một giá trị 8 byte, nó dùng để trợ giúp tìm kiếm các khoá. Không thể coi key ID là khác nhau đối với các khoá khác nhau. Người ta có thể làm tăng tốc độ tìm kiếm khoá bằng các kiểm tra key ID trước, sau đó mới kiểm tra trên fingerprintf. Khuôn dạng của phiên bản 3 dùng 8 byte thấp của n như là key ID, trong phiên bản 4 key ID là 8 byte thấp của fingerprintf.Fingerprintf là một chuỗi 16-20 byte duy nhất định danh của một khoá. Dùng để kiểm tra tính hiệu lực của khoá. Fingerprintf của phiên bản 3 là giá trị băm của n và e, không có byte độ dài đối với MD5.153.6. ASCII ArmorQuá trình thực hiện ASCII Armor gồm 2 bước: Đầu tiên dữ liệu được mã lại bằng cách dùng các ký tự hiển thị được. Sau đó các header sẽ được thêm một số thông tin để báo cho người dùng biết được dữ liệu mã PGP đã dùng. Các dòng header có thể là :-----BEGIN PGP MESSAGE----------BEGIN PGP PUBLIC KEY BLOCK----------BENGIN PGP PRIVATE KEY BLOCK----------BENGIN PGP MESSAGE,PART X/Y----------BENGIN PGP MESSAGE,PART X----------BENGIN PGP SIGNATURE----- Sau đó là một dòng trống hoặc in ra giá trị các cặp khoá để gửi các thông tin đặc biệt khác. Hiện tại xác định được các khoá sau: Version : [ số phiên bản PGP] Comment: [ những gì mà người gửi muốn nói] MessageID: [ dùng để tìm tất cả các phần thông báo được chia nhỏ. Một chuỗi 32 ký tự có thể in đuợc] Hash: [ một dấu chấm phân tách phần danh sách các thuật toán băm] Charset: [ký tự dùng để xác định ký tự phi tiêu chuẩn ( ví dụ tiếng Nhật ), đối với các thông điệp rõ]. 163.7. Một số thuật toán trong PGPMã khối đối xứngIDEA ( International Data Encryption Algorithm )3DES ( Data Encryption Standard )CASTCác thuật toán khoá công khaiRSAElgamal/Diffie-Hellman DSA Hàm bămMD5SHA17Chương 4: QUÁ TRÌNH MÃ HOÁ VÀ GIẢI MÃ THÔNG ĐIỆP TRONG PGP4.1. Quá trình mã hoá một thông điệp PGP184.2. Giải mã một thông điệp PGP19 4.3. Chữ ký số Quá trình chữ ký số đối với người gửi 204.3. Chữ ký số Quá trình chữ ký số đối với người nhận214.4. Mã hoá và giải mã thông điệp22 Chương 5: CÁC ĐẶC ĐIỂM CỦA PGP 5.1. Nhiều người dùng 235.2. Mã hoá những file cục bộThủ tục như sau:Người dùng cung cấp một tên file và yêu cầu mã hoá truyền thống cho file.PGP nhắc người dùng cho một passphrase.PGP sử dụng passphrase được cung cấp để tạo ra một chìa khoá IDEA.PGP mã hoá file bằng IDEA với chìa khoá vừa được tạo ra.245.3. Một số tính năngMàn hình một tuỳ chọnXoá sạchNhững tuỳ chọn chữ ký25em xin ch©n thµnh c¶m ¬nc¸c thÇy c« gi¸o26

Các file đính kèm theo tài liệu này:

  • pptbai viet.ppt