Tải bản đầy đủ (.doc) (15 trang)

Bài tập lớn môn Mật mã và an toàn dữ liệu Công nghệ PGP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (753.94 KB, 15 trang )

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.


Tuy nhiên, vì email được gửi qua Internet là mạng công cộng nên cũng kèm theo rất nhiều
rủi ro về bảo mật, người ngoài có thể đọc trộm các email mà ta gửi hoặc nhận. Việc đó là
không sao với những email có nội dung không quan trọng, không đòi hỏi độ bảo mật.
Nhưng với những email quan trọng như việc làm ăn, những thông tin nhạy cảm không thể
tiết lộ ra ngoài, việc bảo mật cho các email này là rất cần thiết.
Hiện nay có nhiều công nghệ giúp cho việc bảo mật email, trong đó công nghệ PGP là
một trong những công nghệ phổ biến, được nhiều người sử dụng để bảo mật email trên
Internet với các ưu điểm như hiệu quả, dễ sử dụng và miễn phí.
3
1. Tổng quan về PGP
1.1. Giới thiệu chung
PGP là một phần mềm dùng để mã hóa dữ liệu và xác thực, thường áp dụng để mã hóa
và giải mã văn bản, email, file phục vụ cho việc bảo mật khi sử dụng email. Phiên bản
PGP đầu tiên do Phil Zimmerman công bố vào năm 1991. Hiện nay, tập đoàn PGP cung
cấp phần mềm mã hóa dựa trên nền tảng này.
Một số phiên bản PGP:
• PGP 1.0: Phiên bản PGP 1.0 sử dụng thuật toán khoá công khai RSA, thuật toán mã
Bass-o-Matic, thuật toán băm MD4, và thuật toán nén dữ liệu LZHUF. Thuật toán
Bass-o-Matic do Zimmermann tạo ra và được đem đến hội thảo Crypto tổ chức vào
tháng 8 năm 1991.
• PGP 2.0-2.3: Sau giai đoạn suy giảm năm 1991-1992, một nhóm lập trình với các
thành viên trên toàn thế giới đã cải tiến lại PGP dựa trên phiên bản 2.0. thay đổi lớn
nhất là thay thế thuật toán Bass-o-Matic bằng IDEA. Tác giả chính là Branko
Lankester(người Phần Lan) và Peter Gutmann(người Niu Di Lân).
• PGP 2.4.x: Công ty ViaCrypt đă mua bản quyền sử dụng RSA, Zimmermann hợp
tác với công ty này và họ phát hành bản PGP thương mại. phiên bản này không vi
phạm bất cứ bản quyền nào và không còn miễn phí nữa.
• PGP 4.0 và 4.5: Giống như phiên bản 2.4, những phiên bản này được phát hành
dưới dạng sản phẩm thương mại của công ty ViaCrypt. Cả hai phiên bản này đều có
hai thành phần: phiên bản thương mại và phiên bản cá nhân. Phiên bản thương mại

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

• EP: mã hóa public key
• DP: giải mã public key
• EC: mã hoá tin nhắn
• DC: giải mã tin nhắn
• H: Hàm băm
• ||: Kết nối, ghép chuỗi
• Z: nén sử dụng giải thuật ZIP
• R64: convert sang định dạng ASCII 64 bit
1.2.1. Bảo mật
Hình 1.2.1. Bảo mật email bằng PGP
Người sử dụng đầu tiên phải có một cặp khóa: Khóa công khai và khóa bí mật, người
nhận gửi khóa công khai cho người gửi.
Người gửi tạo tin nhắn và một số ngẫu nhiên 128 bit làm khóa phiên. Người gửi mã
hóa tin nhắn sử dụng DES, CAST/IDEA hoặc 3DES với khóa phiên đó.
5
Người gửi sử dụng RSA với khóa công khai của người nhận để mã hóa khóa phiên, tin
nhắn đã mã hóa và khóa phiên được gửi cho người nhận.
Người nhận sử dụng RSA với khóa bí mật để giải mã, khôi phục khóa phiên và sử dụng
khóa phiên để giải mã tin nhắn.
1.2.2. Xác thực
Hình 1.2.2. Xác thực email bằng PGP
Đầu tiên, người gửi tạo tin nhắn, sử dụng SHA-1 để sinh băm 160 bit của tin nhắn.
Người gửi sử dụng RSA với khóa bí mật của mình để ký trên băm và gửi cho người
nhận.
Người nhận sử dụng RSA với khóa công khai của người gửi để giải mã và khôi phục
băm.
Người nhận kiểm tra tin nhắn nhận được với băm của nó và so sánh với băm đã được
giải mã. Nếu hai giá trị này giống nhau thì có thể khẳng định là văn bản chưa bị thay đổi
kể từ khi gửi và người gửi đúng là người sở hữu khóa bí mật tương ứng.
1.2.3. Bảo mật và xác thực

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ỉ
/>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
h t


t p

: /

/w w w .

m

o

z i l

l a .

or

g / e

n -

U S/ t

h u

n d

e

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
đến khi check mail, khi check mail thì tất cả mail ngay lập tức

được
download về
máy tính và không còn lưu trữ trên server nữa.
3.2. Download và cài đặt chương trình quản lý khóa Gnu4win
Download từ địa chỉ
h t t

p

: / /

w ww .

g p

g 4

wi n .

or

g / d

o

w n l o

a

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
Có 3 tùy

chọn.
Just encypt/sign the message text, but not the attachments: Mã hóa

tạo chữ ký
nhưng không mã hóa file đính
kèm.
Encrypt/sign each attachment separately and send the message using inline PGP:

hóa,
tạo chữ ký và mã hóa file đính
kèm.
Encrypt/sign the message as a whole and send it using PGP/MIME: Mã hóa và

sử
dụng
S/MIME.
3.6. Tạo chữ ký điện tử
Trong cửa sổ Key Management, chuột phải vào Key chọn Sign Key.
Kiểm tra Key bằng cách chuột phải vào Key, chọn View Signatures.
3.7. Giải mã
13
Khi bạn nhận được một mail đã mã hóa thì Thunderbird sẽ tự động giải mã, nếu chữ
ký là chính xác thì sẽ hiển thị:
14
TÀI LIỆU THAM KHẢO
[1].
h t

t p


: / /

e n .

wi k

i p

e

d

i a .

or

g /

w i

k i /

P r

e

t t

y _


G oo

d _

P r

i v

a c

y
[2].
h t

t p

: / /

w ww .e

n

i g m

a

il .

n e t


/ 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

: / /


w ww .e

n

i g m

a

il .

n e t

/ d

o

c u

m e

n t a

t i o

n / b

a s i c.

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

/
[5]. Tài liệu hướng dẫn mã hóa với PGP, Trần Anh Đức – Phòng nghiệp vụ VNCERT

15

×