TIÊU CHUẨN QUỐC GIA TCVN 11817-6:2020 (ISO/IEC 9798-6:2010) VỀ CÔNG NGHỆ THÔNG TIN – CÁC KỸ THUẬT AN TOÀN – XÁC THỰC THỰC THỂ – PHẦN 6: CƠ CHẾ SỬ DỤNG TRUYỀN DỮ LIỆU THỦ CÔNG
TCVN 11817-6 : 2020
ISO/IEC 9798-6 : 2010
CÔNG NGHỆ THÔNG TIN – CÁC KỸ THUẬT AN TOÀN – XÁC THỰC THỰC THỂ – PHẦN 6: CƠ CHẾ SỬ DỤNG TRUYỀN DỮ LIỆU THỦ CÔNG
Information technology – Security techniques – Entity authentication – Part 6: Mechanisms using manual data transfer
Lời nói đầu
TCVN 11817-6:2020 hoàn toàn tương đương với ISO/IEC 9798-6:2010.
TCVN 11817-6:2020(ISO/IEC 9798-6:2010) 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 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 6: CƠ CHẾ SỬ DỤNG TRUYỀN DỮ LIỆU THỦ CÔNG
Information technology – Security techniques – Entity authentication – Part 6: Mechanisms using manual data transfer
1 Phạm vi áp dụng
Tiêu chuẩn này quy định tám cơ chế xác thực thực thể dựa trên việc truyền dữ liệu thủ công giữa các thiết bị xác thực. Nó xác định cách thức các cơ chế có thể được sử dụng để hỗ trợ các phương thức quản lý khóa, và cung cấp hướng dẫn cho việc lựa chọn an toàn các tham số cho các cơ chế. Nó cũng cung cấp một sự so sánh về cấp độ an toàn và tính thuận tiện được cung cấp bởi tám cơ chế này.
Các cơ chế này có thể phù hợp với nhiều hoàn cảnh khác nhau. Một ứng dụng như thế xảy ra trong các mạng cá nhân, trong đó chủ sở hữu của hai thiết bị truyền thông vô tuyến mong muốn chúng có thể thực hiện thủ tục xác thực thực thể như là một phần của quy trình chuẩn bị sử dụng chúng trên mạng.
2 Tài liệu viện dẫn
Tài liệu viện dẫn sau đây là cần thiết để á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 11817-1:2016, Công nghệ thông tin – Các kỹ thuật an toàn – Xác thực thực thể – 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 và dưới đây.
3.1
Giá trị kiểm tra (check-value)
Xâu bit là đầu ra được tính toán bởi một hàm kiểm tra giá trị, được gửi từ bên tạo ra dữ liệu đến bên nhận dữ liệu cho phép bên nhận dữ liệu kiểm tra độ chính xác của dữ liệu đó.
3.2
Hàm kiểm tra giá trị (check-value function)
Hàm f ánh xạ một xâu bit và một khóa bí mật ngắn, có nghĩa là một khóa có thể được thêm vào hoặc đọc từ một thiết bị của người sử dụng, thành một xâu bít có độ dài cố định, có nghĩa là một giá trị kiểm tra b, thỏa mãn các tính chất sau đây:
– Đối với mỗi khóa k và bất kỳ xâu đầu vào d, hàm f(d,k) có thể được tính toán một cách thuận tiện;
– Bằng cách tính toán không thể tìm kiếm một cặp các xâu dữ liệu khác nhau (d, d’) sao cho số lượng khóa thỏa mãn f(d,k)=f(d’,k) là lớn hơn tập hợp khóa có thể.
CHÚ THÍCH Trong thực tế, một khóa ngắn thường bao gồm 4-6 chữ số hoặc ký tự chữ cái.
3.3
Xác thực nguồn gốc dữ liệu (data origin authentication)
Xác thực nguồn dữ liệu nhận được đúng như được yêu cầu
3.4
Giá trị tóm lược (digest-value)
Xâu bit là đầu ra được tính toán bởi một hàm tóm lược, được gửi từ bên tạo ra dữ liệu đến bên nhận dữ liệu cho phép bên nhận dữ liệu kiểm tra độ chính xác của nó
3.5
Hàm tóm lược (digest function)
Hàm d ánh xạ một xâu bít và một khóa bí mật dài thành một xâu bít có độ dài cố định, có nghĩa là một giá trị tóm lược a, thỏa mãn các tính chất sau đây:
– Đối với mỗi khóa k và bất kỳ xâu đầu vào m, hàm d(m,k) có thể được tính toán một cách thuận tiện;
– Bằng cách tính toán không thể tìm kiếm một cặp các xâu dữ liệu khác nhau (m, m’) sao cho số lượng khóa thỏa mãn d(m,k)=d(m’,k) là lớn hơn (2-b + ε), trong đó, b là độ dài tính theo bit của giá trị tóm lược và ε là một giá trị nhỏ không đáng kể so với 2-b.
CHÚ THÍCH 1 Trong thực tế, tính chất thứ hai của hàm tóm lược có thể được thỏa mãn nếu khóa k có độ dài của một giá trị băm mật mã điển hình, ví dụ 160 bit. Yêu cầu này được xuất phát từ cận dưới về mặt lý thuyết của độ dài khóa cho các hàm băm phổ biến, là lớp chung của các hàm tóm lược. Chi tiết về vấn đề này sẽ được tìm thấy trong Phụ lục F.
CHÚ THÍCH 2 Xem Phụ lục D, F và G để biết thêm chi tiết về khóa và độ dài tóm lược.
3.6
Hàm băm (hash-function)
Hàm ánh xạ các xâu bit thành các xâu có độ dài cố định, thỏa mãn hai tính chất sau đây:
– Với một giá trị đầu ra cho trước, không thể tính toán để tìm được một giá trị đầu vào ánh xạ đến giá trị đầu ra đó;
– Với một giá trị đầu vào cho trước, không thể tính toán để tìm được một giá trị đầu vào khác sao cho ánh xạ đến cùng một giá trị đầu ra
[TCVN 11816-1]
3.7
Chứng thư xác thực thủ công (manual authentication certificate)
Sự kết hợp của một khóa bí mật và một giá trị kiểm tra, được tạo ra bởi một hoặc hai thiết bị tham gia trong quá trình xác thực thủ công, với thuộc tính là, khi được đưa vào thiết bị khác, cặp giá trị này có thể được sử dụng để hoàn thiện quá trình xác thực thủ công ở một số thời điểm sau đó
3.8
Mã xác thực thông điệp MAC (Message Authentication Code)
Xâu bít là đầu ra của một thuật toán MAC
[TCVN 11495-1]
3.9
Thuật toán mã xác thực thông điệp (Message Authentication Code algorithm)
Thuật toán để tính toán một hàm ánh xạ các xâu bit và một khóa bí mật thành các xâu bit có độ dài cố định thỏa mãn các tính chất sau đây:
– Đối với bất kỳ khóa và xâu đầu vào nào hàm cũng có thể được tính toán một cách thuận tiện;
– Đối với bất kỳ khóa cố định và không biết trước khóa, không thể tính toán giá trị của hàm đối với bất kỳ xâu đầu vào mới nào, kể cả khi biết về các xâu đầu vào và các giá trị hàm tương ứng, trong đó giá trị thứ i của xâu đầu vào có thể được lựa chọn sau khi biết giá trị thứ i – 1 của hàm.
[TCVN 11495-1]
3.10
Xác thực thực thể thủ công (manual entity authentication)
Quá trình xác thực thực thể giữa hai thiết bị sử dụng một sự kết hợp của các trao đổi thông điệp thông qua một kênh truyền thông (có thể là không an toàn) và sự truyền thủ công một lượng dữ liệu hạn chế giữa các thiết bị
3.11
Giao diện đầu vào đơn giản (simple input interface)
Giao diện của thiết bị cho phép người sử dụng xác định thiết bị thành công hay không thành công trong việc hoàn thành một thủ tục, có nghĩa là có thể được triển khai dưới dạng một cặp các nút hoặc một nút có thể ấn hoặc không trong một khoảng thời gian nhất định
3.12
Giao diện đầu ra đơn giản (simple output interface)
Giao diện của thiết bị cho phép thiết bị xác định người sử dụng thành công hay không thành công trong việc hoàn thành một thủ tục, có nghĩa là có thể được triển khai dưới dạng các đèn đỏ và xanh hoặc chỉ với một đèn có thể sáng theo các cách khác nhau để biểu thị thành công hay thất bại
4 Ký hiệu và chữ viết tắt
Trong tiêu chuẩn này áp dụng các ký hiệu và chữ viết tắt được quy định trong TCVN 12855-2 và dưới đây:
A, B | Các nhãn được sử dụng cho hai thiết bị tham gia trong một cơ chế xác thực thực thể thủ công. |
d | Hàm tóm lược, được sử dụng trong các cơ chế 3 và 5, trong đó, d(D,k) biểu thị giá trị tóm lược được tính toán từ xâu dữ liệu D sử dụng khóa k. |
D | Xâu dữ liệu mà giá trị của nó được thiết lập giữa hai thiết bị A và B như là kết quả thực hiện một cơ chế xác thực thực thể thủ công. |
h | Hàm băm, được sử dụng trong các cơ chế 3-6. |
IA, IB | Định danh của A và B. |
K | Khóa bí mật (ngắn) được sử dụng cùng với một hàm kiểm tra giá trị trong các cơ chế 1 và 2. |
k | Khóa bí mật (dài) được sử dụng trong các cơ chế 3-6. |
KA, KAi, KB, KBi | Các khóa MAC ngẫu nhiên được sử dụng trong các cơ chế 7 và 8. |
MAC | Mã xác thực thông điệp. |
R | Xâu bit ngẫu nhiên (ngắn) được sử dụng trong các cơ chế 4, 5, 7 và 8. |
|| | Như đã được định nghĩa trong TCVN 11817-1, X||Y được sử dụng với ý nghĩa là kết quả của việc ghép dữ liệu của đối tượng X và Y theo thứ tự đã được quy định đó. Trong các trường hợp mà kết quả của sự ghép hai hay nhiều đối tượng là đầu vào của một hàm là một phần của các cơ chế được quy định trong văn bản này, kết quả này sẽ được sắp xếp lại thành các xâu dữ liệu đảm bảo tính duy nhất, có nghĩa là không gây khó khăn trong việc biên dịch. Thuộc tính thứ hai này có thể đạt được bằng nhiều cách khác nhau, phụ thuộc vào ứng dụng. Ví dụ, có thể được đảm bảo bằng cách (a) cố định độ dài của các xâu con trong suốt miền sử dụng của cơ chế hoặc (b) mã dãy các xâu đã được ghép bằng cách sử dụng một phương thức đảm bảo giải mã duy nhất, có nghĩa là sử dụng quy tắc mã đặc trưng được định nghĩa trong ISO/IEC 8825-1. |
CHÚ THÍCH Các phụ lục D và F sẽ cung cấp hướng dẫn về những sự lựa chọn độ dài cho các khóa bí mật ngắn và khóa MAC.
5 Các yêu cầu chung
Các cơ chế xác thực được quy định trong tài liệu này có các yêu cầu sau ngoài các yêu cầu cụ thể được quy định tại khoản 6, 7 và 8.
a) Cặp thiết bị thực hiện thủ tục xác thực thủ công phải được kết nối thông qua liên kết truyền thông (ví dụ: liên kết không dây hoặc Internet). Không có giả định bảo mật nào được thực hiện liên quan đến liên kết này; có nghĩa là, các cơ chế được thiết kế để hoạt động an toàn ngay cả trong môi trường mà kẻ tấn công có thể theo dõi và thay đổi dữ liệu được truyền trên liên kết này.
b) Cặp thiết bị thực hiện thủ tục xác thực thủ công sẽ có cả giao diện người sử dụng có khả năng cung cấp dữ liệu và đầu ra dữ liệu.
c) Giao diện đầu vào dữ liệu người sử dụng cho một thiết bị, tối thiểu, phải có khả năng xác định sự thành công hoặc không thành công của việc hoàn tất một thủ tục (ví dụ như có thể được triển khai bằng cách sử dụng hai nút hoặc một nút duy nhất có thể hoặc được nhấn hoặc không trong một khoảng thời gian nhất định); một phương tiện đầu vào dữ liệu như vậy được gọi như một giao diện đầu vào đơn giản. Ngược lại, giao diện đầu vào tiêu chuẩn sẽ cung cấp phương tiện cho đầu vào của một xâu các ký hiệu ngắn, ví dụ: phím số, thập lục phân hoặc chữ. Trừ khi có quy định rõ ràng khác, mọi thiết bị đều cần có phương tiện nhập dữ liệu tiêu chuẩn.
d) Giao diện đầu ra dữ liệu người sử dụng cho một thiết bị, tối thiểu, có phải khả năng biểu thị sự thành công hay thất bại của một thủ tục xác thực (ví dụ như có thể được thực hiện bằng đèn đỏ và xanh); một phương tiện đầu ra dữ liệu như vậy được gọi là một giao diện đầu ra đơn giản. Ngược lại, giao diện đầu ra tiêu chuẩn sẽ cung cấp phương tiện cho đầu ra của một xâu các ký hiệu ngắn, ví dụ: hiển thị số, thập lục phân hoặc chữ. Trừ khi có quy định rõ ràng khác, mọi thiết bị đều cần có phương tiện đầu ra dữ liệu chuẩn.
e) Đối với cơ chế 1 và 2, hai thiết bị thực hiện thủ tục xác thực thực thể phải thỏa thuận về việc sử dụng một hàm kiểm tra giá trị cụ thể và phải có phương tiện để cài đặt hàm này.
CHÚ THÍCH 1 Hướng dẫn về các lựa chọn các hàm kiểm tra giá trị và độ dài của giá trị kiểm tra và các khóa ngẫu nhiên thích hợp để sử dụng trong cơ chế 1 và 2 được trình bày trong Phụ lục D. Việc tạo một hàm kiểm tra giá trị an toàn vô điều kiện phù hợp để sử dụng với cơ chế 1 và 2 được đưa ra trong Phụ lục E.
f) Đối với các cơ chế 3-6, hai thiết bị thực hiện thủ tục xác thực thực thể phải thỏa thuận về việc sử dụng một hàm băm cụ thể h và phải có phương tiện để cài đặt hàm này.
CHÚ THÍCH 2 Hướng dẫn về các lựa chọn độ dài tính bằng bit cho đầu vào và đầu ra thích hợp của hàm băm để sử dụng trong các cơ chế 3-6 được trình bày trong Phụ lục D.
g) Đối với các cơ chế 3 và 5, hai thiết bị thực hiện thủ tục xác thực thực thể phải thỏa thuận về việc sử dụng hàm tóm lược cụ thể d và phải có phương tiện để cài đặt hàm này.
CHÚ THÍCH 3 Hướng dẫn về độ dài tóm lược để sử dụng trong cơ chế 3 và 5 được trình bày trong Phụ lục D. Việc tạo các hàm tóm lược sử dụng thuật toán MAC và hàm băm phù hợp để sử dụng với cơ chế 3 và 5 được đưa ra trong Phụ lục G.
h) Đối với các Cơ chế 7 và 8, hai thiết bị thực hiện thủ tục xác thực thực thể phải thỏa thuận về việc sử dụng một thuật toán MAC cụ thể và phải có phương tiện để cài đặt thuật toán này.
CHÚ THÍCH 4 Hướng dẫn về các lựa chọn các thuật toán MAC và độ dài cho MAC và các khóa ngẫu nhiên thích hợp để sử dụng trong các cơ chế 7 và 8 được trình bày trong Phụ lục D.
i) Trước khi thực thi các cơ chế 1-8, hai thiết bị thực hiện các cơ chế phải trao đổi một xâu dữ liệu D (kết hợp với giá trị băm trong các cơ chế 3-6). D có thể được tạo ra bởi một thiết bị và được gửi đến thiết bị khác, hoặc nó có thể là sự ghép nối dữ liệu được tạo ra bởi cả hai thiết bị và được gửi theo cả hai hướng trên liên kết truyền thông được chia sẻ.
j) Một người sử dụng đơn lẻ sở hữu cả hai thiết bị và vận hành cả hai thiết bị hoặc hai thiết bị sẽ được vận hành bởi hai người sử dụng có chia sẻ một phương tiện truyền thông đáng tin cậy.
k) Người sử dụng thiết bị phải tham gia trong toàn bộ quá trình hoạt động để đảm bảo các cơ chế này diễn ra một cách chính xác. Sẽ không có sự chậm trễ đáng kể nào trong việc truyền dữ liệu thủ công giữa các thiết bị trong quá trình hoạt động này. Các thiết bị sẽ tự động hết thời gian như được quy định trong các đặc tả kỹ thuật của cơ chế để loại trừ các cuộc tấn công nhất định.
6 Các cơ chế sử dụng giá trị một giá trị kiểm tra ngắn
6.1 Tổng quan
Trong điều này, hai cơ chế xác thực thủ công được quy định dựa trên việc sử dụng một giá trị kiểm tra. Hai cơ chế này phù hợp với nhiều loại thiết bị khác nhau. Cụ thể là
– Cơ chế thứ nhất (cơ chế 1) là thích hợp trong trường hợp một thiết bị có giao diện đầu vào đơn giản và một thiết bị còn lại có giao diện đầu ra đơn giản, và
– Cơ chế thứ hai (cơ chế 2) là thích hợp trong trường hợp cả hai thiết bị đều có giao diện đầu vào đơn giản.
Giao diện đầu vào hoặc đầu ra tiêu chuẩn có thể mô phỏng một giao diện đơn giản, và do đó nếu cả hai thiết bị có giao diện đầu vào và đầu ra tiêu chuẩn thì có thể sử dụng một trong hai cơ chế này.
Cả hai cơ chế hoạt động theo cách thức tổng quát sau đây. Một xâu dữ liệu D được chuyển từ một thiết bị này sang thiết bị khác (hoặc là một sự ghép nối dữ liệu được truyền theo cả hai hướng) thông qua liên kết truyền thông được chia sẻ. Sau đó, cơ chế xác thực thực thể thủ công được thực hiện. Và kết quả của cơ chế là cả hai thiết bị đều có được sự đảm bảo rằng xâu dữ liệu D mà họ sở hữu là giống với giá trị mà thiết bị kia đang nắm giữ.
6.2 Cơ chế 1 – một thiết bị có giao diện đầu vào đơn giản, một thiết bị có giao diện đầu ra đơn giản
6.2.1 Các yêu cầu cụ thể
Cơ chế này có các yêu cầu cụ thể sau đây.
a) Cơ chế được quy định trong điều này phù hợp với trường hợp một thiết bị (thiết bị A) có giao diện đầu vào đơn giản và thiết bị kia (thiết bị B) có giao diện đầu ra đơn giản.
b) Thiết bị A có phương tiện tạo khóa.
6.2.2 Đặc tả dữ liệu được trao đổi
Các trao đổi dữ liệu và hoạt động sau đây sẽ diễn ra (xem thêm trong Hình 1).
a) Cả hai thiết bị sẽ xuất ra một tín hiệu để xác nhận rằng chúng đã nhận được dữ liệu D và sẵn sàng để bắt đầu cơ chế xác thực. Khi quan sát thấy cả hai thiết bị đã sẵn sàng, người sử dụng sẽ nhập một tín hiệu vào thiết bị A để thông báo cho A rằng cơ chế có thể bắt đầu.
b) Thiết bị A sẽ tạo ra một khóa ngẫu nhiên K, trong đó K là thích hợp để sử dụng với hàm kiểm tra giá trị được chia sẻ bởi hai bên. Với khóa K này, thiết bị A sẽ tính giá trị kiểm tra từ dữ liệu D. Giá trị kiểm tra và khóa K sau đó sẽ được xuất ra giao diện đầu ra của thiết bị A. Người sử dụng đọc giá trị kiểm tra và khóa K từ giao diện đầu ra.
c) Người sử dụng phải nhập giá trị kiểm tra và khóa K đầu ra của thiết bị A vào thiết bị B thông qua giao diện đầu vào của nó. Thiết bị B sẽ sử dụng khóa K để tính lại giá trị kiểm tra từ dữ liệu D mà nó lưu trữ. Nếu hai giá trị kiểm tra này giống nhau, thì thiết bị B sẽ xuất ra tín hiệu thành công cho người sử dụng thông qua giao diện đầu ra đơn giản của nó. Nếu không, nó sẽ xuất ra tín hiệu thất bại.
d) Người sử dụng sẽ nhập kết quả đầu ra của thiết bị B, có nghĩa là thành công hay thất bại, vào thiết bị A thông qua giao diện đầu vào đơn giản của nó.
Hình 1 – Cơ chế xác thực thủ công 1
6.2.3 Các chứng chỉ xác thực thủ công
Cơ chế xác thực thủ công 1 có thuộc tính là không có thông tin xác thực nào được truyền qua kênh không an toàn. Do đó, nó không ảnh hưởng đến độ bảo mật của cơ chế nếu các giá trị xác thực thủ công K và giá trị kiểm tra được truyền từ thiết bị A sang thiết bị B trước khi B thực sự nhận được dữ liệu D. Đương nhiên, phương pháp này chỉ áp dụng trong trường hợp thiết bị A tạo ra dữ liệu D. Tuy nhiên, khi đó, cơ chế 1 cung cấp một phương tiện để xác thực dữ liệu sẽ nhận được sau một thời gian. Phương tiện xác thực như vậy được gọi là một chứng chỉ xác thực thủ công. Một giao thức xác thực nguồn gốc dữ liệu bằng cách sử dụng chứng chỉ xác thực thủ công được quy định ở đây (với các yêu cầu tương tự như được quy định trong mục 6.2.1). Lưu ý rằng giao thức này không cung cấp xác thực thực thể.
Giả sử thiết bị A có dữ liệu D cần được gửi đến thiết bị B vào một thời điểm sau đó.
a) Thiết bị A tạo ra một khóa ngẫu nhiên K, trong đó K là thích hợp để sử dụng với hàm kiểm tra giá trị được chia sẻ bởi hai thiết bị. Với khóa K này, thiết bị A sẽ tính giá trị kiểm tra như một hàm của dữ liệu D. Giá trị kiểm tra và khóa K sau đó sẽ được xuất ra cho người sử dụng bằng giao diện đầu ra của thiết bị A. Người sử dụng đọc giá trị kiểm tra đầu ra và khóa K.
b) Người sử dụng nhập giá trị kiểm tra và khóa K đầu ra của thiết bị A vào giao diện đầu vào của thiết bị B. Khóa K và giá trị kiểm tra được lưu trữ trong thiết bị B.
c) Khi thiết bị B tại một thời điểm sau đó nhận dữ liệu D, nó có thể xác minh tính xác thực của dữ liệu bằng cách sử dụng các giá trị được lưu trữ của K và giá trị kiểm tra. Thiết bị B sử dụng khóa K để tính lại giá trị kiểm tra từ dữ liệu đã nhận D. Nếu hai giá trị kiểm tra giống nhau thì thiết bị B chấp nhận dữ liệu và xuất ra tín hiệu thành công cho người sử dụng. Nếu không, nó sẽ xuất ra tín hiệu thất bại.
Chứng chỉ xác thực thủ công bao gồm K và giá trị kiểm tra được tính từ K và D.
CHÚ THÍCH Có ví dụ về dữ liệu có thể được bao gồm trong D là khóa công khai của thiết bị, định danh, miền dịch vụ, v.v. Phụ lục B trình bày một ví dụ về cách thức sử dụng chứng chỉ xác thực thủ công để thiết lập khóa bí mật được chia sẻ giữa hai thiết bị.
6.3 Cơ chế 2 – các thiết bị có giao diện đầu vào đơn giản
6.3.1 Các yêu cầu cụ thể
Cơ chế này có các yêu cầu cụ thể sau đây.
a) Cơ chế được quy định trong điều này phù hợp với trường hợp cả hai thiết bị (thiết bị A và B) đều có một giao diện đầu vào đơn giản.
b) Một trong hai thiết bị (thiết bị dưới đây được gọi là A) có phương tiện tạo khóa.
6.3.2 Đặc tả dữ liệu được trao đổi
Các trao đổi dữ liệu và hoạt động sau đây sẽ diễn ra (xem thêm trong Hình 2).
a) Cả hai thiết bị sẽ xuất ra một tín hiệu để xác nhận rằng chúng đã nhận được dữ liệu D và sẵn sàng để bắt đầu cơ chế xác thực. Khi quan sát thấy cả hai thiết bị đã sẵn sàng, người sử dụng sẽ nhập một tín hiệu vào thiết bị A để thông báo cho A rằng cơ chế có thể bắt đầu.
b) Thiết bị A sẽ tạo ra một khóa ngẫu nhiên K, trong đó K là thích hợp để sử dụng với hàm kiểm tra giá trị được chia sẻ bởi hai bên. Với khóa K này, thiết bị A sẽ tính giá trị kiểm tra từ dữ liệu D. Giá trị kiểm tra và khóa K sau đó sẽ được xuất ra giao diện đầu ra của thiết bị A. Người sử dụng cũng sẽ truyền khóa K đến thiết bị B thông qua liên kết truyền thông được chia sẻ.
c) Thiết bị B sẽ sử dụng khóa K để tính lại giá trị kiểm tra từ dữ liệu D mà nó lưu trữ, và sẽ xuất ra khóa K và giá trị kiểm tra vừa tính được.
d) Người sử dụng sẽ so sánh hai giá trị kiểm tra và hai khóa đầu ra. Nếu các giá trị giống nhau thì người dùng nhập vào tín hiệu chấp nhận cho cả hai thiết bị. Nếu hoặc các giá trị kiểm tra hoặc các khóa không giống nhau thì cơ chế bị thất bại và người sử dụng nhập vào tín hiệu từ chối cho các thiết bị. Các thiết bị sẽ coi sự không xuất hiện một tín hiệu chấp nhận như là một tín hiệu thất bại (điều này đòi hỏi cài đặt một cơ chế hết thời gian).
Hình 2 – Cơ chế xác thực thủ công 2
7. Các cơ chế sử dụng truyền thủ công một giá trị tóm lược ngắn hoặc một khóa ngắn
7.1 Tổng quan
Trong điều này, bốn cơ chế xác thực thủ công được quy định dựa trên việc sử dụng hoặc một giá trị tóm lược ngắn hoặc một khóa ngắn. Bốn cơ chế này thích hợp cho nhiều kiểu thiết bị khác nhau, đặc biệt là
– Hai cơ chế đầu tiên (cơ chế 3 và 4) là thích hợp trong trường hợp một thiết bị có giao diện đầu vào đơn giản và một thiết bị còn lại có giao diện đầu ra đơn giản, và
– Hai cơ chế tiếp theo (cơ chế 5 và 6) là thích hợp trong trường hợp cả hai thiết bị đều có giao diện đầu vào đơn giản.
Giao diện đầu vào hoặc đầu ra tiêu chuẩn có thể mô phỏng một giao diện đơn giản, và do đó nếu cả hai thiết bị có giao diện đầu vào và đầu ra tiêu chuẩn thì có thể sử dụng một trong các cơ chế này.
Tất cả các cơ chế này đều hoạt động theo cách thức tổng quát sau đây. Một xâu dữ liệu D được chuyển từ một thiết bị này sang thiết bị khác (hoặc D có thể là một sự ghép nối dữ liệu được truyền theo cả hai hướng) thông qua liên kết truyền thông được chia sẻ. Sau đó, cơ chế xác thực thực thể thủ công được thực hiện. Và kết quả của cơ chế là cả hai thiết bị đều có được sự đảm bảo rằng xâu dữ liệu D mà họ sở hữu là giống với giá trị mà thiết bị kia đang nắm giữ.
7.2 Cơ chế 3 – một thiết bị có giao diện đầu vào đơn giản, một thiết bị có giao diện đầu ra đơn giản
7.2.1 Các yêu cầu cụ thể
Cơ chế này có các yêu cầu cụ thể sau đây.
a) Cơ chế được quy định trong điều này phù hợp với trường hợp một thiết bị (thiết bị A) có giao diện đầu vào đơn giản và thiết bị kia (thiết bị B) có giao diện đầu ra đơn giản.
b) Thiết bị A có phương tiện tạo khóa ngẫu nhiên (dài).
7.2.2 Đặc tả dữ liệu được trao đổi
Các trao đổi dữ liệu và hoạt động sau đây sẽ diễn ra (xem thêm trong Hình 3). Lưu ý rằng các bước a) và b) có thể diễn ra song song giống như các bước d) và e).
a) Thiết bị A và B phải tạm thời thỏa thuận một xâu dữ liệu D. Điều này có thể, ví dụ, đạt được thông qua việc trao đổi các thông điệp không được bảo vệ được gửi qua liên kết truyền thông được chia sẻ.
b) Thiết bị A phải tạo và giữ bí mật một khóa ngẫu nhiên k, trong đó k phải thích hợp để sử dụng làm khóa cho hàm tóm lược đã được thống nhất d. Thiết bị A sẽ tính h(k) và sau đó chuyển giá trị băm này đến thiết bị B bằng một số phương tiện (không nhất thiết phải bảo mật), ví dụ như thông qua liên kết truyền thông được chia sẻ.
c) Cả hai thiết bị sẽ xuất ra giao diện đầu ra của chúng tín hiệu xác nhận rằng chúng đã hoàn tất các bước a) —b) và chúng đã sẵn sàng để bắt đầu cơ chế xác thực. Khi quan sát thấy các tín hiệu này, người sử dụng sẽ nhập vào giao diện đầu vào của thiết bị A tín hiệu thông báo cho A biết rằng cơ chế có thể bắt đầu.
d) Thiết bị A sẽ tính giá trị tóm lược ngắn d(D,k) và xuất ra giá trị tóm lược thông qua giao diện đầu ra tiêu chuẩn của nó. Người sử dụng sẽ đọc giá trị tóm lược ngắn từ giao diện đầu ra tiêu chuẩn của A và nhập vào B thông qua giao diện đầu vào tiêu chuẩn của B.
e) Thiết bị A sẽ truyền khóa k đến thiết bị B thông qua liên kết truyền thông được chia sẻ. Khi nhận được k, thiết bị B sẽ tính h(k) và kiểm tra xem nó bằng giá trị thiết bị B nhận được từ A ở bước b) hay không. Nếu các giá trị băm giống nhau thì B tiến hành bước f). Nếu không, B sẽ xuất ra tín hiệu thất bại, và sẽ thực hiện một cơ chế từ chối bắt đầu một thể hiện mới của cơ chế trong một khoảng thời gian ngắn.
f) Thiết bị B sẽ sử dụng khóa k và phiên bản dữ liệu được nó lưu trữ D để tính toán lại giá trị tóm lược ngắn d(D,k). Nếu giá trị tóm lược này bằng giá trị thiết bị B nhận được trong bước d) thì B sẽ xuất ra tín hiệu thành công cho người sử dụng biết thông qua giao diện đầu ra đơn giản của nó. Nếu không, nó sẽ xuất ra một tín hiệu thất bại, và sẽ thực hiện một cơ chế từ chối bắt đầu một thể hiện mới của cơ chế trong một khoảng thời gian ngắn.
g) Người sử dụng sẽ nhập kết quả đầu ra của thiết bị B, có nghĩa là thành công hay thất bại, vào thiết bị A thông qua giao diện đầu vào đơn giản của nó. A sẽ coi sự không xuất hiện của một tín hiệu chấp nhận như là một tín hiệu thất bại (điều này sẽ đòi hỏi cài đặt một cơ chế hết thời gian).
CHÚ THÍCH 1 Cơ chế trì hoãn thời gian được sử dụng trong các bước e) và f) ngăn chặn một cuộc tấn công trung gian trong đó kẻ tấn công cố gắng giả mạo như thiết bị A đến thiết bị B ngay sau khi B dừng trong khi A vẫn đang đợi tín hiệu chấp nhận ở bước g).
CHÚ THÍCH 2 Trong cơ chế này, thiết bị B tin cậy thiết bị A vì A tạo ra khóa ngẫu nhiên k và từ đó xác định trước giá trị tóm lược d(D,k). Nếu B có khả năng tạo ra các khóa ngẫu nhiên thì A và B không bắt buộc phải tin tưởng lẫn nhau. Tuy nhiên điều này có khả năng làm cho cơ chế phức tạp hơn vì các yêu cầu về truyền thông trong mạng và đồng bộ hóa tăng. Quan điểm này cũng được áp dụng cho các cơ chế 4-6.
Hình 3 – Cơ chế xác thực thủ công 3
7.3 Cơ chế 4 – một thiết bị có giao diện đầu vào đơn giản, một thiết bị có giao diện đầu ra đơn giản
7.3.1 Các yêu cầu cụ thể
Cơ chế này có các yêu cầu cụ thể sau đây.
a) Cơ chế được quy định trong điều này phù hợp với trường hợp một thiết bị (thiết bị A) có giao diện đầu vào đơn giản và thiết bị kia (thiết bị B) có giao diện đầu ra đơn giản.
b) Thiết bị A có phương tiện tạo khóa ngẫu nhiên (dài) và dòng bit ngẫu nhiên ngắn.
7.3.2 Đặc tả dữ liệu được trao đổi
Các trao đổi dữ liệu và hoạt động sau đây sẽ diễn ra (xem thêm trong Hình 4). Lưu ý rằng các bước a) và b) có thể diễn ra song song giống như các bước d) và e).
a) Thiết bị A và B phải tạm thời thỏa thuận một xâu dữ liệu D. Điều này có thể, ví dụ, đạt được thông qua việc trao đổi các thông điệp không được bảo vệ được gửi qua liên kết truyền thông được chia sẻ.
b) Thiết bị A phải tạo và giữ bí mật một khóa ngẫu nhiên (dài) k và dòng bit ngẫu nhiên (ngắn) R. Thiết bị A sẽ tính h(D||k||R) và sau đó chuyển giá trị băm này đến thiết bị B bằng một số phương tiện (không nhất thiết phải bảo mật), ví dụ như thông qua liên kết truyền thông được chia sẻ.
c) Cả hai thiết bị sẽ xuất ra giao diện đầu ra của chúng tín hiệu xác nhận rằng chúng đã hoàn tất các bước a) —b) và chúng đã sẵn sàng để bắt đầu cơ chế xác thực. Khi quan sát thấy các tín hiệu này, người sử dụng sẽ nhập vào giao diện đầu vào của thiết bị A tín hiệu thông báo cho A biết rằng cơ chế có thể bắt đầu.
d) Thiết bị A sẽ xuất ra dòng bit ngẫu nhiên ngắn R thông qua giao diện đầu ra tiêu chuẩn của nó. Người sử dụng sẽ đọc dòng bit ngẫu nhiên ngắn R từ giao diện đầu ra tiêu chuẩn của A và nhập vào B thông qua giao diện đầu vào tiêu chuẩn của B.
e) Thiết bị A sẽ truyền khóa k đến thiết bị B thông qua liên kết truyền thông được chia sẻ.
f) Khi nhận được R và k từ bước d) và e), thiết bị B sẽ sử dụng chúng để tính lại h(D||k||R) từ dữ liệu D mà nó lưu trữ. Nếu giá trị băm này giống với giá trị B nhận được từ A ở bước b) thì B sẽ xuất ra tín hiệu thành công cho người sử dụng thông qua giao diện đầu ra đơn giản của nó. Nếu không, B sẽ xuất ra tín hiệu thất bại.
g) Người sử dụng sẽ nhập kết quả đầu ra của thiết bị B, có nghĩa là thành công hay thất bại, vào thiết bị A thông qua giao diện đầu vào đơn giản của nó. A sẽ coi sự không xuất hiện của một tín hiệu chấp nhận như là một tín hiệu thất bại (điều này sẽ đòi hỏi cài đặt một cơ chế hết thời gian).
Hình 4 – Cơ chế xác thực thủ công 4
7.4 Cơ chế 5 – các thiết bị có giao diện đầu vào đơn giản
7.4.1 Các yêu cầu cụ thể
Cơ chế này có các yêu cầu cụ thể sau đây.
a) Cơ chế được quy định trong điều này phù hợp với trường hợp cả hai thiết bị (thiết bị A và B) đều có một giao diện đầu vào đơn giản.
b) Một trong hai thiết bị (thiết bị dưới đây được gọi là A) có phương tiện tạo khóa ngẫu nhiên (dài).
7.4.2 Đặc tả dữ liệu được trao đổi
Các trao đổi dữ liệu và hoạt động sau đây sẽ diễn ra (xem thêm trong Hình 5). Lưu ý rằng các bước a) và b) có thể diễn ra song song giống như các bước d) và e).
a) Thiết bị A và B phải tạm thời thỏa thuận một xâu dữ liệu D. Điều này có thể, ví dụ, đạt được thông qua việc trao đổi các thông điệp không được bảo vệ được gửi qua liên kết truyền thông được chia sẻ.
b) Thiết bị A phải tạo và giữ bí mật một khóa ngẫu nhiên k, trong đó k phải thích hợp để sử dụng làm khóa cho hàm tóm lược đã được thống nhất d. Thiết bị A sẽ tính h(k) và sau đó chuyển giá trị băm này đến thiết bị B bằng một số phương tiện (không nhất thiết phải bảo mật), ví dụ như thông qua liên kết truyền thông được chia sẻ.
c) Cả hai thiết bị sẽ xuất ra giao diện đầu ra của chúng tín hiệu xác nhận rằng chúng đã hoàn tất các bước a) —b) và chúng đã sẵn sàng để bắt đầu cơ chế xác thực. Khi quan sát thấy các tín hiệu này, người sử dụng sẽ nhập vào giao diện đầu vào của thiết bị A tín hiệu thông báo cho A biết rằng cơ chế có thể bắt đầu.
d) Thiết bị A sẽ truyền khóa k đến thiết bị B thông qua liên kết truyền thông được chia sẻ.
e) Thiết bị A sẽ tính toán một giá trị tóm lược ngắn d(D,k) và xuất giá trị tóm lược ngắn này ra giao diện đầu ra tiêu chuẩn của nó.
f) Khi nhận được k ở bước d), thiết bị B sẽ tính h(k) và giá trị tóm lược d(D,k) từ dữ liệu mà nó lưu trữ D. Nếu giá trị băm giống như giá trị thiết bị B nhận được từ A ở bước b) thì thiết bị B sẽ xuất giá trị tóm lược ngắn ra giao diện đầu ra tiêu chuẩn của nó. Nếu không, B sẽ xuất ra tín hiệu thất bại, và sẽ thực hiện một cơ chế từ chối bắt đầu một thể hiện mới của cơ chế trong một khoảng thời gian ngắn.
g) Người sử dụng sẽ so sánh hai giá trị tóm lược ngắn đầu ra của các giao diện đầu ra tiêu chuẩn của thiết bị A và 8 ở bước e) và f). Nếu chúng giống nhau thì người sử dụng sẽ nhập vào cả hai thiết bị tín hiệu chấp nhận thông qua giao diện đầu vào tiêu chuẩn của chúng. Nếu không, cơ chế sẽ thất bại và người sử dụng sẽ nhập vào cả hai thiết bị tín hiệu từ chối. Các thiết bị sẽ coi sự không xuất hiện của một tín hiệu chấp nhận như là một tín hiệu thất bại; điều này sẽ đòi hỏi cài đặt một cơ chế hết thời gian.
CHÚ THÍCH Cơ chế trì hoãn thời gian được sử dụng trong các bước e) và f) ngăn chặn một cuộc tấn công trung gian trong đó kẻ tấn công cố gắng giả mạo như thiết bị A đến thiết bị B ngay sau khi B dừng trong khi A vẫn đang đợi tín hiệu chấp nhận ở bước g).
Hình 5 – Cơ chế xác thực thủ công 5
7.5 Cơ chế 6 – các thiết bị có giao diện đầu vào đơn giản
7.5.1 Các yêu cầu cụ thể
Cơ chế này có các yêu cầu cụ thể sau đây.
a) Cơ chế được quy định trong điều này phù hợp với trường hợp cả hai thiết bị (thiết bị A và B) đều có một giao diện đầu vào đơn giản.
b) Một trong hai thiết bị (thiết bị dưới đây được gọi là A) có phương tiện tạo khóa ngẫu nhiên (dài) và dòng bit ngẫu nhiên ngắn.
7.5.2 Đặc tả dữ liệu được trao đổi
Các trao đổi dữ liệu và hoạt động sau đây sẽ diễn ra (xem thêm trong Hình 6). Lưu ý rằng các bước a) và b) có thể diễn ra song song giống như các bước d) và e).
a) Thiết bị A và B phải tạm thời thỏa thuận một xâu dữ liệu D. Điều này có thể, ví dụ, đạt được thông qua việc trao đổi các thông điệp không được bảo vệ được gửi qua liên kết truyền thông được chia sẻ.
b) Thiết bị A phải tạo và giữ bí mật một khóa ngẫu nhiên (dài) k và dòng bit ngẫu nhiên (ngắn) R. Thiết bị A sẽ tính h(D||k||R) và sau đó chuyển giá trị băm này đến thiết bị B bằng một số phương tiện (không nhất thiết phải bảo mật), ví dụ như thông qua liên kết truyền thông được chia sẻ.
c) Cả hai thiết bị sẽ xuất ra giao diện đầu ra của chúng tín hiệu xác nhận rằng chúng đã hoàn tất các bước a) —b) và chúng đã sẵn sàng để bắt đầu cơ chế xác thực. Khi quan sát thấy các tín hiệu này, người sử dụng sẽ nhập vào giao diện đầu vào của thiết bị A tín hiệu thông báo cho A biết rằng cơ chế có thể bắt đầu.
d) Thiết bị A sẽ truyền khóa (dài) k và dòng bit ngẫu nhiên (ngắn) R đến thiết bị B thông qua liên kết truyền thông được chia sẻ.
e) Thiết bị A sẽ xuất ra dòng bit ngẫu nhiên ngắn R thông qua giao diện đầu ra tiêu chuẩn của nó.
f) Khi nhận được k và R từ bước c), thiết bị B sẽ sử dụng chúng để tính lại h(D||k||R) từ dữ liệu D mà nó lưu trữ. Nếu giá trị băm này giống với giá trị B nhận được từ A ở bước b) thì B sẽ xuất dòng bit ngẫu nhiên ngắn R ra giao diện đầu ra tiêu chuẩn của nó. Nếu không, B sẽ xuất ra tín hiệu thất bại, và sẽ thực hiện một cơ chế từ chối bắt đầu một thể hiện mới của cơ chế trong một khoảng thời gian ngắn.
g) Người sử dụng sẽ so sánh hai dòng bit ngẫu nhiên ngắn đầu ra của các giao diện đầu ra tiêu chuẩn của thiết bị A và B ở bước e) và f). Nếu chúng giống nhau thì người sử dụng sẽ nhập vào cả hai thiết bị tín hiệu chấp nhận. Nếu không, cơ chế sẽ thất bại và người sử dụng sẽ nhập vào cả hai thiết bị tín hiệu từ chối thông qua giao diện đầu vào tiêu chuẩn của chúng. Các thiết bị sẽ coi sự không xuất hiện của một tín hiệu chấp nhận như là một tín hiệu thất bại, điều này sẽ đòi hỏi cài đặt một cơ chế hết thời gian.
CHÚ THÍCH Cơ chế trì hoãn thời gian được sử dụng trong các bước e) và f) ngăn chặn một cuộc tấn công trung gian trong đó kẻ tấn công cố gắng giả mạo như thiết bị A đến thiết bị B ngay sau khi B dừng trong khi A vẫn đang đợi tín hiệu chấp nhận ở bước g).
Hình 6 – Cơ chế xác thực thủ công 6
8. Các cơ chế sử dụng MAC
8.1 Tổng quan
Trong điều này, hai cơ chế xác thực thủ công được quy định dựa trên việc sử dụng một giá trị mã xác thực thông điệp (MAC). Hai cơ chế này thích hợp cho nhiều kiểu thiết bị khác nhau, đặc biệt là
– Cơ chế đầu tiên (cơ chế 7) là thích hợp trong trường hợp cả hai thiết bị đều có giao diện đầu ra đơn giản, và
– Cơ chế tiếp theo (cơ chế 8) là thích hợp trong trường hợp một thiết bị có giao diện đầu vào đơn giản và một thiết bị còn lại có giao diện đầu ra đơn giản.
Giao diện đầu vào hoặc đầu ra tiêu chuẩn có thể mô phỏng một giao diện đơn giản, và do đó nếu cả hai thiết bị có giao diện đầu vào và đầu ra tiêu chuẩn thì có thể sử dụng một trong các cơ chế này.
Tất cả các cơ chế này đều hoạt động theo cách thức tổng quát sau đây. Một xâu dữ liệu D được chuyển từ một thiết bị này sang thiết bị khác (hoặc D có thể là một sự ghép nối dữ liệu được truyền theo cả hai hướng) thông qua liên kết truyền thông được chia sẻ. Sau đó, cơ chế xác thực thực thể thủ công được thực hiện. Và kết quả của cơ chế là cả hai thiết bị đều có được sự đảm bảo rằng xâu dữ liệu D mà họ sở hữu là giống với giá trị mà thiết bị kia đang nắm giữ.
8.2 Cơ chế 7 – các thiết bị có giao diện đầu ra đơn giản
8.2.1 Tổng quan
Cơ chế này có hai biến thể (7a và 7b). Cơ chế 7a, được quy định trong mục 8.2.3, đòi hỏi ít tương tác giữa hai thiết bị hơn, trong khi đó cơ chế 7b, được quy định trong mục 8.2.4, yêu cầu ít tương tác của người sử dụng hơn.
8.2.2 Các yêu cầu cụ thể
Cơ chế này có các yêu cầu cụ thể sau đây.
a) Hai biến thể của cơ chế được quy định trong điều này phù hợp với trường hợp cả hai thiết bị (thiết bị A và B) đều có một giao diện đầu ra đơn giản.
b) Cả hai thiết bị có phương tiện tạo các khóa MAC ngẫu nhiên, và người sử dụng có phương tiện để tạo các xâu bit ngẫu nhiên ngắn.
b) Các thiết bị đã biết về định danh của nhau trước khi bắt đầu cơ chế.
Lưu ý: Nếu người sử dụng lựa chọn xâu bit ngẫu nhiên không tốt, có nghĩa là người dùng luôn luôn lựa chọn các giá trị giống nhau, thì sẽ làm tăng nguy cơ cho một cuộc tấn công thành công vào cơ chế.
8.2.3 Đặc tả dữ liệu được trao đổi trong cơ chế 7a
Các trao đổi dữ liệu và hoạt động sau đây sẽ diễn ra (xem thêm trong Hình 7). Lưu ý rằng các bước b) và c) có thể diễn ra song song giống như các bước d) và e), f) và g).
a) Cả hai thiết bị đều xuất ra, thông qua các giao diện đầu ra đơn giản của chúng, một tín hiệu thông báo rằng đã nhận dữ liệu D và rằng đã sẵn sàng để bắt đầu cơ chế xác thực. Khi quan sát thấy cả hai thiết bị đều đã sẵn sàng, người sử dụng sẽ tạo ra một xâu bit ngẫu nhiên ngắn R. Người sử dụng sẽ nhập xâu bit ngẫu nhiên R này vào cả hai thiết bị, và sau đó sẽ nhập vào thiết bị A tín hiệu báo hiệu cho A rằng cơ chế có thể bắt đầu.
b) Thiết bị A sẽ tạo khóa ngẫu nhiên KA, trong đó KA phải thích hợp để sử dụng làm khóa cho hàm MAC được chia sẻ giữa hai thiết bị. Sử dụng KA làm khóa, thiết bị A sẽ tính một MAC (ký hiệu là MACA) cho xâu dữ liệu được tạo ra bằng sự ghép nối của IA (định danh của A), dữ liệu D và xâu bit ngẫu nhiên R. Thiết bị A sẽ truyền MACA đến thiết bị B thông qua liên kết truyền thông được chia sẻ.
c) Thiết bị B sẽ tạo một khóa ngẫu nhiên KB, trong đó KB phải thích hợp để sử dụng làm khóa cho hàm MAC được chia sẻ giữa hai thiết bị. Sử dụng KB làm khóa, thiết bị B sẽ tính một MAC (ký hiệu là MACB) cho xâu dữ liệu được tạo ra bằng sự ghép nối của IB (định danh của B), dữ liệu D và xâu bit ngẫu nhiên R. Thiết bị B sẽ truyền MACB đến thiết bị A thông qua liên kết truyền thông được chia sẻ.
d) Khi thiết bị A đã nhận được MACB (mà không phải trước đó), thiết bị A sẽ gửi KA đến thiết bị B.
e) Khi nhận được KA, thiết bị B kiểm tra xem MACA có bằng giá trị MAC được tính toán sử dụng giá trị R đã được lưu, D, IA và giá trị KA nhận được hay không. Nếu kiểm tra thành công, thiết bị B xuất ra thông báo thành công.
f) Khi thiết bị B đã nhận được MACA (mà không phải trước đó), thiết bị B sẽ gửi KB đến thiết bị A.
g) Khi nhận được KB, thiết bị A kiểm tra xem MACB có bằng giá trị MAC được tính toán sử dụng giá trị R đã được lưu, D, IB và giá trị KB nhận được hay không. Nếu kiểm tra thành công, thiết bị A xuất ra thông báo thành công.
h) Người sử dụng kiểm tra xem cả hai thiết bị có cùng thông báo thành công hay không, nếu có thì nhập vào cả hai thiết bị xác nhận thành công. Nếu một trong hai thiết bị thông báo thất bại, người sử dụng sẽ nhập vào cả hai thiết bị xác nhận thất bại. Nếu người sử dụng thất bại trong việc nhập thông báo thành công vào một thiết bị trong một khoảng thời gian, thì nó sẽ được cho là một thất bại của cơ chế.
CHÚ THÍCH Bước g) trong cơ chế này ngăn chặn một tấn công thay thế trong đó kẻ tấn công cố gắng giả mạo là thiết bị A gửi đến thiết bị B.
Hình 7 – Cơ chế xác thực thủ công 7a
8.2.4 Đặc tả dữ liệu được trao đổi trong cơ chế 7b
Các trao đổi dữ liệu và hoạt động sau đây sẽ diễn ra (xem thêm trong Hình 8).
a) Cả hai thiết bị đều xuất ra một tín hiệu thông báo rằng đã nhận dữ liệu D và rằng đã sẵn sàng để bắt đầu cơ chế xác thực. Khi quan sát thấy cả hai thiết bị đều đã sẵn sàng, người sử dụng sẽ tạo ra một xâu bit ngẫu nhiên ngắn R = (r1, r2,… rn) trong đó ri là một bit và n là số bit của R. Người sử dụng sẽ nhập giá trị R này vào cả hai thiết bị, và sau đó sẽ nhập vào thiết bị A tín hiệu báo hiệu cho A rằng cơ chế có thể bắt đầu.
b) Đối với lần lượt các i bằng 1, 2, … n, thực hiện các bước từ 1) – 5). Lưu ý rằng bước 1) và 2) có thể được thực hiện song song).
1) Thiết bị A sẽ tạo khóa ngẫu nhiên KAi, trong đó KAi phải thích hợp để sử dụng làm khóa cho hàm MAC được chia sẻ giữa hai thiết bị. Sử dụng KAi làm khóa, thiết bị A sẽ tính một MAC (ký hiệu là MACAi) cho xâu dữ liệu được tạo ra bằng sự ghép nối của IA (định danh của A), dữ liệu D và bit ngẫu nhiên ri. Thiết bị A sẽ truyền MACAi đến thiết bị B thông qua liên kết truyền thông được chia sẻ.
2) Thiết bị B sẽ tạo một khóa ngẫu nhiên KBi, trong đó KBi phải thích hợp để sử dụng làm khóa cho hàm MAC được chia sẻ giữa hai thiết bị. Sử dụng KBi làm khóa, thiết bị B sẽ tính một MAC (ký hiệu là MACBi) cho xâu dữ liệu được tạo ra bằng sự ghép nối của IB (định danh của B), dữ liệu D và bit ngẫu nhiên ri. Thiết bị B sẽ truyền MACBi đến thiết bị A thông qua liên kết truyền thông được chia sẻ.
3) Khi nhận được MACBi, thiết bị A sẽ gửi KAi đến thiết bị B.
4) Khi nhận được MACAi và KAi, thiết bị B kiểm tra xem MACAi có bằng giá trị MAC được tính toán sử dụng giá trị ri đã được lưu, D, IA và giá trị KAi nhận được hay không. Nếu kiểm tra thành công, thiết bị B sẽ gửi KBi đến thiết bị A; ngược lại sẽ chấm dứt giao thức.
5) Khi nhận được KBi, thiết bị A kiểm tra xem MACBi đã nhận được ở bước 3) có bằng giá trị MAC được tính toán sử dụng giá trị ri đã được lưu, D, IB và giá trị KBi nhận được hay không. Nếu kiểm tra không thành công, thiết bị A sẽ chấm dứt giao thức.
CHÚ THÍCH Khi i=n, nếu xác kiểm tra trong bước 4) và 5) thành công, thiết bị B và A sẽ có thể xuất ra một thông báo thành công. Mặc dù đây không phải là một phần không thể thiếu của giao thức, nó có thể hữu ích trong việc thông báo đến người sử dụng thiết bị rằng quá trình đã hoàn tất một cách thành công.
Hình 8 – Cơ chế xác thực thủ công 7b
8.3 Cơ chế 8 – một thiết bị có giao diện đầu vào đơn giản, một thiết bị có giao diện đầu ra đơn giản
8.3.1 Tổng quan
Cơ chế này có hai biến thể (8a và 8b). Cơ chế 8a đòi hỏi ít tương tác giữa hai thiết bị hơn, trong khi đó cơ chế 8b yêu cầu ít tương tác của người sử dụng hơn.
8.3.2 Các yêu cầu cụ thể
Cơ chế này có các yêu cầu cụ thể sau đây.
a) Hai biến thể của cơ chế được quy định trong điều này phù hợp với trường hợp một thiết bị (thiết bị A) có giao diện đầu vào đơn giản và thiết bị kia (thiết bị B) có giao diện đầu ra đơn giản.
b) Cả hai thiết bị có phương tiện tạo khóa MAC ngẫu nhiên.
c) Các thiết bị đã biết về định danh của nhau trước khi bắt đầu cơ chế.
8.3.3 Đặc tả dữ liệu được trao đổi trong cơ chế 8a
Các trao đổi dữ liệu và hoạt động sau đây sẽ diễn ra giống như trong cơ chế 7a (như đã quy định trong mục 8.2.3) với sự khác nhau sau đây:
– Trong bước a) thiết bị A tạo xâu bit ngẫu nhiên và hiển thị nó cho người sử dụng, người sẽ gửi bản sao của nó đến thiết bị B. Do đó trong cơ chế này người sử dụng không phải tạo ra một xâu ngẫu nhiên.
Cơ chế này được minh họa trong hình 9.
Hình 9 – Cơ chế xác thực thủ công 8a
8.3.4 Đặc tả dữ liệu được trao đổi trong cơ chế 8b
Các trao đổi dữ liệu và hoạt động sau đây sẽ diễn ra giống như trong cơ chế 7b (như đã quy định trong mục 8.2.4) với sự khác nhau sau đây:
– Trong bước a) thiết bị A tạo xâu bit ngẫu nhiên và hiển thị nó cho người sử dụng, người sẽ gửi bản sao của nó đến thiết bị B. Do đó trong cơ chế này người sử dụng không phải tạo ra một xâu ngẫu nhiên.
Phụ lục A
(quy định)
Mô-đun ASN.1
A.1 Định nghĩa chính thức
Phụ lục B
(tham khảo)
Sử dụng các giao thức xác thực thủ công cho trao đổi khóa bí mật
B.1 Tổng quan
Phụ lục này mô tả các phương thức cho phép các thiết bị chia sẻ một khóa bí mật sử dụng một trong các cơ chế xác thực thủ công được quy định trong nội dung của phần này của tiêu chuẩn.
B.2 Giao thức thỏa thuận khóa Diffie-Hellman có xác thực
Thủ tục được mô tả ở đây là cơ chế thỏa thuận khóa Diffie-Hellman có xác thực sử dụng một cơ chế xác thực thủ công. Cơ chế thỏa thuận khóa này tuân theo cơ chế thỏa thuận khóa 4 của TCVN 7817-3 (xem thêm trong Phụ lục B.5 của TCVN 7817-3). Dưới đây là mô tả đơn giản, để xem mô tả đầy đủ người đọc có thể tham khảo TCVN 7817-3.
Cơ chế thỏa thuận khóa Diffie-Hellman được mô tả theo nhóm G chung (được biểu diễn bằng thuật ngữ nhân) và phần tử g thuộc G, có thứ tự đủ lớn. Các bước trong thủ tục như sau.
a) Thiết bị A tạo một số nguyên x ngẫu nhiên và bí mật, tính gx và gửi nó đến thiết bị B.
b) Thiết bị B tạo một số nguyên y ngẫu nhiên và bí mật, tính gy và gửi nó đến thiết bị A.
c) Thiết bị A và B thực thi một trong các giao thức xác thực thủ công đối với dữ liệu D = (gx II gy II text), trong đó “text” là một dữ liệu bất kỳ nào đó, ví dụ như định danh của người khác mà các thiết bị có thể đã thỏa thuận.
d) Nếu kết quả của giao thức xác thực thủ công là thành công thì các thành phần có thể tính toán khóa Diffie-Hellman được chia sẻ là S = gxy.
Các thành phần này sau đó có thể lấy được các khóa mật mã bí mật có độ dài và định dạng được yêu cầu từ khóa bí mật được chia sẻ Diffie-Hellman S.
B.3 Thỏa thuận khóa Diffie-Hellman có xác thực sử dụng một chứng chỉ xác thực thủ công
B.3.1 Tổng quan
Thủ tục được mô tả ở đây là cơ chế thỏa thuận khóa Diffie-Hellman, trong đó một trong các khóa công khai Diffie-Hellman được xác thực bằng một chứng chỉ xác thực thủ công (do đó quy trình này dành riêng cho cơ chế 1 và các yêu cầu được chỉ định trong mục 6.2.1 sẽ được đáp ứng). Thiết bị B được xác thực cho thiết bị A bằng cách sử dụng phiên bản mã hóa của khóa kiểm tra giá trị K được sử dụng trong cơ chế. Lưu ý rằng cơ chế này đòi hỏi hai thiết bị phải thỏa thuận và triển khai một cơ chế mã hóa đối xứng e, trong đó eL(M) là mã hóa dữ liệu M sử dụng khóa bí mật L. Các kỹ thuật mã hóa đối xứng được chuẩn hóa theo tiêu chuẩn TCVN 18367-3 và TCVN 18367-4.
Cơ chế thỏa thuận khóa Diffie-Hellman được mô tả theo nhóm G chung (được biểu diễn bằng thuật ngữ nhân) và phần tử g thuộc G, có thứ tự đủ lớn. Thủ tục gồm hai giai đoạn, Giai đoạn 1 và Giai đoạn 2.
Trong Giai đoạn 1, thiết bị A tạo khóa riêng Diffie-Hellman của nó, tính khóa công khai tương ứng và tạo chứng chỉ xác thực thủ công cho chuỗi dữ liệu bao gồm khóa công khai này. Chứng chỉ này được truyền sang thiết bị B. Trong Giai đoạn 2, thiết bị B nhận khóa công khai của thiết bị A, xác thực nó và tạo các khóa Diffie-Hellman riêng và công khai của nó. Ngoài ra, cả hai thiết bị cũng tính toán số bí mật Diffie-Hellman được chia sẻ nguồn gốc của khóa mã bí mật. Cuối cùng, thiết bị A xác thực phiên bản đã mã hóa của khóa K mà nó nhận được từ thiết bị B như một phần của quy trình xác thực thủ công. Kết quả là, số bí mật Diffie-Hellman được chia sẻ bởi hai thiết bị đã được xác thực.
B.3.2 Giai đoạn 1
a) Thiết bị A tạo ngẫu nhiên và bí mật một số nguyên x và tính toán gx. Sau đó thiết bị A tạo một chứng chỉ xác thực thủ công cho xâu dữ liệu D được tạo bởi gx và một dữ liệu bất kỳ cần được truyền một cách đáng tin cậy đến thiết bị B. Chứng chỉ xác thực công thủ công này (K, giá trị kiểm tra) được truyền một cách thủ công đến thiết bị B, và thiết bị B sẽ lưu trữ nó. Thiết bị A lưu trữ x và gx, và các thành phần dữ liệu bất kỳ khác bao gồm trong D.
B.3.3 Giai đoạn 2 (được khởi tạo bởi một trong hai thiết bị ở một thời điểm sau đó)
b) Thiết bị A gửi gx và một vài dữ liệu có thể khác đến thiết bị B thông qua liên kết truyền thông được chia sẻ. Thiết bị B xác thực độ chân thực của gx dựa vào chứng thư xác thực thủ công được lưu trữ.
c) Thiết bị B tạo ngẫu nhiên và bí mật một số nguyên y, và tính toán gy. Thiết bị B tính toán số bí mật được chia sẻ Diffie-Hellman S=(gx)y và sử dụng S để mã hóa khóa K, có nghĩa là khóa trong chứng thư xác thực thủ công. Thiết bị B gửi khóa đã được mã hóa eS(K) và khóa công khai Diffie-Hellman gy của nó đến thiết bị A.
d) Thiết bị A tính toán bản sao của số bí mật được chia sẻ S=(gy)x. Sau đó nó giải mã eS(K) và xác thực xem K có chính xác hay không. Nếu có thì thiết bị A chấp nhận S là đã được xác thực.
Sau đó hai thiết bị có thể thu được các khóa mật mã có độ dài và định dạng theo yêu cầu từ khóa Diffie-Hellman bí mật được chia sẻ S.
CHÚ THÍCH Trong mô tả trên khóa K từ chứng thư xác thực thủ công được sử dụng trong bước c) và d). Bất kỳ giá trị thích hợp nào khác, ví dụ như giá trị kiểm tra hay một vài giá trị cho mục đích đặc biệt, được thỏa thuận giữa các tổ chức ở Giai đoạn 1 có thể được sử dụng thay thế.
B.4 Nhiều hơn hai thành phần
Có nghĩa là nhiều hơn hai thiết bị có thể cùng thỏa thuận về một khóa bí mật sử dụng các kỹ thuật xác thực thủ công được mô tả sau đây.
a) Một thiết bị đóng vai trò như một thiết bị “chủ”.
b) Thiết bị chủ thực thi cơ chế được mô tả trong B.2 với các thiết bị khác để thiết lập khóa bí mật được chia sẻ với từng thiết bị trong số đó.
c) Sau đó, bất kỳ thiết bị nào cũng có thể tạo khóa bí mật chung để sau đó phân phối mã hóa và có thể là cả bảo vệ tính toàn vẹn cho các thiết bị còn lại thông qua thiết bị chủ.
Nếu số lượng thiết bị là n, thiết bị chủ cần tính toán n số mũ trong nhóm G. Mỗi thiết bị khác cần tính hai số mũ. Do đó, nên chọn thiết bị chủ có đủ khả năng tính toán để thực hiện nhiệm vụ này.
Phụ lục C
(tham khảo)
Sử dụng các giao thức xác thực thủ công cho trao đổi khóa công khai
C.1 Tổng quan
Phụ lục này mô tả các phương thức cho phép các thiết bị trao đổi một cách đáng tin cậy một khóa công khai sử dụng một trong các cơ chế xác thực thủ công được quy định trong nội dung của phần này của tiêu chuẩn. Bối cảnh của mô tả này là giữa một Cơ quan chứng thực (CA) và một máy khách của CA. CA cần truyền một cách đáng tin cậy khóa công khai của nó đến máy khách, và máy khách cần phải truyền một cách đáng tin cậy khóa công khai của nó đến CA.
Có hai trường hợp khác nhau được mô tả, tùy thuộc vào máy khách của CA có tạo ra các khóa bí mật của riêng nó hay chúng được tạo ra bởi một phương tiện quản lý khóa và sau đó được nhập vào thiết bị.
C.2 Các yêu cầu
CA sẽ được trang bị một giao diện đầu ra tiêu chuẩn, ví dụ một màn hình, và một giao diện đầu vào đơn giản để nhập vào nó các lệnh. Máy khách của CA sẽ sở hữu một giao diện đầu vào tiêu chuẩn và một giao diện đầu ra đơn giản, ví dụ một đầu ra âm thanh để báo hiệu sự thành công hay thất bại của quá trình.
CHÚ THÍCH Việc thực hiện thủ tục trong trường hợp CA và máy khách của CA có các kiểu giao diện người sử dụng khác nhau là đơn giản. Chỉ có kiểu của giao thức xác thực thủ công cần phải được thay đổi.
Máy khách của CA và CA cùng chia sẻ một kênh truyền thông.
C.3 Khóa bí mật được tạo ra trong thiết bị
Thủ tục diễn ra như sau.
a) CA sẽ được thông báo một cách đáng tin cậy về định danh cho máy khách CA. Điều này, ví dụ, có thể thu được bởi người sử dụng nhập mã định danh cho máy khách vào giao diện đầu vào của CA. Tuy nhiên, nó cũng có thể thu được như một phần của giao thức (xem bên dưới).
b) CA gửi khóa công khai PCA tới máy khách của CA và máy khách của CA gửi khóa công khai của nó PM tới CA. Việc truyền này được giả định diễn ra thông qua liên kết truyền thông (không tin cậy). Cùng với PM, máy khách của CA có thể gửi bất kỳ thông tin nào khác mà nó muốn đưa vào chứng chỉ khóa công khai mà CA sẽ tạo ra. Điều này có thể, ví dụ, bao gồm các định danh cho máy khách.
c) CA và máy khách hiện thực hiện cơ chế xác thực thủ công được quy định trong mục 6.2 để xác thực rằng các khóa công khai được trao đổi là chính xác. CA đóng vai trò là thiết bị A và máy khách đóng vai trò của thiết bị B. Dữ liệu D được sử dụng trong cơ chế xác thực thủ công bao gồm PCA, PM và bất kỳ dữ liệu nào khác được cung cấp bởi máy khách và CA. Dữ liệu bổ sung này có thể bao gồm định danh duy nhất của CA và máy khách.
d) Khi (và chỉ khi) máy khách (thiết bị B) phát ra một báo hiệu thành công, người sử dụng sẽ chỉ dẫn CA (thiết bị A) tạo ra một chứng chỉ khóa công khai thích hợp. Chứng chỉ này sau đó có thể được gửi (có thể không bí mật) cho máy khách thông qua liên kết truyền thông.
e) Máy khách (thiết bị B) lúc này sẽ thực hiện hai lần kiểm tra trước khi chấp nhận chứng chỉ. Thứ nhất, máy khách xác thực chữ ký bằng khóa công khai của CA (PCA). Thứ hai, máy khách xác thực rằng các trường dữ liệu trong chứng chỉ (bao gồm cả khóa công khai PM và định danh máy khách) đều đúng như mong đợi. Thủ tục hiện đã hoàn tất.
C.4 Khóa bí mật được tạo ra bên ngoài
Nếu khóa riêng của máy khách của CA được tạo bởi CA hoặc bất kỳ dịch vụ tạo khóa tin cậy nào khác, thì khóa riêng sẽ được vận chuyển an toàn đến máy khách.
Một thủ tục truyền khóa riêng từ CA sang máy khách được mô tả dưới đây. Các bước của thủ tục như sau:
a) CA và máy khách thiết lập khóa bí mật được chia sẻ như được mô tả trong Phụ lục B.
b) Sử dụng khóa bí mật được thiết lập trong bước a), CA sẽ gửi khóa riêng đã mã hóa và được bảo vệ tính toàn vẹn của máy khách đến máy khách, nơi nó được lưu trữ an toàn. CA cũng gửi khóa công khai (PCA) được bảo vệ tính toàn vẹn của nó đến máy khách, cũng sử dụng khóa bí mật được thiết lập trong bước a). Các kỹ thuật mã hóa đối xứng được tiêu chuẩn hóa trong TCVN 18367-3 và TCVN 18367-4.
c) Máy khách lúc này sẽ gửi bất kỳ thông tin nào mà nó muốn đưa vào chứng chỉ của nó đến CA, được bảo vệ tính toàn vẹn bằng khóa bí mật được thiết lập trong bước a).
d) CA tạo ra chứng chỉ cho khóa công khai của máy khách PM. Chứng chỉ này sau đó sẽ được gửi (có thể không bảo mật) đến máy khách thông qua liên kết truyền thông.
e) Máy khách lúc này thực hiện kiểm tra hai lần trước khi chấp nhận chứng chỉ. Thứ nhất, máy khách kiểm tra chữ ký bằng khóa công khai của CA (PCA). Thứ hai, máy khách xác thực rằng các trường dữ liệu trong chứng chỉ (bao gồm cả khóa công khai PM và định danh máy khách) đều đúng như mong đợi. Thủ tục hiện đã hoàn tất.
Phụ lục D
(tham khảo)
Về độ an toàn của cơ chế và lựa chọn độ dài tham số
D.1 Tổng quan
Phụ lục này thảo luận độ an toàn của tám cơ chế xác thực thủ công đã được quy định trong tiêu chuẩn này. Một hướng dẫn về lựa chọn độ dài cho các giá trị kiểm tra, giá trị tóm lược, MAC, xâu bit ngẫu nhiên và khóa cũng được trình bày.
D.2 Sử dụng các cơ chế 1 và 2
Tất cả dữ liệu được truyền qua liên kết truyền thông giữa hai thiết bị được giả định là công khai, ngay cả trong một số trường hợp, một phần dữ liệu D có thể là bí mật. Mục tiêu an toàn của các cơ chế xác thực thủ công là bảo vệ tính toàn vẹn của dữ liệu, chứ không phải tính bảo mật của nó. Việc bảo vệ tính toàn vẹn cần thiết được thực hiện bằng cách sử dụng một thủ tục kiểm tra dựa trên giá trị kiểm tra.
Hàm kiểm tra giá trị là một ánh xạ, f, từ một không gian dữ liệu, D và một không gian khóa, K, đến một không gian giá trị kiểm tra, C:
f : D x K à C, c = f(d,k)
Trong các cơ chế 1 và 2, giá trị kiểm tra được sử dụng để bảo vệ tính toàn vẹn của dữ liệu. Do đó, độ an toàn của các cơ chế này dựa trên sự an toàn vô điều kiện của hàm kiểm tra giá trị chứ không phải độ an toàn về mặt tính toán. Độ an toàn vô điều kiện của các hàm giá trị kiểm tra dựa trên các kết quả được phát triển từ học thuyết xác thực thông điệp, ví dụ có thể xem thêm Phần 4.5 của [28]. Hai loại tấn công chính thường được xem xét:
• Tấn công mạo danh, và
• Tấn công thay thế
Trong một cuộc tấn công mạo danh, kẻ tấn công cố gắng thuyết phục người nhận rằng dữ liệu được gửi từ một người gửi hợp pháp mà không quan sát bất kỳ trao đổi dữ liệu nào trước đó giữa người gửi và người nhận. Trong một cuộc tấn công thay thế, kẻ tấn công đầu tiên quan sát một số dữ liệu d và sau đó thay thế nó bằng một số dữ liệu khác ≠ d. Xác suất để kẻ tấn công thành công trong một cuộc tấn công mạo danh và một cuộc tấn công thay thế được ký hiệu lần lượt là Pi và Ps, và có thể được biểu diễn như sau:
Độ an toàn của cả hai cơ chế phụ thuộc vào xác suất kẻ tấn công thay thế thành công dữ liệu quan sát được d bằng một dữ liệu khác ≠ d. Kẻ tấn công thành công nếu được chấp nhận là dữ liệu hợp lệ. Vì giả thiết rằng hai thiết bị gần nhau về mặt vật lý và không chấp nhận bất kỳ dữ liệu nào trừ khi cả hai thiết bị báo hiệu rằng chúng sẵn sàng, tấn công mạo danh không áp dụng cho kịch bản xác thực thủ công. Hơn nữa, thông thường để bảo vệ tính toàn vẹn bằng cách sử dụng MAC là cho cả dữ liệu và MAC được truyền đi và có thể được quan sát bởi kẻ tấn công. Đây không phải là trường hợp của các cơ chế 1 và 2, đó là lý do tại sao một giá trị kiểm tra được sử dụng thay cho một MAC trong các cơ chế này. Ở đây chỉ có dữ liệu được gửi qua một kênh công khai và kẻ tấn công không biết đầu ra của hàm kiểm tra giá trị cho đến sau khi dữ liệu D đã được truyền (trên thực tế, trong cơ chế 1 kẻ tấn công sẽ không bao giờ truy cập được vào đầu ra của hàm này). Điều này đơn giản hóa việc phân tích độ an toàn và biểu thị một cuộc tấn công thay thế thành công. Do đó, xác suất tấn công thay thế thành công cho các cơ chế 1 và 2 có thể được biểu diễn như sau:
Do đó, nếu biết rằng khóa k được chọn đồng nhất ngẫu nhiên từ không gian khóa, K, thì xác suất trên có thể được biểu diễn thành:
Trong đó, |K| biểu thị số lượng phần tử của tập K. Theo phương trình này, để tăng cường độ an toàn cao, xác suất xung đột của hàm giá trị kiểm tra phải thấp. Điều này có thể được đảm bảo bằng cách sử dụng các hàm giá trị kiểm tra thu được từ các mã sửa lỗi, chẳng hạn như lược đồ được quy định trong Phụ lục E.
Dựa trên phân tích trên, cần có độ dài khóa là 16-20 bit và độ dài giá trị kiểm tra là 16-20 bit. Bảng xác suất các cuộc tấn công thành công với độ dài 16 và 20 bit được cung cấp trong Phụ lục E.
D.3 Sử dụng các lược đồ 3 và 5
Độ an toàn của các cơ chế 3 và 5 dựa trên các nguyên lý tương tự như các nguyên lý mà cơ chế 1 và 2 dựa vào đó. Thay vì một hàm kiểm tra giá trị, một hàm tóm lược và một hàm băm sẽ được sử dụng trong các cơ chế này. Các hàm băm được tiêu chuẩn hóa trong TCVN 11816 [11], và một hàm băm từ tiêu chuẩn này được khuyến nghị sử dụng với các cơ chế 3 và 5.
Vì khóa ngẫu nhiên dài k được sử dụng để đảm bảo thỏa mãn điều kiện thứ hai (tức là sự xung đột tóm lược) của một hàm tóm lược, một khóa k 160 bit được khuyến nghị sử dụng trong trường hợp này.
Vì các giá trị tóm lược được truyền hoặc so sánh một cách thủ công giữa các thiết bị A và B, một hàm tóm lược ngắn có đầu ra là b – 16-20 bit được khuyến nghị sử dụng trong trường hợp này. Hàm tóm lược là tương tự như một thuật toán MAC ngoại trừ việc giá trị tóm lược ngắn hơn độ dài điển hình của MAC. Kết quả là, việc tạo một giá trị tóm lược có thể liên quan đến việc sử dụng b bit đầu tiên của hoặc một MAC hoặc một đầu ra hàm băm mật mã tiêu chuẩn, như được đề xuất trong [25] và trong Phụ lục G.
Các chứng minh về độ an toàn của các cơ chế 3 và 5 được đưa ra trong [24].
D.4 Sử dụng các cơ chế 4 và 6
Độ an toàn của các cơ chế 4 và 6 dựa trên các nguyên lý khác các nguyên lý mà cơ chế 1 và 2 dựa vào đó. Thay vì một hàm kiểm tra giá trị, một hàm băm sẽ được sử dụng trong các cơ chế này. Các hàm băm được tiêu chuẩn hóa trong TCVN 11816 [11], và một hàm băm từ tiêu chuẩn này được khuyến nghị sử dụng với các cơ chế 4 và 6.
Trong các cơ chế 3 và 5, độ dài khóa k 160 bit được khuyến nghị sử dụng trong trường hợp này. Các cơ chế này liên quan đến việc truyền và so sánh một cách thủ công một dòng bit ngắn R giữa các thiết bị A và B, và do đó độ dài của R 16-20 bit được khuyến nghị sử dụng trong trường hợp này.
Các chứng minh về độ an toàn của các cơ chế 4 và 6 được đưa ra trong [24].
D.5 Sử dụng các cơ chế 7 và 8
Độ an toàn của các cơ chế 7 và 8 dựa trên các nguyên lý khác các nguyên lý mà cơ chế 1 và 2 dựa vào đó. Thay vì một hàm kiểm tra giá trị, một hàm MAC sẽ được sử dụng trong các cơ chế này. Các hàm MAC được tiêu chuẩn hóa trong TCVN 11495, và một hàm MAC từ tiêu chuẩn này được khuyến nghị sử dụng với các cơ chế 7 và 8.
Xâu bit ngẫu nhiên R có độ dài 16-20 bit được khuyến nghị sử dụng trong trường hợp này, nhưng MAC có thể dài hơn. Kích thước của đầu ra của hàm MAC được sử dụng trong các cơ chế 7 và 8 nằm trong khoảng 128-160 bit. Tương tự, các khóa ngẫu nhiên KA và KB (và KAi và KBi) được sử dụng làm khóa cho hàm MAC, nên có kích thước xấp xỉ tương đương, có nghĩa là 128-160 bit. Các thủ tục hết thời gian cũng nên được triển khai để phát hiện các sự gián đoạn có thể xảy ra đối với cơ chế.
Phụ lục E
(tham khảo)
Một phương thức tạo các giá trị kiểm tra ngắn
E.1 Tổng quan
Phụ lục này quy định một hàm kiểm tra giá trị phù hợp để sử dụng trong các cơ chế 1 và 2. Xác suất để các tấn công lên các cơ chế này thành công khi lược đồ kiểm tra giá trị được đề xuất ở đây được triển khai cũng được xem xét. Sử dụng biểu thức cho tấn công thành công ở Phụ lục D, một cách tiếp cận đơn giản là sử dụng các hàm kiểm tra giá trị dựa trên học thuyết về mã hóa. Mối liên hệ giữa các mã sửa sai và các giá trị kiểm tra này được thảo luận trong [5].
Trước khi xem xét các ví dụ cụ thể, hai định nghĩa cơ bản trong học thuyết về mã hóa được đưa ra. Để đơn giản, chỉ các mã được định nghĩa trong một trường hữu hạn Fq được xem xét. Biểu thị mã a-ary trên Fq là V. Giả sử các từ mã có độ dài là n. Mã là một ánh xạ từ các thông điệp thành các từ mã. Mỗi thông điệp đều có từ mã duy nhất tương ứng. Do đó mã V bao gồm tất cả các vec-tơ , trong đó
Cần thêm hai định nghĩa nữa.
Định nghĩa: Nếu x và y là hai nhóm q-ary có độ dài n, thì ta phát biểu rằng khoảng cách Hamming của chúng là
Định nghĩa: Khoảng cách tối thiểu của mã V là
Cách thức tạo một hàm kiểm tra giá trị phù hợp để sử dụng trong các cơ chế 1 và 2 dựa trên mã như sau. Việc tạo rất đơn giản, ánh xạ từ thông điệp và không gian khóa một cách đơn giản thu được như sau
Trong đó Từ đó, hàm kiểm tra giá trị thu được với một kích thước khóa bằng n và với kích thước không gian thông điệp bằng kích thước không gian mã.
Xác suất để một cuộc tấn công thay thế lên việc tạo này thành công được xác định như sau. Từ biểu thức của Ps trong Phụ lục D, ta có:
Biểu thức cho xác suất tấn công thay thế thành công này thích hợp để xem xét một số việc tạo cụ thể. Các mã dài hơn đòi hỏi khoảng cách tối thiểu lớn cao. Thuộc tính này chứa các mã Reed-Solomon (RS) nổi tiếng [25], Một mã RS có thể được tạo trên một trường hữu hạn tùy ý, Fq. Việc tính toán một từ mã rất đơn giản và liên quan đến việc đánh giá đa thức trên trường hữu hạn. Biểu diễn dữ liệu (thông điệp) để mã dưới dạng nhóm q có độ dài t trên Sau đó, đa thức mã hóa RS tổng quát như sau
Hàm kiểm tra giá trị được lấy trực tiếp bằng cách đánh giá đa thức tại một điểm bất kỳ k Î Fq,
Mã RS tổng quát có các thuộc tính sau đây:
Điều này có ý nghĩa là PS = (t – 1) / n đối với một giá trị kiểm tra thu được từ mã RS tổng quát. Xác suất tăng lên cùng với kích thước của không gian thông điệp, D. Do đó, cách tiếp cận tốt là trước tiên áp dụng hàm băm một chiều tốt, chẳng hạn như một trong các hàm băm chuyên dụng được quy định trong TCVN 11816-3, cho dữ liệu và sau đó sử dụng đầu ra từ hàm băm một chiều đó làm đầu vào cho mã Reed-Solomon. Điều này có ý nghĩa là chúng ta giữ một xác suất thấp mà không tăng đáng kể độ dài khóa hoặc độ dài của đầu ra của hàm kiểm tra giá trị. Bằng cách sử dụng cách tiếp cận này, một không gian thông điệp khoảng 128 bit (SHA-1 rút gọn) là cho đủ an toàn. Bảng 1 đưa ra hai ví dụ tạo và xác suất tương ứng của các cuộc tẩn công thành công.
Bảng E.1 – Các giá trị kiểm tra mã RS: xác suất thành công của tấn công thay thế, PS
log2 |D| |
log2 n |
PS |
128 |
16 |
2-13 – 2-16 |
256 |
16 |
2-12 – 2-16 |
128 |
20 |
2-17 – 2-20 |
256 |
20 |
2-16 – 2-20 |
Như có thể thấy từ bảng trên, một mã với một khóa có 4 ký tự số trong hệ thập lục phân và giá trị kiểm tra cho một xác suất giả mạo khoảng 2-12 hoặc thấp hơn. Nếu tăng lên đến 5 ký tự số trong hệ thập lục phân, xác suất giảm xuống còn khoảng 2-17 hoặc thấp hơn.
Phụ lục F
(tham khảo)
Phân tích so sánh về độ an toàn và tính hiệu quả của các cơ chế 1-8
Vì các cơ chế 1, 2, 7 và 8 đã được chuẩn hóa vào năm 2005 (các cơ chế 7 và 8 được gọi là 3 và 4), một số lược đồ tốt hơn đã được đề xuất. Chúng bao gồm các lược đồ sử dụng ít đầu vào của người dùng hơn và đạt được các giới hạn chặt chẽ hơn về khả năng thành công của kẻ tấn công. Một số cơ chế hiện có sẵn các chứng minh về độ an toàn, trong khi các cơ chế 1, 2, 7 và 8 không có (mặc dù chúng tôi cũng không biết bất kỳ vấn đề nào xảy ra với các cơ chế này).
Chúng tôi đặc biệt quan tâm đến các nghiên cứu của Laur và Nyberg [19], Vaudenay và Pasini [25] và [30], Cagalj, Capkun và Hubaux [1], Wong và Stajano [32] và [33], Hoepman [6] và [7], Lindell [20], và Nguyễn và Roscoe [21], [23] và [24]. Mặc dù một số lược đồ khác nhau đã được đề xuất, tất cả chúng đều thuộc một trong hai loại liên quan đến cách thức dữ liệu đã xác thực D được xử lý bởi các hàm mã hóa được sử dụng như đã được chỉ ra trong [24]. Cả hai cách tiếp cận được trình bày trong các cơ chế mới được bao gồm trong phiên bản thứ hai này, đó là (1) cơ chế 3 và 5 sử dụng hàm tóm lược (đầu ra ngắn) để liên kết D với một khóa ngẫu nhiên dài k; và (2) cơ chế 4 và 6 sử dụng hàm băm (đầu ra dài hoặc mã hóa) để liên kết D với một khóa ngẫu nhiên dài k và một luồng bit ngẫu nhiên ngắn R.
Để người dùng của tiêu chuẩn này có tiếp cận với các kỹ thuật sẵn có tốt nhất, bốn cơ chế mới (cơ chế 3-6) đã được bao gồm trong điều 7. Các cơ chế này cung cấp các giải pháp thay thế hiệu quả hơn và tốt hơn cho các cơ chế 1, 2, 7 và 8 trong khi chúng không yêu cầu bất kỳ thay đổi nào trong giao diện đầu vào và đầu ra của các thiết bị thực hiện các giao thức.
Tất cả các cơ chế được thêm mới 3-6 này đã được công bố, cũng như các chứng minh về độ an toàn của chúng – xem [21], [22], [23], [32] và [33].
Các tính năng chính của bốn cơ chế được thêm mới này bao gồm dưới đây.
– Các cơ chế 3-6 giảm một nửa lượng truyền hoặc so sánh dữ liệu thủ công theo yêu cầu trong cơ chế 1-2. Trong cơ chế 1 và 2, người dùng phải truyền thủ công cả khóa ngắn và giá trị kiểm tra từ thiết bị này sang thiết bị khác hoặc so sánh bằng mắt những giá trị được hiển thị bởi thiết bị. Giảm số lượng tương tác của con người, trong cơ chế 3-6, người dùng chỉ cần truyền hoặc so sánh giá trị tóm lược ngắn hoặc luồng bit ngẫu nhiên ngắn, cả hai đều có độ dài bằng khóa ngắn hoặc giá trị kiểm tra trong cơ chế 1-2.
CHÚ THÍCH 1 Truyền thủ công một khóa ngẫu nhiên ngắn, giá trị kiểm tra hoặc giá trị tóm lược quan trọng hơn các hành động đơn giản hơn như các nhấn nút để khởi động các giao thức, đọc kết quả 1 bit (Chấp nhận / Từ chối) hoặc bất kỳ sự so sánh bit nào khác xảy ra trong tất cả các cơ chế. Loại tương tác thứ hai của con người được bỏ qua trong phân tích này và trong Bảng F.1.
– Các cơ chế 3-6 cung cấp mức độ an toàn cao hơn so với cơ chế 1-2 mặc dù chúng chỉ đòi hỏi một nửa tác động cần thiết của con người trong cơ chế. Nó đã được chứng minh trong [21] và [24] rằng các cơ chế 1-2 không cung cấp nhiều độ an toàn như trường hợp lý tưởng vì độ dài bit ngắn của khóa K là công cụ trong việc tính toán giá trị kiểm tra. Ngược lại, khóa k được sử dụng trong các cơ chế 3-6 có thể được gửi qua liên kết truyền thông chia sẻ (băng thông cao). Do đó, nó có thể dài hơn đáng kể, có nghĩa là 160 bit như được quy định trong Phụ lục D. Thuộc tính này xuất phát từ giới hạn dưới về mặt lý thuyết của độ dài khóa của các hàm băm phổ biến, như đã được nghiên cứu rộng rãi, ví dụ, trong [2], [5], [27] và [31].
– Các cơ chế 3-6 có các chứng minh về độ an toàn được đưa ra trong [21] và [24]. Mặc dù các cơ chế 3-6 khác nhau, chúng cung cấp cùng một mức độ an toàn tương đối so với số lượng tác động của con người.
– Mặc dù các cơ chế 7-8 cung cấp cùng mức độ bảo mật như các cơ chế 3-6, chúng dựa vào việc truyền dữ liệu thủ công bí mật một khóa ngẫu nhiên ngắn R. Không giống như các cơ chế 1-6, khóa ngẫu nhiên trong các cơ chế 7-8 sẽ được giữ bí mật, do đó chỉ được các thiết bị và người dùng biết đến. Do đó, việc truyền dữ liệu thủ công sẽ được thực hiện cẩn thận để tránh việc bị quan sát thấy khóa ngẫu nhiên, ví dụ: thông qua một camera giấu kín. Nếu khóa bí mật bị xâm nhập, kẻ xâm nhập có thể khởi động một cuộc tấn công xen giữa.
Bảng F.1 tổng kết sự khác biệt trong việc truyền dữ liệu thủ công và độ an toàn giữa các cơ chế 1-8. Ở đây, một cuộc tấn công thành công có ý nghĩa là một giao thức thực thi trong đó các thiết bị tính toán toán cùng chuỗi bit được truyền thủ công, tuy nhiên đối phương đã thao tác thành công lên dữ liệu D khi nó được trao đổi qua liên kết chia sẻ (không an toàn) để các thiết bị nhận được các phiên bản dữ liệu D khác nhau.
CHÚ THÍCH 2 Trong các cơ chế 1, 2, 3, 5, 7 và 8, các khóa được sử dụng với một hàm kiểm tra giá trị, hàm tóm lược hoặc thuật toán MAC luôn ngẫu nhiên và mới trong mỗi phiên của giao thức. Do đó, các cuộc tấn công thay thế, dựa vào việc tái sử dụng một khóa duy nhất cho nhiều thông điệp đầu vào như đã đề cập trong Phụ lục D.2 là không liên quan. Thông tin bổ sung về các chứng minh về độ an toàn và các định nghĩa về một cuộc tấn công thành công có thể được tìm thấy trong [21] và [24].
Để so sánh số lượng truyền dữ liệu thủ công, độ dài bit của giá trị tóm lược (trong các cơ chế 3 và 5), dòng bit ngẫu nhiên ngắn R (trong các cơ chế 4, 6, 7 và 8), giá trị kiểm tra và khóa bí mật ngắn được sử dụng trong hàm kiểm tra giá trị (trong các cơ chế 1 và 2) đều là b bit.
Vì có hai loại tương tác của con người liên quan đến các cơ chế: (1) truyền thủ công các bit thông tin (chẳng hạn như các giá trị tóm lược và các dòng bit ngẫu nhiên ngắn); và (2) so sánh thủ công hai dòng bit, Bảng F.1 sẽ sử dụng ký hiệu (m, c) để biểu diễn số bít truyền dữ liệu thủ công (m) và số bit so sánh (c).
Bảng F.1 – So sánh giữa các cơ chế 1-8
Cơ chế | Loại thiết bị A và B | Tương tác của con người (vào các bit công khai/bí mật) | Hàm mật mã | Xác suất tấn công thành công |
1 (cũ) | A: giao diện đầu vào đơn giản
B: giao diện đầu ra đơn giản |
(2b, 0) (dữ liệu công khai) | Hàm kiểm tra giá trị |
> 2–b |
2 (cũ) | A, B: giao diện đầu vào đơn giản | (0, 2b) (dữ liệu công khai) | Hàm kiểm tra giá trị |
> 2–b |
3 (mới) | A: giao diện đầu vào đơn giản
B: giao diện đầu ra đơn giản |
(b, 0) (dữ liệu công khai) | Hàm băm và hàm tóm lược |
> 2–b + ε |
4 (mới) | A: giao diện đầu vào đơn giản
B: giao diện đầu ra đơn giản |
(b, 0) (dữ liệu công khai) | Hàm băm |
> 2–b + ε |
5 (mới) | A, B: giao diện đầu vào đơn giản | (0, b) (dữ liệu công khai) | Hàm băm và hàm tóm lược |
> 2–b + ε |
6 (mới) | A, B: giao diện đầu vào đơn giản | (0, b) (dữ liệu công khai) | Hàm băm |
> 2–b + ε |
7 (cũ) | A, B: giao diện đầu ra đơn giản | (2b, 0) (dữ liệu bí mật) | Thuật toán MAC |
> 2–b + ε |
8 (cũ) | A: giao diện đầu vào đơn giản
B: giao diện đầu ra đơn giản |
(b, 0) (dữ liệu bí mật) | Thuật toán MAC |
> 2–b + ε |
CHÚ THÍCH 3 Các cơ chế 1, 2, 7 và 8 đã được tiêu chuẩn hóa vào năm 2005 và do đó được đánh dấu là “(cũ)” trong bảng F.1. Còn các cơ chế mới 3-6 được đánh dấu là “(mới)”.
CHÚ THÍCH 4 Việc truyền thủ công dữ liệu hoặc các bit công khai có nghĩa là dữ liệu được truyền có thể được biết bởi bất kỳ ai như trong các cơ chế 1-6. Điều này trái ngược với của các cơ chế 7-8 trong đó các khóa ngắn được truyền thủ công được giữ bí mật với tất cả mọi người ngoại trừ các thiết bị và người sử dụng.
CHÚ THÍCH 5 Tất cả các cơ chế đã được phân loại theo các hàm mật mã được yêu cầu vì thông tin này sẽ hữu ích khi so sánh các cơ chế 3-6 về độ phức tạp tính toán của chúng trong Phụ lục F.2.
CHÚ THÍCH 6 Trong bảng F.1, ε là một giá trị không đáng kể so với 2-b, trong đó > 2-b biểu thị xác suất của một cuộc tấn công thành công là lớn hơn 2-b một giá trị không đáng kể không âm.
Trong số các cơ chế mới được thêm vào, có là một lợi thế tiềm năng trong hiệu suất tính toán của các cơ chế 3 và 5 so với các cơ chế 4 và 6. Điều này được giải thích bằng trong [16], [21], [22] và [23]. Dữ liệu D, mà các nút muốn xác thực, chỉ cần được xử lý bởi hàm tóm lược đầu ra ngắn (ví dụ b = 16-20) trong các cơ chế 3 và 5 trái ngược với hàm băm dài (ví dụ 160 bit hoặc nhiều hơn) trong các cơ chế 4 và 6. Vì dữ liệu D thường lớn trong thực tế, ví dụ nó có thể bao gồm hình ảnh hoặc DVD dài hơn đáng kể so với khóa ngẫu nhiên k, việc tính toán giá trị tóm lược thông báo của D có khả năng sẽ nhanh hơn so với giá trị băm dài. Do đó, các cơ chế 3 và 5 có thể hiệu quả hơn các cơ chế 4 và 6 về chi phí tính toán. Điều này đặc biệt hữu ích nếu các cơ chế này được triển khai trên các thiết bị nhỏ và ứng dụng mã hóa nhẹ, nơi tối ưu hóa hiệu suất tính toán là một tiêu chí quan trọng.
Phụ lục G
(tham khảo)
Các phương thức tạo các giá trị tóm lược ngắn
Phụ lục này quy định hai phương thức xây dựng các hàm tóm lược phù hợp để sử dụng với các cơ chế 3 và 5 được xác định. Phương thức đầu tiên là dựa trên thuật toán MAC, chẳng hạn như các thuật toán đã được tiêu chuẩn hóa trong TCVN 11495; còn phương thức thứ hai dựa trên hàm băm, chẳng hạn như các hàm đã được tiêu chuẩn hóa trong TCVN 11816.
CHÚ THÍCH 1 Còn nhiều cơ chế khác cũng có thể được sử dụng để tính toán các hàm tóm lược, chẳng hạn như dựa trên phép nhân ma trận Toeplitz hoặc phép nhân số nguyên như được đề cập trong tài liệu tham khảo [17], [23] và [21]. Tuy nhiên, các phương thức này chưa được phân tích và thử nghiệm một cách đầy đủ, và do đó không được mô tả trong Phụ lục này.
Trong các định nghĩa dưới đây, hàm truncb(x) cho đầu ra là các b bit đầu (bên trái nhất) của xâu bit x.
Định nghĩa 1: Giá trị tóm lược của thông điệp m sử dụng khóa k được tính như sau
d(m,k) = truncb(MACk(m))
Định nghĩa 2: Giá trị tóm lược của thông điệp m sử dụng khóa k được tính như sau
d(m,k) = truncb(h(m||k))
CHÚ THÍCH 2 Phương thức được đưa ra trong định nghĩa 1 được đề xuất trong [4], và phương thức được đưa ra trong định nghĩa 2 được quy định trong [22].
Thư mục tài liệu tham khảo
[1] M. Cagalj, S. Capkun, and J. Hubaux, Key agreement in peer-to-peer wireless networks, in: Proceedings of the IEEE, Special Issue on Security and Cryptography 94(2) (2006), pp. 467-478.
[2] J.L. Carter and M.N. Wegman, Universal Classes of Hash Functions, Journal of Computer and System Sciences 18(2) (1979), pp. 143-154.
[3] C. Gehrmann and K. Nyberg, Enhancements to Bluetooth baseband security, in: Proceedings of Nordsec 2001, Copenhagen, Denmark, November 2001.
[4] C. Gehrmann, C.J. Mitchell and K. Nyberg, Manual authentication for wireless devices, Cryptobytes 7(1) (2004), pp. 29-37.
[5] P. Gemmell and M. Naor, Codes for Interactive Authentication, in: Advances in Cryptology – Crypto 1993, LNCS, Vol. 773, D.R. Stinson, ed., Springer, 1993, pp. 355-367.
[6] J.-H. Hoepman, Ephemeral Pairing on Anonymous Networks, in Proceedings of the Second International Conference on Security in Pervasive Computing (SPC 2005), LNCS, Vol. 3450, D. Hutterand M. Ullmann, eds., Springer, 2005, pp. 101-116
[7] J.-H. Hoepman, Ephemeral Pairing Problem, in: Proceeding of the 8th International Conference on Financial Cryptography, LNCS, Vol. 3110, A. Juels, ed., Springer, 2004, pp. 212-226.
[8] ISO 7498-2:1989, Information processing systems – Open Systems Interconnection – Basic Reference Model – Part 2: Security Architecture.
[9] TCVN 11495 (all parts), Công nghệ thông tin – Các kỹ thuật an toàn – Mã xác thực thông điệp (MACS)).
[10] 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).
[11] TCVN 11816 (tất cả các phần), Công nghệ thông tin – Các kỹ thuật an toàn – Hàm băm.
[12] TCVN 7817-3:2008, Công nghệ thông tin = Các kỹ thuật an toàn – Quản lý khóa – Phần 3: Cơ chế sử dụng kỹ thuật phi đối xứng.
[13] TCVN 18367-3:2016, Công nghệ thông tin = Các kỹ thuật an toàn – Thuật toán mã hóa – Phần 3: Mã khối.
[14] TCVN 18367-4:2016, Công nghệ thông tin = Các kỹ thuật an toàn – Thuật toán mã hóa – Phần 4: Mã dòng.
[15] G. Kabatianskii, B. Smeets and T. Johansson, On the cardinality of systematic authentication codes via error correcting codes, IEEE Transactions on Information Theory 42(2) (1996), pp. 566- 578.
[16] K. Khoo, F.-L. Wong and C.-W. Lim, On a construction of short digests for authenticating ad-hoc networks, in: Proceedings of ICCSA 2009, LNCS vol. 5593, pp. 863-876.
[17] H. Krawczyk, New Hash Functions For Message Authentication, in: Advances in Cryptology – Eurocrypt 1995, LNCS, Vol. 921, L.C. Guillou and J.-J. Quisquater, eds., Springer, 1995, pp. 301- 310.
[18] J.-O. Larsson, Higher layer key exchange techniques for Bluetooth security, in: Opengroup Conference, Amsterdam, October 2001.
[19] S. Laur and K. Nyberg, Efficient Mutual Data Authentication Using Manually Authenticated Strings, LNCS, Vol. 4301, D. Pointcheval, ed., Springer, 2006, pp. 90-107.
[20] A.Y. Lindell. Comparison-Based Key Exchange and the Security of the Numeric Comparison Mode in Bluetooth v2.1, in: Proceedings of the Cryptographers’ Track at the RSA Conference 2009 on Topics in Cryptology, LNCS, Vol. 5473, M. Fischlin, ed., Springer, 2009, pp. 66-83.
[21] L. H. Nguyen and A. W. Roscoe, Authentication protocols based on low-bandwidth unspoofable channels: a comparative survey, Journal of Computer Security (to appear). See: http://eprintiacrorq/2010/206.pdf.
[22] L. H. Nguyen and A. W. Roscoe, Authenticating ad hoc networks by comparison of short digests, Information & Computation 206(2-4) (2008), pp. 250-271.
[23] L. H. Nguyen and A. W. Roscoe, Efficient group authentication protocol based on human interaction in: Proceedings of Workshop on Foundation of Computer Security and Automated Reasoning Protocol Security Analysis, 2006, pp. 9-31. See: http://eprintiacrorq/2009/150.
[24] L. H. Nguyen and A. W. Roscoe, Separating two roles of hashing in one-way message authentication, in Proceedings of Workshop on Foundation of Computer Security, Automated Reasoning Protocol Security Analysis, and Issues in the Theory of Security, 2008, pp. 195-209. See: http://eprint.iacr.org/2009/003.
[25] S. Pasini and S. Vaudenay, SAS-based Authenticated Key Agreement, in Proceedings of International Conference on Practice and Theory in Public Key Cryptography (PKC 2006), LNCS, Vol. 3958, M. Yung, Y. Dodis, A. Kiayias and T. Malkin, eds., Springer, 2006, pp. 395-409.
[26] l.S. Reed and G. Solomon, Polynomial codes over certain finite fields, SIAM Journal 8 (1960), pp. 300-304
[27] D.R. Stinson, Universal Hashing and Authentication Codes, in Advances in Cryptology – Crypto 1991, LNCS, Vol. 576, J. Feigenbaum, ed., Springer, 1992, pp. 74-85.
[28] D.R. Stinson, Cryptography – Theory and Practice, CRC Press, 2002, 2nd edition.
[29] SHAMAN Project Deliverable D13 (Annex 2), Final technical report – Workpackage 2 – Security for distributed terminals, 2003. Available at http://www.ist-shaman.orq/.
[30] S. Vaudenay, Secure Communications over Insecure Channels Based on Short Authenticated Strings, in: Advances in Cryptology – Crypto 2005, LNCS, Vol. 3621, V. Shoup, ed., Springer, 2005, pp. 309-326.
[31] M.N. Wegman and J.L. Carter, New Hash Functions and Their Use in Authentication and Set Equality, Journal of Computer and System Sciences 22(3) (1981), pp. 265-279.
[32] F.-L. Wong and F. Stajano, Multi-channel Protocols, in Proceedings of the 13th International Workshop on Security Protocols, LNCS, Vol. 4631, B. Christianson, B. Crispo, J.A. Malcolm and M.Roe, eds., Springer, 2005, pp. 128-132.
[33] F.-L. Wong and F. Stajano, Multi-channel Security Protocols, IEEE Pervasive computing 6(4) (2007), pp 31-39.
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 Ký hiệu và chữ viết tắt
5 Các yêu cầu chung
6 Các cơ chế sử dụng giá trị một giá trị kiểm tra ngắn
6.1 Tổng quan
6.2 Cơ chế 1 – một thiết bị có giao diện đầu vào đơn giản, một thiết bị có giao diện đầu ra đơn giản
6.2.1 Các yêu cầu cụ thể
6.2.2 Đặc tả dữ liệu được trao đổi
6.2.3 Các chứng chỉ xác thực thủ công
6.3 Cơ chế 2 – các thiết bị có giao diện đầu vào đơn giản
6.3.1 Các yêu cầu cụ thể
6.3.2 Đặc tả dữ liệu được trao đổi
7. Các cơ chế sử dụng truyền thủ công một giá trị tóm lược ngắn hoặc một khóa ngắn
7.1 Tổng quan
7.2 Cơ chế 3 – một thiết bị có giao diện đầu vào đơn giản, một thiết bị có giao diện đầu ra đơn giản
7.2.1 Các yêu cầu cụ thể
7.2.2 Đặc tả dữ liệu được trao đổi
7.3 Cơ chế 4 – một thiết bị có giao diện đầu vào đơn giản, một thiết bị có giao diện đầu ra đơn giản
7.3.1 Các yêu cầu cụ thể
7.3.2 Đặc tả dữ liệu được trao đổi
7.4 Cơ chế 5 – các thiết bị có giao diện đầu vào đơn giản
7.4.1 Các yêu cầu cụ thể
7.4.2 Đặc tả dữ liệu được trao đổi
7.5 Cơ chế 6 – các thiết bị có giao diện đầu vào đơn giản
7.5.1 Các yêu cầu cụ thể
7.5.2 Đặc tả dữ liệu được trao đổi
8. Các cơ chế sử dụng MAC
8.1 Tổng quan
8.2 Cơ chế 7 – các thiết bị có giao diện đầu ra đơn giản
8.2.1 Tổng quan
8.2.2 Các yêu cầu cụ thể
8.2.3 Đặc tả dữ liệu được trao đổi trong cơ chế 7a
8.2.4 Đặc tả dữ liệu được trao đổi trong cơ chế 7b
8.3 Cơ chế 8 – một thiết bị có giao diện đầu vào đơn giản, một thiết bị có giao diện đầu ra đơn giản
8.3.1 Tổng quan
8.3.2 Các yêu cầu cụ thể
8.3 3 Đặc tả dữ liệu được trao đổi trong cơ chế 8a
8.3.4 Đặc tả dữ liệu được trao đổi trong cơ chế 8b
Phụ lục A (quy định) Mô-đun ASN.1
Phụ lục B (tham khảo) Sử dụng các giao thức xác thực thủ công cho trao đổi khóa bí mật
Phụ lục C (tham khảo) Sử dụng các giao thức xác thực thủ công cho trao đổi khóa công khai
Phụ lục D (tham khảo) Về độ an toàn của cơ chế và lựa chọn độ dài tham số
Phụ lục E (tham khảo) Một phương thức tạo các giá trị kiểm tra ngắn
Phụ lục F (tham khảo) Phân tích so sánh về độ an toàn và tính hiệu quả của các cơ chế 1-8
Phụ lục G (tham khảo) Các phương thức tạo các giá trị tóm lược ngắn
Thư mục tài liệu tham khảo
TIÊU CHUẨN QUỐC GIA TCVN 11817-6:2020 (ISO/IEC 9798-6:2010) VỀ CÔNG NGHỆ THÔNG TIN – CÁC KỸ THUẬT AN TOÀN – XÁC THỰC THỰC THỂ – PHẦN 6: CƠ CHẾ SỬ DỤNG TRUYỀN DỮ LIỆU THỦ CÔNG | |||
Số, ký hiệu văn bản | TCVN11817-6: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 | |
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ứ |