1. PGP là gì?
PGP là từ viết tắt của Pretty Good Privacy (Bảo mật rất mạnh). Đây là một phần mềm mã hóa được thiết kế để đảm bảo tính riêng tư, bảo mật và xác thực cho các hệ thống truyền thông trực tuyến. Theo ông Phil Zimmerman - cái tên đứng sau chương trình PGP đầu tiên thì chương trình này được cung cấp miễn phí do nhu cầu ngày càng cao của xã hội về quyền riêng tư.
Mặc dù ban đầu PGP chỉ được tạo ra để sử dụng cho việc bảo mật các email và tệp đính kèm nhưng hiện tại PGP đã được sử dụng cho nhiều ứng dụng khác nhau, bao gồm chữ ký số, mã hóa toàn bộ đĩa và bảo vệ mạng.
Ban đầu công ty PGP Inc. là chủ sở hữu của PGP, sau đó Network Associates Inc. đã mua lại nó. Vào năm 2010, Symantec Corp đã mua lại PGP với giá 300 triệu đô la, và hiện sử dụng nhãn hiệu này cho các sản phẩm tuân thủ giao thức OpenPGP của họ.
Có thể bạn chưa biết: Yubikey là gì? Chìa khoá bảo mật không thể thiếu trong crypto
2. Cách thức hoạt động của PGP
PGP là một trong những phần mềm được cung cấp 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ã kết hợp, sử dụng cả mã hóa đối xứng và mã hóa bất đối xứng để bảo đảm mức độ bảo mật cao.
Trong một quy trình mã hóa văn bản cơ bản, văn bản thuần túy được chuyển đổi 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 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 gửi chúng, PGP tiết kiệm cả không gian đĩa và thời gian gửi, đồng thời còn cải thiện tính bảo mật.
Quá trình mã bắt đầu sau khi tệp được nén. Ở giai đoạn này, các tệp văn bản thuần túy đã nén được mã hóa bằng khóa sử dụng một lần, hay còn gọi là khóa phiên. Khóa này được tạo ngẫu nhiên thông qua việc sử dụ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.
Tiếp theo, chính khóa phiên (1) được mã hóa bằng mã hóa bất đối xứng: người nhận (Bob) sẽ cung cấp khóa công khai (2) của mình cho người gửi tin nhắn (Julie) để cô ấy có thể mã hóa khóa phiên. Bước này cho phép Julie chia sẻ khóa phiên cho Simon một cách an toàn thông qua Internet, bất kể tình trạng bảo mật.
Việc mã hóa bất đối xứng của khóa phiên thường được thực hiện thông qua việc 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 TLS (Transport Layer Security) - một phương thức bảo mật được sử dụng nhiều trên Internet.
Sau khi văn bản mã hóa của tin nhắn và khóa phiên mã hóa được gửi đi, Simon có thể sử dụng khóa riêng (3) của mình để giải mã khóa phiên, sau đó khóa phiên này được sử dụng để giải mã văn bản mã hóa trở lại văn bản gốc.
Ngoài quy trình mã hóa và giải mã cơ bản, PGP còn hỗ trợ chữ ký số, tính năng này có ít nhất ba chức năng:
- Xác thực: Trí có thể xác minh rằng người gửi tin nhắn là Linh .
- Tính toàn vẹn: Trí có thể chắc chắn rằng thông điệp được giữ nguyên, không bị thay đổi.
- Đảm bảo người gửi không thể thoái thác: sau khi tin nhắn được ký điện tử, Julie không thể khẳng định rằng cô ấy chưa gửi nó.
3. Các ứ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. PGP chuyển email mà nó bảo vệ thành một chuỗi các ký tự không thể đọc được và chỉ có thể được giải mã nếu có khóa giải mã tương ứng. Trên thực tế, việc bảo mật các tin nhắn văn bản cũng sử dụng cơ chế tương tự và cũng có một số ứng dụng phần mềm cho phép PGP được triển khai bên trên các Ứng dụng khác, nghĩa là bổ sung thêm một hệ thống mã hóa vào các dịch vụ nhắn tin không bảo mật.
4. Ư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ã qua Internet một cách an toàn. Là một hệ thống kết hợp, PGP còn có tính bảo mật của mật mã bất đối xứng và tốc độ của mã hóa đối xứng. Ngoài bảo mật và tốc độ, tính năng chữ ký số đảm bảo tính toàn vẹn của 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à hiện tại nhiều công ty và tổ chức cung cấp các giải pháp PGP. Tuy nhiên, tất cả các chương trình PGP tuân thủ các tiêu chuẩn OpenPGP đều tương thích với nhau. Điều này có nghĩa là một chương trình có thể sử dụng các tệp và khóa tạo bởi một chương trình khác mà không có vấn đề gì xảy ra.
Hệ thống PGP có nhược điểm đó là không dễ sử dụng, đặc biệt là đố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 các khóa công khai gây nhiều bất tiện.
Năm 2018, Electronic Frontier Foundation (EFF) đã xuất bản về một lỗ hổng lớn gọi là EFAIL. Lỗ hổng EFAIL cho phép kẻ tấn công khai thác nội dung HTML đang hoạt động trong các email được mã hóa để giành quyền truy cập vào các phiên bản văn bản gốc của thông điệp.
Tuy nhiên, cộng đồng PGP đã biết về một số mối lo ngại được mô tả bởi EFAIL từ cuối những năm 1990 và trên thực tế, các lỗ hổng này được tạo ra từ các cách triển khai khác nhau từ phía máy khách email chứ không phải do PGP. Vì vậy, mặc dù có nhiều tiêu đề gây lo lắng và hiểu lầm nhưng PGP vẫn không bị biến chất và vẫn tiếp tục được xem là một phương thức bảo mật cao.
5. Kết luận
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 khác nhau, cung cấp sự riêng tư, tính bảo mật và xác thực cho một số hệ thống truyền thông và còn là nhà cung cấp dịch vụ kỹ thuật số.
Mặc dù PGP phát hiện năm 2018 về lỗ hổng EFAIL đã gây ra những lo ngại đáng kể về khả năng tồn tại của giao thức, công nghệ cốt lõi này vẫn được coi là mạnh mẽ và hợp lý về mặt mật mã. Điều đáng chú ý là các cách triển khai PGP khác nhau sẽ có thể mang đến các mức độ bảo mật khác nhau.
Đọc thêm: