Thông tư 161 2016 TT-BQP Quy chuẩn kỹ thuật quốc gia về mật mã dân sự trong lĩnh vực ngân hàng do Bộ trưởng Bộ Quốc phòng ban hành

74 224 0
Thông tư 161 2016 TT-BQP Quy chuẩn kỹ thuật quốc gia về mật mã dân sự trong lĩnh vực ngân hàng do Bộ trưởng Bộ Quốc phòng ban hành

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thông tư 161 2016 TT-BQP Quy chuẩn kỹ thuật quốc gia về mật mã dân sự trong lĩnh vực ngân hàng do Bộ trưởng Bộ Quốc phòn...

Cơng ty Luật Minh Gia BỘ QUỐC PHỊNG - https://luatminhgia.com.vn/ CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc - Số: 161/2016/TT-BQP Hà Nội, ngày 21 tháng 10 năm 2016 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 Căn Luật Tiêu chuẩn Quy chuẩn kỹ thuật ngày 29 tháng năm 2006; Căn Luật An toàn thông tin mạng ngày 19 tháng 11 năm 2015; Căn 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 Nghị định số 127/2007/NĐ-CP ngày 01 tháng năm 2007 Chính phủ quy định chi tiết thi hành số điều Luật Tiêu chuẩn Quy chuẩn kỹ thuật; Căn Nghị định số 09/2014/NĐ-CP ngày 27 tháng 01 năm 2014 Chính phủ quy định chức năng, nhiệm vụ, quyền hạn cấu tổ chức Ban Cơ yếu Chính phủ; Căn Nghị định số 35/2013/NĐ-CP ngày 22 tháng năm 2013 Chính phủ quy định chức năng, nhiệm vụ, quyền hạn cấu tổ chức Bộ Quốc phòng; Theo đề nghị 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 mật mã dân sử dụng lĩnh vực ngân hàng Điều Ban hành kèm theo Thông tư Quy chuẩn kỹ thuật quốc gia mật mã dân sử dụng lĩnh vực ngân hàng: QCVN : 2016/BQP, Mã hóa liệu sử dụng lĩnh vực ngân hàng; QCVN : 2016/BQP, Chữ ký số sử dụng lĩnh vực ngân hàng; QCVN : 2016/BQP, Quản lý khóa sử dụng lĩnh vực ngân hàng Điều Thông tư có hiệu lực thi hành kể từ ngày 09 tháng 12 năm 2016 Điều Trưởng ban Ban Cơ yếu Chính phủ, Thủ trưởng quan, đơn vị, tổ chức cá nhân có liên quan chịu trách nhiệm thi hành Thông tư này./ BỘ TRƯỞNG Nơi nhận: - Chính phủ (để báo cáo); - Thủ tướng Chính phủ (để báo cáo); - Các Bộ, quan ngang Bộ, quan thuộc Chính phủ; - UBND tỉnh, thành phố trực thuộc Trung ương; - Thủ trưởng BQP, CN TCCT; - Ban Cơ yếu Chính phủ; - Cục Tiêu chuẩn - Đo lường - Chất lượng/BQP; - Cục Kiểm tra văn QPPL Bộ Tư pháp; - Công báo, Cổng TTĐTCP; - Cổng TTĐTBQP; - Vụ Pháp chế/BQP; - Lưu: VT, BCY; HT110 Đại tướng Ngô Xuân Lịch QCVN : 2016/BQP LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ QUY CHUẨN KỸ THUẬT QUỐC GIA VỀ MÃ HÓA DỮ LIỆU SỬ DỤNG TRONG LĨNH VỰC NGÂN HÀNG National technical regulation on data encryption used in banking MỤC LỤC Lời nói đầu 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ữ định nghĩa 1.5 Các ký hiệu QUY ĐỊNH KỸ THUẬT 2.1 Quy định chung 2.2 Mã khối 2.2.1 TDEA - Thuật toán mã liệu bội ba 2.2.2 AES 2.2.3 Camellia 2.3 Chế độ hoạt động 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 OFB (Output Feedback): 2.3.4 Chế độ đếm CTR (Counter) 2.4 Mã dòng QUY ĐỊNH VỀ QUẢN LÝ TRÁCH NHIỆM CỦA TỔ CHỨC, CÁ NHÂN TỔ CHỨC THỰC HIỆN Phụ lục A (Quy định): Mô tả DES Phụ lục B (Quy định): Các phép biến đổi AES Lời nói đầu QCVN : 2016/BQP Cục Quản lý mật mã dân 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 Công nghệ thẩm định ban hành theo Thông tư số 161/2016/TT-BQP ngày 21 tháng 10 năm 2016 Bộ trưởng Bộ Quốc phòng QUY CHUẨN KỸ THUẬT QUỐC GIA VỀ MÃ HÓA DỮ LIỆU SỬ DỤNG TRONG LĨNH VỰC NGÂN HÀNG National technical regulation on data encryption used in banking QUY ĐỊNH CHUNG LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ 1.1 Phạm vi điều chỉnh Quy chuẩn kỹ thuật quốc gia quy định mức giới hạn đặc tính kỹ thuật mật mã thuật tốn mã hóa liệu dùng sản phẩm mật mã dân sử dụng lĩnh vực ngân hàng 1.2 Đối tượng áp dụng Quy chuẩn áp dụng doanh nghiệp kinh doanh sản phẩm, dịch vụ mật mã dân lĩnh vực ngân hàng; tổ chức tín dụng (trừ quỹ tín dụng nhân dân sở có tài sản 10 tỷ, tổ chức tài vi mơ) sử dụng sản phẩm, dịch vụ mật mã dân 1.3 Tài liệu viện dẫn - Recommendation for Random Number Generation Using Deterministic Random Bit Generators, NIST SP 800-90A Rev 1, National Institute of Standards and Technology, June 2015 (Khuyến cáo cho sinh số ngẫu nhiên sử dụng sinh bit ngẫu nhiên tất định, NIST SP 800-90A Rev 1, Viện tiêu chuẩn công nghệ quốc gia (Mỹ), tháng năm 2015) - TCVN 7876:2007 Công nghệ thông tin - Kỹ thuật mật mã - Thuật toán mã liệu AES - TCVN 11367-3:2016 (ISO/IEC 18033-3:2010) Công nghệ thông tin - Các kỹ thuật an tồn Thuật tốn mật mã - Phần 3: Mã khối - ISO/IEC 10116:2006 Information technology - Security techniques - Modes of operation for an n-bit block cipher - ISO/IEC 9797-1:2011 Information technology - Security techniques - Message Authentication Codes (MACs) - Part 1: Mechanisms using a block cipher 1.4 Giải thích từ ngữ Trong Quy chuẩn này, từ ngữ hiểu 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” “mật” quy định 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à quy tắc, quy ước riêng dùng để thay đổi hình thức biểu thơng tin nhằm bảo đảm bí mật, xác thực, tồn vẹn nội dung thơng tin 1.4.3 Mật mã dân Là kỹ thuật mật mã sản phẩm mật mã sử dụng để bảo mật xác thực 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 Là tài liệu, trang thiết bị kỹ thuật nghiệp vụ mật mã để bảo vệ thông tin không thuộc phạm vi bí mật nhà nước 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) liệu thuật toán mật mã để tạo mã, tức giấu nội dung thông tin liệu 1.4.7 Giải mã Phép tốn ngược với phép mã hóa tương ứng 1.4.8 Mã khối LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ Hệ mật đối xứng với tính chất thuật tốn mã hóa thao tác khối rõ, nghĩa xâu bit có độ dài xác định, kết cho khối mã 1.4.9 Mã dòng Hệ mật đối xứng với tính chất thuật tốn mã hóa bao gồm tổ hợp dãy ký tự rõ với dãy ký tự khóa dịng, lần ký tự, sử dụng hàm khả nghịch 1.4.10 Khóa Dãy ký tự điều khiển vận hành thuật toán mật mã (ví dụ, phép mã hóa, giải mã) 1.4.11 Khóa dịng Dãy ký tự giả ngẫu nhiên bí mật, sử dụng thuật tốn mã hóa giải mã mã dòng 1.5 Các ký hiệu n độ dài tính bit rõ/bản mã mã khối Ek hàm mã hóa với khóa K Dk hàm giải mã với khóa K Nr số vịng thuật toán AES, 10,12 14 để chọn độ dài khóa tương ứng 128, 192, 256 bit Nb Số cột (các từ 32 bit) tạo nên Trạng thái ⊕ phép toán logic XOR xâu bit, nghĩa A B hai xâu độ dài A ⊕ B xâu bit bao gồm bit kết phép toán logic XOR A B ⊗ phép nhân hai đa thức (mỗi đa thức có bậc bé 4) theo mod x + ∧ phép toán logic AND xâu bit, nghĩa A B xâu bit độ dài, A ∧ B xâu bit tạo từ phép toán logic AND bit tương ứng A B ∨ phép toán logic OR xâu bit, tức A B hai xâu bit độ dài, A ∨ B xâu bit gồm bit kết phép toán logic OR A B || phép ghép xâu bit • phép nhân trường hữu hạn phép dịch vòng sang trái i bit phép dịch vòng sang phải i bit x phép bù bit x a mod n với số nguyên a n, a mod n ký hiệu số dư (không âm) phép chia a cho n Một cách tương đương, b = a mod n b số nguyên thỏa mãn điều kiện sau: (i) ≤ b < n (ii) (b - a) bội số nguyên n phép cộng số học mô-đun, nghĩa A B hai xâu t-bit A B xác định (A + B) mod 2t phép trừ số học mô-đun, nghĩa A B hai xâu t-bit A B xác định (A - B)mod t LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ QUY ĐỊNH KỸ THUẬT 2.1 Quy định chung - Quy định chi tiết nguồn ngẫu nhiên: Các số ngẫu nhiên sử dụng cho mục đích khác để sinh tham số mật mã, khóa mật mã, giá trị ngẫu nhiên dùng lần giá trị thách đố xác thực Một số sinh bit ngẫu nhiên tất định DRBG chấp thuận để sử dụng theo quy định chung bao gồm: HASH_DRBG, HMAC_DRBG CTR_DRBG Các sinh bit ngẫu nhiên RBG tuân theo SP800-90A phiên sửa đổi lại năm 2015 để sinh bit ngẫu nhiên chấp thuận để sử dụng tiếp 2.2 Mã khối Trong Quy chuẩn quy định loại mã khối áp dụng cho việc mã hóa liệu để bảo vệ thông tin lĩnh vực ngân hàng Độ dài khối 64 bit 128 bit Tên thuật tốn Độ dài khóa quy định áp dụng TDEA Khơng nhỏ 192 bit AES Không nhỏ 256 bit Camellia Không nhỏ 256 bit - Quy định ngưỡng thời gian độ an tồn khóa cụ thể: Độ an tồn theo bít 112 Thuật tốn mã khối 3TDEA Đến cuối năm 2030 AES-256 256 Thời gian sử dụng quy định Camellia-256 Từ năm 2030 2.2.1 TDEA - Thuật toán mã liệu bội ba Trong Quy chuẩn thuật toán mã liệu bội ba (TDEA-Triple Data Encryption Algorithm) xử lý khối liệu 64 bit, sử dụng khóa mật mã có độ dài khơng nhỏ 192 bit Phép mã hóa/giải mã TDEA phép tốn ghép phép tốn mã hóa giải mã DES Khóa TDEA gồm ba khóa K1, K2 K3 khóa DES khác (K1 ≠ K2, K2 ≠ K3, K3 ≠ K1) 2.2.1.1 Phép mã hóa/giải mã TDEA 2.2.1.1.1 Các định nghĩa mã hóa /giải mã TDEA xác định theo thuật ngữ phép toán DES, Ek phép toán mã hóa DES với khóa K Dk phép giải mã DES với khóa K 2.2.1.1.2 Phép mã hóa Phép biến đổi khối P có độ dài 64 bit thành khối C có độ dài 64 bit xác định sau: C = EK (DK (EK1 (P))) Phép mã hóa/giải mã DES mơ tả Phụ lục A Quy chuẩn LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ Hình 1: Sơ đồ phép mã hóa TDEA 2.2.1.1.3 Phép giải mã TDEA Phép biến đổi khối C có độ dài 64 bit thành khối P có độ dài 64 bit xác định sau: P = DK1 (E K (DK (C))) Phép mã hóa/giải mã DES mơ tả Phụ lục A Quy chuẩn LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Cơng ty Luật Minh Gia https://luatminhgia.com.vn/ Hình 2: Sơ đồ phép giải mã TDEA 2.2.1.2 Chu trình khóa Phần lược đồ khóa DES mơ tả Điều A.5 2.2.1.3 Chế độ hoạt động TDEA Các chế độ hoạt động TDEA quy định Mục 2.3 Quy chuẩn 2.2.1.4 Khóa Độ dài khóa sử dụng mã khối TDEA quy định: Độ dài khối Tên thuật tốn Độ dài khóa quy định áp dụng 64 bit TDEA Không nhỏ 192 bit 2.2.1.4.1 Các yêu cầu khóa Đối với chế độ hoạt động mã khối TDEA, khóa mật mã (K1, K2 K3) xác định khóa cho hệ mật TDEA cần: a Phải giữ bí mật b Được sinh sử dụng sinh bit ngẫu nhiên quy định phần 2.1 Quy chuẩn c Là khóa mật mã khác d Đảm bảo tồn vẹn mà khóa khơng bị thay đổi trái phép kể từ sinh ra, gửi lưu trữ thực thể có thẩm quyền LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ e Được sử dụng theo thứ tự thích hợp theo quy định chế độ hoạt động riêng biệt f Không sử dụng để mã hóa nhiều 232 khối liệu 64-bit g Khơng sử dụng khóa yếu bán yếu (Được quy định Điều 2.2.1.4.2) 2.2.1.4.2 Khóa yếu Đối với thuật tốn DES có số khóa mật mã coi yếu sử dụng Việc sử dụng khóa yếu ảnh hưởng đến độ an tồn thuật tốn TDEA Các khóa yếu khơng sử dụng thuật toán TDEA liệt kê (theo định dạng thập lục phân): Một số cặp khóa mã hóa rõ mã giống hệt không sử dụng Các khóa bán-yếu (theo định dạng thập lục phân): Ngồi cịn 48 khóa sau tạo khóa khác (thay 16 khóa khác nhau) khơng sử dụng Đó khóa sau (theo định dạng thập lục phân): LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ CHÚ THÍCH: Các khóa yếu khóa bán-yếu liệt kê biểu diễn với tính lẻ phần ngồi bên phải byte 2.2.2 AES Đối với thuật toán AES, độ dài khối đầu vào, khối đầu Trạng thái 128 bit Như Nb = số lượng từ 32 bít (số cột) Trạng thái Trong Quy chuẩn thuật tốn AES, độ dài k hóa mã K quy định áp dụng 256 bit Độ dài khóa biểu diễn số Nk = thể số lượng từ 32 bit (số cột) Khóa mã Số vịng q trình thực thi thuật tốn AES (được ký hiệu Nr) với khóa độ dài 256 bit Nr = 14 Quy chuẩn quy định cụ thể giá trị phép dùng cho độ dài khóa (Nk), kích cỡ khối (Nb) số lượng vịng lặp (Nr) Bảng Độ dài khóa (Nk từ) Độ dài khối (Nb từ) Số vòng (Nr) 14 AES-256 Bảng 1: Các tổ hợp Khóa - Khối - Vịng 2.2.2.1 Phép mã hóa/giải mã AES Đối với hai Phép mã hóa Phép giải mã, thuật tốn AES sử dụng hàm vịng bao gồm bốn phép biến đổi khác byte: 1) Phép thay byte sử dụng bảng thay (S-box) 2) Dịch hàng mảng Trạng thái offset khác 3) Trộn liệu cột mảng Trạng thái 4) Bổ sung khóa vịng vào Trạng thái 2.2.2.1.1 Phép mã hóa AES Thuật tốn AES gồm dãy phép toán thực mảng hai chiều byte, gọi Trạng thái Trạng thái gồm bốn dòng byte, dòng chứa byte Trong mảng Trạng thái ký hiệu s, byte riêng biệt có hai số với số dịng r với ≤ r < số cột c, với ≤ c < Trạng thái ký hiệu S = (sr,c) Khi bắt đầu trình mã hóa, 16 byte Trạng thái khởi tạo với pi byte rõ, tính từ xuống từ trái sang phải minh họa Hình LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Cơng ty Luật Minh Gia https://luatminhgia.com.vn/ Hình 3: Khởi đầu Trạng thái Sau cộng khóa vịng ban đầu, Trạng thái biến đổi cách thực thi hàm vịng Nr lần, với vịng cuối khác với Nr - vòng đầu Nội dung cuối Trạng thái mã đầu Phép mã hóa đầy đủ mơ tả sau: (1) S = AddRoundKey(P,W0) (2) For i = to Nr - S = SubBytes (S) S = ShiftRows(S) S = MixColumns(S) S = AddRoundKey(S, Wi) (3) S = SubBytes (S),S = ShiftRows(S) (4) C = AddRoundKey (S, WNr) Các phép biến đổi riêng biệt SubBytes(), ShiftRows(), MixColumns(), AddRoundkey() xử lí Trạng thái mơ tả Phụ lục B Tất Nr vòng giống nhau, trừ vịng cuối khơng chứa phép biến đổi MixColumns() Trong phép tốn trên, mảng Wi chứa khóa vịng mô tả Điều 2.2.2.2 2.2.2.1.2 Phép giải mã AES Tất phép biến đổi sử dụng phép mã hóa khả nghịch Khi thực thi phép giải mã, dãy phép biến đổi sử dụng phép mã hóa trì, thay phép biến đổi ngược sau Phép giải mã đầy đủ mơ tả sau: (1) S = AddRoundKey (C,WNr) (2) for i = Nr - down to S = ShiftRows-1(S) S = SubBytes-1(S) S = AddRoundKey(S,Wi) S = MixColumns-1(S) (3) S = ShiftRows-1(S) S = SubBytes-1(S) (4) P = AddRoundKey(S, W0) Các phép biến đổi SubBytes-1(),ShiftRows-1(),MixColumns-1() thực xử lí Trạng thái Tất Nr vòng giống nhau, trừ vòng cuối không chứa phép biến đổi MixColumns-1() Các phép biến đổi SubBytes-1(),ShiftRows-1(),MixColumns-1() thực xử lí Trạng thái mơ tả Phụ lục B Tất Nr vòng giống nhau, trừ vịng cuối khơng chứa phép biến đổi MixColumns-1() Việc tính khóa vịng Wi mơ tả Điều 2.2.2.2 LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia IDA, IDB Định danh thực thể A B Certx Chứng khóa cơng khai thực thể X F(h,g) Hàm thỏa thuận khóa HASH Hàm băm DH MQV K https://luatminhgia.com.vn/ Diffie-Hellman Menezes-Qu-vanstone Khóa bí mật cho hệ mật đối xứng KAB Khóa bí mật chia sẻ hai thực thể A B KTAi Thơng báo thỏa thuận khóa gửi thực thể A sau giai đoạn xử lý i r Số ngẫu nhiên sinh trình thực lược đồ H Tập phần tử r Sx Hàm tạo chữ ký sử dụng khóa riêng thực thể X Vx Hàm kiểm tra chữ ký thực thể X || Phép nối hai phần tử liệu với x Số nguyên nhỏ lớn số thực x len(x) Độ dài số nguyên x tính 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 toán logarit rời rạc N Độ dài số nguyên tố q toán logarit rời rạc q Ước nguyên tố p - #(E) m X(P) Cấp hay lực lượng đường cong elliptic E Bậc điểm sinh G Hoành độ x điểm P đường cong elliptic E h Các đồng thừa số tính theo công thức h = #E/m l Thừa số phụ phép nhân đồng thừa số l = h-1mod m π(P) Phép biến đổi điểm P đường cong E thành số nguyên QUY ĐỊNH KỸ THUẬT 2.1 Các yêu cầu giao thức thỏa thuận vận chuyển khóa Điều quy định giao thức thiết lập khóa bí mật dùng để mã liệu trao đổi hai thực thể A 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 thực thể A sang thực thể B Để thực giao thức, thực thể X đảm bảo điều kiện sau: - Sở hữu cặp khóa để ký kiểm tra chữ ký (SX, VX) quan thẩm quyền cấp dạng chứng thư số Certx LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ - Sử dụng cặp khóa cơng khai để mã hóa (EX,DX) quy định Điều 2.7 Quy chuẩn - Sử dụng chung với thực thể thứ hai hàm thỏa thuận khóa F hai hàm xác định Điều 2.2.2, hàm dẫn xuất khóa KDF quy định Điều 2.4 Quy chuẩn MACK AB hàm kiểm tra mật mã dạng hàm băm quy định Điều 2.2 QCVN : 2016/BQP Quy chuẩn kỹ thuật quốc gia Chữ ký số sử dụng lĩnh vực ngân hàng - Mỗi thực thể tiếp cận khóa cơng khai thực thể theo chế vận chuyển khóa cơng khai Đ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ường hữu hạn Thỏa thuận khóa bí mật hai thực thể A B thực qua bước: Bước 1-4 Hai bên thỏa thuận bí mật chia sẻ KAB Bước Hai bên sử dụng hàm dẫn xuất khóa KDF quy định Đ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 thể Hình 2.2.1 Giao thức Bước Kiến thiết thẻ khóa (A1): Thực thể A sinh giá trị ngẫu nhiên bí mật rA thuộc H, tính F(rA,g), kiến thiết thẻ khóa KTA1 gửi tới thực thể B: KTA1 = F(rA,g) || Text1 Bước Xử lý thẻ khóa Kiến thiết khóa (B1): Thực thể B sinh giá trị ngẫu nhiên bí mật rB thuộc H, tiếp tính F(rB, g), 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 ký sau: KTB1 = SB(DB1) || MACK AB (DB1) || Text3 DB1 = F(rB,g) || F(rA,g) || IDA || Text2 gửi ngược trở lại cho thực thể A LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ Hình 1: Giao thức thỏa thuận khóa bí mật chia sẻ KAB Bước Xử lý thẻ khóa (A2): Thực thể A kiểm tra chữ ký thực thể B thẻ khóa KTB1 cách sử dụng khóa kiểm tra công khai B, kiểm tra định danh phân biệt A giá trị F(rA,g) gửi Bước (A1) Nếu trình kiểm tra thành cơng thực thể A 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 ký sau: KTA2 = SA(DB2) || MACK AB MACK AB (DB2) || Text5 DB2 = F(rA,g) || F(rB,g) || IDB || Text4 gửi thẻ tới thực thể B Bước Xử lý thẻ khóa (B2): Thực thể B kiểm tra chữ ký thực thể A thẻ khóa KTA2 sử dụng khóa kiểm tra cơng khai A, sau kiểm tra định danh phân biệt B kiểm tra giá trị F(rA,g), F(rB,g), xem có phù hợp với giá trị trao đổi bước trước hay không Nếu trình kiểm tra thành cơng thực thể B kiểm tra giá trị kiểm tra mật mã MACK AB (DB2) cách tính: KAB = F(rA,,F(rB,g)) Bước Thực thể A thực thể B tính khóa bí mật chung K Các thực thể A B sử dụng hàm dẫn xuất khóa Điều 2.4 để tính khóa K = KDF(KAB, Otherlnput) Trong OtherInput chứa định danh IDA, IDB A,B thông tin khác A B thỏa thuận LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ CHÚ THÍCH: Các trường Text1, Text2, Text3, Text4, Text5 trường liệu chứa chứng thư số A B, số thơng tin khác 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 phần tử sinh thuộc hàm thỏa thuận khóa Diffie-Hellman (DH) xác định theo công thức: F(h,g) = gh,h ∈ H CHÚ THÍCH: Với hàm thỏa thuận DH thẻ khóa KTA1 có dạng : KTA1 = g r A || Text A 2.2.2.2 Hàm thỏa thuận khóa MQV - (a,A); (b, B) cặp khóa phi đối xứng tĩnh A B, A = ga, B = gb - (x,X),(y,Y) cặp khóa phi đối xứng tức thời A B, X = gx,Y = gy, d = 2l + (X mod 2l), e = 2l + (Y mod 2l), l = |p|/2, l độ dài p tính 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ã đường cong elliptic 2.3.1 Giao thức DH Bước Kiến thiết thẻ khóa (A1) Thực thể A chọn ngẫu nhiên bí mật số rA thuộc khoảng {2,…, m - 2}, tính rAG, kiến thiết thẻ khóa KTA1 =rAG gửi cho B Bước Xử lí thẻ khóa kiến thiết thẻ khóa (B1) Thực thể B kiểm tra thẻ khóa KTA1 có phải điểm nằm đường cong Elliptic hay không (kiểm tra theo tiêu chuẩn ISO/IEC 15946-1) Thực thể B chọn ngẫu nhiên bí mật rB thuộc khoảng {2, …, m- 2}, tính rBG, tính bí mật chia sẻ KAB = (rBl)(hKTA1), kiến thiết thẻ ký hiệu KTB1: KTB1 = SB(DB1) || MACK AB (DB1) với DB1 = rBG || KTA1 || IDA || Text1 gửi cho A Bước Xử lí thẻ khóa (A2) Thực thể A kiểm tra chữ ký B thẻ khóa KTB1 sử dụng khóa kiểm tra công khai B Nếu sử dụng lược đồ chữ ký có khơi phục rõ việc kiểm tra bao gồm việc khôi phục khối liệu DB1 từ chữ ký kiểm tra liệu định danh phân biệt A giá trị rAG có chứa DB1 khơng Nếu sử dụng chữ ký có đính kèm rõ việc kiểm tra bao gồm việc thiết kế lại khối liệu DB1 sử dụng giá trị KTA1, định danh phân biệt A, giá trị nhận rBG kiểm tra chữ ký khối liệu Tiếp thực thể A kiểm tra, liệu giá trị rBG nhận từ KTB1 có phải điểm đường cong elliptic hay khơng (kiểm tra theo tiêu chuẩn ISO/IEC 15946-1) Nếu A tính khóa chia sẻ KAB = (rA.l)(h.rBG) MACK AB 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 = MACK AB SA(DB2) || (DB2) DB2 = rAG || rBG || B || Text2 (DB2 = rAG || rBG || IDB || Text2) gửi cho B Bước Xử lí thẻ khóa (B2) Thực thể B kiểm tra chữ ký A thẻ khóa KTA2 cách sử dụng khóa kiểm tra cơng khai A Nếu sử dụng sơ đồ chữ ký có khơi phục rõ điều bao gồm việc khôi phục LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ khối liệu DB2 từ chữ ký kiểm tra định danh phân biệt B, giá trị rAG rBG có chứa khối không Nếu sử dụng chữ ký có đính kèm rõ việc kiểm tra bao gồm việc thiết kế lại khối liệu DB2 sử dụng giá trị KTA1 KTB1, định danh phân biệt B kiểm tra chữ ký khối liệu Nếu việc kiểm tra thành cơng thực thể B kiểm tra (rBl)(hKTA1) MACK AB (DB2) sử dụng khóa chia sẻ KAB = Bước Thiết lập khóa bí mật K Thực thể A B sử dụng hàm dẫn xuất khóa KDF Đ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 Thiết kế thẻ khóa (A1) Thực thể A chọn ngẫu nhiên bí mật số rA thuộc khoảng {2,…,m - 2} tính rAG kiến thiết thẻ khóa KTA1 = rAG gửi cho thực thể B Bước Kiến thiết thẻ khóa (B1) Thực thể B kiểm tra thẻ KTA1 có phải điểm đườ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 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 + π(KTA1)PA)) Tiếp B tính K = KDF(KAB) gửi khóa KTB1 ƒ K AB (2,KTA1,KTB1) gửi MACK(2,KTA1,KTB1) cho A với thẻ Bước Kiến thiết thẻ khóa (A2) Thực thể A tính khóa bí mật chia sẻ : KAB = ((rA + π(KTA1)dA).l)(h.(KTB1 + π(KTB1)PB)) kiểm tra MACK(2,KTA1,KTB1) Tiếp A tính MACK(3,KTA1,KTB1) gửi cho B Bước Kiểm tra (B2) Thực thể B tính MACK(3,KTA1,KTB1) 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 Dạng thức KDF KDF(Z, Otherlnput) Otherlnput keydatalen OtherInfo (các đại lượng giải thích sau) Các giá trị cố định: hashlen: số nguyên độ dài đầu (theo bit) hàm băm sử dụng để dẫn xuất khối liệu khóa bí mật max_hash_inputlen: số ngun có giá trị độ dài lớn (theo bit) (các) chuỗi bit đầu vào hàm băm Các hàm bổ trợ: H: hàm băm chấp thuận hàm băm quy định QCVN : 2016/BQP Quy chuẩn kỹ thuật quốc gia Chữ ký số sử dụng lĩnh vực ngân hàng LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ Đầu vào: Z: Chuỗi byte bí mật chia sẻ trước keydatalen: số nguyên độ dài (theo bit) liệu khóa bí mật sinh ra; keydatalen cần nhỏ Hashlen x (232 - 1) OtherInfo: Chuỗi bit sau: AlgorithmlD||PartyAInfo||PartyBInfo||SuppPubInfo||SuppPrivInfo} trường định nghĩa sau: - AlgorithmID: Chuỗi bit cách thức phân tách liệu khóa dẫn xuất liệu khóa dẫn xuất sử dụng cho thuật tốn Ví dụ, AlgorithID bit 1-80 dùng 80-bit khóa cho HMAC bit 81-208 dùng 128-bit khóa cho AES - PartyAInfo: Một chuỗi bit chứa thông tin công khai yêu cầu ứng dụng sử dụng hàm KDF đóng góp bên A q trình dẫn xuất khóa, mức tối thiểu, PartyAInfo chứa IDA định danh bên A Xem ý phần - PartyBInfo: Một chuỗi bit chứa thông tin công khai yêu cầu ứng dụng sử dụng hàm KDF đóng góp bên B q trình dẫn xuất khóa, mức tối thiểu, PartyVInfo chứa IDB định danh bên B Xem ý phần - (Tùy chọn) SuppPubInfo: Một chuỗi bit chứa thông tin công khai bổ sung hai bên biết (mutual-known) - (Tùy chọn) SuppPrivInfo: Một chuỗi bit chứa thơng tin bí mật bổ sung hai bên biết (mutual-known) (Ví dụ, khóa bí mật đối xứng chia sẻ trước truyền thơng qua kênh riêng biệt) Thuật tốn: Tính reps = keydatalen/hashlen Nếu (reps > 232 - 1) ABORT: thị lỗi dừng Khởi tạo đếm chuỗi bit 32-bit big-endian counter 0000000116 Nếu counter||Z||OtherInfo có độ dài lớn max_hash_inputlen thị lỗi dừng lại Vịng lặp với i = đến reps, thực : 5.1 Tính Hashi = H(counter||Z||OtherInfo ) 5.2 Tăng counter lên (modulo 232), xử lý dạng số ngun khơng âm 32-bit Lấy Hash Hashreps (keydatalen/hashlen) số nguyên, ngược lại lấy số lượng (keydatalen mod hashlen) bit bên trái đoạn liệu Hashreps 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 tốn KDF tạo liệu khóa có độ dài lớn hashlen x (232 - 1) Bất kỳ lời gọi hàm KDF trường hợp sử dụng giá trị keydatalen lớn hashlen x (232 - 1) dẫn tới thị lỗi dừng mà không cho DerivedKeyingMaterial Bất kỳ lời gọi hàm KDF dùng để băm chuỗi bit có độ dài lớn max_hash_inputlen dẫn tới thông báo lỗi dừng mà không xuất DerivedKeyingMaterial Chú ý: a) IDA IDB biểu diễn OtherInfo hai đơn vị thông tin riêng rẽ LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ b) Bên A bên khởi tạo bên B bên trả lời giao thức sử dụng lược đồ thỏa thuận khóa 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 Ký hiệu hashlen độ dài đầu hàm hash chọn maxhashlen độ dài đầu vào cực đại hàm hash Đầu vào Đầu vào hàm dẫn xuất khóa - Z Xâu bit bí mật chia sẻ CHÚ THÍCH: Giao thức thỏa thuận khóa sử dụng mật mã đường cong elliptic dẫn xuất khóa bí mật chia sẻ KAB dạng điểm đường cong elliptic dạng ghép hai điểm Trong trường hợp thứ nhất, để có khóa mật chia sẻ Z làm đầu vào cho hàm dẫn xuất khóa phải áp dụng hàm π để chuyển điểm đường cong elliptic thành số nguyên từ chuyển sang xâu bit Trong trường hợp thứ hai áp dụng hàm π cho hai điểm để hai số nguyên z1,z2; hai số nguyên sau biến đổi thành xâu bít ghép lại với - Keydatalen số nguyên biểu thị độ dài tính bit liệu khóa tạo ra, nhỏ đại lượng hashlen x (232 - 1) - (Tùy chọn) Xâu bit SharedInfor gồm liệu hai thực thể dùng chung nhằm chia sẻ bí mật Z Thuật tốn Hàm dẫn xuất khóa tính sau: Khởi động đếm 32-bit 00000001 (Hệ thập lục) Vòng lặp với i = đến j = [keydatalen/hashlen] thực hiện: - Tính Hashi = H(Z || counter || Sharedlnfo) Tăng giá trị đếm Tăng i Giả sử HHashj biểu thị HHashj Keydatalen/hashlen số nguyên biểu thị (Keydatalen(hashlen x (j - 1))) bit bên trái Hashi trường hợp ngược lại Đặt Keydata = Hash1 || Hash2 || … || Hashj-1 || HHashj Đầu Là liệu khóa dạng xâu bit có độ dài keydatalen CHÚ THÍCH: Lưu ý hàm dẫn xuất khóa tạo liệu khóa có độ dài nhỏ hashlen x (232 1) bit Bất kì lược đồ gọi hàm dẫn xuất khóa cho xâu bít lớn hashlen x (232 1) bit cho thông báo “lỗi” dừng lại Tương tự, tất hàm dẫn xuất khóa gọi khơng băm xâu bít có độ dài lớn maxhashlen Bất kì lược đồ gọi hàm dẫn xuất khóa băm xâu bít có độ dài lớn maxhashlen cho thông báo “lỗi” dừng lại 2.5 Giao thức vận chuyển khóa bí mật Điều trình bày giao thức vận chuyển khóa bí mật, khóa truyền từ thực thể A sang thực thể B khóa truyền từ thực thể B sang thực thể A Bước Kiến thiết thẻ khóa (A1): Thực thể A tạo thẻ khóa KTA1 bao gồm số ngẫu nhiên rA trường liệu tùy chọn Text1 gửi cho thực thể B: KTA1 = rA || Text1 LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ Bước Mã khóa khối khóa (B1.1): Thực thể B có khóa KB muốn gửi cách an toàn cho thực thể A Trước hết B tạo khối liệu khóa bao gồm định danh riêng biệt bên gửi B, khóa KB trường liệu tùy chọn Text2 Thực thể B mã hóa khối liệu khóa phép mã cơng khai EA A, thu khối mã: BE1 = EA(IDB || KB || Text2) Bước Kiến thiết thẻ khóa (B1.2): Thực thể B tạo khối thẻ khóa bao gồm định danh riêng biệt bên nhận A, số ngẫu nhiên rA nhận bước 1, số ngẫu nhiên rB (tùy chọn) B tạo ra, khối mã BE1 trường liệu tùy chọn Text3 Tiếp đó, B tiến hành ký khối liệu thẻ phép ký bí mật gửi kết cho A: KTB1 = SB(rB || rA || IDA || BE1 || Text3) || Text4 Bước Kiểm tra thẻ khóa (A2.1): Thực thể A sử dụng phép kiểm tra công khai bên gửi VB để kiểm tra chữ ký số thẻ khóa nhận KTB1 Tiếp A kiểm tra định danh riêng biệt A kiểm tra giá trị nhận rA xem có khớp với số ngẫu nhiên nhận Bước (A1) hay khơng Bước Giải mã khối khóa (A2.2): Thực thể A tiến hành giải mã khối BE1 phép giải mã bí mật DA Tiếp đó, A kiểm tra định danh riêng biệt bên gửi B Nếu tất lần kiểm tra thành cơng A chấp nhận khóa KB Bước Mã khóa khối khóa (A2.3): Thực thể A có khóa KA muốn gửi cho B cách an toàn Trước hết, A tạo khối liệu khóa bao gồm định danh riêng biệt bên gửi A, khóa KA trường liệu tùy chọn Text5 Tiếp đến, A mã hóa khối liệu khóa phép mã công khai EB B để khối mã: BE2 = EB(IDA || KA || Text5) Bước Kiến thiết thẻ khóa (A2.4): Thực thể A tạo khối thẻ khóa bao gồm định danh riêng biệt bên nhận B, số ngẫu nhiên rA A tạo bước (A1), số ngẫu nhiên rB B tạo (B1.2), khối mã BE2 trường liệu tùy chọn Text6 Tiếp đó, A tiến hành ký khối liệu thẻ phép ký bí mật gửi kết cho B: KTA2 = SA(rA || rB || IDB || BE2 || Text6) || Text7 Bước Kiểm tra thẻ khóa (B2.1) Thực thể B sử dụng phép kiểm tra công khai bên gửi VA để kiểm tra chữ ký số thẻ khóa nhận KTA2 Tiếp B kiểm tra định danh riêng biệt B kiểm tra giá trị nhận rB xem có khớp với số ngẫu nhiên Bước (B1.2) hay không Ngoài ra, B kiểm tra giá trị ngẫu nhiên nhận rA xem có khớp với số ngẫu nhiên Bước (A1) hay không LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ Hình - Cơ chế vận chuyển khóa bí mật Bước Giải mã khối khóa (B2.2): Thực thể B tiến hành giải mã khối BE2 phép giải mã bí mật DB Tiếp đó, B kiểm tra định danh riêng biệt bên gửi A Nếu tất phép kiểm tra thành cơng B chấp nhận khóa KA CHÚ THÍCH: Trong tình có 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, cần thực giao thức từ bước đến bước 2.6 Giao thức vận chuyển khóa cơng khai Điều trình bày hai giao thức truyền thơng tin khóa cơng khai từ thực thể A đến thực thể B Giao thức thứ (giao thứ 2.6.1) không sử dụng bên thứ ba tin cậy, theo giao thức để kiểm tra tính tồn vẹn nguồn gốc thơng tin khóa công khai, hai thực thể sử dụng hàm băm quy định QCVN : 2016/BQP Giao thức thứ hai (giao thức 2.6.2) giả thiết LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ chứng thư khóa cơng khai hợp lệ CertA A cấp bên thứ ba tin cậy Tổ chức chứng thực cấp chứng khóa cơng khai CA, theo giao thức thực thể B truy cập vào có xác thực phép kiểm tra khóa cơng khai tổ chức 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 minh họa Hình Hình 3: Cơ chế vận chuyển khóa cơng khai Bước Kiến thiết thẻ khóa (A1): A tạo thẻ khóa KTA1 bao gồm thơng tin khóa cơng khai A gửi đến cho B: KTA1 = PKIA || Text1 Bước Tiếp nhận thẻ khóa (B1): B tiếp nhận thẻ khóa, trích lấy thơng tin khóa công khai PKIA Hoặc B thực kiểm tra khóa kiểm tra A lưu trữ nơi tránh giả mạo phục vụ lần kiểm tra sau sử dụng Bước Kiến tạo thẻ kiểm tra (A2): A tính tốn giá trị kiểm tra hash(PKIA) thơng tin khóa cơng khai gửi giá trị kiểm tra với định danh tùy chọn riêng biệt A B gửi đến thực thể B sử dụng kênh truyền có xác thực độc lập thứ hai (ví dụ kênh truyền điện báo đường truyền thư đăng ký trước) KTA2 = A || B || hash(PKIA) || Text2 Bước Kiểm tra thẻ khóa (B2): Dựa vào thơng tin thẻ khóa nhận KTA2, B tùy chọn kiểm tra định danh riêng biệt A B, tính tốn giá trị kiểm tra thơng tin khóa cơng khai A nhận từ thẻ khóa KTA1 so sánh với giá trị kiểm tra nhận từ thẻ khóa KTA2 Nếu kết kiểm tra thành cơng B lấy khóa cơng khai A đưa lên danh sách khóa hoạt động (danh sách bảo vệ chống lại 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 minh họa Hình LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Cơng ty Luật Minh Gia https://luatminhgia.com.vn/ Hình - Cơ chế vận chuyển khóa cơng khai Bước Kiến thiết thẻ khóa (A1): Thực thể A tạo thẻ khóa KTA bao gồm chứng khóa cơng khai A gửi cho B: KTA = CertA || Text Bước Kiểm tra chứng (B1): Dựa thơng tin nhận chứng khóa công khai, B sử dụng phép kiểm tra công khai VCA CA để kiểm tra tính xác thực thơng tin khóa cơng khai kiểm tra tính hợp lệ khóa cơng khai A 2.7 Quy định kỹ thuật cho tham số 2.7.1 Quy định nguồn ngẫu nhiên Các số ngẫu nhiên sử dụng cho mục đích khác để sinh tham số mật mã, khóa mật mã, giá trị ngẫu nhiên dùng lần giá trị thách đố xác thực Một số sinh bit ngẫu nhiên tất định DRBG chấp thuận để sử dụng theo quy định chung bao gồm: HASH_DRBG, HMAC_DRBG CTR_DRBG Các sinh bit ngẫu nhiên RBG tuân theo SP800-90A phiên sửa đổi lại năm 2015 để sinh bit ngẫu nhiên chấp thuận để sử dụng tiếp 2.7.2 Quy định tham số RSA 2.7.2.1 Các yêu cầu chung Số mũ công khai e cần phải chọn với ràng buộc sau: a) Số mũ công khai e cần chọn trước tạo số mũ bí mật d; b) Số mũ công khai e cần phải số nguyên dương lẻ cho 65,537 ≤ e < 2nlen-2security_strength Với nlen độ dài modulo n theo bit Chú ý e giá trị thỏa mãn ràng buộc 1(b); p q chọn (trong mục 2) cho e nguyên tố với (p - 1) (q - 1) Hai số nguyên tố p q tạo ngẫu nhiên giữ bí mật cần phải chọn với ràng buộc sau: a) (p - 1) (q - 1) cần phải nguyên tố với số mũ công khai e; LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ b) Mỗi bốn số (p + 1), (p - 1) (q + 1), (q - 1) cần phải có nhân tử nguyên tố lớn 2security-strength+20; c) Nhân tử nguyên tố bí mật p, q cần phải chọn ngẫu nhiên từ 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) Số mũ bí mật d cần phải lựa chọn sau tạo p q với ràng buộc: a) Số mũ d cần phải lớn 2(nlen/2), b) d = e-1mod(LCM((p - 1), (q - 1))) (Chi tiết hàm tạo tham số RSA tham khảo 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 Sau 2030 |p| = 3072 2.7.3 Hệ mật dựa Logarit rời rạc DL Tham số hệ mật dựa toán Logarit rời rạc trường hữu hạn Fp bộ: (p,q,g), p đặc số trường Fp, q bậc nhóm F*(p) ước p - thỏa mãn điều kiện sau: - p, q số nguyên tố - Độ dài p, q cho bảng sau: Năm Độ dài p Độ dài q Đến 2020 |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 2.7.4.1 Quy định khóa Kiểm tra tính hợp lệ tham số miền (p, SEED, a, b, G, n, h) sau: Xâu SEED dùng để sinh ngẫu nhiên đường cong Elliptic xác định trường Fp với p số nguyên tố lẻ Trước sử dụng tham số miền, tính hợp lệ phải kiểm tra theo thuật toán đây: Kiểm tra p số nguyên tố lẻ Kiểm tra a, b, xG, yG phần tử trường Fp Kiểm tra a b dẫn xuất tương ứng từ SEED Kiểm tra (4a3 + 27b2) khác j(E) ≠ 0; 1728 Fp Kiểm tra yG = xG + axG + b Fp LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ Kiểm tra n nguyên tố n > p Kiểm tra nG = OE Kiểm tra đường cong có thuộc danh sách đường cong yếu: a Thỏa mãn điều kiện MOV, (chú ý đường cong thỏa mãn điều kiện MOV đường cong siêu biến) b Kiểm tra đường cong khơng kì dị, nghĩa #E ≠ p Nếu kiểm tra thất bại tham số miền phải xem không hợp lệ Điều kiện MOV hiểu khơng có giá trị k ngun dương < k < B pk - chia hết cho n Trên thực hành |p| = 224 bit người ta xét với B = 15 đủ |pk| = 3360 > 2048 Các hệ số a,b đường cong sinh ngẫu nhiên Fp từ đầu vào SEED kiểm tra Khóa bí mật d phải sinh ngẫu nhiên khoảng [1,n - 1] Đường cong Elliptic xác định trường hữu hạn Fp với tối thiểu |p| = 224 bit xác định cụ thể sau: Độ dài bit n Độ dài bit p 224 - 255 |p| = 224 256 - 383 |p| = 256 384 - 511 |p| = 384 ≥ 512 |p| = 521 Đại lượng Cofactor định nghĩa ký hiệu h = #E(Fp)/n tuân theo bảng đây: Độ dài bit n Giá trị h cực đại cho phép 224 - 255 214 256 - 383 216 384 - 511 224 ≥ 512 232 2.7.5 Độ an toàn theo bit quy đổi RSA, DL ECC Độ an toàn ECC RSA DL 112 224 2048 2048 128 256 3072 3072 192 384 7680 7680 256 512 15360 15360 QUY ĐỊNH VỀ QUẢN LÝ 3.1 Các mức giới hạn đặc tính kỹ thuật mật mã yêu cầu quản lý khóa mật mã nêu Quy chuẩn tiêu chất lượng phục vụ quản lý theo quy định quản lý chất lượng sản phẩm, dịch vụ mật mã dân quy định Luật An tồ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ã quan quản lý nhà nước có thẩm quyền tiến hành định kỳ hàng năm đột xuất LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ 3.3 Quản lý sử dụng khóa mật mã: - Các loại khóa mật mã phải 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 mục đích quy định (chẳng hạn khóa dùng để mã khóa khác khơng sử dụng để mã hóa liệu), khơng sử dụng khóa hết hạn sử dụng hủy khóa trước thời hạn đảm bảo khả giải mã 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 bảo vệ chống lại mối nguy bị lộ (ngoại trừ khóa cơng khai), sửa đổi, phá hủy tái sử dụng Việc bảo vệ phải thực suốt vòng đời khóa Mục tiêu bảo vệ phải phù hợp với loại khóa Đối với khóa cơng khai cần đảm bảo tính tồn vẹn tính khả dụng, khóa bí mật phải đảm bảo đầy đủ ba tính chất: bí mật, tồn vẹn khả dụng Bảo vệ khóa phải kết hợp đồng giải pháp kỹ thuật mật mã, phương tiện vật lý phương tiện tổ chức để tạo vùng an tồn để cất giữ khóa, sử dụng khóa thực thi thuật tốn mật mã: + Khóa phải lưu trữ thiết bị lưu trữ an toàn tách biệt (được gọi vật mang khóa HSM, thẻ Token hay thẻ thơng minh) để đảm bảo khóa lưu trữ tương tác với thuật toán mật mã an tồn Trong trường hợp vật mang khóa mơ-đun an tồn phần cứng HSM, u cầu an tồn tối thiểu mức 3, trường hợp vật mang khóa thẻ Token hay thẻ thông minh, yêu cầu an toàn tối thiểu mức (mức an toàn quy định 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 tồ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 quy định QCVN : 2016/BQP QCVN : 2016/BQP) + Trường hợp hệ thống khóa tổ chức theo cấu trúc phân cấp, khóa tầng dùng để bảo vệ khóa tầng Khóa chủ, tức khóa tầng cao nhất, phải bảo vệ cách chia nhiều thành phần thành phần bảo vệ riêng Biện pháp nhằm chống nguy khóa bị lộ từ bên nội - Việc hủy khóa phải đảm bảo hủy bỏ tất ghi khóa, bao gồm dự phịng, cho khơng thể khơi phục thơng tin khóa dù phương tiện Đồng thời khơng để khóa bị hủy bỏ trước thời hạn nhằm đảm bảo khả giải mã liệu hết thời hạn bảo mật - Nếu khóa bị tổn thương bị nghi ngờ tổn thương có thay đổi chủ sở hữu phải thực thu hồi khóa để vơ hiệu hóa nguy bị lộ an tồn - Thiết bị lưu trữ khóa phải quản lý 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 chép bị đánh cắp Khơng cung cấp khóa cho người khơng có thẩm quyền 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 sở có tài sản 10 tỷ, tổ chức tài vi mơ) sử dụng sản phẩm, dịch vụ mật mã dân có trách nhiệm đảm bảo tuân thủ Quy chuẩn chịu kiểm tra 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 cho tổ chức tín dụng (trừ quỹ tín dụng nhân dân sở có tài sản 10 tỷ, tổ chức tài vi mơ) có trách nhiệm thực cơng bố hợp quy sản phẩm, dịch vụ mật mã dân phù hợp với Quy chuẩn Việc công bố hợp quy thực theo Thông tư số 28/2012/TT-BKHCN ngày 12 tháng 12 năm 2012 Bộ Khoa học Công nghệ 4.3 Cục Quản lý mật mã dân 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 quản lý, hướng dẫn kiểm tra việc công bố hợp quy TỔ CHỨC THỰC HIỆN LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 Công ty Luật Minh Gia https://luatminhgia.com.vn/ 5.1 Cục Quản lý mật mã dân 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ã Quản lý khóa theo Quy chuẩn 5.2 Trong trường hợp quy định nêu Quy chuẩn kỹ thuật quốc gia có thay đổi, bổ sung thay thực theo quy định văn mới./ LUẬT SƯ TƯ VẤN PHÁP LUẬT 24/7: 1900 6169 ... tháng 10 năm 2016 Bộ trưởng Bộ Quốc phòng QUY CHUẨN KỸ THUẬT QUỐC GIA VỀ MÃ HÓA DỮ LIỆU SỬ DỤNG TRONG LĨNH VỰC NGÂN HÀNG National technical regulation on data encryption used in banking QUY ĐỊNH... thuật tốn mã hóa liệu dùng sản phẩm mật mã dân sử dụng lĩnh vực ngân hàng 1.2 Đối tư? ??ng áp dụng Quy chuẩn áp dụng doanh nghiệp kinh doanh sản phẩm, dịch vụ mật mã dân lĩnh vực ngân hàng; tổ chức... 161/ 2016/ TT-BQP ngày 21 tháng 10 năm 2016 Bộ trưởng Bộ Quốc phòng 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 National technical regulation on digital signature used in banking

Ngày đăng: 24/10/2017, 02:40

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan