Báo cáo môn Mật mã và An toàn dữ liệu CÔNG NGHỆ PGP 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 đầu tiên là PGP 1.0 do Phil Zimmerman công bố vào năm 1991. Hiện nay PGP đã lên đến bản 8.0.
Trang 1BÁO CÁO
CÔNG NGHỆ PGP
Môn học: Mật mã và An toàn dữ liệu
Giảng viên: PGS.TS Trịnh Nhật Tiến
Học viên: Lê Huy Hoàng
Trang 2Nội dung trình bày
Tổng quan về PGP
Giới thiệu chung
Hoạt động của PGP
Demo mã hóa với PGP
2
Trang 3Giớ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 đầu tiên là PGP 1.0 do Phil Zimmerman công bố vào năm 1991
Hiện nay PGP đã lên đến bản 8.0
Trang 4Hoạ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
Một số ký hiệu:
Ks : Khóa phiên
Pra : private key của user A
Pua: 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
4
Trang 5Bảo mật
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 đó.
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.
Trang 6Xác thực
6
Đầ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.
Trang 7Bảo mật và xác thực
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
Nén:
Mặc định PGP sẽ nén tin nhắn sau khi ký, trước khi mã hóa PGP sử dụng thuật toán nén Zip để nén tin nhắn
Trang 8Các chùm khóa PGP
8
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
Trang 9Quản lý khóa PGP
Trong quá trình mã hóa cũng như kiểm tra chữ ký, khóa công khai được sử dụng phải 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
Trang 10Demo mã hóa với PGP
10