Mật mã như một dịch vụ - xu hướng mới cho cơ sở hạ tầng bảo mật phục vụ phát triển Chính phủ số, kinh tế số - xã hội số

11:50 | 16/02/2022

Trong xu thế chuyển đổi số, dữ liệu trở thành tài sản quan trọng cần bảo vệ. Với sự gia tăng của các tấn công mạng, sử dụng kỹ thuật mật mã để bảo vệ dữ liệu là một giải pháp cốt lõi. Do vậy, mục tiêu cho nhiều công ty, tổ chức là mã hóa toàn bộ dữ liệu, đưa chúng vào các cơ sở dữ liệu hoặc đám mây hoặc các dạng lưu trữ khác. Mật mã như một dịch vụ (Cryptography as a Service - CaaS) [2] là một giải pháp, một xu hướng mới cho cơ sở hạ tầng bảo mật của các công ty, tổ chức trong quá trình chuyển đổi số phục vụ phát triển Chính phủ số, kinh tế số - xã hội số.

GIỚI THIỆU

Phần mềm như một dịch vụ (Software as a Service - SaaS) [1], [6] là một lĩnh vực mới trong khoa học máy tính đang phát triển gần đây và được nhiều công ty, tổ chức trên khắp thế giới áp dụng và triển khai. SaaS là một nền tảng mới phổ biến để phân phối các loại phần mềm khác nhau cho khách hàng có thể đang sử dụng môi trường dựa trên đám mây hoặc không dựa trên đám mây. SaaS đã tạo ra những bước đột phá trong cách chúng ta nhìn nhận về phần mềm. Theo Gartner Research [2], định nghĩa cơ bản của SaaS là “phần mềm được sở hữu, phân phối và quản lý từ xa bởi một hoặc nhiều nhà cung cấp. Nhà cung cấp phân phối phần mềm dựa trên một bộ quy tắc chung và định nghĩa dữ liệu được sử dụng theo mô hình một-nhiều bởi tất cả các khách hàng đã ký hợp đồng trên cơ sở trả tiền để sử dụng hoặc đăng ký dựa trên số liệu sử dụng”. Định nghĩa này có thể được sử dụng cho hầu hết tất cả các sản phẩm “như một dịch vụ” mà nhiều công ty, tổ chức đang sử dụng vì họ cung cấp cách tiếp cận hiệu quả hơn về chi phí để đáp ứng nhu cầu của khách hàng mà không phải lo lắng về các chi phí bổ sung có thể bao gồm nhưng không giới hạn, như chi phí tạo phương tiện lưu trữ, cài đặt tại chỗ, đi lại cho các nhóm triển khai,...

Mật mã như một dịch vụ là một dạng của SaaS với những lợi ích đáng kể như: triển khai nhanh, chi phí thấp: Các dịch vụ như mô-đun bảo mật phần cứng HSM với tính khả dụng cao, chi phí hợp lý và khả năng quản lý đơn giản cùng với sự hỗ trợ online của các chuyên gia bảo mật; dịch vụ chuyên gia: Các chuyên gia mật mã/bảo mật bảo đảm dịch vụ hoạt động thông suốt 24/7; khả năng kiểm soát: CaaS cho phép các tổ chức, công ty duy trì quyền kiểm soát hoàn toàn đối với việc tạo, lưu trữ và quản lý các khóa mật mã, đây là một yêu cầu quan trọng đối với dữ liệu của các công ty, tổ chức.

MẬT MÃ NHƯ MỘT DỊCH VỤ

CaaS được Peter Robinson định nghĩa là “các hoạt động mật mã được thực hiện bởi nhà cung cấp CaaS thay mặt cho thiết bị thông qua các dịch vụ web API” [2].

Có nhiều lý do khác nhau tại sao một công ty hoặc tổ chức lại muốn sử dụng mật mã như một dịch vụ. Nhiều công ty, tổ chức có thể không muốn phải nỗ lực trong việc thiết kế cơ sở hạ tầng bổ sung để bảo mật tất cả dữ liệu trong cơ sở hạ tầng thông tin của họ. Điều này có thể mất nhiều thời gian, công sức và kinh phí để xem xét việc tạo ra một hệ thống bảo mật đúng cách và phù hợp. Thậm chí, điều này là không khả thi đối với một số tổ chức, công ty không nắm vững về các tiêu chuẩn bảo mật và an toàn thông tin.

Hệ thống thông tin có thể bị xâm phạm bởi một trong những tấn công điển hình như thu thập, xâm phạm khóa bí mật hoặc dữ liệu, đánh cắp bản sao lưu thiết bị của người dùng, cài đặt ứng dụng mã độc trên thiết bị đầu cuối với mục đích lấy cắp thông tin (mã độc, key-logger hoặc phần mềm gián điệp), sử dụng ứng dụng mã độc xâm nhập, can thiệp các nguồn entropy dẫn đến các khóa mật mã, các giá trị ngẫu nhiên trở nên dễ đoán hơn.

CaaS trong bảo mật thiết bị di động

Hầu hết các cuộc tấn công kể trên có thể được ngăn chặn, phần lớn, bằng cách triển khai một hệ thống an toàn dưới dạng mật mã như một dịch vụ. Điều này đặc biệt đúng đối với những trang web tập trung vào việc lấy cắp thông tin của người dùng. Cách thức hoạt động của kiến trúc “như một dịch vụ” là thông qua việc triển khai HTTP và các hệ thống như REST và SOAP. Hình 1 cho ta thấy kiến trúc của một CaaS.

Hình 1. Kiến trúc của CaaS

Đây là kiến trúc đơn giản của CaaS ứng dụng cho thiết bị di động [3]. Trong hình trên, hai bên có thể là thiết bị di động có thể gửi bất kỳ thứ gì từ các đoạn chat đến file giữa hai bên. Tất cả người dùng đang sử dụng dịch vụ hoặc ứng dụng cũng cần được xác thực. Điều này xử lý các vấn đề về bảo mật dữ liệu và đảm bảo rằng thông tin không bị giả mạo hoặc để lộ cho những người không được phép. Một lựa chọn thường dùng là bổ sung quá trình xác thực bằng việc sử dụng thuật toán chữ ký số ECDSA. Các giải pháp và ứng dụng thực tế không chỉ xoay quanh khía cạnh mã hóa và giải mã. Chúng có thể bao gồm nhưng không giới hạn ở việc tạo chữ ký, mã hóa/giải mã kết hợp sử dụng các thuật toán bảo vệ dữ liệu mà không thể bị xâm phạm (các cấp độ mật khác nhau); hoặc ký số, mã hóa loạt để đảm bảo lượng lớn dữ liệu được gửi đến dịch vụ và sau đó trực tiếp trở lại bên được cung cấp dịch vụ.

Caas trong bảo mật điện toán đám mây

Trong môi trường đám mây, CaaS có khả năng bảo vệ thông tin của người dùng và những thông tin mà chính nhà cung cấp dịch vụ đám mây phải đối mặt khi triển khai phần mềm dưới dạng dịch vụ, nền tảng dưới dạng dịch vụ hoặc cơ sở hạ tầng dưới dạng dịch vụ [4]. Đây là những điểm chính cần quan tâm đối với nhiều nhà cung cấp dịch vụ điện toán đám mây để đảm bảo thông tin của khách hàng của họ không bị xâm phạm dưới bất kỳ hình thức nào. Một trong những ứng dụng khác của CaaS là sử dụng trong bảo mật điện toán đám mây [5]. Kiến trúc được mô tả trong Hình 2.

Hình 2. Kiến trúc CaaS cơ bản cho điện toán đám mây

Miền số 1 thể hiện trong hình trên được gọi là miền hỗ trợ mật mã. Vùng này được tách biệt với phần còn lại của kiến trúc tổng thể vì nó sẽ là cách mà khách hàng tương tác với dịch vụ. Miền này cần được cung cấp các khóa thích hợp từ người dùng đám mây để có thể sử dụng. Bằng cách tách biệt phần này với phần còn lại của kiến trúc tổng thể, sẽ đảm bảo được an toàn, các khóa bí mật sẽ được bảo vệ an toàn khỏi những kẻ tấn công trong thời gian thực thi. 

Miền 2 là phần quản lý của chính dịch vụ. Điều này được thực hiện thông qua việc triển khai một máy ảo quản lý (VM) và một phần mềm giám sát máy ảo mà trong trường hợp này là Xen Hypervisor. Lý do cho việc triển khai miền 2 là nó giúp ngăn chặn các cuộc tấn công đặc quyền, bằng cách kiểm soát truy cập tin cậy, Điều này có nghĩa là một tác vụ điển hình phải được chuyển đến miền 3 của kiến trúc.

Phần cuối cùng của kiến trúc là miền tin cậy 3. Như đã đề cập, miền này giúp kiểm soát, hạn chế truy cập chế. Các khóa được TPM mã hóa để miền tin cậy là bên duy nhất có thể giải mã. Các khóa sau đó được gửi đến miền hỗ trợ mật mã của người dùng phục vụ mã hóa/giải mã dữ liệu từ khách hàng.

CaaS cung cấp dịch vụ Entropy: Entropy như là một dịch vụ (EaaS)

Entropy là một độ đo tính ngẫu nhiên hoặc tính không dự đoán được của thông tin mà một hệ điều hành hoặc ứng dụng thu thập được để sử dụng trong việc tạo các khóa mật mã. Thực tế đã cho thấy hầu hết các máy chủ SSH và TLS đều chứa các khóa công khai dễ đoán. Ngoài ra, có khoảng 10% SSH và 5% khóa HTTPS là bị trùng lặp. Lý do cho điều này là các thiết bị kết nối Internet bị hạn chế về tài nguyên và cũng bị hạn chế trong tương tác với người dùng. Các thiết bị IoT được phát triển dựa trên giả định rằng entropy được tạo bằng phần mềm là đủ cho mật mã, nhưng cách tiếp cận này dường như không hiệu quả và những trường hợp này có khả năng tạo entropy rất hạn chế. Do đó, điện toán đám mây đang trở thành một môi trường hấp dẫn cho các cuộc tấn công mạng.

Do đó, việc tìm kiếm một nguồn entropy thực sự đáng tin cậy đã trở thành vấn đề đau đầu thực sự đối với các nhà phát triển. Một giải pháp khả thi cho vấn đề này là tìm các nguồn entropy bên ngoài có thể được chia sẻ an toàn bởi nhiều ứng dụng trong môi trường sản xuất. Các máy tính tất định tiêu chuẩn gặp khó khăn trong việc tạo ra tính ngẫu nhiên tốt, đặc biệt là các thiết bị lớp IoT bị hạn chế về tài nguyên sẽ có ít cơ hội để thu thập entropy cục bộ trước khi chúng bắt đầu các truyền thông mạng. Entropy as a Service là một dịch vụ dựa trên đám mây mới cho phép các nhà phát triển có được entropy chất lượng cao cần thiết để mã hóa mạnh dữ liệu người dùng. Dịch vụ này đáp ứng nhu cầu bảo mật cho các ứng dụng dựa trên đám mây, các thiết bị nhúng và IoT.

MỘT SỐ HẠN CHẾ CỦA CAAS

Có một vấn đề cần lưu ý khi triển khai CaaS, đó là độ trễ tổng thể, kết nối mạng, xác thực và quản lý phân phối khóa [5]. Tất cả những điều này có thể ảnh hưởng đến triển khai CaaS.  

(1) Độ trễ: Với việc thực hiện nhiều lệnh gọi theo hướng web đến một dịch vụ, dịch vụ tổng thể có thể bị ảnh hưởng nghiêm trọng khiến ứng dụng phản hồi kém và sử dụng chậm, làm ảnh hưởng đến trải nghiệm người dùng.

(2) Kết nối mạng: Kết nối mạng yếu có thể làm ảnh hưởng đến mức độ hiệu quả của hoạt động ứng dụng tổng thể.

(3) Xác thực: Điều này là cần thiết để đảm bảo chỉ những người dùng được ủy quyền mới có quyền truy cập vào dịch vụ. Mặc dù cần thiết nhưng nó cũng có thể gây ra vấn đề cho các nhà phát triển nhằm thực hiện các bước xác thực người dùng tại các điểm phù hợp và an toàn trong toàn bộ quá trình.

(4) Quản lý, phân phối khóa: Đây là vấn đề phức tạp nhất đối với việc triển khai CaaS. Điều này có thể được giải quyết bằng cách giao quyền quản lý khóa cho bên thứ ba tin cậy.

KẾT LUẬN

CaaS mang đến hiệu quả cao cho các ứng dụng trong môi trường có nhiều nguy cơ cao về an toàn chẳng hạn như thiết bị di động, điện toán đám mây. Bất kể hiệu suất thực tế như thế nào, với lớp bảo mật được bổ sung, vấn đề an toàn cho hệ thống sẽ được cải thiện vì khóa bí mật sẽ không được lưu trữ trên thiết bị đầu cuối, nơi rất dễ bị tấn công, xâm phạm. CaaS cung cấp một số đặc tính quan trọng cho hệ thống, gồm:

- Tuân thủ các tiêu chuẩn bảo mật: khóa mã luôn được lưu trữ và quản lý trong phần cứng được chứng nhận bởi các tổ chưc quốc tế như FIPS 140-2 mức 3, EAL4+ hoặc đảm bảo bởi một tiêu chuẩn/quy chuẩn riêng của mỗi quốc gia.

- Khả năng linh hoạt: CaaS hỗ trợ nhiều thuật toán và các hàm API mật mã chính mà có thể phù hợp với bất kỳ loại khóa mã nào, bao gồm cả ký số và mã hóa.

- Bảo đảm chính sách bảo mật mà chỉ có đối tượng đủ thẩm quyền mới có thể truy cập vào tài liệu/dữ liệu quan trọng của mình, ngay cả khi tài liệu/dữ liệu quan trọng cần được thu hồi hoặc cập nhật để thay khóa mã. Đồng thời, các chính sách và thủ tục đều được kiểm toán để đảm bảo rằng các dịch vụ là an toàn và đáng tin cậy.

Nhìn chung, có thể nói rằng CaaS đáng được xem xét để triển khai trong cơ sở hạ tầng bảo mật của phần lớn các công ty, tổ chức. Mặc dù còn một số lo ngại khi triển khai CaaS, các công ty và tổ chức cần phải lựa chọn hài hòa giữa lợi ích mà CaaS mang đến cho việc bảo vệ thông tin quan trọng với các vấn đề về hiệu năng và trải nghiệm người dùng.

Nhìn chung, CaaS là một lĩnh vực đang được triển khai, phát triển bởi nhiều công ty, tổ chức trên thế giới. Đây là một giải pháp bảo mật thông tin trong xu thế chuyển đổi số phục vụ phát triển Chính phủ số, kinh tế số - xã hội số.

TÀI LIỆU THAM KHẢO

1. Gartner IT Glossary, Software as a Service (SaaS) from the Gartner IT Glossary. http://www.gartner.com/itglossary/software-as-a-service-saas/

2. P. Robinson, Cryptography as a Service, 2017.

3. P. Robinson, Applying Cryptography as a Service to Mobile Applications, 2017

4. D., Franklin and et al, Cryptography as a Network Service, 2018

5. R. Hossein and et al, Encryption as a Service (EaaS) as a Solution for Cryptography in Cloud, 2017.

6. N.Rahimi and et al, On the significance of Cryptography as a Service, 2018.