2014-09-08 10 views
15

Trước hết, tôi là người mới bắt đầu trong thế giới OpenSSL. Tôi xin lỗi trước vì bất kỳ lỗi cơ bản, man rợ nào.OpenSSL - kiểm tra xem công cụ nào là chức năng được gọi và nếu phần cứng thực sự được sử dụng?

Hãy xem xét một dòng chảy:

  1. Initialize OpenSSL với động cơ sử dụng phần cứng (chúng ta hãy gọi nó EngineHW).
  2. Gọi hàm OpenSSL, ví dụ: X509_sign.

Cách kiểm tra xem chức năng được gọi có được thực hiện trên phần cứng không?

Cách xác minh chức năng EngineHW đã được gọi? Điều gì nếu chức năng không được xác định bởi EngineHW - sẽ OpenSSL dự phòng cho bất kỳ động cơ mặc định nó có?

Câu hỏi có liên quan đến việc khẳng định chất lượng - vì tôi có phần cứng để làm mật mã cho tôi, tôi xem xét sử dụng phần mềm hồi quy (ít nhất là cho các chức năng quan trọng).

+0

Bạn có gợi ý tại [sử dụng dòng lệnh] (http://superuser.com) không? –

+0

Tôi đang gợi ý bất kỳ giải pháp nào :(có thể thông qua các cuộc gọi API từ mã liên kết tĩnh, động, thậm chí xây dựng lại OpenSSL nếu nó giúp. – hauron

+1

Cách dễ dàng nhất để kiểm tra là đảm bảo khóa riêng hoặc khóa bí mật không bao giờ rời khỏi HSM, mặc dù tôi phải thừa nhận đó không giống như nhật ký Bạn có thể nên kiểm tra tài liệu HSM của mình (nếu có, thẻ thông minh có thể không ghi nhiều) –

Trả lời

1

Không chắc chắn mục đích của việc này là gì. Bạn đang thử nghiệm OpenSSL hoạt động hay bạn đang thử nghiệm mã của riêng mình? Dường như bạn muốn thử nghiệm hồi quy OpenSSL và HSM?

Tuy nhiên, nếu bạn muốn kiểm tra xem X509_sign có hoạt động thì hãy xóa tất cả khóa dựa trên phần mềm/đĩa khỏi hệ thống kiểm tra và kiểm tra xem bạn có thể ký gì đó không. Nếu bạn nhận được một chữ ký hợp lệ, bạn có thể chắc chắn nó đến từ HSM của bạn. Nếu bạn nhận được null trở lại, nó không phải là. OpenSSL không dự phòng với chức năng ký hiệu khác và ngay cả khi đã thực hiện, nó không thể ký vì nó cần khóa để ký. Hy vọng rằng đã trả lời câu hỏi của bạn.

+0

Mag: Cảm ơn bạn đã trả lời. Điều này sẽ làm việc trong một số trường hợp, trong đó chìa khóa là cần thiết để có mặt trong phần cứng, nhưng đó là hầu như không đủ. Ngay cả rand (là một bước ký) không được ủy quyền cho phần cứng có thể làm tổn hại đến bất kỳ sự an toàn bí mật nào ... Tôi đã tìm ra cách duy nhất để phá vỡ kết nối HSM và kiểm tra - tất cả các chức năng một, hoặc đảo ngược kỹ sư mã hóa . – hauron

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