Những thách thức mới cho thuật toán mã hóa của 5G và SNOW-V

Ericsson Research đã đề xuất SNOW-V như một ứng cử viên tiềm năng để đưa vào đặc tả kỹ thuật của 5G.

 3 thách thức ảnh hưởng đến thuật toán mã hóa

Ngày nay chúng ta thấy rằng 5G mang lại những thách thức mới sẽ ảnh hưởng đến các thuật toán mã hóa không gian. Cụ thể, có thể tổng hợp 3 thách thức:

- Ảo hóa - hầu hết các thành phần của 5G có thể được ảo hóa, bao gồm cả các lớp mật mã.

- Hiệu suất - 5G dự kiến sẽ hoạt động ở tốc độ rất cao, ít nhất là 20 Gbps.

- Bảo mật - 5G dự kiến sẽ nâng cao bảo mật lên mức 256 bit để giảm thiểu những tiến bộ trong tương lai trong phân tích mật mã (ví dụ, các cuộc tấn công lượng tử).

Ảo hóa: Cần giải quyết sớm

20211223-pg14.jpg

Chúng ta nhận thấy ngày càng có nhiều nhu cầu về cài đặt ảo hóa, cả trong mạng lõi và RAN. Điều quan trọng là phải giải quyết nhu cầu này sớm để tránh nảy sinh các vấn đề trong tương lai và làm cho việc triển khai 5G linh hoạt nhất có thể.

Việc ảo hóa RAN tất nhiên chỉ là một phần, vì các bộ khuếch đại công suất vô tuyến và các anten thực sự vẫn là vật lý, nhưng có một số khía cạnh của RAN có thể chạy thành công trong môi trường đám mây. Tuy nhiên, các thuật toán mã hóa không gian đang ở tầng cao trong kiến trúc chung và do đó dự kiến sẽ được thực thi trong môi trường đám mây.

Hiệu suất: Đảm bảo hoạt động tốc độ cao

Do yêu cầu phải thực thi được trên đám mây, nên có một số thách thức nhất định đối với loại thuật toán có thể được sử dụng. Trong môi trường đám mây, có thể không có khả năng sử dụng bộ tăng tốc phần cứng và ASIC chuyên dụng để triển khai chức năng mã hóa. Các thuật toán cần có khả năng đạt được tốc độ mục tiêu của 5G với phần mềm thuần túy.

Vậy, tốc độ mục tiêu của 5G là bao nhiêu? Liên minh Viễn thông quốc tế (ITU) đã tuyên bố 20 Gbps là tốc độ tối thiểu cho đường xuống và tốc độ tối đa đường lên đến 40 hoặc 50 Gbps. Đó là những tốc độ ấn tượng. 3GPP (cơ quan tiêu chuẩn hóa cho các mạng di động) cho rằng cần đảm bảo rằng các mật mã cho mạng di động trong tương lai có thể xử lý tốc độ như vậy, để bảo mật không trở thành một nút cổ chai!

Điều tối quan trọng là các thuật toán có thể chạy nhanh trong phần mềm, nếu không, việc ảo hóa RAN sẽ không thể xảy ra và các nhà cung cấp dịch vụ sẽ mất lợi thế của việc sử dụng phần cứng thương mại bán sẵn trong nền tảng đám mây.

Bảo mật: Độ an toàn 256 bit

Một điểm mới sắp tới của hệ thống 5G mà 3GPP đã bắt đầu một nghiên cứu là việc tăng kích thước khóa mã hóa từ khóa 128 bit lên khóa 256 bit. Điều này cũng ảnh hưởng đến các thuật toán mật mã vì chúng phải có khả năng đáp ứng kích thước khóa tăng lên và đủ mạnh để cung cấp mức bảo mật tăng lên tương ứng. Một mật mã tốt là phải an toàn đến mức không có cách tấn công nào tốt hơn việc tìm kiếm vét cạn tất cả các khóa có thể.

Thuật toán SNOW-V

Trong 3G có 3 thuật toán mã hóa đều có độ dài khóa 128 bit, đó là AES-128, SNOW 3G và ZUC. Hiện nay cũng có 3 thuật toán có độ dài khóa 256 bit là dự tuyển cho 5G, đó là AES-256, SNOW-V và ZUC-256. Trong phần này, chúng tôi đi sâu giới thiệu về SNOW-V.

SNOW 1.0, ban đầu chỉ đơn giản là SNOW, đã được đệ trình cho dự án NESSIE. Thuật toán hoạt động trên các từ 32 bit và hỗ trợ cả khóa 128 và 256 bit, bao gồm sự kết hợp của LFSR và FSM trong đó LFSR nuôi hàm trạng thái tiếp theo của FSM. Thuật toán có giai đoạn khởi đầu ngắn và hiệu suất rất tốt trên cả bộ vi xử lý 32 bit và phần cứng.

Phiên bản đầu tiên của bài báo này đã được xuất bản trong Tuyển tập của Hội thảo mở lần thứ nhất của Nessie (diễn ra tại Heverlee, Bỉ, ngày 13-14/11/2000. Một thời gian sau, Ủy ban NESSIE đã mời những nhóm đệ trình thuật toán định ra một phương thức hoạt động mới có chứa biến khởi tạo (IV) và được công bố  [1].

Các điểm yếu đã được phát hiện trong quá trình đánh giá và kết quả là SNOW không được đưa vào bộ thuật toán NESSIE. Các tác giả đã phát triển một phiên bản mới, phiên bản 2.0 của mật mã [2], giải quyết các điểm yếu và cải thiện hiệu suất. SNOW 2.0 là một trong những thuật toán mã dòng của chuẩn ISO/IEC 18033-4 [3].

Trong quá trình đánh giá của ETSI SAGE, thiết kế đã được sửa đổi thêm để tăng khả năng chống lại các cuộc tấn công đại số với kết quả được đặt tên là SNOW 3G. SNOW 3G được chọn như mã dòng cho thuật toán mật mã của 3GPP [4].

SNOW 3G chỉ có độ dài khóa 128-bit và khi cài đặt phần mềm thuần túy thì tốc độ chỉ đạt xấp xỉ 9 Gbps. Cũng có thể lấy khóa trong SNOW 3G có độ dài 256-bit và lúc đó ta có SNOW 3G*. Tuy nhiên, tốc độ thực thi vẫn không được cải thiện.

Tiếp theo là SNOW 2.0 và SNOW 3G là kết quả nghiên cứu của Patrik Ekdahl và Thomas Johansson. SNOW 3G đã được 3GPP chấp nhận sử dụng cho 2 thế hệ 3G và LTE/4G.

Lẽ dĩ nhiên là nhóm tác giả của SNOW 3G muốn có một phiên bản của nó được 3GPP chấp nhận sử dụng trong 5G. Để đạt được các mục tiêu mới của 5G và tăng tính linh hoạt khi triển khai, Ericsson Research (nơi làm việc của Patrik Ekdahl và Alexander Maximov) cùng với Lund University (nơi làm việc của Thomas Johansson và Jing Yang) đã phát triển một mật mã mới có tên SNOW-V, trong đó V là viết tắt của virtualization (ảo hóa).

SNOW-V là phiên bản sửa đổi kỹ lưỡng của SNOW 3G, thuật toán hiện được sử dụng trong 3G/4G. SNOW-V sử dụng lại các nguyên tắc thiết kế tốt nhất của SNOW 3G, nhưng cực kỳ phù hợp để triển khai bằng phần mềm khi dùng các lệnh SIMD được vector hóa và cũng tận dụng các lệnh để mã hóa AES có sẵn trong tất cả các CPU hiện đại. SNOW-V cũng có mức độ bảo mật 256-bit được tăng lên, so với mức bảo mật 128 bit của SNOW 3G. Hình 1 giới thiệu tổng quan về SNOW-V.

Thiết kế của SNOW-V

Cấu trúc chung của SNOW-V kế thừa các nguyên tắc thiết kế và bảo mật của SNOW 3G, với LFSR tuyến tính và FSM phi tuyến tính, nhưng cả hai đều được cập nhật để phù hợp hơn với triển khai được vector hóa để làm cho nó hiệu quả trong môi trường phần mềm.

Phần LFSR là một cấu trúc xoay vòng bao gồm hai LFSR (có tên là LFSR-A và LFSR-B) được xác định bởi hai đa thức, chúng cung cấp vật liệu cho nhau. Cả hai đều có 16 trạng thái và mỗi trạng thái là một phần tử từ GF(216), nhưng với các đa thức sinh khác nhau, do đó cho tổng số 512 bit.

Một cấu trúc LFSR như vậy có thể đạt được độ dài chu kỳ tối đa là 2512 - 1. Mỗi lần khi cập nhật LFSR, LFSR-A và LFSR-B chạy 8 nhịp, có nghĩa là 256 bit trong tổng số trạng thái 512 bit sẽ được cập nhật và sau đó 2 băng 128-bit T1 và T2 được lấy ra tương ứng từ (b15, b14,..., b8) và (a7, a6,..., a0) sẽ được nạp cho FSM.

FSM có ba thanh ghi 128-bit R1, R2 và R3. Hai vòng AES đầy đủ được sử dụng làm hai S-hộp lớn 128-bit. Tại mỗi lần lặp, FSM lấy T1 và T2 từ LFSR làm đầu vào và tạo ra dòng khóa 128 bit. Sau đó, các thanh ghi R2 và R3 được cập nhật tương ứng từ R1 và R2 thông qua một vòng mã hóa AES đầy đủ với khóa vòng được đặt bằng 0, trong khi R1 được cập nhật từ R2, R3 và T2 bằng sự kết hợp của các phép toán xor, phép cộng số học và một hoán vị σ.

Chế độ hoạt động AEAD cũng được cung cấp cho SNOW-V khi tận dụng thuật toán toàn vẹn và xác thực của mã xác thực thông điệp Galois (GMAC) để cung cấp thêm khả năng xác thực cho thông điệp.

Một lợi thế khác biệt của GMAC trong SNOW-V là ở chỗ H-key (khóa băm) được sử dụng trong hàm GHASHH là được tạo mới cho mỗi cặp (K, IV), điều này không giống, ví dụ như trong chế độ AES-GCM, ở đó H-key chỉ được lấy ra từ K. Mô tả chi tiết của SNOW-V có trong [5].

Độ an toàn của SNOW-V

Bài báo [5] có 42 trang và mục "3. Phân tích độ an toàn (Security Analysis)" chiếm một dung lượng lớn trong đó. Nhắc lại rằng SNOW-V có khóa K 256 bit và vecto khởi đầu IV 128-bit. Những tấn công sau đã được nghiên cứu (có sử dụng nhiều các kết quả của các tài liệu khác đã được trích dẫn trong [5]):

- Các tấn công khởi đầu thông qua các tấn công MDM/AIDA/cube.

- Các tấn công khởi đầu khác (kết hợp với sai khác ở các bit khóa)

- Tấn công đánh đổi thời gian/bộ nhớ/dữ liệu

- Các tấn công phân biệt tuyến tính và các tấn công tương quan

- Các tấn công đại số

- Tấn công đoán-và-xác định

- Các tấn công khác (các tấn công cài đặt gồm có tấn công kênh kề, tấn công gây lỗi) .

Từ bảng 2 trong [5] có thể thấy rằng, tấn công cube lên SNOW-V được rút gọn còn có 7 vòng đã yêu cầu độ phức tạp lớn hơn 2256. Trong [6], các tác giả đã thực hiện một phân tích sâu và kỹ lưỡng liên quan đến các tấn công đoán-và-xác định, và phát hiện ra một tấn công có độ phức tạp 2406, điều này cũng cho thấy một hành lang an toàn tốt của thuật toán.

Qua việc nghiên cứu đánh giá độ an toàn đối với những tấn công chung cho mã dòng (như tấn công tương quan, tấn công đại số) cho tới những tấn công tương đối đặc thù cho họ SNOW (như tấn công đoán-và-xác định), cho đến thời điểm này có thể kết luận rằng SNOW-V đạt được độ an toàn cần thiết.

Hiệu suất phần mềm

Bây giờ chúng ta chuyển sang câu hỏi quan trọng là chúng ta có thể chạy mã pháp này trong phần mềm nhanh như thế nào. Điểm chuẩn tự nhiên sẽ là AES-256, nó cung cấp cùng mức độ bảo mật và được sử dụng trong nhiều giao thức khác nhau như TSL và IPSec chẳng hạn.

Bảng 1 cung cấp số liệu hiệu suất cho cả chế độ mã hóa thuần túy và chế độ AEAD. Chúng ta có thể thấy rằng đối với độ dài bản rõ thực tế, SNOW-V vượt trội hơn AES-256 bởi hệ số 1,5 - 1,6 ở chế độ mã hóa. Ở chế độ AEAD, nó cung cấp một hiệu suất cạnh tranh.

Bảng 1 cho thấy hiệu suất trên máy tính xách tay nền tảng Intel. Bảng 4 của [5] là kết quả chạy thuật toán trên iPhone của Apple để xem hiệu suất trên hệ thống dựa trên ARM, nơi một lần nữa, SNOW-V đạt tốc độ trên 20Gbps.

Kết luận

Ericsson Research đã đề xuất SNOW-V như một ứng cử viên tiềm năng để đưa vào đặc tả kỹ thuật của 5G [7]. Tại thời điểm hiện tại, trong tài liệu Security Architecture and Procedures for 5G system (Release 16) [8] vẫn chỉ có các thuật toán mã hóa 128-bit, đó là AES-128, SNOW 3G và ZUC. Ba thuật toán 256-bit đang được xem xét đó là AES-256, SNOW-V và ZUC-256.

Có thể kết luận rằng SNOW-V đáp ứng tất cả ba yêu cầu đặt ra cho các thuật toán mã hóa của hệ thống 5G (ảo hóa, hiệu suất, bảo mật). Nhưng đặc tính quan trọng nhất của thuật toán mã hóa là phải an toàn. Đây không phải là điều có thể kết luận chắc chắn bất cứ lúc nào, vì các cuộc tấn công mới liên tục xuất hiện. Những gì có thể nói là chúng ta tin rằng SNOW-V có khả năng chống lại tất cả các cuộc tấn công đã biết ngày nay. Chính vì lẽ đó, SNOW-V là một ứng cử viên tiềm năng cho 5G.