Tải bản đầy đủ (.pdf) (46 trang)

TÀI LIỆU HƯỚNG dẫn mã hóa với 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 (3.32 MB, 46 trang )

Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 1












TÀI LIỆU HƯỚNG DẪN MÃ HÓA
VỚI PGP




























Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 2

MỤC LỤC

Mục lục……………………………………………………………………… 2
1. Tổng quan về PGP 2
1.1 Giới thiệu chung về PGP 3
1.2 Mục đích sử dụng PPG 3
1.3 Hoạt động của PGP 3
2. Các bước chuẩn bị: 4
2.1 Cài đặt phần mềm mail client Thunderbird 4
2.2 Cài đặt chương trình quản lý khóa Gnu4win 9
2.3 Cài đặt phần mềm hỗ trợ mã hóa Enigmail trên Thunderbird 13
3. Quản lý khóa 15
3.1 Tạo Khóa 15
3.2 Tạo Chứng chỉ thu hồi (Revocation Certificate) 17
3.3 Tạo Secret Keys và Public Keys 20

3.4 Import Public Keys và Upload Public Keys lên Servers 24
3.5 Một số chức năng khác 26
4. Mã hóa và tạo chữ ký điện tử 36
4.1 Mã hóa 36
4.2 Tạo chữ ký điện tử 39
5. Giải mã 42
Tài liệu tham khảo 46









Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 3

1. Tổng quan về PGP
1.1 Giới thiệu chung về PGP
Khái niệm: 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 dích sử dụng PGP
Mụ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 Hoạt động của PGP
PGP sử dụng kết hợp mật mã hóa khóa công khai và 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ệ giữa khóa công khai và chỉ danh người dùng (ID). Phiên
bản đầu tiên của hệ thống này thường được biết dưới tên mạng lưới tín nhiệm dự trên các mối
quan hệ ngang hàng (khác với hệ thống X.509 với cấu trúc cây dựa vào nhà cung cấp chứng
thực số). Các phiên bản PGP về sau dựa trên các kiến trúc tương tự như 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
đầ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 gửi sử dụng khóa công
khai của người nhận để mã hóa một khóa chung (còn được gọi là khóa phiên) dùng trong các
thuật toán mật mã hóa khóa đối xứng. Khóa phiên này chính là chìa khóa để mật mã hóa các
thông tin gửi qua lại trong các phiên giao dịch. Có rất là nhiều khóa công khai của những
người sử dụng PGP được lưu trữ trên mác máy chủ khóa PGP trên khắp thế giới.
Một điều vô cùng quan trọng nữa là để phát hiện thông điệp có bị thay đổi hoặc giả mạo
người gửi. Để thực hiện mục tiêu trên thì người gửi phải ký văn bản với thuật toán RSA hoặc
DSA. Đầu tiên, PGP tính giá trị hàm băm của thông điệp rồi tạo ra chữ ký số với khóa bí mật
của người gửi. Khi nhận được văn bản, người nhận tính lại giá trị hàm băm của văn bản đó
đồng thời giải mã chữ ký số bằng khóa công khai của người gửi. 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.
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ó. Nếu chỉ đơn giản
download một khóa công khai từ đâu đó sẽ không đảm bảo được điều này. PGP thực hiện việc
phân phối khóa thông qua thực chứng số được tạo nên bởi những kỹ thuật mật mã sao cho
việc sửa đổi có thể dễ dàng bị phát hiện. Tuy nhiên chỉ điều này thôi thì vẫn chưa đủ vì nó chỉ
ngăn chặn được việc sửa đổi sau khi chứng thực được tạo ra. Người dùng còn cần phải trang
bị khả năng xem xét khóa công khai có thực sự thuộc về người chủ sở hữu hay không. Từ
phiên bản đầu tiên. PGP đã có một cơ chế hỗ trợ điều này được gọi là mạng lưới tín nhiệm.
Mỗi khóa công khai đều có thể được một bên thứ 3 xác nhận.

OpenPGP cung cấp các chữ ký tin cậy có thể được sử dụng để tạo ra các nhà cung cấp
chứng thực số (CA). Một chữ ký tin cậy có thể chứng tỏ rằng một khóa thực sự thuộc về một
người sử dụng và người đó đáng tin cậy để ký xác nhận một khóa của mức thấp hơn. Một chữ
ký có mức 0 tương đương với chữ ký trong mô hình mạng lưới tín nhiệm. Chữ ký ở mức 1
tương đương với chữ ký của một CA vì nó có khả năng xác nhận cho một số lượng không hạn
chế chữ ký mức 0. Chữ ký ở mức 2 tương tự như chữ ký trong danh sách các CA mặc định
trong Internet Explorer; nó cho phép người chủ tạo ra các CA khác.
Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 4

PGP cũng được thiết kế với khả năng hủy bỏ hoặc thu hồi các chứng thực có khả năng đã
bị vô hiệu hóa. Điều này tương đương với danh sách thực chứng bị thu hồi của mô hình hạ
tầng khóa công khai. Các phiên bản PGP gần đây cũng hỗ trợ tính năng hạn của thực chứng.
2. Các bước chuẩn bị
2.1 Cài đặt phần mềm Mail Client Thunderbird
Bạn vào đường link sau:

Để down load Thunderbird về máy và tiến hành cài đặt



Bạn chọn Next để tiếp tục.

Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 5



Ở trên hình có hai tùy chọn
 Standard: Thunderbird sẽ cài đặt theo một chuẩn chung

 Custom: Tùy chọn này nói về những tùy chỉnh của người sử dụng. Bạn nên chọn
Custom.
Sau đó bạn chọn Next để tiếp tục



Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 6

Ở đây cho phép bạn chọn đường dẫn để lưu trữ chương trình Thunderbird. Mặc định là
C:\Program Files\Mozilla Thunderbird. Bạn có thể thay đổi đường dẫn này tùy theo ý
muốn. Tiếp theo bạn chọn Next



Ở đây nói về việc bạn tạo một biểu tượng cho Thunderbird. Bạn chọn Next.



Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 7

Ở bước này bạn chọn Install để tiến hành cài đặt. Sau khi cài đặt xong Thunderbird sẽ có
cửa sổ sau.



Để tạo một tài khoản mail bạn chọn Create a new account như trên hình vẽ.



Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 8


Cửa sổ Mail Account Setup hiện ra cho phép bạn điền các thông tin cần thiết
 Your name: Bạn điền tên của bạn
 Email address: Bạn điền địa chỉ Email của bạn
 Password: Bạn điền password mail của bạn
Sau đó bạn chọn Continue để tiếp tục.



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à chúng
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. Nếu các bạn check mail
nhiều trên các thiết bị điện thoại hay laptop và bạn chủ yếu dùng web mail hoặc
muốn dùng điện thoại để đồng bộ thư thì hãy dùng IMAP. Ở đây thì tôi dùng
IMAP.
 POP3: Với POP3, email của bạn sẽ được lưu trữ trên mailbox của remote server
cho đến khi bạn check mail, khi bạn 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. Nếu bạn đang dùng
email client trên một máy thường xuyên hoặc một hòm mail đồ sộ hãy dùng POP3
để kiểm soát được dung lượng hòm thư trên server.
Sau đó chọn Create Account. Quá trình tạo một tài khoản mail hoàn tất.

Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 9




2.2 Cài đặt chương trình quản lý khóa Gnu4win
Bạn download từ địa chỉ
Và cài đăt các bước như sau:



Bạn chọn ngôn ngữ để cài đặt mặc định là English bạn chọn OK.

Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 10



Bạn chọn Next để tiếp tục



Ở cửa sổ này hiển thị giấy phép GNU. Bạn chọn Next

Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 11



Chọn các thành phần của GNU. Bạn nên để mặc định và chọn Next



Chọn thư mục để cài đặt và chọn Next


Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 12



Bạn chọn Next sau đó chọn Install là hoàn tất xong quá trình cài đặt Gnu4win.
Bạn vào biểu tượng trên màn hình Dekstop để vào chương trình quản lý
khóa.



Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 13

Đây là giao diện của chương trình quản lý khóa. Bạn cũng có thể vào ở đây để tạo khóa,
quản lý quá và thực hiện chữ ký điện tử. Cái này sẽ nói rõ hơn ở chương trình quản lý
mail client Thunderbird.
2.3 Cài đặt phần mềm hỗ trợ mã hóa Enigmail trên Thunderbird
Để cài đặt phần mềm mở rộng hỗ trợ mã hóa mail, Thunderbird đã tích hợp phần mềm
add-ons Enigmail. Để cài đặt Enigmail bạn phải làm các bước như sau:
Bạn vào Tools → Add-ons



Cửa sổ Add-ons Manager hiện ra, ở thanh công cụ tìm kiếm add-ons bạn gõ vào ký tự
Enigmail để tìm kiếm phần mềm hỗ trợ.

Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 14




Bạn chọn đến Enigmail và chọn Install. Enigmail có đuôi là “XPI”



Quá trình download Enigmail hoàn tất bạ chọn Restart now để khởi động lại Thunderbird

Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 15



Sau khi khởi động lại bạn sẽ thấy trên thanh Menu có thêm thành phần OpenPGP chứng
tỏ bạn đã cài đặt thành công Enigmail.


3. Quản lý khóa
Chú ý: “Ở OpenPGP sẽ cung cấp cho bạn hai khóa là Public Keys, Secret Key và
chứng chỉ thu hồi. Ngoài ra khi bạn tạo Secret Keys và mã hóa với RSA hoặc DSA sẽ yêu
cầu nhập mật khẩu Passphrase, bạn chú ý rằng Passphrase này rất quan trọng, trong
trường hợp bạn mất Passphrase thì không thể giải mã được thông điệp, Passphrase này
buộc bạn phải ghi nhớ và một điều quan trọng nữa là Passphrase này phải được đặt đủ
dài, đủ độ khó. Đối với Secret Keys và chứng chỉ thu hồi bạn không nên lưu vào máy tính
cài đặt mã hóa mail hiện tại mà nên back up vào một nơi nào đó bạn coi là an toàn, đủ tin
cậy, tránh trường hợp mất Secret Keys và chứng chỉ thu hồi. Lúc đó hacker có thể lấy dùng
các công cụ giải mã Passphrase để chiếm quyền Admin của bạn”
3.1 Tạo khóa
Để tạo khóa bạn vào OpenPGP → Key management cửa sổ OpenPGP Key Management

hiện ra.

Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 16



Bước 1: Vào Generate → New Key Pair



Bước 2: Bạn nhập các thông số cần thiết vào cửa sổ Generate OpenPGP Key
Account/User ID: Chính là tài khoản mail của bạn.
Passphrase: Nhập mật khẩu của bạn. Mật khẩu này có thể nhập hoặc không, nếu mà bạn
không muốn nhập thì tích vào ô No passphrase. Nhưng bạn nên nhập vào để đảm bảo an toàn
thông tin, mật khẩu phải đủ độ dài và độ khó.
Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 17

Khuyến cáo đối với Passphrase: Để đảm bảo an toàn thông tin Passphrase cũng giống
như mật khẩu login vào một tài khoản nào đó của bạn, passphrase này chỉ cung cấp một lần.
Nếu như bạn mất Passphare thì bạn không thể sign messages hay giải mã tài liệu. Passphare
bắt buộc bạn phải nhớ, passphrase phải đủ dài, đủ độ khó như nên đặt với chữ hoa, chữ
thường và số. Ngoài ra để thay đổi passphrase bạn có thể nhấp chuột phải vào private key của
mình ở cửa sổ OpenPGP Key Management chọn Change passphrase.
Key expiry: Mặc định của OpenPGP là 5 năm, bạn có thể thay đổi nó. Nếu chọn Key does
not expire thì thời hạn của key là không xác định và bạn không nên chọn Keys có thời hạn
không xác định.
Thẻ Advanced: Để nói về kiểu mã hóa có hai kiểu mã hóa là DSA & EL gamal và RSA. Ở
key size chính là số bít để mã hóa có 3 size là 1024, 2048, 4096. Ở OpenPGP cung cấp hai

kiểu mã hóa bạn nên chọn RSA vì RSA được dùng để mã hóa và tạo chữ ký điện tử, còn
DSA chủ yếu được dùng để ký chữ ký điện tử. Mặc định của của OpenPGP là dùng thuật toán
RSA với key size là 2048.
Khuyến cáo đối với thẻ Advanced: Ở hai thuật toán mã hóa DSA và RSA cung cấp 3
size để mã hóa dữ liệu, nếu bạn muốn gửi tài liệu trong một thời gian ngắn thì bạn nên chọn
1024 bits, nếu bạn dùng để gửi tài liệu trong vòng 1 năm đến 2 năm bạn nên chọn 2048 bits.
Còn nếu bạn sử dụng keys từ 3 năm tới 5 năm bạn nên chọn mã hóa keys cao nhất là 4096
bits. RSA được dùng phổ biến hơn DSA cho nên theo khuyến cáo bạn nên sử dụng thuật toán
RSA để má hóa cho khóa của mình. Nếu bạn chọn số bits càng cao thì quá trình tạo khóa có
thể mất tới vài phút để mã hóa dữ liệu.
Quá trình tạo khóa hoàn tất khi bạn nhấn vào Generate key.


3.2 Tạo chứng chỉ thu hồi (Revocation Certificate)
Mục đích tạo chứng chỉ thu hồi khi bạn không sử dụng cặp khóa nữa hoặc khi bạn bị mất
Secret keys để thu hồi lại khóa bạn đã cấp. Để tạo chứng chỉ thu hồi bạn làm như sau:
Bạn vào cửa sổ OpenPGP Key Managemet bạn chọn Generate
→ Revocation Certificate

lúc đó cửa sổ Create & Save Revocation Certificate hiện lên cho bạn tạo và lưu chứng chỉ thu
hồi.


Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 18

Đuôi mở rộng của Revocation Certificate là “.asc”. Đồng thời có một cửa sổ Pinenty hiện
lên yêu cầu bạn nhập Passphrase. Bạn nhập Passphrase vào




Tiếp theo bạn nhấn Ok thì cửa sổ thông báo quá trình tạo chứng chỉ thu hồi bạn nhấn
Continue để hoàn thành. Bạn vào nơi lưu chứng chỉ thu hồi và xem, một chứng chỉ thu hồi sẽ
có dạng.




Để thu hồi khóa được tạo ra ban làm như sau: Nháy chuột phải vào khóa trên cửa sổ
OpenPGP Key Management và chọn Revoke Key cửa sổ xác nhận hiện lên.


Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 19



Bạn chọn Revoke Key để hoàn thành quá trình thu hồi khóa.

Ví dụ ở đây đã tạo sẵn một khóa Secret Keys có email là sau
khi thực hiện thu hồi khóa được tạo. Dùng mail để test như sau
xem thử khóa có mail là đã bị thu hồi hay chưa. Từ cửa sổ
OpenPGP Keys Management vào Keyserve → Search for Keys



Vào mail của mình và chọn server ban đầu đã upload public keys lên.




Có nhiều keys tạo ra và upload lên trước đó. Chỉ việc chọn vào Key ID thích hợp và ngày
tạo trùng khớp với keys của email check vào và chọn Ok.
Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 20



Hộp thoại này thông báo là đã download được Public keys ở trên server về máy client.



Bạn nhìn vào hình bạn để ý thấy là có màu xám bị mờ đi
chứng tỏ public key này đã được thu hồi và hết hạn sử dụng.

3.3 Tạo Secret Keys và Public Keys
Quá trình tạo khóa hoàn tất. PGP sẽ tạo ra cho bạn một cặp khóa là Public keys và Private
keys (Secret keys). Private keys là khóa riêng bạn phải lưu ở một nơi thật cẩn thận để đảm bảo
an toàn thông tin khóa của mình. Để đảm bảo điều đó bạn nên dùng phần mềm nén lại và đặt
mật khẩu bảo vệ cho khóa. Public keys là khóa mà bạn gửi cho đối tác của bạn dùng để mã
hóa thông điệp gửi đi.

Khuyến cáo đối với Private keys hay còn gọi là Secret keys: OpenPGP cung cấp cho bạn
khóa private keys, sau khi xuất ra một file text có dạng *.asc bạn nên lưu lại cẩn thận. Khi
máy tính của bạn xảy ra sự cố như lỗi windowns phải cài lại windowns mới hay hỏng ổ cứng,
hoặc là để một nơi nào đó không an toàn dễ bị người khác lấy private keys và dùng các công
cụ để giải mã tìm passphrase… Do đó để đảm bảo an toàn thông tin bạn nên back up private
keys vào một nơi nào đó bạn coi là an toàn nhất, được nén lại bằng phần mềm winrar và đặt
mật khẩu giải nén đủ dài và đủ độ khó. Khi bạn nén bằng winrar nếu bạn đăt mật khẩu winrar
khoảng 3-4 ký tự thì chỉ mất vài tiếng là tool dò mật khẩu winrar sẽ dò ra, nếu bạn đặt mật
Tài liệu hướng dẫn sử dụng mã hóa PGP

Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 21

khẩu 7-8 ký tự thì tool này phải dò ít nhất 7 ngày mới dò ra. Do đó bạn nên đặt dài và có độ
khó nhất định. Khi máy hỏng cài lại windowns mới bạn chỉ cần Import Keys from File và
tìm đường dẫn tới file private keys của bạn thế là xong.
Để tạo Private keys bạn làm như sau: Từ cửa sổ OpenPGP Key Management bạn chọn
File → Export Keys to File



Cửa sổ này hỏi bạn có muốn tạo Public keys và Secret Keys không? Bạn chọn Export
Secret keys để tạo Secret keys. Sau đó bạn chọn đường dẫn để lưu Secret Keys ( Bạn phải chú
ý là Secret Keys thực hiện như khuyến cáo)



Loại File được tạo ra có đuôi mở rộng mặc định là “*.asc” bạn chọn Save để lưu lại .

Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 22



Quá trình tạo Public Keys cũng tương tự như Secret Keys vậy
Từ cửa sổ OpenPGP Key Management bạn chọn File
→ Export Keys to File





Sau đó bạn chọn Export Public keys only bạn chọn đường dẫn để lưu nó lại, Nó cũng có
thành phần mở rộng là “*.asc”

Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 23



Bạn tạo xong Public Keys bạn nên gửi cho đối tác của bạn. Từ cửa sổ OpenPGP Key
Management bạn vào File
→ Send public keys by Email


Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 24



Thông tin về Public Keys sẽ được đính kèm vào vào thông điệp gửi đi tới người nhận.
Người nhận chỉ việc Import Public keys vào nữa là có thể thực hiện mã hóa thông điệp.

3.4 Import Public Keys và Upload Public Keys lên Servers
Để thông điệp được mã hóa thì người gửi phải gửi cho cho đối tác public keys của mình,
và đối tác phải nhập public keys (import) vào, dùng public keys của người gửi để mã hóa. Để
import một public keys bạn cần làm như sau:
Từ cửa sổ OpenPGP Key Management bạn vào File
→ Import Key
s From File bạn chọn
đến thư mục chứa Public Keys mà đối tác gửi cho bạn


Tài liệu hướng dẫn sử dụng mã hóa PGP
Trần Anh Đức - Phòng Nghiệp Vụ - VNCERT 25



Sau đó chọn Open, quá trình Import thành công khi có thông báo này hiện lên



Bạn chọn Ok


×