Mã hoá và Quản lý khoá trong mạng SAN (Phần II)

Xu hướng ứng dụng và phát triển các mạng lưu trữ dung lượng lớn tốc độ cao SAN là một trong những xu hướng phát triển mang tính phổ cập trong nền tảng công nghệ số cả trên thế giới và trong nước. Xu hướng này sẽ ngày càng trở nên cấp thiết trong sự phát triển của các nền tảng công nghệ mới như BigData, IoT, 5G, AI…. khi mà nhu cầu lưu trữ phục vụ xử lý ngày càng đòi hỏi cao hơn về dung lượng và tốc độ xử lý. Bên cạnh đó việc giải quyết các vấn đề liên quan đến bài toán bảo mật cho hệ thống lưu trữ trữ dung lượng lớn tốc độ cao là một nhu cầu thực tiễn đã và đang được đặt ra trong thực tế.

20202808-at-ta5.jpg
 
Nhóm nghiên cứu gồm Adrian Baldwin và Simon Shiu từ phòng thí nghiệm Hewlett Packard, tại Bristol, Vương quốc Anh đã công bố giải pháp mã hóa và trao đổi khóa trong hệ thống mạng lưu trữ SAN. Giải pháp đề xuất dựa trên việc sử dụng thiết bị bảo mật phần cứng (HSA) nhằm tăng cường các HSM truyền thống như một giải pháp bổ sung để kiểm soát cách sử dụng khóa thay vì chỉ cung cấp môi trường an toàn cho các chức năng mã hóa.
 
1. Giới thiệu
 
Trong Phần I của bài báo, nhóm tác giả đã mô tả giải pháp quản lý khóa dựa trên hệ thống các thiết bị phần cứng có bảo mật HSA: tập trung tìm hiểu cách thức sử dụng HSA trong môi trường lưu trữ có bảo mật; các xây dựng mô hình mạng lưu trữ SAN có bảo mật với các điểm kiểm soát mã hóa bổ sung trong đó trọng tâm là cơ chế tích hợp hệ thống HSA trong các bộ điều hợp bus máy chủ và cách thức xây dựng dịch vụ quản lý khóa trên nền HAS. Phần II của bài báo sẽ tập trung mô tả chi tiết quá trình mã hóa, quản lý khóa (các dịch vụ quản lý khóa cơ bản, và các dịch vụ quản lý dử dụng PKI).
 
2. Quản lý khóa trong môi trường SAN
 
2.1. Mã hóa
 
Bảo mật SAN thường phân đoạn dữ liệu ở mức độ thô. Lược đồ mã hóa được mô tả dưới đây sử dụng các khóa khác nhau cho mỗi khối đĩa dựa trên một khóa bí mật chung cho một phân đoạn thô như LUN hoặc Zone. Việc phân đoạn dữ liệu, tạo các khóa phân đoạn tương ứng có thể phụ thuộc vào cơ chế đánh địa chỉ.
 
Các khóa mã hóa được sử dụng không phải là khóa phiên và dữ liệu được mã hóa có khả năng vẫn còn trên đĩa trong những khoảng thời gian đáng kể; do đó, các khóa này phải được kiểm soát cẩn thận và giảm thiểu tối đa việc rò rỉ thông tin khóa. Lưu trữ một số khóa xác định cho mỗi khối đĩa sẽ tạo ra số lượng lớn các khóa và việc xác định khóa thích hợp cho khối đó trở nên khó khăn hơn. Ngược lại, khi sử dụng một khóa duy nhất cho toàn bộ phân đoạn các bit dữ liệu chung có thể được phát hiện khi phân tích. Thay vào đó, khóa lịch trình sử dụng được tạo dựa trên việc sử dụng địa chỉ khối đĩa Block address để biến đổi tham số bí mật phân đoạn Segment_secret. Việc biến đổi dựa trên hàm băm nên khó có thể truy ngược lại tham số bí mật ban đầu ngay cả khi khóa cho một số khối đĩa bị hỏng.
 
Block Key = Hash (Segment_secret, Block address).
 
Đơn vị cơ bản của dữ liệu sẽ phụ thuộc vào thuật toán mã hóa cụ thể. AES (có pha thiết lập khóa nhanh) [1] có nghĩa là dữ liệu sẽ được đọc trong các khối 128 bit. Các chế độ mã hóa [2] có thể sẽ phụ thuộc vào tính chi tiết của khối đọc từ thiết bị, mặc dù có thể mã hóa dựa trên việc xor bản rõ với hàm giá trị của Block address sử dụng.
 
Trình quản lý khóa trao quyền cho SHBA đọc dữ liệu từ LUN, bằng cách cung cấp cho nó tham số bí mật liên quan đến LUN hoặc ZONE đó. SHBA có thể lấy khóa cho một khối đĩa cụ thể bằng cách kết hợp tham số bí mật (cho LUN hoặc ZONE) với địa chỉ khối đĩa. Điều này có thể được thực hiện trong khi dữ liệu đang được lấy. Việc ghi vào dữ liệu sẽ thực hiện một quy trình tương tự trong đó khóa được thiết lập ban đầu và dữ liệu được mã hóa bằng cách chuyển nó qua SHBA. Bộ đệm trong HSA trên bộ điều hợp bus chủ có thể tăng tốc khi có nhiều truy cập được thực hiện.
 
2.2. Quản lý khóa
 
Phần trên mô tả một cơ chế ánh xạ từ các địa chỉ đĩa vào các khóa mã phù hợp dựa trên tham số bí mật cho một ZONE hoặc LUN cụ thể. Theo cơ chế của HSA, cả quá trình ánh xạ và mã hóa/ giải mã được thực hiện bên trong. Điều này đảm bảo rằng tham số bí mật không bao giờ bị lộ ra ngoài phần cứng được bảo vệ. Phần này đề cập đến vấn đề quản lý phân phối các tham số bí mật này và đảm bảo rằng việc phân phối tuân thủ các chính sách quản lý, hệ thống được kiểm soát chặt chẽ. Sự kết hợp giữa thực thi chính sách và tính toán đảm bảo rằng các backdoor đơn giản từ phía cho quản trị viên không có và nếu quản trị viên định cấu hình lại hệ thống lưu trữ để có quyền truy cập vào dữ liệu, hành động của họ sẽ được ghi lại.
 
2.2.1. Dịch vụ quản lý khóa cơ bản
 
Dịch vụ quản lý khóa là một dịch vụ riêng biệt nằm ngoài sự kiểm soát của các hệ thống SAN. Nó chạy độc lập trong HSA và không bị xâm phạm. Người dùng phụ thuộc vào hệ thống lưu trữ có thể kiểm tra các chi tiết về HSA đang được sử dụng cũng như chức năng quản lý khóa của nó và được đảm bảo rằng chính sách của họ sẽ được thực thi chính xác. Các chính sách này có thể bao gồm từ một danh sách đơn giản các máy được phép truy cập trong một zone cụ thể đến các chính sách phức tạp hơn chỉ định một loạt các máy và các yêu cầu ủy quyền cần thiết để chỉ rõ máy nào có thể truy cập vào vùng nào đó tại một điểm xác định.
 
Trạng thái hoạt động bình thường
 
Sau khi cấu hình, hoạt động bình thường của dịch vụ quản lý khóa là chuyển các tham số bí mật liên quan đến LUN cho SHBA yêu cầu, và kiểm tra tất cả các yêu cầu. Để thực hiện điều này, dịch vụ cần được khởi tạo với một tập hợp các ID của HBA. ID có thể được chỉ định trực tiếp (giả sử bằng chứng chỉ khóa công khai) hoặc bằng danh tính của CA mà mục đích duy nhất của nó là chứng nhận các giao diện HBA được bảo mật.
 
Thêm một segment mới
 
Lệnh tạo segment mới (ZONE hoặc LUN) sẽ chỉ định ai quản lý chính sách và chính sách triển khai. Tham số bí mật sẽ được tạo ra như một phần của lệnh và tất nhiên, yêu cầu sẽ được tính toán. Dịch vụ quản lý khóa đảm bảo việc sử dụng các chính sách này và các tham số bí mật liên quan; các chính sách được ghi trong bộ nhớ và được lưu trữ ở dạng bảo mật trên hệ thống máy chủ để được tải lại khi khởi động lại. Các tham số bí mật được lưu trữ trong bộ nhớ trong (flash hoặc pin dự phòng) đảm bảo chúng không bị rò rỉ ra bên ngoài hệ thống; một hàm băm của các chính sách liên quan được lưu trữ cùng với khóa để khi khởi động lại, trình quản lý khóa sẽ chỉ chấp nhận các chính sách hiện tại được liên kết với mỗi khóa.
 
Sự phong phú của các chính sách
 
Mã hoá và Quản lý khoá trong mạng SAN (Phần II)
Đối với dịch vụ quản lý khóa, có thể sẽ có các chính sách quản lý nêu chi tiết host nào có thể truy cập vào phân khúc nào hoặc ai có ủy quyền cấu hình việc đó. Hình thức của các chính sách này phụ thuộc vào tính linh hoạt của cấu hình hệ thống - một chính sách đơn giản sẽ tham chiếu trực tiếp đến các thiết bị két nối, trong khi đó đối với các trung tâm dữ liệu (UDC) [6], nơi thiết bị có thể liên tục được triển khai lại, các chính sách cần hỗ trợ các thông báo cấu hình lại từ các quản trị viên. Trong trường hợp này, các chính sách có thể có một số ràng buộc nhất định như giới hạn số lượng hoặc loại máy truy cập vào một khu vực tại thời điểm bất kỳ nào – theo thỏa thuận trước.
 
2.2.2. Dịch vụ quản lý khóa sử dụng PKI
 
Để cho phép xác thực dựa trên PKI và mã hóa dữ liệu truyền, HSA có ID dựa trên PKI. Nó cũng chứa một danh sách tin cậy “trust list”, tức là một danh sách các khóa công khai (hoặc chứng chỉ) cùng với thông tin về chủ sở hữu của chứng chỉ đã được chứng minh có thể tin cậy được. Điều này cho phép xác minh chữ ký về các thay đổi chính sách hoặc hỗ trợ các thông báo cấu hình lại.
 
Nhờ phần cứng an toàn mà chi tiết về những thay đổi của chính sách có thể được nắm bắt và gửi đến hệ thống tính toán tin cậy hoặc đăng nhập an toàn trên hệ thống host mà các quản trị viên có tài khoản. Tất cả các lệnh liên quan đến cài đặt và thay đổi chính sách cần phải được kiểm tra an toàn theo trách nhiệm được ủy quyền của các quản trị viên. Như vậy tất cả các lệnh yêu cầu phải có chữ ký tương ứng. Tất cả các yêu cầu quản lý (bao gồm các yêu cầu bị từ chối) sẽ được thêm vào hệ thống kiểm toán tin cậy đảm bảo việc thực thi được kiểm soát. Hệ thống kiểm toán này có thể là một hệ thống riêng biệt hoặc hệ thống quản lý khóa có thể bổ sung các log kiểm toán nơi nó ký từng yếu tố tính toán mới cùng với hàm băm của yếu tố tính toán trước đó. Điều này đảm bảo có thể kiểm tra tính liên tục của thông tin tính toán.
 
Liên quan đến việc quản lý các chính sách phân phối khóa cho các SHBA khác nhau, khi khởi động hoặc cấu hình lại, SHBA sẽ liên hệ với trình quản lý khóa để có được các tham số bí mật cần thiết nhằm truy cập vào dữ liệu SAN. Như với lệnh quản lý, yêu cầu khóa cho các ZONE hoặc LUN cụ thể sẽ được ký bằng cách sử dụng ID của SHBA. Trình quản lý khóa sẽ xác thực yêu cầu và xem xét các chính sách được liên kết với từng ZONE được yêu cầu để đánh giá xem SHBA đó có được phép truy cập các khóa hay không. Gói trả về sau đó được hình thành có chứa các quyết định cấp phép cùng với các tham số bí mật và các hạn chế sử dụng có thể có đối với các khóa này.
 
2.2.3. Ký quỹ và sao lưu
 
Cấu trúc SAN cần đảm bảo một cơ sở hạ tầng lưu trữ linh hoạt và không thể bị tổn thương do việc sử dụng một trình quản lý khóa duy nhất, đặc biệt khi trình quản lý này được thiết kế tắt nếu phát hiện xâm nhập. Do đó, điều cần thiết là phải sao chép các chức năng của thiết bị quản lý khóa.
 
Khả năng sống sót của các tham số bí mật trong zones là một tính năng thiết yếu của bất kỳ hệ thống quản lý khóa nào. Ngoài việc cho phép chuyển các tham số bí mật vào HBA, các chính sách cũng có thể cho phép chuyển các khóa (cùng với các ràng buộc chính sách liên quan) sang các dịch vụ quản lý khóa khác. Các chính sách này có thể được thiết lập ở cấp dịch vụ cơ sở, tạo ra một tập hợp các trình quản lý, mỗi trình quản lý có cùng một tham số bí mật và mỗi tham số bí mật có thể được sử dụng bởi bất kỳ SHBA nào; đây có lẽ là phương pháp đơn giản nhất đặc biệt với cơ sở hạ tầng có thể cấu hình lại. Cùng với nó, việc kiểm soát có thể được đặt ở chính sách cấp vùng tạo tuy ra sự phân tách dữ liệu chặt chẽ hơn nhưng lại đầy rẫy những nguy hiểm khi các chính sách không sao lưu đầy đủ các khóa.
 
Các chính sách ký quỹ có thể được liên kết một cách tự nhiên với các chính sách cấp vùng. Chính sách ký quỹ có thể chỉ định nơi lưu trữ hoặc cá nhân nào nhận được tham số bí mật hoặc bộ tham số bí mật bằng thuật toán chia sẻ [4] và điều này có thể đảm bảo rằng chủ sở hữu dữ liệu (hoặc bên thứ ba mà họ tin tưởng) có thể khôi phục các tham số khi cần thiết.
 
Một khía cạnh khác liên quan đến việc chạy nhiều thiết bị là đảm bảo rằng tất cả các cấu hình được đồng bộ hóa. Một giải pháp đơn giản để xử lý việc này là các thông điệp cấu hình được gửi đến tất cả các trình quản lý khóa. Ngoài ra, các trình quản lý khóa sẽ được cấu hình để biết về nhau (như với phân phối khóa) và khi nhận được thông báo cấu hình, điều này sẽ được truyền tới hệ thống khác.
 
3. Thảo luận
 
Mã hoá và Quản lý khoá trong mạng SAN (Phần II)
Giải pháp quản lý khóa đề xuất cho thấy mức độ kiểm soát cao có thể đạt được bằng cách sử dụng phần cứng đáng tin cậy để bảo mật. Phần cứng này được sử dụng để cung cấp môi trường an toàn cho các ứng dụng chạy [5] đồng thời chỉ ra cách mà bộ xử lý [3] có thể được sử dụng để đảm bảo tính toàn vẹn của thiết bị. Cách tiếp cận HSA cung cấp một cơ chế để các dịch vụ bảo mật đơn giản có thể được sử dụng để bảo mật một ứng dụng tổng thể như ESKAPE được mô tả trong phần I của bài viết hay bảo đảm cơ sở hạ tầng lưu trữ như SAN.
 
Hai ứng dụng này thể hiện sức mạnh của giải pháp HSA đối với một loạt các ứng dụng lưu trữ cấp thấp và cấp cao và phương pháp này có thể được áp dụng trong các ứng dụng khác. Giải pháp cho phép việc mã hóa dữ liệu một cách tự động với chi phí quản lý tương đối nhỏ mặc dù phải trả chi phí cho phần cứng bảo mật. Cách tiếp cận này không nhằm thay thế bảo mật SAN truyền thống được cung cấp bằng cách phân vùng cứng hoặc mềm hoặc ánh xạ LUN mà thay vào đó khi làm việc cùng với các cơ chế này, nó cung cấp các thuộc tính bảo mật tốt hơn nữa.
 
4. Kết luận
 
Nhóm nghiên cứu gồm Adrian Baldwin và Simon Shiu từ phòng thí nghiệm Hewlett Packard, tại Bristol, Vương quốc Anh trong công trình công bố được trình bày đã đề xuất việc sử dụng các thiết bị bảo mật phần cứng đảm bảo bảo mật cho các khóa mã và việc thực thi chức năng mã hóa của HSM bằng cách kết hợp chức năng này với hoạt động kiểm soát việc sử dụng khóa.
 
Cách tiếp cận đã được áp dụng để mã hóa dữ liệu trong hệ thống SAN trên cơ sở thực thi một cách có hiệu quả việc quản lý khóa một cách an toàn, kiểm soát các chính sách phân phối và sử dụng của khóa và ngăn chặn việc cấu hình hệ thống với các chủ đích xấu.