an toàn và bảo mật httt nhóm 03 đề tài tìm hiểu về giải thuật mã hóa khóa bí mật aes

26 0 0
Tài liệu đã được kiểm tra trùng lặp
an toàn và bảo mật httt nhóm 03 đề tài tìm hiểu về giải thuật mã hóa khóa bí mật aes

Đ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

Giới thiệuTiêu chuẩn Advanced Encryption Standard AES - Tiêu chuẩn mã hóa tiêntiến là một thuật toán tiêu chuẩn của chính phủ Hoa Kỳ nhằm mã hóa và giải mãdữ liệu do Viện Tiêu chuẩn và C

Trang 1

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

Hà Nội – 2024

I.Giới thiệu 3II.Quy trình mã hóa AES 4

Trang 2

IV.Đánh giá giải thuật AES 23

V.Các dạng tấn công và cách phòng chống 24

1.Các dạng tấn công 24

Trang 3

I Giới thiệu

Tiêu chuẩn Advanced Encryption Standard (AES) - Tiêu chuẩn mã hóa tiêntiến là một thuật toán tiêu chuẩn của chính phủ Hoa Kỳ nhằm mã hóa và giải mãdữ liệu do Viện Tiêu chuẩn và Công nghệ quốc gia Hoa Kỳ (National InstituteStandards and Technology– NIST) phát hành ngày 26/11/2001 và được đặc tảtrong Tiêu chuẩn Xử lý thông tin Liên bang 197 (Federal Information ProcessingStandard – FIPS 197) sau quá trình kéo dài 5 năm trình phê duyệt, AES tuân theomục 5131 trong Luật Cải cách quản lý công nghệ thông tin năm 1996 và Luật Antoàn máy tính năm 1997

AES là một thuật toán “mã hóa khối” (block cipher) ban đầu được tạo ra bởihai nhà mật mã học người Bỉ là Joan Daemen và Vincent Rijmen Kể từ khi đượccông bố là một tiêu chuẩn, AES trở thành một trong những thuật toán mã hóa phổbiến nhất sử dụng khóa mã đối xứng để mã hóa và giải mã (một số được giữ bímật dùng cho quy trình mở rộng khóa nhằm tạo ra một tập các khóa vòng) Ở ViệtNam, thuật toán AES đã được công bố thành tiêu chuẩn quốc gia TCVN7816:2007 năm 2007 về Thuật toán mã hóa dữ liệu AES

AES là phương pháp mã hoá theo khối, với khối dữ liệu vào có kích thước 128bit và khoá bí mật với kích thước có thể là 128, 192, hoặc 256 bit (là bội của 32 vàlớn nhất là 256 bit) AES được thiết kế dựa trên mạng hoán vị-thay thế(Substitution-permutation network) và nó có thể cho tốc độ thực thi cao khi cài đặttrên cả phần cứng và phần mềm Đặc biệt, giải thuật AES đã được tích hợp vàocác bộ vi xử lý gần đây của hãng Intel dưới dạng tập lệnh AES-NI, giúp tăng đángkể tốc độ thực thi các thao tác mã hoá và giải mã dựa trên AES.

AES vận hành dựa trên một ma trận vuông 4x4, được gọi là state (trạng thái).Ma trận này gồm 16 phần tử, mỗi phần tử là 1 byte dữ liệu State được khởi trị làkhối 128 bit bản rõ và qua quá trình biến đổi sẽ chứa khối 128 bit bản mã ở đầu ra.Như đã đề cập, AES hỗ trợ 3 kích thước khoá và kích thước của khoá quyết định

Trang 4

số vòng lặp cần thực hiện để chuyển đổi bản rõ thành bản mã Số vòng lặp AEScần thực hiện theo kích thước khoá như sau:

 10 vòng lặp với khoá 128 bit; 12 vòng lặp với khoá 192 bit; 14 vòng lặp với khoá 256 bit

Mỗi vòng bao gồm một số bước xử lý, trong đó có một bước phụ thuộc vào chínhkhoá mã hoá Một tập hợp các vòng đảo ngược được áp dụng để biến đổi bản mãtrở lại bản rõ ban đầu bằng cách sử dụng cùng một khoá mã hoá.

II Quy trình mã hóa AES

Bước 3: Các vòng lặp chính (Rounds): Có 4 hàm biến đổi dữ liệu được thực hiện trong mỗi vòng, bao gồm:

Trang 5

+ SubBytes: Hàm thay thế phi tuyến tính, trong đó mỗi byte trong state được thaythế bằng một byte khác sử dụng bảng tham chiếu S-box.

+ ShiftRows: Hàm đổi chỗ, trong đó mỗi dòng trong state được dịch một số bước theo chu kỳ.

+ MixColumns: Trộn các cột trong state, kết hợp 4 bytes trong mỗi cột.+ AddRoundkey

Bước 4: Vòng cuối (Final Round): Tương tự các vòng lặp chính, nhưng chỉ thực hiện 3 hàm biến đổi dữ liệu, bao gồm:

+ SubBytes+ ShiftRows+ AddRoundkey

Trang 6

2 Chi tiết

2.1.Mở rộng khóa (Sinh khóa phụ)

2.1.1 Các bước sinh khoá phụ:

B1: Rotword: quay trái 8 bit

B2: Subbytes: đối chiếu trong bảng Sbox B3: Rcon: tính Rcon(i) trong đó

Rcon(i) = x(i-1) mod (x8+x4+x2+x +1)B4: Shiftrow

Lặp 10 vòng thì sinh ra 10 khoá con đối với khoá đầu vào là 128, 12 vòng đối với khoá đầu vào là 192, 14 vòng đối với khoá đầu vào 256

2.1.2 Rotword

Thực hiện hoán vị vòng một doubleword và trả kết quả về một doubleword

VD: Rotword (3c4fcf09) = 4fcf093c3c

Khoá chính (Đầu vào)

Khoá vòng (Đầu ra)

10 Khoá vòng

Trang 7

cf093c

Trang 8

2.1.6 Ví dụ thực hiện sinh khoá:

Thực hiện Rotword W(i-1)

Tham chiếu trên bảng S-box

Trang 9

W[i-1] XOR với Rcon[1] và W[i-4] thì ta được W[i]

W[i-4] XOR với W[i-1] ta vừa tính ở trên ta được W[i] tiếp theo và làm tiếp tục 2 lần nữa

Trang 10

Và ta thu được Round key 1 chưa Shifrow

Sau khi shifrow ta được Round key 1a0 88 23 2a

a3 6c fa3

17 b1 39

Tương tự ta thu được 10 Round key

Trang 12

Ví dụ:

2.2.3 Hàm MixColumns

Mỗi cột trong ma trận state được nhân với một đa thức c(x) = 3x3 + x2 + x + 2

1033 ].

Ta có thể biểu diễn kết quả 1 cột sau khi nhân như sau [CITATION Wik24 \l1033 ]:

ShiftRows

Trang 13

Ví dụ với ma trận sau:

- Để biến đổi cột đầu tiên, ta thực hiện như sau:

- Các phần tử của kết quả của phép nhân ma trận trên là:

= 1011 0011+ Tương tự:

{03}*{bf} = 1101 1010{01}*{5d} = 0101 1101{01}*{30} = 0011 0000

Trang 14

+ Thực hiện tính b0 bằng phép XOR:1 0 1 1 0 0 1 1

1 1 0 1 1 0 1 00 1 0 1 1 1 0 10 0 1 1 0 0 0 00 0 0 0 0 1 0 0

 b0 = 0000 01002 = 0416

- Tương tự: b1 = 6616

b2 = 8116

b3 = e516

- Sau khi biến đổi cột đầu tiên ta được:

- Tương tự với các cột còn lại ta có kết quả là:

Trang 15

Trong quá trình giải mã, ma trận ciphertext sẽ bị biến đổi bởi các hàm

AddRoundKey, InvSubBytes, InvShiftRows và InvMixColumns để tạo ra các dữ

liệu trung gian gọi là ma trận trạng thái Ma trận khóa mã sẽ bị biến đổi bởi chức

năng KeyExpansion như trong quá trình mã hóa Tuy nhiên, thứ tự sử dụng các khóa

vòng trong quá trình giải mã ngược với quá trình mã hóa, nghĩa là khóa vòng số 10 sẽđược sử dụng đầu tiên Tiếp theo đó là khóa vòng số 9, số 8, , cuối cùng là khóa mãgốc.

3 Các bước giải mã

AddRoundKey

Trang 16

Quá trình giải mã được thực hiện qua 4 hàm cơ bản là AddRoundKey,

InvSubBytes, InvShiftRows, InvMixColumns.

Bước 1 Bước khởi tạo: Dữ liệu cần được mã hóa cipher_text kết hợp với khóa vòng thứ 10, round_key_10 bằng chức năng AddRoundKey

Bước 2 Bước lặp giải mã: kết quả bước 1 được sử dụng để thực hiện tuần tự các chức năng InvShiftRows, InvSubBytes, AddRoundKey và InvMixColumns Bước này được lặp lại 9 lần.

Bước 3 Bước tạo ngõ ra: Sau 9 lần lặp ở bước 2, kết quả được sử dụng để thực hiện tuần tự các chức năng InvShiftRows, InvSubBytes và AddRoundKey với khóa mã ban đầu để khôi phục lại plain_text.

4 Ví dụ chi tiết

Giả sử chuỗi dữ liệu cần giải mã cipher_text[127:0] và khóa vòng cuối cùng lấy từ quá trình mã hóa round_key_10[127:0] có giá trị như sau:

cipher_text[127:0] = 69 c4 e0 d8 6a 7b 04 30 d8 cd b7 80 70 b4 c5 5a

Trang 18

Hàng thứ ba quay hai byte và hàng thứ tư quay ba byte.

4.3.Hàm InvSubBytes

Nhiệm vụ của InvSubBytes là thực hiện thay thế từng byte của ma trận trạng thái, bằng một giá trị đã quy định trong chuẩn AES Bảng quy định giá trị thay thế cho InvSubBytes gọi là S-box đảo (Inverse S-box).

Trang 19

Ví dụ, byte cần thay thế là Ha7 thì dò ở hàng “a” và cột 7 trong bảng S-box dảo sẽ được kết quả là H89

4.4.Hàm InvMixColumns

Trang 20

InvMixColumns của quá trình giả mã là đảo của MixColumns trong quá trình mã hóa Từng cột của ma trận trạng thái sẽ được nhân với ma trận chuyển đổi sau đây.

Trang 21

Tương tự với cách nhân của phần mã hóa, ta được một ma trận mới

IV Đánh giá giải thuật AES

Kể từ khi được công nhận là giải thuật mã hóa tiên tiến, AES ngày càng đượcxã hội chấp nhận Ban đầu AES chỉ được sử dụng để mã hóa các dữ liệu nhạycảm Về sau này, người ta đã dùng nó để mã hóa các thông tin bí mật Giải thuậtAES-192/256 được sử dụng để bảo vệ các thông tin mật và tối mật Nó được đưavào các tiêu chuẩn ISO, IETF, IEEE Cho đến nay, hàng trăm sản phẩm ứng dụngdựa theo tiêu chuẩn mã hóa AES đã được NIST cấp chứng chỉ Ở Việt Nam,Thông tư số 01/2011/TT-BTTTT ban hành ngày 04 tháng 01 năm 2011 của Bộthông tin truyền thông đã khuyến nghị sử dụng AES là giải thuật mã hóa sử dụngcho các thông tin, văn bản trong các cơ quan Nhà nước.

Trang 22

Ưu điểm của AES:

Kỳ tuyên bố là có độ an toàn cao, được sử dụng làm tiêu chuẩn mã hóamới thay thế cho tiêu chuẩn DES đã lỗi thời AES được sử dụng để mãhóa các thông tin mật đến tuyệt mật

 AES có cấu trúc đơn giản, rõ ràng và có mô tả toán học rất đơn giản.

Nhược điểm của AES:

công kênh bên” thì nó chưa thực sự an toàn.

dẫn tới một số mối nguy hiểm trong tương lai.

Giải thuật AES thực hiện hiệu quả cả bằng phần mềm và phần cứng Thôngthường với những ứng dụng không yêu cầu cao về hiệu năng và tốc độ thì AESđược thực hiện ở dạng phần mềm Với việc thực hiện trên phần mềm, thuật toánAES có thể được viết bằng nhiều ngôn ngữ lập trình phổ biến hiện nay như C/C++, VB.NET, Java, C# và có thể vận hành trên nhiều hệ điều hành như Windows,Linux… Khi thực hiện trên phần cứng, thuật toán AES hỗ trợ thực hiện trên haidòng thiết bị: dòng thiết bị thứ nhất dựa vào một hệ vi xử lý phụ kết hợp với hệ vixử lý của máy tính, dòng thiết bị thứ hai thường được thiết kế ở dạng thẻ thôngminh hoặc các thiết bị giao tiếp thông qua cổng USB.

V Các dạng tấn công và cách phòng chống

1 Các dạng tấn công

Side-channel attack (tấn công kênh bên):

Side Channels (Kênh bên) là các kênh đầu ra không mong muốn từ một hệ thống.Tấn công kênh bên (hay còn gọi là tấn công kênh kề) là loại tấn công dễ thực hiệntrong các loại tấn công mạnh chống lại quá trình triển khai mã hóa, và mục tiêu củaloại tấn công này là phân tích các nguyên tố, các giao thức, modul, và các thiết bịtrong mỗi hệ thống.

Phân loại :

- Tấn công thời gian:

o Kẻ tấn công đo thời gian thực hiện các hoạt động mật mã để suy rathông tin về khóa bí mật hoặc dữ liệu được mã hóa.

o Ví dụ: Kẻ tấn công có thể đo thời gian cần thiết để giải mã một đoạn vănbản bằng các khóa khác nhau để tìm ra khóa chính xác.

- Tấn công dựa vào lỗi:

o Kẻ tấn công cố ý gây lỗi cho thiết bị điện toán để thu thập thông tin vềkhóa bí mật hoặc dữ liệu được mã hóa.

Trang 23

o Ví dụ: Kẻ tấn công có thể gây lỗi cho một chip xử lý để buộc nó tiết lộthông tin về khóa bí mật.

- Tấn công phân tích năng lượng:

o Kẻ tấn công đo mức tiêu thụ điện năng của thiết bị điện toán trong quátrình thực hiện các hoạt động mật mã để suy ra thông tin về khóa bí mậthoặc dữ liệu được mã hóa.

o Ví dụ: Kẻ tấn công có thể đo mức tiêu thụ điện năng của một chip xử lýđể phân biệt giữa các thao tác mã hóa với các thao tác khác.

- Tấn công phân tích điện từ:

o Kẻ tấn công thu thập các tín hiệu điện từ được phát ra từ thiết bị điệntoán trong quá trình thực hiện các hoạt động mật mã để suy ra thông tinvề khóa bí mật hoặc dữ liệu được mã hóa.

o Ví dụ: Kẻ tấn công có thể thu thập tín hiệu điện từ từ một card smartcardđể suy ra thông tin về khóa bí mật được lưu trữ trên card.

5 Cách phòng chống:

Phương pháp 1: Mã hóa cực mạnh

- Sử dụng các biện pháp để tăng tính bảo mật của thuật toán mã hóa AES:o Sử dụng khóa dài

o Cần bảo vệ khóa bí mật cẩn thận, tránh tiết lộ cho bất kỳ ai

o Sử dụng các kỹ thuật chống tấn công kênh bên: che chắn phần cứng,cân bằng tiêu thụ điện năng, sử dụng thuật toán mã hóa chống SCA

Phương pháp 2: Bảo vệ dữ liệu theo phương pháp vật lý

- Nếu một kẻ tấn công không thể tiếp cận vật lý với dữ liệu, dĩ nhiên khả năngđánh cắp khóa mã hóa sẽ khó khăn hơn Vì vậy, trước những cuộc tấn công qua âmthanh tiềm tàng, bạn có thể sử dụng các giải pháp bảo vệ vật lý như đặt laptop vàocác hộp cách ly âm thanh, không để ai lại gần máy tính khi đang giải mã dữ liệu hoặcsử dụng các nguồn âm thanh băng rộng tần số đủ cao để gây nhiễu.

Phương pháp 3: Kết hợp cả 2 cách trên

Trang 24

VI Demo mã hóa và giải mã AES

VII Kết luận

Bảo mật thông tin là một vấn đề lớn được quan tâm không chỉ trong lĩnh vực quân sự mà còn trong lĩnh vực kinh doanh cũng như giữ bí mật các thông tin cá nhân Với

Trang 25

sự phát triển mạnh mẽ về khoa học công nghệ và các hệ thống không dây thì vấn đề bảo mật ngày càng được chú trọng và phát triển Bảo đảm bí mật thông tin trở thành một vấn đề không thể thiếu khi nói đến giao dịch trên Internet.

Đối với người nghiên cứu về bảo mật thì quá trình chứng thực và trao đổi khóa trong mạng là vô cùng quan trọng Thông qua tìm hiểu cấu trúc khung của các bản tingiúp cho người làm bảo mật có thể phát hiện các tấn công từ bên ngoài hay là các sự cố xảy ra trong mạng Từ đó có thể đảm bảo cho hệ thống an toàn hơn.

Với các ưu điểm nổi bật, tiêu chuẩn mã hóa tiên tiến (AES) đã chứng tỏ đây chính là một tiêu chuẩn đáp ứng được các yêu cầu mật mã dữ liệu của thời đại mới Việc tấn công để phá thuật toán này chỉ được các nhà khoa học đưa ra trên lý thuyết và đang còn nhiều vấn đề gây tranh cãi Tuy hiện nay thuật toán AES được coi là an toàn nhưng với sự phát triển mạnh mẽ trong lĩnh vực công nghệ thông tin và viễn thông như hiện nay thì không có một thuật toán nào đảm bảo an toàn trong tương lai.Vì vậy vấn đề bảo mật còn rất nhiều điều cần phải tìm hiểu

Tài liệu tham khảo

[1] H X Dậu, An toàn và bảo mật hệ thống thông tin, Hà Nội, 2021 [2] Wikipedia, “Rijndael S-box,” 5 7 2023 [Trực tuyến] Available:

https://en.wikipedia.org/wiki/Rijndael_S-box [Đã truy cập 22 3 2024].[3] Wikipedia, “Rijndael MixColumns,” 6 2 2024 [Trực tuyến] Available:

https://en.wikipedia.org/wiki/Rijndael_MixColumns [Đã truy cập 22 3 2024].

Ngày đăng: 23/05/2024, 06:10

Tài liệu cùng người dùng

Tài liệu liên quan