Nguyên lý mã hoá dữ liệu

Mã hóa hoặc mật mã hóa dữ liệu là cơ chế chuyển đổi dữ liệu sang một định dạng khác không thể đọc được, vi dụ như ciphertext (văn bản viết thành mật mã), để có thể ngăn cản những truy cập bất hợp pháp khi dữ liệu trao đổi trong môi trường mạng không an toàn.

Mã hóa dữ liệu ngăn chặn được các việc sau :

  • Nghe trộm và xem lén dữ liệu.
  • Chỉnh sữa và đánh cắp lén dữ liệu.
  • Giả mạo thông tin.
  • Data non-repudiation.
  • Sự gián đoạn các dịch vụ mạng.

Khi nhận được gói tin, người nhận sẽ giải mã dữ liệu lại dạng cơ bản ban đầu. Cho dù dữ liệu có bị chặn trong suốt quá trình trao đổi dữ liệu

Nguyên lý mã hoá dữ liệu
Người gởi và người nhận, phụ thuộc vào quá trình mã hóa,dưới hình thức là một hệ thống mã hóa. Hệ thống mã hoá (Cryptosystems) có 2 loại sau :

  • Đối xứng (Symmetric)
  • Bất đối xứng (Asymmetric)

Một hệ thống mã hóa được phân loại dựa vào con số của khoá mà nó dùng. Một khoá có thể là một con số, một từ, hoặc một cụm từ được dùng vào mục đích mã hóa và giải mã dữ liệu.

I. Hệ thống mã hóa đối xứng (Symmetric Cryptosystems)

Symmetric cryptosystems dựa trên một khóa đơn, đó là một chuỗi ngắn với chiều dài không thay đổi. Do đó, phương pháp mã hóa này được xem như là single-key encryption. Khoá thường là khóa riêng (hoặc bảo mật) và được dùng để mã hóa cũng như giải mã.

Ghi chú: Trong một số tài liệu, symmetric cryptosystem cũng được xem như khóa scryptosystems riêng hoặc bí mật và kỹ thuật này cũng được xem như khóa mật mã riêng hoặc khóa mật mã bí mật.

Trước khi hai bên trao đổi dữ liệu, khóa phải được chia sẽ dùng chung cho cả 2 bên. Người gửi sẽ mã hóa thông tin bằng khóa riêng và gửi thông tin đến người. Trong quá trình nhận thông tin, người nhận sủ dụng cùng một khóa để giải mã thông điệp

Nguyên lý mã hoá dữ liệu

Phụ thuộc vào chiều dài của khóa, có rất nhiều thuật giải mã hóa đối xứng đã được phát triển cho đến nay. Sau đây là một số thuật giải thường được sử dụng:

  • Tiêu chuẩn mã hóa dữ liệu (Data Encryption Standard – DES). Nguyên bản DES đề ra giải pháp cho một khóa có chiều dài lên đến 128 bit. Tuy nhiên, kích thước của khóa đã giảm xuống còn 56 bit bởi chính phủ Hoa Kỳ trong việc nổ lực tìm ra thuật giải nhanh hơn. Việc giảm chiều dài khóa xuống, phụ thuộc vào tốc độ xử lý của bộ vi xử lý. Trong phương pháp tấn công Brute Force, các khóa sẽ phát sinh ngẩu nhiên và được gửi đến đoạn văn bản nguyên mẩu cho tới khi xác định được từ khóa chính xác. Với những khóa có kích thước nhỏ, sẽ dễ dàng để phát sinh ra chính xác từ khóa và phá vở hệ thống mật mã.

Chú ý: Tên chính thức của DES là Federal Information Processing Standard (FISP) (Tiêu chuẩn xứ lý thông tin liên bang (Hoa kỳ).

  • Bội ba tiêu chuẩn mã hóa dữ liệu (Triple Data Encryption Standard (3DES)). Cũng giống như DES, 3DES cũng sử dụng khóa 56 bit. Tuy nhiên, nó an toàn hơn nhiều do dùng 3 khóa khác nhau để mã hóa dử liệu. Bộ xử lý thực hiện các bước sau : khóa đầu tiên dùng để mã hóa dữ liệu. Sau đó, khóa thứ hai sẽ dùng để giải mã dữ liệu vừa được mã hóa. Cuối cùng, khóa thứ ba sẽ mã hóa lần thứ hai. Toàn bộ quá trình xử lý của 3DES tạo thành một thuật giải có độ an toàn cao. Nhưng bởi vì đây là một thuật giải phức tạp nên thời gian thực hiện sẽ lâu hơn, gấp 3 lần so với phương pháp DES.
  • Ron’s Code 4 (RC4). Được phát triển bởi Ron Rivest, thuật giải này sử dụng những từ khóa với chiều dài có thể biến đổi lên đến 256 bytes. Bởi vì chiều dài của khóa, RC4 được phân loại là một cơ chế mã hóa mạnh. Nó cũng tương đối khá nhanh. RC4 tạo một dòng bytes ngẩu nhiên và XORs chúng với văn bản nguyên mẩu. Bởi vì các bytes được phát sinh ngẩu nhiên, RC4 đòi hỏi một khóa mới cho mổi lần gởi thông tin ra ngoài.

Hệ thống mã hóa đồng bộ đưa ra 2 vấn đề chính. Đầu tiên, bởi vì một khóa vừa được dùng để mã hóa vừa dùng để giả mã, nếu nó bắt đầu trở thành kẻ xâm nhập, thì tất cả những thông tin sữ dụng khóa này sẽ bị huỷ. Vì thế, khóa nên thường xuyên thay đổi theo định kỳ.

Một vấn đề khác là khi hệ thống mã hóa đồng bộ xữ lý một lượng thông tin lớn, việc quả lý các khóa sẽ trở thành một công việc vô cùng khó khăn. Kết hợp với việc thiết lặp các cặp khóa, phân phối, và thay đổi theo định kỳ đều đòi hỏi thời gian và tiền bạc.

Hệ hống mã hóa đối xứng đã giải quyết vấn đề đó bằng việc đưa ra hệ thống mã hóa đối xứng. Đồng thời, họ cũng tăng tính năng bảo mật trong suốt quá trình chuyển vận. Chúng ta sẽ được tham khảo thêm về hệ thống mã hóa bất đối xứng ở phần sau.

II. Hệ Thống Mã Hóa Bất Đối Xứng (Asymmetric Cryptosystems).

Thay vì sử dụng một khóa đơn trong hệ thống mã hóa đối xứng, hệ thống mã hóa bất đối xứng sử dụng một cặp khóa có quan hệ toán học. Một khóa là riêng tư, chỉ được chính chủ nhân. Khóa thứ hai thì được phổ biến, công cộng và phân phối tự do. Khóa công cộng thì được dùng để mã hóa và ngược lại khóa riêng thì được dùng để giải thông tin.

Trong VPN, 2 hệ thống mã hóa bất đối xứng được dùng phổ biến là thuật toán Diffie-Hellman (DH) và thuật toán Rivest Shamir Adleman (RSA).

Thuật toán Diffie-Hellman

Trong thuật toán DH, mổi thực thể giao tiếp nhận được một cặp khóa, một được phân phối tới những thực thể thông tin khác và một được giữ lại riêng. Thuật toán DH làm việc theo những vấn đề chính sau :

  1. Người gửi nhận khóa công cộng của người nhận, do khóa này là khóa công cộng nên đều được mọi người biết.
  2. Người gửi thực hiện một thao tác gộp khóa riêng và khóa công công của người nhận, kết quả cho ra một khóa chung bảo mật (shared secret key).
  3. Thông điệp sẽ được mã hóa bằng khóa vừa nhận được.
  4. Sau đó thông điệp mã hóa sẽ được gửi đến người nhận.
  5. Trong qua trình nhận thông điệp mã hóa, bên nhận sẽ phát sinh một khóa chung mật khác cũng bằng thao tác tương tự gộp chính khóa riêng của mình với khóa chung của bên gửi.

Giả định cơ bản của thuật toán này là nếu bất kỳ một ai bắt được thông điệp mã hóa, người đó cũng không thể nào giải mã được bởi vì anh hoặc cô ta không xữ lý khóa riêng của bên nhận được (khóa riêng của anh hoặc cô ta). Dữ liệu được trao đổi dựa trên thuật toán Diffie-Hellman được mô tả ở hình

Nguyên lý mã hoá dữ liệu

Mặc dù thuật toán DH có một độ an toàn cao hơn so với hệ thống mã hóa đối xứng, nhưng cũng gặp một số vấn đề khó khăn. Phải đảm bảo chắc chắn rằng khóa công cộng phải được trao đổi trước khi quá trình trao đổi dữ liệu thực sự được xác định. Cho ví dụ : nếu 2 bên trao đổi khóa công cộng cho nhau qua môi trường không an toàn, như Internet, điều đó có thể làm cho khóa công cộng có thể bị bắt giữ trước bởi một người xâm phạm nào đó, sau đó người này sẽ gửi khóa công cộng của mình cho cả hai bên đầu cuối đang thực hiện trao đổi . Trong trường hợp này, người xâm nhập sẽ dễ dàng mắc vào nghe lén thông tin của hai bên đầu cuối bởi vì cả hai bên đầu cuối đều trao đổi dữ liệu thông qua khóa công cộng của người xâm phạm. Đây là một dạng xâm nhập được biết như một kiểu tấn công Man-in-the-Middle.

Thuật toán Rivest Shamir Adleman (RSA), sẽ được tham khảo tiếp theo sau sẽ giải quyết hiệu quả phương pháp tấn công Man-in-the-Middle mà đã nảy ra trong thuật toán DH. Thuật toán RSA nổi lên như là một cơ chế mã hóa bất đối xứng khá mạnh.

Thuật toán Rivest Shamir Adleman (RSA)

Thuật toán RSA triển khai quá trình xác nhận bằng cách sử dụng chữ ký điện tử theo các bước sau :

  1. Khóa công cộng của người gửi được yêu cầu và được dùng cho người nhận và sau đó được chuyễn hướng về phía trước (forward).
  2. Người gửi sử dụng hàm băm để làm giảm kích thước mẩu tin gốc. Thông điệp tổng hợp thì được hiểu như là một thông điệp phân loại (message digest (MD)).
  3. Người gửi mã hóa thông điệp phân loại bằng khóa riêng của nó được rút ra từ sự phát sinh chữ ký điện tử độc nhất.
  4. Thông điệp và chữ ký điện tử được kết hợp và chuyễn hướng đến người nhận.
  5. Trong lúc nhận thông điệp mã hóa, người nhận phục hồi lại thông điệp phân loại bằng cách sử dụng cùng một hàm băm như người gửi.
  6. Người nhận sau đó giải mã chữ ký điện tử bằng cách sử dụng khóa công cộng của người gửi.
  7. Người nhận sau đó sẽ so sánh thông điệp phân loại vừa được phục hồi (bước 5) và thông điệp phân loại nhận được từ chữ ký điện tử (bước 6). Nếu cả hai đồng nhất, tức là dữ liệu không bị chặn đứng, giả mạo hoặc chỉnh sửa trong suốt quá trình trao đổi. Ngược lại, dữ liệu sẽ không được chấp nhận, bị từ chối

Nguyên lý mã hoá dữ liệu

RSA bảo đảm an toàn và bảo mật trong chuyến đi của dữ liệu bởi vì người nhận kiểm tra sự đúng đắn của dữ liệu qua 3 lần (bước 5, 6 và 7). RSA cũng làm đơn giản hóa công việc quản lý khóa. Trong cách mã hóa đối xứng, n2 khóa được yêu cầu nếu trong quá trình trao đổi có n thực thể. Bằng cách so sánh, cách mã hóa bất đối xứng chỉ đòi hỏi 2*n khóa.

bkav