57
1 LI CẢM ƠN Lời đầu tiên tôi xin gi li cảm ơn sâu sắc nhất đến thy TS. HVăn Canh, đã tận tâm, tn lực hướng dẫn, định hướng cho tôi, đồng thời, cũng đã cung cấp nhiu tài liu và tạo điều kin thun li trong sut quá trình hc tp và nghiên cứu để tôi có thhoàn thành luận văn này. Tôi xin chân thành cảm ơn đến các thy, cô trong Bmôn Qun lý hthng thông tin và Khoa Công nghthông tin, Trường Đại hc Công ngh- Đại hc Quc gia Hà Ni cùng với ban lãnh đạo nhà trường đã nhiệt tình ging dy và truyền đạt nhng kiến thc, kinh nghim qúy giá trong sut quá trình hc tp rèn luyn tại trường. Tôi xin gi li cảm ơn đến các bn hc viên lp K22-QLHTTT, nhóm bo mt UET đã đồng hành cùng tôi trong sut quá trình hc tp. Cảm ơn gia đình, bạn bè đã quan tâm và động viên giúp tôi có nghlc phấn đấu để hoàn thành tt luận văn này. Do kiến thc và thi gian có hn nên luận văn sẽ không tránh khi nhng thiếu sót nhất định. Tôi rt mong nhận được nhng sgóp ý quý báu ca thầy cô, đồng nghip và bn bè. Mt ln na xin gi li cảm ơn chân thành và sâu sắc. Hà Ni, 27 tháng 12 năm 2017 Hc viên thc hin Nguyn ThThuDung

LỜI CẢM ƠN ử ờ ầy TS. Hồ

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

1

LỜI CẢM ƠN

Lời đầu tiên tôi xin gửi lời cảm ơn sâu sắc nhất đến thầy TS. Hồ Văn Canh, đã tận

tâm, tận lực hướng dẫn, định hướng cho tôi, đồng thời, cũng đã cung cấp nhiều tài liệu và

tạo điều kiện thuận lợi trong suốt quá trình học tập và nghiên cứu để tôi có thể hoàn thành

luận văn này.

Tôi xin chân thành cảm ơn đến các thầy, cô trong Bộ môn Quản lý hệ thống thông

tin và Khoa Công nghệ thông tin, Trường Đại học Công nghệ - Đại học Quốc gia Hà Nội

cùng với ban lãnh đạo nhà trường đã nhiệt tình giảng dạy và truyền đạt những kiến thức,

kinh nghiệm qúy giá trong suốt quá trình học tập rèn luyện tại trường.

Tôi xin gửi lời cảm ơn đến các bạn học viên lớp K22-QLHTTT, nhóm bảo mật UET

đã đồng hành cùng tôi trong suốt quá trình học tập. Cảm ơn gia đình, bạn bè đã quan tâm

và động viên giúp tôi có nghị lực phấn đấu để hoàn thành tốt luận văn này.

Do kiến thức và thời gian có hạn nên luận văn sẽ không tránh khỏi những thiếu sót

nhất định. Tôi rất mong nhận được những sự góp ý quý báu của thầy cô, đồng nghiệp và

bạn bè.

Một lần nữa xin gửi lời cảm ơn chân thành và sâu sắc.

Hà Nội, 27 tháng 12 năm 2017

Học viên thực hiện

Nguyễn Thị Thuỳ Dung

2

LỜI CAM ĐOAN

Tôi xin cam các kết quả đạt được trong luận văn “Nghiên cứu họ hệ mật WG trong

mật mã hạng nhẹ” do tôi thực hiện dưới sự hướng dẫn của TS. Hồ Văn Canh.

Trong toàn bộ nội dung nghiên cứu của luận văn, các vấn đề được trình bày đều là

những tìm hiểu và nghiên cứu của cá nhân tôi hoặc là trích dẫn các nguồn tài liệu và một

số trang web đều được đưa ra ở phần Tài liệu tham khảo.

Tôi xin cam đoan những lời trên là sự thật và chịu mọi trách nhiệm trước thầy cô và

hội đồng bảo vệ luận văn thạc sĩ.

Hà Nội, 27 tháng 12 năm 2017

Nguyễn Thị Thùy Dung

3

MỤC LỤC

LỜI CẢM ƠN .............................................................................................................................................. 1

LỜI CAM ĐOAN ........................................................................................................................................ 2

MỤC LỤC.................................................................................................................................................... 3

DANH MỤC HÌNH VẼ .............................................................................................................................. 5

DANH MỤC BẢNG .................................................................................................................................... 6

DANH SÁCH CÁC TỪ VIẾT TẮT .......................................................................................................... 7

MỞ ĐẦU ...................................................................................................................................................... 9

CHƯƠNG 1 TỔNG QUAN VỀ HỌ HỆ MẬT WG ............................................................................... 11

1.1 Lịch sử mật mã dòng WG [2], [7] ..................................................................................................... 11

1.2 Cơ sở toán học [6] ............................................................................................................................. 12

1.2.1 Mô đun số học ............................................................................................................................ 12

1.2.2 Nhóm và trường ......................................................................................................................... 12

1.2.3 Trường hữu hạn .......................................................................................................................... 14

1.2.4 Lựa chọn cơ sở ........................................................................................................................... 16

1.2.5 Thanh ghi dịch phản hồi tuyến tính LFSR [6] ........................................................................... 17

1.3 Họ hệ mật WG [3],[5] ....................................................................................................................... 22

1.3.1 Cơ sở .......................................................................................................................................... 22

1.3.2 Nguyên tắc hoạt động của họ hệ mật WG .................................................................................. 23

1.3.3 Khởi tạo khóa và hoạt động của mật mã .................................................................................... 27

1.4 Phân tích họ hệ mật WG [3],[9] ........................................................................................................ 30

1.4.1 Các thuộc tính ngẫu nhiên của dòng khóa ................................................................................. 30

1.4.2 Chuyển đổi WG ......................................................................................................................... 31

1.4.3 An ninh chống lại các cuộc tấn công ......................................................................................... 31

1.5 Công nghệ RFID và họ hệ mật WG [6], [8] ...................................................................................... 34

CHƯƠNG 2 CÁC HỆ MẬT WG-8 VÀ WG-16 ..................................................................................... 37

2.1 Tổng quan hệ mật WG-8 [8] ............................................................................................................. 37

2.1.1 Giới thiệu WG-8 ........................................................................................................................ 37

2.1.2 Thuật ngữ và ký hiệu ................................................................................................................. 37

2.1.3 Đặc tả cấu trúc mật mã dòng WG-8 ........................................................................................... 38

4

2.1.4 Đánh giá các tấn công mật mã dòng WG-8 ............................................................................... 40

2.2 Hệ mật WG-16 [1] ............................................................................................................................ 43

2.2.1 Giới thiệu WG-16 ...................................................................................................................... 43

2.1.2 Thuật ngữ và ký hiệu ................................................................................................................. 44

2.1.3 Đặc tả cấu trúc mật mã dòng WG-16 ......................................................................................... 45

2.1.4 Đánh giá các tấn công mật mã dòng WG-16 ............................................................................. 47

CHƯƠNG 3 ĐỀ XUẤT CẢI TIẾN HỆ MẬT WG – UET VÀ CHƯƠNG TRÌNH DEMO ............... 50

3.1 Đề xuất cải tiến hệ mật WG-UET ..................................................................................................... 50

3.2 Bài toán và cài đặt chương trình ....................................................................................................... 53

KẾT LUẬN ................................................................................................................................................ 55

HƯỚNG NGHIÊN CỨU TIẾP THEO ................................................................................................... 56

TÀI LIỆU THAM KHẢO ........................................................................................................................ 57

5

DANH MỤC HÌNH VẼ

Hình 1.1 Sơ đồ khối của LFSR ................................................................................................................... 17

Hình 1.2 LFSR 3 trạng thái ......................................................................................................................... 18

Hình 1.3 LFSR 4 trạng thái ......................................................................................................................... 19

Hình 1.4 Mạch LFSR 3 bít .......................................................................................................................... 20

Hình 1.5 Đa thức đặc trưng cài đặt LFSR. .................................................................................................. 20

Hình 1.6 Đa ứng dụng cài đặt LFSR ........................................................................................................... 21

Hình 1.7 Cài đặt phép chia LFSR ............................................................................................................... 21

Hình 1.8 Sơ đồ mô tả mật mã WG .............................................................................................................. 23

Hình 1.9 Sơ đồ khối của chuyển đổi WG ................................................................................................... 24

Hình 1.10 Sơ đồ khối cài đặt chuyển đổi WG ........................................................................................... 25

Hình 1.11 Pha khởi tạo khóa của mật mã WG ............................................................................................ 28

Hình 1.12 Hệ thống RFID ........................................................................................................................... 35

Hình 2.1 Pha thực thi của mật mã WG-8 .................................................................................................... 40

Hình 2.2 Pha khởi tạo của mật mã dòng WG-16 ........................................................................................ 45

Hình 2.3 Pha thực thi của mật mã WG-16 .................................................................................................. 47

Hình 3.1 Sơ đồ giao thức xác thực lẫn nhau của RFID sử dụng WG-5 ...................................................... 53

6

DANH MỤC BẢNG

Bảng 1.1 Bảng các tiên đề định nghĩa nhóm .............................................................................................. 13

Bảng 1.2 Bảng các tiên đề định nghĩa trường ............................................................................................ 13

Bảng 1.3 Bảng dải tần RFID ...................................................................................................................... 34

Bảng 3.1 Bảng biểu diễn vi phân trong 22 bước ........................................................................................ 51

Bảng 3.2 Bảng tấn công WG với các cặp khoá/IV có kích thước lớn hơn 80 bít ...................................... 52

7

DANH SÁCH CÁC TỪ VIẾT TẮT

TT TỪ VIẾT

TẮT

TIẾNG ANH THUẬT NGỮ MẬT MÃ

1 WG Welch Gong Thuật toán Welch Gong

2 LFSR Linear Feedback Shift Register Thanh ghi dịch chuyển hồi

quy tuyến tính

3 TMD Time memory data Tấn công về các mặt thời

gian, bộ nhớ, dữ liệu

4 ML Maximum Likelihood Thuật toán giải mã Maximum

Likelihood

5 RF Radio Frequency Tần số vô tuyến

6 UMTS Universal Mobile

Telecommunications System

Hệ thống viễn thông di động

toàn cầu

7 LTE Long Term Evolution Công nghệ Long Term

Evolution

8 WGP Welch Gong Permutation Mô đun hoán vị Welch Gong

9 WGT Wech Gong Tranformation Mô đun chuyển đổi Welch

Gong

10 MLD Maximum Likelihood Decoding Giải thuật Maximum

Likelihood Decoding

11 RFID Radio Frequency Identification Công nghệ nhận dạng đối

tượng bằng sóng vô tuyến

12 ISO Organization for Standardization Tiêu chuẩn Organization for

Standardization

13 IEC International Electro-technical

Commission

Tiêu chuẩn International

Electro-technical Commission

14 EPC Electronic Product Code Mã sản phẩm điện tử

15 DSS Digital Signature Standard Chuẩn chữ ký số

16 AES Advanced Encryption Standard Chuản mã hoá nâng cao

17 AIDC Automated Identification and

Data Capture

Công nghệ nhận dạng tự động

không dây

18 PB Polynomial basis Cơ sở đa thức

19 NB Normal basis Cơ sở thông thường

20 LS Linear span Khoảng tuyến tính

8

21 AI Algebraic immunity Khả năng miễn dịch đại số

22 DFT Discrete Fourier Transform Tấn công Chuyển đổi Fourier

rời rạc

23 LF Low frequency Tần số thấp

24 HF High frequency Tần số cao

25 UHF Ultra-high frequency Tần số cực cao

26 SHF Super-high frequency Tần số siêu cao

9

MỞ ĐẦU

Ngày nay, hội nhập kinh tế sâu rộng đã mang đến cho đất nước Việt Nam cơ hội tiếp

cận với những xu hướng hiện đại của thế giới. Con người dần chuyển sang sử dụng các dịch

vụ thông minh hơn, tiện lợi hơn để đáp ứng các nhu cầu cuộc sống một cách hiện đại nhất, tối

ưu nhất. Công nghệ RFID được hiểu là công nghệ nhận dạng tần số sóng vô tuyến. Công nghệ

này được sử dụng ngày càng phổ biến với nhiều ứng dụng trong cuộc sống hàng ngày từ kiểm

soát hàng hóa, quản lý và chấm công nhân trong các siêu thị, nhận dạng và kiểm soát tại những

bãi gửi xe thông minh, các công ty bảo mật hàng đầu cũng đang sử dụng. Công nghệ này cho

phép nhận biết các đối tượng thông qua hệ thống thu phát tần số sóng vô tuyến, từ đó con

người có thể giám sát, quản lý hoặc lưu vết từng đối tượng. Đây là một phương pháp nhận

dạng tự động dựa trên việc lưu trữ dữ liệu từ xa, sử dụng thiết bị thẻ RFID và một đầu đọc

RFID. Khoảng cách “không tiếp xúc” để tần số sóng vô tuyến tiếp nhận dữ liệu có thể lên tới

hơn 10m. Ngoài ra sự ưu việt của công nghệ này còn thể hiện ở khả năng đọc được thông tin

xuyên qua các môi trường, vật liệu như: bê tông, tuyết, sương mù, băng đá, sơn và các điều

kiện môi trường thách thức khác mà mã vạch và các công nghệ khác không thể phát huy hiệu

quả.

Công nghệ RFID được sử dụng rộng rãi trong nhiều ứng dụng nhưng mối quan tâm

chính trong công nghệ RFID là bảo mật và riêng tư. Do sự giao tiếp giữa thẻ và đầu đọc

diễn ra thông qua không dây, nghĩa là thông tin trao đổi giữa chúng diễn ra trên một kênh

không an toàn. Nói chung, các kênh truyền thông không an toàn dễ bị phá bởi các loại tấn

công khác nhau. Do đó, khi một người hoặc một đối tượng sở hữu thẻ cần phải được đảm

bảo được sự riêng tư và an ninh dữ liệu trên thẻ. Để khắc phục những mối đe dọa này

trong các thẻ RFID, một trong những giải pháp là triển khai các giải pháp mật mã trong

các thẻ RFID.

Vì cả hai vấn đề bảo mật và riêng tư trong các hệ thống RFID cần phải được giải

quyết bằng các giải pháp mật mã. Đó là một nhiệm vụ đầy thách thức chủ yếu là do môi

trường hạn chế về mặt tài nguyên và truyền thông, dẫn đến chi phí cao hơn. Do những yếu

tố này, việc thiết kế các giải pháp mật mã trong các hệ thống RFID không phải là một

nhiệm vụ dễ dàng. Do đó, việc thiết kế các thuật toán mật mã và các giao thức đã được đề

xuất là mật mã học hạng nhẹ. Để tính đến các yêu cầu nghiêm ngặt của các thẻ RFID như

khu vực, năng lượng và chi phí, việc thiết kế các hệ thống mã đối xứng và bất đối xứng

hạng nhẹ cần phải nằm trong phạm vi hạn chế của RFID. Lợi thế của khoá đối xứng đối

với hệ bất đối xứng là nó có tính toán toán học giới hạn. Cho phép thiết kế phần cứng của

hệ thống khóa đối xứng hiệu quả về mặt diện tích và điện năng để thực hiện chúng trên bất

kỳ nền tảng phần cứng nào. Các nghiên cứu gần đây cho thấy các mật mã dòng yêu cầu ít

tài nguyên tính toán về diện tích, năng lượng và hiệu năng so với mật mã khối và các hàm

10

băm. Trong khi đó, các hệ thống khoá bất đối xứng hay khóa công khai có các phép tính

số học có độ phức tạp trên các trường hữu hạn lớn hơn. Các phép toán này liên quan đến

hàng trăm bit do đó cần một lượng lớn kích thước bộ nhớ để lưu trữ chúng. Do đó, không

tận dụng thiết kế và điện năng tốn nhiều hơn so với các hệ mã hóa đối xứng. Vì vậy, các

hệ mật khóa công khai không được ưa chuộng để sử dụng trong các hệ thống RFID trong

những năm qua.

Họ hệ mật WG được đánh giá là hệ mật có độ bảo mật an toàn cao và hiệu quả hơn

nhiều so với hệ mật mã hạng nhẹ khác. Trong phạm vi luận văn này, tôi đặt ra vấn đề nghiên

cứu ứng dụng mật mã dòng WG vào thẻ RFID nhằm đảm bảo an ninh cho các giao dịch

trên các thẻ.

Mục đích nghiên cứu:

Luận văn đề cập đến việc nghiên cứu chuyên sâu họ hệ mật WG trong mật mã hạng

nhẹ, đánh giá các tấn công đối với các phiên bản gần đây và phát triển ứng dụng vào các

thẻ RFID. Phần lý thuyết trình bày các kiến thức liên quan về họ hệ mật WG, Mật mã dòng

WG-16 và WG-8. Phần thực nghiệm sử dụng cơ sở lý thuyết ở trên cài đặt mật mã WG-5

vào thẻ RFID nhằm đảm bảo an ninh trong thẻ.

2. Nội dung của đề tài, các vấn đề cần giải quyết:

a. Hướng nghiên cứu:

- Thiết kế thuật toán mã hoá WG và đưa ra các đề xuất phù hợp cài đặt trong môi

trường có tài nguyên hạn chế.

- Nghiên cứu tấn công họ hệ mật mã WG.

- Ứng dụng mật mã dòng WG-5 trong hệ thống RFID.

b. Ngoài phần mở đầu, kết luận, nội dung luận văn gồm những chương sau:

Chương 1: Tổng quan họ hệ mật WG

Chương 2: Các hệ mật WG-16 và WG-8

Chương 3: Đề xuất cải tiến hệ mật WG-UET và chương trình demo.

11

CHƯƠNG 1 TỔNG QUAN VỀ HỌ HỆ MẬT WG

1.1 Lịch sử mật mã dòng WG [2], [7]

Phiên bản đầu tiên của mật mã WG được Nawaz and Gong công bố năm 2005, được đệ

trình lên dự án eSTREAM với tư cách như một mật mã được định hướng cứng hoá. Mật

mã WG bao gồm một LFSR với 11 phần tử trên 292F . Cấu trúc của các phiên bản sau này

cũng cũng tương tự như vậy, ngoại trừ việc chuyển đổi WG được kết hợp với phần tử cuối

cùng của thanh ghi (ban đầu là S0). Mặc dù kích thước của LFSR là cố định nhưng nó cho

phép sử dụng các khóa có kích cỡ khác nhau (80, 69, 112 và 128 bit). Các vector IVs có

thể có cùng kích thước như các khóa, nhưng vector IV cũng có thể ngắn hơn 64 hoặc 32

bit. Sự khác biệt duy nhất giữa các kích cỡ này là cách tải các khóa và các vector IV này

vào LFSR .

Chỉ sau 2 tháng đã có cuộc tấn công thành công vào phiên bản này, Wu và Preneel đã trình

bày cuộc tấn công mật mã, cuộc tấn công này tập trung vào việc có thể khôi phục được

khóa mà không cần quan tâm đến kích cỡ khóa/IV. Để đáp lại cuộc tấn công này, người

tạo ra mật mã WG đã đề xuất ý kiến tăng gấp đôi hoặc thậm chí gấp bốn lần số chu kỳ cho

pha khởi tạo.

Phiên bản cuối cùng của mật mã WG (nay được gọi là họ hệ mật mã dòng) được công bố

năm 2013. Nó chuyển sự chuyển đổi WG về cuối LFSR, chính sự thay đổi này làm cho

mật mã có thể chống lại cuộc tấn công IV đã được đề cập ở trên mà không cần tăng thêm

chu kỳ cho pha khởi tạo.

Mật mã WG cuối cùng cũng bị loại khỏi dự án mã dòng - eSTREAM vào cuối giai đoạn 2,

với 2 lý do chính:

(1) Về vấn đề an ninh. Trong năm 2007, một cuộc tấn công vào máy sinh bộ lọc chung

trên 2mF đã được Rønjom và Helleseth trình bày. Cuộc tấn công nhằm khôi phục lại trạng

thái bên trong của mật mã WG. Tuy nhiên, đặc tả mật mã không cho phép có nhiều hơn 245

bít dòng khóa được tạo ra với cùng một cặp khóa/IV. Trong khi đó cuộc tấn công này cần

ít nhất 245.0415 bit dòng khóa để cuộc tấn công có thể thành công. Mặc dù mật mã WG an

toàn chống lại cuộc tấn công này nhưng nó đã rút khỏi eSTREAM với một nghi ngờ rằng

mật mã rất có thể bị phá nếu chỉ một chút sơ xuất.

(2) Phía eSTREAM cho rằng độ hiệu quả của mật mã khi cài đặt trong phần cứng chỉ

tương đương với một số mật mã khác. Điều này chủ yếu là do WG-128 - phiên bản gốc

của WG, có nhiều phép tính trong 292F yêu cầu nhiều không gian khi triển khai trong phần

cứng. Tất cả các thành phần của họ hệ mật WG sử dụng nhiều trường hữu hạn nhỏ hơn để

giải quyết vấn đề này.

12

Mật mã WG-16: Năm 2013 Fan and Gong trình bày mật mã dòng WG-16. Nó được thiết

kế dùng trong mạng 4G-LTE. Hai ông cũng chỉ ra các thuật toán bí mật và toàn vẹn sử

dụng mật mã WG-16 của họ. Để chứng minh tính thực tiễn của mật mã WG-16, họ đưa ra

các lý lẽ cho rằng các mật mã hiện tại trong chuẩn 4G-LTE rất khó để phân tích và những

giải thuật hiện tại cũng dễ bị phá vỡ. WG-16 sử dụng các khóa và bộ mã hoá 128-bit cùng

với LFSR có chứa 32 phần tử trên 162F .

Mật mã WG-7: Mật mã WG-7 là tiền nhiệm của WG-8, cũng được thiết kế nhắm đến các

thiết bị bị hạn chế tài nguyên. Nó được công bố bởi Luo et al năm 2010. Nó sử dụng các

khóa 80-bit và vector IV 80-bit. LFSR chứa 23 phần tử trên 72F . Tuy nhiên, vào năm 2012

mật mã bị phá bởi Orumiehchiha et al.

Mật mã WG-5: Aasgaard, Gong và Mota thảo luận về việc triển khai phần cứng và các vấn

đề bảo mật của mật mã dòng WG-5. Mật mã này nhằm vào các thẻ RFID thụ động và chỉ

cung cấp mức bảo mật thấp. Nó chỉ chống lại các cuộc tấn công chỉ khi dữ liệu được mã

hóa với một cặp khóa/ IV không vượt quá 256 kilobyte, đây là một ràng buộc chấp nhận

được đối với các thẻ RFID thụ động.

1.2 Cơ sở toán học [6]

1.2.1 Mô đun số học

Modul số học đã và đang dần trở lên quan trọng trong lĩnh vực mật mã. Lý thuyết

mô đun số học được sử dụng trong các thuật toán mã hoá khoá công khai như thuật

toán RSA và Diffie-Hellman, các thuật toán khoá đối xứng như AES, IDEA và

RC4. Ưu điểm chính của việc sử dụng mô đun số học là nó cho phép chúng ta thực

hiện phép nhân nhanh hơn. Ví dụ với phép toán phức tạp, việc tính toán đa thức đó

(nhân đa thức) với 1 lượng số nguyên lớn thì việc sử dụng mô đun số học sẽ làm

giảm thời gian tính toán của các phép toán lớn này. Áp dụng vào ứng dụng sửa mã

lỗi, bằng việc sử dụng lý thuyết mô đun số học mỗi chữ số của mã được liên kết

đến các phần tử của trường hữu hạn.

Toán tử modulo (mod n) ánh xạ tới tất cả các số nguyên trong tập {0, 1, 2, ... (n −

1)} và tất cả các phép toán số học được thực thi trong tập hợp này. Kỹ thuật này

được gọi là mô đun số học.

Tập các số nguyên và các số nguyên khác 0 của mod n được ký hiệu bởi Zn và Z*n.

Ví dụ: cộng và nhân modul trên modulo 23

Giả sử, 12 + 20 = (12 + 20) mod 23 = 32 mod 23 = 9 vì 32 chia cho 23 dư 9.

Tương tự, trong phép nhân; 8 × 9 = 72 mod 23 = 3, vì khi 72 chia cho 23 dư 3.

1.2.2 Nhóm và trường

Trong đại số trừu tượng, chúng ta làm việc với các tập mà các phần tử được thao

tác một cách đại số. Ví dụ, chúng ta có thể nói rằng bằng cách kết hợp hai phần tử

của một tập theo nhiều cách khác nhau, ta có thể tạo ra được phần tử thứ ba của tập

13

hợp. Tất cả các phép toán sẽ tuân theo một số quy tắc cụ thể được định nghĩa trong

tập. Một số định nghĩa:

Nhóm:

Định nghĩa 1: Một Nhóm (G) được định nghĩa như là 1 cặp (S, •), với S là tập khác

rỗng, toán tử • sao cho tuân theo tiên đề từ A1-A4 được định nghĩa ở bảng bên dưới.

Toán tử • có thể gọi là phép cộng, phép nhân hay 1 phép toán nào khác.

Ở đây tập S là đại diện của nhóm G, i là phần tử định danh trong G.

Tiên đề Ý nghĩa

A1. Đóng kín Cho a, b thuộc G , a • b sẽ thuộc G

A2. Kết hợp Cho tất cả a, b, c thuộc G, a •(b •c) = (a •b) •c

A3. Định danh Tồn tại phần tử e thuộc G, cho a thuộc G với a •e = e •a = a

hay đúng hơn ∃e ∈ G, ∀ a ∈ G, a • e = e • a = a

A4. Nghịch đảo Với mọi a thuộc G tồn tại phần tử x thuộc G sao cho a•x =

x•a = e hay nói cách khác ∀a ∈ G, ∃x ∈ G, a•x = x•a=e

Bảng 1.0.1 Bảng các tiên đề định nghĩa nhóm

Định nghĩa 2: (A5) Một nhóm được gọi là nhóm abel nếu nó thoả mãn điều kiện

với mọi a, b thuộc G thì a •b = b •a

Định nghĩa 3: Một nhóm được gọi là cyclic nếu có 1 hoặc nhiều phần tử mà có thể

sinh ra tất cả các phần tử trong nhóm, hay có nói cách khác: ∃ g ∈ G, ∀ a ∈ G, ∃ k,

a = gk.

Ví dụ: p là số nguyên tố và *( , )p là nhóm cyclic.

Nhóm cyclic *

7( , ) , với p = 7, số phần tử của nhóm là 6. Ta có, phần tử 3 và 5 là

phần tử sinh của nhóm *

7 {1,2,3,4,5,6} , các luỹ thừa của 3 modulo 7 là:

1 = 36, 2 = 32, 3 = 31, 4 = 34, 5 = 35, 6 = 33

Trường:

Định nghĩa: Một trường F được định nghĩa là một tập các phần tử với 2 toán tử nhị

phân , , được biểu diễn là ( , , )F và tuân theo các tiên đề bên dưới:

Tiên đề Ý nghĩa

(A1-A5) F tạo thành 1 nhóm abel đối với phép cộng

(A1-A3) và A5 F tạo thành một vị nhóm giao hoán

A6. Phần tử

nghịch đảo Cho mỗi a thuộc F, nếu 0a , tồn tại một phần tử x thuộc F,

sao cho 1a x x a , hay có thể nói ∀ 0a ∈ F, ∃ x ∈ F,

1a x x a

Bảng 1.0.2 Bảng các tiên đề định nghĩa trường

14

Ví dụ: Cho trường bất kỳ *( , , ).( , )F F tạo thành 1 nhóm abel. Với *F là tập con

của F không bao gồm phần tử 0.

1.2.3 Trường hữu hạn

Trường hữu hạn đóng một vai trò quan trọng trong lĩnh vực mật mã. Hầu hết các

thuật toán mã hoá khoá công khai như DSS, mật mã khóa El Gamal, mật mã trên

đường cong Elliptic phụ thuộc rất nhiều vào các thuộc tính của trường hữu hạn,

ngoài ra nó cũng được sử dụng trong mật mã AES.

Số phần tử của trường hữu hạn phải là một luỹ thừa của một số nguyên tố: pn, trong

đó n là một số nguyên dương. Ở đây xuất hiện hai trường hợp:

(1) Với n = 1, trường hữu hạn có dạng GF(p) trong đó GF là viết tắt của trường

Galois.

(2) Với n > 1, trường hữu hạn có dạng GF(pn). Trường hữu hạn GF(p) có cấu

trúc khác so với trường hữu hạn GF(pn).

Các loại trường hữu hạn:

- Trường nguyên tố: Được định nghĩa là trường có dạng GF(p), với p là số nguyên

tố. Tất cả các phần tử trong trường và các phép toán số học ( , ) được thực thi

theo modulo p.

- Trường nhị phân: Được định nghĩa là một trường có dạng GF(pn), trong đó n là

một số nguyên dương. Thông thường trường nhị phân được xây dựng từ trường

nguyên tố.

1.2.3.1 Trường hữu hạn của GF(p)

Cho số nguyên tố p bất kỳ, trường hữu hạn p phần tử, các phần tử của GF(p)

được định nghĩa là tập {0, 1, 2, ... (p-1)}, cùng với các phép toán số học theo

modulo p. GF(p) cũng có thể được ký hiệu bởi tập các số nguyên Zp.

Ví dụ: Các phép toán số học trong trường hữu hạn đơn giản nhất của GF(p)

Trường hữu hạn đơn giản nhất là GF(2), trong đó p = 2, và các phần tử là {0,

1}, đây là trường hợp đặc biệt mà các phép toán số học + và tương đương

với các phép toán XOR và AND.

1.2.3.2 Đa thức số học

Các phần tử của GF(pn), với n > 1, có thể được biểu diễn dưới dạng đa thức,

các hệ số của đa thức này thuộc GF(p) và có độ nên nhỏ hơn n. Khi p = 2, các

phần tử của GF(pn) được biểu diễn dưới dạng số nhị phân {0, 1}. Điều này có

nghĩa là mỗi ký tự trong một đa thức được biểu diễn bởi một bit trong biểu thức

nhị phân tương ứng.

Định nghĩa: Một đa thức được định nghĩa là một biểu thức toán học liên quan

đến tổng của 1 hoặc nhiều biến nhân với các hằng số của chúng. Một đa thức

với 1 biến và các hằng số của chúng được biểu diễn như sau:

15

f(x) = anxn + an−1xn−1 + ..... + a2x2 + a1x + a0 = 0

ni

i

i

a x

Với n (là số nguyên n ≥ 0) được gọi là độ của đa thức, và hằng số ai , 0 ≤ i ≤ n.

F cũng được gọi là một tập hợp khi 0na và có thể có nhiều đa thức được định

nghĩa trên F. Có thể có nhiều luỹ thừa giống nhau của x khi so sánh 2 đa thức

( )f x và ( )g x trên F.

Cho: 0

( )n

i

i

i

f x a x

và 0

( )m

i

i

i

g x b x

Phép cộng ( )f x và ( )g x :

0

( ) ( ) ( ) ,n

i

i i

i

f x g x a b x

với n = m

Phép nhân ( )f x và ( )g x :

0 0 0

( ) ( )n m n m

i i k

i i k

i i k

f x g x a x b x c x

Với: 0 1 1 1 1 0.

0

...k i k i k k k k

i k

c a b a b a b a b a b

Phép chia ( )m x và ( )p x :

Phép chia đa thức trên trường Galois được tính toán dựa trên phép nhân và

phép cộng. Phép chia 2 đa thức ( ) ( )m x p x được tính bằng phép toán

( ) ( ) ( ) ( )m x q x p x r x , với thương ( )q x và số dư ( )r x là kết quả của phép

chia.

1.2.3.3 Trường hữu hạn của GF(pn)

Trường hữu hạn dưới dạng GF(p) với p phần tử, trong đó p là số nguyên tố.

Các thành phần của GF(p) = Zp = {0, 1, 2, ... (p-1)}, với các phép toán số học

( , ) được thực hiện cùng với phép toán modulo p. Chúng ta sử dụng khái

niệm tương tự để xây dựng trường hữu hạn có dạng GF(pn), gồm q-1 phần tử,

trong đó (q = pn) với phép toán mô đun pn-1.

Một đa thức ( )i x được gọi là một đa thức không giảm trên trường F, khi và

chỉ khi ( )i x không thể biến đổi thành 2 hoặc nhiều đa thức trên trường F. Một

đa thức không giảm cũng được gọi là một đa thức nguyên tố.

Một phần tử nguyên thủy của GF(pn) là phần tử mà nó là 1 phần tử sinh của

nhóm cyclic GF(pn)*. Một đa thức không giảm trên GF(p) có 0 là phần tử

nguyên thủy trên GF(pn) được gọi là đa thức nguyên thủy trên GF(p). Như vậy

tất cả đa thức không giảm đều là đa thức nguyên thủy.

Gốc của đa thức: Nếu p(x) là 1 đa thức trên F, thì phần tử α ∈ F sao cho p(α)

= 0 được gọi là gốc của đa thức p(x).

16

Trường con: Nếu một tập con S có các phần tử thuộc trường F thỏa mãn các

tiên đề trường cùng với các phép toán số học của F, thì S được gọi là trường

con của F.

GF(pm) là một trường con của GF(pn) khi và chỉ khi m là số chia hết của n ký

hiệu là: GF(pm) ⊂ GF(pn).

Ví dụ: GF(22) ⊂ GF(24) và GF(24) ⊂ GF(212).

Trường mở rộng: Một trường F được gọi là trường mở rộng, nếu S là tập con

nằm trong tập F, ta định nghĩa S là một trường con của F và F là một trường

mở rộng của S. Chúng được ký hiệu F/S và đọc là "F trên S".

Hàm lưu vết

Giả sử, F = GF(pn) và K = GF(p), thì hàm lưu vết TrF/K (x) được định nghĩa

như sau:

1 11

/

0

( ) ( ) ... ,n i

np p p

F K

i

Tr x Tr x x x x x x F

Hàm lưu vết Tr(x), GF(pn) → GF(p).

Ví dụ: Cho trường hữu hạn GF(23) được định nghĩa bởi 3 1 . Tìm hàm

lưu vết ( )Tr và 3( )Tr

Từ hàm lưu vết ( )Tr x , với p = 2 và n = 3.

Ta có, 2 4( )Tr 2 2 0 .

Tương tự ta có: 3 3 6 5 2 2( ) (1 ) (1 ) (1 ) 1Tr .

1.2.4 Lựa chọn cơ sở

*Cơ sở đa thức

Định nghĩa: Xét trường hữu hạn GF(pn) và cho α ∈ GF(pn) là gốc của một đa thức

không giảm, độ n trên GF(p).

Cơ sở đa thức đươc được biểu diễn là {1, α, α2 ... αn-1} của GF(pn) trên GF(p).

Với α là phần tử nguyên thủy của GF(pn)

Ví dụ: Nếu p = 3 và n = 2 thì GF(32) là một trường mở rộng của GF(3) với độ bằng

2. Cho α ∈ GF(32), là gốc của đa thức không giảm x2 + 1 trên GF (3), thì cơ sở đa

thức là {1, α} của GF(32) trên GF(3).

*Cơ sở thông thường

Định nghĩa: Cho số nguyên dương n bất kỳ trên GF(pn), luôn luôn có một cơ sở

thông thường cho trường hữu hạn GF(pn) trên GF(p). Nếu γ ∈ GF(pn) là một phần

tử thông thường, thì cơ sở thông thường được biểu diễn là 1 2 12 2 2, , ... .

n

Trong đó γ được gọi là phần tử sinh hoặc phần tử thông thường của GF(pn) trên

GF(p), được biểu diễn dưới dạng ma trận n m và được ký hiệu là M.

17

Ví dụ: Nếu p = 2 và n = 3, thì GF(23) là một trường mở rộng của GF(2) với độ bằng

3. Cho α ∈ GF(23), là gốc của đa thức không giảm x3 + x2 + 1 trên GF(2), thì cơ sở

thông thường là {α, α2, 1 + α + α2} của GF(23) trên GF(2).

Lựa chọn cơ sở cho việc cài đặt phần cứng: Trường hữu hạn đóng 1 vai trò quan

trọng trong mật mã đặc biệt là trong các hệ thống mật mã đối xứng và bất đối xứng

mà có các phép toán số học hữu hạn trường.

Các phép toán số học thông thường trên GF(2n) được thực hiện theo modulo của đa

thức không giảm f (x) trên GF (2). Các phép cộng và trừ số học được thực hiện theo

modulo 2. Phép cộng 2 đa thức thì không có gì nhưng phép toán XOR của biểu diễn

nhị phân trong phép toán nhân thì độ phức tạp tốn nhiều thời gian trên trường

GF(2n). Độ phức tạp còn phụ thuộc vào việc lựa chọn đa thức không giảm và cơ sở

được sử dụng để biểu diễn các phần tử hữu hạn.

Cơ sở đa thức được xem là để tối ưu hóa phần cứng vì trong cơ sở đa thức phép

nhân có thể được thực hiện đơn giản bằng phép toán dịch và phép toán XOR. Trong

thực thi phần cứng lựa chọn cơ sở thông thường thì phép bình phương 1 phần tử

đơn giản chỉ dịch chuyển đúng 1 vòng tròn của tọa độ. Do vậy, phép bình phương

trong cơ sở thông thường rất dễ thực hiện nhưng phép nhân trong cơ sở thông

thường thì lại phức tạp.

1.2.5 Thanh ghi dịch phản hồi tuyến tính LFSR [6]

1.2.5.1 LFSR và mô tả toán học

Thanh ghi dịch phản hồi tuyến tính (LFSR) đã được sử dụng rộng rãi trong máy

sinh dòng khóa của mật mã dòng, máy sinh số ngẫu nhiên trong hầu hết các thuật

toán mã hoá. Mỗi khối vuông trong hình 1.1, là một đơn vị lưu trữ 2 trạng thái (0

hoặc 1). Các đơn vị lưu trữ nhị phân n được gọi là các trạng thái của thanh ghi dịch

và nội dung của chúng ở dạng n bit chiều dài, được gọi là trạng thái nội bộ của

thanh ghi dịch.

Hình 1.1 Sơ đồ khối của LFSR

Cho (a0, a1, a2, ..., an-1) ∈ GF (2n) là trạng thái ban đầu của LFSR và

18

f (x0, x1, x2, ..., xn-1) là hàm phản hồi hoặc đa thức thông tin phản hồi, như thể hiện

trong hình 1.1.

Nếu hàm phản hồi là một hàm tuyến tính thì nó có thể được biểu diễn bằng:

f(x0, x1, x2, ..., xn−1) = c0x0 + c1x1 + c2x2 + ...... + cn−1xn−1, ci ∈ GF(2)

Sau mỗi chu kỳ liên tiếp cộng với LFSR sẽ tạo ra một chuỗi nhị phân đầu ra là

chuỗi nhị phân b có dạng b = a0, a1, ...

Chuỗi đầu ra của LFSR thỏa mãn quan hệ đệ quy sau: 1

0

, 0,1,...n

k n i k i

i

a c a k

(1)

Đầu ra của LFSR được coi là một chuỗi đệ quy tuyến tính. Nếu hàm phản hồi là

tuyến tính thì chuỗi đầu ra được gọi là chuỗi LFSR tuyến tính. Nếu không, nó được

gọi là chuỗi phi tuyến tính (NLFSR).

Lưu ý: Để b là chuỗi nhị phân. Phương trình hồi quy tuyến tính (1) được biểu diễn

trong đa thức f (x) = xn + cn-1xn-1 + ... + c1x + c0, được xem là đa thức đặc trưng của

LFSR.

Ví dụ 1: Xét một LFSR 3 trạng thái như thể hiện trong hình 1.2 với hàm phản hồi

tuyến tính f (x0, x1, x2) = x0 + x1 với trạng thái ban đầu là (1, 0, 0) tương đương với

(a0, a1, a2). Dãy đầu ra sẽ là 10010111001011 ..... được lặp lại tuần hoàn với chu kỳ

là 7.

Hình 1.2 LFSR 3 trạng thái

1.2.5.2 Các loại chuỗi

- Chuỗi nhị phân: b = bi, bi ∈ GF(2), là một dãy nhị phân trên GF(2).

- Chuỗi - m: Chuỗi đầu ra được tạo ra bởi một LFSR n trạng thái với các giá

trị ban đầu khác không và có chu kỳ cực đại là 2n - 1 được xem là chuỗi có

chiều dài lớn nhất và được gọi tắt là chuỗi-m.

19

- Chuỗi De-Bruijn: Chuỗi De-Bruijn là đầu ra của một NLFSR n trạng thái.

Từ chuỗi m bất kỳ với chu kỳ là 2n - 1, ta có thể tính được chuỗi de-Bruijin

bằng cách chèn một bít 0 vào chuỗi m.

Ví dụ 2:

Xét một LFSR 4 trạng thái như trong hình 1.3 với đa thức f(x) = x4 + x + 1

và với trạng thái ban đầu là (0, 0, 0, 1) tương đương với (a0, a1, a2, a3, a4).

Đầu ra là một chuỗi-m là 000100110101111000100 ..... được lặp lại định

kỳ với một chu kỳ là 15.

Hình 1.3 LFSR 4 trạng thái

Thuộc tính của LFSR:

Xét độ an toàn của máy sinh dòng khóa dựa trên LFSR khi thiết kế LFSR cần

chú ý các thuộc tính sau:

1. Chu kỳ lớn.

2. Độ phức tạp tuyến tính lớn.

3. Đặc tính thống kê tốt.

Nếu b là một chuỗi nhị phân, thì độ phức tạp tuyến tính của b là độ dài ngắn

nhất của LFSR mà tạo ra b. Được ký hiệu là LS (b). Cho chuỗi b bất kỳ có độ

dài N, ta có thể tính toán khoảng tuyến tính của dãy sử dụng thuật toán

Berlekamp-Massey.

1.2.5.3 Cài đặt phần cứng LFSR trên trường Galios

Trong việc cài đặt phần cứng, LFSR chứa N thanh ghi được kết nối với nhau

để tạo ra một thanh ghi dịch. Nói chung, thanh ghi dịch là một dãy flip-flops,

trong đó đầu ra của flip flop cuối cùng được nối (phản hồi) với các flip flops

trước đó bằng một cổng XOR như thể hiện trong hình 1.4. Giả sử chiều dài của

LFSR là N và nó bao gồm của N trạng thái flip-flops và các bit đã lưu được

điều khiển bởi một đồng hồ đơn. Tại mỗi xung đồng hồ, các bit đã lưu sẽ được

dịch chuyển 1 vị trí sang trạng thái tiếp theo, đồng nghĩa với việc là có sự

chuyển tiếp từ trạng thái này sang trạng thái tiếp theo.

20

Hình 1.4 Mạch LFSR 3 bít

Các thông số thiết kế cần quan tâm khi thiết kế LFSR là số flip flops, cổng

XOR bên trong hoặc bên ngoài, các taps phản hồi (đầu vào cho XOR) và tín

hiệu cài đặt lại. Khi thiết lập cài đặt lại, thanh ghi sẽ cài đặt tất cả 1s và với mục

đích phân tích, ở đây ta sử dụng LFSRs với cổng XOR nội bộ vì mạch của

chúng được kết hợp với các đa thức trên các trường Galois.

LFSR tạo ra một chuỗi bit có độ dài tối đa 2n - 1, trong đó n là kích thước của

trường hữu hạn. Các tap phản hồi trên LSFR sẽ được chọn dựa vào đa thức đã

được lựa chọn trên trường hữu hạn. Các phép toán số học đa thức được thực

thi liên quan tới các phép toán mod 2, tức là các hệ số của đa thức phải là 1

hoặc 0. Những đa thức này được gọi là đa thức đặc trưng hoặc phản hồi. Những

đa thức đặc trưng này sẽ biểu diễn các chuỗi bít LFSR. Giả sử chuỗi bit là

110011 thì đa thức đặc trưng được biểu thị là x5 + x4 + x1 + 1.

Ví dụ: biểu diễn LFSR cho đa thức đặc trưng x5 + x4 + x1 + 1.

Hình 1.5 Đa thức đặc trưng cài đặt LFSR.

Từ ví dụ trên, số mũ của đa thức được biểu diễn như sau: x0 là đầu vào của

LFSR, x1 là đầu ra của flip flop đầu tiên và x2 là đầu ra thứ hai,….. Hơn nữa,

số mũ tối đa của đa thức được thể hiện bằng số flip flops được sử dụng trong

LFSR.

21

1.2.5.4 Nhân và chia đa thức trong LFSR

Phép nhân f(x)×g(x) = (x3+x2+1)×(x3+x)

Mạch sử dụng LFSR được biểu diễn như sau:

Hình 1.6 Đa ứng dụng cài đặt LFSR

Tương tự, phép chia m(x) = x5 + x3 + x2 và p(x) = x3 + x

Hình 1.7 Cài đặt phép chia LFSR

22

Đầu vào cho LFSR là 101100, nó là biểu diễn bít vector của m(x) và được đưa

vào mạch LFSR 1 cách tuần tự theo thứ tự bậc cao hơn. Vào cuối chu kỳ 6,

phần dư r(x) = 100(x2) sẽ được lưu trong các flip flops.

1.3 Họ hệ mật WG [3],[5]

Một mật mã dòng đồng bộ bao gồm một máy sinh dòng khoá, máy này tạo ra một dãy

số nhị phân. Dãy số này được gọi là khoá vận hành hoặc dòng khoá. Dòng khoá được

XOR với bản rõ để tạo ra bản mã. Một khóa bí mật K được dùng để khởi tạo máy sinh

dòng khoá và mỗi khóa bí mật tương ứng sẽ tạo ra một chuỗi sinh đầu ra tương ứng. Vì

khóa bí mật sẽ được chia sẻ giữa người gửi và người nhận, nên ở phía bên người nhận

sinh ra một dòng khoá giống với phía bên người gửi. Kết hợp dòng khoá này với bản

mã để khôi phục lại bản rõ ban đầu.

Mật mã dòng được chia thành hai loại chính:

Mật mã dòng hướng bít.

Mật mã dòng hướng từ.

Mật mã dòng hướng bít dựa trên các thanh ghi dịch phản hồi tuyến tính (LFSR) cùng

với các hàm lọc, kết hợp. Chúng có thể được thực thi trong phần cứng rất hiệu quả. Tuy

nhiên, do tính chất định hướng bít nên việc triển khai trên phần mềm khá chậm. Để

khắc phục nhược điểm này nhiều mật mã dòng hướng từ đã được đề xuất. Hầu hết các

mật mã dòng này cũng dựa trên LFSR nhưng chúng hoạt động trên các từ thay vì các

bít. Điều này đã khắc phục được nhược điểm trên, mật mã có thể thực thi hiệu quả trên

phần mềm. Mặc dù những mật mã dòng hướng bít này nhanh chóng được phát triển

trên phần mềm, nó cũng đáp ứng được mức độ bảo mật cao nhưng nó lại không đảm

bảo được các tính chất của dòng khoá như là độ phức tạp tuyến tính hay độ tương quan

lý tưởng cấp hai... Mà trong các ứng dụng truyền thông các thuộc tính này thường là

các điều kiện bắt buộc.

Nhiều mật mã dòng hướng bit như A5, E0 và LILI-128 hoạt động hiệu quả và có thể

được thực thi trong môi trường tài nguyên phần cứng hạn chế. Tuy nhiên, tất cả chúng

đều bị tấn công và không cung cấp thuộc tính mong đợi như chu kỳ, phức tạp tuyến

tính và các thuộc tính thống kê tốt, sự tự tương quan lý tưởng cấp hai.

Mật mã WG tạo ra một dòng khoá, dòng khoá này đáp ứng được các thuộc tính mong

đợi trên và cung cấp mức độ bảo mật cao. Mật mã được thiết kế để tạo ra một dòng

khoá mà đáp ứng được tất cả các thuộc tính mật mã, có thể chống lại các cuộc tấn công

thương mại TMD, các cuộc tấn công đại số và các cuộc tấn công tương quan và cũng

có thể được cài đặt trong phần cứng và thực thi một cách hiệu quả.

1.3.1 Cơ sở

Một số thuật ngữ và ký hiệu cơ bản mô tả họ hệ mật WG và hoạt động của mật mã này:

F2 = GF(2), trường hữu hạn với 2 phần tử: 0 và 1.

23

292F = GF(229), trường mở rộng của GF(2) với 229 phần tử. Mỗi phần tử trong

trường này được biểu diễn bởi một vector nhị phân 29 bit.

Hàm lưu vết 2 282 2 2( ) ...Tr x x x x x , 292

F → F2.

Hàm lưu vết 29 10 2911 29 2 2

29 ( ) ...Tr x x x x , F2

11x29→ 292F .

Cơ sở đa thức 292F : giả sử α là gốc của đa thức nguyên thủy tạo ra 292

F . Ta có,

{1, α, α2, ···, α28} là cơ sở đa thức của 292F trên F2.

Cơ sở thông thường 292F : Cho γ là 1 phần tử của 292

F sao cho 1 2 282 2 2, , ,..., là cơ

sở của 292F trên F2. Ta có

1 2 282 2 2, , ,..., là cơ sở thông thường của 292F trên F2.

1.3.2 Nguyên tắc hoạt động của họ hệ mật WG

Mật mã WG sử dụng khóa có độ dài 80, 96, 112, 128 bít. Một vector khởi tạo IV

32 bít hoặc 64 bít được sử dụng với khoá có độ dài bất kỳ ở trên. Ngoài ra, có thể

sử dụng véc tơ IV có độ dài bằng với độ dài khóa bí mật để tăng thêm mức độ an

ninh cho mật mã. Mật mã WG là một mật mã dòng đồng bộ bao gồm máy sinh

dòng khóa WG. Sơ đồ khối đơn giản của máy sinh dòng khóa WG được thể hiện

trong hình 1.8. Dòng khóa được tạo ra bởi máy sinh được kết hợp bản rõ để tạo ra

bản mã. Như hình 1.8, máy sinh dòng khóa bao gồm một thanh ghi dịch phản hồi

tuyến tính (LFSR) 11 trạng thái trên 292F . Đa thức phản hồi của LFSR là đa thức

nguyên thủy trên 292F và tạo ra một chuỗi có độ dài lớn nhất (chuỗi m) trên 292

F ,

chuỗi m này được lọc bởi 1 hàm chuyển đổi WG phi tuyến tính, 29 22F F , để tạo

ra dòng khóa.

Hình 1.8 Sơ đồ mô tả mật mã WG

24

Tất cả các phần tử trong 292F được biểu diễn trong cơ sở thông thường và tất cả các

tính toán trường hữu hạn cũng đều trong cơ sở thông thường. Đa thức phản hồi của

LFSR được cho bởi biểu thức:

p(x) = x11 + x10 + x9 + x6 + x3 + x + γ

với 292F được sinh ra bởi đa thức nguyên thuỷ trên F2

g(x) = x29 + x28 + x24 + x21 + x20 + x19 + x18 + x17 + x14 + x12 + x11 +

x10 + x7 + x6 + x4 + x + 1.

Và γ = β464730077 với β là gốc của g(x). Định nghĩa S(1), S(2), S(3),…, S(11) ∈ 292F

là trạng thái của LFSR. Ta cũng biểu thị đầu ra của LFSR là bi = S(11 - i), i = 0, 1,

.., 10. Cho i ≥ 11, ta có:

bi = bi−1 + bi−2 + bi−5 + bi−8 + bi−10 + γbi−11, i ≥ 11

* Mô tả toán học của chuyển đổi WG

Xét 292F được sinh ra bởi đa thức nguyên thuỷ g(x) với β là gốc. Cho

10 19 9 19 9 19 10

29

2 1 2 2 1 2 2 1 2 2 1

2( ) , .t x x x x x x x F

Hình 1.9 Sơ đồ khối của chuyển đổi WG

Hàm chuyển đổi WG từ 292F → F2 được định nghĩa bởi biểu thức : f(x) = Tr(t(x +

1) + 1), x ∈ 292F . Hình 1.9 minh hoạ sự chuyển đổi ở trên, 29 bit đầu vào của hàm

25

chuyển đổi WG được coi như là một phần tử của 292F được biểu diễn trong cơ sở thông

thường. Tất cả các phép toán được biểu diễn trong hình 1.8 và hình 1.9 đều là những

phép toán thông thường. Cơ sở thông thường của 292F được định nghĩa bởi g(x), được

tạo ra bởi phần tử γ ∈ 292F với γ được cho ở trên bằng γ = β464730077. Đa thức γ được biểu

diễn như sau:

γ = β1 + β2 + β3 + β4 + β5 + β6 + β7 + β10 + β11 + β12 + β13 + β14 + β15 + β16 + β17

+ β20 + β23 + β24 + β26 + β27 .

Cơ sở thông thường có thể định nghĩa là 0 2 282 2 2, , ,..., .

Một vài phép tính trong 292F khi các phần tử trường được biểu diễn theo cơ sở thông

thường.

Nếu các phần tử được biểu diễn trong cơ sở thông thường thì phép luỹ thừa có

thể tính được bằng phép dịch phải. Tức là, nếu x ∈ 292F được biểu diễn bởi một

véc tơ 29 bit, thì 2i

x có thể tính được bằng cách đơn giản là dịch các bít của x

sang phải i bước.

Hình 1.10 Sơ đồ khối cài đặt chuyển đổi WG

Nếu γ là máy sinh của cơ sở thông thường thì 28

2

0

1i

i

. Tức là, biểu diễn véc

tơ 29 bit bằng 1 vector. Do đó, phép cộng của phần tử trong cơ sở thông thường

26

với 1 có thể thực hiện được bằng cách đơn giản là nghịch đảo các bit của phần

tử.

Lưu vết tất cả các phần tử cơ sở bằng 1. Nghĩa là 2( ) 1i

Tr với 0 ≤ i ≤ 28. Do

đó, lưu vết 1 phần tử bất kỳ được biểu diễn bằng 1 véc tơ 29 bit được thực hiện

bằng việc thêm tất cả các bit của phần tử trên F2 (phép XOR).

* Sơ đồ khối mô tả chuyển đổi WG

Đặc tả trong hình 1.10 mô tả chi tiết việc cài đặt chuyển đổi WG trên phần cứng và

phần mềm. Từ hình đó, đầu ra của chuyển đổi WG được viết như bên dưới:

Với

1 9 19q I I I

1

2 9 19q I I I

1

3 19 10q I I I

4 10q I I

I (Đầu vào).

Phép nhân cơ bản của x và y trên 292F định nghĩa trong g(x) được ký hiệu là x y .

Tương tự phép nghịch đảo cơ bản của x trên 292F định nghĩa trong g(x) được ký hiệu

là (x)-1.

Phép toán x y biểu diễn phép XOR của x và y.

Phép toán x c biểu diễn sự dịch chuyển của x sang phải c trạng thái, với c là một

số nguyên dương.

Ký hiệu ( )x có nghĩa là tất cả 29 bit của x sẽ được tải,

Ký hiệu có nghĩa là thêm 29 bit của x trên F2 (XOR)

27

1.3.3 Khởi tạo khóa và hoạt động của mật mã

Mô tả quá trình tạo khoá và hoạt động của mật mã WG. Như đã giới thiệu bên trên độ dài

của véc tơ IV có 2 lựa chọn:

IV có độ dài 32 bít và 64 bít

IV có độ dài bằng độ dài khoá

Dưới đây là trình bày chi tiết của 2 cơ chế.

1.3.3.1 Tạo khóa (IV 32 bít và 64 bít)

Độ dài khóa được khuyến nghị cho mật mã WG là 80, 96, 112 và 128 bit. Véc

tơ khởi tạo (IV) có kích thước 32 hoặc 64 bit có thể được dùng với bất kỳ khoá

có độ dài nào ở trên. Để khởi tạo mã, các bít khóa và các bít IV được nạp vào

LFSR.

Quá trình tải các bit khóa và các bit IV vào LFSR:

Trạng thái của LFSR được biểu diễn S(1), S(2), S(3), .., S(11) ∈ F29. Mỗi trạng

thái S(i) ∈ F29 được biểu diễn: S1, .., 29(i), trong đó 1 ≤ i ≤ 11. Tương tự, các bit

khoá được biểu diễn: k1,..., j, 1≤ j ≤ 128 và bit IV là IV1,.., m, 1 ≤ m ≤ 64.

Các bit khoá được chia thành các khối 16 bit và mỗi khối được nạp vào LFSR

như sau:

Khoá 80 bit được tải

S1,..,16 (1) = k1,..,16 S1,..,16 (2) = k17,..,32 S1,..,16 (3) = k33,..,48

S1,..,16 (4) = k49,..,64 S1,..,16 (5) = k65,..,80 S1,..,16 (9) = k1,..,16

S1,..,16(10) = k17,..32 ⊕ 1 S1,..,16 (11) = k33,..,48

Khoá 96 bit được tải

S1,..16(1) = k1,..,16 S1,..16(2) = k17,..,32 S1,..16(3) = k33,..,48

S1,..16(4) = k49,..,64 S1,..16(5) = k65,..,80 S1,..16(6) = k81,..,96

S1,..,16(9) = k1,..,16 S1,..,16(10) = k17,..32 ⊕ 1 S1,..,16(11) = k33,..,48

28

Hình 1.11 Pha khởi tạo khóa của mật mã WG

Khoá 112 bit được tải

S1,..16(1) = k1,..,16 S1,..16(2) = k17,..,32 S1,..16(3) = k33,..,48

S1,..16(4) = k49,..,64 S1,..16(5) = k65,..,80 S1,..16 (6) = k81,..,96

S1,..16(7) = k97,..,112 S1,..16 (9) = k1,..,16 S1,..16 (10) = k17,..32 ⊕ 1

S1,..16 (11) = k33,..,48

Khóa 128 bit được tải

S1,..16(1) = k1,..,16 S1,..16(2) = k17,..,32 S1,..16(3) = k33,..,48

S1,..16(4) = k49,..,64 S1,..16(5) = k65,..,80 S1,..16 (6) = k81,..,96

S1,..16(7) = k97,..,112 S1,..16(8) = k113,..,128 S1,..,16(9) = k1,..,16

S1,..,16(10) = k17,..32 ⊕ 1 S1,..,16(11) = k33,..,48

Các bit IV được chia thành các khối 8 bit và mỗi khối được nạp vào LFSR

như sau:

IV 32 bit được tải

S17,..24(1) = IV1,..,8 S17,..24(2) = IV9,..,16 S17,..24(3) = IV17,..,24

29

S17,..24(4) = IV25,..,32

IV 64 bit được tải

S17,..24(1) = IV1,..,8 S17,..24(2) = IV9,..,16 S17,..24(3) = IV17,..,24

S17,..24(4) = IV25,..,32 S17,..24(5) = IV33,..,40 S17,..24(6) = IV41,..,48

S17,..24(7) = IV49,..,56 S17,..24(8) = IV57,..,64

Tất cả các bit còn lại của LFSR được thiết lập bằng 0. Khi cặp khoá/IV được

tải vào trong LFSR, máy sinh dòng khóa sẽ chạy trong 22 chu kỳ đồng hồ. Đây

là pha khởi tạo của mật mã. Trong pha này véc tơ 29 bit, được biểu diễn:

1 2 3 4keyinitvec q q q q

Véc tơ 29 bít trong hình 1.10 được thêm với hàm phản hồi của LFSR kết quả

sau đó được dùng để cập nhật LFSR. Quá trình tạo khoá được trình bày trong

hình 1.11. Khi khóa đã được khởi tạo thì LFSR bị khóa một lần và 1 bit đầu ra

của chuyển đổi WG cho ra bit đầu tiên của dòng khóa vận hành. Vì độ phức tạp

tuyến tính của dòng khóa là 245 nên độ dài tối đa của dòng khóa chấp nhật được

là dòng khoá với cặp khoá khoá/IV là 245. Sau đó, mật mã phải được khởi tạo

lại với một IV mới hoặc một khoá mới hoặc cả hai.

1.3.3.2 Tạo khóa (độ dài khóa bằng độ dài IV)

Ta có: Các trạng thái S(1), S(2), S(3), .., S(11) ∈ F229; Mỗi trạng thái S(i) ∈

F229, được biểu diễn là S1, .., 29 (i) trong đó 1 ≤ i ≤ 11. Tương tự ta biểu diễn các

bít khoá là k1, .., j, 1 ≤ j ≤ 128 và các bit IV là IV1, .., m, 1≤m≤ 128.

Khoá và IV 80 bit được tải:

S1,..16(1) = k1,..,16 S17,..24(1) = IV1,..,8 S1,..8(2) = k17,..,24

S9,..24(2) = IV9,..,24 S1,..16(3) = k25,..,40 S17,..24(3) = IV25,..,32

S1,..8(4) = k41,..,48 S9,..24(4) = IV33,..,48 S1,..16(5) = k49,..,64

S17,..24(5) = IV49,..,56 S1,..8(6) = k65,..,72 S9,..24(6) = IV57,..,72

S1,..8(7) = k73,..,80 S17,..24(7) = IV73,..,80

Khoá và IV 96 bit được tải:

S1,..16(1) = k1,..,16 S17,..24(1) = IV1,..,8 S1,..8(2) = k17,..,24

S9,..24(2) = IV9,..,24 S1,..16(3) = k25,..,40 S17,..24(3) = IV25,..,32

S1,..8(4) = k41,..,48 S9,..24(4) = IV33,..,48 S1,..16(5) = k49,..,64

S17,..24(5) = IV49,..,56 S1,..8(6) = k65,..,72 S9,..24(6) = IV57,..,72

S1,..16(7) = k73,..,88 S17,..24(7) = IV73,..,80 S1,..8(8) = k89,..,96

S9,..24(8) = IV81,..,96

Khoá và IV 112 bit được tải:

S1,..16(1) = k1,..,16 S17,..24(1) = IV1,..,8 S1,..8(2) = k17,..,24

S9,..24(2) = IV9,..,24 S1,..16(3) = k25,..,40 S17,..24(3) = IV25,..,32

30

S1,..8(4) = k41,..,48 S9,..24(4) = IV33,..,48 S1,..16(5) = k49,..,64

S17,..24(5) = IV49,..,56 S1,..8(6) = k65,..,72 S9,..24(6) = IV57,..,72

S1,..16(7) = k73,..,88 S17,..24(7) = IV73,..,80 S1,..8(8) = k89,..,96

S9,..24(8) = IV81,..,96 S1,..16(9) = k97,..,112 S17,..24(9) = IV97,..,104

S9,..16(10) = IV105,..,112

Khoá và IV 128 bit được tải:

S1,..8(4) = k41,..,48 S9,..24(4) = IV33,..,48 S1,..16(5) = k49,..,64

S17,..24(5) = IV49,..,56 S1,..8(6) = k65,..,72 S9,..24(6) = IV57,..,72

S1,..16(7) = k73,..,88 S17,..24(7) = IV73,..,80 S1,..8(8) = k89,..,96

S9,..24(8) = IV81,..,96 S1,..16(9) = k97,..,112 S17,..24(9) = IV97,..,104

S1,..8(10) = k113,..,120 S9,..24(10) = IV105,..,120 S1,..8(11) = k121,..,128

S17,..24(11) = IV121,..,128

Các bit còn lại trong LFSR đều được thiết lập bằng 0. Khi khoá và IV đã được

nạp vào LFSR, máy sinh dòng khóa sẽ chạy cho 22 chu kỳ.

*Hoạt động của mật mã

Khi mật mã đã được khởi tạo, các thành phần bên trong của LFSR tạo thành

trạng thái nội bộ của mật mã. Để tạo ra dòng khoá, LFSR bị khóa 1 lần và các

bít trong trạng thái S(11) được nạp vào khối chuyển đổi WG tạo ra một bit dòng

khóa. Các LFSR lại bị khóa và các bít mới cập nhật của S(11) sẽ được đẩy vào

khối WG chuyển đổi, tiếp tục tạo ra bit dòng khóa tiếp theo. Dòng khóa vận

hành này được XOR với bản rõ để tạo ra bản mã.

1.4 Phân tích họ hệ mật WG [3],[9]

1.4.1 Các thuộc tính ngẫu nhiên của dòng khóa

Dòng khóa WG {ai} được tạo ra bằng cách sử dụng chuyển đổi WG để lọc một

chuỗi có độ dài lớn nhất trên 292F . Do đó ta có thể biểu diễn đầu ra của máy sinh

như sau:

( ), 0,1...i ia f b i 319

29( ) . ( )u x f Tr x (2)

( )u x là thành phần hợp thành của hàm lưu vết 319

29 ( )Tr x và chuyển đổi WG - f trong

đó ( )b i là chuỗi m được tạo ra bởi LFSR trên 292F với 319

29 ( )Tr x và f . Chuỗi tương

ứng với ( )u x được gọi là chuỗi GMW tổng quát.

* Các thuộc tính đặc trưng của dòng khoá mà được tạo ra bởi máy sinh WG:

- Chu kỳ: Máy sinh dòng khóa WG có một LFSR 11 trạng thái trên 292F với một

đa thức phản hồi nguyên thủy mà nó sinh ra một chuỗi có độ dài lớn nhất có chu

31

kỳ 211×29 - 1 trên 292F . Vì vậy, chu kỳ của dòng khóa được tạo ra bởi mật mã là

2319-1.

- Cân bằng: Do chuỗi m {bi} trên 292F cân bằng và WG là một hàm bool cân bằng

292F → F2, nên dòng khóa cũng được cân bằng.

- Tính tự tương quan cấp hai: Chuyển đổi WG là một hàm trực giao và chuỗi

chuyển đổi WG tương ứng có độ tự tương quan cấp độ 2.

Ta xét (2): Đã chứng minh trong rằng nếu f là một hàm trực giao thì chuỗi

tương ứng với nó u cũng có độ tự tương quan cấp hai. Do đó, dòng khóa được

tạo ra bởi máy sinh dòng khóa WG có độ tương quan cấp cấp.

- Phân phối t-tuple: Vì {bi} là chuỗi m trên 292F , với độ 11 và f là một hàm bool

cân bằng từ 292F → F2, dòng khóa {ai} là phân bố t-tuple lý tưởng với 1 ≤ t ≤ 11.

- Độ phức tạp tuyến tính: Từ công thức (2), độ phức tạp tuyến tính của dòng khóa

có thể được tính chính xác theo công thức sau: w( ) 45.041529 11 2i

i I

LS

Với w( )i là khoảng cách hamming của i và I = I1 ∪ I2

Với:

I1 = {219 + 29 + 2 + i |0 ≤ i ≤ 29 − 3},

I2 = {220 + 3 + 2i |0 ≤ i ≤ 29 − 2}.

1.4.2 Chuyển đổi WG

Biểu thức chuyển đổi WG, 292F → F2, có thể được xem như một hàm bool trong 29

biến. Biểu diễn bool chính xác phụ thuộc vào cơ sở tính toán trong 292F . Cơ sở thông

thường được lựa chọn sao cho biểu diễn bool tương ứng của chuyển đổi WG là 1-

order linh hoạt, có độ là 11 và độ phi tuyến tính của nó là 228-214 = 268419072

1.4.3 An ninh chống lại các cuộc tấn công

Phân tích tính bảo mật của mật mã WG đối với một số cuộc tấn công nổi tiếng trên

mật mã dòng. Các loại tấn công được biết đến như các cuộc tấn công thương mại

TMD, các cuộc tấn công đại số và các cuộc tấn công tương quan….

Tấn công về mặt thời gian /bộ nhớ/ dữ liệu (TMD): Xét cuộc tấn công thương

mại thời gian/ bộ nhớ/ dữ liệu trên các mật mã dòng.

Phương thức tấn công: có hai giai đoạn:

Giai đoạn tiền tính toán, kẻ tấn công khai thác cấu trúc của mật mã dòng và

tổng hợp các phát hiện của mình trong các bảng lớn.

32

Giai đoạn tấn công, kẻ tấn công sử dụng các bảng này và dữ liệu quan sát

được để tính toán khóa bí mật hoặc trạng thái bên trong của mật mã dòng.

Để xác định được tính khả thi của cuộc tấn công này cần xác định rõ 3 vấn đề:

o Thông tin khai thác được trong giai đoạn tiền xử lý.

o Dòng khóa được yêu cầu.

o Những tính toán cần thiết để khôi phục khoá bí mật.

Giải pháp: giải pháp đơn giản để đảm bảo an ninh chống lại cuộc tấn công này là

tăng không gian tìm kiếm.

Một tấn công thương mại TM2D2 = N2 với D2 ≤ T ≤ N, trong đó T là thời gian cần

thiết cho cuộc tấn công, M là bộ nhớ cần thiết để lưu trữ các bảng, D biểu diễn dữ

liệu thời gian thực hoặc dòng khóa được yêu cầu, và N là kích thước của không

gian tìm kiếm. Việc tăng không gian tìm kiếm có thể được thực hiện được bằng

cách tăng kích thước của trạng thái nội bộ và sử dụng IV ngẫu nhiên cùng với khóa

bí mật. Trong mật mã dòng WG, kích thước của trạng thái bên trong là 2319 gấp đôi

kích thước của khoá lớn nhất. Nếu một IV ngẫu nhiên có cùng độ dài với khoá bí

mật, mật mã sẽ được đảm bảo chống lại các cuộc tấn công thời gian/bộ nhớ/dữ liệu.

Tấn công đại số:

Hình thức tấn công: Nhằm tấn công vào LFSR, tạo ra một hệ phương trình phi

tuyến tính cho nhiều dòng khoá, để có thể khôi phục được trạng thái bên trong của

LFSR.

Chứng minh mật mã WG an toàn với cuộc tấn công đại số: Ta xét các cuộc tấn công đại số đã được sử dụng gần đây để phá nhiều thuật toán

mã hóa nổi tiếng. Courtois đã chỉ ra rằng độ phức tạp của các cuộc tấn công này

phụ thuộc vào bộ lọc phi tuyến tính và số lượng các kết quả đầu ra được tạo ra bởi

mật mã. Nếu bộ lọc phi tuyến tính có thể tính xấp xỉ bằng một phương trình đa biến

có độ thấp thì độ phức tạp này có thể giảm một cách đáng kể.

Biểu diễn hàm bool của WG có 29 đầu vào, một đầu ra và có độ là 11. Một bộ lọc

phi tuyến tính với 29 đầu vào và 1 đầu ra phải có xấp xỉ độ 14. Tuy nhiên độ này

lớn hơn 11, độ của chuyển đổi WG. Để các xấp xỉ có ý nghĩa đối với chuyển đổi

WG nên có độ nhỏ hơn 11. Giả sử rằng không có phép xấp xỉ của WG với độ nhỏ

hơn 11, mật mã có thể được giảm xuống một hệ phương trình tuyến tính xấp xỉ

319

11.

Độ phức tạp của việc giải quyết hệ thống như vậy là xấp xỉ 72log

319 182

117 / 64* 2 .

Nếu tồn tại phép xấp xỉ của WG với độ nhỏ hơn 11 được thì độ phức tạp của cuộc

tấn công sẽ giảm. Theo [9], kết quả thí nghiệm trên chuyển đổi WG, đưa ra phỏng

đoán rằng xác suất của sự tồn tại của phép xấp xỉ như vậy là rất thấp. Chuyển đổi

WG trong các biến 11, 13 và 14 không có phép xấp xỉ với độ nhỏ hơn so với độ

chuyển đổi WG. Vì cả hai biểu diễn bool và đa thức của chuyển đổi WG có số

33

lượng lớn các thuật ngữ đơn thức với độ cao thì nó không thể xóa được các thuật

ngữ với độ cao hơn mà không ảnh hưởng đến đầu ra của chuyển đổi. Chuyển đổi

WG có một số lượng lớn các thuật ngữ đơn trong đó biểu diễn đa thức và bool đảm

bảo an ninh chống lại các cuộc tấn công đại số.

29 28 14

`

29

2 (2 2 )( ) ( ) 0.5000305.

2P f x l x

Các cuộc tấn công tương quan:

Phương thức tấn công: Đối với loại tấn công này, kẻ thù sẽ khai thác bất kỳ mối

tương quan nào có thể tồn tại giữa dòng khóa và đầu ra của LFSR trong mật mã để

thực hiện tấn công.

Trong các cuộc tấn công này, dòng khóa được coi là một phiên bản bị bóp méo hoặc

gây nhiễu của đầu ra LFSR. Điều này làm giảm khả năng tìm ra trạng thái nội bộ

của LFSR dẫn tới khả năng giải mã cũng giảm. Chuyển đổi WG được dùng trong

mật mã WG là 1-order linh hoạt, nghĩa là đầu ra của chuyển đổi WG hay dòng khóa

không có mối lên quan gì với bất kỳ bit đầu vào nào của đầu ra LFSR.

Điều này cho thấy rằng mật mã WG đủ sức để chống lại các cuộc tấn công tương

quan. Tuy nhiên, khi xét trường hợp chuyển đổi WG là xấp xỉ bằng các hàm tuyến

tính. Những xấp xỉ tuyến tính này có thể được sử dụng để lấy ma trận máy sinh của

một mã tuyến tính. Việc giải mã sau đó có thể được thực hiện bằng thuật toán giải

mã Maximum Likelihood (ML) để phục hồi trạng thái nội bộ của LFSR.

Chứng minh mật mã WG an toàn với cuộc tấn công tương quan:

Ta sử dụng một số ràng buộc lý thuyết để ước tính độ phức tạp của cuộc tấn công

vào mật mã WG.

Cho `f là hàm bool biểu diễn chuyển đổi WG và l là một hàm tuyến tính với

khoảng cách Hamming ngắn nhất đến `f . Ta có xác suất: 29 28 14

'

29

2 (2 2 )( ( ) ( ) 0.5000305

2P f x l x

Số lượng dòng khóa cần thiết cho một cuộc tấn công thành công là:

319

1/3 2 3.12.ln 2 . .2k

N k

Và độ phức tạp giải mã là:

6

2ln 22 . .

(2 )

k

decC k

Trong đó ( '( ) ( )) 0.5 0.000305P f x l x và k là số bit trạng thái bên trong LFSR

đã khôi phục. Nếu ta chọn k là rất nhỏ, tức k = 5, thì số lượng dòng khóa cần cho

cuộc tấn công là khoảng 2133. Hơn nữa, độ phức tạp của pha tiền xử lý là hơn 2266.

Vì số lượng dòng khóa lớn nhất có thể được tạo ra với một khoá đơn và IV là 245,

ta chọn k = 274 để giảm lượng dòng khoá đến số này. Bây giờ độ phức tạp của giai

34

đoạn giải mã là khoảng 2366. Phân tích này cho thấy rằng mật mã WG được bảo vệ

chống lại kiểu tấn công tương quan.

1.5 Công nghệ RFID và họ hệ mật WG [6], [8]

RFID đã trở thành một phần không thể thiếu trong cuộc sống hàng ngày của chúng

ta. RFID được coi là một công nghệ nhận dạng tự động không dây (AIDC). Bất kỳ

đối tượng từ xa hoặc người nào có thiết bị RFID được gắn vào có thể được xác định

tự động. Thông tin trong hệ thống RFID nói chung diễn ra giữa ba thành phần, thẻ

RFID hoặc bộ thu, máy đọc RFID hoặc bộ thu phát và hệ thống cơ sở dữ liệu back-

end. Thẻ RFID được chia thành ba loại; thụ động, chủ động và bán thụ động có thể

hoạt động trên các băng tần số khác nhau; Tần số thấp (LF), tần số cao (HF), tần số

cực cao (UHF)và tần số vi sóng. Các băng tần được mô thả như hình bên dưới

Dải tần Mô tả

< 135 KHz LF

6.765 – 6.795 MHz HF

7.4 – 8.8 MHz HF

13.553 – 13.567 MHz HF

26.957 – 27. 283 MHz HF

433 MHz UHF

868 – 870 MHz UHF

902 – 928 MHz UHF

2.4 – 2.483 GHz SHF

5.725 – 5.875 GHz SHF

Bảng 1.3 Bảng dải tần RFID

* Một số lợi ích của thẻ RFID so với mã vạch thông thường:

- Thẻ RFID có thể hoạt động không cần có đường ngắm hay không cần có bất kỳ

vị trí chính xác nào trong khi đó mã vạch quang học yêu cầu đường ngắm.

- Máy đọc RFID có thể đọc (quét) hàng trăm thẻ mỗi giây trong khi mã vạch

quang phải được đọc một cách thủ công mỗi lần.

- Các thẻ RFID lưu trữ số định danh, lưu trữ dữ liệu ứng dụng cụ thể, thực hiện

và trả lời các thông tin dữ liệu cho bất kỳ truy vấn cụ thể nào từ người đọc.

- Các thẻ RFID có thể được thực hiện như các bộ cảm biến tích hợp, bộ nhớ

đọc/ghi, có khả năng hỗ trợ các hệ thống mã hoá và kiểm soát truy cập.

35

RFID là "công nghệ quan trọng đầu tiên của thế kỷ 21". Do những tiến bộ kỹ thuật

trong sản xuất chất bán dẫn, các nhà nghiên cứu đang co lại kích thước của các thẻ

RFID. Trong những năm gần đây, Hitachi đã đưa ra các chip RFID nhỏ nhất trên

thế giới được gọi là chíp Hitachi loại 0,40,4mm và nó sử dụng ROM để lưu trữ

số định danh 128 bit. Do các công nghệ tiên tiến phát triển, chi phí của các thẻ

RFID đã giảm đáng kể và kích thước của thẻ thay đổi tùy theo từng ứng dụng.

RFID gồm 3 thành phần chính được biểu diễn như hình dưới:

Các thẻ

Máy đọc RFID

Hệ thống cơ sở dữ liệu backend.

Hình 1.12 Hệ thống RFID

Kích thước của các thiết bị RFID cơ bản phụ thuộc vào các định nghĩa chuẩn RFID

được cài đặt. Một số tiêu chuẩn như Organization for Standardization (ISO) và

International Electro-technical Commission (IEC) đóng một vai trò quan trọng

trong việc điều chỉnh việc sử dụng RFID.

Tóm lại, thẻ RFID là một chip silicon nhỏ được thiết kế để liên lạc với truyền thông

dữ liệu không dây sử dụng sóng tần số vô tuyến (RF). Chip silicon lưu trữ thông

tin định danh duy nhất của đối tượng hoặc con người và truyền định danh dưới dạng

số ID duy nhất được gọi là Mã sản phẩm Điện tử ( EPC) tới đầu đọc RFID và lần

lượt liên kết với hệ thống cơ sở dữ liệu cuối. Các thiết bị RFID còn được gọi là các

thẻ EPC.

* Các loại tấn công vào thẻ RFID

Tấn công từ chối dịch vụ: Với loại tấn công này, kẻ tấn công sẽ tạo ra những

thẻ đặc biệt để gây ra sự nhầm lẫn cho máy đọc khi xác thực các thẻ cá nhân.

36

Giả mạo: Đây là một kỹ thuật mà kẻ tấn công sao chép dữ liệu thẻ và truyền

cho máy đọc.

Làm giả hoặc nhân bản: Kẻ tấn công sao chép dữ liệu của một thẻ vào một

thẻ khác sau đó sử dụng thẻ mà được sao chép đó để giao tiếp với máy đọc.

Làm giả (sửa đổi) dữ liệu: Kẻ tấn công cố gắng xóa dữ liệu trên thẻ và làm

cho nó không thể truyền tin hoặc sửa đổi dữ liệu thẻ.

Kiểm kê bí mật: Thường được thực hiện ở thẻ EPC có chứa thông tin về nhà

sản xuất của đối tượng, mã đối tượng,… Vì vậy, bất kỳ ai có máy đọc có thể

biết về thông tin người khác.

37

CHƯƠNG 2 CÁC HỆ MẬT WG-8 VÀ WG-16

2.1 Tổng quan hệ mật WG-8 [8]

2.1.1 Giới thiệu WG-8

WG-8 là phiên bản cải tiến của họ hệ mật mã dòng WG, áp dụng cho các thiết bị thông

minh với tài nguyên hạn chế. WG-8 kế thừa các ưu điểm của họ mã hóa dòng WG về tính

ngẫu nhiên và độ mã hóa, đồng thời có khả năng chống lại các các tấn công thường gặp ở

mật mã dòng. So sánh các phần mềm chạy trên 2 thiết bị vi điều khiển công suất thấp, một

cài đặt WG-8 và một cài đặt các mã hạng nhẹ khác, xét trên tiêu chí đảm bảo an toàn các

phần mềm nhẹ, phần mềm cài đặt WG-8 mang lại hiệu quả cao hơn và tiêu thụ năng lượng

ít hơn. Phần này sẽ mô tả chi tiết cấu trúc hoạt động của mật mã dòng WG-8.

2.1.2 Thuật ngữ và ký hiệu

F2 = {0,1} là trường Galois với 2 phần tử 0 và 1.

p(x) = x8 + x4 + x3 + x2 + 1, đa thức nguyên thuỷ bậc 8 trên 2.

Trường mở rộng 82F của F2 được định nghĩa bởi đa thức nguyên thuỷ ( )p x với 28

phần tử. Mỗi phần tử trong 82được biểu diễn như 1 vector nhị phân 8 bít. Cho

là một phần tử nguyên thuỷ của 82với p( ) = 0.

2 72 2 2( ) ....Tr x x x x x , là hàm lưu vết 8 22.

20 9 8 7 4 3 2( )l x x x x x x x x x , là đa thức phản hồi của LFSR (cũng là 1

đa thức nguyên thuỷ trên 82).

WGP-8(xd ) = q(xd + 1) + 1, hoán vị WG-8 với d từ 8 82 2với d là nguyên tố

cùng nhau với 28-1.

WGT-8(xd) = Tr(WGP-8(xd )) = Tr(x9 + x37 + x53 + x63 + x127), chuyển đổi WG-8

với d , 8 22 với d là nguyên tố cùng nhau với 28-1.

Cơ sở đa thức (PB) của 82: Một cơ sở đa thức của 82

trên 2là cơ sở có dạng

2 7{1, , ,..., } .

Cơ sở thông thường (NB) của 82: Một cơ sở thông thường của 82

trên 2là cơ sở

có dạng 72 2{ , ,..., } , với 5 .

Tính tự tương quan: Tính tự tương quan của chuỗi nhị phân với chu kỳ T được định

nghĩa khác nhau giữa việc ràng buộc và không ràng buộc khi 0 ánh xạ tới 1 và 1 ánh

38

xạ tới -1. Nếu tất cả đầu ra của giai đoạn tự tương quan đều bằng -1 thì chuỗi đó

được gọi là tương quan lý tưởng cấp 2.

Khoảng tuyến tính – LS: khoảng tuyến tính hay độ phức tạp tuyến tính của chuỗi

nhị phân được định nghĩa là độ dài của thanh ghi dịch tuyến tính nhỏ nhất mà nó tạo

ra toàn bộ chuỗi nhị phân

Phi tuyến tính: phi tuyến tính của 1 hàm f được định nghĩa là khoảng cách ngắn

nhất từ f tới 1 hàm affine bất kỳ với số lượng biến giống nhau.

Khả năng miễn dịch đại số (AI): Khả năng miễn dịch đại số của hàm f được định

nghĩa là độ nhỏ nhất của hàm bool g sao cho g tương đương với f hoặc là phần bù

của f , tức: 0fg hoặc ( 1) 0f g . Trong điều kiện lý tưởng, khả năng miễn dịch

đại số của hàm f sẽ bằng với độ của f , vì vậy nó có thể chống lại các cuộc tấn

công đại số.

Ký hiệu là toán tử cộng bít (phép XOR).

Ký hiệu Toán tử nhân trên 82.

2.1.3 Đặc tả cấu trúc mật mã dòng WG-8

Mật mã dòng WG-8 là 1 biến thể của họ mật mã dòng WG với khóa bí mật là 80-

bit và véc tơ khởi tạo là 80-bit; máy sinh lọc phi tuyến tính trên trường hữu hạn F28.

Mật mã dòng WG-8 gồm 1 thanh ghi dịch phản hồi tuyến tính (LFSR) 20 trạng thái

với đa thức phản hồi l(x) tiếp nối với mô-đun chuyển đổi WG-8 với decimation =

19, hoạt động trong 2 pha: pha khởi tạo và pha thực thi.

Pha khởi tạo: Pha khởi tạo cặp khoá/IV của mã dòng WG-8 được minh họa như

hình bên dưới.

WGP-8(x19): Mô đun hoán vị WG-8 với with Decimation d = 19

Hình 2.1 Pha khởi tạo của mật mã dòng WG-8

39

Tại pha khởi tạo:

Khóa bí mật 80-bit: K = (K79,…,K0)2 .

Véc tơ IV 80 bít: IV = (IV79,…,IV0)2.

Các trạng thái trung gian của thanh ghi dịch LFSR: 80 19 2,....,S S , trong đó

,7,..., ,0 2i i iS S S với 0,.....19i

Khóa và véc tơ IV được sinh ra theo quy luật:

2 8 3,...., 8 , 8 3,..., 8 2i i i i iS K K IV IV và 2 1 8 7,...., 8 4, 8 7,..., 8 4 2i i i i iS K K IV IV

Với: 0,....9i

Khi khóa và IV được tải vào thanh ghi LFSR, thiết bị chạy trong 40 chu kỳ đồng hồ.

Tại mỗi chu kỳ đồng hồ, 8 bít bên trong trạng thái S19 sẽ chạy qua hoán vị phi tuyến

tính WG-8 với decimation d = 19 (tức mô-đun 19W 8( )GP x )

Kết quả của S19 sau khi chạy qua WGP-8(x19) được sử dụng để cập nhật trạng thái

của thanh ghi LFSR. Thanh ghi này được cập nhật theo quan hệ đệ quy sau:

19

20 1 2 3 4 7 8 9 19( ) W 8 ,0 40k k k k k k k k k kS S S S S S S S S GP S k

Sau pha khởi tạo khóa/IV, WG-8 chuyển sang pha thực thi và sau mỗi chu kỳ đồng

hồ sẽ tạo ra dòng khoá 1 bít.

Pha thực thi: Pha thực thi của WG-8 được minh họa ở hình bên dưới:

WGT-8(x19): Mô đun chuyển đổi WG-8 với Decimation d = 19

WGP-8(x19): Mô đun hoán vị WG-8 với Decimation d = 1057

40

Tr(·): Mô đun tính toán lưu vết

Hình 2.13 Pha thực thi của mật mã WG-8

Tại pha thực thi, trạng thái S19 được truyền qua mã chuyển đổi phi tuyến tính WG-8 với

decimation d = 19 (tức mô-đun 19W 8( )GT x ), sau khi thực hiện quá trình này sẽ tạo ra

dòng khóa. Hàm phản hồi ở pha thực thi nằm ở LFSR và quan hệ đệ quy để cập nhật

LFSR là:

20 1 2 3 4 7 8 9( ) , 40k k k k k k k k kS S S S S S S S S k

Mô-đun chuyển đổi WG-8 bao gồm 2 mô-đun con:

(1)Mô đun con 1: mô đun WG-8 hoán vị (WGP-8(x19)), mô đun này hoán vị các

phần tử của F28 .

(2)Mô đun con 2: mô đun tính toán vết Tr(.), mô-đun này nén chuỗi 8-bit đầu vào

thành dòng khóa đầu ra 1-bit.

Tính ngẫu nhiên của dòng khóa của WG-8

Dòng khóa sinh ra bởi mã hóa WG-8 có các đặc tính ngẫu nhiên sau:

1. Dòng khóa có chu kỳ 2160 - 1.

2. Dòng khóa cân bằng, nghĩa là số lượng bit-0 nhỏ hơn số lượng bit-1 chỉ 1, trong

một chu kỳ của dòng khóa.

3. Dòng khóa là một chuỗi bit tự tương quan lý tưởng cấp 2.

4. Dòng khóa có phân bố t-tuple lý tưởng (1 ≤ t ≤ 20): mọi đầu ra t-tuple có khả

năng xảy ra với xác suất như nhau trong một chu kỳ của dòng khóa.

5. Khoảng cách tuyến tính của dòng khóa có thể được xác định chính xác là 233.32.

2.1.4 Đánh giá các tấn công mật mã dòng WG-8

Tấn công đại số

Hệ số miễn dịch đại số của WGT-8(x19) bằng 4. Theo cuộc tấn công đại số, độ phức

tạp về thời gian và độ phức hợp dữ liệu để khôi phục lại trạng thái nội bộ của LFSR

tương ứng là

72log

66.00371607

. 2464

và 24.65

1602

4

. Để thực hiện được các cuộc tấn

công đại số nhanh vào mật mã dòng WG-8, ta cần phải tìm hai đa thức đa biến g và

h với độ e và d (e <d) sao cho f.g = h. Với WGT-8(x19) và e = 1, không tồn tại một

đa thức đa biến h trong 8 biến với độ nhỏ hơn 7. Do đó, đưa ra các cuộc tấn công

đại số nhanh đòi hỏi phải có thêm bit dòng khóa với độ phức tạp cao hơn. Trong các

41

mạng 4G-LTE, kẻ tấn công khó có thể nhận được khoảng 224.65 bit dòng khóa từ

một phiên truyền thông. Ngay cả khi kẻ tấn công có thể có được nhiều bit khoá cố

định và IV, kẻ đó phải thực thi các phép toán với độ phức tạp về thời gian 266.0037,

điều đó mới hoàn toàn đánh bại cuộc tấn công này.

Tấn công tương quan

Trong cuộc tấn công tương quan, kẻ tấn công nhằm mục đích tìm mối tương quan

giữa một dòng khóa và một chuỗi đầu ra của LFSR hoặc giữa các dòng khóa. Cuộc

tấn công tương quan giữa các dòng khóa sẽ không thực hiện thành công được, dựa

vào tính chất tự tương quan hai cấp lý tưởng của dòng khóa đã được chuẩn hoá bởi

WG-8. Bây giờ ta xét các cuộc tấn công tương quan nhanh, trong đó dòng khóa tạo

ra bởi một mật mã dòng được coi là một phiên bản lỗi của đầu ra LFSR. Đối với

việc thực hiện một cuộc tấn công tương quan nhanh, việc ước lượng tuyến tính của

WGT-8(x19) có thể được sử dụng để lấy ma trận sinh của một mã tuyến tính, có thể

sử dụng giải thuật Maximum Likelihood Decoding (MLD) để giải mã. Cho ( )f x là

một hàm tuyến tính trong 8 biến, ta có:

8

19

8

2 108Pr W 8( )( ) ( ) 0.578125

2GT x x f x

.

Cho t = 3, số lượng dòng khóa (được biểu thị bởi N) cần thiết cho cuộc tấn công để

thành công: 1601

2 33.12.ln 2 . .2k

N k

và độ phức tạp giải mã:

6

2ln 22 . .

2

k

decC k

trong đó 19Pr(W 8( ) ( )) 0.5 0.078125GT x f x và k là số bit được khôi phục

trạng thái bên trong LFSR.

Nếu chọn một giá trị k nhỏ (ví dụ k = 7), số bit cần thiết để thực hiện cuộc

tấn công là khoảng 260.31, điều này là không khả dĩ trong thực tế.

Nếu chọn một giá trị của k lớn (ví dụ k = 80), số bit cần thiết để thực hiện

cuộc tấn công là khoảng 237.15. Tuy nhiên, độ phức tạp giải mã của cuộc tấn

công là khoảng 2102.68, còn tồi hơn so với việc tìm kiếm vét cạn.

Vì vậy, mật mã dòng WG-8 cũng an toàn chống lại các cuộc tấn công tương quan

nhanh.

Tấn công vi phân

Pha khởi tạo trong thiết kế đầu tiên của mật mã dòng WG là có thể bị tấn công bởi

cuộc tấn công IV đã được chọn, kẻ tấn công có thể phân biệt một số bit đầu ra bằng

cách xây dựng một dấu hiệu dựa trên phân tích vi phân. Điểm yếu này đã được sửa

trong thiết kế sau này bằng cách đặt mô-đun hoán vị WG ở vị trí cuối cùng của

LFSR.

Mật mã dòng WG-8 hoán vị WGP-8 (x19) có phân bố vi phân là 8-uniform, tại pha

khởi tạo, WGP-8 được chạy 40 lần. Do đó, sau pha khởi tạo, kẻ tấn công sẽ rất khó

42

phân biệt các bít dòng khóa đầu ra vì vi phân trở càng nên phức tạp hơn và bao gồm

hầu hết các bit khoá/IV. Vì vậy, WG-8 là an toàn chống lại các cuộc tấn công vi

phân.

Tấn công hình lập phương

Cube attack là một cuộc tấn công khôi phục khoá chung, có thể được áp dụng cho

bất kỳ hệ thống mật mã nào, với điều kiện kẻ tấn công có thể lấy được một chút

thông tin được biểu diễn bởi một đa thức nhiều biến với độ thấp. Trong mật mã dòng

WG-8, sau 40 vòng khởi tạo key/ IV, độ của đa thức đầu ra có thể rất cao. Do đó,

sẽ rất khó khăn cho kẻ tấn công để thu thập mối quan hệ độ thấp giữa các bít khóa

bí mật.

Tấn công phân biệt

Gần đây, một cuộc tấn công phân biệt đã được đề xuất chống lại mật mã dòng WG-

7. Do một số nhỏ các vị trí tap trong LFSR của WG-7, đa thức đặc trưng của LFSR

cho phép một kẻ tấn công thiết lập một người đặc biệt để phân biệt một dòng khóa

được tạo ra bởi WG-7 từ một dòng khóa hoàn toàn ngẫu nhiên. Đối với mật mã WG-

8, đa thức đặc trưng của LFSR bao gồm 4 vị trí tap và một sự phân biệt được xây

dựng như sau:

4 7 9( ,... , ,... )i i i iF S S S S 1 2 3 4 7 8 9W 8( )i i i i i i i iGT S S S S S S S S

1 2 3W 8( ) W 8( ) W 8( ) W 8( )i i i iGT S GT S GT S GT S

4 7 8 9W 8( ) W 8( ) W 8( ) W 8( )i i i iGT S GT S GT S GT S .

Để phân biệt F, xác suất 1

Pr( ( ) 0)2

F x với 80 7 2( ,...., ), ix a a a . Giá trị sẽ

khá nhỏ do một số lượng lớn các biến vi phân, yêu cầu kẻ tấn công phải lấy được

nhiều bit dòng khoá để phân biệt dòng khoá. Tuy nhiên điều này gần như là bất khả

thi vì số lượng các giá trị có thể của x là 264. Do đó, WG-8 an toàn đối với các tấn

công phân biệt thông thường.

Tấn công chuyển đổi Fourier rời rạc

Tấn công DFT là một kiểu tấn công mới nhằm khôi phục trạng thái bên trong của

của filtering generator, lần đầu tiên được đề xuất bởi Rønjom và Helleseth trong

việc tấn công máy phát điện lọc qua F2n bởi Gong et al.

Trong cuộc tấn công DFT, kẻ thù có thể phục hồi trạng thái bên trong của một

filtering generator bằng cách khai thác các bit dòng khoá D với độ phức tạp O(D),

trong đó D là độ phức tạp tuyến tính của dòng khoá, sau đó tính toán trước độ phức

tạp O(D(log2D)3). Để thực hiện cuộc tấn công DFT chống lại mật mã dòng WG-8,

một kẻ tấn công cần phải có được 233.32 bit dòng khoá liên tiếp. Do đó, độ phức tạp

của cuộc tấn công để khôi phục lại trạng thái bên trong là 233.32. Đối với các ứng

dụng nhúng hạng nhẹ như hệ thống RFID, đầu đọc và thẻ, vì chỉ trao đổi các số ngẫu

43

nhiên có độ dài 32-bit trong mỗi phiên làm việc nên kẻ tấn công sẽ không bao giờ

có thể nhận được 233.32 bit dòng khoá.

Tấn công thương mại TMD

Tấn công thương mại Time-Memory-Data (TMD) là cuộc tấn công giải mã chung

được áp dụng cho bất kỳ mật mã dòng nào, đặc biệt là những đối tượng có khả năng

kháng mẫu thấp. Độ phức tạp của cuộc tấn công thương mại TMD là 22n

O

, trong

đó n là kích thước của trạng thái bên trong. Đối với mật mã dòng WG-8, kích thước

của trạng thái bên trong là 160-bit và do đó độ phức tạp của việc đưa ra tấn công

TMD dự kiến là O(280). Hơn nữa, tính kháng mẫu của mật mã dòng WG-8 là cao

do sử dụng WGT-8(x19) làm chức năng lọc. Biểu diễn ANF của WGT-8(x19) chứa

109 kỳ, trong đó chỉ có 4 kỳ tuyến tính và các kỳ khác có độ nằm trong khoảng (2,8).

Do đó, chỉ cần cố định 7 trên 8 biến là có thể nhận được 1 đẳng thức tuyến tính.

2.2 Hệ mật WG-16 [1]

2.2.1 Giới thiệu WG-16

Các hệ thống viễn thông di động đã phát triển theo từng bước. Từ khi triển khai đầu

tiên của điện thoại di động analog vào những năm 1980, các thế hệ mạng di động mới

đã xuất hiện trên thị trường khoảng 10 năm một lần. Hệ thống thế hệ thứ hai chiếm ưu

thế (2G), Hệ thống toàn cầu về điện thoại di động (GSM), được đưa ra vào đầu những

năm 1990. Hệ thống 3G thế hệ thứ ba thành công nhất, hệ thống viễn thông di động

toàn cầu (UMTS), đã được đưa vào sử dụng vào năm 2002. Kể từ năm 2010, công nghệ

LTE (Long Term Evolution) đã trở thành công nghệ băng thông di động lớn không thua

gì thế hệ thứ tư (4G). Tiêu chuẩn 4G-LTE nhằm đơn giản hóa cấu trúc của hệ thống,

khi nó chuyển từ mạch UMTS và chuyển mạch gói mạng kết hợp sang một hệ thống

Architec-ture (IP) toàn bộ Giao thức Internet (IP). Bằng cách kết nối điện thoại thông

minh mới nhất với mạng 4G-LTE, các nhà khai thác di động có thể cung cấp cho người

đăng ký tốc độ duyệt web nhanh hơn và trải nghiệm tin nhắn, thoại và video tốt hơn.

Đối với mỗi sự phát triển của các hệ thống viễn thông, các tính năng bảo mật mới

đã được nâng cấp để đáp ứng những kịch bản và ứng dụng triển khai mới. Vì các mạng

4G-LTE có nhiều cấu trúc phẳng hơn, với ít thành phần mạng hơn và hoàn toàn dựa

trên IP nên các vấn đề về bảo mật truyền thông phải được giải quyết theo một cách hoàn

toàn khác với GSM và 3G. Kiến trúc bảo mật của các mạng 4G-LTE hiện tại về cơ bản

là việc tái sử dụng UMTS Authentication và Key Agreement (A-KA) với một số mở

rộng và cải tiến nhất định để thích ứng với những thay đổi mà các mạng 4G-LTE đề

cập đến. 3GPP-TSG đang tích cực nghiên cứu chi tiết các kỹ thuật của thuật toán bảo

mật và mật mã 3GPP để giải quyết bất kỳ lỗ hổng bảo mật tiềm ẩn nào. Hiện tại, có ba

bộ mật mã trong hệ thống 3GPP UMTS, bao gồm một mật mã khối Kasumi và hai mật

mã dòng SNOW 3G (2006, từ Châu Âu) và ZUC (2010, từ Trung Quốc). Những bộ

44

mật mã này đã được đưa vào tiêu chuẩn 4G-LTE trong đó Kasumi được thay thế bằng

AES. Vấn đề chính của bộ mật mã hiện tại được yêu cầu trong tiêu chuẩn 4G-LTE là

tính ngẫu nhiên của dòng khoá được tạo ra bởi các thuật toán mật mã rất khó để cài đặt.

Ngoài ra, một số cuộc tấn công vào các thuật toán mật mã dòng chính và một số điểm

yếu của thuật toán toàn vẹn gần đây đã được phát hiện.

Mật mã dòng hướng bít WG-16 là một biến thể mới của mật mã dòng WG nổi tiếng

như đã gửi tới dự án eSTREAM. WG-16 thừa hưởng các thuộc tính ngẫu nhiên tốt của

họ mật mã dòng WG như chu kỳ, sự cân bằng, sự tương quan lý tưởng cấp hai, phân

phối t-tupe lý tưởng và độ phức tạp tuyến tính chính xác. Hơn nữa, WG-16 có thể chống

lại các cuộc tấn công phổ biến nhất tấn công vào mật mã dòng, bao gồm tấn công đại

số, tấn công tương quan, tấn công khác biệt, tấn công phân biệt, tấn công chuyển đổi

Fourier rời rạc, và tấn công thương mại. Do đó, WG-16 là được đề xuất để đảm bảo

truyền thông trong các mạng 4G-LTE đang nổi lên. Mã hóa dòng WG-16 có đầu vào là

một khóa 128-bit và một véc tơ IV 128-bit và tạo ra một bit dòng khoá cho mỗi chu kỳ

đồng hồ. Dòng khoá có thể được sử dụng để mã hóa/giải mã thông tin liên lạc giữa một

điện thoại di động và một base station trong các mạng 4G-LTE.

2.1.2 Thuật ngữ và ký hiệu

Một số thuật ngữ và các ký hiệu sẽ được sử dụng để mô tả mật mã dòng WG-16,

kiến trúc của nó và các thuật toán bảo mật và toàn vẹn để mô tả đặc tính ngẫu nhiên và

mật mã của WG-16.

- F2 = {0,1}, trường Galois với 2 giá trị 0 và 1.

- p(x) = x16+ x5 + x3 + x2 + 1, đa thức nguyên thuỷ mũ 16 trên 2 .

- r(x) = x64 + x4 + x3 + x + 1, đa thức nguyên thuỳ mũ 64 trên 2 .

- 162F là trường mở rộng của F2 được định nghĩa bởi đa thức p(x) với 216 phần

tử. Mỗi phần tử trong 162F được biểu diễn bằng 1 véc tơ nhị phân 16 bit. Cho

ω là một phần tử nguyên thuỷ của 162F sao cho p(ω) = 0.

- 642F , trường mở rộng của F2 được định nghĩa bởi đa thức f(x) với 264 phần tử.

Mỗi phần tử trong 642F được biểu diễn bằng 1 véc tơ nhị phân 64 bit.

- 2 152 2 2( ) ....Tr x x x x x là hàm lưu vết ánh xạ từ 16 22

.

- l(x) = x32 + x31 + x22 + x9 + ω11, đa thức phản hồi của LFSR (cũng là 1 đa

thức nguyên thuỷ trên 162F ).

- 11 11 6 6 11 11 62 1 2 2 1 2 2 1 2 2 1( )q x x x x x x là đa thức hoán vị trên 162

F .

- WGP-16(xd) = q(xd + 1) + 1, hoán vị WG-16 với d ánh xạ từ 16 162 2, d

nguyên tố cùng nhau với 216-1.

- WGT-16(xd) = Tr(WGP-16(xd)), chuyển đổi WG-16 với d ánh xạ từ

16 22, d nguyên tố cùng nhau với 216-1.

45

- Cơ sở đa thức (PB) của 162F : Một cơ sở đa thức của 162

F trên F2 là cơ sở có

dạng {1, ω, ω2, …, ω15}.

- Cơ sở thông thường (NB) của F28: Một cơ sở bình thường của 162

F trên F2 là

cơ sở có dạng 152 2{ , ,..., } , với θ = ω11

- Tự tương quan: Tự tương quan của một chuỗi nhị phân với chu kỳ T được

định nghĩa là sự khác biệt giữa các ràng buộc và không ràng buộc khi 0 ánh

xạ đến 1 và 1 ánh xạ đến -1. Nếu tất cả các đầu ra của giai đoạn tự tương

quan bằng -1 thì chuỗi được cho là tự tương quan lý tưởng cấp hai.

- Khoảng tuyến tính (LS): Khoảng tuyến tính hay độ phức tạp tuyến tính của

một chuỗi nhị phân được định nghĩa là độ dài của thanh ghi dịch tuyến tính

nhỏ nhất (LFSR) mà sinh ra toàn bộ chuỗi nhị phân.

- Phi tuyến tính: phi tuyến tính của một hàm f được định nghĩa là khoảng cách

tối thiểu từ f đến bất kỳ hàm affine nào với cùng một số lượng biến.

- Sự miễn dịch đại số (AI): Sự miễn dịch đại số của một hàm f được định

nghĩa là độ nhỏ nhất của một hàm số bool g sao cho g tương đương với f

hoặc là phần bù của f (tức là . 0f g hoặc ( 1). 0f g ). Trong điều kiện lý

tưởng, phép miễn dịch đại số của một hàm f bằng với độ f , do đó làm cho

nó miễn nhiễm với các cuộc tấn công đại số.

- Ký hiệu , toán tử cộng ( XOR).

- Ký hiệu , toán tử nhân trên 162F

2.1.3 Đặc tả cấu trúc mật mã dòng WG-16

WG-16 với khóa bí mật 128-bit và vector khởi tạo IV 128-bit. Mật mã dòng WG-

16 bao gồm một LFSR 32 trạng thái với đa thức thông tin phản hồi l (x) tiếp nối là một

mô đun chuyển đổi WG-16 với decimation d = 1057. Do đó, nó có thể được coi là bộ

lọc phi tuyến tính trên trường hữu hạn 162F . WG-16 hoạt động theo hai pha, bao gồm

pha khởi tạo và pha thực thi.

Pha khởi tạo:

WGP-16(x1057): Mô đun hoán vị WG-16 với Decimation d = 1057.

Hình 2.3 Pha khởi tạo của mật mã dòng WG-16

Pha khởi tạo khoá/IV của mật mã dòng WG-16 được thể hiện trong hình 2.3.

46

Cho khoá bí mật 128 bit là K = (K127, ..., K0) 2, IV 128-bit là IV = (IV127, ..., IV0)2,

và trạng thái bên trong của LFSR là S0, . . . , S31 ∈ 162F , trong đó Si =

(Si, 15, ..., Si, 0)2 cho i = 0,. . . , 31.

Quá trình khởi tạo key/IV được thực hiện theo quy tắc dưới đây:

8 7 8 8 7 8 2

16

,..., , ,..., ) , 0,1,....,15,

, 16,17,....31S i i i i

i

K K IV IV i

i S i

Khi cặp khoá/IV được tải vào LFSR, hệ thống sẽ chạy khoảng 64 chu kỳ đồng hồ.

Trong mỗi chu kỳ đồng hồ, 16-bit bên trong trạng thái S31 được gửi đến hoán vị

WG-16 phi tuyến tính với decimation d = 1057 (tức mô-đun WGP-16(x1057)) và đầu

ra được sử dụng làm phản hồi để cập nhật trạng thái bên trong của LFSR.

Thủ tục cập nhật trạng thái LFSR theo quan hệ đệ quy: 11 1057

32 9 22 31 31( ) W 16( ),0 64k k k k k kS S S S S GP S k

Sau pha khởi tạo khoá/ IV, tiếp đến là pha thực thi, dòng khóa 1-bit được tạo ra cho

mỗi chu kỳ đồng hồ.

Pha thực thi:

Pha thực thi của mật mã dòng WG-16 được minh họa trong Hình 2.4. Trong pha

thực thi, 16-bit trạng thái bên trong của S31 được gửi đến chuyển đổi phi tuyến tính

WG-16 với decimation d = 1057 (tức là WGT-16(x1057) ) và đầu ra là dòng khoá 1-

bit. Chỉ phản hồi trong pha thực thi là nằm trong LFSR và quan hệ đệ quy để cập

nhật trạng thái bên trong của LFSR được đưa ra bên dưới: 11

32 9 22 31( ) , 64k k k k kS S S S S k .

Mô đun chuyển đổi 1057W 16( )GT x bao gồm hai mô đun con:

Mô đun hoán vị 1057W 16( )GP x .

Mô đun tính toán vết Tr (·).

Khi mô đun 1057W 16( )GP x hoán vị các phần tử trên 162F , thì mô đun Tr (·) sẽ thực

hiện việc nén 16-bit đầu vào thành một bít dòng khóa.

WGT-16(x1057): Mô đun chuyển đổi WG-16 với Decimation d = 1057

47

WGP-16(x1057): Mô đun hoán vị WG-16 với Decimation d = 1057

Tr(·): Mô đun tính toán lưu vết

Hình 2.14 Pha thực thi của mật mã WG-16

Tính ngẫu nhiên của dòng khoá WG-16

Dòng khoá được tạo ra bởi mật mã dòng WG-16 có các thuộc tính ngẫu nhiên sau:

1. Dòng khoá có chu kỳ là 2512-1.

2. Dòng khoá cân bằng, nghĩa là số lượng bit-0 nhỏ hơn số lượng bit-1 chỉ 1, trong

một chu kỳ của dòng khóa.

3. Dòng khoá là một chuỗi bit tự tương quan lý tưởng cấp hai.

4. Dòng khóa có phân bố t-tuple lý tưởng (1 ≤ t ≤ 32): mọi đầu ra t-tuple có khả

năng xảy ra với xác suất như nhau trong một chu kỳ của dòng khóa.

5. Khoảng cách tuyến tính của dòng khóa có thể được tính toán chính xác là 279.046.

2.1.4 Đánh giá các tấn công mật mã dòng WG-16

Tấn công đại số

Cuộc tấn công đại số lần đầu tiên được Courtois và Meier đề xuất để tấn công LFSR

dựa trên cơ sở sinh chuỗi lọc, mục tiêu của nó là tạo ra phương trình nhiều biến biến

với độ thấp hơn, bằng cách nhân hàm lọc bằng đa thức bậc thấp. Cuộc tấn công đại

số tạo ra một hệ phương trình phi tuyến tính cho nhiều dòng khoá để phục hồi trạng

thái bên trong của LFSR. Hệ số miễn dịch đại số của WGT-16(x1057) bằng 8. Theo

cuộc tấn công đại số, độ phức tạp về thời gian và dữ liệu cần để khôi phục lại trạng

thái nội bộ của LFSR tương ứng là

72log

155.7645127

. 2864

và 56.622

5122

8

. Để thực

hiện được các cuộc tấn công đại số nhanh vào mật mã dòng WG-16, ta cần phải tìm

hai đa thức đa biến g và h với độ e và d (e <d) sao cho f.g = h. Với WGT-16(x1057)

và e = 1, không tồn tại một đa thức đa biến h trong 16 biến với độ nhỏ hơn 15. Do

đó, để thực hiện được các cuộc tấn công đại số nhanh đòi hỏi phải có thêm bit dòng

khoá với độ phức tạp cao hơn. Trong các mạng 4G-LTE, kẻ tấn công khó có thể

nhận được khoảng 256.622 bit dòng khoá từ một phiên truyền thông. Ngay cả khi kẻ

tấn công có thể có được nhiều bit cho khoá và IV, kẻ đó phải thực hiện những phép

tính với độ phức tạp về thời gian 2155.764 thì mới có thể hoàn toàn đánh bại cuộc tấn

công này trong các mạng 4G-LTE.

Tấn công tương quan

Trong cuộc tấn công tương quan, kẻ tấn công nhằm mục đích tìm mối tương

quan giữa dòng khoá và một chuỗi đầu ra của LFSR hoặc giữa các dòng khoá [8,

15, 19]. Nhờ vào tính chất tự tương quan lý tưởng cấp hai của dòng khoá đã được

48

chuẩn hoá bởi mật mã WG-16, cuộc tấn công tương quan giữa các dòng khoá sẽ

không thể thành công.

Bây giờ ta xét các cuộc tấn công tương quan nhanh, trong đó dòng khoá được

tạo ra bởi một mật mã dòng được coi là một phiên bản lỗi của đầu ra LFSR. Đối với

việc thực hiện một cuộc tấn công tương quan nhanh, việc ước lượng tuyến tính của

WGT-16(x1057) được sử dụng để lấy ma trận sinh của một mã tuyến tính, có thể sử

dụng giải thuật MLD để giải mã.

Cho ( )f x là một hàm tuyến tính trong 16 biến, ta có:

16

1057

16

2 32160Pr W 16( )( ) ( ) 0.509277

2GT x x f x

.

Số lượng dòng khoá (được biểu thị bởi N) cần thiết để cuộc tấn công thành công là:

1601

2 33.12.ln 2 . .2k

N k

Độ phức tạp giải mã là:

6

2ln 22 . .

2

k

decC k

Với 1057Pr(W 16( ) ( )) 0.5 0.009277GT x f x và k là số bit được khôi phục

trạng thái bên trong LFSR.

Nếu chọn một giá trị k nhỏ (k = 7), thì số bit cần thiết để thực hiện cuộc tấn công là

khoảng 266.46, điều này không thể thực hiện được trong mạng 4G-LTE.

Tương tự, nếu ta chọn một giá trị k lớn (k = 80), thì số bit cần thiết để thực hiện

cuộc tấn công là khoảng 243,3. Tuy nhiên, độ phức tạp giải mã của cuộc tấn công là

khoảng 2121,31, còn tồi hơn so với việc tìm kiếm đầy đủ. Vì vậy, mật mã dòng WG-

16 cũng an toàn chống lại các cuộc tấn công tương quan nhanh.

Tấn công vi phân

Pha khởi tạo của mật mã dòng WG là có thể bị tấn công bởi cuộc tấn công IV

đã được chọn, nơi kẻ tấn công có thể phân biệt một số bit đầu ra bằng cách xây dựng

một dấu hiệu dựa trên phân tích vi phân. Điểm yếu này đã được sửa trong thiết kế

sau này bằng cách đặt mô đun hoán vị WG ở vị trí cuối cùng của LFSR. Trong mật

mã dòng WG-16 hoán vị WGP-16 (x1057) được thực thi 64 lần trong pha khởi tạo.

Kết quả là tất cả các bit trạng thái bên trong của LFSR sẽ bị ảnh hưởng sau 64 chu

kỳ đồng hồ và sẽ rất khó khăn cho việc kẻ thù phân biệt các bit dòng khoá vì sự

khác biệt trở nên phức tạp hơn và bao gồm hầu hết các bit key/IV. Vì vậy, WG-16

là an toàn chống lại các cuộc tấn công vi phân.

Tấn công hình lập phương

Cube attack là một cuộc tấn công khôi phục khoá, có thể thực hiện trên bất kỳ

hệ mật mã nào, kẻ tấn công có thể lấy được các thông tin được biểu diễn bởi đa thức

đa biến bậc thấp trong ANF. Trong mật mã dòng WG-16, sau 64 vòng khởi tạo

49

khoá/ IV, độ của đa thức đầu ra sẽ rất cao. Do đó, sẽ rất khó khăn cho kẻ tấn công

để thu thập mối quan hệ độ thấp giữa các bít khoá bí mật.

Tấn công phân biệt

Cuộc tấn công phân biệt đã được đề xuất có thể phá được mật mã dòng WG-7.

Vì trong thanh ghi dịch LFSR của mật mã WG-7 có một lượng nhỏ vị trí tap, nên

đa thức đặc trưng của LFSR cho phép một kẻ tấn công thiết lập một đối tượng đặc

biệt để phân biệt dòng khoá được tạo ra bởi WG-7 từ một dòng khoá hoàn toàn ngẫu

nhiên. Trong mật mã WG-16, đa thức đặc trưng của LFSR bao gồm 4 vị trí tap và

sự phân biệt được xây dựng như sau:

9 22 31( ,... , ,... )i i i iF S S S S 11

9 22 31W 16(( ) )i i i iGT S S S S

9 22 31W 16( ) W 16( ) W 16( ) W 16( )i i i iGT S GT S GT S GT S

Cho phân biệt F, xác xuất:1

Pr( ( ) 0)2

F x với 160 15 2( ,...., ), ix x x x . Giá trị

sẽ khá nhỏ do một số lượng lớn các biến phân biệt, yêu cầu kẻ tấn công phải lấy

được nhiều bít dòng khóa để phân biệt dòng khóa. Tuy nhiên, không thể tính toán

chính xác được giá trị của vì giá trị chấp nhận được của x là 264. Vì vậy mật mã

dòng WG-16 có thể chống lại cuộc tấn công phân biệt.

Tấn công chuyển đổi Fourier rời rạc

Tấn công Fourier Transform rời rạc (Discrete Fourier Transform) là một kiểu

tấn công mới nhằm khôi phục trạng thái bên trong của của máy sinh lọc. Trong cuộc

tấn công DFT, kẻ thù có thể phục hồi trạng thái bên trong của một máy sinh lọc

bằng cách khai thác các bit dòng khoá D với độ phức tạp trực tiếp O(D), với D là

phức tạp tuyến tính của dòng khoá, sau đó tính toán trước độ phức tạp O(D(log2D)3).

Để thực hiện cuộc tấn công DFT phá được mật mã dòng WG-16, kẻ tấn công cần

phải có được 279.046 bit dòng khoá liên tiếp. Do đó, độ phức tạp của cuộc tấn công

này để khôi phục lại trạng thái bên trong là 279.049, sau khi tính toán ngoại tuyến với

độ phức tạp 297.96. Đối với các phiên truyền thông bình thường trong mạng 4G-LTE,

kẻ tấn công không bao giờ có thể nhận được 279.046 bit dòng khoá liên tiếp, do đó

làm cho tấn công DFT không còn khả thi.

Tấn công thương mại TMD

Tấn công thương mại Time-Memory-Data (TMD) là cuộc tấn công giải mã

được thực thi cho bất kỳ mật mã dòng nào, đặc biệt là những đối tượng có khả năng

kháng mẫu thấp. Độ phức tạp của cuộc tấn công thương mại TMD là 2(2 )n

O , trong

đó n là kích thước trạng thái bên trong. Đối với mật mã dòng WG-16, kích thước

của trạng thái bên trong là 512-bit. Do đó độ phức tạp của việc thực hiện tấn công

TMD dự kiến là 2256. Hơn nữa, tính kháng mẫu của mật mã dòng WG-16 được cho

là cao do sử dụng WGT-16(x1057) làm hàm lọc. Vì vậy, WG-16 có thể chống lại tấn

công của TMD.

50

CHƯƠNG 3 ĐỀ XUẤT CẢI TIẾN HỆ MẬT WG – UET VÀ CHƯƠNG TRÌNH

DEMO

3.1 Đề xuất cải tiến hệ mật WG-UET

Như đã mô tả phương thức tấn công vi phân vào mật mã WG ở mục bên trên, trong phần

này tôi sẽ thực hiện phân tích chi tiết khả năng thành công của loại tấn công này khi tấn

công vào WG với các cặp khoá khác nhau, và đề xuất cải tiến tấn công vào hệ mật WG.

Tấn công WG với cặp khoá 80 bít và véc tơ IV 80 bít

Khoá K = k1, k2, k3, · · · , k80 và IV = IV1, IV2, IV3, · · · , IV80. Tiến hành tải các cặp khoá/

IV này vào LFSR.

Tấn công IV đã được lựa chọn thực hiện như sau:

Với mỗi khoá bí mật K sẽ chọn ra 2 véc tơ IV là IV’ và IV’’ sao cho chúng đồng nhất 6

byte nhưng khác nhau ở 2 byte: ' ''

17,...,24 17,...,24IV IV và ' ''

49,...,56 49,...,56IV IV , chúng thoả mãn điều

kiện: ' '' ' ''

17,...,24 17,...,24 49,...,56 49,...,56IV IV IV IV

Trạng thái ( )S i (1 11)i tại bước j được ký hiệu là ( )jS i và ký hiệu khoá/IV tải là 0th. Sau

đó tải khoá và IV đã được chọn vào LFSR.

Ta có trạng thái S(2) và S(5): '0 ''0 '0 ''0(2) (2) (5) (5)S S S S , ta ký hiệu biểu thức này là vi

phân 1 = '0 ''0 '0 ''0(2) (2) (5) (5)S S S S .

Bây giờ xác định vi phân trong 22 bước khi thiết lập khoá/IV. Bảng 3.1 biểu diễn các vi

phân này.

Vi phân '6 '6 ''6 ''6

2 ( (11) W '( (11)) ( (11) W '( (11))S G S S G S

'0 '0 ''0 ''0( (5) W '( (5)) ( (5) W '( (5))S G S S G S .

Tương tự ta có thể tính được '0 '0 ''0 ''0

3 ( (2) W '( (2)) ( (2) W '( (2))S G S S G S .

S(1) S(2) S(3) S(4) S(5) S(6) S(7) S(8) S(9) S(10) S(11)

Bước 0 0 1 0 0 1 0 0 0 0 0 0

bước 1 0 0 1 0 0 1 0 0 0 0 0

bước 2 0 0 0 1 0 0 1 0 0 0 0

bước 3 0 0 0 0 1 0 0 1 0 0 0

bước 4 0 0 0 0 0 1 0 0 1 0 0

bước 5 0 0 0 0 0 0 1 0 0 1 0

bước 6 1 0 0 0 0 0 0 1 0 0 1

bước 7 2 1 0 0 0 0 0 0 1 0 0

bước 8 1 ⊕ 2 2 1 0 0 0 0 0 0 1 0

bước 9 0 1⊕ 2 2 1 0 0 0 0 0 0 1

bước 10 1 ⊕ 2

⊕ 3

0 1 ⊕ 2 2 1 0 0 0 0 0 0

51

bước 11 2 ⊕ 3 1 ⊕ 2

⊕ 3

0 1 ⊕

2

2 1 0 0 0 0 0

bước 12 1 ⊕ 2 2 ⊕ 3 1 ⊕ 2

⊕ 3

0 1 ⊕2

2 1 0 0 0 0

bước 13 2 ⊕ 3 1 ⊕ 2 2 ⊕ 3 1 ⊕

2

⊕ 3

0 1 ⊕2

2 1 0 0 0

bước 14 3 2 ⊕ 3 1 ⊕ 2 2 ⊕

3

1 ⊕2

⊕ 3

0 1 ⊕ 2 2 1 0 0

bước 15 1 ⊕ 2

⊕ 3

3 2 ⊕ 3 1 ⊕

2

2 ⊕3

1 ⊕2

⊕ 3

0 1 ⊕2

2 1 0

bước 16 1 ⊕ 2

⊕ 3

1 ⊕ 2

⊕ 3

3 2 ⊕

3

1 ⊕2

2 ⊕3

1 ⊕ 2

⊕ 3

0 1 ⊕

2

2 1

bước 17 1 ⊕ 4 1 ⊕ 2

⊕ 3

1 ⊕ 2

⊕ 3

3 2 ⊕3

1 ⊕2

2 ⊕ 3 1 ⊕

2

⊕ 3

0 1 ⊕

2

2

bước 18 3 ⊕ 4

⊕ 5

1 ⊕ 4 1 ⊕ 2

⊕ 3

1 ⊕

2

⊕ 3

3 2 ⊕3

1 ⊕ 2 2 ⊕3

1 ⊕

2

⊕ 3

0 1 ⊕ 2

bước 19 1 ⊕ 2

⊕ 3 ⊕

5 ⊕ 6

3 ⊕ 4

⊕ 5

1 ⊕ 4 1 ⊕

2

⊕ 3

1 ⊕2

⊕ 3

3 2 ⊕ 3 1 ⊕2

2 ⊕

3

1 ⊕

2

⊕3

0

bước 20 4 ⊕ 6 1 ⊕ 2

⊕ 3 ⊕

5 ⊕ 6

3 ⊕ 4

⊕ 5

1 ⊕

4

1 ⊕2

⊕ 3

1 ⊕2

⊕ 3

3 2 ⊕3

1 ⊕

2

2 ⊕

3

1 ⊕ 2

⊕ 3

bước 21 4 ⊕ 5

⊕ 7

4 ⊕ 6 1 ⊕ 2

⊕ 3 ⊕

5 ⊕ 6

3 ⊕

4

⊕ 5

1 ⊕4

1 ⊕2

⊕ 3

1 ⊕ 2

⊕ 3

3 2 ⊕

3

1 ⊕

2

2 ⊕ 3

bước 22 2 ⊕ 3

⊕ 4 ⊕

5 ⊕ 6

⊕ 7

⊕ 8

4 ⊕ 5

⊕ 7

4 ⊕ 6 1 ⊕

2

⊕ 3

⊕ 5 ⊕

6

3 ⊕4

⊕ 5

1 ⊕4

1 ⊕ 2

⊕ 3

1 ⊕2

⊕ 3

3 2 ⊕

3

1 ⊕ 2

Bảng 3.1 Bảng biểu diễn vi phân trong 22 bước

Từ bảng 3.1 ta có thể thấy vi phân ở bước 22 22

2 3(10)S

Giá trị của 2 3 được tính bởi ' '' '' ''

17,....,24 49,....,64 9,....24 49,....,56 9,....24 49,....,56, , , , ,k k IV IV IV IV .

Nếu 2 3 0 thì các bít dòng khoá đầu tiên của IV’ và IV’’ giống nhau. Tính chất này sẽ

được sử dụng trong cuộc tấn công để tìm ra giá trị của 2 3 liệu có bằng 0 hay không.

Giả sử, giá trị của 1 2 3 0 là phân phối ngẫu nhiên thì xác suất để 2 3 0 sẽ là 2-29.

Ta cần tạo ra khoảng 229 cặp 2 3( , ) với điều kiện 2 3 0 . Sẽ có 3 byte IV và 1 byte vi

phân được lựa chọn, vì thế luôn có sẵn khoảng 24 312 255 / 2 2 cặp 2 3( , ) , như vậy có thể

dễ dàng tạo ra 229 cặp 2 3( , ) thoả mãn điều kiện trên.

52

Cải tiến tấn công vi phân

Xét vi phân tại 2 trạng thái 22 (7)S và 22 (8)S , các vi phân này là 1 2 3 .

Nếu 1 2 3 0 thì các bít thứ 3, thứ 4 của 2 dòng khoá sẽ khác nhau, khoá 17,....,24k và

49,....,64k có thể khôi phục với 20

29 30.4

11

1 12 2 2

2 2i ii

i

IV được chọn.

Thực hiện cuộc tấn công này, bằng việc quan sát các bít dòng khoá thứ 1,3,4 thì việc khôi

phục khoá 17,....,24k và

49,....,64k cần khoảng 28 1.13 30.12 2 2 2 IV được chọn

Thiết lập vi phân tại trạng thái 0 (3)S và 0 (6)S và quan sát các bít thứ 2,3 của dòng khoá để

có thể khôi phục được 24 bít của khoá bí mật, 25,....,40k và

65,....,72k cần 230.4 IV được chọn.

Như vậy với khoảng 30.1 30.4 31.32 2 2 IV được chọn ta có thể khôi phục được 48 bít khoá

bí mât (80 bít).

Dưới đây là bảng tấn công WG với các cặp khoá/IV có kích thước lớn hơn 80 bít

Khoá k bít (bit) IV k bít (bit) Số lượng bít khoá có thể

khôi phục (bit)

96 96 48

112 112 72

128 128 72 hoặc 96

Bảng 3.2 Bảng tấn công WG với các cặp khoá/IV có kích thước lớn hơn 80 bít

53

3.2 Bài toán và cài đặt chương trình

Bài toán

Xây dựng hệ thống RFID áp dụng mật mã WG-5. Tập trung vào xây dựng mô hình sử dụng

mật mã WG-5 để xác thực lẫn nhau của máy đọc và thẻ thụ động trong hệ thống RFID.

Quy trình xác thực lẫn nhau giữa máy đọc và thẻ

Hệ thống RFID bao gồm máy đọc RFID, thẻ và máy chủ lưu trữ dữ liệu. Thẻ với khóa bí

mật k0 80 bít và một IDi duy nhất.

Phiên làm của RFID với mật mã WG-5 gồm 5 bước như hình bên dưới:

Hình 15 Sơ đồ giao thức xác thực lẫn nhau của RFID sử dụng WG-5

Bước 1: Máy đọc gửi yêu cầu cùng với một Rr ngẫu nhiên 40-bit tới thẻ.

Bước 2: Khi nhận được Rr, phía thẻ sẽ tạo ra Rt ngẫu nhiên 40 bít, tính toán

r tIV R R . Sau đó phía thẻ sẽ sử dụng đầu vào là IV và khóa bí mật k0 80 bít để chuyển

tới WG5func và tạo ra các bít dòng khóa có độ dài 160 bít. Phía thẻ tạo ra WGt có độ dài 40

bít và gửi cặp (WGt, Rt) tới máy đọc

Bước 3: Máy đọc sẽ tìm kiếm tất cả các thẻ IDi và khóa ki được lưu trên máy chủ

cho tới khi tìm được W ' Wt tG G . Tóm lại, máy đọc sẽ kiểm tra MSB bít của chuỗi dòng

54

khóa, nếu khớp, máy đọc sẽ kiểm tra thêm các bít dòng khóa của chuỗi. Nếu MSB bít

không khớp nó sẽ ngừng sinh thêm chuỗi dòng khóa và chọn khoá mới.

Bước 4: Khi xác thực thẻ, máy đọc cập nhật cặp thẻ ' '

0( , W )sk G . Để xác thực, máy

đọc tạo ra 'W rG có độ dài 40 bit và gửi nó tới thẻ.

Bước 5: Khi phía thẻ nhận được 'W rG , phía thẻ sẽ kiểm tra điều kiện 'W Wr rG G .

Nếu nó bằng nhau thì máy đọc đã xác thực thành công. Sau khi máy đọc xác thực, phía thẻ

sẽ cập nhật giá trị khóa hiện tại k0 vào WGs. Khi đó, cả phía thẻ và máy đọc đều đã xác

thực lẫn nhau.

55

KẾT LUẬN

Các kết quả đã đạt được

Thẻ RFID đã và đang được phát triển mạnh mẽ không chỉ trên thế giới mà tại việt nam

cũng đang ngày càng sôi động, hứa hẹn tạo một bước ngoặt mới cho thị trường thẻ với

những ứng dụng và tiện ích vô cùng độc đáo. Ngoài các cơ hội là những thách thức không

hề nhỏ, đó chính là vấn đề bảo mật thông tin ngày nay đang đặt lên hàng đầu.

Trong khóa luận này tôi đã trình bày được những kết quả sau:

- Trình bày giới thiệu nguyên tắc hoạt động cơ bản của họ hệ mật WG, phân

tích các thuộc tính ngẫu nhiên của dòng khoá, đánh giá các cuộc tấn công

thành công vào họ hệ mật WG.

- Nghiên cứu về hệ mật WG-8 và WG-16.

- Ứng dụng mật mã WG-5 trong thẻ RFID.

Đặc tả cấu trúc mật mã dòng WG-16

o Initialization Phase

o Running Phase

o Tính ngẫu nhiên của dòng khoá WG-16

Đánh giá các tấn công mật mã dòng WG-16

o Tấn công đại số

o Tấn công tương quan

o Tấn công vi phân

o Tấn công hình lập phương

o Tấn công phân biệt

o Tấn công chuyển đổi Fourier rời rạc

o Tấn công TMD

- Trình bày và đánh giá, so sánh mức độ an toàn, tối ưu của hai hệ mật WG-

16 và WG-8.

- Đánh giá cuộc tấn công vi phân vào họ hệ mật WG.

- Đánh giá ưu và nhược điểm, những thách thức và xu hướng phát triển mật

mã này vào các thiết bị nhỏ nhẹ được ở Việt Nam.

- Đề xuất cải tiến hệ mật WG - UET

56

HƯỚNG NGHIÊN CỨU TIẾP THEO

Chú trọng vào việc thiết kế thuật toán mã hóa, tìm ra các lỗ hổng tấn công và đề xuất cải

tiến phù hợp với cài đặt trong môi trường có tài nguyên hạn chế.

57

TÀI LIỆU THAM KHẢO

[1] Specification of the Stream Cipher WG-16 Based Confidentiality and Integrity

Algorithms Department of Electrical and Computer Engineering University of

Waterloo Waterloo, Ontario, N2L 3G1, CANADA

[2] Comparison of Lightweight Stream Ciphers: MICKEY 2.0, WG-8, Grain and

Trivium.

[3] The WG Stream Cipher Yassir Nawaz and Guang Gong Department of Electrical

and Computer Engineering University of Waterloo Waterloo, ON, N2L 3G1,

CANADA.

[4] Cryptanalysis of WG-7: A Lightweight Stream Cipher Center for Advanced

Computing – Algorithms and Cryptography, Department of Computing, Faculty

of Science, Macquarie University, Sydney, NSW 2109, Australia

[5] CRYPTREC Cryptographic Technology Guideline (Lightweight Cryptography)

[6] Role of Cryptographic Welch-Gong (WG-5) Stream Cipher in RFID Security

Rajesh Kumar Mota.

[7] Optimized Hardware Implementations of Lightweight Cryptography, Gang

qiang Yang, Waterloo, Ontario, Canada, 2017.

[8] A Lightweight Stream Cipher for Resource-Constrained Smart Devices, Xinxin

Fan, Kalikinkar Mandal and Guang Gong, Department of Electrical and

Computer Engineering University of Waterloo Waterloo, Ontario, N2L 3G1,

CANADA

[9] W. Meier, E. Pasalic, and C. Carlet, Algebraic Attacks and Decomposition of

Boolean Functions, Advances in Cryptology EUROCRYPT-2004, LNCS 3027,

pp.474-491, Springer-Verlag, 2004.

[10] Chosen IV Attack on Stream Cipher WG Hongjun Wu and Bart Preneel

Katholieke Universiteit Leuven, Dept. ESAT/COSIC