1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
&&&
Bài tập lớn
Mật mã và an toàn dữ liệu
Đề tài: Công nghệ PGP
Giảng viên: PGS.TS. Trịnh Nhật Tiến
Học viên thực hiện: Lê Huy Hoàng
Khóa: K20-KTPM
Mã HV: 13025162
Hà Nội - 2014
MỤC LỤC
MỤC LỤC 2
PGP 3
1. Tổng quan về PGP 4
1.1. Giới thiệu chung 4
1.2. Hoạt động của PGP 5
2. Demo mã hóa email bằng PGP sử dụng API 8
3. Demo mã hóa email bằng PGP sử dụng Thunderbird 8
3.1. Download và cài đặt Mozilla Thunderbird 8
3.2. Download và cài đặt chương trình quản lý khóa Gnu4win 9
3.3. Cài đặt phần mềm hỗ trợ mã hóa Enigmail trên Thunderbird 9
3.4. Quản lý khóa 9
3.5. Mã hóa 11
3.6. Tạo chữ ký điện tử 13
3.7. Giải mã 13
TÀI LIỆU THAM KHẢO 15
2
PGP
Email (thư điện tử) là một dịch vụ rất phổ biến và quan trọng trong cuộc sống hiện nay.
có thêm chức năng sắp xếp phục hồi dữ liệu.
• PGP Phone: Phil Zimmermann đă thử xây dụng một chương trình với mục đích
đảm bảo an ninh cho các cuộc gọi trên Internet. Vì điện thoại Internet đòi hỏi phải
có kết nối rất tốt cho nên chương tŕnh đã hoạt động không được tốt. Ngày
21/03/1999 mă nguồn của chương trình này đă được công khai với người sở hữu
mới lúc này là NAI, họ không muốn mất nhiều thời gian vào chương tŕnh này và
sau đó không thấy có tiến bộ nào khác nữa.
• PGP 5.0: Phiên bản này đă chấm dứt chuỗi lịch sử phát triển bất hợp pháp của PGP.
Mọi vấn đề về pháp lý đã được giải quyết. Chương tŕnh mới này đã hỗ trợ giao diện
đồ hoạ, được phát triển từ nhiều nguồn khác nhau và được chạy trên hệ điều hành
Windows 95/NT, Apple Macintos.
4
• PGP 5.5: Đây là phiên bản có nhiều đặc tính cải tiến, từ giao diện đến công cụ xoá
sạch tệp dữ liệu. PGP được phân phối dưới dạng cả phần mềm miễn phí và phiên
bản thương mại. PGP5.5.3 được phát hành vào ngày 4/07/1997.
• PGP 7.0: Phát hành vào ngày 10/09/2000. Phiên bản phần mềm miễn phí xuất hiện
sau vào ngày 3/2/2001. Phiên bản này đưa ra nhiều cải tiến trong phần mạng PGP.
• Hiện nay PGP đã có bản 8.0.
1.2. Hoạt động của PGP
PGP sử dụng kết hợp mã hóa khóa công khai và mã hóa khóa đối xứng.
Chú thích cho các hình vẽ:
• K
s
: Khóa phiên
• Pr
a
: private key của user A
• PU
a
: public key của user A
Hình 1.2.3. Kết hợp bảo mật và xác thực email bằng PGP
Người gửi tạo chữ ký và đính vào tin nhắn, sau đó mã hóa cả mẩu tin và chữ ký rồi gửi
cho người nhận.
6
1.2.4. Nén
Mặc định PGP sẽ nén tin nhắn sau khi ký nhưng trước khi mã hóa, PGP sử dụng thuật
toán nén Zip để nén tin nhắn.
1.2.5. Các chùm khóa PGP
Mỗi người sử dụng PGP sẽ có một cặp chùm khóa:
• Chùm khóa công khai chứa mọi khóa công khai của những người sử dụng PGP
khác mà người đó biết và được đánh số bằng định danh khóa (ID key).
• Chùm khóa riêng chứa các cặp khóa công khai / khóa bí mật của người đó được
đánh số bởi định danh khóa và mã của khóa lấy từ giai đoạn duyệt hàm băm.
1.2.6. Quản lý khóa PGP
Trong quá trình mã hóa cũng như kiểm tra chữ ký, một điều vô cùng quan trọng là
khóa công khai được sử dụng thực sự thuộc về người được cho là sở hữu của nó. PGP hỗ
trợ cơ chế phân phối khóa công khai và xác thực khóa đó có thuộc về chủ sở hữu không.
Cụ thể, OpenPGP cung cấp các chữ ký tin cậy cho người sử dụng để có thể tạo ra các
nhà cung cấp CA. Mỗi người sử dụng PGP có 1 CA của mình, người sử dụng có thể tạo ra
các khóa công khai để phân phối cho người khác và các khóa này được đảm bảo là tin cậy,
nhờ vậy người đó có thể ký khóa cho người khác, đồng thời cũng có thể thu hồi khóa đó
nếu biết khóa đó bị mất hoặc vô hiệu.
7
2. Demo mã hóa email bằng PGP sử dụng API
Download API cho PGP tại địa chỉ
https://www.bouncycastle.org/csharp/index.html
Demo mã hóa và giải mã file text.
3. Demo mã hóa email bằng PGP sử dụng Thunderbird
3.1. Download và cài đặt Mozilla Thunderbird
Download tại link
r
b
i r d
/ do
w n l o
a
d
/
Để tạo một tài khoản mail bạn chọn Create a new account
.
Cửa sổ Mail Account Setup hiện ra cho phép điền các thông tin cần
thiết
8
Có hai tùy chọn để cấu hình
Mail
• IMAP: Có thể thiết lập một mail account trên nhiều PC/Laptop một lúc mà ta có
thể xem mail được tất cả. IMAP chỉ lấy về các header của các mail, khi
nào
cần
mở thì IMAP mới lấy xuống từng email riêng biệt.
• POP3: Với POP3, email sẽ được lưu trữ trên mailbox của remote
server
cho
d
.
h t m
l
3.3. Cài đặt phần mềm hỗ trợ mã hóa Enigmail trên Thunderbird
Vào Tools -> Add-ons và tìm Enigmail.
3.4. Quản lý khóa
9
Vào OpenPGP -> Key management
Vào Generate -> New Key Pair để tạo cặp khóa.
10
Vào Generate -> Revocation Certificate để tạo chứng chỉ thu hồi dùng khi muốn thu
hồi khóa.
Vào File -> Export Keys to File để tạo khóa bí mật và khóa công khai.
3.5. Mã hóa
Soạn mail trên Thunderbird và Import Public Key vào bằng cách File -> Import Keys
From File.
11
Để mã hóa email click vào biểu tượng trên thanh công cụ Thunderbird.
Cửa sổ hiện
lên
như
sau.
Khi gửi email thì hiện lên thông báo.
12
: / /
e n .
wi k
i p
e
d
i a .
or
g /
w i
k i /
P r
e
t t
y _
/ d
o
c u
m e
n t a
t i o
n /
h a
n db
o o
k . p
h p
[3].
h t
t p
: / /
h p
[4].
h t
t p
: / /
w ww .
p
g p
i . o
r
g / d o
c
/ p
g p
i n t ro
/