Sau khi chơi với một #YubiHSM khoảng 4 ngày liên tục, tôi khá hài lòng với sự lựa chọn này! 😁 Tuy nhiên, nó cũng thiếu sót ở một số điểm, vì vậy trải nghiệm của bạn có thể khác (cũng có một số điểm mà tôi cần nó không thiếu sót). 🧵
Nơi mà nó thực sự tỏa sáng là khả năng và sự thanh lịch tương đối cũng như dễ sử dụng của nó. Khác với YubiKey, nơi bạn giao tiếp trực tiếp với thiết bị, HSM thường được tiếp xúc qua một máy chủ web. Điều này cho phép bạn sử dụng HSM từ xa (với những vấn đề opsec phức tạp).
Yubico cung cấp một shell CLI có thể giao tiếp với YubiHSM, điều này thật tuyệt vì bạn có thể bắt đầu ngay lập tức (bạn thực sự không muốn tự phát triển giao thức của riêng mình ở đây). Mặt trái là, nó... không phải là CLI nổi bật mà chúng ta quen thuộc ngày nay. Nó có rất nhiều nợ kỹ thuật và những cạm bẫy.
Thật không may, YubiHSM không phổ biến lắm, vì vậy các thư viện giao diện từ các ngôn ngữ khác gần như không tồn tại. Yubico có hỗ trợ python, vì vậy bạn có thể sử dụng cái đó, hoặc quay lại với shell... chỉ cần nhớ những cạm bẫy.
Vấn đề chính của tôi với footguns là "ôi, tôi đã ký một cái gì đó không hợp lệ". Vâng, đúng vậy, ôi, vì bạn sẽ không bao giờ có thể giải thích mục nhật ký kiểm toán đó hay chứng minh những gì bạn đã ký (chủ yếu vì bạn thậm chí sẽ không biết hoặc không thể chứng minh điều đó). Điều này dẫn chúng ta đến điều tồi tệ: kiểm toán.
YubiHSM tự hào có một nhật ký kiểm toán được ký và chống giả mạo. Tuy nhiên, phần ký kết hóa ra chỉ là chiêu marketing, nó không được ký. Nhật ký kiểm toán *có* liên kết băm, nhưng thật không may, nếu không có chữ ký thì nó cũng vô dụng cho việc kiểm toán ngoại tuyến vì bất kỳ nhật ký nào cũng có thể bị làm giả và băm.
Cách duy nhất để kiểm toán một YubiHSM là có một kết nối trực tiếp với nó. Điều này là vì bạn có thể chứng minh rằng bạn đang kết nối với một Yubico HSM (thông qua các chứng chỉ đã ký), vì vậy nếu bạn tin tưởng Yubico và phần cứng HSM của họ, thì khi nó nói rằng nó đang ở băm H, bạn sẽ tin điều đó. Nhưng nó là tương tác.
Nhược điểm khác là nhật ký kiểm toán chỉ chứa các hoạt động mà nó đã thực hiện, nhưng không có dữ liệu. Điều này có thể hiểu được đến mức nào đó, nhưng cũng làm cho các nhật ký trở nên ít hữu ích hơn: kịch bản của bạn đã lặp lại 10 lần và ký chuỗi rỗng? Vâng, có 10 cơ hội cho các chữ ký độc hại.
Ngoài ra, ít nhất là bây giờ, tôi chưa tìm ra cách nào để chứng minh với một kiểm toán viên rằng một khóa cụ thể *có* trên thiết bị. Nếu bạn cho một kiểm toán viên quyền truy cập để xác thực các khóa của bạn, thì đúng, nó hoạt động, nhưng cảm giác thật sai trái. Nếu không có điều đó, tôi chỉ có thể chứng minh rằng *tại một thời điểm nào đó tôi đã có khóa*.
Nỗi đau cá nhân của tôi là vì tôi muốn tạo một báo cáo minh bạch cho dự án @dark_dot_bio của mình, điều này dường như gần như không thể với YubiHSM. Nếu mô hình đe dọa của bạn là bảo vệ các khóa khỏi những kẻ xấu, thì YubiHSM là hoàn hảo. Nhưng nếu bạn muốn chứng minh không có sự lạm dụng, thì thật không may.
Tóm lại, dường như không có sản phẩm nào tốt hơn trên thị trường trong mức giá mà tôi thực sự có thể chi trả, vì vậy YubiHSM sẽ phải là lựa chọn, nhưng bất kỳ ai đang tìm hiểu về nó, hãy lưu ý rằng khả năng kiểm toán giả định một *lượng lớn* niềm tin mà lẽ ra có thể tránh được, nhưng thực sự thì không.
2,4K