1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN CỨU MỘT VÀI KHÍA CẠNH VỀ ĐỘ AN TOÀN CỦA AES

24 713 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 1,58 MB

Nội dung

NGHIÊN CỨU MỘT VÀI KHÍA CẠNH VỀ ĐỘ AN TOÀN CỦA AES Khác với với DES sử dụng mạng Feistel, Rijndael sử dụng mạng thay thếhoán vị. AES có thể dễ dàng thực hiện với tốc độ cao bằng phần mềm hoặc phần cứng và không đòi hỏi nhiều bộ nhớ. Việc chấp nhận Rijndael như là AES là một cột mốc lớn trong lịch sử mật mã. Rijndael đã nhanh chóng trở thành hệ mật được sử dụng rộng rãi nhất trên thế giới.

Trang 1

-

LƯU THỊ THÚY LINH

NGHIÊN CỨU MỘT VÀI KHÍA CẠNH VỀ ĐỘ AN TOÀN

Trang 2

Luận văn được hoàn thành tại:

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: GS-TS NGUYỄN BÌNH

Phản biện 1:………

Phản biện 2:………

Luận văn sẽ được bảo vệ trước hội đồng chấm luận văn thạc sĩ tại

Học viện Công nghệ Bưu chính Viễn thông

Vào lúc:….giờ… ngày….tháng….năm…

Có thể tìm hiểu luận văn tại:

- Thư viện của Học viện Công nghệ Bưu chính Viễn thông

Trang 3

LỜI MỞ ĐẦU

1 Lý do chọn đề tài

Vào năm 1997, Viện tiêu chuẩn và công nghệ quốc gia (NIST) của Mỹ đã phát động cuộc thi nhằm xây dựng một chuẩn mã dữ liệu mới thay thế cho chuẩn mã dữ liệu cũ DES được đưa ra từ năm 1997 Qua quá trình tuyển chọn vào tháng 10 năm

2000, NIST đã công bố chuẩn mã dữ liệu mới được lựa chọn là thuật toán "Rijndael", được thiết kế bởi 2 nhà mật mã học người Bỉ là Joan Daemen và Vincent Rijmen Thuật toán được đặt tên là "Rijndael" khi tham gia cuộc thi thiết kế AES

Khác với với DES sử dụng mạng Feistel, Rijndael sử dụng mạng thay thế-hoán

vị AES có thể dễ dàng thực hiện với tốc độ cao bằng phần mềm hoặc phần cứng và không đòi hỏi nhiều bộ nhớ Việc chấp nhận Rijndael như là AES là một cột mốc lớn trong lịch sử mật mã Rijndael đã nhanh chóng trở thành hệ mật được sử dụng rộng rãi nhất trên thế giới

Với tầm quan trọng của AES, việc tìm hiểu và đánh giá độ an toàn của AES trước các tấn công mật mã là rất cần thiết Hiện nay, vẫn còn ít nghiên cứu về vấn đề

này Chính vì vậy em chọn đề tài “Nghiên cứu một vài khía cạnh về độ an toàn của

AES” để nghiên cứu làm luận văn tốt nghiệp của mình

3 Đối tượng và phạm vi nghiên cứu

Đối tượng nghiên cứu: Mã khối AES

Phạm vi nghiên cứu: Độ an toàn của AES với thám mã lượng sai

4 Phương pháp nghiên cứu

 Khảo sát các nghiên cứu, tài liệu liên quan để thu thập thông tin về cơ sở lý thuyết từ nhiều nguồn (tài liệu, sách giáo trình, Internet…)

Trang 4

 Tổng hợp các kết quả nghiên cứu để lựa chọn cách tiếp cận phù hợp với nội dung nghiên cứu

5 Kết cấu của luận văn

Ngoài phần mở đầu, kết luận và danh mục tài liệu tham khảo, luận văn được kết cấu gồm 3 chương:

Chương I: Trong chương này em giới thiệu chung về mật mã, một số loại mã ,

độ an toàn của mã

Chương II: Chương này em nghiên cứu về chuẩn mã AES Giới thiệu về

chuẩn mã AES, cơ sở toán học, quy trình mã hóa và giải mã AES

Chương III: Trong chương này em đã nghiên cứu độ an toàn của AES chống

lại thám mã lượng sai – một trong những tấn công mật mã mạnh nhất cho tới nay đối với mã khối nói chung Tập hợp kết quả nghiên cứu về phương pháp để xác định chặt các xác suất lượng sai cực đại MEDP của các cấu trúc SPN nói chung và AES nói riêng nhằm mục tiêu xem xét độ an toàn của chúng trước thám mã lượng sai Gồm các kết quả nghiên cứu của các tác giả: J.Daemen và V.Rijment; nhóm S.Park, S.H.Sung, S.Lee và J.Lim; Keliher

Trang 5

CHƯƠNG I:

TỔNG QUÁT CÁC LOẠI MÃ VÀ ĐỘ AN TOÀN CỦA MÃ

1.1 Tổng quát về mật mã

Khái niệm Mật mã (Cryptology): là ngành khoa học của các phương pháp

truyền tin bảo mật Việc dùng mật mã sẽ bảo đảm tính bảo mật của thông tin truyền trên mạng, cũng như bảo vệ tính toàn vẹn, tính xác thực của thông tin lưu trữ Mật

mã bao gồm: mã hóa và giải mã

Sơ đồ khối một hệ truyền tin mật:

Hệ mật mã gồm

K cho cả quá trình mã hóa (Encryption) và giải mã (Decryption) Một số đại diện: hệ mật thay thê, hệ mật hoán vị, DES, AES…

này tạo thành một cặp chuyển đổi ngược nhau và không có khóa nào có thể suy ra từ khóa kia Một số đại diện: RSA, DSA…

1.2 Một số loại mật mã

Đề tài luận văn : “Nghiên cứu một vài khía cạnh về độ an toàn của AES” nên ta

sẽ tìm hiểu một số loại mật mã trong hệ mật cổ điển

Kênh mở (Không an toàn)

Thám mã Bản rõ

Trang 6

1.2.1 Mật mã thay thế

1.2.2 Mật mã hoán vị

1.2.3 Chuẩn mã dữ liệu (DES – Data Encryption Standard)

1.3 Độ an toàn của mã – Các loại thám mã

1.3.1 Độ an toàn của mã

Trong hệ mật cổ điển hệ mật hoán vị, thay thế không đảm bảo độ an toàn cần thiết Chính vì vậy ta phải xây dựng hệ mật tích là phương pháp kết hợp các phương pháp hoán vị, thay thế mà điển hình là chuẩn mã dữ liệu DES (DES – Data Encryption Standard) của Mỹ

Hiện nay DES được xem là không đủ an toàn cho nhiều ứng dụng Nguyên nhân chủ yếu là độ dài 56 bit của khóa là quá nhỏ Gần đây DES đã được thay thế

bằng hệ mật sáng giá là AES (Advanced Encryption Standard, hay Tiêu chuẩn Mã

hóa Tiên tiến

Nhìn chung một hệ mật an toàn phải thỏa mãn hai điều kiện Thứ nhất: Độ dài khóa đủ lớn (tối thiểu 128 bit) để chí ít có thể chống lại kiểu tấn công cơ bản và đơn giản nhất là tấn công tổng lực – tìm khóa vét cạn Thứ hai: Phải đảm bảo an toàn trước mọi tấn công Với 2 tiêu chí đó, AES được chọn để thay thế cho DES

Các tấn công có rất nhiều loại như: tấn công tổng lực - tìm khóa vét cạn, tấn công dựa trên thông tin bản rõ, bản mã… Với từng hệ mật tấn công này có ưu thế còn với những hệ mật khác có thể các tấn công khác có ưu thế (phụ thuộc vào đặc điểm của từng hệ mật) Trong luận văn này, ta xem xét độ an toàn của AES chống lại các tấn công lượng sai

1.3.2 Thám mã và thám mã lượng sai

Khái niệm: Thám mã là công việc phân tích bản tin mã hóa để nhận được bản

tin rõ trong điều kiện không biết trước khóa mã

Có 3 phương pháp tấn công cơ bản của thám mã: Tìm khóa vét cạn; Phân tích thống kê; Phân tích toán học

Việc tấn công của thám mã có thể được thực hiện với các giả định: Tấn công chỉ vớibản mã; Tấn công với bản rõ đã biết; Tấn công với các bản rõ được chọn; Tấn công với các bản mã được chọn

Trang 7

Tìm hiểu thám mã lượng sai differential cryptanalysis – DC đối với mật mã

khối (chẳng hạn DES) Ví dụ với thám mã vi sai 1 vòng DES

Các tấn công có rất nhiều loạinhư: tấn công tổng lực - tìm khóa vét cạn, tấn công dựa trên thông tin bản rõ, bản mã… Với từng hệ mật tấn công này có ưu thế còn với những hệ mật khác có thể các tấn công khác có ưu thế (phụ thuộc vào đặc điểm của từng hệ mật)

Trang 8

CHƯƠNG II: CHUẨN MÃ DỮ LIỆU TIÊN TIẾN AES

2.1 Giới thiệu về chuẩn mã dữ liệu tiên tiến AES

Chuẩn mã hóa dữ liệu tiên tiến AES (Advanced Encryption Standard) là một

hệ mã khóa bí mật có tên là Rijdael (do hai nhà mật mã học người Bỉ là Joan Daemen

và Vincent Rijmen đưa ra và trở thành chuẩn từ năm 2002) cho phép xử lý các khối

dữ liệu input có kích thước 128 bit sử dụng các khóa có độ dài 128, 192 hoặc 256 bit

Hệ mã Rijdael được thiết kế để có thể làm việc với các khóa và các khối dữ liệu có độ dài lớn hơn tuy nhiên khi được chọn là một chuẩn do Ủy ban tiêu chuẩn của Hoa Kỳ đưa ra năm 2001, nó được qui định chỉ làm việc với các khối dữ liệu 128 bit và các khóa có độ dài 128, 192 hoặc 256 bit (do đó còn đặt cho các tên AES-128, AES-192,

AES-256 tương ứng với độ dài khóa sử dụng)

Cơ sở toán học của AES

Trong AES các phép toán cộng và nhân được thực hiện trên các byte trong

Phép cộng

Phép nhân

2.2 Quy trình mã hóa AES

Quy trình mã hóa sử dụng bốn phép biến đổi chính:

Độ dài của mã khóa của chu kỳ bằng với kích thước của trạng thái

2 SubBytes: thay thế phi tuyến mỗi byte trong trạng thái hiện hành thông qua bảng thay thế (S-box)

3 MixColumns: trộn thông tin của từng cột trong trạng thái hiện hành Mỗi cột được xử lý độc lập

4 ShiftRows : dịch chuyển xoay vòng từng dòng của trạng thái hiện hành với di số khác nhau

Quy trình mã hóa được tóm tắt lại như sau:

1 Thực hiện thao tác AddRoundKey đầu tiên trước khi thực hiện các chu

kỳ mã hóa

Trang 9

2 Nr – 1 chu kỳ mã hóa bình thường, mỗi chu kỳ bao gồm bốn bước biến đổi liên tiếp nhau: SubBytes, ShiftRows, MixColumns, và AddRoundKey

3 Thực hiện chu kỳ mã hóa cuối cùng: trong chu kỳ này thao tác MixColumns được bỏ qua

Quy trình mã hóa và giải mã AES

2.2.1 Phép biến đổi SubBytes

Các byte được thế thông qua bảng tra S-box Đây chính là quá trình phi tuyến của thuật toán Hộp S-box này được tạo ra từ một phép biến đổi khả nghịch trong trường hữu hạn GF (28) có tính chất phi tuyến Để chống lại các tấn công dựa trên các đặc tính đại số, hộp S-box này được tạo nên bằng cách kết hợp phép nghịch đảo với một phép biến đổi affine khả nghịch Hộp S-box này cũng được chọn để tránh các điểm bất động (fixed point)

Trang 10

Thao tác SubBytes tác động trên từng byte của trạng thái

2.1.2 Phép biến đổi ShiftRows

Các hàng được dịch vòng một số bước nhất định Đối với AES, hàng đầu được giữ nguyên Mỗi byte của hàng thứ 2 được dịch vòng trái một vị trí Tương tự, các hàng thứ 3 và 4 được dịch vòng 2 và 3 vị trí Do vậy, mỗi cột khối đầu ra của bước này sẽ bao gồm các byte ở đủ 4 cột khối đầu vào Đối với Rijndael với độ dài khối khác nhau thì số vị trí dịch chuyển cũng khác nhau

Thao tác ShiftRows tác động trên từng dòng của trạng thái

2.2.3 Phép biến đổi MixColumns

Bốn byte trong từng cột được kết hợp lại theo một phép biến đổi tuyến tính khả nghịch Mỗi khối 4 byte đầu vào sẽ cho một khối 4 byte ở đầu ra với tính chất là mỗi byte ở đầu vào đều ảnh hưởng tới cả 4 byte đầu ra Cùng với bước

được xem như một đa thức trong trường hữu hạn và được nhân với đa thức

(modulo ) Vì thế, bước này có thể được xem là phép nhân ma trận trong trường hữu hạn

Trang 11

Thao tác MixColumns tác động lên mỗi cột của trạng thái

2.4.4 Thao tác AddRoundKey

Tại bước này, khóa con được kết hợp với các khối Khóa con trong mỗi chu trình được tạo ra từ khóa chính với quá trình tạo khóa con Rijndael; mỗi khóa con có độ dài giống như các khối Quá trình kết hợp được thực hiện bằng cách XOR từng bít của khóa con với khối dữ liệu

Thao tác AddRoundKey tác động lên mỗi cột của trạng thái

2.4.5 Thuật toán sinh khóa (KeyExpansion)

Là quá trình tạo các vòng khóa từ khóa chính, mỗi khóa con chứa 4 byte

2.3 Quy trình giải mã

Quy trình giải mã được thực hiện qua các giai đoạn sau:

1 Thực hiện thao tác AddRoundKey đầu tiên trước khi thực hiện các chu kỳ giải mã

nhau: InvShiftRows, InvSubBtes, AddRoundKey, InvMixColumns

Trang 12

3 Thực hiện chu kỳ giải mã cuối cùng Trong chu kỳ này, thao tác

InvMixColumns được bỏ qua

Đoạn mã cho thuật toán giải mã như sau:

InvMixColumns(state) end for

2.3.1 Phép biến đổi InvShifRows

InvShiftRows chính là phép biến đổi ngược của phép biến đổi ShiftRows

2.3.2 Phép biến đổi InvSuBytes

Phép biến đổi ngược của thao tác SubBytes, ký hiệu là InvSubBytes

2.3.3 Phép biến đổi InvMixColumns

InvMixColumns là biến đổi ngược của phép biến đổi MixColumns\

2.3.4 Thuật toán giải mã tương đương

Trong thuật toán giải mã được trình bày ở trên chúng ta thấy thự tự của các hàm biến đổi được áp dụng khác so với thuật toán mã hóa trong khi dạng của danh sách khóa cho cả 2 thuật toán vẫn giữ nguyên Tuy vậy một số đặc điểm của AES cho phép chúng ta có một thuật toán giải mã tương đương có thự tự áp dụng các hàm biến

Trang 13

đổi giống với thuật toán mã hóa (tất nhiên là thay thế các biến đổi bằng các hàm ngược của chúng) Điều này đạt được bằng cách thay đổi danh sách khóa Hai thuộc tính sau cho chúng ta một thuật toán giải mã tương đương:

1 Các hàm SuBytes() và ShitRows() hoán đổi cho nhau: có nghĩa là một phép biến đổi SubByte theo sau bởi điến đổi ShiftRows() tương đương với một biến đổi ShiftRows() theo sau bởi một biến đổi SubByte() Điều này cũng đúng với các hàm ngược của chúng

2 Các hàm trộn cột InvMixColumns và MixColumns() là các hàm tuyến tính đối với các cột input có nghĩa là: InvMixcolumns (state XOR Round Key) = InvMixColumns (state) XOR InvMixColumns (Round Key)

2.4 Phạm vi, ý nghĩa và ứng dụng của AES

2.4.1 Phạm vi và ý nghĩa của AES

Phạm vi chính thức của một chuẩn FIPS là tương đối hạn chế: FIPS chỉ áp dụng cho hành chính liên bang Hơn thế nữa, AES mới chỉ được sử dụng cho các tài liệu chứa thông tin nhạy cảm nhưng không mật AES từ khi được chấp nhận đã được sử dụng như một chuẩn mật mã ngầm định trên toàn thếgiới Việc chấp nhận Rijndael như một chuẩn chính phủ đã đem đến cho nó một bố sự chứng thực về chất lượng

Các nhân tố chính làm cho sự chấp nhận nhanh chóng đối với Rijndael là sự kiện nó không có bản quyền, nó có thể được cài đặt một cách dễ dàng

2.4.2 Ưu, nhược điểm của AES

Ưu điểm

 AES đã được chính phủ Hoa kỳ tuyến bố là có độ an toàn cao, và đã được sử

dụng thông tin mật;

 AES có mô tả toán học đơn giản

 Cấu trúc rõ ràng đơn giản

Nhược điểm

 AES không đủ an toàn đối vớidạng tấn (side channel attack])

 Cấu trúc toán họccủa AES có mô tả toán học khá đơn giản Tuy điều này chưa dẫn đến mối nguy hiểm nào nhưng một số nhà nghiên cứu sợ rằng sẽ có người lợi dụng được cấu trúc này trong tương lai

Trang 14

2.4.3 Ứng dụng của AES

các tổ chức ngân hàng, tài chính, chính phủ, thương mại điện tử, chữ ký điện tử;…

chỉ yêu cầu một không gian lưu trữ nhỏ, lý tưởng để sử dụng cho việc mã hóa những thiết bị cầm tay nhỏ như ổ USB flash, ổ đĩa CD;…

 Sử dụng như một hàm băm

2.5 Kết luận chương II

AES (viết tắt của từ tiếng Anh: Advanced Encryption Standard, hay Tiêu

chuẩn mã hóa tiên tiến) là một thuật toán mã hóa khối được chính phủ Hoa kỳ áp dụng làm tiêu chuẩn mã hóa thay thế tiêu chuẩn tiền nhiệm DES

AES là mã khối dạng SPN với mỗi hàm vòng gồm các phép biến đổi: SubByte, ShiftRows, MixColumn, AddRoundKey

Trang 15

CHƯƠNG III: ĐỘ AN TOÀN CỦA AES VỚI THÁM MÃ

LƯỢNG SAI

3.1 Giới thiệu

Thám mã lượng sai là một trong những tấn công mật mã mạnh nhất cho đến nay đối với mã khối nói chung Ở dạng cơ bản, tấn công này lấy thông tin khóa từ việc phân tích thống kê vòng cuối cùng từ một lượng đủ lớn các cặp bản rõ/bản mã Thông tin khóa thu được sẽ giúp người thám mã tìm nhiều bít khóa hơn cho đến khi không gian khóa còn đủ nhỏ để tìm kiếm vét cạn khóa (khôi phục toàn bộ khóa) Thám mã lượng sai là tấn công bản rõ lựa chọn trong đó các bản rõ được áp dụng theo các cặp với một sự sai khác cố định Thám mã lượng sai khai thác xác suất lan truyền cao giữa các mẫu sai khác trong bản rõ và các mẫu sai khác ở đầu ra của vòng cuối cùng Cho đến nay, nhiều kỹ thuật thám mã tinh vi hơn dựa trên phương pháp này đã được nghiên cứu và công bố nhằm đưa các tấn công cơ bản này trở thành hiệu quả hơn

Cấu trúc SPN là một trong những cấu trúc được sử dụng chung nhất trong các

mã khối Cấu trúc SPN được dựa trên các nguyên tắc của Shannon về tính hỗn độn (confusion) và khuyếch tán (diffusion) và các nguyên tắc này được thực hiện thong qua việc sử dụng các phép thế và biến đổi tuyến tính AES, Crypton, và Square là các

mã khối được tạo nên từ các cấu trúc SPN

Độ an toàn của cấu trúc SPN chống lại thám mã lượng sai phụ thuộc vào xác

giá trị trên; người thiết kế muốn chứng minh rằng giá trị này là đủ nhỏ, đồng nghĩa với độ phức tạp dữ liệu đủ lớn) để chống lại tấn công lượng sai; cnf kẻ tấn công luôn muốn điều ngược lại, đó là các giá trị này đủ lớn để có thể tấn công Đối với người thiết kế, việc đánh giá được các giá trị trên còn giúp cho việc quyết định số vòng cho

mã khối đủ lớn (không lớn quá để tránh ảnh hưởng tới hiệu suất)

Trong luận văn này, chúng ta tổng hợp và trình bày các kết quả nghiên cứu về các phương pháp để xác định chặt các cận xác suất lượng sai cực đại của các cấu trúc SPN nói chung và AES nói riêng, nhằm mục tiêu đánh giá độ an toàn của chúng trước thám mã lượng sai

Ngày đăng: 13/09/2014, 11:12

HÌNH ẢNH LIÊN QUAN

Sơ đồ khối một hệ truyền tin mật: - NGHIÊN CỨU MỘT VÀI KHÍA CẠNH VỀ ĐỘ AN TOÀN  CỦA AES
Sơ đồ kh ối một hệ truyền tin mật: (Trang 5)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w