Xem mẫu

  1. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) Hướng tiếp cận DPDK trong tối ưu hiệu năng xử lý bảo mật gói tin trên hệ thống gNodeB 5G Nguyễn Chí Kiên*, Bùi Việt Hùng, Phạm Ngọc Hải, Phạm Xuân Trà, Nguyễn Thị Huyền Trang, Phạm Kim Anh Dũng Trung tâm vô tuyến băng rộng – Tổng công ty Công nghiệp Công nghệ cao Viettel Email: kiennc7@viettel.com.vn Tóm tắt — Trong bối cảnh 5G (hệ thống mạng di động thế tính toàn vẹn sẽ gồm NIA1, NIA2 và NIA3 được dựa hệ thứ 5) đang từng bước trở thành hạ tầng số cốt lõi phục trên SNOW3G UIA2 [4], AES CMAC 128bit [7], ZUC vụ cho công cuộc chuyển đổi số cho xã hội số, nền kinh tế EIA3 [6]. số và chính phủ số, việc bảo đảm an toàn thông tin cho Tất cả các thuật toán bảo mật trên đều đã có những mạng 5G là một vấn đề tất yếu cho các quốc gia trên thế thư viện C để thực hiện bằng phần mềm thông thường, giới, cũng như Việt Nam. Tổ chức toàn cầu về xây dựng các tiêu chuẩn cho trạm gốc 5G - 3GPP đã đưa ra những và đây cũng cách tiếp cận truyền thống để xử lý bảo mật. thuật toán bảo mật phức tạp hơn so với thế hệ trước để Tuy nhiên với độ phức tạp tăng dần thuật toán cùng với đảm bảo an toàn thông tin cho trạm gốc 5G. Với độ phức yêu cầu cao về mặt băng thông, các thuật toán bảo mật tạp trong các khâu xử lý của từng thuật toán như vậy, cách khi được thực hiện bằng các thư viện C có sẵn, đã thể phát triển xây dựng giao thức bảo mật truyền thống cho hiện rõ các nhược điểm. Thách thức lớn nhất khi xử lý mạng 5G đã bộc lộ rất nhiều khuyết điểm, đặc biệt là ở bảo mật chính là đảm bảo tính logic của thuật toán, phần tải của CPU. Vì vậy, cách tiếp cận này đã không đảm nhưng vẫn đảm bảo được hiệu năng của hệ thống. Ví dụ bảo được thông lượng của mạng 5G, các kết quả cho thấy với một thuật toán mã hóa thông dụng ở mạng Internet nó chỉ có thể đảm bảo được mức thông lượng của mạng được áp dụng vào mạng di động 5G là NEA2 (AES CTR 4G hoặc kém hơn. Và để có thể đáp ứng được tiêu chuẩn tốc độ nhanh hơn khoảng 10 lần so với mạng 4G hiện nay, 128), mỗi bản tin sẽ được băm thành 128bit để thực hiện tức khoảng 10Gbps. Ở bài báo này, chúng tôi sẽ trình bày mã hóa như trong Hình 1. Thuật toán AES được viết tắt một cách tiếp cận hoàn toàn mới bằng DPDK (Data Plane từ Advanced Encryption Standard, hay còn được biết Development Kit), để giải quyết việc xử lý độ phức tạp đến với cái tên gốc là Rijindael[8], là một thuật toán mã trong việc bảo mật gói tin, nhưng vẫn đảm bảo được hóa khối được chính phủ Hoa kỳ áp dụng làm tiêu chuẩn những yêu cầu rất cao về mặt băng thông của hệ thống mã hóa. AES sẽ làm việc với khối dữ liệu (đầu vào và trạm gNodeB 5G. đầu ra) 128bit và khóa có độ dài 128bit. Từ khóa ban đầu, AES sẽ tạo ra các khóa con cho từng khối để thực Keywords – DPDK, xử lý bảo mật, mã hóa, trạm thu phát sóng 5G, NG-RAN. hiện mã hóa. Mỗi khối dữ liệu 128bit đầu vào sẽ được chia thành 16bytes (mỗi byte sẽ bao gồm 8 bits) để tạo I. GIỚI THIỆU thành một ma trận 4x4 để thực hiện mã hóa. Trên một vi Chuẩn 5G đã định nghĩa giao diện thế hệ mới cho xử lý Pentium Pro, việc mã hóa bằng thuật toán AES yêu Mạng truy cập RAN (gọi là NG – Next Generation cầu 18 clock cycles[8] (thời gian của một chu kỳ CPU) RAN) được cấu thành từ 3 thành phần chính gồm: CU trên mỗi byte. Điều này sẽ tương đương với việc xử lý (Central Unit), DU (Distribute Unit) và RU (Radio AES với thông lượng 11MBps cho 200MHz, tức khoảng Unit). [1] 880Mbps cho 2.00Ghz của hệ thống trạm gNodeB 5G Các giao thức bảo mật 5G sẽ được thực hiện trên CU, hiện tại. Với yêu cầu xử lý phức tạp như vậy, việc sử cụ thể là tại giao thức Packet Data Convergence Protocol dụng phần mềm thư viện C để bảo mật, nhưng vẫn đảm (PDCP). Trong khi mã hóa là phương thức bảo mật bảo được yêu cầu về xử lý những giao thức khác và băng chung cho cả mặt phẳng CP – Control Plane (đường điều thông của 5G là điều bất khả thi. khiển, cấu hình) và UP – User Plane (đường dữ liệu Do đó, hướng tiếp cận Data Plane Development Kit người dùng), thì việc bảo vệ tính toàn vẹn dữ liệu sẽ trong việc tối ưu hiệu năng xử lý bảo mật gói tin 5G là được áp dụng cho CP [2]. Các thuật toán mã hóa và bảo điều tất yếu cần phải có. DPDK là một bộ thư viện mã vệ tính toàn vẹn ở PDCP sẽ được phát triển dựa trên lý nguồn mở được Intel phát triển, nó cung cấp các API thuyết của những thuật toán bảo mật theo chuẩn thế giới. làm việc với phần cứng để phục vụ giảm tải gói tin. Theo chuẩn 3GPP [3], các thuật toán bảo mật mã hóa Ngoài ra, khi làm việc với DPDK, phần ứng dụng sẽ bỏ gồm NEA1, NEA2 và NEA3 tương ứng được phát triển qua các thủ tục ở kernel (như độ trễ của các system call, dựa trên các thuật toán SNOW3G UE2 [4], AES CTR cơ chế polling kernel). DPDK còn tối ưu hiệu năng bằng 128 [5], ZUC EEA3 [6]. Tương tự, các thuật toán bảo vệ việc sử dụng hugepage (một tính năng của Linux dùng để cấp một đơn vị vùng nhớ lớn hơn bình thường trên ISBN 978-604-80-5958-3 284
  2. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) RAM), để trao đổi gói tin giữa ứng dụng và phần cứng. thủ tục được đề ra theo chuẩn ở PDCP, các vấn đề gửi Điều cuối cùng và cũng là quan trọng nhất của DPDK nhận gói tin hay việc xóa gói tin cũng phải được đảm trong tối ưu hiệu năng bảo mật, đó là DPDK cung cấp bảo đồng bộ. Về quá trình gửi nhận các Queue riêng biệt các Poll Mode Driver (PMD) đặc thù để làm việc các sẽ được phát triển dựa trên cấu trúc linked list riêng biệt, phần cứng chuyên dụng cho việc xử lý mã hóa, hay bảo theo từng luồng xử gửi nhận ở cả CP và UP. Từ đó, đảm vệ tính toàn vẹn. Trong các phần tiếp theo, chúng tôi sẽ bảo xử lý đúng thủ tục bảo mật cho từng gói tin. Ngoài mô tả hướng áp dụng DPDK vào giao thức PDCP để ra, các biến, struct global cũng sẽ được định nghĩa thêm thực hiện bảo mật cũng như kết quả mà DPDK mang lại. để quản lí gói tin giữa khối xử lý bảo mật và thực thể PDCP. Bài báo sẽ bao gồm hai phần chính: Mô hình hệ thống và đánh giá hiệu năng hệ thống. Trong đó, phần mô hình hệ thống sẽ mô tả cách mà DPDK được áp dụng vào hệ thống trạm gNodeB 5G, cụ thể là tại lớp PDCP (Packet Data Convergence Protocol). Từ đó chúng tôi sẽ tập trung khái quát việc xử lí bảo mật một gói tin theo Hình 1. Mô hình thuật toán NEA2 (AES CTR 128) giao thức mạng 5G. Ở phần đánh giá hiệu năng hệ thống, II. MÔ HÌNH HỆ THỐNG các kết quả đánh giá sẽ được trình bày để thể hiện sự khác biệt giữa cách tiếp cách truyền thống và tiếp cận A. MÔ HÌNH ÁP DỤNG DPDK Ở GIAO THỨC theo DPDK. Ngoài ra, kết quả cũng sẽ cho thấy được PDCP tiềm năng của phương pháp cho hệ thống trạm thu phát Trong hệ thống trạm gNode 5G, PDCP là một lớp sóng gNodeb 5G. giao thức giao tiếp với mạng lõi và nằm ở khối CU. Các B. QUÁ TRÌNH XỬ LÝ GIỮA KHỐI BẢO MẬT gói tin đầu vào PDCP sẽ được thực hiện lần lượt qua các VÀ THIẾT BỊ PHẦN CỨNG XỬ LÝ BẢO MẬT giao thức đã được chuẩn 3GPP đề ra cho PDCP[3]. Ở phần này, chúng tôi sẽ trình bày về cấu hình các Những giao thức đó bao gồm: đánh số thứ tự cho gói, tham số cũng như cách giao tiếp giữa khối bảo mật và nén tiêu đề, thực hiện bảo mật và thêm tiêu đề PDCP sau các thiết bị phần cứng. Sẽ có hai tham số chính để cấu khi hoàn thành. Tương tự nhưng ngược lại với thực thể hình cho một gói tin trước khi đưa vào phần cứng xử lý, truyền tin PDCP, thì PDCP khi nhận sẽ loại bỏ tiêu đề đó là: session context và Initialization Vector (IVs). Đối PDCP, thực hiện giải mã, giải nén tiêu đề và sắp xếp lại với session context, đây là tổng hợp tất các cấu hình bất thứ tự bản tin. biến cho một đường dữ liệu của một thiết bị User Phần xử lý bảo mật sẽ được tách riêng thành một khối Equipment (UE). Nó bao gồm các tham số cấu hình như độc lập, một thread riêng chạy song song với với PDCP. chuỗi xử lý bảo mật đang thực hiện, key bảo mật (là Các gói tin sẽ được vào các queue nối giữa hai thread, chuỗi 128bit được cấu hình từ lớp trên theo chuẩn khối xử lý bảo mật có nhiệm vụ nhận các packet từ 3GPP), thuật toán bảo mật, đường dữ liệu downlink hay queue để xử lý vào gửi lại cho PDCP sau khi hoàn thành uplink. Trong đó chuỗi xử lý bảo mật là chuỗi các như Hình 2. phương thức cần thực hiện cho gói tin. Các chuỗi bảo mật sẽ được khai báo, nối với nhau qua một con trỏ next được khởi tạo trong một session context như trong hình 3. Hình 2: Mô hình xử lý tại PDCP khi áp dụng DPDK Khối bảo mật sẽ thực hiện cấu hình các tham số, các bối cảnh cần thiết cho từng gói tin trước khi thực hiện bảo mật. Sau khi gói tin đã sẵn sàng, khối bảo mật sẽ gọi các API của DPDK để đưa vào phần cứng xử lý thông qua PMD. Khối này cũng có nhiệm vụ lấy các gói tin đã được xử lý thông qua các API DPDK, và đưa về đúng các thực thể PDCP để có xử lý tiếp các giao thức còn lại. Để đảm bảo việc đồng bộ giữa hai thread, và xử lý đúng Hình 3: Cấu trúc của một session context ISBN 978-604-80-5958-3 285
  3. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) Một session context sẽ được cấp vùng nhớ qua API bộ thư viện Multi-buffer do Intel[10] phát triển, từ đó DPDK rte_cryptodev_sym_session_create() và được DPDK có thể giao tiếp và làm việc với phần cứng AES khởi tạo sau khi cấu hình các tham số qua API DPDK NI trên các bộ xử lý kiến trúc Intel như hình 5. rte_cryptodev_sym_session_init() Trong khi session context là tham số bất biến thì IV sẽ là một tham số thay đổi theo từng gói tin. IVs là một tham số không quá xa lạ với bất kì những thuật toán mã hóa dữ liệu nào nói chung, và những thuật toán bảo mật nói riêng ở 5G. Đây có thể coi là một biến private, mà chỉ ở hai thiết bị đầu cuối có thể tự ngầm hiểu cho nhau theo một quy luật riêng mà chúng quy định. Khác với key, hai điểm đầu cuối đều sẽ được cấu hình key từ ban đầu. Theo chuẩn 3GPP, giá trị IVs này sẽ được tạo dựa trên những tham số của một gói tin 5G như count, bearer Hình 5: Kiến trúc xử lý bảo mật với phần cứng AESNI MB Id, direction. Tùy thuộc vào từng thuật toán mà giá trị PMD IVs này sẽ được khởi tạo khác nhau. Toàn bộ quá trình Để giao tiếp với AESNI Crypto thì Intel đã cung cấp xử lý này được mô tả trong hình 4. nhiều thư viện API khác nhau để thực hiện. Tuy nhiên, để DPDK hỗ trợ đầy đủ các thuật toán bảo mật cho hệ thống thu phát sóng 5G thì chỉ AESNI MB là đáp ứng đủ[11]. III. ĐÁNH GIÁ HIỆU NĂNG HỆ THỐNG Đầu tiên, để đánh giá khả năng xử lý tối đa của phần cứng bảo mật bằng API DPDK. Chúng tôi thực hiện phát triển một ứng dụng đơn giản, độc lập với các giao thức PDCP. Ứng dụng sẽ thực hiện nhận gói tin và xử lý bảo Hình 4: Quá trình xử lý gói tin với phần cứng bảo mật dữ liệu mật theo key và IVs được cấu hình mặc định. Thông tin Sau khi gói tin đi vào, khối bảo mật sẽ tìm session về mức độ xử lý như tốc độ băng thông, số gói tin xử lý context đã được tạo trước đó cho gói tin này. Một struct mỗi giây sẽ được thống kế đánh giá. đặc biệt OP để giao tiếp với Crypto PMD sẽ được khởi Tiếp theo, hiệu năng xử lý bảo mật sẽ đánh giá trực tạo qua API rte_crypto_op_alloc(). Struct này được tiếp trên hệ thống trạm gNodeB 5G của Viettel. Các kết dùng để chứa session context, IVs và gói tin cần bảo quả sẽ được so sánh giữa việc sử dụng bảo mật bằng mật. Sau khi giá trị IVs được khởi tạo và đưa vào OP phần mềm và bảo mật sau khi được tích hợp với DPDK. cùng với những tham số khác, OP sẽ được đưa vào Crypto Device AESNI MB PMD Multi-buffer library 0.54 Crypto PMD để xử lý qua API version rte_cryptodev_enqueue_burst(). Các gói tin sẽ được DPDK Version 20.11.1 (LTS) đưa ra ngoài theo API rte_cryptodev_dequeue_burst(), CPU Intel (R) Xeon (R) CPU E5-2620 0 @ 2.00GHz. nếu quá trình xử lý thành công thì chuyển gói tin về lại RAM 32Gb PDCP và giải phóng OP. Thuật toán đánh giá NEA2 (AES CTR 128 Bits) C. PHẦN CỨNG HỖ TRỢ BẢO MẬT MẠNG DI Bảng 1: Thông tin hệ thống được dùng để đánh giá ĐỘNG 5G THEO DPDK. Ở bài đánh giá đầu tiên, chúng tôi đã phát triển thêm Như đã đề cập, DPDK sẽ cung cấp các PMD riêng một ứng dụng đơn giản để tạo dữ liệu và gửi liên tục qua biệt để làm việc với từng phần cứng khác nhau. Dựa trên ứng dụng xử lý bảo mật. Các thống kế kết quả được tính hệ thống trạm gNodeB 5G hiện tại, thì phần cứng có thể toán trên ứng dụng nhận, tức là ứng dụng bảo mật được đảm bảo xử lý được toàn bộ các thuật toán bảo mật theo thể hiện qua Bảng 2. chuẩn 3GPP đó là: AESN-NI Multi Buffer Crypto Poll Test Throughput Rx Throughput Tx Số gói tin Mode Driver (AESNI MB PMD). case của khối bảo mật của khối bảo mật downlink/giây AESNI MB PMD là phần cứng bảo mật phát triển 1 1.28 Gbps 1.28 Gbps 119890 gói tin dựa trên các tập hợp các lệnh tiêu chuẩn AES NI (Advanced Encryption Standard New Instruction) do 2 3.8 Gbps 3.8 Gbps 354709 gói tin Intel phát triển. Nó là một mô đun được tích hợp trên 3 5.7 Gbps ~5.7 Gbps 531519 gói tin nhiều bộ xử lý khác nhau trên kiến trúc x86 cho bộ vi xử lý của Intel và AMD vào tháng 3, 2008[9]. Mặc dù AES 4 9.8 Gbps ~9.8 Gbps 917323 gói tin NI ban đầu được thiết kế để xử lý các thuật toán bảo mật Bảng 2: Kết quả của bài đánh giá khi chạy riêng khối AES, tuy nhiên DPDK đã phát triển và cung cấp các API bảo mật để AES NI có thể xử lý được các thuật toán còn lại thuộc Kết quả tối đa đạt được khi đánh giá riêng phần xử lí bảo mạng 5G. Hệ thống trạm gNodeB 5G phải được cài một mật (chỉ thực hiện nhận, mã hóa bản tin và gửi đi) với ISBN 978-604-80-5958-3 286
  4. Hội nghị Quốc gia lần thứ 24 về Điện tử, Truyền thông và Công nghệ Thông tin (REV-ECIT2021) các giao thức tại PDCP là xấp xỉ 10Gbps. Đây cũng là mật. Từ đó cho ra những kết quả về sự khác biệt rõ rệt giới hạn tối đa của card mạng khi gửi nhận. Tuy nhiên giữa phương pháp bảo mật truyền thống và bảo mật theo với kết quả trên cũng đã chứng minh được rằng, việc sử DPDK. Với phương pháp bảo mật thông thường thì kết dụng DPDK để giảm tải xử lý bảo mật đã đảm bảo được quả việc xử lí gói tin rất kém, và tải của CPU thường những yêu cầu khắt khe về tốc độ băng thông của mạng xuyên bị quá tải. Ở những bài đánh giá cao tải, cách bảo 5G. mật này thậm chí còn ảnh hưởng trực tiếp đến hiệu năng Ở bài đánh giá tiếp theo, chúng tôi thực hiện so sánh của cả hệ thống. Dẫn đến các thiết bị di động bị ngắt kết kết quả giữa việc xử lý bảo mật trên hệ thống trạm 5G. nối và không thể tiếp tục dùng dịch vụ. Trong khi đó, Với kết quả ở Hình 6 có thể thấy với mức tải 400Mbps, với hướng tiếp cận mới bằng DPDK, tải ở CPU đã được thì khối bảo mật khi xử lý bằng thư viện C thông thường cải thiện đáng kể và thông lượng đạt được rất cao. Kết đã bị quá tải, và không thể đạt được các mức thông lượng cũng quả cho thấy, mức thông lượng được đánh giá bằng cao hơn. Tải CPU với phương pháp thông thường tăng DPDK ngang với thông lượng hiện tại của hệ thống rất lớn khi mức thông lượng tăng dần. Trong khi đó, dù mạng 5G, được cấu hình không dùng chức năng bảo ở mức tải 1.8Gbps thì CPU load ở khối bảo mật chỉ tốn mật. Điều này đã chức mình được rằng, hiệu năng của khoảng 25% cho thuật toán NEA2 khi sử dụng DPDK. cả hệ thống đã hoàn toàn được đảm bảo khi áp dụng Ngoài ra, khi mức thông lượng tăng dần lên từ 200Mbps DPDK cho việc bảo mật. lên 1.8Gbps thì tải CPU cũng không tăng quá đáng kể. Bài báo cũng đã đưa ra kết quả khi đánh giá riêng phần cứng bảo mật. Các kết quả về mặt thông lượng đã cho thấy việc áp dụng DPDK trong bảo mật, hoàn toàn đảm bảo được những thách thức về mặt tiêu chuẩn của mạng 5G. Tuy nhiên, với giới hạn hiện tại của hệ thống trạm gNodeB 5G trong bài đánh giá, các kết quả khi được tích hợp DPDK vẫn chưa thể hiện được hết tối đa khả năng xử lý của phần cứng. Việc tích hợp DPDK vào hệ thống trạm gNodeB 5G để phục vụ bảo mật dữ liệu, vẫn sẽ cần được nâng cấp và tối ưu ở những nghiên cứu tiếp theo. Hình 6: Kết quả đánh giá tải CPU ở khối bảo mật bằng hệ mô TÀI LIỆU THAM KHẢO phỏng UE [1] 3GPP 5G, “5G; NG-RAN; Architecture description,” ETSI TS Kết quả đánh giá cũng tương tự với hệ xử lý với UE thật 138 401 V15.2.0, July. 2018. như Hình 7. [2] 3GPP 5G, “5G; Security architecture and procedures for 5G System” ETSI TS 133 501 V15.2.0 Oct.2018 [3] 3GPP 5G, “5G; NR; Packet Data Convergence Protocol (PDCP)” ETSI TS 138 323 V15.2.0 Sept.2018 [4] Ghizlane Orhanou, Said El Hajji, Youssef Bentaleb, “SNOW 3G Stream Cipher Operation and Complexity Study” Contemporary Engineering Sciences, Vol. 3 (PDF) 2010 [5] Jin Hyung Park, Dong Hoon Lee, “FACE: Fast AES CTR mode Encryption Techniques based on the Reuse of Repetitive Data” (PDF) 2018 [6] Gautham Sekar, “The Stream Cipher Core of the 3GPP Encryption Standard 128-EEA3: Timing Attacks and Countermeasures” Aug.2011 [7] Dworkin, Morris (2016). "Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication" Hình 7: Kết quả đánh giá tải CPU ở khối bảo mật bằng hệ (PDF). UE thật [8] Daemen, Joan; Rijmen, Vincent (March 9, 2003). "AES Proposal: Rijndael" (PDF). National Institute of Standards and IV. KẾT LUẬN Technology. Archived (PDF) Retrieved 21 February 2013. Hệ thống mạng di động 5G đang ngày càng phổ biến [9] "Intel Software Network". Intel. Archived from the original on và thách thức những giới hạn mới của mạng di động. Do 7 April 2008. Retrieved 2008-04-05. đó, để có thể đảm bảo được những tiêu chuẩn về tốc độ [10] Jim Guiford, Sean Gulley, Erdinic Ozturk, Kirik Yap, Vinodh Gopal, Wajdi Feghali, “Fast Multi-buffer IPsec băng thông 5G, nhưng vẫn thực hiện được các giao thức Implementations on Intel®” (PDF) Dec.2012 bảo mật dữ liệu phức tạp, thì việc áp dụng DPDK vào hệ [11] DPDK, “Crypto Device Supported Functionality Matrices”, thống để giảm tải là một điều tất yếu cần phải có. Document dpdk. Bài báo đã mô tả kĩ thuật hướng tiếp cận DPDK, https://doc.dpdk.org/guides/cryptodevs/overview.html cũng như phương pháp để lớp giao thức PDCP của hệ [12] IEEE, “Requirements and challenges of 5G cellular systems”, thống trạm 5G có thể giao tiếp được với phần cứng bảo Published 27-28 Feb.2016 ISBN 978-604-80-5958-3 287
nguon tai.lieu . vn