PGP là viết tắt của Quyền riêng tư khá tốt. Đây 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 là cái tên đằng sau chương trình PGP đầu tiên, theo ông, chương trình này được cung cấp miễn phí do nhu cầu riêng tư ngày càng tăng của xã hội.
Kể từ khi được thành lập 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 với Lực lượng Đặc nhiệm Kỹ thuật Internet (IETF) về việc tạo ra một tiêu chuẩn PGP nguồn mở. Đề 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 tiêu chuẩn cho khóa và tin nhắn mã hóa.
Mặc dù ban đầu chỉ được sử dụng để bảo vệ email và tệp đính kèm, PGP hiện được áp dụng cho nhiều trường hợp sử dụng khác nhau, bao gồm chữ ký số, mã hóa toàn bộ ổ đĩa và bảo vệ mạng.
PGP ban đầu thuộc sở hữu của công ty PGP Inc, sau đó được Network Associates Inc. mua lại. Năm 2010, Symantec Corp. đã mua lại 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 với OpenPGP của họ.
Làm thế nào nó hoạt động?
PGP là một trong những phần mềm có sẵ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 mã hóa văn bản cơ bản, văn bản thuần túy (dữ liệu có thể hiểu rõ ràng) được chuyển đổi thành văn bản mật mã (dữ liệu không thể đọc được). Nhưng trước khi quá trình mã hóa diễn ra, hầu hết các hệ thống PGP đều thực hiện nén dữ liệu. Bằng cách nén các tệp văn bản thuần túy trước khi truyền chúng, 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 nén tập tin, quá trình mã hóa thực sự bắt đầu. Ở giai đoạn này, tệp văn bản gốc được nén được mã hóa bằng khóa một lần, được 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 giao tiếp PGP có một khóa phiên duy nhất.
Sau đó, khóa phiên (1) đượ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) để anh ta có thể mã hóa khóa phiên. Bước này cho phép Alice chia sẻ khóa phiên với Bob một cách an toàn qua Internet, bất kể điều kiện bảo mật.

Mã hóa bất đối xứng của khóa phiên thường được thực hiện bằng cách sử dụng thuật toán RSA. Nhiều hệ thống mã hóa khác sử dụng RSA, bao gồm giao thức Bảo mật lớp vận chuyển (TLS) bảo vệ phần lớn Internet.
Sau khi bản mã của tin nhắn và khóa phiên đã mã hóa được truyền đi, 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 trở lại bản rõ.

Ngoài quá trình mã hóa và giải mã cơ bản, PGP còn hỗ trợ chữ ký số, phục vụ í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ể chắc chắn rằng tin nhắn không bị sửa đổi.
Chống chối bỏ: Sau khi tin nhắn được ký điện tử, Alice không thể khẳng định rằng cô ấy không gửi nó.
Trường hợp sử dụng
Một trong những ứng dụng phổ biến nhất của PGP là bảo vệ email. Một email được bảo vệ bằng PGP được chuyển đổi thành một chuỗi ký tự không thể đọc được (bản mã) và chỉ có thể giải mã được bằng khóa giải mã tương ứng. Các cơ chế hoạt động phần lớn giống nhau để bảo vệ tin nhắn văn bản và cũng có một số ứng dụng phần mềm cho phép triển khai PGP trên các ứng dụng khác, bổ sung hệ thống mã hóa cho các dịch vụ nhắn tin không bảo mật.
Mặc dù PGP chủ yếu được sử dụng để bảo mật thông tin liên lạc trên Internet nhưng nó cũng có thể được áp dụng để mã hóa các thiết bị riêng lẻ. Trong bối cảnh này, PGP có thể được áp dụng cho các phân vùng đĩa của máy tính hoặc thiết bị di động. Khi bạn mã hóa ổ cứng, người dùng 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
Nhờ 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 chia sẻ 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 hưởng lợi từ 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 tính bảo mật và tốc độ, chữ ký số còn đả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 cho phép xuất hiện 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 nhiều công ty và tổ chức khác nhau. 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 vấn đề gì.
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ó ít kiến thức kỹ thuật. Ngoài ra, nhiều người cho rằng độ dài của khóa công khai khá 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. EFAIL giúp kẻ tấn công có thể khai thác nội dung HTML đang hoạt động trong email được mã hóa để có quyền truy cập vào các phiên bản văn bản gốc của thư.
Tuy nhiên, một số mối lo ngại được EFAIL mô tả đã được cộng đồng PGP biết đến từ cuối những năm 1990 và trên thực tế, các lỗ hổng này liên quan đến việc triển khai các ứng dụng email khác nhau chứ không liên quan đến 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 không bị hỏng và vẫn có độ an toàn cao.
Tóm lại là
Kể từ khi được phát triển vào năm 1991, PGP đã là một công cụ thiết yếu để bảo vệ dữ liệu và hiện được sử dụng trong nhiều ứng dụng, cung cấp quyền riêng tư, bảo mật và xác thực cho các hệ thống truyền thông và nhà cung cấp dịch vụ kỹ thuật số khác nhau.
Mặc dù việc phát hiện ra lỗ hổng EFAIL năm 2018 đã làm dấy lên mối lo ngại đáng kể về khả năng tồn tại của giao thức, nhưng công nghệ cốt lõi vẫn được coi là mạnh mẽ và có tính mã hóa. Điều đáng chú ý là việc triển khai PGP khác nhau có thể có các mức độ bảo mật khác nhau.

