Cloud token PKCS#11 - huyền thoại hay hiện thực?

PKCS#11 (Cryptoki) là tiêu chuẩn do Phòng thí nghiệm RSA phát triển để tương tác các chương trình với mã thông báo mật mã, thẻ thông minh và các thiết bị tương tự khác sử dụng giao diện lập trình hợp nhất được triển khai thông qua các thư viện.

Tiêu chuẩn PKCS#11 cho mật mã Nga được hỗ trợ bởi ủy ban tiêu chuẩn hóa kỹ thuật “Bảo vệ thông tin mật mã” (TK 26).

Nếu chúng ta nói về các mã thông báo hỗ trợ mật mã Nga, thì chúng ta có thể nói về mã thông báo phần mềm, mã thông báo phần cứng-phần mềm và mã thông báo phần cứng.

Mã thông báo mật mã cung cấp cả khả năng lưu trữ chứng chỉ và cặp khóa (khóa chung và khóa riêng) cũng như hiệu suất của các hoạt động mã hóa theo tiêu chuẩn PKCS#11. Liên kết yếu ở đây là việc lưu trữ khóa riêng. Nếu khóa chung bị mất, bạn luôn có thể khôi phục nó bằng khóa riêng hoặc lấy nó từ chứng chỉ. Việc mất/hủy khóa riêng sẽ gây ra hậu quả nghiêm trọng, chẳng hạn như bạn sẽ không thể giải mã các tệp được mã hóa bằng khóa chung của mình và bạn sẽ không thể đặt chữ ký điện tử (ES). Để tạo chữ ký điện tử, bạn sẽ cần tạo một cặp khóa mới và tốn một ít tiền để lấy chứng chỉ mới từ một trong các cơ quan cấp chứng chỉ.

Ở trên chúng tôi đã đề cập đến mã thông báo phần mềm, chương trình cơ sở và phần cứng. Nhưng chúng ta có thể xem xét một loại mã thông báo mật mã khác – đám mây.

Hôm nay bạn sẽ không làm ai ngạc nhiên ổ đĩa flash đám mây... Mọi thứ ưu điểm và nhược điểm ổ đĩa flash trên đám mây gần giống với ổ đĩa flash trên đám mây.

Điều chính ở đây là tính bảo mật của dữ liệu được lưu trữ trong mã thông báo đám mây, chủ yếu là khóa riêng. Mã thông báo đám mây có thể cung cấp điều này không? Chúng tôi nói - CÓ!

Vậy mã thông báo đám mây hoạt động như thế nào? Bước đầu tiên là đăng ký ứng dụng khách trong đám mây mã thông báo. Để thực hiện việc này, một tiện ích phải được cung cấp cho phép bạn truy cập vào đám mây và đăng ký thông tin đăng nhập/biệt hiệu của bạn trong đó:
Cloud token PKCS#11 - huyền thoại hay hiện thực?

Sau khi đăng ký trên đám mây, người dùng phải khởi tạo mã thông báo của mình, cụ thể là đặt nhãn mã thông báo và quan trọng nhất là đặt mã SO-PIN và mã PIN người dùng. Các giao dịch này chỉ được thực hiện qua kênh an toàn/mã hóa. Tiện ích pk11conf được sử dụng để khởi tạo mã thông báo. Để mã hóa kênh, người ta đề xuất sử dụng thuật toán mã hóa Magma-CTR (GOST R 34.13-2015).

Để phát triển khóa đã thống nhất trên cơ sở lưu lượng giữa máy khách và máy chủ sẽ được bảo vệ/mã hóa, chúng tôi đề xuất sử dụng giao thức TK 26 được đề xuất SESPAKE - giao thức tạo khóa chia sẻ với xác thực mật khẩu.

Nó được đề xuất sử dụng làm mật khẩu trên cơ sở khóa chia sẻ sẽ được tạo cơ chế mật khẩu một lần. Vì chúng ta đang nói về mật mã của Nga nên việc tạo mật khẩu một lần bằng các cơ chế là điều đương nhiên. CKM_GOSTR3411_12_256_HMAC, CKM_GOSTR3411_12_512_HMAC hoặc CKM_GOSTR3411_HMAC.

Việc sử dụng cơ chế này đảm bảo rằng quyền truy cập vào các đối tượng mã thông báo cá nhân trên đám mây thông qua mã PIN SO và USER chỉ dành cho người dùng đã cài đặt chúng bằng tiện ích pk11conf.

Thế là xong, sau khi hoàn thành các bước này, cloud token đã sẵn sàng để sử dụng. Để truy cập mã thông báo đám mây, bạn chỉ cần cài đặt thư viện LS11CLOUD trên PC của mình. Khi sử dụng mã thông báo đám mây trong các ứng dụng trên nền tảng Android và iOS, SDK tương ứng sẽ được cung cấp. Thư viện này sẽ được chỉ định khi kết nối mã thông báo đám mây trong trình duyệt Redfox hoặc được ghi trong tệp pkcs11.txt. Thư viện LS11CLOUD cũng tương tác với mã thông báo trên đám mây thông qua kênh bảo mật dựa trên SESPAKE, được tạo khi gọi hàm PKCS#11 C_Initialize!

Cloud token PKCS#11 - huyền thoại hay hiện thực?

Vậy là xong, bây giờ bạn có thể đặt mua chứng chỉ, cài đặt nó vào mã thông báo đám mây của mình và truy cập trang web dịch vụ của chính phủ.

Nguồn: www.habr.com

Thêm một lời nhận xét