2009-08-26 19 views
7

Tôi đã làm việc và hoàn thành một dự án PKI đã sử dụng HSM để tạo các khóa lưu trữ và thực hiện các chức năng mã hóa. Tôi đã sử dụng PKCS # 11 để giao tiếp với ứng dụng của chúng tôi để sigining/verify và mã hóa/giải mã. Nền tảng của chúng tôi là cửa sổ.Phần mềm bảo mật Module/bộ công cụ thay thế HSM để phát triển các chức năng mã hóa

Bây giờ, chúng tôi đang tìm cách cung cấp giải pháp thay thế chi phí thấp bằng cách thay thế HSM bằng mô-đun bảo mật phần mềm. Tôi phải lưu ý ở đây rằng tôi nhận thức được những hạn chế của việc không sử dụng một HSM. Đó là một thương mại giữa an ninh Vs Chi phí.

Tôi thấy rằng Microsoft cung cấp CryptoAPI thế hệ tiếp theo (CNG), lưu trữ khóa và dịch vụ chứng chỉ. Quản lý cấp cao của tôi không có xu hướng sử dụng phần mềm nguồn mở. Tôi cũng tìm thấy các bộ công cụ cung cấp RSA và cryptomathic để thực hiện các giải pháp dựa trên phần mềm.

Có ai gặp bất kỳ bộ công cụ mô-đun bảo mật phần mềm thương mại nào để thực hiện các chức năng tạo khóa, lưu trữ khóa và mã hóa chính không?

Lập trình ngôn ngữ - c/C++

Cảm ơn

Raj

Trả lời

2

lựa chọn tốt nhất của bạn nên được để tìm một phần mềm PKCS # 11 thư viện. Nên có một số triển khai trên thị trường - tôi biết rằng công ty tôi làm việc để bán một. Bằng cách đó bạn vẫn có thể chuyển về HSM tương thích với PKCS # 11 và các sửa đổi cần thiết đối với ứng dụng phải ở mức tối thiểu.

Các tùy chọn khác của bạn là CryptoAPI hoặc CNG từ Microsoft hoặc bộ công cụ từ RSA, Cryptomathic hoặc nhà cung cấp khác. Điều đó có lẽ sẽ đòi hỏi nhiều công việc hơn để viết lại ứng dụng - tôi thực sự không thể thấy bất kỳ lợi thế nào cho tùy chọn này, ngoại trừ CryptoAPI và CNG là miễn phí.

+0

Bạn có đang giới thiệu "thư viện phần mềm PKCS # 11" làm trình bao bọc xung quanh thư viện cryptoki PKCS # 11 không? Nếu đây là trường hợp, theo cách nào bạn nghĩ rằng điều này là khác nhau từ các chức năng mà tôi đã viết cho sigining/mã hóa vv Bạn có thể vui lòng chỉ cho tôi một số nhà cung cấp trên "phần mềm PKCS # 11 thư viện". Các nhà cung cấp này cũng cung cấp các chức năng quản lý chính hay tôi cần phải dựa vào hệ điều hành và một thư viện khác để lưu trữ/truy cập các khóa? Trong những cách para 1 của câu trả lời của bạn khác với para2. Tôi thực sự rất bối rối ở đây. Xin lỗi, nếu tôi nghe quá ngu dốt. – Raj

+0

PKCS # 11 chỉ định một API (Cryptoki).Bạn đã lập trình chống lại API này và có lẽ đã có một DLL đã triển khai API này với một HSM thực hiện các hoạt động. Một số công ty (bao gồm cả Cryptomathic, nhà tuyển dụng của tôi) bán "thư viện phần mềm PKCS # 11". Một thư viện PKCS # 11 phần mềm sẽ là một DLL thực hiện thư viện PKCS # 11 nhưng ánh xạ các hàm thành một phần mềm thực hiện thuần túy (và lưu trữ các khóa trong các tệp (được mã hóa)). Việc quản lý khóa có thể được thực hiện thông qua API PKCS # 11, nhưng bạn cũng có thể có một công cụ riêng biệt (tùy thuộc vào nhà cung cấp). –

+0

Đoạn thứ hai của tôi chỉ lưu lại các tùy chọn, bạn đã biết về: các API mã hóa khác. –

7

Bạn có thể sử dụng SoftHSM, đây là phần mềm PKCS # 11 thuần túy. Nó đang được sử dụng bởi dự án OpenDNSSEC chính xác để được hoán đổi trong trường hợp HSM thực sự không có sẵn, vì vậy nó có thể làm việc cho bạn. Tuy nhiên, đó là BSD được cấp phép, vì vậy tôi đoán quản lý của bạn có thể không thích nó trên cơ sở đó.

Nếu bạn đang tìm kiếm chi phí thấp và chưa thương mại (tôi không chắc liệu bạn có đang tìm kiếm một thứ gì đó độc quyền không, CryptoAPI là gì, hoặc cho một thứ được hỗ trợ về mặt thương mại, mà CryptoAPI thì không, trừ khi bạn có một hợp đồng với Microsoft), viết lại ứng dụng của bạn để sử dụng Win32 CryptoAPI có vẻ là lựa chọn duy nhất khả thi đối với tôi. Bộ công cụ của RSA không hề rẻ, theo kinh nghiệm của tôi.

+1

Cảm ơn Jack. Bạn đúng rồi. Nếu nó là có được trường hợp 2, tôi đang lên kế hoạch để đi với CNG như MS là phasingout cryptoAPI. Ngoài ra, Mozilla NSS cũng có mã thông báo ảo về triển khai PKCS # 11 này. – Raj

2

Tôi có một khách hàng đã sử dụng phần mềm PKCS # 11 thực hiện đi kèm với NSS của Mozilla làm bản thay thế cho HSM. Chúng trên Linux sử dụng ruby-pkcs11, vì vậy số dặm của bạn có thể thay đổi.

+0

Hi Sander- Dự án này đã thực sự kết thúc. Nhưng tôi rất muốn nhìn vào NSS. Tôi đã xem các nguồn ví dụ về Mozilla, v.v. Nhưng vấn đề của tôi là phiên bản/hoặc từ đâu - để tải xuống NSS? Mỏ sẽ là cửa sổ. – Raj

+0

@Raj nhà của thư viện có tại https://developer.mozilla.org/en/NSS, nhưng chúng dường như không xuất bản tệp nhị phân. May mắn thay, mỗi bản sao của Firefox dường như có một! Bạn có thể tìm thấy libsoftokn3.dll trong quá trình cài đặt Firefox (Tôi không có máy Windows để kiểm tra). Tôi thấy tôi chỉ có thể thả libsoftokn3.so vào một chương trình PKCS # 11 tầm thường trên máy chủ Linux của tôi. –

Các vấn đề liên quan