PGP (Pretty Good Privacy) là phần mềm mã hóa được thiết kế để cung cấp quyền riêng tư, bảo mật và xác thực cho các hệ thống liên lạc trực tuyến. Phil Zimmerman đã tạo ra chương trình PGP đầu tiên và theo ông, nó được công bố rộng rãi do nhu cầu về quyền riêng tư ngày càng tăng.
Kể từ khi được giới thiệu vào năm 1991, nhiều phiên bản phần mềm PGP đã được tạo ra. Năm 1997, Phil Zimmerman đưa ra đề xuất thành lập Lực lượng Đặc nhiệm Kỹ thuật Internet (IETF), một tiêu chuẩn nguồn mở được chấp nhận rộng rãi cho PGP. Đề xuất đã được chấp nhận và dẫn đến việc tạo ra giao thức OpenPGP, xác định các định dạng mã hóa tiêu chuẩn cho khóa và tin nhắn.
Mặc dù PGP ban đầu chỉ được sử dụng để bảo vệ email và các tệp đính kèm trong đó nhưng hiện nay nó được sử dụng rộng rãi hơn, bao gồm chữ ký số, mã hóa toàn bộ ổ đĩa và bảo mật mạng.
PGP ban đầu thuộc sở hữu của PGP Inc, sau này được Network Associates Inc. Năm 2010, Tập đoàn Symantec đã mua PGP với giá 300 triệu USD và thuật ngữ này hiện là nhãn hiệu được sử dụng cho các sản phẩm tương thích OpenPGP của họ.
Làm thế nào nó hoạt động?
PGP là một trong những chương trình phổ biến rộng rãi đầu tiên triển khai mật mã khóa công khai. Nó là một hệ thống mật mã lai sử dụng cả mã hóa đối xứng và bất đối xứng để đạt được mức độ bảo mật cao.
Trong quy trình cơ bản, mã hóa dữ liệu văn bản (có thể dễ hiểu) sẽ chuyển đổi nó thành văn bản mã hóa (dữ liệu không thể đọc được). Nhưng trước khi quá trình mã hóa bắt đầu, hầu hết các hệ thống PGP đều thực hiện nén. Bằng cách nén các tệp văn bản, PGP tiết kiệm dung lượng ổ đĩa và thời gian truyền, đồng thời cải thiện tính bảo mật.
Sau khi tập tin được nén, quá trình mã hóa bắt đầu. Ở giai đoạn này, tệp văn bản nén được mã hóa bằng khóa một lần gọi là khóa phiên. Khóa này được tạo ngẫu nhiên bằng mật mã đối xứng và mỗi phiên PGP có khóa phiên duy nhất của riêng nó.
Khóa phiên (1) sau đó được mã hóa bằng mã hóa bất đối xứng: người nhận dự định (Bob) cung cấp khóa chung (2) của mình cho người gửi tin nhắn (Alice) để cô ấy có thể mã hóa khóa phiên. Bước này cho phép Alice chia sẻ khóa một cách an toàn với Bob qua Internet, bất kể mức độ bảo mật.

Mã hóa khóa phiên bất đối xứng thường được thực hiện bằng thuật toán RSA. Nhiều hệ thống mã hóa khác sử dụng nó, bao gồm giao thức Transport Layer Security (TLS), bảo mật phần lớn Internet.
Sau khi đã nhận được văn bản mã hóa của tin nhắn và khóa phiên được mã hóa, Bob có thể sử dụng khóa riêng (3) của mình để giải mã khóa phiên, sau đó khóa này được sử dụng để giải mã văn bản mã hóa.

Ngoài quá trình mã hóa và giải mã cơ bản, PGP còn hỗ trợ chữ ký số, thực hiện ít nhất ba chức năng:
Xác thực: Bob có thể xác minh rằng người gửi tin nhắn là Alice;
Tính toàn vẹn: Bob có thể tin tưởng rằng thông điệp còn nguyên vẹn;
Chống chối bỏ: Khi một tin nhắn được ký điện tử, Alice sẽ không thể khẳng định rằng cô ấy không gửi nó.
Tùy chọn ứng dụng
Một trong những ứng dụng phổ biến nhất của PGP là bảo mật email. Một tin nhắn được bảo vệ bằng PGP sẽ biến thành một chuỗi ký tự không thể đọc được (bản mã) và chỉ có thể được giải mã bằng khóa thích hợp. Để bảo mật tin nhắn, cơ chế bảo mật về cơ bản là giống nhau và cũng có những ứng dụng phần mềm cho phép bạn triển khai PGP trên các ứng dụng khác, tích hợp hiệu quả mã hóa vào các dịch vụ nhắn tin không an toàn.
Mặc dù PGP được thiết kế chủ yếu để bảo mật thông tin liên lạc trên Internet nhưng nó cũng có thể được sử dụng để mã hóa các thiết bị riêng lẻ. Trong trường hợp này, chương trình có thể được áp dụng cho các phân vùng đĩa trên PC hoặc thiết bị di động. Khi mã hóa ổ cứng, người dùng sẽ phải cung cấp mật khẩu mỗi khi hệ thống khởi động.
Ưu điểm và nhược điểm
Thông qua việc sử dụng kết hợp mã hóa đối xứng và bất đối xứng, PGP cho phép người dùng trao đổi thông tin và khóa mật mã một cách an toàn qua Internet. Là một hệ thống lai, PGP có ưu điểm về cả tính bảo mật của mật mã bất đối xứng và tốc độ mã hóa đối xứng. Ngoài những lợi ích này, PGP còn triển khai chữ ký số để đảm bảo tính toàn vẹn dữ liệu và tính xác thực của người gửi.
Giao thức OpenPGP đã tạo ra một môi trường cạnh tranh được tiêu chuẩn hóa và các giải pháp PGP hiện được cung cấp bởi một số công ty và tổ chức. Tuy nhiên, tất cả các chương trình PGP tuân thủ tiêu chuẩn OpenPGP đều tương thích với nhau. Điều này có nghĩa là các tệp và khóa được tạo trong một chương trình có thể được sử dụng trong chương trình khác mà không gặp bất kỳ sự cố nào.
Về nhược điểm, hệ thống PGP không dễ sử dụng và dễ hiểu, đặc biệt đối với người dùng có kỹ năng kỹ thuật yếu. Ngoài ra, độ dài lớn của khóa công khai được nhiều người coi là bất tiện.
Năm 2018, Electronic Frontier Foundation (EFF) đã công bố một lỗ hổng lớn có tên EFAIL. Sự cố này cho phép tin tặc sử dụng nội dung HTML hoạt động trong email được mã hóa để có quyền truy cập vào phiên bản đã giải mã của thư.
Tuy nhiên, một số vấn đề được mô tả trong EFAIL đã được cộng đồng người dùng PGP biết đến từ cuối những năm 1990 và trên thực tế, lỗ hổng này nằm ở các cách triển khai khác nhau của ứng dụng email chứ không phải ở chính PGP. Vì vậy, bất chấp những tiêu đề đáng báo động và gây hiểu lầm, PGP vẫn có tính bảo mật cao.
Phần kết luận
Kể từ khi thành lập vào năm 1991, PGP đã là một công cụ quan trọng để bảo vệ dữ liệu và hiện được sử dụng trong hầu hết các ứng dụng, cung cấp quyền riêng tư, bảo mật và xác thực cho hệ thống truyền thông và nhà cung cấp dịch vụ kỹ thuật số.
Mặc dù tiết lộ năm 2018 về EFAIL đã làm dấy lên mối lo ngại nghiêm trọng về khả năng tồn tại của giao thức, nhưng công nghệ cơ bản vẫn được coi là an toàn và ổn định về mặt mật mã. Điều đáng lưu ý là việc triển khai PGP khác nhau có thể có mức độ bảo mật khác nhau.
