Đặt vấn đề Trong những năm gần đây, nhu cầu cho một mô hình mạng linh hoạt hơn và có thể được dễ dàng cấu hình hơn so với mô hình mạng truyền thống đang ngày càng tăng cao bởi xu hướng ứng dụng công nghệ ảo hóa hạ tầng mang (virtualized network infrastructures) và công nghệ đám mây (cloud computing) trong lĩnh vực phát triển công nghệ mạng ngày càng trở nên phô biến. Dé đáp ứng cho nhu cầu này, một mô hình mạng mới được đề xuất mang tên mạng khả lập trình (Software-Defined Network hay SDN). Mô hình mạng mới này hứa hẹn mang đến sự dẻo dai và khả năng thích ứng cao, đồng thời có thé dé dàng tích hợp công nghệ ảo hóa và công nghệ đám mây vào hệ thống. SDN có cấu tạo hoàn toàn khác so với mạng truyền thống.
Ở mạng truyền thống, tầng điều khiển và tang đữ liệu nằm trên cùng một thiết bị mang. Tuy nhiên ở SDN, tang điều khiển và tang dữ liệu được tách thành hai tầng riêng biệt. Tầng điều khiển chứa những bộ điều khiển phần mềm đảm nhiệm mọi nhiệm vụ điều khiển và quản lý các thiết bị và lưu lượng (dataflow) trên mạng. Còn tầng dữ liệu chứa những ứng dụng mạng và dữ liệu mạng khác.
Những ứng dụng mạng này tương tác với bộ điều khiển và sử dụng tài nguyên của SDN thông qua những API (Application Programming Interface) do bộ điều khiển cung cấp. Sự tách rời này cho phép SDN có khả năng mở rộng cao (theo cả chiều ngang và chiều dọc), có thể được dé dang nâng cấp theo ý muốn và linh hoạt hơn trong công tác quản lý. SDN đang là một tiêu điểm trong lĩnh vực phát triển công nghệ mạng và là một mô hình mạng có nhiều hứa hẹn trong tương lai. Tuy nhiên, SDN cũng có những vấn đề bảo mật cần được giải quyết trước khi có thể thay thế mạng truyền thống.
Một trong những vấn dé nghiêm trọng nhất là SDN chưa có cơ chế xác thực danh tinh, phân quyền và kiểm soát cho ứng dụng mạng muốn truy cập vào bộ điều khiển. Vì thế, kẻ tắn công có thể lợi dụng lỗ hồng bảo mật này đề xâm nhập và tan công hệ thống mạng. Tình hình nghiên cứu Dé khắc phục van đề thiếu cơ chế xác thực danh tính cho ứng dụng truy cập bộ điều khiển, nhóm tác giả gồm Tao Hu và cộng sự [5] đã đề ra phương pháp SEAPP trong bài báo “SEAPP: A secure application management framework based on REST API access control in SDN-enabled cloud environment”, SEAPP gồm hai bộ phận. Bộ phận thứ nhất thực hiện phát hiện và kiểm tra độ hợp lệ về quyền của ứng dụng.
Bộ phận thứ hai thực hiện đăng ký xác thực cho ứng dụng. Những ứng dụng đã đăng ký sẽ được xác thực trong một môi trường mã hóa. Sau đó, những ứng dụng ấy sẽ được phân quyền sử dụng API dựa vào mức độ nguy hiểm của mỗi ứng dụng. Khi một ứng dụng gọi API, quyền hạn của nó sẽ được kiểm tra.
Giải pháp này đã một phần nào đó giải quyết được vấn đề về độ tin tưởng thông qua việc giới hạn quyền hạn. Tuy nhiên, giải pháp này vẫn chưa thể đảm bảo hoàn toàn độ tin tưởng của từng ứng dụng, độ tin cậy của cơ sở dữ liệu lưu trữ thông tin về xác thực và phần quyền, chưa có cơ chế phục hồi khi gặp sự có. Blockchain có thể khắc phục được những điểm yếu của giải pháp trên qua một số đặc tính sau. Độ tin tưởng của ứng dụng tham gia mạng có thể được đảm bảo thông qua những thuật toán đồng thuận (consensus algorithm).
Độ tin cậy của cơ sở dit liệu được đảm bảo bởi tính bất biến (immutability) của blockchain. Ngoài ra, blockchain cũng đảm bao tính chống phá hoại và khả năng phục hồi cao đo blockchain lưu trữ bản sao ở nhiều nơi khác nhau. Nhờ đặc tính phi tập trung này (decentralised), nếu một node trong mạng blockchain bị hỏng thì sẽ không làm ảnh hưởng đến hoạt động của mạng blockchain. Hơn nữa, blockchain có thê lưu lại mọi hoạt động của ứng dụng mạng, điều này cho phép sự thuận lợi trong điều tra khi có sự cố hệ thống.
Ý tưởng sử dụng blockchain cho tác vụ xác thực và an ninh cũng đã được một số nhóm nghiên cứu đề suất và đã trả về những kết quả tốt. Một ý tưởng được đề ra, bởi nhóm tác giả gồm Mohamed Tahar Hammi và cộng sự, là sử dung công nghệ blockchain đề xây dựng cơ chế xác thực cho mạng IoT [1] trong bài báo “Bubbles of Trust: A decentralized blockchain-based authentication system for IoT”. Nhóm tác giả này đề xuất phương pháp xây dựng một không gian ảo an toàn, một vùng tin tưởng (Bubble of Trust), dé các thiết bị IoT có thể tin tưởng và trao đổi với nhau. Những thiết bị IøT ở ngoài một vùng không thể giao tiếp với thiết bị bên trong.
Mỗi giao dịch giữa hai thiết bị sẽ được xác thực bởi blockchain. Công trình này cho thấy sự bảo đảm an toàn khi áp dụng blockchain cho xác thực. Wang [6] đã xây dựng hệ thống blockchain nhằm đảm bảo an ninh cho hệ thống phương tiện giao thông có tích hợp thiết bị IoT kết nối qua 5G trong bài “Blockchain-based secure and trustworthy Internet of Things in SDN-enabled 5G-VANETS”. Mọi hoạt động của phương tiện trong mạng, như hình ảnh hay thông tin vị trí hay những chia sẻ thông tin, đều được lưu vào blockchain.
Những phương tiện trong mạng sẽ thực hiện trao đồi thông tin về đường xá dé có thể di chuyển một cách thuận tiện nhất. Khi một phương tiện quảng bá thông tin, những phương tiện khác sẽ thực hiện việc xác thực thông tin đó. Nếu một phương tiện quảng bá quá nhiều thông tin được xác thực là không chính xác, phương tiện ấy sẽ bị đưa vào danh sách đen và bị chặn quyền quảng bá. Công trình này cho thấy sự hiệu quả của blockchain trong việc phát hiện thực thé gây hại, đảm bảo tính chịu trách nhiệm, tính bat biến của thông tin được lưu lại và khả năng triển khai quy mô lớn khi áp dụng blockchain cho việc xác thực.
Tính khoa học và tính mới của đề tài SDN là một mô hình mới, hứa hẹn sẽ phát triển trong tương lai. SDN giúp cho việc quản lý và kiểm soát mạng hiệu quả và đơn giản hơn. SDN cung cấp một mạng tập trung, có thê lập trình, có thể cung cấp hệ thống mạng linh động để giải quyết các nhu cầu thay đổi của các doanh nghiệp. Với SDN, quản trị viên có thể thay đổi bất kỳ quy tắc chuyển đổi mạng nào khi cần thiết, cô lập hoặc thậm chí chặn các loại gói cụ thể với mức độ kiểm soát và bảo mật cụ thé.
Tuy nhiên van đề bảo mật là một thách thức lớn với mang SDN. Việc truy cập vào bộ điều khiển cho phép đối tượng tham gia hệ thống mạng có thể có được nhiều thông tin quan trọng và có thé kiểm soát được toàn toàn bộ hệ thống mạng. Do đó, cần có cơ chế xác thực, phần quyền và kiểm soát các ứng dụng một cách chặt chẽ khi truy cập và sử dụng kênh giao tiếp Northbound. Ngoài ra, cơ chế này cần phải khắc phục được các nhược điểm của cơ chế cũ trước đây như: dữ liệu có thể chỉnh sửa hoặc xoá đổi, leo thang đặc quyền trên ứng dụng hoặc xóa bỏ các tập tin ghi log; mô hình quan lý tập trung (centralization) gây ra vấn đề một điểm chết của hệ thống.
Để giải quyết những vấn đề trên, nhóm đề xuất một hệ thống AAA với các cách tiếp cận sau: e Phan tích những nguy cơ bao mật, lỗ hồng tại kênh giao tiếp Northbound và những yêu cầu cho việc xây dựng một cơ chế xác thực tin cậy dựa trên chuẩn AAA. Điều này đảm bảo việc xác thực, phân quyền và kiểm soát các ứng dụng khi truy cập đến bộ điều khién một cách đúng đắn và an toàn. e Sử dụng công nghệ Blockchain làm nền tảng. Với các đặc điểm: bền bỉ dữ liệu và phi tập trung, việc sử dụng công nghệ Blockchain làm nền tảng giúp cho hệ thống AAA mới có thể khắc phục được các điềm yếu còn tồn tại trong các hệ thống cũ.
Với các tiếp cận này, hệ thống xác thực mới do nhóm đề xuất sẽ có thể khắc phục các điểm yếu còn tồn tại trong các hệ thống xác thực truyền thống. Qua đó giúp tăng cường bảo mật cho bộ điều khiển khỏi những ứng dụng độc hại và giúp hệ thống mạng SDN hoạt động an toàn và tin cậy hơn. Mục tiêu đề tài Việc xác thực tin cậy các ứng dụng muốn truy cập bộ điều khiển và loại bỏ những ứng dụng gây hại khỏi SDN là những điều cấp thiết và cực kỳ quan trọng. Vì thế, nhóm tác giả đề xuất một hệ thống AAA (xác thực, phân quyền, kiểm soát) dựa trên công nghệ blockchain để tăng cường an ninh cho SDN, đặc biệt là kênh giao tiếp northbound.
Hệ thống AAA này sẽ thực hiện xác thực và phân quyền cho những ứng dụng truy cập bộ điều khiển. Ngoài ra hệ thống sẽ tận dụng những đặc tính của blockchain dé có thé đảm bảo tính bên bi, độ tin cậy và khả năng phục hồi nhanh cho dữ liệu. Tác giả đề xuất hệ thống AAA hướng tới một sô mục tiêu sau: Xây dựng cơ chế xác thực cho ứng dụng quan lý mang/cau hình bao mật mang muốn truy cập vào bộ điều khiển hay những đối tượng hoạt động trong SDN. Xây dựng cơ chế phân quyền cho ứng dụng quản lý mạng/cấu hình bảo mật mạng, mọi yêu cầu từ ứng dụng gửi lên bộ điều khiển sẽ được kiểm tra quyền hạn trước khi bộ điều khiển trả về dit liệu được yêu cau.
Xây dựng tính năng truy vết hoạt động của ứng dụng trong SDN dựa trên blockchain, mọi hoạt động đều được ghi log trên blockchain. Đảm bảo tính sẵn sàng của hệ thống, giảm thiểu nguy cơ lỗi single-point of failure và khả năng phục hồi nhanh chóng bằng cách tận dụng đặc tính phi tập trung (decentralised) của blockchain. Đảm bao tính bền bi và độ tin cậy của dữ liệu bằng cách tận dụng đặc tính bat biến (immutability) của blockchain, dé liệu được lưu rất khó có thể bị sửa đổi hay xóa đi. Đối tượng nghiên cứu Các ứng dụng quản lý mạng/cấu hình bảo mật mạng.
Các bộ điều khiển khi tương tác với từng vùng mạng. Công nghệ blockchain và đặc tính của nó. Những hệ thống và loại giao thức AAA (Authentication — Authorisation - Accounting) phổ biến. Các kênh giao tiếp của cấu trúc SDN Mạng điều khiển phần mềm (SDN) 1.