Học viên: Nguyễn Thị Huyền - K16HTTT
Hạ tầng khóa công khai thực hiện các chức năng sau:
- Tạo cặp khóa bí mật/công khai phục vụ việc tạo và xác thực chữ ký số. - Cung cấp tính xác thực để kiểm soát việc truy cập đến khóa bí mật. - Tạo và cấp giấy chứng nhận xác thực ngƣời dùng.
- Đăng ký cho ngƣời dùng mới phục vụ công việc xác thực. - Lƣu trữ lịch sử các khóa để tham chiếu trong tƣơng lai. - Thu hồi chứng thƣ không hợp lệ.
- Cập nhập và cấp phát lại khóa khi có yêu cầu đƣợc chấp nhận. - Cung cấp cách thức hoạt động cho khóa hợp lệ [2].
2.3.2. Cách thức hoạt động của PKI
Để thực hiện công việc của mình PKI cần thực hiện các bƣớc sau: 1. Tạo cặp khóa công khai.
2. Ứng dụng chữ ký số để xác thực ngƣời gửi. 3. Mã hóa thông điệp.
4. Chuyển giao khóa đối xứng[2].
2.3.2.1 Khởi tạo cặp khóa
Đây là bƣớc đầu tiên trong quá trình làm việc của PKI. Ngƣời dùng muốn mã hóa hoặc gửi thông điệp thì trƣớc hết cần khởi tạo cặp khóa. Khởi tạo cặp khóa sinh ra khóa công bí mật và khóa công khai. Cặp khóa này là duy nhất đối với mỗi ngƣời dùng. Trong trƣờng hợp chủ sở hữu muốn thực hiện giao dịch điện tử thì sử dụng khóa bí mật để ký lên dữ liệu rồi gửi cho ngƣời nhận, ngƣời nhận sử dụng khóa công khai của ngƣời gửi thẩm tra chữ ký của họ và bất cứ ai cũng có thể thẩm tra đƣợc chữ ký của ngƣời gửi nếu chứng thƣ số của họ đƣợc công bố công khai. Trong trƣờng hợp ngƣời khác muốn mã hóa thông tin rồi gửi cho chủ sở hữu cặp khóa đó thì sử dụng khóa công khai của họ để mã hóa thông điệp sau đó mới gửi cho họ, khi nhận đƣợc thông điệp đã đƣợc mã hóa thì ngƣời nhận sẽ dùng khóa bí mật của mình để giải mã và chỉ chủ sở hữu cặp khóa mới có thể giải mã đƣợc thông điệp đƣợc ký bằng khóa công khai của mình[2].
2.3.2.2. Tạo chữ ký số
Chữ ký số đƣợc gắn với thông điệp đƣợc mã hóa để xác thực ngƣời gửi. Chữ ký số cũng có tính pháp lý nhƣ chữ ký tay. Chủ sở hữu phải chịu trách nhiệm về chữ ký số của mình trƣớc pháp luật. Chữ ký số đƣợc tạo ra từ thông điệp và khóa bí mật của bên gửi. Để tạo chữ ký số cần thực hiện các bƣớc sau:
Học viên: Nguyễn Thị Huyền - K16HTTT
1. Chuyển đổi thông điệp gốc sang một chuỗi bit có chiều dài cố định gọi là đại diện của thông điệp. Việc chuyển đổi này đƣợc thực hiển bởi một hàm băm.
2. Mã hóa đại diện của thông điệp bằng khóa bí mật của ngƣời gửi thu đƣợc chữ ký số của ngƣời gửi.
3. Gắn chữ ký này cùng với thông điệp gốc.
2.3.2.3. Mã hóa thông điệp
Sau khi tạo đƣợc chữ ký số để đảm bảo tính bảo mật có thể sử dụng phƣơng pháp mã hóa. Việc mã hóa thông điệp gốc và chữ ký số có thể sử dụng mã hóa khóa đối. Khóa đƣợc chia sẻ đối với cả ngƣời gửi và ngƣời nhận và chỉ sử dụng trong một lần đối với việc mã hóa và giải mã[2].
2.3.2.4. Truyền khóa đối xứng
Khi sử dụng phƣơng pháp mã hóa khóa đối xứng thì ngoài việc gửi thông điệp và chữ ký số đã đƣợc mã hóa ngƣời gửi còn phải gửi cho ngƣời nhận khóa đối xứng để giải mã thông tin nhận đƣợc. Trƣờng hợp này có nguy cơ lộ thông tin trên đƣờng truyền. Nếu có kẻ gian đánh cắp đƣợc thông tin về khóa đối xứng có thể giải mã đƣợc thông điệp. Khi đó thông tin sẽ bị tiết lộ, không đảm bảo tính bảo mật thông tin. Để khắc phục tình trạng này ngƣời gửi có thể sử dụng khóa công khai của ngƣời nhận để mã hóa khóa đối xứng trƣớc khi gửi cho ngƣời nhận. Chỉ ngƣời nhận mới có thể giải mã đƣợc khóa đối xứng đã đƣợc mã hóa này. Nhƣ vậy ngƣời gửi sẽ gửi thông điệp, chữ ký số đã đƣợc mã hóa bằng khóa đối xứng và khóa đối xứng đã đƣợc mã hóa bằng khóa công khai của ngƣời nhận [2].
2.3.2.5. Xác nhận thực thể ký bởi một tổ chức CA
CA hoạt động nhƣ một bên thứ ba đáng tin cậy để xác định danh tính của các bên tham gia giao dịch điện tử. Khi ngƣời nhận nhận đƣợc một thông điệp đƣợc mã hóa cùng với chữ ký số có thể hỏi CA để xác minh chữ ký số đi kèm thông điệp. Khi nhận đƣợc yêu cầu CA sẽ tiến hành thẩm tra, CA sẽ đảm bảo rằng đó có phải là chữ ký số của ngƣời muốn xác minh hay không.
2.3.2.6. Giải mã thông điệp và xác định nội dung thông điệp
Khi ngƣời nhận nhận đƣợc thông điệp đã đƣợc mã hóa cần phải giải mã thông điệp. Thông điệp đã mã hóa có thể cần phải giải mã bằng khóa đối xứng đã đƣợc mã hóa gửi kèm thông điệp. Trƣớc khi giải mã thông điệp phải giải mã
Học viên: Nguyễn Thị Huyền - K16HTTT
khóa đối xứng đã đƣợc mã hóa bằng khóa bí mật của ngƣời nhận. Khóa đối xứng sau khi đƣợc giải mã sẽ dùng để giải mã thông điệp đã đƣợc mã hóa. Chữ ký số đi cùng thông điệp sẽ đƣợc giải mã bằng khóa công khai của ngƣời nhận tạo ra một đại diện của thông điệp D1. Thông điệp sau khi đƣợc giải mã sẽ đƣợc băm lại tạo ra đại diện thứ hai D2. So sánh hai đại diện D1 và D2, nếu cả hai trùng khớp chứng tỏ thông tin không bị thay đổi trên đƣờng truyền.
Ngoài việc cung cấp tính năng bảo mật, PKI còn đảm bảo độ tin cậy và tính pháp lý cho thông tin điện tử. Dù là giao dịch điện tử hay vật lý để đảm bảo tính pháp lý các giao dịch đều phải đảm bảo các tiêu chí sau:
- Chống chối bỏ: Tất cả các thực thể liên quan đến giao dịch đều không thể chối bỏ là một phần của giao dịch.
- Bảo mật đƣờng truyền: Cần có một cơ chế thích hợp đảm bảo an ninh của thông điệp trên đƣờng truyền. Bất cứ sự giả mạo hay chỉnh sửa nào của thông điệp đều phát hiện ra.
- Đảm bảo tính riêng tƣ: Bất cứ sự truy cập trái phép nào vào thông điệp đều bị từ chối.
- Đảm bảo xác thực: Các bên tham gia đều biết danh tính của nhau để kiểm tra tính xác thực.
- Đảm bảo thực thi: Các giao dịch phải đƣợc kiểm chứng và đƣợc ký bởi tất cả các bên tham gia[2].
2.4. Tiến trình trong PKI
PKI có thể đảm bảo cho các ứng dụng đạt đƣợc các yêu cầu bảo mật chính là: Bảo mật, xác thực, toàn vẹn và chống chối bỏ. Mỗi tiến trình trong PKI đều hoàn thành các yêu cầu trên.
2.4.1. Yêu cầu cấp chứng thƣ số
Để đƣợc cấp chứng thƣ số khách hàng cần gửi yêu cầu tớ một tổ chức CA. Có nhiều tiêu chuẩn để gửi yêu cầu trong đó phổ biến là PKCS#10. Yêu cầu cấp chứng thƣ số bao gồm các nội dung sau:
- Tên riêng của tổ chức CA.
- Khóa công khai của ngƣời dùng. - Thuật toán xác thực.
Học viên: Nguyễn Thị Huyền - K16HTTT
Chữ ký số đƣợc tạo bởi khóa bí mật của ngƣời dùng. Nó đƣợc coi nhƣ là một bằng chứng pháp lý. Ngƣời dùng gửi yêu cấp cấp chứng thƣ số theo chuẩn PKCS thông qua một kênh bảo mật. Nếu kênh truyền không bảo mật ngƣời dùng có thể lấy khóa công khai của CA để mã hóa yêu cầu cấp chứng thƣ trƣớc khi gửi[2].
2.4.2. Gửi yêu cầu
Ngƣời dùng gửi yêu cầu cấp chứng thƣ số đến tổ chức CA theo định dạng PEM (Privacy Enhanced Mail). Yêu cầu cấp chứng thƣ số phải tổ chức theo định dạng PEM vì yêu cầu ban đầu đƣợc tạo ra dƣới dạng nhị phân. Dạng nhị phân không thể truyền dƣới dạng email. Do đó thông điệp nhị phân đƣợc chuyển sang định dạng PEM dựa trên mã ASCII. Với chữ ký số trong yêu cầu cấp chứng thƣ số, CA có thể chắc chắn rằng ngƣời dùng có một khóa bí mật tƣơng ứng với khóa công khai. Do đó ngƣời dùng có bằng chứng về sở hữu cặp khóa.
Ngƣời dùng cũng có thể gửi yêu cầu cấp chứng thƣ thông qua một trình duyệt web. Trong trƣờng hợp này chuẩn PKCS#10 sử dụng SSL. Ngƣời dùng tạo một kết nối SSL tới một máy chủ chứng thƣ số và truyền yêu cầu cấp chứng thƣ số thông qua một kênh truyền bảo mật [2].
2.4.3. Các chính sách
Chính sách bảo mật xác định hƣớng tổ chức về định dạng chung trong bảo mật thông tin, quy trình xử lý và nguyên tắc mã hóa. Nó quy định cách thức quản lý khóa bí mật và khóa công khai cũng nhƣ các thông tin khác chẳng hạn nhƣ mức độ kiểm soát yêu cầu để quản lý các yếu tố về nguy cơ bảo mật.
Một số hệ thống PKI đƣợc thực hiện bởi bên thứ ba đáng tin cậy đƣợc gọi là bộ phận thẩm định chứng thƣ số thƣơng mại. Do đó cần có một yêu cầu hành nghề chứng thực bao gồm các nội dung về thủ tục hoạt động. Bộ phận thẩm định chứng thƣ số thƣơng mại xác định các chính sách đƣợc thực thi và hỗ trợ nhƣ thế nào, chứng thƣ số đƣợc cấp phát, chấp nhận và thu hồi ra sao, các khóa đƣợc tạo, đăng ký và xác thực nhƣ thế nào. Bộ phận này cũng xác định phạm vi của các khóa và làm thế nào để có thể đáp ứng đƣợc yêu cầu của ngƣời dùng[2].
2.4.4. Thu hồi chứng thƣ số
Mỗi chứng thƣ số đều có thời hạn hợp lý. Thời hạn này đƣợc tính từ ngày cấp chứng thƣ số tới ngày hết hạn chứng thƣ số. Khi hết thời hạn này chứng thƣ số không còn đƣợc sử dụng tiếp và sẽ bị thu hồi. Trong một số trƣờng hợp khi
Học viên: Nguyễn Thị Huyền - K16HTTT
chƣa hết hạn chứng thƣ số cũng bị thu hồi chẳng hạn nhƣ thông tin khóa bí mật của chứng thƣ số bị lộ dẫn đến nguy cơ không còn bảo mật hoặc có thể do yêu cầu của khách hàng không muốn sử dụng chứng thƣ số nữa… Tuy nhiên cũng có trƣờng hợp hết hạn sử dụng chứng thƣ số nhƣng chứng thƣ số vẫn đƣợc sử dụng nếu nhƣ ngƣời dùng có nhu cầu gia hạn chứng thƣ số [2].
2.4.5. Thông báo thu hồi chứng thƣ số
Khi một chứng thƣ số bị thu hồi cần phải công bố công khai điều này để mọi ngƣời biết tránh việc vẫn sử dụng khóa công khai của chứng thƣ số đó để xác thực thông tin. Thông tin về các chứng thƣ số bị thu hồi có thể đăng tải trên một máy chủ chứng thƣ số để cảnh báo ngƣời dùng sử dụng thông tin về các chứng thƣ số này. Một cách thông dụng khác đƣợc sử dụng đó là công bố danh sách chứng thƣ số thu hồi. Để danh sách chứng thƣ số không quá dài các chứng thƣ số bị thu hồi khi đến ngày hết hạn sử dụng sẽ bị xóa khỏi danh sách. CA cập nhật danh sách này liên tục đảm bảo ngăn chặn việc sử dụng chứng thƣ số sau khi bị thu hồi và trƣớc khi đƣợc công bố [2].
2.4.6. Truyền thông giữa khách hàng với khách hàng thông qua PKI
Khi hai hoặc nhiều khách hàng muốn truyền thông an toàn cùng nhau, họ cần xác nhận lẫn nhau và đám phán về việc mã hóa, xác thực và thuật toán tích hợp dữ liệu. Các giao thức đƣợc sử dụng gồm:
- ISAKMP( Internet Security Association and Key Management Protocol). - IKE(Internet Key Exchange)
- Oakley - Skeme
2.5. Các dịch vụ của PKI 2.5.1. Các dịch vụ cốt lõi 2.5.1. Các dịch vụ cốt lõi 2.5.1.1. Dịch vụ xác thực
- Dịch vụ xác thực giúp cho ngƣời dùng biết đƣợc thực thể nào đó có đúng là thực thể mà họ đang muốn xác nhận hay không. Dịch vụ này thực hiện hai nhiệm vụ chính:
+ Xác định thực thể.
+ Xác định nguồn gốc dữ liệu. - Dịch vụ xác thực bao gồm hai loại:
Học viên: Nguyễn Thị Huyền - K16HTTT
+ Xác thực cục bộ: Xác thực một thực thể với môi trƣờng cục bộ và luôn đòi hỏi ngƣời dùng tham gia trực tiếp.
+ Xác thực từ xa: Xác thực một thực thể với môi trƣờng ở xa và có khi không cần tới sự tham gia trực tiếp của ngƣời sử dụng nên khó bảo vệ dữ liệu nhạy cảm và không thuận tiện cho ngƣời dùng khi nhập vào thông tin xác thực nhiều lần.
- Có bốn nhân tố chính trong việc xác định một định danh: + Ngƣời dùng có cái gì ? (Thẻ thông minh, thẻ bài…) + Ngƣời dùng biết cái gì? (Mật khẩu)
+ Ngƣời dùng sở hữu cái riêng có gì? (vân tay, mống mắt…) + Ngƣời dùng thực hiện cái gì?
Có thể lựa chọn một trong số các nhân tố trên hoặc kết hợp nhiều nhân tố với nhau để định danh.
Thông thƣờng xác thực cục bộ một hay nhiều nhân tố không sử dụng dịch vụ PKI còn xác thực với môi trƣờng ở xa thƣờng sử dụng dịch vụ PKI.
- Xác thực từ xa không dựa trên PKI do hai khả năng:
+ Ngƣời dùng cần xác thực tƣờng minh với môi trƣờng ở xa.
+ Việc chứng minh xác thực ở môi trƣờng cục bộ cần đƣợc chuyển tới môi trƣờng ở xa.
Nhƣng trong cả hai trƣờng hợp thì khả năng kênh liên lạc giữa hai môi trƣờng cần đƣợc bảo vệ (ví dụ phân phối trƣớc khóa dùng chung).
- Xác thực từ xa dựa trên PKI mang lại hai lợi ích sau:
+ Giảm đƣợc sự phức tạp của việc phân phối trƣớc khóa dùng cung. + Dữ liệu xác thực nhạy cảm không cần phải truyền trên mạng [2].
2.5.1.2. Dịch vụ toàn vẹn dữ liệu
Dịch vụ toàn vẹn dữ liệu đảm bảo dữ liệu không bị thay đổi, nếu có thay đổi thì sẽ bị phát hiện. Để đảm bảo tính toàn vẹn dữ liệu, một hệ thống phải có khả năng phát hiện đƣợc những thay đổi dữ liệu trái phép nhằm mục đích là giúp cho ngƣời nhận dữ liệu xác minh đƣợc rằng dữ liệu không bị thay đổi. Trong dịch vụ toàn vẹn dữ liệu thƣờng sử dụng các kỹ thuật mật mã và có sự thỏa thuận về các thuật toán mã hóa, giải mã và khóa thích hợp giữa hai bên. Các kỹ thuật mật mã bao gồm:
Học viên: Nguyễn Thị Huyền - K16HTTT
- Chữ ký số: Nếu dữ liệu bị thay đổi, khi kiểm tra chữ ký số sẽ không đúng. Vì vậy việc mất tính toàn vẹn của dữ liệu dễ bị phát hiện.
- Mã xác thực thông điệp MAC (Message Authentication Code): Kỹ thuật này thƣờng sử dụng mật mã khóa đối xứng và hàm băm.
Khi A muốn gửi cho B dữ liệu đƣợc đảm bảo tính toàn vẹn, A có thể thực hiện các công việc sau:
- Tạo khóa đối xứng mới.
- Sử dụng khóa đối xứng để sinh MAC cho dữ liệu. - Mã hóa khóa đối xứng bằng khóa công khai của B. - Gửi dữ liệu cho B cùng với khóa đƣợc mã hóa.
Nếu B có khóa công khai (chẳng hạn khóa công khai Diffie-Hellman), A có thể thực hiện các công việc sau:
- Tạo khóa đối xứng mới từ khóa công khai của B và khóa bí mật của mình.
- Sử dụng khóa đối xứng để sinh MAC cho dữ liệu.
- Gửi dữ liệu cho B cùng với chứng thƣ khóa công khai của mình.
Sau khi nhận đƣợc dữ liệu từ A, B tạo lại khóa đối xứng, sử dụng khóa công khai của A, khóa bí mật của mình để kiểm tra tính toàn vẹn [2].
2.5.1.3. Dịch vụ bí mật
Dịch vụ bí mật nhằm đảm bảo tính bí mật của dữ liệu tức là không ai có thể đọc đƣợc dữ liệu ngoại trừ ngƣời có quyền. Các dữ liệu nhạy cảm đều cần đƣợc bảo mật.
Tính bảo mật thƣờng đƣợc yêu cầu khi:
- Dữ liệu đƣợc lƣu truyền trên phƣơng tiện dễ bị đọc bởi ngƣời dùng không đƣợc quyền.
- Dữ liệu đƣợc lƣu trên thiết bị có thể bị rơi vào tay những ngƣời không đƣợc phép.