Nghiên cứu Khoa học

Các thuật toán mã hoá được sử dụng trong thông tin di động

  • 07/10/2023
  • Nghiên cứu Khoa học

Mã hoá đối xứng

undefined

Hình 1: Nguyên lý của hệ thống mã hoá đối xứng.

Nguyên lý cơ bản của hệ thống mã hoá khoá đối xứng được chỉ ra trong hình1. Có thể thấy rằng bản chất của mã hoá đối xứng là cả phía thu và phía phát đều sử dụng cùng một khoá bí mật (SK), và thuật toán ở cả hai phía cũng đều giống nhau. Mã hoá đối xứng như trên dựa vào việc phân phối khoá một cách bảo mật giữa cả hai phía. Nhưng thực tế là khoá chung đó lại phân phối tới tất cả mọi người trong mạng, và vấn đề “kênh bảo mật” đã làm đau đầu những nhà quản trị mạng. Điều nguy hiểm nhất là bất cứ ai chiếm được khoá trong quá trình phân phối cũng có toàn quyền truy nhập tới dữ liệu do khoá đó bảo vệ. Do đó, quá trình phân phối khoá phải trên “kênh bảo mật”, bất kể là kênh logic hay kênh vật lý (hình 2).

undefined

Hình 2: Kênh nguyên lý trong hệ thống mã hoá đối xứng.

Mã hoá bất đối xứng

Ngược lại với mã hoá đối xứng, thuật toán đối xứng hoạt động theo ít nhất là hai khoá, hay chính xác hơn là một cặp khoá (hình 2.3). Khoá sử dụng được biết đến như là khoá bí mậtkhoá công khai và do đó có khái niệm mã hoá khoá công khai. Mỗi khoá được sử dụng để mã hoá hay giải mã, nhưng khác với thuật toán đối xứng, giá trị của khoá ở mỗi phía là khác nhau.

Trong hệ thống RSA, dữ liệu được mã hoá bằng khoá bí mật (KXu) và chỉ có thể giải mã được bằng khoá công khai của cặp khoá đó. Cặp khoá này được tạo ra cùng nhau và do đó có liên quan trực tiếp với nhau. Mặc dù có quan hệ với nhau nhưng nếu biết hay truy nhập được khoá công khai thì cũng không thể tính toán được giá trị của khoá bí mật. Do đó, công khai khoá mã cũng không làm ảnh hưởng tới tính bảo mật của hệ thống, nó cũng chỉ như một địa chỉ thư tín còn khoá bí mật vẫn luôn được giữ kín. Bản chất của mã hoá khoá công khai RSA là bất cứ bản tin mật mã nào đều có thể được nhận thực nếu như nó được mã hoá bằng khoá bí mật còn giải mã bằng khoá công khai. Từ đó, phía thu còn xác định được cả nguồn gốc của bản tin. Bất cứ người nào giữ khoá công khai đều có thể nghe trộm bản tin mật mã bằng cách tính toán với kho bí mật, không chỉ đảm bảo tính tin cậy của bản tin (trong một nhóm) mà còn được nhận thực, hay còn gọi là không thể từ chối, ví dụ như người gửi không thể từ chối rằng chính họ là tác giả của bản tin đó. Nó hoàn toàn trái ngược với hoạt động của khoá đối xứng, trong đó bản tin mật mã được đảm bảo tính toàn vẹn giữa phía mã hoá và giải mã, nhưng bất kỳ ai có được khoá chung đều có thể phát bản tin và từ chối rằng chính mình đã phát nó, còn phía thu thì không thể biết được đâu là tác giả của bản tin đó. Thuật toán đối xứng yêu cầu khả năng tính toán lớn hơn và do đó, tốc độ quá trình mã hoá chậm hơn so với mã hoá đối xứng. Đó cũng là trở ngại chính trong các hệ thống cho phép tỷ lệ lỗi lớn như trong truyền thông thoại. Do đó, mã hoá khoá công khai không phù hợp với các bản tin có chiều dài thông thường, tuy nhiên khi kết hợp cả hai chế độ với nhau lại có thể đảm bảo tính nhận thực, tin cậy và toàn vẹn của bản tin. Nói chung, các ứng dụng sử dụng thuật toán bất đối xứng là:

  • Sử dụng một giá trị “băm” nhỏ làm chữ ký điện tử.
  • Mã hoá các khoá bí mật được sử dụng trong thuật toán đối xứng.
  • Thỏa thuận khóa mã bí mật giữa các phía trong truyền thông.

undefined

 Hình 3: Nguyên lý cơ bản của mã hoá khoá công khai và thuật toán RSA.

Hàm băm (Hash)

Hàm băm được sử dụng để kiểm tra bản tin sau giải mã và thường gọi là kiểm tra tính toàn vẹn. Về cơ bản thì một chuỗi dữ liệu có độ dài thay đổi được đưa tới đầu vào thuật toán để tạo ra giá trị băm có độ dài cố định ở đầu ra. Hàm băm là hàm một chiều, không thể thực hiện ngược lại từ giá trị băm để tạo lại chuỗi gốc. Mặt khác, hai chuỗi đầu vào bất kỳ cũng không thể cho cùng một giá trị đầu ra. Bất cứ thay đổi nào ở đầu vào đều tạo ra giá trị khác ở đầu ra, do đó nó được sử dụng để kiểm tra tính toàn vẹn của bản tin. Thông thường sử dụng các hàm băm MD 2, 4 và 5, SHA-1, SHA-2.

Tuy nhiên, hàm băm không cung cấp tính tin cậy cho file hay bản tin, nhưng khi sử dụng kết hợp với mã hoá khoá bí mật, nó có thể đảm bảo tính nhận thực của bản tin.

Mã nhận thực bản tin (MAC)

Ngoài chức năng kiểm tra tính toàn vẹn của bản tin mã hoá, MAC còn được sử dụng kết hợp với khoá bí mật để cung cấp chức năng kiểm tra tính nhận thực và toàn vẹn, trong khi hàm băm không thể nhận thực bản tin. MAC cũng thường được sử dụng ở chế độ một chiều như hàm băm, mặc dù nó còn có thể hoạt động cả ở chế độ hai chiều. Trong chế độ một chiều, nó đòi hỏi phải biết cả khoá của tác giả cũng như khóa của người muốn kiểm tra bản tin hay nhận thực file. Vì vậy, khi sử dụng phương pháp này yêu cầu phải bảo vệ khoá khỏi virus. Virus có thể tấn công file và tạo ra giá trị băm mới, nhưng do không biết giá trị của khoá, virus không thể tạo ra giá trị MAC mới. Do đó, tác giả của file sẽ nhận thấy rằng file đã bị thay đổi.

MAC được mang đi như một phụ lục bằng cách bổ xung thêm một phần nhỏ trong tiêu đề của file hay bản tin, vì vậy nhược điểm của MAC là tốc độ chậm hơn thuật toán chữ ký điện tử.

 

Các tin khác