BÀI TOÁN, CO SO LY THUYET, PHƯƠNG PHAP ĐỀ XUẤT

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Bảo mật dữ liệu cho phương pháp đối sánh mẫu nhanh trên thiết bị IoT (Trang 34 - 38)

3.12 Yêu cầu bảo mật

Chúng tôi dé ra các yêu cầu về bảo mật mà các đối tượng nêu trên cần phải tuân

theo:

© Máu khách-Alice va Bob: là người giữ khóa bí mật của riêng họ. Nếu Alice tin

tưởng Bob, cô ay có thể chia sẻ khóa bí mật cho Bob. Nhung Bob không được phép tải về dữ liệu của Alice cho dù có sở hữu khóa bí mật của cô ay.

© Máu chỉ-nhà cung cấp dich vu đám mây: được giả định là HBC (honest-but-

curious). Điều này có nghĩa là nó tuân thủ đúng các bước đặt ra trong giao thức nhưng vẫn có thể cố gắng học tất các những gì có thể dựa trên các dữ liệu

mà nó nhận được. Thêm vào đó, máy chủ được giả định là không được cấu kết

với một trong các máy khách (Alice hoặc Bob).

3.1.3 Mục tiêu

Các mục tiêu của bài toán bao gồm:

1. Chủ sở hữu dữ liệu có thể lưu trữ dữ liệu của họ trên dịch vụ đám mây mà

không tiết lộ thông tin về dữ liệu gốc cho nhà cung cấp dịch vụ.

. Dữ liệu trên dịch vụ đám mây cần toàn vẹn trước khi thực hiện đối sánh mẫu.

. Nhà cung cấp dich vụ thực hiện đối sánh mẫu trên các dữ liệu được lưu trữ của chủ sở hữu dữ liệu mà không cần giải mã chúng.

. Các thuật toán và giao thức được thiết kế cần phù hợp với khả năng tính toán trên các thiết bi IơT.

3.2 Cơ sở lý thuyết

3.2.1 Ma hóa AES

AES là một thuật toán mã hóa khối, nghĩa là văn bản gốc được chia thành nhiều khối

và thuật toán mã hóa sẽ được thực hiện trên từng khối đó. Mỗi khối trong thuật toán

22

Chương 3. BÀI TOÁN, CO SO LY THUYET, PHƯƠNG PHAP ĐỀ XUẤT

AES có độ dài cố định là 128 bit hay 16 byte bat kể kích thước khóa. AES-256 là thuật

toán mã hóa AES mà nó sử dụng khóa có độ dai 256 bit. Với kích thước khóa đủ lớn,

AES-256 là một trong số các mật mã có thể chống lại được các cuộc tấn công lượng

tử [15].

AES là một thuật toán được xây dựng dựa trên phương pháp thay thế-hoán vị. Trong thuật toán, các khối dt liệu được biểu diễn như một ma trận có kích thước 4x4. Qua trình mã hóa một khối được thực hiện trong nhiều chu trình và mỗi chu trình có một khóa chu trình riêng. Các khóa chu trình có kích thước cô định là 16 byte và được tạo ra từ một khóa chính thông qua quá trình mở rộng khóa (KeyExpansion). Có bốn bước chính trong mỗi chu trình mã hóa, bao gồm:

1. AddRoundKey: mỗi byte dữ liệu được kết hợp với một byte tương ứng của khóa

chu trình bằng toán tử XOR.

2. SubBytes: thay thé mỗi byte trong dữ liệu bang một byte khác dựa trên bang

Rijndael S-box.

3. ShiftRows: hàng thứ 7 trong ma trận dữ liệu được dịch xoay vòng sang trái i

byte.

4. MixColumns: mỗi cột trong ma trận dữ liệu được nhân với một hệ số có định

khác nhau.

Cụ thể, một thuật toán AES có n chu trình được thực hiện như sau:

1. Khởi tạo: Thực hiện bước AddRoundKey với khóa chu trình khởi tạo. Lưu ý rằng

một thuật toán AES n chu trình sé sinh ra # + 1 khóa chu trình, khóa chu trình

đầu tiên là khóa chu trình khởi tạo.

2. Chu trình 1 đến n — 1:

(a) SubBytes (b) ShiftRows (c) MixColumns (đ) AddRoundKey

23

Chương 3. BÀI TOÁN, CO SO LY THUYET, PHƯƠNG PHAP ĐỀ XUẤT

3. Chu trình n:

(a) SubBytes (b) ShiftRows (c) AddRoundKey

Counter Counter + 1

:ơ E51 -

Py <0, P2 SP,

Cy Cz

(a) Encryption

Counter Counter + 1

HÌNH 3.1: Chế độ mã hóa CTR.

Có nhiều chế độ mã hóa trong một thuật toán mã hóa khối, có thể kể đến là chế độ ECB, CBC, CTR. Tuy nhiên, nghiên cứu nay tập trung vào chế độ mã hóa CTR vì nó

có một số tính chất quan trọng liên quan đến thuật toán đối sánh mẫu được đề xuất. Thay vì mã hóa dữ liệu như các chế độ khác, CTR mã hóa một số đặc biệt được gọi

là số counter. Kết quả của phép mã hóa này là một keystream. Sau đó keystream này được kết hợp với văn bản gốc bằng phép toán XOR để tạo ra văn bản được mã hóa. Lược dé của chế độ CTR cho một khối dữ liệu được tóm tắt như sau:

24

Counter +N -1

Chương 3. BÀI TOÁN, CO SO LY THUYET, PHƯƠNG PHAP ĐỀ XUẤT

AES; (counter) —> keystream

keystream @® plainblock —> cipherblock

Số counter của khối đầu tiên được chọn ngẫu nhiên và tăng thêm 1 với mỗi khối tiếp theo. Quá trình mã hóa và giải mã một văn bản hoàn chỉnh bằng chế độ mã hóa CTR được minh họa trong hình |3. |

3.2.2 Hàm băm SHA

SHA (Standard Hash Algorithms) là một nhóm các hàm băm mật mã được công bó bởi Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (NIST). Để một hàm băm đủ tiêu chuẩn trở thành một hàm băm mật mã, nó phải thỏa mã được ba tính chất tiên quyết,

bao gồm: pre-image resistance, second pre-image resistance, va collision resistance.

Định nghĩa: Cho ham số ƒ : X —› Y và một giá trị y € Y, tập hop P = {x|f(x) =

} được gọi là pre-image (hay nghịch ảnh, tạo anh) của y dưới ƒ.

Theo đó, các tính chất tiên quyết của một hàm băm mật mã được phát biểu như sau:

® Pre-image resistance: rat khó tìm được một phần tử nào thuộc một tập hợp

pre-image cho trước.

® Second pre-image resistance: cho một phan tử thuộc một tập hợp pre-image,

rat khó tìm được một phan tử khác của tập hợp pre-image đó.

* Collision resistance: rat khó tìm được hai phan tử bat kỳ thuộc cùng một tập

hợp pre-image.

SHA-256 là một thuật toán SHA mà nó vẫn có thể duy trì tốt các tính chất của một

hàm băm mật mã dưới sự tấn công của các thuật toán lượng tử (15). Nó nhận đầu

vào là một dữ liệu có độ dài bat ky và cho ra một giá trị hàm băm có độ dài 256 bit.

Cụ thể, thuật toán SHA-256 chia dữ liệu đầu vào thành nhiều khối có kích thước bằng nhau và bằng 512 bit. Mỗi khối tiếp tục được chia thành 16 khối con, mỗi khối con 32 bit. Sau đó, SHA tạo ra 64 từ (word) dựa trên 16 khối con này. Thuật toán

được mô tả một cách tổng quan như sau:

25

Một phần của tài liệu Khóa luận tốt nghiệp An toàn thông tin: Bảo mật dữ liệu cho phương pháp đối sánh mẫu nhanh trên thiết bị IoT (Trang 34 - 38)

Tải bản đầy đủ (PDF)

(71 trang)