Thuật toán mật mã là thành phần cốt lõi của môđun mật mã cũng như sản phẩm an toàn thông tin (ATTT), nó đóng vai trò quan trọng trong an toàn tổng thể của một sản phẩm ATTT. Việc xác nhận (phê duyệt) sự chính xác của các thuật toán mật mã làm nền tảng cho công tác kiểm định, đánh giá chất lượng của sản phẩm ATTT. Đây là một công việc tốn nhiều thời gian và công sức. CAVP được thành lập nhằm xác nhận việc thực thi các thuật toán mật mã trong các môđun mật mã của sản phẩm ATTT. Chương trình này đảm bảo rằng các triển khai thuật toán mật mã trong sản phẩm tuân thủ các chi tiết kỹ thuật được nêu trong tài liệu của nhà cung cấp.
Giới thiệu CAVP
Để đảm bảo an toàn các sản phẩm ATTT, thì việc kiểm tra, đánh giá chất lượng các sản phẩm ATTT theo các tiêu chuẩn, quy chuẩn kỹ thuật tương ứng là hết sức cần thiết và cấp bách. Hệ thống các tiêu chí, phương pháp luận đánh giá chất lượng an toàn sản phẩm ATTT đã được phát triển từ rất sớm trên thế giới và ngày càng hoàn thiện. Trong đó, kiểm định, đánh giá chất lượng môđun mật mã cũng như thuật toán thực thi trong sản phẩm là một lĩnh vực độc lập đang được nhiều nhà khoa học quan tâm, nghiên cứu. Bảng 1 dưới đây trình bày ví dụ về một ứng dụng ATTT và các tiêu chí để đánh giá:
Năm 1995, Viện tiêu chuẩn công nghệ quốc gia Hoa Kỳ (National Institute of Standards and Technology – NIST) và Cơ quan thiết lập an toàn Canada (Communications Security Establishment Canada – CSE) đã thành lập chương trình phê duyệt môđun mật mã (Cryptographic Module Validation Program - CMVP). Lúc đó, CMVP bao gồm cả chức năng của CMVP hiện tại và chương trình xác nhận thuật toán mật mã CAVP. Năm 2003, CAVP [1] được NIST và CSE thành lập như một chương trình riêng biệt để xác nhận sự chính xác khi triển khai các thuật toán mật mã trong các môđun hay sản phẩm mật mã. CMVP phê duyệt môđun mật mã theo FIPS 140-2, trong khi CAVP xác nhận việc thực thi các thuật toán mật mã được chấp thuận bởi NIST. Việc xác nhận tính hợp lệ các thuật toán mật mã được thực thi trong môđun mật mã là một công việc độc lập và là điều kiện tiên quyết để phê duyệt môđun mật mã đó.
CAVP thiết kế một bộ kiểm tra cho mỗi thực thi thuật toán mật mã để kiểm tra các đặc tả thuật toán, các thành phần, tính năng, hoặc chức năng của việc thực thi thuật toán đó. Một môđun mật mã gồm một hoặc nhiều thực thi thuật toán mật mã, mỗi thực thi thuật toán có một tên và số phiên bản duy nhất. Khi thực thi thuật toán mật mã đang được xác nhận lần đầu tiên, nó được gọi là xác nhận mới. Khi một thực thi thuật toán mật mã là phiên bản sửa đổi thì được gọi là xác nhận cập nhật (ví dụ AES thêm chế độ CFB…).
Vai trò và trách nhiệm của các bên tham gia CAVP
Sơ đồ dưới đây thể hiện vai trò và trách nhiệm của các bên tham vào CAVP. Trong đó bao gồm 4 chủ thể: Nhà cung cấp, Phòng thí nghiệm CST, Cơ quan phê duyệt CAVP, Người sử dụng.
Nhà cung cấp: Vai trò của nhà cung cấp là triển khai các thuật toán mã hóa tuân thủ các yêu cầu được quy định trong các tài liệu của FIPS hoặc NIST được áp dụng. Khi việc triển khai thuật toán mã hóa đã sẵn sàng để kiểm định, nhà cung cấp lựa chọn một phòng thí nghiệm CST để xác nhận việc thực thi thuật toán của họ.
Phòng thí nghiệm CST: Vai trò của phòng thí nghiệm CST là kiểm định việc thực thi thuật toán mật mã một cách độc lập. Phòng thí nghiệm CST liên lạc với CAVP khi việc kiểm định thực thi thuật toán thành công để CAVP đánh giá kết quả và xác nhận việc thực thi thuật toán mật mã.
Cơ quan phê duyệt CAVP: Ở đây, cơ quan phê duyệt CAVP là NIST. Cơ quan này có vai trò phê duyệt kết quả kiểm định cho mỗi thực thi thuật toán mật mã. Nếu việc thực thi thuật toán mật mã được xác định là phù hợp với tài liệu kèm theo, thì việc thực thi được xác nhận và danh sách thực thi thuật toán mật mã được cập nhật trực tuyến.
Người sử dụng: Người dùng xác minh rằng việc thực thi thuật toán mật mã bên trong một môđun mật mã hoặc một sản phẩm mà họ đang cân nhắc mua đã được xác nhận là chính xác. Danh sách các thực thi thuật toán mật mã đã phê duyệt được công bố tại trang chủ của NIST [3].
Quy trình xác nhận thuật toán mật mã của CAVP
Hình 3 trình bày tổng quát chương trình xác nhận thuật toán mật mã CAVP. Bao gồm 12 bước kiểm định, đánh giá và cấp chứng nhận cơ bản được thể hiện như sau:
Bước 1: Nhà cung cấp chọn một trong các phòng thí nghiệm CST được công nhận để yêu cầu thực hiện kiểm định hoặc giám sát việc kiểm định việc thực thi thuật toán mật mã của họ. Lưu ý rằng, việc kiểm định thực thi thuật toán mật mã của nhà cung cấp có thể được thực hiện tại chỗ hoặc có thể được gửi đến phòng thí nghiệm CST để kiểm định (thuật ngữ “người kiểm định” là bên thực hiện kiểm định thực thi thuật toán).
Bước 2: Phòng thí nghiệm CST yêu cầu nhà cung cấp gửi thông tin liên quan đến thực thi thuật toán mật mã trong quá trình thực hiện kiểm định.
Bước 3: Sau khi nhận được tài liệu, người kiểm định sử dụng tài liệu để xác nhận sự phù hợp với tham chiếu việc thực thi thuật toán cụ thể được nêu trong tài liệu đi kèm của mỗi thuật toán. Các tài liệu này đã được phê duyệt trên trang chủ của NIST theo từng thuật toán cụ thể, đồng thời, phòng thí nghiệm CST thiết kế ra bộ kiểm tra.
Bước 4: Đối với mỗi thực thi thuật toán đang được kiểm định, phòng thí nghiệm CST sử dụng thông tin này và công cụ xác nhận thuật toán mật mã (Cryptographic Algorithm Validation System - CAVS) để tạo các vectơ kiểm tra đầu vào sử dụng trong các bài kiểm tra.
Bước 5: Phòng thí nghiệm CST cung cấp các vector kiểm tra đầu vào cho người kiểm định.
Bước 6: Người kiểm định sử dụng vectơ kiểm tra như là đầu vào để thực thi thuật toán.
Bước 7: Các kết quả thực thi thuật toán được chuyển tiếp đến phòng thí nghiệm CST.
Bước 8: Phòng thí nghiệm CST sử dụng công cụ CAVS để xác minh kết quả của các bài kiểm tra bằng cách so sánh kết quả thực thi thuật toán của nhà cung cấp và kết quả thực thi thuật toán của phòng thí nghiệm. Nếu kết quả không chính xác, công cụ CAVS ghi lại các bài kiểm tra thất bại và nêu lý do tại sao.
Bước 9: Khi quá trình kiểm định, đánh giá hợp lệ, việc thực thi thuật toán mật mã được thực hiện thành công, phòng thí nghiệm CST sẽ đệ trình gói tài liệu yêu cầu đến NIST. Gói này chứa yêu cầu xác nhận việc thực thi thuật toán chính thức từ phòng thí nghiệm và tất cả các tệp tin được tạo ra từ công cụ CAVS bao gồm tệp tóm tắt kết quả kiểm định cho mỗi thuật toán được kiểm định.
Bước 10: NIST đánh giá gói đầy đủ và xác nhận rằng tất cả các bài kiểm tra đã thực hiện xong. Nếu điều này là đúng, NIST và CSE sẽ xác nhận thực việc thực thi thuật toán mật mã.
Bước 11: NIST nhập tất cả các thông tin thích hợp liên quan đến việc xác nhận hợp lệ này vào cơ sở dữ liệu nội bộ, tạo ra chứng chỉ hợp nhất xác nhận thuật toán mật mã (có chứa nhiều thực thi thuật toán mật mã). NIST ký chứng chỉ xác nhận hợp nhất này và gửi đến CSE để ký tên.
Bước 12: CAVP tạo ra danh mục thuật toán được phê duyệt, thuật toán mật mã được đăng lên danh sách thuật toán mật mã được .
Danh sách các thuật toán mật mã đã được xác nhận trên trang chủ của NIST bao gồm: AES, CCM, DRBG, ECDSA, HMAC, KAS, KDF, RSA, SHA-3, TDES… Mỗi thuật toán mật mã được xác nhận bao gồm một danh sách các môđun mật mã đã được phê duyệt chứa thuật toán đó.
Công cụ xác nhận thuật toán mật mã CAVS
Việc sử dụng công cụ CAVS đảm bảo rằng việc thực thi thuật toán mật trong sản phẩm là chính xác và là một điều kiện tiên quyết của việc xác nhận thuật toán mật mã của CAVP. Phòng thí nghiệm CST sử dụng công cụ CAVS phiên bản mới nhất và thông tin từ nhà cung cấp thực thi thuật toán này tạo ra vector kiểm định đầu vào. Phòng thí nghiệm sử dụng công cụ CAVS tạo ra 3 loại tệp tin [2], đó là:
- FAX: Tệp tin phản hồi;
- Request: Tệp tin chứa vector kiểm định đầu vào;
- Sample: Định dạng yêu cầu của tệp tin phản hồi;
Tệp tin phản hồi được tạo ra bằng cách thực hiện thuật toán của nhà cung cấp.
Vectơ kiểm định được tạo ra và đặt trong các tệp yêu cầu được cung cấp cho người kiểm định cùng với tệp mẫu có chứa thông tin định dạng tệp phản hồi. Người kiểm định sử dụng vectơ kiểm định, tính toán kết quả thực hiện thuật toán và lưu trữ chúng theo định dạng được chỉ định trong các tệp phản hồi, sau đó gửi tệp phản về phòng thí nghiệm CST. Công cụ CAVS xác định thuật toán mật mã trong sản phẩm thực hiện chính xác bằng cách so sánh giá trị của kết quả thực hiện với các kết quả dự kiến.
Trong quá trình này, công cụ CAVS tạo ra một bản tóm tắt và một tệp nhật ký. Tệp tóm tắt chỉ ra các bài kiểm tra đã được chạy và việc chạy có thành công hay không. Số kết quả thành công trong tổng số kết quả sẽ được ghi lại. Nếu xảy ra lỗi, tệp nhật ký sẽ chỉ ra giá trị nào không thành công và nêu lý do không thành công. Có 2 loại lỗi thường xảy ra trong quá trình này gồm:
- Lỗi chính: Tệp nhật ký cho thấy phản hồi kiểm tra không có vấn đề về định dạng, nhưng không thể xác định.
- Lỗi phụ: Tệp nhật ký cho thấy phản hồi kiểm tra không thể đọc chính xác hoặc có vấn đề về định dạng.
Phòng thí nghiệm CST sử dụng các tệp này để cung cấp các thông tin cho nhà cung cấp thuật toán liên quan đến lỗi đã xảy ra. Căn cứ vào đó, nhà cung cấp sẽ khắc phục lỗi trong việc thực thi thuật toán mật mã của họ. Phòng thí nghiệm CST thông báo cho nhà cung cấp rằng việc thực thi thuật toán không đáp ứng các yêu cầu của tài liệu tham khảo có liên quan và cung cấp các thông tin do CAVS tạo ra để hỗ trợ nhà cung cấp xác định vị trí thuật toán thực thi của họ sai lệch so với thông số kỹ thuật trong tài liệu tham khảo.
Kết luận
Việc CAVP công bố công khai thông tin về danh mục thuật toán mật mã được xác nhận và chi tiết các kết quả kiểm định thực thi thuật toán trong sản phẩm, sẽ giúp ích rất nhiều cho các nhà phát triển sản phẩm ATTT trong quá trình tích hợp các thuật toán mật mã theo tiêu chuẩn. Đồng thời cũng giúp cho công tác quản lý chất lượng và kiểm định sản phẩm chặt chẽ hơn.
TÀI LIỆU THAM KHẢO [1] NIST & CSE, Cryptographic Algorithm Validation Program Management Manual CAVP, Ver 1.0, 2009. [2] Yuan Xu, Analysis and Solutions for CAVS Testing Errors, Ottawa, Canada, May-18, 2016. [3] //csrc.nist.gov |
KS. Hoàng Anh Thuận
09:00 | 17/09/2018
15:00 | 10/07/2018
15:00 | 03/05/2019
07:00 | 14/06/2019
09:00 | 08/03/2024
09:00 | 13/06/2024
Trong phạm vi của bài báo này, chúng tôi sẽ trình bày những nội dung xoay quanh các vấn đề về sự tác động của trí tuệ nhân tạo (AI) cùng với hậu quả khi chúng ta tin tưởng tuyệt đối vào sức mạnh mà nó mang tới. Cũng như chúng tôi đề xuất sự cần thiết của việc xây dựng và hoàn thiện các chính sách bảo vệ các nội dung do AI tạo ra tuân thủ pháp luật và bảo vệ người dùng.
10:00 | 08/05/2024
Trong thời đại công nghệ phát triển ngày nay, việc tiếp xúc với môi trường trực tuyến đã trở nên rất phổ biến. Điện thoại thông minh không chỉ là công cụ để chúng ta có thể liên lạc với con cái, mà còn mở ra cơ hội cho trẻ tiếp cận kiến thức và giải trí một cách bổ ích, miễn là người lớn biết cách hướng dẫn chúng một cách đúng đắn. Thay vì kiểm soát, hãy tìm cách để thiết lập điện thoại sao cho phù hợp, từ đó đảm bảo an toàn cho trẻ em trên môi trường mạng. Bài báo sau đây sẽ hướng dẫn độc giả đặc biệt là các phụ huynh cách thiết lập quản lý việc sử dụng điện thoại thông minh (hệ điều hành Android) của con mình một cách hiệu quả và an toàn.
10:00 | 15/09/2023
Thư rác hay email spam là một vấn nạn lớn hiện nay, chúng đã xuất hiện từ rất lâu cùng với sự phát triển của Internet và không chỉ gây phiền nhiễu, tốn thời gian mà còn có thể chứa một số nội dung nguy hiểm. Ước tính có tới 94% phần mềm độc hại được phân phối dưới dạng email spam, một số nguy cơ tiềm ẩn khác bao gồm phần mềm gián điệp, lừa đảo và mã độc tống tiền. Trong bài viết này sẽ thông tin đến bạn đọc cách nhận biết thư rác và ngăn chặn thư rác không mong muốn.
15:00 | 03/09/2023
Để bảo vệ thông tin dữ liệu được an toàn và tránh bị truy cập trái phép, mã hóa là một trong những cách thức hiệu quả nhất đảm bảo dữ liệu không thể đọc/ghi được, ngay cả trong trường hợp bị xâm phạm. Trong số 1 (065) 2022 của Tạp chí An toàn thông tin đã hướng dẫn về cách mã hóa ổ đĩa cứng sử dụng Bitlocker. Tuy nhiên, với người dùng phiên bản Windows 10 Home thì giải pháp này lại không được hỗ trợ. Bài viết sau sẽ giới thiệu đến độc giả VeraCrypt, một công cụ mã hóa miễn phí đa nền tảng với khả năng hỗ trợ nhiều thuật toán mật mã và hàm băm, cho phép người dùng mã hóa các tệp tin, phân vùng hệ thống và tạo ổ đĩa ảo mã hóa với tùy chọn phù hợp.
Song song cùng sự phát triển của công nghệ, Deepfake cũng có lịch sử phát triển với nhiều loại hình khác nhau. Phần hai của bài báo sẽ tập trung phân loại các loại hình Deepfake và trình bày về các tập dữ liệu có giá trị trong việc phát hiện công nghệ tinh vi này.
07:00 | 07/11/2024
Cục An toàn thông tin vừa phát đi cảnh báo về chiêu trò lừa đảo mới mạo danh cơ quan an sinh xã hội, dụ người dân nhận tiền hỗ trợ, trợ cấp... Tuy nhiên, đằng sau những lời "có cánh" lại là cái bẫy tinh vi nhằm chiếm đoạt tài sản.
10:00 | 30/10/2024