Như bài trước “Mã hóa công khai” ta đã biết mã hóa công khai là mỗi người dùng có một cặp khóa KrA key và KuA , KrA giữ bí mật, còn KuA công khai. Có thể mọi người tự công bố khóa trên các kênh thường tự phát trên Internet.
Hình 1: Trao đổi khóa do giữa các người dùng
Nhưng vấn đề là làm sao để chứng thực được khóa KuA này có phải là của Alice hay của Bob đây? Trudy mạo danh Bob bằng cách lấy khóa KuA của Trudy và nói rằng đó là khóa công khai của Bob.
èDo vậy cá nhân tự bảo vệ mình và rất khó khăn khi xác thực khóa của nhau.
Phương pháp 1: Chứng chỉ khóa công khai do CA phát hành
Một tổ chức làm nhiệm vụ cấp chứng chỉ được gọi là trung tâm chứng thực (Certificate Authority – CA).
Alice muốn được mọi người tin tưởng khóa của Alice cần:
1) Alice gửi định danh IDA và khóa công khai KuA đến CA
2) CA kiểm tra tính hợp lệ của Alice
3) CA cấp chứng chỉ (C) cho Alice để xác nhận rằng khóa công khai Pu đó là tương ứng với ID. Cer được ký chứng thực bằng khóa riêng của trung tâm để đảm bảo rằng nội dung của chứng chỉ là do trung tâm ban hành.
CA = E(IDA|| KuA , KrAuth)
(|| là phép nối dãy bít)
4) Alice công khai chứng chỉ CA
5) Bob muốn trao đổi thông tin với Alice thì sẽ giải mã CA bằng khóa công khai của trung tâm chứng thực để có được khóa công khai Pu của Alice. Nếu Bob tin tưởng CA thì tin Pu của Alice.
Hình 2. Trao đổi khóa công khai dùng CA
Hiện nay mô hình chứng chỉ khóa công khai đang được áp dụng rộng rãi với chuẩn của chứng chỉ là chuẩn X.509. Trên thế giới có khoảng trên 90 tổ chức chứng thực chứng chỉ khóa công khai.
Phương pháp 2: Trao đổi khóa bí mật bằng khóa công khai
Mã hóa khóa công khai có đặc điểm: Thời gian mã hóa và giải mã chậm hơn mã hóa đối xứng.
Để khắc phục đặc điểm này mà vẫn giữ được các đặc tính của bảo mật ta xem sơ đồ sau
Hình 3: Các bước mã hóa giữa A và B với khóa phiên
1) Alice gửi chứng chỉ cho Bob
2) Bob gửi chứng chỉ cho Alice
3) + Alice tạo một khóa phiên KS , mã hóa bằng khóa riêng của Alice, sau đó tiếp tục mã hóa bằng khóa công khai của Bob và gửi tới Bob
+ Bob giải mã KS dùng khóa riêng của Bob và khóa công khai của Alice.
4) Alice mã hóa dữ liệu với khóa phiên Ks và Bob dùng Ks để giải mã
Nhận xét: + Ks là khóa phiên, dùng để mã hóa và giải mã giữa Alice và Bob (đây là phương pháp mã hóa đối xứng), nhưng khóa này được mã hóa bằng mã hóa công khai khi trao đổi khóa. Ks sẽ hủy bỏ khi kết thúc phiên.
+ Mô hình được áp dụng trong giao thức https mà chúng ta sẽ tìm hiểu trong các bài viết tới.
Cảm ơn các bạn đã theo dõi.
Lượt xem (1279)