TIÊU CHUẨN QUỐC GIA TCVN 11817-4:2020 (ISO/IEC 9798-4:1999) VỀ CÔNG NGHỆ THÔNG TIN – CÁC KỸ THUẬT AN TOÀN – XÁC THỰC THỰC THỂ – PHẦN 4: CƠ CHẾ SỬ DỤNG HÀM KIỂM TRA MẬT MÃ

Hiệu lực: Còn hiệu lực

TIÊU CHUẨN QUỐC GIA

TCVN 118174 : 2020

ISO/IEC 9798-4 : 1999

CÔNG NGHỆ THÔNG TIN – CÁC KỸ THUẬT AN TOÀN – XÁC THỰC THỰC THỂ – PHẦN 4: CƠ CHẾ SỬ DỤNG HÀM KIỂM TRA MẬT MÃ

Information technology – Security techniques – Entity authentication – Part 4: Mechanisms using a crytographic check function

Lời nói đầu

TCVN 11817-4:2020 hoàn toàn tương đương với ISO/IEC 9798-4:1999, hiệu đính 1:2009 và hiệu đính 2:2012.

TCVN 11817-4:2020 (ISO/IEC 9798-4:1999) do Cục Quản lý mật mã dân sự và Kiểm định sản phẩm mật mã biên soạn, Ban Cơ yếu Chính phủ đề nghị, Tổng cục Tiêu chuẩn Đo lường Chất lượng thẩm định, Bộ Khoa học và Công nghệ công bố.

Bộ tiêu chuẩn TCVN 11817:2017 Công nghệ thông tin – Các kỹ thuật an toàn – Xác thực thực thể gồm các tiêu chuẩn sau:

– TCVN 11817-1:2017 (ISO/IEC 9798-1:2010), Phần 1: Tổng quan.

– TCVN 11817-2:2017 (ISO/IEC 9798-2:2008), Phần 2: Cơ chế sử dụng thuật toán mã hóa đối xứng.

– TCVN 11817-3:2017 (ISO/IEC 9798-3:1998), Phần 3: Cơ chế sử dụng kỹ thuật chữ ký số.

– TCVN 11817-4:2020 (ISO/IEC 9798-4:1999), Phần 4: Cơ chế sử dụng hàm kiểm tra mật mã.

– TCVN 11817-5:2020 (ISO/IEC 9798-5:2009), Phần 5: Cơ chế sử dụng kỹ thuật không tiết lộ thông tin.

– TCVN 11817-6:2020 (ISO/IEC 9798-6:2010), Phần 6: Cơ chế sử dụng truyền dữ liệu thủ công.

 

CÔNG NGHỆ THÔNG TIN – CÁC KỸ THUẬT AN TOÀN – XÁC THỰC THỰC THỂ – PHẦN 4: CƠ CHẾ SỬ DỤNG HÀM KIỂM TRA MẬT MÃ

Information technology – Security techniques – Entity authentication – Part 4: Mechanisms using a crytographic check function

1  Phạm vi áp dụng

Tiêu chuẩn này quy định các cơ chế xác thực thực thể sử dụng một hàm kiểm tra mật mã. Hai cơ chế liên quan đến xác thực của một thực thể đơn lẻ (xác thực một chiều), các cơ chế còn lại là các cơ chế xác thực lẫn nhau của hai thực thể.

Các cơ chế được quy định trong tiêu chuẩn này sử dụng các tham số biến thiên thời gian như tem thời gian, số tuần tự hoặc số ngẫu nhiên, để tránh tái sử dụng thông tin xác thực hợp lệ.

Nếu một tem thời gian hoặc số tuần tự được sử dụng, một lần chuyển là cần thiết cho xác thực một chiều, hai lần chuyển là cần thiết cho xác thực lẫn nhau. Nếu một thách thức và phương pháp phản hồi số ngẫu nhiên được sử dụng, hai lần chuyển là cần thiết cho xác thực một chiều, ba lần chuyển được yêu cầu cho xác thực lẫn nhau.

Các ví dụ của các hàm kiểm tra mật mã được đưa ra trong TCVN 11495 (ISO/IEC 9797).

2  Tài liệu viện dẫn

Các tài liệu viện dẫn sau đây là cần thiết cho việc áp dụng tiêu chuẩn này. Đối với tài liệu viện dẫn ghi năm công bố thì áp dụng phiên bản được nêu. Đối với tài liệu viện dẫn không ghi năm công bố thì áp dụng phiên bản mới nhất (bao gồm cả các sửa đổi, bổ sung).

– TCVN 11495 (ISO/IEC 9797) (tất cả các phần), Công nghệ thông tin – Các kỹ thuật an toàn – Mã xác thực thông điệp (MACs).

– TCVN 12852-1 (ISO/IEC 15946-1), Công nghệ thông tin – Các kỹ thuật an toàn – Kỹ thuật mật mã dựa trên đường cong elliptic – Phần 1: Tổng quan.

3  Thuật ngữ và định nghĩa

Trong tiêu chuẩn này áp dụng các thuật ngữ và định nghĩa có trong TCVN 11817-1.

Như định nghĩa trong TCVN 11817-1, X||Y được sử dụng để xác định kết quả của phép ghép mục dữ liệu X và Y theo trình tự quy định. Trong trường hợp kết quả của phép ghép hai hoặc nhiều mục dữ liệu là đầu vào của một thuật toán mật mã như là một phần của cơ chế xác thực, kết quả này được sắp đặt theo một trật tự vì vậy nó có thể là kết quả duy nhất đối với các xâu dữ liệu cấu thành, tức là để không có khả năng không rõ ràng trong việc biên dịch. Tính chất này có thể đạt được bằng nhiều cách khác nhau tùy thuộc vào ứng dụng. Ví dụ, nó có thể được đảm bảo bằng cách (a) ấn định chiều dài của mỗi xâu con trong suốt miền của cơ chế hoặc (b) mã hóa tuần tự phép ghép xâu sử dụng một phương pháp đảm bảo việc giải mã duy nhất, ví dụ sử dụng các quy tắc giải mã phân biệt được định nghĩa trong ISO/IEC 8825-1[3].

4  Các yêu cầu

Trong các cơ chế xác thực được mô tả tiêu chuẩn này, một thực thể cần được xác thực sẽ xác thực danh tính của nó bằng cách chứng minh thông tin về khóa xác thực bí mật. Điều này có được bằng cách thực thể sử dụng khóa bí mật của nó kết hợp với hàm kiểm tra mật mã được áp dụng cho dữ liệu cụ thể để có được giá trị kiểm tra mật mã. Giá trị kiểm tra mật mã có thể được kiểm tra bởi bất cứ ai có cùng khóa bí mật bí mật của thực thể, người mà có thể tính toán lại giá trị kiểm tra mật mã và so sánh nó với giá trị nhận được.

Cơ chế xác thực có những yêu cầu sau đây. Nếu một trong những yêu cầu này không được thỏa mãn thì quá trình xác thực bị thỏa hiệp hoặc không thể thực hiện được.

  1. a) Bên được xác thực xác thực chính mình với bên xác thực về một khóa chia sẻ xác thực bí mật chung với bên xác thực đó. Các bên liên quan phải biết trước khóa này trước khi bắt đầu bất kỳ hoạt động cụ thể nào của cơ chế xác thực. Phương pháp mà khóa được phân phối cho các thực thể nằm ngoài phạm vi của tiêu chuẩn này.
  2. b) Khóa xác thực bí mật được chia sẻ bởi bên được xác thực và bên xác thực sẽ chỉ được biết đến bởi hai thực thể đó, và có thể là cho các bên khác mà cả hai đều tin cậy.
  3. c) Độ an toàn của các cơ chế phụ thuộc vào độ dài và tính bí mật của khóa, về tính chất của các hàm kiểm tra mã hóa và về độ dài của giá trị kiểm tra. Các tham số này sẽ được chọn để đáp ứng mức bảo mật được yêu cầu, có thể được xác định bởi chính sách an toàn.
  4. d) Khóa xác thực bí mật được sử dụng trong cài đặt của bất kỳ một cơ chế nào được quy định trong tiêu chuẩn này phải khác với các khóa được sử dụng cho các mục đích khác nhau.
  5. e) Giá trị kiểm tra mật mã được sử dụng ở các nơi khác nhau trong cơ chế xác thực không được hoán đổi cho nhau.

CHÚ THÍCH Điều này có thể được thực hiện bằng cách bao gồm các phần tử sau trong xâu dữ liệu sử dụng để tính toán mỗi giá trị kiểm tra mật mã

– Định danh đối tượng đã được quy định trong phụ lục B, đặc biệt xác định tiêu chuẩn ISO, số phần, và cơ chế xác thực.

– Một hằng số mà xác định duy nhất giá trị kiểm tra mật mã trong cơ chế. Hằng số này có thể được bỏ qua trong cơ chế mà nó chỉ bao gồm một giá trị kiểm tra mật mã.

Bên nhận giá trị kiểm tra mật mã phải xác minh định danh đối tượng và hằng số xác định giá trị kiểm tra mật mã như mong đợi.

5  Các cơ chế

Trong các cơ chế xác thực này, các thực thể AB chia sẻ chung một khóa xác thực bí mật KAB hoặc hai khóa bí mật một chiều KABKBA trước khi bắt đầu bất kỳ hoạt động cụ thể nào của cơ chế xác thực. Trong trường hợp thứ hai, các khóa một chiều KABKBA được sử dụng lần lượt để xác thực A bằng BB bằng A.

Các cơ chế yêu cầu sử dụng các tham số biến thiên theo thời gian như tem thời gian, số tuần tự hoặc số ngẫu nhiên. Các thuộc tính của tham số biến thiên theo thời gian rất quan trọng đối với sự an toàn của các cơ chế này. Đặc biệt, các tham số sẽ được chọn sao cho không lặp lại trong vòng đời của khóa xác thực. Để biết thêm thông tin, xem phụ lục B của tiêu chuẩn này.

Việc sử dụng các trường văn bản được mô tả trong các cơ chế sau nằm ngoài phạm vi của tiêu chuẩn này (có thể để trống) và sẽ phụ thuộc vào từng ứng dụng cụ thể. Xem Phụ lục A để biết thông tin về việc sử dụng các trường văn bản.

Một trường văn bản chỉ có thể được đính kèm với đầu vào của hàm kiểm tra mã hóa nếu bên xác thực có thể xác định được nó một cách độc lập, ví dụ như nếu nó được biết trước, được gửi dưới dạng rõ hoặc có thể là ở một hoặc cả hai dạng này.

5.1  Xác thực một chiều

Xác thực một chiều có nghĩa là chỉ một trong hai thực thể được xác thực bằng cách sử dụng cơ chế này.

5.1.1  Xác thực một lần chuyển

Trong cơ chế xác thực này, bên được xác thực A bắt đầu quá trình và được xác thực bởi bên kiểm tra B. Tính duy nhất/tính đúng lúc được kiểm soát bằng cách tạo và kiểm tra tem thời gian hoặc một số tuần tự (xem phụ lục B của TCVN 11817-1).

Cơ chế xác thực được minh họa trong hình 1.

Hình 1

Thẻ TokenAB được gửi từ bên được xác thực A đến bên xác thực B có dạng là:

Trong đó bên được xác thực A sử dụng một dãy số NA hoặc tem thời gian TA là tham số biến thiên theo thời gian. Việc lựa chọn phụ thuộc vào khả năng kỹ thuật của bên được xác thực và bên xác thực cũng như phụ thuộc vào môi trường. Theo định nghĩa trong TCVN 11817-1 (ISO/IEC 9798-1), fK(X) biểu thị giá trị kiểm tra mật mã được tính bằng cách áp dụng hàm kiểm tra mật mã f cho dữ liệu X sử dụng khóa K.

Việc sử dụng thẻ định danh phân biệt B vào thẻ TokenAB là tùy chọn.

CHÚ THÍCH Thẻ định danh phân biệt B được đính kèm vào thẻ TokenAB để ngăn chặn việc sử dụng lại TokenAB đối với thực thể A bởi kẻ tấn công bằng cách giả mạo B. Việc đính kèm này là tùy chọn sao cho trong các môi trường mà các cuộc tấn công như vậy không thể xảy ra, thì nó có thể bị bỏ qua.

Thẻ định danh phân biệt B có thể bị bỏ qua nếu sử dụng khóa một chiều.

(1) A tạo và gửi TokenAB cho B.

(2) Khi nhận được thông điệp có chứa TokenAB, B xác thực TokenAB bằng cách kiểm tra tem thời gian hoặc số tuần tự, thực hiện tính:

Và so sánh nó với giá trị kiểm tra mật mã của thẻ, từ đó xác định được tính chính xác của thẻ định danh phân biệt B, nếu được sử dụng cũng như so sánh tem thời gian hoặc số tuần tự.

5.1.2  Xác thực hai lần chuyển

Trong cơ chế xác thực này, bên được xác thực A được xác thực bởi bên xác thực B và cũng là người bắt đầu quá trình. Tính duy nhất/tính đúng lúc được kiểm soát bằng cách tạo và kiểm tra một số ngẫu nhiên RB (xem phụ lục B của TCVN 11817-1 (ISO/IEC 9798-1)).

Cơ chế xác thực được minh họa trong hình 2:

Hình 2

TokenAB được gửi bởi bên được xác thực A tới bên xác thực B có dạng như sau:

Việc đưa thẻ định danh phân biệt B vào TokenAB là tùy chọn.

CHÚ THÍCH Thẻ định danh phân biệt B được đưa vào TokenAB để ngăn chặn cuộc tấn công ánh xạ, trong đó kẻ tấn công sẽ giả mạo A để gửi thử thách RB cho B. Việc đính kèm này là tùy chọn sao cho trong các môi trường mà các cuộc tấn công như vậy không thể xảy ra, thì nó có thể bị bỏ qua.

Thẻ định danh phân biệt B có thể bị bỏ qua nếu sử dụng khóa một chiều.

(1) B tạo một số ngẫu nhiên RB, trường văn bản Text1 (tùy chọn) rồi gửi cho A.

(2) A tạo và gửi TokenAB cho B.

(3) Khi nhận được thông điệp chứa TokenAB, B xác thực TokenAB bằng cách thực hiện tính:

Và thực hiện so sánh nó với giá trị kiểm tra mật mã của thẻ, từ đó xác định tính chính xác của thẻ định danh phân biệt B (nếu được sử dụng) và của số ngẫu nhiên RB được gửi cho A ở bước (1), được sử dụng trong quá trình tạo thẻ TokenAB.

5.2  Xác thực lẫn nhau

Xác thực lẫn nhau có nghĩa là hai thực thể giao tiếp được chứng thực với nhau bằng cách sử dụng cơ chế này.

Hai cơ chế được mô tả trong 5.1.1 và 5.1.2 sẽ được điều chỉnh trong 5.2.1 và 5.2.2 để có thể xác thực được lẫn nhau. Trong cả hai trường hợp, chúng đòi hỏi một lần xác thực nữa và kết quả trong hai bước nữa.

CHÚ THÍCH Một cơ chế thứ ba để xác thực lẫn nhau có thể được xây dựng từ hai trường hợp của cơ chế được mô tả trong 5.1.2, trường hợp được bắt đầu bởi thực thể A, trường hợp còn lại được bắt đầu bởi thực thể B.

5.2.1  Xác thực hai lần chuyển

Trong cơ chế xác thực này tính duy nhất/tính đúng lúc được kiểm soát bằng cách tạo và kiểm tra các tem thời gian hoặc các số tuần tự (xem phụ lục B của TCVN 11817-1 (ISO/IEC 9798-1)).

Cơ chế xác thực được mô tả trong hình 3:

Hình 3

Thẻ TokenAB được gửi bởi A tới B giống với thẻ được mô tả trong mục 5.1.1

Thẻ TokenAB được gửi bởi B tới A có dạng như sau:

Việc đính kèm thẻ định danh phân biệt B trong TokenAB và việc đính kèm thẻ định danh phân biệt A trong TokenBA là tùy chọn (một cách độc lập).

CHÚ THÍCH 1: Thẻ định dạng phân biệt B được đính kèm trong TokenAB để ngăn chặn kẻ tấn công giả mạo thực thể B sử dụng lại TokenAB đối với thực thể A. Vì những lý do tương tự, thẻ định dạng phân biệt A có trong TokenBA. Việc đính kèm của hai thẻ này là tùy chọn sao cho trong các môi trường mà các cuộc tấn công như vậy không thể xảy ra, một hoặc cả hai thẻ có thể bị bỏ qua.

Các thẻ định dạng phân biệt A và B cũng có thể bị bỏ qua nếu sử dụng các khóa một chiều (xem bên dưới).

Việc lựa chọn sử dụng tem thời gian hoặc số tuần tự trong cơ chế này phụ thuộc vào khả năng của bên được xác thực và bên xác thực cũng như phụ thuộc vào môi trường.

Các bước (1) và (2) giống với các bước được mô tả trong 5.1.1, xác thực một lần.

(3) B tạo và gửi TokenBA cho A.

(4) Thông điệp trong bước (3) được xử lý tương tự như trong bước (2) của mục 5.1.1.

CHÚ THÍCH 2: Hai thông điệp của cơ chế này không bị ràng buộc với nhau dưới bất kỳ hình thức nào, ngoại trừ tính đúng lúc; cơ chế liên quan tới việc sử dụng hai lần cơ chế 5.1.1 một cách độc lập. Có thể kết hợp thêm các thông điệp này với nhau bằng cách sử dụng đúng các trường văn bản (xem phụ lục A).

Nếu các khóa một chiều được sử dụng thì khóa KAB trong TokenBA được thay thế bằng khóa một chiều KBA và khóa thích hợp sẽ được sử dụng trong bước (4).

5.2.2  Xác thực ba lần

Trong cơ chế xác thực này tính duy nhất/tính đúng lúc được kiểm soát bằng cách tạo và kiểm tra một số ngẫu nhiên (xem phụ lục B của ISO/IEC 9798-1).

Cơ chế xác thực được mô tả trong hình 4:

Hình 4

Các thẻ có dạng như sau:

Việc đưa thẻ định danh phân biệt B vào TokenAB là tùy chọn.

CHÚ THÍCH Thẻ định danh phân biệt B được đưa vào TokenAB để ngăn chặn cuộc tấn công phản xạ, trong đó kẻ tấn công sẽ giả mạo A để gửi thử thách RB cho B. Việc đính kèm này là tùy chọn sao cho trong các môi trường mà các cuộc tấn công như vậy không thể xảy ra, thì nó có thể bị bỏ qua.

Thẻ định danh phân biệt B có thể bị bỏ qua nếu sử dụng khóa một chiều (xem phần dưới).

(1) B tạo một số ngẫu nhiên RB, trường văn bản Text1 (tùy chọn) rồi gửi cho A.

(2) A tạo một số ngẫu nhiên RA, tạo và gửi TokenAB cho B.

(3) Khi nhận được thông điệp có chứa TokenAB, B xác thực TokenAB bằng cách thực hiện tính:

Và so sánh nó với giá trị kiểm tra mật mã của thẻ, từ đó xác thực tính chính xác của thẻ định danh phân biệt B, nếu có, và số ngẫu nhiên RB, gửi tới a ở bước (1), được sử dụng để xây dựng TokenAB.

(4) B tạo và gửi TokenBA cho A.

(5) Khi nhận được thông điệp có chứa TokenBA, A xác thực TokenBA bằng cách thực hiện tính:

Và so sánh nó với giá trị kiểm tra mật mã của thẻ, từ đó xác thực số ngẫu nhiên RB, nhận được từ B trong bước (1), được sử dụng trong việc tạo ra TokenBA và xác thực số ngẫu nhiên RA, gửi đến B trong bước (2), được sử dụng trong việc tạo ra TokenBA.

Nếu các khóa một chiều được sử dụng thì khóa KAB trong TokenBA được thay thế bằng khóa một chiều KBA và khóa thích hợp sẽ được sử dụng trong bước (5).

 

Phụ lục A

(tham khảo)

Việc sử dụng các trường văn bản

Các thẻ được mô tả tại Điều 5 của tiêu chuẩn này có chứa các trường văn bản. Trong thực tế, việc sử dụng và các mối quan hệ giữa các trường văn bản khác nhau trong một lần xác thực nhất định tùy thuộc vào ứng dụng.

Ví dụ: thông qua việc đưa vào một trường văn bản thích hợp, ví dụ: Text1 của TokenAB trong mục 5.1.1, thông tin có thể được sử dụng để tính toán giá trị kiểm tra mã hóa của thẻ. Bằng cách này, việc xác thực nguồn gốc dữ liệu có thể được cung cấp cho thông tin này.

Xem Phụ lục A của TCVN 11817-1 (ISO/IEC 9798-1) để biết thêm ví dụ về việc sử dụng trường văn bản.

 

Phụ lục B

(quy định)

Các định danh đối tượng

Phụ lục này liệt kê các định danh đối tượng được gán cho các cơ chế được quy định trong tiêu chuẩn này.

 

Thư mục tài liệu tham khảo

[1] ISO/IEC 8825-1, Information technology ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)

 

MỤC LỤC

Lời nói đầu

1  Phạm vi áp dụng

2  Tài liệu viện dẫn

3  Thuật ngữ và định nghĩa

4  Các yêu cầu

5  Các cơ chế

5.1  Xác thực một chiều

5.1.1  Xác thực một lần chuyển

5.1.2  Xác thực hai lần chuyển

5.2  Xác thực lẫn nhau

5.2.1  Xác thực hai lần chuyển

5.2.2  Xác thực ba lần

Phụ lục A (tham khảo) Việc sử dụng các trường văn bản

Phụ lục B (quy định) Các định danh đối tượng

Thư mục tài liệu tham khảo

TIÊU CHUẨN QUỐC GIA TCVN 11817-4:2020 (ISO/IEC 9798-4:1999) VỀ CÔNG NGHỆ THÔNG TIN – CÁC KỸ THUẬT AN TOÀN – XÁC THỰC THỰC THỂ – PHẦN 4: CƠ CHẾ SỬ DỤNG HÀM KIỂM TRA MẬT MÃ
Số, ký hiệu văn bản TCVN11817-4:2020 Ngày hiệu lực
Loại văn bản Tiêu chuẩn Việt Nam Ngày đăng công báo
Lĩnh vực Giao dịch điện tử
Ngày ban hành 01/01/2020
Cơ quan ban hành Tình trạng Còn hiệu lực

Các văn bản liên kết

Văn bản được hướng dẫn Văn bản hướng dẫn
Văn bản được hợp nhất Văn bản hợp nhất
Văn bản bị sửa đổi, bổ sung Văn bản sửa đổi, bổ sung
Văn bản bị đính chính Văn bản đính chính
Văn bản bị thay thế Văn bản thay thế
Văn bản được dẫn chiếu Văn bản căn cứ

Tải văn bản