Tiêu chuẩn đánh giá mô - đun mật mã FIPS 140-2
Ở nhiều quốc gia, các sản phẩm BM&ATTT dù sử dụng trong các cơ quan chính phủ hay trong các khu vực trọng yếu đều yêu cầu phải thỏa mãn một số chỉ tiêu công nghệ nào đó. Riêng trong lĩnh vực mật mã, hầu hết các nước đều yêu cầu cơ quan thuộc chính phủ phải sử dụng các sản phẩm mật mã (hay còn gọi là mô-đun mật mã) đã qua đánh giá và được phê chuẩn (được cơ quan có thẩm quyền chứng nhận đạt yêu cầu).
Theo định nghĩa của FIPS 140- 2: “Mô-đun mật mã là một tập phần cứng, phần mềm (software), phần sụn (firmware) hoặc sự kết hợp giữa chúng đảm nhận vai trò thực thi hoặc xử lý các chức năng mật mã, bao gồm các thuật toán mật mã, sinh khóa (nếu có) nằm trong một ranh giới mật mã xác định. Một mô-đun mật mã sẽ thực thi ít nhất một chức năng mật mã được phê chuẩn theo một chế độ hoạt động được quy định, đã được đánh giá, kiểm định. Các chức năng an toàn chưa được phê chuẩn vẫn có thể được đưa vào sử dụng và hoạt động theo một chế độ chưa được phê chuẩn. Người kiểm soát sẽ có khả năng xác định chế độ hoạt động đã được phê chuẩn cho mô-đun mật mã”.
Ranh giới mật mã bao gồm một đường biên xác định một cách rõ ràng về phạm vi vật lý của mô-đun mật mã đó. Nếu mô-đun mật mã bao gồm cả các thành phần phần mềm hoặc phần sụn thì ranh giới mật mã sẽ bao gồm (các) bộ xử lý hoặc các phần cứng lưu trữ và bảo vệ các phần mềm và phần sụn đó. Các phần cứng, phần mềm và phần sụn của mô- đun mật mã có thể không được đưa vào ranh giới mật mã nếu chúng không ảnh hưởng đến tính an toàn của mô- đun mật mã.
Việc kiểm tra và phê chuẩn đối với mô- đun mật mã để khẳng định rằng nó sử dụng các thuật toán mật mã được công nhận, được phát triển và xây dựng trên các nguyên lý an toàn là điều cơ bản nhất để đảm bảo an toàn cho các sản phẩm sử dụng mô- đun mật mã này.
Hiện nay, hai dòng tiêu chuẩn có thể sử dụng để đánh giá mô- đun mật mã là bộ tiêu chuẩn Các yêu cầu an toàn cho mô-đun mật mã (gồm 2 phiên bản là FIPS 140- 1/FIPS 140-2) do Viện Tiêu chuẩn và Công nghệ quốc gia Mỹ (NIST) ban hành, (FIPS 140-2 ban hành ngày 25/05/2001) và bộ Tiêu chí chung để đánh giá
An toàn công nghệ thông tin (gọi tắt là CC) ban hành bởi Hiệp hội các quốc gia công nhận lẫn nhau về Tiêu chí chung (CCRA). CC và FIPS 140- 2 hoàn toàn khác nhau trên góc độ lý thuyết, cách tiếp cận đối tượng cũng như phương pháp kiểm thử và đánh giá. FIPS 140-2 thực hiện đánh giá trên một mô- đun mật mã cụ thể và thực thi một tập thủ tục kiểm thử tương ứng với bốn mức an toàn. Các mức an toàn này đưa ra yêu cầu cho mô- đun mật mã bao gồm các lĩnh vực như an toàn vật lý, quản lý khóa, các thủ tục tự kiểm tra, vai trò và xác thực... Trong khi đó, CC đánh giá một sản phẩm và hệ thống CNTT hoàn chỉnh dựa trên các khái niệm như Hồ sơ bảo vệ (PP) hoặc Chỉ tiêu an toàn (ST). Lĩnh vực mật mã chỉ là một phần nội dung nhỏ được đưa vào CC. Việc đánh giá theo CC không thể thay thế cho việc đánh giá theo FIPS 140- 2. Bốn Mức an toàn theo FIPS 140 - 2 không tương ứng với 7 Mức đảm bảo (Evalution Assuarance Level), EAL1 đến EAL7 của CC. Các yêu cầu an toàn của FIPS 140 - 2 cũng không tương ứng và không thể ánh xạ với các yêu cầu an toàn của CC. Do đó chứng nhận phù hợp với CC của một sản phẩm không thể thay thế cho chứng nhận phù hợp với FIPS 140- 2 (hoặc FIPS 140- 1).
Tiêu chuẩn FIPS 140-2
Tiêu chuẩn này đưa ra các yêu cầu an toàn cho một mô-đun mật mã sử dụng trong một hệ thống an toàn dùng để bảo vệ thông tin nhạy cảm nhưng chưa được phân loại (nghĩa là các thông tin không thuộc dạng tuyệt mật, tối mật theo cách phân loại của Mỹ). Tiêu chuẩn này đưa ra 4 mức an toàn tăng dần từ 1 đến 4. Các mức an toàn này bao quát hết các ứng dụng và môi trường mà các mô- đun mật mã được triển khai. Các yêu cầu an toàn là đặc tả về mô- đun mật mã; các cổng và giao diện của mô- đun mật mã; các vai trò, dịch vụ và xác thực; mô hình trạng thái máy (finite state model); an ninh vật lý; môi trường hoạt động; quản lý khóa mã; khả năng thích ứng về điện và nhiễu điện từ (EMI/EMC), các thủ tục tự kiểm tra (self- tests); đảm bảo về mặt thiết kế; khả năng giảm thiểu một số tấn công khác.
Sau đây là các yêu cầu đưa ra bởi từng Mức an toàn với cấp độ chặt chẽ khác nhau.
Mức an toàn 1
Mức an toàn 1 cung cấp khả năng an toàn thấp nhất. Mô-đun mật mã đáp ứng mức an toàn này chỉ cần thỏa mãn một số yêu cầu rất cơ bản, như phải sử dụng ít nhất một thuật toán mật mã đã được phê chuẩn hoặc một chức năng an toàn đã được phê chuẩn. Không bắt buộc phải có cơ chế an toàn vật lý nào trong mô- đun mật mã ở mức này, ngoại trừ các yêu cầu cơ bản đối với các thành phần được tạo ra bởi nhà sản xuất. Một ví dụ về mô- đun mật mã có mức an toàn 1 là bảng mạch mã hóa của máy tính cá nhân.
Mức an toàn 1 cho phép các thành phần phần mềm và phần sụn của mô- đun mật mã được thực thi trong các hệ thống máy tính đa mục đích, sử dụng hệ điều hành chưa được kiểm định, phù hợp với một số ứng dụng có mức an toàn thấp, trong đó khả năng kiểm soát các vấn đề về an ninh vật lý, an ninh mạng và các thủ tục quản trị có thể ở mức hạn chế hoặc không có.
Mức an toàn 2
Mức an toàn 2 tăng thêm các cơ chế an toàn vật lý so với Mức an toàn 1 bằng cách thêm các yêu cầu về khả năng chống can thiệp (tamper-evidence) như việc đóng hộp cách ly (coating), đóng dấu niêm phong (seal) hoặc đưa các khóa cứng an toàn (pick-resistant lock) vào phần vỏ hoặc nắp đóng mở của mô- đun mật mã. Việc đóng hộp cách ly hoặc dán tem niêm phong là nhằm chống lại sự can thiệp hoặc lấy cắp khóa mật mã ở dạng rõ (plaintext cryptographic key) hoặc các Tham số an toàn quan trọng (CSP - Critical Security Parameter) thông qua cách tiếp cận trực tiếp vào mô- đun mật mã. Dấu niêm phong và khóa cứng an toàn được đưa vào phần vỏ hoặc nắp đậy là nhằm chống lại việc truy cập trái phép mô- đun mật mã.
Để đạt Mức an toàn 2 thì tối thiểu phải có cơ chế xác thực dựa trên vai trò (role- based authentication) thực thi bởi mô-đun mật mã nhằm cho phép từng vai trò người dùng được thực thi một tập dịch vụ xác định trên mô- đun mật mã.
Mức an toàn 2 cho phép các thành phần phần mềm hoặc phần sụn trong mô- đun mật mã được thực thi trên các hệ thống máy tính đa mục đích nhưng hệ điều hành phải thỏa mãn các yêu cầu chức năng đưa ra bởi PP ở Phụ lục B của tiêu chuẩn FIPS 140- 2 và được đánh giá đạt EAL2 theo CC.
Mức an toàn 3
Ngoài các yêu cầu đưa ra ở Mức an toàn 2, Mức an toàn 3 ngăn chặn các xâm nhập thông qua truy cập vào CSP. Các cơ chế an toàn vật lý yêu cầu ở Mức an toàn 3 hướng đến việc phải có khả năng phát hiện và phản ứng với các cố gắng truy cập về mặt vật lý, sử dụng hoặc sửa đổi mô- đun mật mã khá cao. Các cơ chế an toàn vật lý có thể bao gồm việc sử dụng rào chắn mạnh và chu trình phát hiện/phản ứng với các can thiệp để hủy bỏ tất cả CSP dạng rõ khi có hành động mở nắp/tháo vỏ các mô- đun mật mã.
Mức an toàn 3 yêu cầu các cơ chế xác thực dựa trên định danh (identity- based authentication), đây là sự nâng cao so với cơ chế xác thực dựa trên vai trò (role-based authentication) ở Mức an toàn 2. Mô- đun mật mã sẽ xác thực định danh của một tác tử (người dùng, tiến trình máy) và xác nhận rằng tác tử này đủ thẩm quyền để được đưa vào một nhóm người dùng xác định nào đó và nó có thể thực thi một tập dịch vụ thích hợp được chỉ định cho nhóm đó.
Mức an toàn 3 yêu cầu đầu vào và đầu ra của CPS dạng rõ (bao gồm cả đầu vào và đầu ra của CPS dạng rõ sử dụng thủ tục phân chia tri thức) phải được thực thi trên các cổng tách biệt về mặt vật lý hoặc các giao diện tách biệt về mặt lôgic, các giao diện này liên lạc với nhau bằng đường truyền tin cậy. Các CPS có thể được nhập vào hoặc xuất ra từ mô- đun mật mã ở dạng đã mã hóa (vì thế có thể chuyển đi trên các hệ thống không an toàn).
Mức an toàn 3 cho phép các thành phần phần mềm hoặc phần sụn trong mô-đun mật mã được thực thi trên các hệ thống máy tính đa mục đích nhưng hệ điều hành phải thỏa mãn các yêu cầu chức năng đưa ra bởi PP (ở Phụ lục B của tiêu chuẩn FIPS 140- 2) và được đánh giá đạt EAL3 + ADV_SPM.1 theo CC.
Mức an toàn 4
Đây là mức an toàn cao nhất. Ở mức an toàn này, các cơ chế an toàn vật lý cung cấp một vỏ bọc hoàn chỉnh để bảo vệ mô- đun mật mã hướng đến việc phát hiện và phản ứng với tất cả các cố gắng truy cập trái phép về vật lý. Việc thâm nhập vào mô- đun mật mã theo mọi hướng sẽ bị phát hiện với khả năng rất cao và kết quả là tất cả CSP dạng rõ sẽ được hủy bỏ ngay lập tức. Mô-đun mật mã có Mức an toàn 4 thích hợp cho việc sử dụng trong các môi trường không có sự bảo vệ về mặt vật lý.
Mức an toàn 4 cũng bảo vệ mô- đun mật mã khỏi bị tổn thương về an toàn trong các điều kiện môi trường hoặc sự thay đổi bất thường vượt khỏi điều kiện hoạt động thông thường của mô- đun như về điện thế và nhiệt độ. Việc thay đổi có chủ ý vượt ra khỏi điều kiện hoạt động thông thường có thể được kẻ tấn công sử dụng để phá vỡ sự phòng thủ của mô- đun mật mã. Một mô- đun mật mã yêu cầu phải được thiết kế các tính năng bảo vệ trong môi trường cụ thể nhằm đáp ứng vấn đề thay đổi và hủy bỏ CSP hoặc phải vượt qua được quá trình kiểm tra lỗi nghiêm ngặt nhằm đảm bảo chắc chắn rằng mô-đun sẽ không bị ảnh hưởng bởi các tác động vượt quá điều kiện hoạt động thông thường, dẫn đến việc bị can thiệp về mặt an toàn.
Mức an toàn 4 cho phép phần mềm hoặc phần sụn trong mô- đun mật mã hoạt động trên các hệ thống máy tính đa mục đích nhưng hệ điều hành phải thỏa mãn các yêu cầu chức năng đưa ra bởi PP (ở Phụ lục B của tiêu chuẩn này) và được đánh giá đạt EAL4 theo CC.
Tương ứng với bốn Mức an toàn nói trên, tiêu chuẩn này đưa ra các yêu cầu thích hợp cho từng mức an toàn. Ở mức an toàn càng cao thì yêu cầu đưa ra càng chặt chẽ. Các yêu cầu an toàn đưa ra liên quan đến việc thiết kế và thực thi an toàn một mô- đun mật mã, xuất phát từ các mục tiêu an toàn về mặt chức năng ở mức cao nhằm mục đích:
- Triển khai và thực thi các chức năng an toàn đã được phê duyệt để bảo vệ thông tin nhạy cảm.
- Bảo vệ mô- đun mật mã khỏi việc bị sử dụng hoặc hoạt động trái phép.
- Ngăn ngừa sự tiết lộ nội dung của mô- đun mật mã, bao gồm khóa mã và CSP dạng rõ.
- Ngăn ngừa việc sửa đổi trái phép mà không bị phát hiện đối với mô- đun mật mã và các thuật toán mật mã, đó là các sửa đổi, thay thế, chèn thêm và xóa bỏ trái phép khóa mã cũng như CPS.
- Cung cấp các biểu thị về trạng thái hoạt động của mô-đun mật mã.
- Đảm bảo rằng mô- đun mật mã hoạt động chính xác trong các chế độ hoạt động đã được phê chuẩn.
- Phát hiện ra các lỗi trong quá trình hoạt động của mô- đun mật mã và ngăn chặn sự tiết lộ dữ liệu nhạy cảm cũng như CSP từ kết qủa của các lỗi này.
Thực trạng đánh giá và sử dụng mô-đun mật mã
Chương trình phê chuẩn mô- đun mật mã (CMVP - Cryptographic Module Validation Program) được xây dựng để công nhận các mô-đun mật mã phù hợp với FIPS 140-1/FIPS 140- 2 và một số tiêu chuẩn cơ sở khác. CMVP được thực hiện với sự kết hợp của NIST (Mỹ) và Cơ quan an toàn thông tin CSE (Canada). Các sản phẩm được công nhận là phù hợp với FIPS 140- 2 theo chương trình này sẽ được chấp nhận ở tất cả các cơ quan của cả hai chính phủ và được sử dụng để bảo vệ thông tin nhạy cảm của các cơ quan này. Mục tiêu của CMVP là thúc đẩy việc sử dụng các mô- đun mật mã đã qua phê duyệt và cung cấp cho người sử dụng một thước đo về an toàn khi dùng các thiết bị bảo vệ thông tin có chứa các mô- đun mật mã. Theo CMVP, nhà sản xuất mô- đun mật mã hoàn toàn độc lập với các phòng kiểm thử đã được công nhận. Chương trình công nhận các phòng kiểm thử quốc gia (NVLAP) chứng nhận cho các phòng kiểm thử đủ điều kiện đánh giá mô- đun mật mã.
Theo danh sách CMVP công bố, kể từ năm 1997 đến nay đã có 1392 mô- đun mật mã được đánh giá và cấp chứng nhận. Số lượng mô- đun mật mã được đánh giá trong từng năm không ngừng được tăng lên về số lượng và chủng loại. Hầu hết các sản phẩm BM&ATTT của các hãng có tên tuổi trên thế giới đều có mô- đun mật mã được đánh giá theo FIPS 140-1/FIPS 140- 2.
Theo khảo sát thì hầu hết các sản phẩm BM&ATTT được đánh giá theo CC, khi có chứa một mô- đun mật mã thì mô-đun mật mã cũng đồng thời được đánh giá theo FIPS 140-1/FIPS 140- 2.
Kết luận
Công tác đánh giá và cấp chứng nhận cho các mô-đun mật mã là hết sức cần thiết để thực hiện quản lý nhà nước về mật mã cũng như nâng cao độ tin cậy trong các sản phẩm và hệ thống BM&ATTT ở Việt Nam. Theo xu thế chung và hướng hội nhập quốc tế thì sử dụng Tiêu chuẩn FIPS 140- 2 để đánh giá các mô- đun mật mã ở nước ta là hoàn toàn phù hợp. Cùng với các tiêu chuẩn cơ bản về thuật toán mật mã đã được Ban Cơ yếu Chính phủ nghiên cứu và đề xuất ban hành thành Tiêu chuẩn Quốc gia Việt Nam (TCVN) trong những năm gần đây (Tiêu chuẩn Chữ ký số, Tiêu chuẩn mã hóa dữ liệu, Tiêu chuẩn quản lý Khóa...) thì vấn đề đánh giá mô- đun mật mã trong đó có Tiêu chuẩn FIPS 140- 2 cũng đã được Ban Cơ yếu Chính phủ đầu tư nghiên cứu. Vì vậy, trong thời gian tới việc đề xuất ban hành FIPS 140- 2 thành Tiêu chuẩn quốc gia Việt Nam cũng là một phương án nên được xem xét.