Phiên bản thử nghiệm
BAN CƠ YẾU CHÍNH PHỦ
CỤC QUẢN LÝ MẬT MÃ DÂN SỰ VÀ KIỂM ĐỊNH SẢN PHẨM MẬT MÃ
NATIONAL AGENCY OF CRYPTOGRAPHY AND INFORMATION SECURITY
Hướng dẫn sử dụng các cơ chế ký mã được quy định tại tiêu chuẩn TCVN 13175: 2020
03:53:00 | 09-04-2021

1. Giới thiệu

Tiêu chuẩn TCVN 13175: 2020, Công nghệ thông tin – Các kỹ thuật an toàn – Kỹ mã, 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ố. TCVN 13175: 2020 hoàn toàn tương đương với ISO/IEC 29150:2011 và đính chính kỹ thuật 1:2011.

TCVN 13175 : 2020 quy định bốn cơ chế ký-mã có sử dụng các kỹ thuật mã hóa khóa công khai trong đó yêu cầu cả người khởi tạo và người nhận dữ liệu được bảo vệ phải có cặp khóa công khai và khóa riêng, bao gồm:

  • Cơ chế ký-mã dựa trên logarit rời rạc (DLSC);
  • Cơ chế ký-mã dựa trên đường cong elliptic (ECDLSC);
  • Cơ chế ký-mã dựa trên bài toán phân tích ra thừa số nguyên (IFSC);
  • Cơ chế dựa trên mã hóa rồi ký (EtS).

Bài viết này bao gồm 4 phần, cung cấp hướng dẫn về việc lựa chọn, sử dụng các cơ chế ký-mã trên (chi tiết về các cơ chế này xem thêm tại TCVN 13175 : 2020). Phần đầu tiên, giới thiệu về TCVN 13175: 2020. Trong phần thứ hai; một bảng được sử dụng so sánh giữa ba cơ chế ký-mã đầu tiên: DLSC, ECDLSC và IFSC. Các yêu cầu chung của cả bốn cơ chế ký-mã sẽ được thảo luận trong phần thứ ba. Việc sử dụng từng cơ chế đòi hỏi phải lựa chọn một số tham số nhất định và các khuyến nghị về kích thước/độ dài của các tham số này được cung cấp trong phần thứ tư.

2. Lựa chọn cơ chế

       Cả bốn cơ chế mã hóa được quy định trong Tiêu chuẩn TCVN 13175: 2020 nêu trên đều có an toàn chứng minh được theo các giả định tương ứng (Phụ lục B- TCVN 13175: 2020). Tuy nhiên, một số cơ chế sẽ phù hợp hơn các cơ chế khác trong từng ứng dụng cụ thể. Khi lựa chọn một cơ chế để sử dụng, người dùng nên xem xét một số thông tin sau:

Bảng 1 - Các thuộc tính của cơ chế ký - mã

Cơ chế

DLSC

ECDLSC

IFSC

Tính toán bị chi phối bởi người gửi

1 phép lũy thừa

1 tích vô hướng

2 phép lũy thừa

(1 với số mũ công khai;

1 với số mũ riêng)

Tính toán bị chi phối bởi người nhận

1 tích của 2 phép lũy thừa

(1.17 phép lũy thừa)

1 số hạng của 2 tích vô hướng

(1.17 tích vô hướng)

2 số mũ

(1 với số mũ công khai;

1 với số mũ riêng)

Tốc độ ký-mã/ giải ký-mã (1: nhanh nhất, 3: chậm nhất)

2

1

3

Độ mở rộng của thông điệp, độ dài của bản mã (tính theo bit)

2lq,

M+2lq

2lq,

M+2lq

lr+lH+1,

lM+lr+lH+1=l+1

Có thể áp dụng cho cả thông điệp ngắn và dài

Chỉ áp dụng cho thông điệp ngắn

Chống thoái thác

Tương tác hoặc tin tưởng bên thứ 3

Tương tác hoặc tin tưởng bên thứ 3

Không tương tác

Yêu cầu khóa công khai hệ thống

Không

Yêu cầu giấy phép

 

- Một thuật toán của E.G.Strauss  mà tính toán gahb tích của hai phép lũy thừa, nhanh hơn phép bình phương rồi nhân liên tiếp đơn giản (straightforward exponentiation-then-multiplication). Thuật toán có thể được áp dụng để tính toán aX+ bY tổng của hai tích vô hướng trên đường cong elliptic, nhanh hơn phương pháp nhân rồi tính cộng vô hướng đơn giản(straightforward scalar multiplication-then-addition method).

- Khi độ dài của các mô đun bằng nhau, thời gian tính toán cho phép lũy thừa hoặc tích vô hướng được xác định chủ yếu bởi độ dài của số mũ. Các số mũ của DLSC và ECDLSC có độ dài lq bit. Đối với IFSC, một số nguyên tố nhỏ như 5, 17 hoặc  216+1=65537 có thể được chọn là số mũ công khai e, mặc dù số mũ riêng d tương ứng cần phải đủ lớn (chiều dài l bit). Khi các số mũ công khai nhỏ như vậy được chọn, việc so sánh thời gian tính toán giữa IFSC, DLSC và ECDLSC có thể được thực hiện bằng cách tập trung vào độ dài của số mũ/khóa riêng. 

- Quyết định việc chống thoái thác được coi là tương tác nếu tranh cãi về việc thoái thác không được giải quyết bởi một thẩm phán được tin cậy hoàn toàn bởi người gửi và người nhận, không kích hoạt giao thức tương tác hoặc giao thứ tương tác và kích hoạt giao thức chứng minh không tiết lộ thông tin (zero-knowledge proofs protocol) giữa người thẩm phán và người nhận.

3. Những yêu cầu cơ bản

Ba yêu cầu cơ bản sau được áp dung cho cả bốn cơ chế ký mã:

- Sử dụng cơ sở hạ tầng khóa công khai để quản lý người dùng khóa công khai; (Cơ sở hạ tầng khóa công khai được định nghĩa trong TCVN 7817-1:2007 (ISO/IEC 11770-1 : 1996) ISO/IEC 9594);

- Lựa chọn hàm băm mật mã tiêu chuẩn, được sử dụng trực tiếp trong cơ chế ký-mã dựa trên bài toán phân tích ra thừa số số nguyên và được sử dụng gián tiếp trong hai cơ chế ký-mã khác để xây dựng hàm băm mật mã miền đầy đủ. (Nên sử dụng các hàm băm mật mã tiêu chuẩn được định nghĩa trong TCVN 11816-2:2017 (ISO/IEC 10118-2:2010) TCVN 11816-3:2017 (ISO/IEC 10118-3:2004 with amendment 1:2006)

- Tất cả các cơ chế mã hóa yêu cầu sử dụng hàm dẫn xuất khóa. Khuyến nghị sử dụng KDF1KDF2 trong TCVN 11367-2:2016 (ISO/IEC 18033-2:2006).

4. Lựa chọn kích thước tham số cho các cơ chế ký mã

4.1. Lựa chọn kích thước của tham số cho DLSC

Kích thước của các tham số sau sẽ được cân nhắc:

lq - Độ dài tính theo bit của số nguyên tố p, tức là lp=Lb(q)= [log2(p+1)].

lq - Độ dài tính theo bit của số nguyên tố q, tức là lq=Lb(q)= [log2(q+1)].

Bảng 2 - Kích thước tham số cho DLSC [2]

Mức an toàn (tính theo bit)

80

112

128

192

256

lp

1024

2048

3072

7680

15360

lq

160

224

256

384

512

4.2 Lựa chọn kích thước của tham số cho ECDLSC

 Đối với cơ chế ECDLSC, nên chọn hoặc là một trường nguyên tố GF(p) trong đó p là số nguyên tố, hoặc là một trường nhị phân GF(2m).trong đó m là một số nguyên dương làm trường hữu hạn cơ sở cho một đường cong elliptic. 

- Nếu sử dụng một trường nguyên tố GF(p) thì kích thước của những tham số sau sẽ được căn nhắc:

lq - Độ dài tính theo bit của số nguyên tố p khi trường hữu hạn cơ sở là một trường nguyên tố GF(p) tức là lp=Lb(q)= [log2(p+1)].

lq - Độ dài tính theo bit của số nguyên tố q, tức là lq=Lb(q)= [log2(q+1)].

Bảng  3 - Kích thước tham số của ECDLSC trên một trường nguyên tố GF(p)

Mức an toàn
(tính theo bit)

80

112

128

192

256

m

163

233

283

409

571

lq

160

224

256

384

512

- Trong trường hợp sử dụng một trường nhị phân GF(2m) thì kích thước của những tham số sau sẽ được căn nhắc:

mMột số nguyên dương biểu thị kích thước của trường nhị phân cơ sở GF(2m). 

lq - Độ dài tính theo bit của số nguyên tố q, tức là lq=Lb(q)= [log2(q+1)].

4.3. Lựa chọn kích thước của tham số cho IFSC

Kích thước của các tham số sau sẽ được cân nhắc:

l - Độ dài tính theo bit của mô-đun RSA. 

lr - Độ dài tính theo bit của một số ngẫu nhiên r được tạo ra ở bước đầu tiên của thuật toán ký-mã. 

lH - Độ dài tính theo bít của đầu ra hàm băm mật mã tiêu chuẩn

Bảng 5 - Kích thước tham số của IFSC

Mức an toàn
(tính theo bit)

80

112

128

192

256

l

1024

2048

3072

7680

15360

lr

80

112

128

192

256

lH

160

224

256

384

512

Trong đó: 1=lM+lr+l, với lM là độ dài tính theo bit của bản rõ.

Tham số l trong bảng 5 được chọn giống với tham số lp  trong bảng 2, dựa trên giả định rằng bài toán phân tích ra thừa số và bài toán Logarit rời rạc có độ khó giống nhau.

4.4. Lựa chọn kích thước của tham số cho EtS.

Trong cơ chế EtS, tính an toàn dựa trên tính an toàn của lược đồ mật mã khóa công khai cơ sở và lược đồ chữ ký số cơ sở. Nghĩa là EtS được bảo đảm an toàn nếu nó được khởi tạo với lược đồ mật mã khóa công khai an toàn và lược đồ chữ ký số an toàn. Kích thước tham số nên được chọn cho các cặp khóa mã hóa và chữ ký theo cách mà bảo đảm an toàn cho các lược đồ này. Người sử dụng có thể tham khảo khuyến nghị dưới đây (hình 1) của NIST trong việc lựa chọn kích thước tham số cho các lược đồ cơ bản khi chọn kích thước tham số cho lược đồ ký-mã EsT.

Hình 1: NIST Recommendations (2020) - https://www.keylength.com/en/4/

Kết luận

Bài viết đưa ra những tiêu chí để lựa chọn sử dụng bốn cơ chế ký mã được quy định trong TCVN 13175 : 2020; cũng như những yêu cầu chung, yêu cầu về lựa chọn kích thước các tham số để đảm bảo an toàn trong mỗi cơ chế. Đây là những hướng dẫn giúp người dùng lựa chọn và sử dụng các cơ chế ký mã một cách hiệu quả, phù hợp với yêu cầu đặt ra và đảm bảo tính an toàn, bí mật khi sử dụng.

TS. Hồ Văn Hương, Cục QLMMDS & KĐSPMM

Đường dây nóng
Phòng QLMMDS: 024 3775 6896
Trung tâm ĐGSPH: 024 3232 3313
Cục trưởng: 0903 234 845
P.Cục trưởng phụ trách: 0913 592 170