QCVN
6 : 2016/BQP
QUY CHUẨN KỸ THUẬT QUỐC GIA VỀ QUẢN LÝ KHÓA SỬ DỤNG TRONG LĨNH VỰC
NGÂN HÀNG
National
technical regulation on key management used in banking
MỤC LỤC
Lời nói đầu
1. QUY ĐỊNH CHUNG
1.1. Phạm vi điều chỉnh
1.2. Đối tượng áp dụng
1.3. Tài liệu viện dẫn
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1.5. Các ký hiệu
2. QUY ĐỊNH KỸ THUẬT
2.1. Các yêu cầu đối với giao thức thỏa
thuận và vận chuyển khóa
2.2. Giao thức thỏa thuận khóa sử dụng kỹ
thuật mật mã phi đối xứng trên trường hữu hạn
2.3. Giao thức thỏa thuận khóa sử dụng mật
mã trên đường cong elliptic
2.3.1. Giao thức DH
2.3.2. Thỏa thuận khóa MQV
2.4. Hàm dẫn xuất khóa KDF
2.4.1. Hàm dẫn khóa 1
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
2.5. Giao thức vận chuyển khóa bí mật
2.6. Giao thức vận chuyển khóa công khai
2.6.1. Giao thức vận chuyển khóa công khai
không sử dụng bên thứ ba tin cậy
2.6.2. Giao thức vận chuyển khóa công khai
sử dụng bên thứ ba tin cậy
2.7. Quy định kỹ thuật cho các tham số
2.7.1. Quy định về nguồn ngẫu nhiên
2.7.2. Quy định đối với tham số RSA
2.7.3. Hệ mật dựa trên Logarit rời rạc DL
2.7.4. Hệ mật ECC
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
3. QUY ĐỊNH VỀ QUẢN LÝ
4. TRÁCH NHIỆM CỦA TỔ CHỨC, CÁ
NHÂN
5. TỔ CHỨC THỰC HIỆN
Lời nói đầu
QCVN 6 : 2016/BQP do Cục Quản lý mật
mã dân sự và Kiểm định sản phẩm mật mã - Ban Cơ yếu Chính phủ biên soạn, Ban Cơ
yếu Chính phủ trình duyệt, Bộ Khoa học và Công nghệ thẩm định và được ban hành
theo Thông tư số 161/2016/TT-BQP ngày 21 tháng 10 năm 2016 của Bộ trưởng Bộ
Quốc phòng.
QUY CHUẨN KỸ
THUẬT QUỐC GIA VỀ QUẢN LÝ KHÓA SỬ DỤNG TRONG LĨNH VỰC NGÂN HÀNG
National
technical regulation on key management used in banking
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1.1. Phạm vi điều chỉnh
Quy chuẩn kỹ thuật quốc gia này quy
định các yêu cầu về quản lý khóa mật mã sử dụng kỹ thuật mật mã phi đối xứng để
bảo mật dữ liệu trong lĩnh vực ngân hàng bao gồm: Sinh khóa bí mật dùng để liên
lạc giữa hai thực thể bằng cơ chế thỏa thuận khóa và dẫn xuất khóa, sử dụng kỹ
thuật mật mã phi đối xứng; sinh khóa bí mật cho một thực thể bởi thực thể khác
bằng cơ chế truyền khóa sử dụng mật mã phi đối xứng; vận chuyển khóa công khai
của một thực thể đến một thực thể khác bằng đường truyền có bảo vệ; quy định về
quản lý sử dụng khóa mật mã an toàn.
Quy định về tạo khóa, đăng ký khóa,
thu hồi, cài đặt, khôi phục và các vấn đề thuộc quản lý khóa khác không thuộc
phạm vi điều chỉnh
của quy chuẩn này.
1.2. Đối tượng áp dụng
Quy chuẩn này áp dụng đối với các
doanh nghiệp kinh doanh sản phẩm, dịch vụ mật mã dân sự trong lĩnh vực ngân
hàng; các tổ chức tín dụng (trừ quỹ tín dụng nhân dân cơ sở có tài sản dưới 10
tỷ, tổ chức tài chính vi mô) sử dụng sản phẩm, dịch vụ mật mã dân sự.
1.3. Tài liệu viện dẫn
- TCVN 7817-3:2007 (ISO/IEC 11770-3:1999) Công
nghệ thông tin - Kỹ thuật mật mã - Quản lý khóa - Phần 3: Các cơ chế sử dụng kỹ
thuật phi đối xứng.
- ISO/IEC 11770-3:2015 Information
technology - Security techniques - Key management - Part 3: Mechanisms
using asymmetric techniques.
- Recommendation for Pair-Wise Key
Establishment Schemes Using Discrete Logarithm Cryptography, SP 800-56A
Revision 2, National Institute of Standards and Technology, May 2013.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1.4. Giải thích từ ngữ
Trong Quy chuẩn này, các từ ngữ dưới
đây được hiểu như sau:
1.4.1. Thông tin không thuộc phạm vi
bí mật nhà nước
Là thông tin không thuộc nội dung tin
“tuyệt mật”, “tối mật” và “mật” được quy định tại Pháp lệnh Bảo vệ bí mật nhà
nước ngày 28 tháng 12 năm 2000.
1.4.2. Mật mã
Là những quy tắc, quy ước riêng
dùng để thay đổi hình thức biểu hiện thông tin nhằm bảo đảm bí mật, xác thực,
toàn vẹn của nội dung thông tin.
1.4.3. Mật mã dân sự
Là kỹ thuật mật mã và sản phẩm mật mã
được sử dụng để bảo mật hoặc xác thực đối với thông tin không thuộc phạm vi bí
mật nhà nước.
1.4.4. Sản phẩm mật mã dân sự
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1.4.5. Kỹ thuật mật mã
Là phương pháp, phương tiện có ứng
dụng mật mã để bảo vệ thông tin.
1.4.6. Mã hóa
Phép biến đổi (khả
nghịch) dữ liệu bởi thuật toán mật mã để tạo ra bản mã, tức là giấu nội dung
thông tin của dữ liệu.
1.4.7. Giải mã
Phép toán ngược với phép mã hóa tương
ứng.
1.4.8. Mã phi đối xứng
Hệ thống dựa trên kỹ thuật mật mã phi
đối xứng, trong đó phép biến đổi công khai được sử dụng để mã hóa, phép biến đổi bí mật được
sử dụng để giải mã.
1.4.9. Kỹ thuật mật mã phi đối xứng
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1.4.10. Thẻ khóa
Thông điệp quản lý khóa được gửi từ một
thực thể tới một thực thể khác trong quá trình thực hiện một cơ chế quản lý
khóa.
1.4.11. Vận chuyển khóa
Tiến trình truyền một khóa từ một thực
thể đến một thực thể khác với bảo vệ thích hợp.
1.4.12. Xác thực thực thể lẫn nhau
Sự xác thực giữa hai thực thể đảm bảo
về định danh của mỗi thực thể.
1.4.13. Xác thực khóa từ thực thể A
đến thực thể B
Đảm bảo cho B rằng chỉ có A là
thực thể sở hữu khóa đúng.
1.4.14. Xác thực khóa hai chiều
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
1.4.15. Xác nhận khóa từ A đến B
Đảm bảo cho thực thể B là thực
thể A sở hữu khóa đúng.
1.4.16. Xác nhận khóa hai chiều
Đảm bảo xác nhận khóa từ A đến B
và từ B đến A.
1.4.17. Thiết lập khóa
Quá trình đảm bảo sự khả dụng một khóa
bí mật dùng chung cho một hoặc nhiều thực thể. Thiết lập khóa bao gồm thỏa
thuận khóa và vận chuyển khóa.
1.4.18. Thoả thuận khóa
Tiến trình kiến tạo một khóa bí mật
dùng chung giữa hai thực thể theo cách mà không có bên nào có thể định trước
giá trị cho khóa
1.5. Các ký hiệu
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Định danh của các thực thể A và
B
Certx
Chứng chỉ khóa công khai của thực
thể X
F(h,g)
Hàm thỏa thuận khóa
HASH
Hàm băm
DH
Diffie-Hellman
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Menezes-Qu-vanstone
K
Khóa bí mật cho hệ mật đối xứng
KAB
Khóa bí mật chia sẻ giữa hai thực
thể A và B
KTAi
Thông báo thỏa thuận khóa được gửi
bởi thực thể A sau giai đoạn xử lý i
r
Số ngẫu nhiên được sinh trong quá
trình thực hiện của một lược đồ.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Tập các phần tử có thể của r
Sx
Hàm tạo chữ ký sử dụng khóa riêng
của thực thể X
Vx
Hàm kiểm tra chữ ký của thực thể X
||
Phép nối hai phần tử dữ liệu với
nhau
éxù
Số nguyên nhỏ nhất lớn hơn hoặc bằng số
thực x
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Độ dài số nguyên x tính bằng
bit
nlen
Độ dài modulo n tính theo bit
(n, e)
Khóa công khai theo RSA
(n, d)
Khóa riêng theo RSA
L
Độ dài số nguyên tố p trong bài
toán logarit rời rạc
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Độ dài số nguyên tố q trong
bài toán logarit rời rạc
q
Ước nguyên tố của p - 1
#(E)
Cấp hay lực lượng của đường cong
elliptic E
m
Bậc của điểm sinh G
X(P)
Hoành độ x của điểm P trên
đường cong elliptic E
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Các đồng thừa số được tính theo công
thức h = #E/m
l
Thừa số phụ trong phép nhân đồng
thừa số l = h-1mod m
p(P)
Phép biến đổi điểm P trên
đường cong E thành số nguyên 
2. QUY
ĐỊNH KỸ THUẬT
2.1. Các
yêu cầu đối với giao thức thỏa thuận và vận chuyển khóa
Điều này quy định các giao thức thiết
lập khóa bí mật dùng để mã dữ liệu được trao đổi giữa hai thực thể A và
B, vận chuyển khóa bí mật từ thực thể A sang thực thể B, vận
chuyển khóa công khai của thực thể A sang thực thể B.
Để thực hiện giao thức, mỗi thực thể X
đảm bảo các điều kiện sau:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- Sử dụng một cặp khóa công khai để mã hóa (EX,DX)
được quy định tại Điều 2.7 của Quy chuẩn này.
- Sử dụng chung với thực thể thứ hai hàm thỏa
thuận khóa F là một trong hai hàm được xác định tại Điều 2.2.2, một hàm
dẫn xuất khóa KDF được quy định tại Điều 2.4 của Quy chuẩn này và một
hàm kiểm tra mật mã
dưới
dạng hàm băm được quy định tại Điều 2.2 của QCVN 5 : 2016/BQP Quy chuẩn kỹ
thuật quốc gia về Chữ ký số sử dụng trong lĩnh vực ngân hàng.
- Mỗi thực thể được tiếp cận các khóa công
khai của thực thể kia theo cơ chế vận chuyển khóa công khai tại Điều 2.6.
2.2. Giao
thức thỏa thuận khóa sử dụng kỹ thuật mật mã phi đối xứng trên trường hữu hạn
Thỏa thuận khóa bí mật giữa hai thực
thể A và B được thực hiện qua 5 bước:
Bước 1-4. Hai bên thỏa thuận bí mật chia
sẻ KAB.
Bước 5. Hai bên sử dụng hàm dẫn xuất
khóa KDF được quy định tại Điều 2.4 để thiết lập khóa bí mật chung K.
Lược đồ thỏa thuận khóa bí mật chia sẻ
KAB được thể hiện trên Hình 1.
2.2.1. Giao thức
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
KTA1 = F(rA,g)
|| Text1
Bước 2. Xử lý thẻ khóa và Kiến thiết
khóa (B1):
Thực thể B sinh một giá trị ngẫu nhiên và bí mật rB thuộc
H, tiếp đó tính F(rB,
g), rồi tính khóa bí mật dùng chung:
KAB
= F(rB,F(rA,g))
Tiếp theo, thực thể B tạo thẻ
khóa KTB1 được ký như sau:
KTB1
= SB(DB1) ||
(DB1) ||
Text3
trong đó
DB1
= F(rB,g) || F(rA,g) || IDA
|| Text2
và gửi ngược trở lại cho thực thể A.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Hình 1: Giao
thức thỏa thuận khóa bí mật chia sẻ KAB
Bước 3. Xử lý thẻ khóa (A2): Thực thể A
kiểm tra chữ ký của thực thể B trên thẻ khóa KTB1 bằng
cách sử dụng khóa kiểm tra công khai của B, kiểm tra định danh phân biệt
của A và giá trị F(rA,g) đã được gửi ở Bước 1 (A1).
Nếu quá trình kiểm tra thành công thì thực thể A sẽ tính khóa bí mật
dùng chung là:
KAB = F(rA,F(rB,g))
Thực thể A lại sử dụng khóa bí
mật dùng chung KAB để kiểm tra giá trị kiểm tra mật mã
(DB1).
Sau đó thực thể A tạo thẻ khóa KTA2 được ký như sau:
KTA2
= SA(DB2)
||
(DB2) || Text5
trong đó
DB2 =
F(rA,g) || F(rB,g) || IDB
|| Text4
và gửi thẻ này tới thực thể B.
Bước 4. Xử lý thẻ khóa (B2): Thực thể B
kiểm tra chữ ký của thực thể A trên thẻ khóa KTA2 sử
dụng khóa kiểm tra công khai của A, sau đó kiểm tra định danh phân biệt
của B và kiểm tra các giá trị F(rA,g), và F(rB,g),
xem có phù hợp với các giá trị được trao đổi ở các bước trước hay không. Nếu
quá trình kiểm tra thành công thì thực thể B sẽ kiểm tra giá trị kiểm
tra mật mã
(DB2)
bằng cách tính:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Bước 5. Thực thể A và thực thể B
tính khóa bí mật chung K
Các thực thể A và B sử
dụng hàm dẫn xuất khóa tại Điều 2.4 để tính khóa
K = KDF(KAB, Otherlnput)
Trong đó OtherInput chứa các
định danh IDA, IDB của A,B
và các thông tin khác do A và B thỏa thuận.
CHÚ THÍCH: Các trường Text1, Text2,
Text3, Text4, Text5 là những
trường dữ liệu chứa chứng thư số của A và B, và có thể một số thông
tin khác như tem thời gian, định danh phiên liên lạc, v.v..)
2.2.2. Hàm thỏa thuận khóa
2.2.2.1. Hàm thỏa thuận khóa DH
Cho trường hữu hạn nguyên tố Fp,
ký hiệu tập H = {1, ...,p - 2}; g là phần tử sinh thuộc
hàm thỏa thuận khóa Diffie-Hellman (DH) được xác định theo công thức:
F(h,g) = gh,h
Î H
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66

2.2.2.2. Hàm thỏa thuận khóa
MQV
- (a,A); (b, B) là cặp khóa
phi đối xứng tĩnh của A và B, A = ga, B = gb
- (x,X),(y,Y) là cặp khóa
phi đối xứng tức thời của A và B, X = gx,Y = gy,
d = 2l + (X mod
2l), e = 2l + (Y mod 2l),
l = |p|/2, l độ dài p tính bằng
bit, F(x, g) = (YBe)x+da = (XAd)y+eb
2.3. Giao
thức thỏa thuận khóa sử dụng mật mã trên đường cong elliptic
2.3.1. Giao thức DH
Bước 1. Kiến thiết thẻ khóa (A1)
Thực thể A chọn ngẫu nhiên và
bí mật số rA thuộc khoảng {2,…, m - 2}, tính
rAG, kiến thiết thẻ khóa KTA1 =rAG
và gửi cho B.
Bước 2. Xử lí thẻ khóa và kiến thiết
thẻ khóa (B1)
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
KTB1 = SB(DB1)
||
(DB1) với DB1
= rBG ||
KTA1 || IDA || Text1
và gửi cho A.
Bước 3. Xử lí thẻ khóa (A2)
Thực thể A kiểm tra chữ ký của B
trên thẻ khóa KTB1 sử dụng khóa kiểm tra công khai của B.
Nếu sử dụng lược đồ chữ ký có khôi phục bản rõ thì việc kiểm tra bao
gồm cả việc khôi phục khối dữ liệu DB1 từ chữ ký và
kiểm tra liệu định danh phân biệt của A và giá trị rAG
có chứa trong DB1 không. Nếu sử dụng chữ ký có đính kèm bản rõ
thì việc kiểm tra bao gồm cả việc thiết kế lại khối dữ liệu DB1 sử dụng giá
trị trong KTA1, định danh phân biệt của A, giá trị
nhận được rBG và kiểm tra chữ ký trên khối dữ liệu này.
Tiếp đó thực thể A kiểm tra,
liệu giá trị rBG nhận được từ KTB1 có phải
là điểm trên đường cong elliptic hay không (kiểm tra theo tiêu chuẩn ISO/IEC
15946-1). Nếu đúng thì A tính khóa chia sẻ KAB = (rA.l)(h.rBG).
Sử dụng KAB, thực thể
A kiểm tra
(DB1). Tiếp đó A
thiết kế thẻ khóa có ký hiệu KTA2 = SA(DB2)
||
(DB2) ở
đây DB2 = rAG || rBG || B || Text2 (DB2
= rAG || rBG
|| IDB
|| Text2) và gửi cho
B.
Bước 4. Xử lí thẻ khóa (B2)
Thực thể B kiểm tra chữ ký của A
trên thẻ khóa KTA2 bằng cách sử dụng khóa kiểm tra công khai
của A. Nếu sử dụng sơ đồ chữ ký có khôi phục bản rõ thì điều này bao gồm
cả việc khôi phục khối dữ liệu DB2 từ chữ ký và kiểm tra định
danh phân biệt của B, các giá trị rAG và rBG
có chứa trong khối này không. Nếu sử dụng chữ ký có đính kèm bản rõ thì việc
kiểm tra bao gồm cả việc thiết kế lại khối dữ liệu DB2 sử
dụng các giá trị trong KTA1 và KTB1, định
danh phân biệt của B và kiểm tra chữ ký trên khối dữ liệu này.
Nếu việc kiểm tra thành công thì thực
thể B kiểm tra
(DB2)
sử dụng khóa chia sẻ KAB = (rBl)(hKTA1).
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Thực thể A và B sử dụng
hàm dẫn xuất khóa KDF tại Điều 2.4 để thiết lập khóa bí mật.
K = KDF(KAB,OtherInput).
2.3.2. Thỏa thuận khóa MQV
Bước 1. Thiết kế thẻ khóa (A1)
Thực thể A chọn ngẫu nhiên và
bí mật số rA thuộc khoảng {2,…,m - 2} tính rAG
và kiến thiết thẻ khóa KTA1 = rAG và gửi
cho thực thể B.
Bước 2. Kiến thiết thẻ khóa (B1)
Thực thể B kiểm tra thẻ KTA1
có phải là điểm trên đường cong elliptic (kiểm tra theo tiêu chuẩn ISO/IEC
15946-1:2016). Thực thể B chọn ngẫu nhiên và bí mật số rB
thuộc khoảng {2,...,m -
2},
tính rBG, thiết kế thẻ khóa KTB1 = rBG,
tiếp đó tính khóa bí mật chia sẻ KAB:
KAB
= ((rB + n(KTB1)dB).l)(h.(KTA1
+ p(KTA1)PA))
Tiếp đó B tính K =
KDF(KAB) và gửi
(2,KTA1,KTB1) gửi MACK(2,KTA1,KTB1)
cho A cùng với thẻ khóa KTB1.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Thực thể A tính khóa bí mật
chia sẻ :
KAB = ((rA
+ p(KTA1)dA).l)(h.(KTB1
+ p(KTB1)PB))
và kiểm tra MACK(2,KTA1,KTB1)
Tiếp đó A tính MACK(3,KTA1,KTB1) và gửi cho B.
Bước 4. Kiểm tra (B2)
Thực thể B tính MACK(3,KTA1,KTB1)
và kiểm tra thực thể A.
2.4. Hàm
dẫn xuất khóa KDF
2.4.1 Hàm dẫn khóa 1
Dạng thức của KDF
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Các giá trị cố định:
hashlen: số nguyên chỉ độ
dài đầu ra (theo bit) của hàm băm được sử dụng để dẫn xuất ra các khối của dữ
liệu khóa bí mật.
max_hash_inputlen: số nguyên
có giá trị là độ dài lớn nhất (theo bit) của (các) chuỗi bit đầu vào của hàm
băm.
Các hàm bổ trợ:
H: là hàm băm được chấp
thuận là hàm băm được quy định tại QCVN 5 : 2016/BQP Quy chuẩn kỹ thuật quốc
gia về Chữ ký số sử dụng trong lĩnh vực ngân hàng.
Đầu vào:
Z: Chuỗi byte bí mật
chia sẻ trước.
keydatalen: số nguyên chỉ độ
dài (theo bit) của dữ liệu khóa bí mật được sinh ra; keydatalen cần nhỏ
hơn hoặc bằng Hashlen x (232 - 1)
OtherInfo: Chuỗi bit sau:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
trong đó các trường con được định
nghĩa như sau:
- AlgorithmID: Chuỗi bit chỉ ra
cách thức phân tách dữ liệu khóa đã được dẫn xuất ra và dữ liệu khóa được dẫn
xuất sẽ được sử dụng cho những thuật toán nào. Ví dụ, AlgorithID có thể chỉ
ra rằng các bit 1-80 được dùng là 80-bit khóa cho HMAC và các bit 81-208
được dùng là 128-bit khóa cho AES.
- PartyAInfo: Một chuỗi bit chứa
các thông tin công khai được yêu cầu bởi ứng dụng sử dụng hàm KDF được đóng góp
bởi bên A trong quá trình dẫn xuất khóa, ở mức tối thiểu, PartyAInfo chứa IDA là định danh
bên A. Xem chú ý phần dưới.
- PartyBInfo: Một chuỗi
bit chứa các thông tin công khai được yêu cầu bởi ứng dụng sử dụng hàm KDF được
đóng góp bởi bên B trong quá trình dẫn xuất khóa, ở mức tối thiểu, PartyVInfo
chứa IDB là định danh
bên B. Xem chú ý phần dưới.
- (Tùy chọn) SuppPubInfo: Một chuỗi bit
chứa các thông tin công khai bổ sung cả hai bên cùng biết (mutual-known)
- (Tùy chọn) SuppPrivInfo: Một chuỗi
bit chứa thông tin bí mật bổ sung cả hai bên cùng biết (mutual-known)
(Ví dụ, một khóa bí mật đối xứng chia
sẻ trước được truyền thông qua một kênh riêng biệt)
Thuật toán:
1. Tính reps = ékeydatalen/hashlenù.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
3. Khởi tạo bộ đếm chuỗi bit 32-bit big-endian counter
bằng 0000000116.
4. Nếu counter||Z||OtherInfo có độ dài
lớn hơn max_hash_inputlen thì chỉ thị lỗi
và dừng lại.
5. Vòng lặp với i = 1 đến reps,
thực hiện :
5.1. Tính Hashi = H(counter||Z||OtherInfo ).
5.2. Tăng counter lên 1 (modulo
232), xử lý nó dưới dạng số nguyên không âm 32-bit.
6. Lấy Hash là Hashreps
nếu (keydatalen/hashlen) là số nguyên, ngược lại lấy số lượng (keydatalen
mod hashlen) bit bên trái của đoạn dữ liệu Hashreps.
7. Lấy DerivedKeyingMaterial = Hash1|| Hash2||....||Hashreps-1||Hhash
Đầu ra:
Chuỗi bit DerivedKeyingMaterial
có độ dài keydatalen bit (hoặc thông báo lỗi). Thuật toán KDF tạo ra dữ
liệu khóa có độ dài lớn nhất là hashlen x (232
- 1). Bất kỳ lời gọi hàm KDF nào trong trường hợp sử dụng giá trị keydatalen
lớn hơn hashlen x (232
- 1) sẽ dẫn tới chỉ thị lỗi và dừng mà không cho ra DerivedKeyingMaterial.
Bất kỳ lời gọi hàm KDF nào dùng để băm một chuỗi bit có độ dài lớn hơn max_hash_inputlen
cũng sẽ dẫn tới thông báo lỗi và dừng mà không xuất ra DerivedKeyingMaterial.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
a) IDA và IDB sẽ được biểu
diễn trong OtherInfo là hai đơn vị thông tin riêng rẽ.
b) Bên A sẽ là bên khởi tạo và bên B
có thể là bên trả lời của giao thức sử dụng lược đồ thỏa thuận khóa được dùng
để xác định khóa bí mật chia sẻ trước Z.
2.4.2. Hàm dẫn xuất khóa 2
Ký hiệu hashlen chỉ độ dài đầu
ra của hàm hash được chọn và maxhashlen là độ dài đầu vào cực đại của
hàm hash.
Đầu vào
Đầu vào của hàm dẫn xuất khóa là
- Z Xâu bit là bí mật
chia sẻ.
CHÚ THÍCH: Giao thức thỏa thuận khóa
sử dụng mật mã trên đường cong elliptic dẫn xuất ra khóa bí mật chia sẻ KAB
hoặc dưới dạng một điểm trên đường cong elliptic hoặc dưới dạng ghép hai điểm.
Trong trường hợp thứ nhất, để có được khóa mật chia sẻ Z làm đầu vào
cho hàm dẫn xuất khóa thì phải áp dụng hàm p để chuyển điểm trên đường cong elliptic thành số nguyên
và từ đó chuyển sang xâu bit. Trong trường hợp thứ hai áp dụng hàm p cho cả hai điểm để
được hai số nguyên z1,z2; hai số nguyên
này sau đó được biến đổi thành các xâu bít và được ghép lại với nhau.
- Keydatalen số nguyên biểu thị
độ dài tính bằng bit của dữ liệu khóa được tạo ra, nhỏ hơn đại lượng hashlen
x (232
- 1)
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Thuật toán
Hàm dẫn xuất khóa được tính như sau:
1. Khởi động bộ đếm 32-bit 00000001 (Hệ thập
lục)
2. Vòng lặp với i = 1 đến j = [keydatalen/hashlen]
thực hiện:
- Tính Hashi = H(Z || counter || Sharedlnfo)
3. Tăng giá trị bộ đếm
4. Tăng i
5. Giả sử HHashj biểu thị HHashj
khi Keydatalen/hashlen là số nguyên
và biểu thị (Keydatalen(hashlen x (j - 1))) bit
bên trái nhất của Hashi trong trường hợp
ngược lại
6. Đặt Keydata = Hash1 || Hash2 || … || Hashj-1 || HHashj
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Là dữ liệu khóa ở dạng xâu bit có độ
dài bằng keydatalen.
CHÚ THÍCH: Lưu ý là hàm dẫn xuất khóa
tạo ra dữ liệu khóa có độ dài nhỏ hơn hashlen x (232
- 1) bit. Bất kì lược đồ nào gọi hàm dẫn xuất khóa cho xâu bít lớn hơn hoặc
bằng hashlen x (232
- 1) bit sẽ cho ra thông báo “lỗi” và dừng lại. Tương tự, tất cả hàm dẫn xuất
khóa được gọi ra không băm các xâu bít có độ dài lớn hơn maxhashlen. Bất
kì lược đồ nào gọi hàm dẫn xuất khóa băm các xâu bít có độ dài lớn hơn maxhashlen
đều cho ra thông báo “lỗi” và dừng lại.
2.5. Giao
thức vận chuyển khóa bí mật
Điều này trình bày giao thức vận
chuyển khóa bí mật, một khóa được truyền từ thực thể A sang thực thể B
và một khóa được truyền từ thực thể B sang thực thể A.
Bước 1. Kiến thiết thẻ khóa (A1): Thực thể A
tạo ra một thẻ khóa KTA1 bao gồm một số ngẫu nhiên rA
và một trường dữ liệu tùy chọn Text1 rồi gửi nó cho thực
thể B:
KTA1 = rA
|| Text1
Bước 2. Mã khóa khối khóa (B1.1): Thực thể B
có một khóa KB và muốn gửi một cách an toàn cho thực thể A.
Trước hết B tạo ra khối dữ liệu khóa bao gồm định danh riêng biệt của
bên gửi B, khóa KB và trường dữ liệu
tùy chọn Text2. Thực thể B mã hóa khối dữ liệu khóa này bằng phép
mã công khai EA của A, thu được khối mã:
BE1 = EA(IDB || KB || Text2)
Bước 3. Kiến thiết thẻ khóa (B1.2): Thực thể
B tạo ra một khối thẻ khóa bao gồm định danh riêng biệt của bên nhận A,
một số ngẫu nhiên rA nhận được ở bước 1, một số ngẫu nhiên
mới rB (tùy chọn)
do B tạo ra, khối đã mã BE1 và một trường dữ liệu tùy
chọn Text3. Tiếp đó, B
tiến hành ký khối dữ liệu thẻ bằng phép ký bí mật của mình và gửi kết quả cho A:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Bước 4. Kiểm tra thẻ khóa (A2.1): Thực thể A
sử dụng phép kiểm tra công khai của bên gửi VB để kiểm
tra chữ ký số của thẻ khóa nhận được KTB1. Tiếp đó A
kiểm tra định danh riêng biệt A và kiểm tra giá trị nhận được rA
xem có khớp với số ngẫu nhiên nhận được ở Bước 1 (A1) hay không.
Bước 5. Giải mã khối khóa (A2.2): Thực thể
A tiến hành giải mã khối BE1 bằng phép giải mã bí mật DA của mình.
Tiếp đó, A kiểm tra định danh riêng biệt của bên gửi B. Nếu tất
cả lần kiểm tra đều thành công thì A chấp nhận khóa KB.
Bước 6. Mã khóa khối khóa (A2.3): Thực thể A
có một khóa KA muốn gửi cho B một
cách an toàn. Trước hết, A tạo ra khối dữ liệu khóa bao gồm định danh
riêng biệt của bên gửi A, khóa KA và trường dữ
liệu tùy chọn Text5. Tiếp đến, A mã hóa khối dữ liệu khóa
này bằng phép mã công khai EB của B để được
khối mã:
BE2 = EB(IDA
|| KA || Text5)
Bước 7. Kiến thiết thẻ khóa (A2.4): Thực thể
A tạo ra một khối thẻ khóa bao gồm định danh riêng biệt của bên nhận B,
một số ngẫu nhiên rA do A tạo ra bước 1 (A1), một số
ngẫu nhiên mới rB do B tạo ra ở (B1.2), khối đã mã BE2
và một trường dữ liệu tùy chọn Text6. Tiếp đó, A tiến
hành ký khối dữ liệu thẻ bằng phép ký bí mật của mình và gửi kết quả cho B:
KTA2 = SA(rA
|| rB || IDB
|| BE2 || Text6) || Text7
Bước 8. Kiểm tra thẻ khóa (B2.1) Thực thể
B sử dụng phép kiểm tra công khai của bên gửi VA để kiểm
tra chữ ký số của thẻ khóa nhận được KTA2. Tiếp đó B
kiểm tra định danh riêng biệt B của mình và kiểm tra giá trị nhận
được rB xem có khớp với số ngẫu nhiên ở Bước 3 (B1.2) hay
không. Ngoài ra, B cũng kiểm tra giá trị ngẫu nhiên nhận được rA
xem có khớp với số ngẫu nhiên ở Bước 1 (A1) hay không.

Hình 2 - Cơ
chế vận chuyển khóa bí mật
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
CHÚ THÍCH: Trong tình huống chỉ có một
bên gửi khóa bí mật cho bên kia, chẳng hạn thực thể B muốn chuyển khóa
bí mật KB cho A, thì
chỉ cần thực hiện giao thức trên từ bước 1 đến bước 5.
2.6. Giao
thức vận chuyển khóa công khai
Điều này trình bày hai giao thức
truyền thông tin khóa công khai từ một thực thể A đến một thực thể B.
Giao thức thứ nhất (giao thứ 2.6.1) không sử dụng bên thứ ba tin cậy, theo giao
thức này để kiểm tra tính toàn vẹn và nguồn gốc của thông tin khóa công khai,
hai thực thể sử dụng một hàm băm được quy định tại QCVN 5 : 2016/BQP. Giao thức
thứ hai (giao thức 2.6.2) giả thiết là chứng thư khóa công khai hợp lệ CertA
của A được cấp bởi bên thứ ba tin cậy là Tổ chức chứng thực và cấp chứng
chỉ khóa công khai CA, theo giao thức này thực thể B có thể truy cập vào
bản sao có xác thực của phép kiểm tra khóa công khai của tổ chức này.
2.6.1. Giao thức vận chuyển
khóa công khai không sử dụng bên thứ ba tin cậy
Giao thức gồm bốn bước và được minh họa trên Hình 3.

Hình 3: Cơ
chế vận chuyển khóa công khai
Bước 1. Kiến thiết thẻ khóa (A1): A tạo ra một
thẻ khóa KTA1 bao gồm thông tin khóa công khai của A và
gửi đến cho B:
KTA1 = PKIA || Text1
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Bước 3. Kiến tạo thẻ kiểm tra (A2): A tính toán giá
trị kiểm tra hash(PKIA) đối với thông tin
khóa công khai của mình và gửi giá trị kiểm tra này cùng với các định danh tùy
chọn riêng biệt của A và B rồi gửi đến thực thể B sử dụng
một kênh truyền có xác thực và độc lập thứ hai (ví dụ kênh truyền điện báo hoặc
đường truyền thư đăng ký trước).
KTA2 = A || B || hash(PKIA) || Text2
Bước 4. Kiểm tra thẻ khóa (B2): Dựa vào thông
tin thẻ khóa nhận được KTA2, B có thể tùy chọn kiểm
tra định danh riêng biệt của A và B, tính toán ra giá trị kiểm
tra trên thông tin khóa công khai của A nhận được từ thẻ khóa KTA1
và so sánh với giá trị kiểm tra nhận được từ thẻ khóa KTA2. Nếu kết quả
kiểm tra thành công thì B lấy khóa công khai của A đưa lên danh
sách các khóa đang hoạt động (danh sách này được bảo vệ chống lại sự giả mạo).
2.6.2. Giao thức vận chuyển
khóa công khai sử dụng bên thứ ba tin cậy
Giao thức gồm hai bước và được minh họa trên Hình 4.

Hình 4 - Cơ
chế vận chuyển khóa công khai 2
Bước 1. Kiến thiết thẻ khóa (A1): Thực thể
A tạo ra một thẻ khóa KTA bao gồm chứng chỉ khóa
công khai của A và gửi nó cho B:
KTA = CertA
|| Text
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
2.7. Quy
định kỹ thuật cho các tham số
2.7.1. Quy định về nguồn
ngẫu nhiên
Các số ngẫu nhiên được sử dụng cho các
mục đích khác nhau như để sinh các tham số mật mã, các khóa mật mã, các giá trị
ngẫu nhiên dùng một lần và các giá trị thách đố xác thực.
Một số bộ sinh bit ngẫu nhiên tất định
DRBG được chấp thuận để sử dụng theo quy định chung bao gồm: HASH_DRBG,
HMAC_DRBG và CTR_DRBG.
Các bộ sinh bit ngẫu nhiên RBG tuân
theo SP800-90A phiên bản sửa đổi lại năm 2015 để sinh bit ngẫu nhiên cũng được
chấp thuận để sử dụng tiếp.
2.7.2. Quy định đối với tham
số RSA
2.7.2.1. Các yêu cầu chung
1. Số mũ công khai e cần phải được
chọn với các ràng buộc sau:
a) Số mũ công khai e cần được chọn
trước khi tạo số mũ bí mật d;
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
65,537 ≤ e <
2nlen-2security_strength
Với nlen là độ dài của modulo
n theo bit.
Chú ý rằng e có thể là giá trị
bất kỳ thỏa mãn ràng buộc 1(b); p và q sẽ được chọn (trong mục 2)
sao cho e là nguyên tố cùng nhau với cả (p - 1) và (q - 1).
2. Hai số nguyên tố p và q được tạo
ngẫu nhiên và giữ bí mật cần phải được chọn với các ràng buộc sau:
a) (p - 1) và (q - 1) cần
phải là nguyên tố cùng nhau với số mũ công khai e;
b) Mỗi một trong bốn số (p + 1), (p
- 1) và (q + 1), (q - 1) cần phải có các nhân tử nguyên tố lớn
hơn 2security-strength+20;
c) Nhân tử nguyên tố bí mật p, q cần
phải được chọn ngẫu nhiên từ các số nguyên tố thỏa mãn (
)(2(nlen/2)-1) ≤
q < p ≤ (2(nlen/2) - 1);
d) |p - q| > 2(nlen/2-100).
3. Số mũ bí mật d cần phải được lựa chọn
sau khi tạo p
và
q với các ràng buộc:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
b) d = e-1mod(LCM((p
- 1), (q - 1)))
(Chi tiết về hàm tạo các tham số RSA
có thể tham khảo trong tài liệu FIPS 186-4: Digital Signature Standard).
2.7.2.2. Quy định ngưỡng giá trị cho
tham số theo thời
hạn sử dụng
Thời hạn
Quy định
RSA
2020
|p|
= 1536
2030
|p|
= 2048
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
|p| =
3072
2.7.3. Hệ mật dựa trên
Logarit rời rạc DL
Tham số của hệ mật dựa trên bài toán
Logarit rời rạc trên trường hữu hạn Fp là bộ:
(p,q,g), trong đó p là đặc số của
trường Fp, q là bậc của nhóm F*(p) và là ước
của p
-
1 thỏa mãn các điều kiện sau:
- p, q là số nguyên
tố
- Độ dài của p, q được cho dưới
bảng sau:
Năm
Độ dài p
Độ dài q
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
|p|
= 1536
||q|| = 192
Đến 2030
|p|
= 2048
||q|| = 224
Sau năm 2030
|p|
= 3072
||q|| = 256
2.7.4. Hệ mật ECC
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Kiểm tra tính hợp lệ của các tham số
miền (p, SEED, a, b, G, n, h) như sau:
Xâu SEED dùng để sinh ngẫu
nhiên đường cong Elliptic xác định trên trường Fp với p là số nguyên
tố lẻ.
Trước khi sử dụng một bộ tham số miền,
tính hợp lệ của nó phải được kiểm tra theo thuật toán dưới đây:
1. Kiểm tra p là một số
nguyên tố lẻ.
2. Kiểm tra a, b, xG, yG
là các phần tử của trường Fp.
3. Kiểm tra rằng a và b được dẫn
xuất tương ứng từ SEED.
4. Kiểm tra (4a3 + 27b2) khác 0 và j(E) ≠ 0; 1728
trong Fp
5. Kiểm tra
trong Fp.
6. Kiểm tra n là nguyên tố và n >
4
.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
8. Kiểm tra đường cong có thuộc
danh sách các đường cong yếu:
a. Thỏa mãn điều kiện MOV, (chú ý rằng một
đường cong thỏa mãn điều kiện MOV sẽ không phải là đường cong siêu biến).
b. Kiểm tra đường cong không kì dị, nghĩa là #E
≠ p.
Nếu bất kỳ sự kiểm tra nào ở trên thất
bại thì tham số miền phải được xem là không hợp lệ.
Điều kiện MOV được hiểu là không có
giá trị k
nguyên
dương nào 0 < k < B để cho pk - 1
chia hết cho n. Trên thực hành hiện nay |p| = 224 bit thì người
ta xét với B = 15 là đủ vì khi đó |pk| = 3360 >
2048.
Các hệ số a,b của đường cong
được sinh ngẫu nhiên trên Fp từ đầu vào SEED và có thể
kiểm tra được.
Khóa bí mật d phải được sinh
ngẫu nhiên trong khoảng [1,n - 1].
Đường cong Elliptic xác định trên
trường hữu hạn Fp với tối thiểu |p| = 224 bit và được
xác định cụ thể như sau:
Độ dài bit
của n
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
224 - 255
|p| = 224
256 - 383
|p| = 256
384 - 511
|p| = 384
≥ 512
|p| = 521
Đại lượng Cofactor được
định nghĩa và ký hiệu là h = #E(Fp)/n tuân theo bảng dưới
đây:
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Giá trị h
cực đại cho phép
224 - 255
214
256 - 383
216
384 - 511
224
≥ 512
232
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
Độ an toàn
ECC
RSA
DL
112
224
2048
2048
128
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
3072
3072
192
384
7680
7680
256
512
15360
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
3. QUY
ĐỊNH VỀ QUẢN LÝ
3.1. Các mức giới hạn của đặc tính kỹ thuật
mật mã và yêu cầu quản lý khóa mật mã nêu tại Quy chuẩn này là các chỉ tiêu
chất lượng phục vụ được quản lý theo quy định về quản lý chất lượng sản phẩm,
dịch vụ mật mã dân sự được quy định tại Luật An toàn thông tin mạng ngày 19
tháng 11 năm 2015.
3.2. Hoạt động kiểm tra chất lượng sản phẩm
mật mã được cơ quan quản lý nhà nước có thẩm quyền tiến hành định kỳ hàng năm
hoặc đột xuất.
3.3. Quản lý sử dụng khóa mật mã:
- Các loại khóa mật mã phải được lập thành danh
mục với việc mô tả chi tiết mục đích sử dụng, thời hạn sử dụng.
- Đảm bảo sử dụng khóa đúng mục đích được quy
định (chẳng hạn khóa dùng để mã các khóa khác không được sử dụng để mã hóa dữ
liệu), không sử dụng khóa đã hết hạn sử dụng hoặc hủy khóa trước thời hạn đảm
bảo khả năng giải mã khi dữ liệu hết thời hạn bảo mật. Không cung cấp khóa cho
người nhận không có thẩm quyền.
- Khóa mật mã phải được bảo vệ chống lại các
mối nguy cơ như bị lộ (ngoại trừ các khóa công khai), sửa đổi, phá hủy và tái
sử dụng. Việc bảo vệ phải thực hiện suốt cả vòng đời của khóa. Mục tiêu bảo vệ
phải phù hợp với từng loại khóa. Đối với khóa công khai cần đảm bảo tính toàn
vẹn và tính khả dụng, đối với khóa bí mật phải đảm bảo đầy đủ cả ba tính chất:
bí mật, toàn vẹn và khả dụng. Bảo vệ khóa phải kết hợp đồng bộ các giải pháp
bằng kỹ thuật mật mã, phương tiện vật lý và phương tiện tổ chức để tạo ra một
vùng an toàn để cất giữ khóa, sử dụng khóa và thực thi thuật toán mật mã:
+ Khóa phải được lưu trữ trong một
thiết bị lưu trữ an toàn tách biệt (được gọi là vật mang khóa như HSM, thẻ
Token hay thẻ thông minh) để đảm bảo khóa được lưu trữ và tương tác với các
thuật toán mật mã an toàn. Trong trường hợp vật mang khóa là mô-đun an toàn
phần cứng HSM, yêu cầu an toàn tối thiểu mức 3, trường hợp vật mang khóa là thẻ
Token hay thẻ thông minh, yêu cầu an toàn tối thiểu mức 2 (mức an toàn được quy
định tại TCVN 11295:2016 (ISO/IEC 19790:2012) Công nghệ thông tin - Các kỹ thuật
an toàn - Yêu cầu an toàn cho mô-đun mật mã).
+ Trường hợp khóa lưu trữ ở dạng mềm
cần sử dụng kỹ thuật mật mã để bảo vệ (Tuân thủ theo các quy định tại QCVN 4 :
2016/BQP và QCVN 5 : 2016/BQP).
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66
- Việc hủy khóa phải đảm bảo hủy bỏ được tất cả
các bản ghi khóa, bao gồm cả các bản sao dự phòng, sao cho không thể khôi phục
được bất kì thông tin khóa nào dù bằng bất kì phương tiện nào. Đồng thời không
để bất kì khóa nào bị hủy bỏ trước thời hạn nhằm đảm bảo khả năng giải mã khi
dữ liệu hết thời hạn bảo mật.
- Nếu khóa bị tổn thương hoặc bị nghi ngờ tổn
thương hoặc có sự thay đổi chủ sở hữu thì phải thực hiện thu hồi khóa để vô
hiệu hóa nguy cơ bị
lộ hoặc mất an toàn.
- Thiết bị lưu trữ khóa phải được quản lý bởi
người sử dụng. Người sử dụng có trách nhiệm bảo quản khóa ở vị trí an toàn,
chống tiếp cận trái phép, chống sao chép hoặc bị đánh cắp. Không cung cấp khóa
cho người không có thẩm quyền.
4. TRÁCH
NHIỆM CỦA TỔ CHỨC, CÁ NHÂN
4.1. Các tổ chức tín dụng (trừ quỹ tín dụng
nhân dân cơ sở có tài sản dưới 10 tỷ, tổ chức tài chính vi mô) sử dụng sản
phẩm, dịch vụ mật mã dân sự có trách nhiệm đảm bảo tuân thủ Quy chuẩn này và
chịu sự kiểm tra của cơ quan quản lý nhà nước theo quy định.
4.2. Doanh nghiệp cung cấp sản phẩm, dịch
vụ mật mã dân sự cho các tổ chức tín dụng (trừ quỹ tín dụng nhân dân cơ sở có
tài sản dưới 10 tỷ, tổ chức tài chính vi mô) có trách nhiệm thực hiện công bố
hợp quy sản phẩm, dịch vụ mật mã dân sự phù hợp với Quy chuẩn này. Việc công bố
hợp quy thực hiện theo Thông tư số 28/2012/TT-BKHCN ngày 12 tháng 12 năm 2012
của Bộ Khoa học và Công nghệ.
4.3. Cục Quản lý mật mã dân sự và Kiểm định
sản phẩm mật mã - Ban Cơ yếu Chính phủ có trách nhiệm tiếp nhận đăng ký công bố
hợp quy, thực hiện quản lý, hướng dẫn và kiểm tra việc công bố hợp quy.
5. TỔ
CHỨC THỰC HIỆN
5.1. Cục Quản lý mật mã dân sự và Kiểm định
sản phẩm mật mã - Ban Cơ yếu Chính phủ có trách nhiệm hướng dẫn, tổ chức triển
khai quản lý kỹ thuật mật mã của Quản lý khóa theo Quy chuẩn này.
...
...
...
Bạn phải
đăng nhập hoặc
đăng ký Thành Viên
TVPL Pro để sử dụng được đầy đủ các tiện ích gia tăng liên quan đến nội dung TCVN.
Mọi chi tiết xin liên hệ:
ĐT: (028) 3930 3279 DĐ: 0906 22 99 66