Xem mẫu
- 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
- 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
- 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
- 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