Thông tư 161/2016/TT-BQP Quy chuẩn kỹ thuật mật mã dân sự lĩnh vực ngân hàng
BỘ
QUỐC PHÒNG Số: 161/2016/TT-BQP |
CỘNG
HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Hà Nội, ngày 21 tháng 10 năm 2016 |
Căn cứ Luật Tiêu chuẩn và Quy chuẩn kỹ thuật ngày 29 tháng 6 năm 2006;
Căn cứ Luật An toàn thông tin mạng ngày 19 tháng 11 năm 2015;
Căn cứ Luật Chất lượng sản phẩm, hàng hóa ngày 21 tháng 11 năm 2007;
Căn cứ Nghị định số 127/2007/NĐ-CP ngày 01 tháng 8 năm 2007 của Chính phủ quy định chi tiết thi hành một số điều của Luật Tiêu chuẩn và Quy chuẩn kỹ thuật;
Căn cứ Nghị định số 09/2014/NĐ-CP ngày 27 tháng 01 năm 2014 của Chính phủ quy định chức năng, nhiệm vụ, quyền hạn và cơ cấu tổ chức của Ban Cơ yếu Chính phủ;
Căn cứ Nghị định số 35/2013/NĐ-CP ngày 22 tháng 4 năm 2013 của Chính phủ quy định chức năng, nhiệm vụ, quyền hạn và cơ cấu tổ chức của Bộ Quốc phòng;
Theo đề nghị của Trưởng ban Ban Cơ yếu Chính phủ;
Bộ trưởng Bộ Quốc phòng ban hành Thông tư ban hành Quy chuẩn kỹ thuật quốc gia về mật mã dân sự sử dụng trong lĩnh vực ngân hàng.
Điều 1. Ban hành kèm theo Thông tư này Quy chuẩn kỹ thuật quốc gia về mật mã dân sự sử dụng trong lĩnh vực ngân hàng:
1. QCVN 4 : 2016/BQP, Mã hóa dữ liệu sử dụng trong lĩnh vực ngân hàng;
2. QCVN 5 : 2016/BQP, Chữ ký số sử dụng trong lĩnh vực ngân hàng;
3. QCVN 6 : 2016/BQP, Quản lý khóa sử dụng trong lĩnh vực ngân hàng.
Điều 2. Thông tư này có hiệu lực thi hành kể từ ngày 09 tháng 12 năm 2016.
Điều 3. Trưởng ban Ban Cơ yếu Chính phủ, Thủ trưởng các cơ quan, đơn vị, tổ chức và cá nhân có liên quan chịu trách nhiệm thi hành Thông tư này./.
Nơi
nhận: |
BỘ
TRƯỞNG |
National technical regulation on data encryption 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
1.4. Thuật ngữ và định nghĩa
1.5. Các ký hiệu
2. QUY ĐỊNH KỸ THUẬT
2.1. Quy định chung
2.2. Mã khối
2.2.1. TDEA - Thuật toán mã dữ liệu bội ba
2.2.2. AES
2.2.3. Camellia
2.3. Chế độ hoạt động của mã khối
2.3.1. Chế độ xích liên kết khối mã CBC (Cipher Block Chaining)
2.3.2. Chế độ phản hồi mã CFB (Cipher FeedBack)
2.3.3. Chế độ phản hồi đầu ra OFB (Output Feedback):
2.3.4. Chế độ đếm CTR (Counter)
2.4. Mã dòng
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
Bộ đệm phản hồi FB được gán giá trị khởi đầu.
FB1 = SV
Phép toán mã hóa mỗi biến bản rõ thực hiện trong 6 bước sau:
a) Xi = n~FBi (Lựa chọn n bit tận cùng bên trái của FB).
b) Yi = eK(Xi) (Sử dụng mã khối).
c) Ei = j~Yi (Lựa chọn j bit tận cùng bên trái của Yi).
d) Ci = Pi Ei (Tạo biến bản mã).
e) Fi = I(k - j)|Ci (Tạo biến phản hồi).
f) FBi+1 = Sk(FBi|Fi) (Hàm dịch chuyển trên FB).
Các bước trên lặp với biến đếm i = 1,2,…,q, trong vòng lặp cuối dừng lại tại bước (d). j bit tận cùng bên trái của khối đầu ra Y của mã khối được sử dụng để mã hóa j-bit biến bản rõ theo phép cộng modulo 2. Các bit còn lại của Y được bỏ đi. Các bit biến bản rõ/bản mã có chỉ số từ 1 đến j.
Biến bản mã được tăng thêm bằng cách đặt k - j bit trong vị trí bit tận cùng bên trái của mình để tạo biến phản hồi F độ dài k-bit. Sau đó các bit của bộ đệm phản hồi FB được dịch trái đi k vị trí và F được thêm vào vị trí k tận cùng bên phải để tạo ra giá trị mới của bộ đệm phản hồi FB. Trong phép toán dịch, k bit tận cùng bên trái của FB được bỏ đi. n bit tận cùng bên trái mới của FB được sử dụng như là đầu vào tiếp theo của X trong quá trình mã hóa.
2.3.2.2. Phép giải mã
Bộ đệm phản hồi FB được gán giá trị khởi đầu.
FB1 = SV
Phép toán giải mã mỗi biến bản mã thực hiện trong 6 bước sau:
a) Xi = n~FBi (Lựa chọn n bit tận cùng bên trái của FB).
b) Yi = eK(Xi) (Sử dụng mã khối).
c) Ei = j~Yi (Lựa chọn j bit tận cùng bên trái của Yi).
d) Pi = Ci Ei (Tạo biến bản rõ).
e) Fi = l(k - j)|Ci (Tạo biến phản hồi).
f) FBi+1 = Sk(FBi|Fi) (Hàm dịch chuyển trên FB).
Các bước trên lặp với biến đếm i = 1,2,…,q, trong vòng lặp cuối dừng lại tại bước (d). j bit tận cùng bên trái của khối đầu ra Y của mã khối được sử dụng để giải mã biến bản mã theo phép cộng modulo 2. Các bit còn lại của Y được bỏ đi. Các bit biến bản rõ/bản mã có chỉ số từ 1 đến j.
Biến bản mã được tăng thêm bằng cách đặt k - j bit trong vị trí bit tận cùng bên trái của mình để tạo biến phản hồi F độ dài k-bit. Sau đó các bit của bộ đệm phản hồi FB được dịch trái đi k vị trí và F được thêm vào vị trí k tận cùng bên phải để tạo ra giá trị mới của bộ đệm phản hồi FB. Trong phép toán dịch, k bit tận cùng bên trái của FB được bỏ đi. n bit tận cùng bên trái mới của FB được sử dụng như là đầu vào tiếp theo của X trong quá trình mã hóa.
Hình 10: Chế độ phản hồi mã CFB
2.3.3. Chế độ phản hồi đầu ra OFB (Output Feedback):
Chế độ OFB được xác định bằng một tham số j là kích thước biến bản rõ với 1 ≤ j ≤ n.
Các biến được sử dụng trong chế độ OFB là:
a) Các biến đầu vào:
1) Dãy q biến bản rõ độ dài j bit P1, P2, ... Pq.
2) Khóa bí mật K.
3) Biến khởi đầu độ dài n bit.
b) Các kết quả trung gian:
1) Dãy q khối đầu vào của mã khối độ dài n bit X1, X2,..., Xq.
2) Dãy q khối đầu ra của mã khối độ dài n bit Y1, Y2,..., Yq.
3) Dãy q biến độ dài j bit E1, E2,..., Eq.
c) Các biến đầu ra là dãy q biến bản mã độ dài j bit C1, C2,..., Cq.
2.3.3.1. Phép mã hóa
Khối đầu vào X được gán giá trị khởi đầu
X1 = SV
Phép toán mã hóa mỗi biến bản rõ thực hiện trong 4 bước sau:
a) Yi = ek(Xi) (Sử dụng mã khối).
b) Ei = j~Yi (Chọn j bit tận cùng bên trái).
c) Ci = Pi Ei (Tạo biến bản mã).
d) Xi+1 = Yi (Phép toán phản hồi).
Các bước trên lặp với biến đếm i = 1,2,…,q, trong vòng lặp cuối dừng lại tại bước (c). Các biến bản mã và bản rõ có các bit với chỉ số từ 1 đến j.
Kết quả của mỗi lần sử dụng mã khối là Yi và được đưa trở lại thành giá trị tiếp theo của X, đặt là Xi+1. j bit tận cùng bên trái của Yi được sử dụng để mã hóa biến đầu vào.
2.3.3.2. Phép giải mã
Khối đầu vào X được gán giá trị khởi đầu
X1 = SV
Phép toán giải mã mỗi biến bản mã thực hiện trong 4 bước sau:
a) Yi = ek(Xi) (Sử dụng mã khối).
b) Ei = j~Yi (Chọn j bit tận cùng bên trái).
c) Ci = Pi Ei (Tạo biến bản mã).
d) Xi+1 = Yi (Phép toán phản hồi).
Các bước trên lặp với biến đếm i = 1,2,…,q, trong vòng lặp cuối dừng lại tại bước (c). Các biến bản mã và bản rõ có các bit với chỉ số từ 1 đến j.
Kết quả của mỗi lần sử dụng mã khối là Yi và được đưa trở lại thành giá trị tiếp theo của X, đặt là Xi+1. j bit tận cùng bên trái của Yi được sử dụng để giải mã biến đầu vào.
Hình 11: Chế độ phản hồi đầu ra OFB
2.3.4. Chế độ đếm CTR (Counter)
Chế độ CTR được xác định bằng một tham số j trong đó 1 ≤ j ≤ n.
Các biến được sử dụng trong chế độ CTR là:
a) Các biến đầu vào:
1) Dãy q biến bản rõ độ dài j bit P1, P2, …, Pq, mỗi biến có độ dài j bit.
2) Khóa bí mật K.
3) Biến khởi đầu SV có độ dài n bit.
b) Các kết quả trung gian:
1) Dãy q khối đầu vào của mã khối độ dài n bit CTR1,CTR2,...,CTRq.
2) Dãy q khối đầu ra của mã khối độ dài n bit Y1,Y2,...,Yq.
3) Dãy q biến độ dài j bit E1,E2,...,Eq.
c) Các biến đầu ra là dãy q biến bản mã độ dài j bit C1,C2,...,Cq.
2.3.4.1. Phép mã hóa
CTR được gán giá trị khởi đầu
CTR1 = SV
Các phép toán để mã hóa mỗi biến bản rõ theo 4 bước sau:
a) Yi = eK(CTRi) (Sử dụng mã khối).
b) Ei = j~Yi (Chọn j bit tận cùng bên trái của Yi).
c) Ci = Pi Ei (Tạo ra biến bản mã).
d) CTRi+1 = (CTRi + 1)mod 2n (Tạo ra giá trị đếm mới CTR).
Các bước trên lặp với biến đếm i = 1,2,…,q, trong vòng lặp cuối dừng lại tại bước (c). Các biến bản mã và bản rõ có các bit có chỉ số từ 1 đến j.
Giá trị đếm được mã hóa để đưa ra khối đầu ra Yi và j bit tận cùng bên trái của khối đầu ra Yi được sử dụng để mã hóa giá trị đầu vào. CTR sau đó được tăng 1 (modulo 2n) để tạo ra giá trị đếm mới.
2.3.4.2. Phép giải mã
CTR được gán giá trị khởi đầu
CTR1 = SV
Các phép toán để giải mã mỗi biến bản rõ theo 4 bước sau:
a) Yi = eK(CTRi) (Sử dụng mã khối).
b) Ei = j~Yi (Chọn j bit tận cùng bên trái của Yi).
c) Pi = Ci Ei (Tạo biến bản rõ).
d) CTRi+1 = (CTRi + 1)mod 2n (Tạo ra giá trị đếm mới CTR).
Các bước trên lặp với biến đếm i = 1,2,…,q, trong vòng lặp cuối dừng lại tại bước (c). Các biến bản mã và bản rõ có các bit có chỉ số từ 1 đến j.
Giá trị đếm được mã hóa để đưa ra khối đầu ra Yi và j bit tận cùng bên trái của khối đầu ra Yi được sử dụng để mã hóa giá trị đầu vào. CTR sau đó được tăng 1 (modulo 2n) để tạo ra giá trị đếm mới.
Hình 12: Chế độ đếm CTR
Mã dòng là mã thực hiện biến đổi từng bit dữ liệu của bản rõ sang bản mã sử dụng khóa độ dài k bit. Quy chuẩn này quy định sử dụng các mã khối được quy định tại Mục 2.2 sử dụng chế độ CFB, OFB hoặc CTR để thực hiện chức năng mã dòng.
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ý của các thuật toán mật mã để mã hóa dữ liệu 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, dịch vụ 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.
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.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 thuật toán mã hóa dữ liệu theo Quy chuẩn này.
5.2. Trong trường hợp các quy định nêu tại Quy chuẩn kỹ thuật quốc gia này có sự thay đổi, bổ sung hoặc được thay thế thì thực hiện theo quy định tại văn bản mới./.
