PHẠM VI ÁP DỤNG
Tiêu chuẩn này cung cấp các định nghĩa sẽ được dùng trong các phần tiếp theo của bộ tiêu chuẩn TCVN 11367 (ISO/IEC 18033). Tiêu chuẩn này đưa ra bản chất của mã hóa, mô tả các khía cạnh chung của việc áp dụng mật mã và các tính chất của mã hóa. Các tiêu chí sử dụng để lựa chọn thuật toán mật mã được đặc tả trong các phần tiếp theo của bộ TCVN 11367 (ISO/IEC 18033) được xác định tại Phụ lục A, Phụ lục B.
BẢN CHẤT CỦA MẬT MÃ
Mục đích của mã hóa
Mật mã làm việc kết hợp với khoá. Trong hệ mật đối xứng, khóa được sử dụng để mã hóa và giải mã là như nhau. Trong hệ mật phi đối xứng, khóa để mã hóa và giải mã khác nhau nhưng liên quan với nhau.
Mục đích chủ yếu của các hệ mật là bảo vệ tính bí mật của dữ liệu được lưu trữ hoặc truyền đi. Các thuật toán mật mã đạt được mục tiêu này bằng cách biến đổi bản rõ thành bản mã sao cho bằng cách tính toán không thể tìm ra bất kì thông tin nào về nội dung của bản rõ từ bản mã, trừ khi biết được khóa giải mã. Tuy nhiên, trong nhiều trường hợp phép mã hóa nói chung không giấu được độ dài của bản rõ, vì thông thường độ dài bản mã bằng hoặc lớn hơn một ít so với độ dài bản rõ tương ứng.
Một điều quan trọng nữa cần nhấn mạnh là mã hoá không phải luôn luôn bảo vệ được tính toàn vẹn của dữ liệu gốc. Trong nhiều trường hợp, không cần biết khóa, kẻ tấn công vẫn có thể thay đổi bản mã với hiệu quả dự đoán được lên bản rõ được khôi phục. Để đảm bảo tính toàn vẹn và tính xác thực của dữ liệu, thông thường phải sử dụng các kỹ thuật bổ sung khác, như các kỹ thuật được mô tả trong ISO/IEC 9796, ISO/IEC 9797, ISO/IEC 14888, ISO/IEC 19772 và ISO/IEC 29192.
Mã đối xứng và phi đối xứng
Mật mã làm việc trong sự kết hợp cùng với khóa
Trong mật mã đối xứng các thuật toán mã hóa và giải mã sử dụng cùng một khóa bí mật. Để thực hiện các phép mã hóa và giải mã cần biết khóa bí mật này, do đó chỉ có hai phía có thẩm quyền tiếp cận dữ liệu mới được biết khóa bí mật này.
Trong mật mã phi đối xứng mã hóa và giải mã sử dụng các khóa khác nhau nhưng liên quan với nhau. Do đó các khóa được tạo ra ở dạng các cặp khoá tương ứng, trong đó một khóa là khóa mã hóa, khóa kia là khóa giải mã. Thậm chí biết khóa mã hóa, giả thiết là bằng tính toán không thể để biết bất kì thông tin nào về bản rõ từ bản mã tương ứng. Có khả năng, trong nhiều tình huống có thể tạo ra khóa mã hóa một cách công khai, nên khóa này thường được gọi là khóa công khai, còn khóa giải mã tương ứng thì chỉ có một người sở hữu và được giữ bí mật (nên khoá này được gọi là khóa riêng hay khóa bí mật). Bất kì ai biết khóa mã hóa công khai sẽ có khả năng mã hóa dữ liệu gửi cho người giữ khóa bí mật tương ứng, chỉ có khóa giải mã bí mật mới giải mã được dữ liệu đã mã hóa đó.
Quản lý khóa
Việc sử dụng tất cả các loại hình mật mã đều căn cứ vào vấn đề quản lý khoá mật mã. Tất cả các loại hình mật mã, cả đối xứng và phi đối xứng, đòi hỏi tất cả các bên sử dụng mật mã để tiếp cận khóa cần thiết. Điều này làm phát sinh nhu cầu quản lý khóa. Quản lý khóa bao gồm tạo khóa, phân phối khóa và tiếp tục quản lý khóa sau đó. Cấu trúc đầy đủ của quản lý khóa được đưa ra tại tiêu chuẩn ISO/IEC 11770-1.
Bài toán quản lý khóa phụ thuộc vào việc khóa dùng cho mật mã đối xứng hay phi đối xứng. Với mật mã đối xứng, khóa bí mật được tạo ra theo thỏa thuận và dùng chung cho các cặp (hoặc nhóm lớn) thực thể. Với mật mã khóa công khai cần tạo ra từng cặp khóa, trong đó khóa công khai được phân phối theo cách sao cho đảm bảo tính xác thực của chúng. Trong mật mã dựa trên định danh, khóa công khai là xâu dữ liệu tùy ý, thường được chọn từ một số thông tin nào liên quan đến người giải mã (decryptor).
Các phương pháp thiết lập khóa bí mật dùng chung sử dụng kỹ thuật mật mã khóa công khai được đặc tả tại ISO/IEC 11770-2. Các phương pháp thiết lập khóa bí mật dùng chung sử dụng kỹ thuật mật mã phi đối xứng được đặc tả trong ISO/IEC 11770-3. Tiêu chuẩn này cũng mô tả các các kỹ thuật phân phối khóa công khai tin cậy sử dụng kỹ thuật mật mã phi đối xứng.
SỬ DỤNG MẬT MÃ VÀ CÁC TÍNH CHẤT CỦA MẬT MÃ
Mật mã phi đối xứng
Thuật toán mã hóa trong mật mã phi đối xứng xác định một ánh xạ từ tập hợp các thông báo rõ có thể (thường là tập hợp các xâu bit) vào tập hợp các thông báo đã mã hóa (thường cũng là tập hợp các xâu bit). Tập các thông báo có thể và tập các bản mã phụ thuộc vào cả việc chọn mật mã và cặp khóa.
Đối với mật mã phi đối xứng, thuật toán mã hóa phụ thuộc vào khóa công khai, trong khi việc giải mã phụ thuộc vào khóa bí mật. Bởi vậy nếu các khối mã tương ứng với các khối của bãn rõ có thể tính được thì không ai, ngoài người sở hữu khóa bí mật, có thể suy ra được khối bản rõ tương ứng với khối bản mã đã chọn. Tuy nhiên nếu kẻ thu chặn bản mã biết được khóa công khai được sử dụng để sinh ra bản mã, đồng thời biết rằng bản rõ được chọn từ một tập hợp nhỏ các bản rõ có thể, thì anh ta hoàn toàn có thể tính ra bản rõ bằng phương pháp vét cạn tất cả các bản rõ có thể.
Kết quả là để đạt được mức an toàn mong muốn, cần phải kết hợp dữ liệu ngẫu nhiên vào quá trình mã hóa sao cho khối bản mã tương ứng với khối bản rõ đã chọn không thể dự đoán được. Chi tiết về kỹ thuật kết hợp dữ liệu ngẫu nhiên vào quá trình mã hoá được mô tả trong TCVN 11367-2:2016 (ISO/IEC 18033-2).
Mã khối
Tổng quan
Mã khối là mã đối xứng với tính chất là thuật toán mã hóa thao tác trên các khối của bản rõ, tức trên các xâu bit với độ dài xác định, kết quả cho ra các khối của bản mã. Trong mã khối, mỗi khóa xác định một ánh xạ riêng khả nghịch từ tập các khối rõ sang tập các khối mã (ánh xạ khả nghịch tương ứng được sử dụng để giải mã). Nếu, và đây là trường hợp thường xảy ra, tất cả khối rõ và khối mã có cùng độ dài gồm n bit, thì từng khóa, đơn giản là xác định một phép hoán vị trên tập hợp tất cả các khối n bit.
Mã khối có thể được sử dụng trong nhiều cách khác nhau. Hai trong số các ứng dụng quan trọng nhất được mô tả trong 5.2.2 và 5.2.3, nhưng có nhiều cách sử dụng khác như sử dụng trong hàm băm (xem ISO/IEC 10118-2) và bộ tạo số ngẫu nhiên (xem ISO/IEC 18031).
Chế độ hoạt động
Có nhiều cách trong đó mã khối n-bit được sử dụng để mã hóa bản rõ. Các phương pháp này được biết đến như là các chế độ hoạt động của mã khối. Chế độ hoạt động của mã khối được xác định tại ISO/IEC 10116. Nếu số lượng bit trong bản rõ bằng n, thì mã hóa bản rõ đơn giản chỉ là áp dụng quá trình mã hóa vào khối rõ này, chế độ mã hóa được gọi là chế độ sách mã điện tử (ECB). Tuy nhiên với bản rõ có độ dài tuỳ ý thì cần áp dụng cách tiếp cận linh hoạt hơn. Vì lí do này và một số lí do khác, trong thực tế cần áp dụng một trong các chế độ hoạt động được xác định tại ISO/IEC 10116.
Mã xác thực thông báo (MACs)
Mặc dù mã hóa không cung cấp tính toàn vẹn của dữ liệu, song hoàn toàn có thể, bằng một phương pháp đặc biệt, sử dụng mã khối để đảm bảo chức năng này. Nói riêng, có thể sử dụng mã khối để tính mã xác thực thông báo (MAC) cho từng xâu bit. Mã xác thực này có thể sử dụng để đảm bảo tính toàn vẹn và bảo vệ tính xác thực gốc của xâu bit. Các phương pháp đạt được điều này được quy định trong ISO/IEC 9797-1. Lưu ý rằng đôi khi cũng nên sử dụng mã khối cho cả mã hóa và tính MAC cho bản rõ. Trong những trường hợp như thế nói chung nên sử dụng hai khóa bí mật khác nhau, một khóa dùng cho mã hóa, khóa khác dùng cho tính mã xác thực MAC. Ngoài ra, các kỹ thuật mã hóa xác thực đồng thời cung cấp bảo vệ tính bảo mật và toàn vẹn sử dụng một khóa bí mật duy nhất được quy định trong tiêu chuẩn ISO/IEC 19772.
Mã dòng
Mã dòng luôn dựa trên bộ tạo dòng khóa, tức là một hàm với đầu vào là khóa bí mật (và có thể cả bản mã trước đó), đầu ra là dãy các kí tự được gọi là khóa dòng. Dãy này dùng để mã hóa bản rõ bằng cách kết hợp từng kí tự của nó với từng kí tự của bản rõ, trong đó sử dụng một hàm khả nghịch (ví dụ phép toán loại trừ OR từng bit).
Thông thường nếu sử dụng một khóa và một véc tơ khởi tạo nhiều lần cho bộ tạo khóa, thì kết quả sẽ cho ra các khóa dòng giống nhau. Nếu sử dụng khóa dòng để mã hai hay nhiều hơn một bản rõ, khi đó có nguy cơ kẻ thu chặn bất hợp pháp bản mã sẽ có khả năng thu được thông tin về cả hai bản rõ. Do đó cần cung cấp các phương tiện để đảm bảo mỗi khoá dòng được sử dụng để mã một bản rõ. Các vấn đề sử dụng khóa được xem xét tại TCVN 11367-4:2016 (ISO/IEC 18033-4).
Trừ khi sử dụng các kỹ thuật định dạng bản rõ đặc biệt, mã dòng không bảo vệ được tính toàn vẹn của bản rõ. Trong trường hợp khi mã hóa bằng mã dòng là phép toán loại trừ OR từng bit bản rõ với khóa dòng, thì sự thay đổi một bit riêng lẻ trong bản mã dẫn đến sự thay đổi một bit riêng lẻ trong bản rõ được khôi phục. Ngoài ra, mã dòng cũng để lộ độ dài chính xác của bản rõ.
Cơ chế dựa trên định danh
Kỹ thuật mã hóa dựa trên định danh là một cơ chế mã hóa phi đối xứng cho phép một xâu tùy ý được sử dụng như một khóa công khai. Bằng cách sử dụng một xâu dễ nhận biết (ví dụ một địa chỉ email) là một khóa công khai, người mã hóa có thể có được nó một cách đáng tin cậy mà không cần phải truy cập và kiểm tra chứng thư khóa công khai. Trong một số trường hợp nó có thể sắp xếp để khóa công khai để có một khoảng thời gian tồn tại ngắn, ví dụ bao gồm ngày hoặc tem thời gian trong khóa công khai cùng với định danh cho chủ sở hữu. Trong trường hợp như vậy, có thể không cần một cơ chế thu hồi rõ ràng cho khóa công khai, không giống như trường hợp khi sử dụng chứng thư số khóa công khai (xem ISO/IEC 11770-3). Khi chứng thư số khóa công khai là không đòi hỏi, và một cơ chế thu hồi cũng có thể không cần thiết, mã hóa dựa trên định danh có tiềm năng cung cấp lợi thế thực tế đáng kể với các kỹ thuật mã hóa phi đối xứng dựa trên chứng thư số.
Việc sử dụng mã hóa dựa trên định danh liên quan đến một bên thứ ba tin cậy đặc biệt được gọi là Bộ tạo khóa riêng. Thực thể này có trách nhiệm tạo các khóa riêng của người sử dụng cá nhân. Do vậy bên thứ ba này có các cách thức để giải mã tất cả các thông báo dành cho các khách hàng của mình. Đặc tính này có thể không luôn luôn được mong muốn, trong trường hợp đó, nên sử dụng thay thế bằng kỹ thuật mã hóa phi đối xứng dựa trên chứng thư số, như được tiêu chuẩn hóa trong tiêu chuẩn TCVN 11367-2:2016 (ISO/IEC 18033-2).
ĐỊNH DANH ĐỐI TƯỢNG
Tiêu chuẩn này đặc tả tên gọi duy nhất (định danh đối tượng OSI) cho mỗi thuật toán riêng biệt. Trong các ứng dụng, khi định danh đối tượng được sử dụng, những định danh đối tượng được mô tả trong tiêu chuẩn này có thể được sử dụng trong tham chiếu tới các định danh đối tượng khác có thể có trong các thuật toán được xem xét.
KẾT LUẬN
TCVN 11367-1:2016 do Cục Quản lý mật mã dân sự và Kiểm định sản phẩm mật mã biên soạn, Ban Cơ yếu Chính phủ đề nghị, Tổng cục Tiêu chuẩn Đo lường Chất lượng thẩm định, Bộ Khoa học và Công nghệ công bố.
Bài viết đã giới thiệu tổng quan nội dung của TCVN 11367-1:2016, quy định về bản chất của mã hóa, mô tả các khía cạnh chung của việc áp dụng mật mã và các tính chất của mã hóa. Để biết thêm chi tiết về các cơ chế được quy định tham khảo chi tiết tại TCVN 11367-1:2016.