Cách cài đặt và sử dụng SoftHSM trên Ubuntu 16.04 LTS

theanh

Administrator
Nhân viên
Mã thông báo phần cứng/phần mềm hoặc Mô-đun bảo mật phần cứng (HSM) được sử dụng với các ứng dụng khác nhau để lưu trữ khóa mật mã (công khai và riêng tư) và chứng chỉ. Ví dụ, NitroKey và Smartcard-HSM là một số HSM. Tuy nhiên, cũng có một số phần mềm thay thế như SoftHSM(v2), cụ thể là đang được phát triển như một phần của dự án OpenDNSSEC..

SoftHSM về cơ bản là một triển khai của kho lưu trữ mật mã có thể truy cập thông qua giao diện PKCS #11. Giao diện PKCS#11 được sử dụng để giao tiếp hoặc truy cập các thiết bị mật mã như HSM (Mô-đun bảo mật phần cứng) và thẻ thông minh. Mục đích chính của các thiết bị HSM là tạo ra các khóa mật mã và ký/mã hóa thông tin mà không tiết lộ khóa riêng cho những người khác.

Để cung cấp cho bạn một bối cảnh nhanh chóng, người dùng OpenDNSSEC không thể mua mã thông báo phần cứng mới để lưu trữ các khóa mật mã. Vì vậy, để khắc phục vấn đề này, OpenDNSSEC đã bắt đầu cung cấp "SoftHSM", một phần mềm triển khai thiết bị mật mã chung với giao diện PKCS#11. SoftHSM được thiết kế để đáp ứng các yêu cầu của OpenDNSSEC và cũng hoạt động với các sản phẩm mật mã khác.

Dependencies​

Có thể sử dụng các thư viện mật mã Botan hoặc OpenSSL với dự án SoftHSM. Nếu Botan được sử dụng với SoftHSM, hãy đảm bảo rằng nó có hỗ trợ GNU MP (--with-gnump), điều này sẽ cải thiện hiệu suất trong các hoạt động khóa công khai.

Cài đặt​

SoftHSM có sẵn trên trang web OpenDNSSEC và có thể tải xuống bằng lệnh wget theo cách sau.
Mã:
wget[URL=https://dist.opendnssec.org/source/softhsm-2.3.0.tar.gz?utm_source=diendancongnghe.com]https://dist.opendnssec.org/source/softhsm-2.3.0.tar.gz[/URL]


Bây giờ, hãy giải nén gói bằng lệnh tar theo cách sau.



Sau khi giải nén, hãy chạy tập lệnh cấu hình để kiểm tra các phụ thuộc của SoftHSM phần mềm.
Mã:
./configure


Ảnh chụp nhanh sau đây cho thấy tập lệnh cấu hình hiển thị lỗi do thiếu gói "tiêu đề OpenSSL".



Vì vậy, hãy giải quyết vấn đề này, cài đặt gói "openssl-dev" theo cách được đánh dấu như bên dưới.

apt-get install openssl-dev



Đầu ra của tập lệnh cấu hình cho thấy tất cả các gói cần thiết hiện đã có sẵn để biên dịch công cụ.



Ảnh chụp nhanh sau đây cho thấy các tùy chọn có sẵn cho tập lệnh cấu hình của công cụ SoftHSM.



Tất cả các tùy chọn do tập lệnh cấu hình cung cấp có thể được truy cập thông qua lệnh sau:
Mã:
./configure --help
Mã:
--disable-ecc Vô hiệu hóa hỗ trợ cho ECC (mặc định được bật)--disable-gost Vô hiệu hóa hỗ trợ cho GOST (mặc định được bật)--disable-visibility Vô hiệu hóa chế độ liên kết hiển thị ẩn [được bật]--with-crypto-backend Chọn phần phụ trợ mã hóa (openssl|botan)--with-openssl=PATH Chỉ định tiền tố của đường dẫn OpenSSL--with-botan=PATH Chỉ định tiền tố của đường dẫn Botan--with-migrate Xây dựng công cụ di chuyển. Được sử dụng khi di chuyển cơ sở dữ liệu mã thông báo SoftHSM v1. Yêu cầu SQLite3--with-objectstore-backend-db Xây dựng với kho đối tượng cơ sở dữ liệu (SQLite3)--with-sqlite3=PATH Chỉ định tiền tố của đường dẫn SQLite3--disable-p11-kit Vô hiệu hóa tích hợp p11-kit (mặc định được bật)--with-p11-kit=PATH Chỉ định đường dẫn cài đặt của mô-đun p11-kit, sẽ ghi đè đường dẫn do pkg-config cung cấp
Bây giờ, hãy chạy lệnh make để biên dịch mã nguồn của SoftHSM.
Mã:
make

Tiếp theo, hãy chạy "make install command" để cài đặt công cụ SoftHSM.
Mã:
make install

Tệp cấu hình​

Vị trí mặc định của tệp cấu hình là /etc/softhsm2.conf có thể thay đổi bằng cách thiết lập biến môi trường SOFTHSM2_CONF.
Mã:
export SOFTHSM2_CONF=Path_of_SoftHSM_Conf_file
Cài đặt mặc định của SoftHSM được hiển thị trong ảnh chụp nhanh sau.


Khởi tạo Soft Token​

Bước đầu tiên để sử dụng SoftHSM là sử dụng khởi tạo nó. Chúng ta có thể sử dụng giao diện "softhsm2-util" hoặc "PKCS#11" để khởi tạo thiết bị. Ảnh chụp nhanh sau đây cho thấy quá trình khởi tạo thiết bị SoftHSM.
Mã:
softhsm2-util --init-token --slot 0 --label "Token-1"


Mã PIN của Security Officer (SO) được sử dụng để khởi tạo lại mã PIN và mã PIN của người dùng được cung cấp cho ứng dụng để ứng dụng có thể tương tác với mã PIN (giống như cách sử dụng với Mozilla Firefox). Đó là lý do tại sao, hãy đặt cả mã PIN SO và mã PIN của người dùng. Sau khi mã thông báo đã được khởi tạo, nhiều khe cắm hơn sẽ tự động được thêm vào mã thông báo mới chưa được khởi tạo. Mã thông báo đã khởi tạo sẽ được chỉ định lại cho một khe cắm khác dựa trên số sê-ri của mã thông báo. Bạn nên tìm và tương tác với mã thông báo bằng cách tìm kiếm nhãn mã thông báo hoặc số sê-ri trong danh sách khe cắm/thông tin mã thông báo.

Các tùy chọn khác của "softhsm2-util" được hiển thị bên dưới.



Ảnh chụp nhanh sau đây hiển thị các khe cắm của mã thông báo.


Sao lưu​

Tất cả mã thông báo và đối tượng của chúng được lưu trữ tại vị trí do softhsm2.conf cung cấp. Do đó, có thể sao lưu dưới dạng bản sao tệp thông thường.

Mã:
apt-get install opensc



Ảnh chụp nhanh sau đây cho thấy lệnh PKCS#11 được chạy trên SoftHSM. Công tắc "-t" được sử dụng để kiểm tra cơ chế của SoftHSM.

pkcs11-tool --module /usr/local/lib/softhsm/libsofthsm2.so -l -t


Kết luận​

Trong bài viết này, chúng tôi đã thảo luận về cách công cụ HSM dựa trên phần mềm SoftHSM có thể được cài đặt và khởi tạo trên nền tảng Ubuntu. Nó có thể được cấu hình bằng tiêu chuẩn PKCS11 cho HSM/Smartcard để truy cập các thiết bị.
 
Back
Bên trên