Mã hóa khóa đối xứng

Một phần của tài liệu bảo mật trong cơ sở dữ liệu sql server (Trang 33 - 37)

Mã hóa khóa đối xứng là dạng mã mà thuật tốn mã hóa vả giải mã sử dụng chung một khóa tức là biết chìa này dễ tính chìa kia. Mã hóa khóa đối xứng biến đổi một bản rõ thành một bản mã bằng cách sử dụng một khóa và một thuật tốn mã hóa. Và ngược lại để giải mã thì cũng dùng chìa khóa để mã hóa và thuật tốn giải mã.

Mã hóa khóa đối xứng sử dụng hai phương pháp cơ bản để mã hóa là kỹ thuật thay thế và kỹ thuật chuyển vị. Mã hóa khóa đối xứng gồm 5 thành phần: Bản rõ P, bản mã C, khóa K, thuật tốn mã hóa E và thuật tốn giải mã D.

Hình 2.1 Sơ đồ mã hóa khóa đối xứng

27

Đây là kiểu mã được sử dụng rộng rãi nhất trong các thuật tốn mã hóa khóa đối xứng. Mã khối xử lý bản tin theo khối bằng cách chia bản rõ thành từng khối sau đó lần lượt mã hóa từng khối. Mỗi khối có thể gồm 64bits, 128bits, 192bits…

Nguyên lý hoạt động của mã khối: Hầu hết các mã khối đối xứng đều tuân theo cấu trúc mã Feisel. Mã khối được xem như một loại mã có phép thế cực lớn cần bảng 264

đầu vào cho khối 64 bits. Ta sử dụng kết hợp kỹ thuật thay thế, kỹ thuật chuyển vị và vịng lặp để mã hóa và giải mã mã khối.

Phép thế hoán vị: Năm 1949 Shanon đưa ra ý tưởng mạng ghép thế và hoán vị với mong muốn cản trở việc thám mã dựa vào nguyên tắc phân tích thống kê. Mạng S-P ra đời dựa trên hai thao tác cơ bản là: Phép thế S và phép hoán vị P. Chúng tạo ra độ rối loạn và khuếch tán của bản tin.

Phép thế S: Là kỹ thuật trong đó một ký tự của bản rõ được thay thế bằng một, hoặc một vài ký tự số, biểu tượng trong bản mã. Trong quá trình thám mã sử dụng kỹ thuật thay thế có hai phương pháp chính là phương pháp vét cạn và phương pháp đánh giá tần suất xuất hiện các chữ cái trong bản mã với tần suất xuất hiện các chữ cái trong tiếng anh. Chống lại việc thám mã bằng cách phân tích tần suất chính là thực hiện dấu đi những tính chất mang tính quy luật trên bản mã do đó phương pháp xấp xỉ tần suất xuất hiện các ký tự trong bản mã hoặc sử dụng nhiều bảng chữ cái đã được sử dụng trong mã hóa. Tuy nhiên với nhiều bảng chữ cái vẫn tạo ra những tính chất mang tính quy luật tồn tại trên bản mã để có thể giải mã được chúng.

Phép hoán vị P: Kỹ thuật chuyển vị là kỹ thuật mã hóa đơn giản nhất, chỉ bằng cách thay thế những vị trí trong bản rõ theo quy luật nào đó ta sẽ thu được bản mã. Các thuật tốn mã hóa dạng này là: Mã Rail Fence, mã dịch chuyển vòng.

Chuẩn mã hóa tiên tiến AES: AES là một thuật tốn mã hóa khối được chính phủ hoa kỳ áp dụng làm chuẩn mã hóa. 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ớ. Do AES là một tiêu chuẩn mã hóa mới, nó đang được tiến hành để sử dụng đại trà.

28

AES làm việc với từng khối dữ liệu 4x4. Q trình mã hóa bao gồm 4 bước:

 AddRoundKey: Mỗi byte của khối được kết hợp với khóa con. Mỗi khóa con trong chu trình khóa được tạo ra từ khóa chính với q trình tạo khóa con Rijdael. Mỗi khóa có độ dài như các khối. Quá trình được thực hiện bằng phép XOR từng bit của khóa con vơi khối dữ liệu.

Hình 2.2: AddRoundKey bản rõ và khóa.

 Bước SubBytes: Các bytes được thay thế thông qua bảng S-box. Đây chính là q trình phi tuyến của thuật tốn. Hộp S-box này được tạo ra trong từ nghịch đảo 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 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 nghịch đảo với một phép biến đổi affine khả nghịch.

29

 Bước ShiftRow: Các hàng được dịch vịng một số vị trí nhất định. Đối với AES hàng đầu được giữ nguyên. Mỗi byte của hàng thứ hai được dịch sang trái một bit. Tương tự mỗi byte của hàng thứ 3 và thứ 4 lần lượt được dịch sang trái 2 hoặc 3 bit.

Hình 2.4: Bước ShiftRow.

 Bước MixColumns: Bốn byte trong từng cột được kết hợp lại theo một phép tuyến tính khả nghịch. Mỗi khối 4 bytes đầu vào sẽ cho một khối 4 bytes ở đầu ra với tính chất mỗi byte ở đầu vào đều ảnh hưởng tới cả 4 bytes ở đầu ra. Cùng với bước ShiftRow, MixColumns đã tạo ra tính chất khuếch tán cho thuật tốn. Mỗi cột được xem như một đa thức trong trường hữu hạn và được nhân với đa thức f(x) = 3x3

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

30

2.2.2. An toàn trong dùng mã hóa khóa đối xứng

Vấn đề an tồn thơng tin khi dùng mã hóa khóa đối xứng là một vấn đề khó khăn vì khóa cần được u cầu bí mật tuyệt đối, nếu khóa bị lộ thì coi như tồn bộ thơng tin mật bị lộ. An tồn trong khi dùng mã hóa khóa đối xứng liên quan mật thiết đến vấn đề phân phối khóa. Sơ đồ phân phối khóa đối xứng địi hỏi cả hai đối tác chia sẻ khóa bí mật chung. Dẫn đến việc thực hiện phân phối khóa mật. Thơng thường trong các hệ mật bị sập là do bẻ khóa trong sơ đồ phân phối khóa. Đối với hai đối tác A và B cho trước có một số cách phân phối khóa khác nhau:

 A lựa chọn khóa và truyền tay cho B.

 Đối tác thứ 3 chọn khóa và phân phối khóa cho A và B.

 A và B trao đổi với một đối tác thứ ba là C, C chuyển tiếp giữa A và B. Phân loại khóa:

 Khóa phiên: Là khóa tạm thời, dùng để mã hóa dữ liệu giữa nhóm người dùng sử dụng cho một phiên logic và sau đó bị hủy, khóa phiên được sử dụng ở tầng thấp nhất của mã hóa.

 Khóa chính: Dùng để mã hóa các khóa phiên chia sẻ giữa người sử dụng và trung tâm phân phối khóa.

Vấn đề phân phối khóa: Đối với các mạng lớn địi hỏi cần phải phân cấp trung tâm phân phối khóa và phải tạo tin cậy cho nhau giữa người sử dụng với trung tâm, trung tâm với trung tâm. Thời gian sống của khóa phiên cần được hạn chế cho an tồn hơn. Sử dụng phương pháp khóa tự động thay mặt người dùng nhưng phải có hệ thống tin cậy, các khóa cấp phát được sinh ra càng ngẫu nhiên càng tốt, đồng thời cần hỗ trợ kiểm sốt mục đích của người sử dụng khóa.

Một phần của tài liệu bảo mật trong cơ sở dữ liệu sql server (Trang 33 - 37)