저자 : Jennifer Brady 및 Apurva Varalikar
지금까지 계획된 FIPS 140-3 전환의 예상 타임 라인 (Key FIPS 140-3 날짜), 알아야 할 주요 용어 및 정의 (1 부 : 주요 용어 및 정의). 오늘, 우리 블로그 시리즈는 FIPS 140-2와 FIPS 140-3의 차이점에 대해 계속 설명합니다. 이 게시물은 ISO / IEC 19790 / ISO / IEC 24759 (FIPS 140-3이라고 함)의 개별 섹션을 다루고 FIPS 140-2 표준 및 현재 IG의 섹션과 매핑 및 차이점을 식별합니다. . 이 게시물은 FIPS 140-2 및 관련 IG의 처음 세 섹션과 ISO / IEC 19790 섹션 7.2-7.4, 즉 암호화 모듈 사양, 암호화 모듈 인터페이스 및 역할, 서비스 및 인증 섹션에 중점을 둡니다.
암호화 모듈 사양
암호화 모듈 유형 / 암호화 경계
FIPS 140-2 표준 (2001 년 발행)은 원래 모든 모듈이 하드웨어 모듈이었습니다. IG (IGs 1.9, 1.16 및 1.17)에 다양한 유형의 모듈 (하이브리드, 소프트웨어 및 펌웨어)이 추가되고 정의 된 것은 나중에 야합니다. 또한 FIPS 140-2 IG 1.9는 하이브리드 모듈을 FIPS 140-2 레벨 1 검증으로 제한했습니다.
FIPS 140-3에는 하드웨어 모듈, 펌웨어 모듈, 소프트웨어 모듈, 하이브리드 소프트웨어 모듈 및 하이브리드 펌웨어 모듈. 표준의 섹션 7.2.2에서 각 유형의 모듈을 명시 적으로 정의합니다. 새로운 표준에서 하이브리드 모듈을 검증 할 수있는 수준에 대한 제한도 없습니다. 이는 레벨 1보다 높은 수준에서 검증을 받고자하는 하이브리드 모듈을 보유한 공급 업체에게 희소식입니다!
운영 모드
두 가지 새로운 용어; “정상 작동”및 “저하 작동”은 FIPS 140-3 19790에 도입되었으며 이전 블로그에 언급되었습니다.
정상 작동은 암호화 모듈의 전체 기능을 사용할 수 있거나 구성 할 수있는 곳입니다. 즉, 모든 알고리즘, 보안 기능 및 서비스.
저하 된 작업은 기능의 하위 집합을 오류 상태에서 재구성 한 결과로 사용할 수 있거나 구성 할 수있는 곳입니다.
모듈이 성능이 저하 된 작업을 지원하는 경우 성능이 저하 된 작동 모드는 모듈이 오류 상태를 종료 한 후에 만 들어갈 수 있습니다. 그게 무슨 뜻입니까? 메커니즘 또는 기능이 실패했으며 모듈이 오류 상태로 들어가 오류 표시기를 출력합니다. 오류 상태가되면이 저하 된 작업을 지원하는 모듈이 저하 된 작업 모드로 전환 될 수 있으며 감소 된 기능으로 계속 작동 할 수 있습니다. 다음은 새로운 표준을위한 모듈을 준비 할 때 기억해야 할 몇 가지 추가 요구 사항입니다. 모듈은 저하 된 작동 모드가 시작될 때 상태 정보를 제공해야하며, 실패한 기능은 격리되어야하며, 모든 조건부 자체 테스트는 성능 저하 모드에서 암호화 기능을 사용하기 전에 수행되어야하며 마지막으로 중요합니다. 성능이 저하 된 작동 모드에서 비 작동 알고리즘, 보안 기능 또는 프로세스를 사용하려는 시도가있는 경우 서비스는 그러한 시도가 이루어 졌음을 나타내야합니다.
FIPS 140-3에 명시된대로 성능이 저하 된 작업에 대한 추가 설명이 있습니다. 섹션 7.2.4.3의 마지막 문장은 “모듈이 사전 작동 자체 테스트에 실패하면 모듈은 저하 된 작동으로 들어 가지 않습니다.”라고 말합니다. 잠깐만, 자체 테스트와 같은 것이 실패 할 때 성능이 저하 된 작업을 사용한다고 생각했지만 여기서는 입력 할 수 없다는 의미입니까? 기억하십시오. 오류 상태에서만 성능 저하 모드로 들어갈 수 있습니다. , 모듈은 먼저 오류 상태에 들어간 다음 성능 저하 된 작업에 들어가면서 위에서 설명한 다른 요구 사항도 충족해야합니다.
추가 개념
SP에주의하십시오. ISO 19790 : 2012 / ISO 24759 : 2014 표준에서 다루지 않은 FIPS 140-2의 IG가 특별 간행물 중 하나에서 다루어 지는지 확인하기 위해 CMVP가 향후 몇 달 동안 공개 할 800-140 문서입니다. 섹션 1은 웹 기반 CMVP 관리 매뉴얼에 흡수 될 수 있고 다른 섹션은 계속 IG로 언급 될 수 있습니다.
암호화 모듈 인터페이스
이전 블로그에서 인터페이스 유형에 대해 다루었습니다. ISO 문서에 도입 됨 (HMI : 하드웨어 모듈 인터페이스, SFMI : 소프트웨어 또는 펌웨어 모듈 인터페이스, HSMI : 하이브리드 소프트웨어 모듈 인터페이스 또는 HFMI : 하이브리드 펌웨어 모듈 인터페이스)이므로 지금은 이에 대해 논의하지 않겠습니다. 대신 입력 및 출력 인터페이스를 다룰 것입니다.
기존 및 새로운 인터페이스
FIPS 140-2 및 FIPS 140-3은 모두 4 개의 논리적 인터페이스 데이터 입력, 데이터 출력, 제어 입력 및 상태 출력을 포함합니다. FIPS 140-3은 제어 출력 인터페이스라고하는 다섯 번째 인터페이스를 도입합니다. 제어 출력 인터페이스는 명령 출력에 사용됩니다. 신호 및 제어 데이터는 작동 상태를 제어하거나 표시하는 데 사용됩니다. 이 제어 출력은 다른 암호화 모듈로 전송되는 정보 일 수 있습니다. 전원 인터페이스는 또한 소프트웨어 모듈을 제외한 모든 인터페이스에 필요한 인터페이스입니다.
신뢰할 수있는 채널
FIPS 140-3에 도입 된 또 다른 개념은 “신뢰할 수있는 채널”입니다. “신뢰할 수있는 경로”의 FIPS 140-2 개념과 유사합니다 (섹션 4.7.4 및 IG 2.1). 보호되지 않은 CSP를 보호하는 목적으로 암호화 모듈과 모듈에서 데이터를 송수신하는 엔드 포인트 장치 간의 보안 통신 링크입니다.
FIPS 140-2 IG와 유사합니다. 2.1에서는 FIPS 140-3의 보안 수준 1 및 2에 대해 신뢰할 수있는 채널을 사용하기위한 요구 사항이 없습니다. FIPS 140-3에는 보안 수준 3 및 4에 대한 몇 가지 요구 사항이 있습니다. 예를 들어 보호되지 않은 일반 텍스트 CSP, 키 구성 요소 및 인증 데이터는 모듈과 발신자 / 수신자간에 전송 될 때 신뢰할 수있는 채널을 사용해야합니다. 신뢰할 수있는 채널은 무단 수정, 대체 및 공개를 방지해야합니다. 신뢰할 수있는 채널을 사용하는 서비스는 ID 기반 인증을 사용해야하며 모듈은 신뢰할 수있는 채널을 사용할 때 상태 표시기를 제공해야합니다.
FIPS 140-3은 신뢰할 수있는 채널을 사용하는 모듈에 대한 추가 요구 사항을 이전 FIPS 140-2 또는 IG 2.1에서는 볼 수 없었던 보안 수준 4입니다. 신뢰할 수있는 채널을 사용하는 레벨 4 모듈은 신뢰할 수있는 채널을 사용하는 모든 서비스에 대해 다단계 ID 기반 인증을 사용해야합니다.
역할, 서비스 및 인증
역할
FIPS 140-2 표준 (섹션 4.3.1)에서는 모듈이 암호화 관리자 역할과 사용자 역할을 모두 지원해야하며 유지 관리 역할 지원은 선택 사항이었습니다. FIPS 140-3은 여전히 동일한 세 가지 역할을 가지고 있지만 암호화 관리자 역할 만 필요합니다 (섹션 7.4.2). 사용자 역할과 유지 관리 역할은 이제 선택 사항입니다.
서비스
필수 서비스
FIPS 140-2 표준에는 세 가지 필수 서비스가 있습니다. 상태 표시 자가 테스트를 수행하고 승인 된 보안 기능을 수행합니다 (섹션 4.3.2). FIPS 140-3에는 모듈 버전 관리 정보 표시 및 제로화 수행 (섹션 7.4.3.1)이라는 두 가지 추가 필수 서비스 외에 동일한 세 가지 서비스가 필요합니다. “show module ‘s versioning information”은 암호화 모듈이 모듈 이름 / 식별자 및 버전 관리 정보를 출력하도록 요구하며, 이는 유효성 검사 인증서에 대해 확인할 수 있습니다. 제로화 서비스의 사양은 섹션 7.9.7에 정의되어 있으며 향후 블로그
우회 서비스
FIPS 140-2 및 FIPS 140-3에는 모두 선택적 우회 서비스가 포함되어 있습니다. FIPS 140-3은 특히 우회를 구성 할 수있는 운영자를 언급합니다. 모듈의 기능은 승인 된 역할을 맡아야합니다 .FIPS 140-2 표준은 이러한 요구 사항을 구체적으로 명시하지 않았지만 서비스가 CSP를 공개하고 / 보호되는 정보의 보안에 영향을 미칠 수 있다는 점을 고려할 때 승인 된 역할에 대한 대부분의 가정 된 인증이 필요했습니다. 모듈 (IG 3.1)에 의해.
자체 시작 암호화 출력
FIPS 140-3에서 해결 된 새로운 기능은 “자체 시작 암호화 출력 기능”입니다. 여기서 모듈은 운영자의 개입없이 암호화 작업 또는 기타 승인 된 보안 기능을 수행 할 수 있습니다. 암호 관리자는이 기능을 구성 할 수 있지만이 구성은 재부팅 후에도 지속될 수 있습니다. 서비스를 활성화하려면 두 가지 내부 작업이 필요하며 모듈은 서비스가 활성화되었음을 나타내야합니다.
소프트웨어 / 펌웨어로드
소프트웨어 / 펌웨어로드는 FIPS 140-2에서 해결됩니다. 표준 및 IG 9.7에서는 소프트웨어 / 펌웨어를로드 할 때 필요한 자체 테스트의 맥락에서. FIPS 140-2는 FIPS 140-3 (섹션 7.4.3.4)에서 볼 수있는 것처럼이를 서비스로 다루지 않습니다. 문서에 명시된 일부 요구 사항에는 모듈이 검증 된 모듈로 유지 되려면로드 된 모든 소프트웨어 / 펌웨어가 검증 기관의 검증을 받아야한다는 것이 포함됩니다. 여기에서 소프트웨어 / 펌웨어가 성공적으로 완료 될 때까지 모든 데이터 출력을 금지해야합니다. 코드가 실행되기 전에 소프트웨어 / 펌웨어 부하 테스트를 수행해야합니다. 모듈은 사전 작동 자체 테스트가 성공적으로 실행될 때까지로드 된 코드를 실행하지 않아야하며, 마지막으로 중요한 것은 소프트웨어 / 펌웨어의 추가 / 업데이트를 반영하도록 모듈 버전 관리 정보를 업데이트해야한다는 것입니다.
추가 설명
인증되지 않은 서비스는 FIPS 140-3에서 명시 적으로 처리되지 않으므로 현재 IG 3.1에서 처리 된이 개념이 적용되는지 확인해야합니다. SP800-140 문서로. 이에 대한 자세한 내용은 향후 블로그에서 다룰 예정입니다.
인증
FIPS 140-3은 보안 수준 1-3에서 인증을위한 FIPS 140-2와 유사합니다. (ISO 19790 : 수준 1-인증 요구 사항 없음, 레벨 2-최소 역할 기반 인증, 레벨 3-ID 기반 인증). 가장 큰 차이점은 레벨 2의 경우 “최소”라는 단어가 추가되어 IG 3.4에서 해결 된 설명에 매핑된다는 것입니다. ISO 기반 FIPS 140-3 표준에서 레벨 4 인증이 인증을 차지합니다. 레벨 4 인증의 경우 다단계 ID 기반이어야합니다.
이 섹션에서 주목해야 할 몇 가지 추가 항목은 FIPS 140-2입니다. 모듈에 필요한 인증 강도를 지정했습니다. 강도는 FIPS 140-3에 정의되어 있지 않지만 모듈 보안 정책에 지정되어야합니다. 대부분의 경우 각 유효성 검사 기관은 추가 문서에 인증 강도를 포함합니다.
승인 된 인증 메커니즘은 문서화 된 절차 또는 보안 규칙 (예 : 정책)에 의해 구현 될 수 없습니다. 이는 암호 크기 제한이 모듈에 의해 구성되고 적용되어야 함을 의미합니다. 이는 현재 여러 모듈이 작동하는 방식에 영향을 미칠 수 있습니다. , ISO 요구 사항을위한 모듈을 준비 할 때이를 염두에 두십시오.
요약
FIPS 140-2와 FIPS 140-3의 차이점에 대해 배울 것이 많습니다. 무수한 유사점이 있지만 몇 가지 변경 사항도 있습니다. 이 주제에 대한 시리즈는 계속해서 각 게시물마다 새로운 영역을 다룹니다. 항상 그렇듯이 질문이 있으시면 언제든지 저희에게 직접 연락하십시오. 저희 팀이 항상 도와 드리겠습니다.