Quyền truy cập HSM của đối tác qua VPN: xác định các thao tác khóa
Bắt tay VPN không phải là quyền HSM. Xác định đường mạng, danh tính HSM, các thao tác khóa được phép và ai phê duyệt từng lần sử dụng.
Ai đó bên đối tác phải ký một tài liệu bằng một khóa được chỉ định, và yêu cầu đến dưới dạng một vấn đề mạng: họ cần đến được HSM. Hãy coi câu đó là triệu chứng của một hợp đồng dịch vụ chưa được xác định, không phải vấn đề định tuyến, vì một đường hầm đến được thiết bị không tự nó cấp quyền gì. Phía sau yêu cầu có ba cổng: khả năng tiếp cận, danh tính HSM và chính sách khóa, và mỗi cổng được quản trị ở một nơi khác bởi một nhóm khác. Hãy viết chúng ra từng cổng một, nếu không bạn sẽ kết thúc bằng việc cấp một tuyến đường vì cuộc trao đổi về chứng chỉ khó hơn.
Hãy giữ trường hợp cụ thể trước mắt: đối tác gửi một tài liệu đã được phê duyệt để ký bằng một khóa được nêu tên, và không gì khác. Mọi thứ bên dưới đều xuất phát từ câu duy nhất đó.
Khả năng tiếp cận, danh tính và chính sách khóa là ba cổng
Bộ tập trung VPN quyết định ai được mở đường hầm và được chạm vào những địa chỉ nào. HSM tự quyết định bản ghi người dùng nào được trình ra trước nó thì được đăng nhập. Sau đó chính sách khóa quyết định bản ghi người dùng đó được làm gì với một khóa cụ thể. Việc đi qua cổng thứ nhất để hai cổng còn lại y nguyên như cũ, đó là lý do một cuộc bắt tay thành công chứng minh rất ít và đối tác có thể đến được thiết bị mà vẫn thất bại ở mọi thao tác.
Gán chủ sở hữu cho từng cổng trước khi viết yêu cầu. Khi không ai sở hữu cổng thứ hai, kết quả thường thấy là một danh tính quản trị viên HSM rộng được cấp vì đó là thông tin xác thực duy nhất hoạt động.
Cổng thứ nhất: đường mạng mà đối tác được cấp
Nêu tên ứng dụng khách hoặc dịch vụ đã được phê duyệt, đích mà nó cần, cùng giao thức và cổng mà dịch vụ đó lắng nghe. Sau đó giới hạn quyền truy cập từ phía VPN cho cặp đó theo cả hai chiều, kể cả đường quay về, để chính sách trở thành một câu bạn có thể đọc lại cho đối tác. Quản trị cổng kết nối, giao diện quản lý HSM và các hệ thống nội bộ không liên quan nên nằm ngoài quyền truy cập thông thường của đối tác, chứ không chỉ ngoài tuyến mặc định.
Một phân đoạn riêng làm những lần vượt đó trở nên hữu hình, nhưng tên của phân đoạn không thực thi gì cả. Lưu lượng phải đi qua đúng kiểm soát mà bạn nghĩ nó đi qua. Việc chấp nhận kết nối từ đối tác cũng không phải là tuyên bố rằng mọi máy của đối tác đều đáng tin.
Cổng thứ hai: điều gì thực sự xác thực với HSM
Danh tính VPN và danh tính HSM là hai đối tượng riêng biệt trừ khi một tích hợp được hỗ trợ cố ý hợp nhất chúng. Với ứng dụng khách PKCS#11, ứng dụng đăng nhập vào một khe bằng thông tin xác thực được lưu ở đâu đó trên máy chủ của đối tác, và chính lần đăng nhập đó là thứ HSM đánh giá.
AWS CloudHSM là một tham chiếu hữu ích vì tài liệu của nó tách hai thứ này: người dùng HSM khác với người dùng IAM, và loại người dùng quyết định tài khoản được làm gì. Một cán bộ mật mã quản lý người dùng và khóa nhưng không phải danh tính thực hiện các thao tác mật mã, trong khi người dùng mật mã có thể dùng khóa mà không thể quản lý chúng. Sự tách bạch đó là hình dạng bạn muốn ngay cả trên thiết bị của nhà cung cấp khác, nơi tên vai trò sẽ khác.
Bất kể bạn cấp danh tính nào, nó phải có thể gỡ bỏ và quy được về đúng độ chi tiết mà sau này bạn sẽ cần. Một thông tin xác thực vận hành dùng chung cho nhiều đối tác khiến việc khoanh vùng và trách nhiệm khó hơn đúng trong sự cố mà cả hai đều quan trọng nhất.
Cổng thứ ba: khóa nào và thao tác nào
Ký, giải mã, tạo khóa, bọc khóa và quản trị người dùng là các quyền riêng biệt và phải được liệt kê riêng. Theo thuật ngữ PKCS#11, các thuộc tính như CKA_SENSITIVE và CKA_EXTRACTABLE mô tả liệu vật liệu khóa có thể rời mô-đun ở dạng dùng được hay không, và chúng được đặt theo từng khóa chứ không theo thiết bị. Hãy đọc chính sách thực tế trên khóa thay vì suy ra tính không thể xuất từ chữ phần cứng hoặc từ sự tồn tại của một đường hầm.
Sau đó hãy tìm phê duyệt kinh doanh. Nếu chỉ tài liệu đã được phê duyệt mới được ký, thành phần nào thiết lập phê duyệt đó trước khi yêu cầu đến HSM? Một giao diện mật mã chấp nhận yêu cầu được ủy quyền không biết tài liệu đã được xem xét hay chưa, nên việc kiểm tra đó thuộc về dịch vụ đứng trước nó.
Một ứng dụng khách được phép bị xâm phạm cũng có thể lạm dụng các thao tác mà thông tin xác thực của nó ủy quyền hợp pháp mà không bao giờ trích xuất khóa riêng. Vì vậy bảo vệ vật liệu khóa đã lưu và kiểm soát việc dùng khóa là hai điều kiện chấp nhận, không phải một.
Các lần từ chối là một phần của kiểm thử chấp nhận
Chấp nhận yêu cầu ký được phép, và cũng chấp nhận các lần từ chối: danh tính không được ủy quyền, khóa không liên quan và thao tác quản trị từ đường của đối tác. Ghi lại người gọi, thao tác, mã định danh khóa, thời gian và kết quả, và giữ vật liệu khóa riêng, thông tin xác thực và nội dung tài liệu ngoài nhật ký chẩn đoán chung.
Chỉ định chủ sở hữu cho việc đối tác rời đi, cho nghi ngờ bị xâm phạm phía đối tác, và cho thay đổi chính sách cùng khôi phục. Thay đổi một tuyến đường không khôi phục niềm tin vào một máy chủ có thể đã bị xâm phạm, nên việc thu hồi phải đến được cả danh tính HSM.
Một cuộc bắt tay VPN đã hoàn tất thuộc về bản ghi đó. Nó không thể thay thế một kết quả riêng cho HSM.