FIPS 140-2 Security Policy FortiGate-VM Virtual Appliance Software Version 5.2 FortiGate-VM Virtual Appliance Non-Proprietary FIPS 140-2 Security Policy Document Version: 1.4 Publication Date: April 7, 2017 Description: Documents FIPS 140-2 Level 1 Security Policy issues, compliancy and requirements for FIPS compliant operation. software Version: FortiGate-VM64 v5.2.7,build0718,160328 FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 Copyright© 2017 Fortinet, Inc. All rights reserved. Fortinet®, FortiGate®, FortiCare® and FortiGuard®, and certain other marks are registered trademarks of Fortinet, Inc., in the U.S. and other jurisdictions, and other Fortinet names herein may also be registered and/or common law trademarks of Fortinet. All other product or company names may be trademarks of their respective owners. Performance and other metrics contained herein were attained in internal lab tests under ideal conditions, and actual performance and other results may vary. Network variables, different network environments and other conditions may affect performance results. Nothing herein represents any binding commitment by Fortinet, and Fortinet disclaims all warranties, whether express or implied, except to the extent Fortinet enters a binding written contract, signed by Fortinet’s General Counsel, with a purchaser that expressly warrants that the identified product will perform according to certain expressly-identified performance metrics and, in such event, only the specific performance metrics expressly identified in such binding written contract shall be binding on Fortinet. For absolute clarity, any such warranty will be limited to performance in the same ideal conditions as in Fortinet’s internal lab tests. In no event does Fortinet make any commitment related to future deliverables, features or development, and circumstances may change such that any forward-looking statements herein are not accurate. Fortinet disclaims in full any covenants, representations, and guarantees pursuant hereto, whether express or implied. Fortinet reserves the right to change, modify, transfer, or otherwise revise this publication without notice, and the most current version of the publication shall be applicable. This document may be freely reproduced and distributed whole and intact including this copyright notice. FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 1 Contents Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Security Level Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Module Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Module Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Web-Based Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Command Line Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Roles, Services and Authentication . . . . . . . . . . . . . . . . . . . . . . . . . 6 Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 FIPS Approved Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Non-FIPS Approved Services . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Physical Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Operational Environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Cryptographic Key Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Random Number Generation . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Entropy Token . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Key Zeroization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Cryptographic Keys and Critical Security Parameters . . . . . . . . . . . . . 11 Alternating Bypass Feature . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Key Archiving. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Mitigation of Other Attacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 FIPS 140-2 Compliant Operation. . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Enabling FIPS-CC mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 Self-Tests. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 2 Overview This document is a FIPS 140-2 Security Policy for Fortinet Incorporated’s FortiGate-VM virtual security appliance running FortiOS 5.2. This policy describes how the appliance (hereafter referred to as the ‘module’) meet the FIPS 140-2 security requirements and how to operate the module in a FIPS compliant manner. This policy was created as part of the FIPS 140-2 Level 1 validation of the module. The Federal Information Processing Standards Publication 140-2 - Security Requirements for Cryptographic modules (FIPS 140-2) details the United States Federal Government requirements for cryptographic modules. Detailed information about the FIPS 140-2 standard and validation program is available on the NIST (National Institute of Standards and Technology) website at http://csrc.nist.gov/groups/STM/cmvp/index.html. References This policy deals specifically with operation and implementation of the module in the technical terms of the FIPS 140-2 standard and the associated validation program. Other Fortinet product manuals, guides and technical notes can be found at the Fortinet technical documentation website at http://docs.fortinet.com. Additional information on the entire Fortinet product line can be obtained from the following sources: • Find general product information in the product section of the Fortinet corporate website at http://www.fortinet.com/products. • Find on-line product support for registered products in the technical support section of the Fortinet corporate website at http://www.fortinet.com/support. • Find contact information for technical or sales related questions in the contacts section of the Fortinet corporate website at http://www.fortinet.com/contact. • Find security information and bulletins in the FortiGuard Center of the Fortinet corporate website at http://fortiguard.com. Introduction The FortiGate product family spans the full range of network environments, from SOHO to service provider, offering cost effective systems for any size of application. FortiGate appliances, both physical and virtual, detect and eliminate the most damaging, content based threats from email and Web traffic such as viruses, worms, intrusions, inappropriate Web content and more in real time — without degrading network performance. In addition to providing application level firewall protection, FortiGate appliances deliver a full range of network-level services — VPN, intrusion prevention, web filtering, antivirus, antispam and traffic shaping — in dedicated, easily managed platforms. FortiGate appliances can be easily configured to provide antivirus protection, antispam protection and content filtering in conjunction with existing firewall, VPN, and related devices, or as complete network protection systems. The appliances support High Availability (HA) in both Active-Active (AA) and Active-Passive (AP) configurations. FortiGate appliances support the IPSec industry standard for VPN, allowing VPNs to be configured between a FortiGate appliance and any client or gateway/firewall that supports IPSec VPN. FortiGate appliances also provide SSL VPN services using TLS 1.2. Security Level Summary FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 3 Security Level Summary The module meets the overall requirements for a FIPS 140-2 Level 1 validation. Module Description The FortiGate-VM Virtual Appliance is a software security module designed to execute on a general purpose computer (GPC) hardware platform running the VMware hypervisor. As a software cryptographic module, the virtual appliance has no physical characteristics. The module must rely on physical characteristics of the host system on which it runs. The module supports the physical interfaces of the Dell PowerEdge R720. See Figure 1 for a block diagram of the physical system. The module utilizes physical interfaces of the tested platform hosting the virtual environment upon which the module is installed. The hypervisor running on the physical system controls and maps the module's virtual interfaces to the physical interfaces, which include the CPU, memory, network interfaces and hard disk. Table 1: Summary of FIPS security requirements and compliance levels Security Requirement Compliance Level Cryptographic module Specification 1 Cryptographic module Ports and Interfaces 3 Roles, Services and Authentication 3 Finite State Model 1 Physical Security N/A Operational Environment 1 Cryptographic Key Management 1 EMI/EMC 1 Self-Tests 1 Design Assurance 3 Mitigation of Other Attacks 1 Module Description FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 4 Figure 1: FortiGate-VM Physical and Cryptographic Boundaries The validated software version is FortiGate-VM64 v5.2.7,build0718,160328 and a Fortinet entropy token (FTR-ENT-1) was used as the entropy source. Module Interfaces The module’s logical interfaces and physical ports are described in Table 2. Module Description FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 5 Web-Based Manager The FortiGate-VM web-based manager provides GUI based access to the module and is the primary tool for configuring the module. The manager requires a web browser on the management computer and an Ethernet connection between the FortiGate-VM appliance and the management computer. A web-browser that supports Transport Layer Security (TLS) 1.2 is required for remote access to the web-based manager when the module is operating in FIPS-CC mode. HTTP access to the web-based manager is not allowed in FIPS-CC mode and is disabled. Figure 2: The FortiGate-VM web-based manager Table 2: Module interfaces and physical ports FIPS 140 Interface FortiGate-VM Interface Logical Interface Physical Port Data Input Virtual Ethernet Ports, Virtual USB Ports API input parameters Network interface, USB interface (Entropy token) Data Output Virtual Ethernet Ports API output parameters Network interface Control Input Virtual Ethernet Ports, Virtual Serial Ports, Virtual USB Ports API function calls Network interface, serial interface, USB interface (Entropy token) Status Output Virtual Ethernet Ports, Virtual Serial Ports API return values Network interface, serial interface Power Input N/A N/A The power supply is the power interface Module Description FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 6 Command Line Interface The FortiGate Command Line Interface (CLI) is a full-featured, text based management tool for the module. The CLI provides access to all of the possible services and configuration options in the module. The CLI uses a console connection or a network (Ethernet) connection between the FortiGate-VM appliance and the management computer. The console connection is a direct serial connection. Terminal emulation software is required on the management computer using either method. For network access, a Telnet or SSH client that supports the SSH v2.0 protocol is required (SSH v1.0 is not supported in FIPS-CC mode). Telnet access to the CLI is not allowed in FIPS-CC mode and is disabled. Roles, Services and Authentication Roles When configured in FIPS-CC mode, the module provides the following roles: • Crypto Officer • Network User The Crypto Officer role is initially assigned to the default ‘admin’ operator account. The Crypto Officer role has read-write access to all of the module’s administrative services. The initial Crypto Officer can create additional operator accounts. These additional accounts are assigned the Crypto Officer role and can be assigned a range of read/write or read only access permissions including the ability to create operator accounts. The module also provides a Network User role for end-users (Users). Network Users can make use of the encrypt/decrypt services, but cannot access the module for administrative purposes. The module does not provide a Maintenance role. FIPS Approved Services The following tables detail the types of FIPS approved services available to each role in each mode of operation, the types of access for each role and the Keys or CSPs they affect. The access types are abbreviated as follows: Read Access R Write Access W Execute Access E Table 3: Services available to Crypto Officers Service Access Key/CSP authenticate to module WE Operator Password, Diffie-Hellman Key, HTTP/TLS and SSH Server/Host Keys, HTTPS/TLS and SSH Session Authentication Keys, and HTTPS/TLS Session Encryption Keys, DRBG Output, DRBG Seed, DRBG Input String show system status WE N/A show FIPS-CC mode enabled/disabled (console/CLI only) WE N/A Module Description FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 7 Table 4: Services available to Network Users in FIPS-CC mode enable FIPS-CC mode of operation (console only) WE Configuration Integrity Key key zeroization WE All Keys, See “Key Zeroization” on page 9 execute factory reset (disable FIPS- CC mode, console/CLI only) E All keys except software update key, configuration integrity key, configuration backup key execute FIPS-CC on-demand self- tests (console only) E Configuration Integrity Key, Software Integrity Key add/delete operators and network users WE Crypto Officer Password, Network User Password set/reset operator and network user passwords WE Crypto Officer Password, Network User Password backup/restore configuration file WE Configuration Encryption Key, Configuration Backup Key read/set/delete/modify module configuration WE N/A execute software update E Software Update Key read log data WE N/A delete log data (console/CLI only) WE N/A execute system diagnostics (console/CLI only) WE N/A enable/disable alternating bypass mode WE N/A read/set/delete/modify IPSec/SSL VPN configuration N/A IPSec: IPSec Manual Authentication Key, IPSec Manual Encryption Key, IKE Pre-Shared Key, IKE RSA Key SSL: HTTPS/TLS Server/Host Key, HTTPS/TLS Session Authentication Key, HTTPS/TLS SSH Session Encryption Key read/set/modify HA configuration WE HA Password, HA Encryption Key Service/CSP Access Key/CSP authenticate to module WE Network User Password, Diffie-Hellman Key, HTTPS/TLS Server/Host Key, HTTPS/TLS Session Authentication Key, HTTPS/TLS Session Encryption Key, DRBG Output, DRBG Seed, DRBG Input String IPSec VPN controlled by firewall policies E Diffie-Hellman Key, IKE and IPSec Keys, DRBG Output, DRBG Seed, DRBG Input String SSL VPN controlled by firewall policies E Network User Password, Diffie-Hellman Key, HTTPS/TLS Server/Host Key, HTTPS/TLS Session Authentication Key, HTTPS/TLS Session Encryption Key, DRBG Output, DRBG Seed, DRBG Input String Table 3: Services available to Crypto Officers Service Access Key/CSP Module Description FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 8 Non-FIPS Approved Services The module also provides the following non-FIPS approved services: • Configuration backups using password protection • LLTP and PPTP VPN All services in Table 3 and Table 4 are considered non-approved when using the following algorithms: • Non-compliant-strength Diffie-Hellman • Non-compliant-strength RSA key wrapping • DES • MD5 • HMAC-MD5 Authentication The module implements identity based authentication. Operators must authenticate with a user-id and password combination to access the module remotely or locally via the console. Remote operator authentication is done over HTTPS (TLS) or SSH. The password entry feedback mechanism does not provide information that could be used to guess or determine the authentication data. By default, Network User access to the module is based on firewall policy and authentication by IP address or fully qualified domain names. Network Users can optionally be forced to authenticate to the module using a username/password combination to enable use of the IPSec VPN encrypt/decrypt or bypass services. For Network Users invoking the SSL-VPN encrypt/decrypt services, the module supports authentication with a user-id/password combination. Network User authentication is done over HTTPS and does not allow access to the module for administrative purposes. Note that operator authentication over HTTPS/SSH and Network User authentication over HTTPS are subject to a limit of 3 failed authentication attempts in 1 minute; thus, the maximum number of attempts in one minute is 3. Therefore the probability of a success with multiple consecutive attempts in a one-minute period is 3 in 948 which is less than 1/100,000. Operator authentication using the console is not subject to a failed authentication limit, but the number of authentication attempts per minute is limited by the bandwidth available over the serial connection which is a maximum of 115,200 bps which is 6,912,000 bits per minute. An 8 byte password would have 64 bits, so there would be no more than 108,000 passwords attempts per minute. Therefore the probability of success would be 1/(948/108,000) which is less than 1/100,000 The minimum password length is 8 characters when in FIPS-CC mode (maximum password length is 32 characters). The password may contain any combination of upper- and lower-case letters, numbers, and printable symbols; allowing for 94 possible characters. The odds of guessing a password are 1 in 94^8 which is significantly lower than one in a million. Recommended procedures to increase the password strength are explained in “FIPS 140-2 Compliant Operation” on page 15. For Network Users invoking the IPSec VPN encrypt/decrypt services, the module acts on behalf of the Network User and negotiates a VPN connection with a remote module. The strength of authentication for IPSec services is based on the authentication method defined in the specific firewall policy: IPSec manual authentication key, IKE pre-shared key or IKE RSA key (RSA certificate). The odds of guessing the authentication key for each IPSec method is: Module Description FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 9 • 1 in 1640 for the IPSec Manual Authentication key (based on a 40 digit, hexadecimal key) • 1 in 948 for the IKE Pre-shared Key (based on an 8 character, ASCII printable key) • 1 in 2112 for the IKE RSA Key (based on a 2048bit RSA key size) Therefore the minimum odds of guessing the authentication key for IPSec is 1 in 948, based on the IKE Pre-shared key. Physical Security The FortiGate-VM virtual appliance is a software module and defined a as multi-chip, standalone cryptographic module. As a software module the FIPS 140-2 physical requirements are not applicable. Operational Environment The operational environment for the module consists of the FortiGate-VM software and the VMware hypervisor. The module was tested as meeting level 1 with the FortiGate-VM software on VMware ESXi 5.5.0 running on a Dell PowerEdge R720. Cryptographic Key Management Random Number Generation The module uses a software based, deterministic random bit generator (DRBG) that conforms to NIST Special Publication 800-90A. There is no assurance of the minimum strength of generated keys. Entropy Token The module uses a Fortinet entropy token (part number FTR-ENT-1 or part number FTR- ENT-2) to seed the DRBG during the module’s boot process and to periodically reseed the DRBG. The entropy token is not included in the boundary of the module and therefore no assurance can be made for the correct operation of the entropy token nor is there a guarantee of stated entropy. The default reseed period is once every 24 hours (1440 minutes). The entropy token must be installed to complete the boot process and to reseed the DRBG. The entropy token is responsible for loading a minimum of 256 bits of entropy. Key Zeroization The zeroization process must be performed under the direct control of the operator. The operator must be present to observe that the zeroization method has completed successfully. All keys and CSPs are zeroized by erasing the module’s boot device and then power cycling the FortiGate unit. To erase the boot device, execute the following command from the CLI: execute erase-disk The boot device ID may vary depending on the FortiGate module. Executing the following command will output a list of the available internal disks: execute erase-disk ? Module Description FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 10 Algorithms Note that the algorithms in Table 7 are listed as non-compliant since Known Answer Tests for the algorithms are not implemented in the validated software build. Table 5: FIPS Approved Algorithms Algorithm NIST Certificate Number CTR DRBG (NIST SP 800-90A) with 256-bits 1199 Triple-DES in CBC mode with 192-bits 2201, 2202 AES in CBC mode (128-, 192-, 256-bits) 4021, 4022 SHA-1 3317, 3318 SHA-256 3317, 3318 HMAC SHA-1 2623, 2624 HMAC SHA-256 2623, 2624 RSA PKCS1 -Signature Generation: 2048 and 3072-bit -Signature Verification: 1024, 2048 and 3072-bit -For legacy use, the module supports 1024-bit RSA keys and SHA-1 for signature verification 2191 CVL (SSH) - with TDES-192 bit-CBC, AES 128 bit-, AES 256 bit -CBC (using SHA1) 851 CVL (TLS) - TLS 1.1 and 1.2 851 CVL (IKE v1 and v2) 850 Table 6: FIPS Allowed Algorithms Algorithm RSA (key wrapping; key establishment methodology provides 112 or 128 bits of encryption strength) Diffie-Hellman (key agreement; key establishment methodology provides between 112 and 201 bits of encryption strength) NDRNG (Entropy Token) - please refer to the “Entropy Token” on page 9 for additional information. Table 7: FIPS Non-Compliant Algorithms Algorithm SHA-384 SHA-512 HMAC SHA-384 HMAC SHA-512 Module Description FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 11 Note that the IKE, SSH and TLS protocols have not been tested by the CMVP or CAVP as per FIPS 140-2 Implementation Guidance D.11. Cryptographic Keys and Critical Security Parameters The following table lists all of the cryptographic keys and critical security parameters used by the module. The following definitions apply to the table: Table 8: Non-FIPS Approved Algorithms Algorithm DES (disabled in FIPS-CC mode) MD5 (disabled in FIPS-CC mode) HMAC-MD5 (disabled in FIPS-CC mode) RSA is non-compliant when keys less than 2048 bits are used, since such keys do not provide the minimum required 112 bits of encryption strength. Diffie-Hellman is non-compliant when keys less than 2048 bits are used, since such keys do not provide the minimum required 112 bits of encryption strength. Key or CSP The key or CSP description. Storage Where and how the keys are stored Usage How the keys are used Zeroization The key zeroization method Table 9: Cryptographic Keys and Critical Security Parameters used in FIPS-CC mode Key or CSP Generation Storage Usage Zeroization NDRNG output string Automatic Boot device Plain-text Input string for the entropy pool By erasing the Boot device and power cycling the module DRBG seed Automatic Boot device Plain-text Seed used by the DRBG (output from NDRNG) By erasing the Boot device and power cycling the module DRBG output Automatic Boot device Plain-text Random numbers used in cryptographic algorithms By erasing the Boot device and power cycling the module DRBG v and key values Automatic Boot device Plain-text Internal state values for the DRBG By erasing the Boot device and power cycling the module IPSec Manual Authentication Key Manual Boot device AES encrypted Used as IPSec Session Authentication Key By erasing the Boot device and power cycling the module IPSec Manual Encryption Key Automatic SDRAM Plain-text Used as IPSec Session Encryption Key By erasing the Boot device and power cycling the module IPSec Session Authentication Key Automatic SDRAM Plain-text IPSec peer-to-peer authentication using HMAC SHA-1 or HMAC SHA-256 By erasing the Boot device and power cycling the module IPSec Session Encryption Key Automatic SDRAM Plain-text VPN traffic encryption/decryptio n using Triple-DES or AES By erasing the Boot device and power cycling the module Module Description FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 12 IKE Pre-Shared Key Manual Boot device AES encrypted Used to generate IKE protocol keys By erasing the Boot device and power cycling the module IKE Authentication Key Automatic SDRAM Plain-text IKE peer-to-peer authentication using HMAC SHA-1 , -256, -384 or -512 (SKEYID_A) By erasing the boot device and power cycling the module IKE Key Generation Key Automatic SDRAM Plain-text IPSec SA keying material (SKEYID_D) By erasing the boot device and power cycling the module IKE Session Encryption Key Automatic SDRAM Plain-text Encryption of IKE peer-to-peer key negotiation using Triple-DES or AES (SKEYID_E) By erasing the boot device and power cycling the module IKE RSA Key Manual Boot device Plain text Used to generate IKE protocol keys By erasing the boot device and power cycling the module Diffie-Hellman Keys Automatic SDRAM Plaintext Key agreement and key establishment By erasing the boot device and power cycling the module Software Update Key Preconfigured Boot device Plain-text Verification of software integrity when updating to new software versions using RSA public key (software load test) By erasing the boot device and power cycling the module Software Integrity Key Preconfigured Boot device Plain-text Verification of software integrity in the software integrity test using RSA public key (software integrity test) By erasing the boot device and power cycling the module HTTPS/TLS Server/Host Key Preconfigured Boot device Plain-text RSA private key used in the HTTPS/TLS protocols (key establishment) By erasing the boot device and power cycling the module HTTPS/TLS Session Authentication Key Automatic SDRAM Plain-text HMAC SHA-1, -256 or -384 key used for HTTPS/TLS session authentication By erasing the boot device and power cycling the module HTTPS/TLS Session Encryption Key Automatic SDRAM Plain-text AES or Triple-DES key used for HTTPS/TLS session encryption By erasing the boot device and power cycling the module SSH Server/Host Key Preconfigured Boot device Plain-text RSA private key used in the SSH protocol (key establishment) By erasing the boot device and power cycling the module SSH Session Authentication Key Automatic SDRAM Plain-text HMAC SHA-1 or HMAC SHA-256 key used for SSH session authentication By erasing the boot device and power cycling the module Table 9: Cryptographic Keys and Critical Security Parameters used in FIPS-CC mode Key or CSP Generation Storage Usage Zeroization Module Description FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 13 Note: The Generation column lists all of the keys/CSPs and their entry/generation methods. Manual entered keys are entered by the operator electronically (as defined by FIPS) using the console or a management computer. Pre-configured keys are set as part of the software (hardcoded) and are not operator modifiable. Automatic keys are generated as part of the associated protocol. Alternating Bypass Feature The primary cryptographic function of the module is as a firewall and VPN device. The module implements two forms of alternating bypass for VPN traffic: policy based (for IPSec and SSL VPN) and route/interface based (for IPSec VPN only). Policy Based IPSec VPN Firewall policies with an action of IPSec mean that the firewall is functioning as an IPSec VPN start/end point for the specified source/destination addresses and is operating in a non-bypass state. Firewall policies with an action of accept and use the ssl.root interface mean the firewall is acting as an SSL VPN end point for SSL VPN clients and is operating in a non-bypass state. SSH Session Encryption Key Automatic SDRAM Plain-text AES or Triple-DES key used for SSH session encryption By erasing the boot device and power cycling the module Crypto Officer Password Manual Boot device SHA-1 hash Used to authenticate operator access to the module By erasing the boot device and power cycling the module Configuration Integrity Key Preconfigured Boot device Plain-text HMAC SHA-256 hash used for configuration integrity test By erasing the boot device and power cycling the module Configuration Encryption Key Automatic Boot device Plain-text AES key used to encrypt CSPs on the Boot device and in the backup configuration file (except for crypto officer passwords in the backup configuration file) By erasing the boot device and power cycling the module Configuration Backup Key Automatic Boot device Plain-text HMAC SHA-256 key used to encrypt crypto officer passwords in the backup configuration file By erasing the boot device and power cycling the unit Network User Password Manual Boot device SHA-1 hash Used to authenticate network access to the module By erasing the boot device and power cycling the unit HA Password Manual Boot device AES encrypted Used to authenticate FortiGate units in an HA cluster By erasing the boot device and power cycling the unit HA Encryption Key Manual Boot device AES encrypted Encryption of traffic between units in an HA cluster using AES By erasing the boot device and power cycling the unit Table 9: Cryptographic Keys and Critical Security Parameters used in FIPS-CC mode Key or CSP Generation Storage Usage Zeroization Mitigation of Other Attacks FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 14 Firewall policies with an action of accept mean that the firewall is accepting/sending plaintext data for the specified source/destination addresses and is operating in a bypass state. Route/Interface Based IPSec VPN Route/Interface based VPN is supported for IPSec only. A virtual interface is created and any traffic routed to the virtual interface is encrypted and sent to the VPN peer. Traffic received from the peer is decrypted. Traffic through the virtual interface is controlled using firewall policies. However, unlike policy based VPN, the action is restricted to Accept or Deny and all traffic controlled by the policy is encrypted/decrypted. When traffic is routed over the non-virtual interface, the module is operating in a bypass state. When traffic is routed over the virtual interface, the module is operating in a non- bypass state. In both cases (policy based and route/interface based VPN), two independent actions must be taken by a CO to create bypass firewall policies: the CO must create the bypass policy and then specifically enable that policy. Key Archiving The module supports key archiving to a management computer as part of the module configuration file backup. Operator entered keys are archived as part of the module configuration file. The configuration file is stored in plain text, but keys in the configuration file are either AES encrypted using the Configuration Encryption Key or stored as a keyed hash using HMAC SHA-256 using the Configuration Backup Key. Mitigation of Other Attacks The module includes a real-time Intrusion Prevention System (IPS) as well as antivirus protection, antispam and content filtering. Use of these capabilities is optional. The FortiOS IPS has two components: a signature based component for detecting attacks passing through the FortiGate appliance and a local attack detection component that protects the firewall from direct attacks. Functionally, signatures are similar to virus definitions, with each signature designed to detect a particular type of attack. The IPS signatures are updated through the FortiGuard IPS service. The IPS engine can also be updated through the FortiGuard IPS service. FortiOS antivirus protection removes and optionally quarantines files infected by viruses from web (HTTP), file transfer (FTP), and email (POP3, IMAP, and SMTP) content as it passes through the FortiGate module. FortiOS antivirus protection also controls the blocking of oversized files and supports blocking by file extension. Virus signatures are updated through the FortiGuard antivirus service. The antivirus engine can also be updated through the FortiGuard antivirus service. FortiOS antispam protection tags (SMTP, IMAP, POP3) or discards (SMTP only) email messages determined to be spam. Multiple spam detection methods are supported including the FortiGuard managed antispam service. FortiOS web filtering can be configured to provide web (HTTP) content filtering. FortiOS web filtering uses methods such as banned words, address block/exempt lists, and the FortiGuard managed content service. Whenever a IPS, antivirus, antispam or filtering event occurs, the module can record the event in the log and/or send an alert email to an operator. For complete information refer to the FortiGate-VM Installation Guide, the FortiGate Administration Guide and the FortiGate IPS Guide. FIPS 140-2 Compliant Operation FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 15 FIPS 140-2 Compliant Operation FIPS 140-2 compliant operation requires both that you use the module in its FIPS-CC mode of operation and that you follow secure procedures for installation and operation of the FortiGate-VM unit. You must ensure that: • The FortiGate-VM unit is configured in the FIPS-CC mode of operation. • The FortiGate-VM unit is installed in a secure physical location. • Physical access to the FortiGate-VM unit is restricted to authorized operators. • The Fortinet entropy token is used to seed the DRBG. • The Fortinet entropy token remains in the USB port during operation • Administrative and Network User passwords are at least 8 characters long. • Administrative and Network User passwords are changed regularly. • Administrative and Network User passwords must have the following characteristics: • One (or more) of the characters must be capitalized • One (or more) of the characters must be numeric • One (or more) of the characters must be non alpha-numeric (e.g. punctuation mark) • Administration of the module is permitted using only validated administrative methods. These are: • Console connection • Web-based manager via HTTPS • Command line interface (CLI) access via SSH • Diffie-Hellman groups of less than 2048 bits are not used. • Client side RSA certificates must use 2048 bit or greater key sizes. • Only approved and allowed algorithms are used (see “Algorithms” on page 10). The module can be used in either of its two operation modes: NAT/Route or Transparent. NAT/Route mode applies security features between two or more different networks (for example, between a private network and the Internet). Transparent mode applies security features at any point in a network. The current operation mode is displayed on the web- based manager status page and in the output of the get system status CLI command. Enabling FIPS-CC mode To enable the FIPS 140-2 compliant mode of operation, the operator must execute the following command from the Local Console: config system fips-cc set entropy-token enable set status enable end The Operator is required to supply a password for the admin account which will be assigned to the Crypto Officer role. The supplied password must be at least 8 characters long and correctly verified before the system will restart in FIPS-CC mode. Upon restart, the module will execute self-tests to ensure the correct initialization of the module’s cryptographic functions. After restarting, the Crypto Officer can confirm that the module is running in FIPS-CC mode by executing the following command from the CLI: Self-Tests FortiGate-VM Virtual Appliance FIPS 140-2 Security Policy 01-525-296259-20151016 16 get system status If the module is running in FIPS-CC mode, the system status output will display the line: FIPS-CC mode: enable Self-Tests The module executes the following self-tests during startup and initialization: • Software integrity test using RSA signatures • Configuration/VPN bypass test using HMAC SHA-256 • Triple-DES, CBC mode, encrypt known answer test • Triple-DES, CBC mode, decrypt known answer test • AES, CBC mode, encrypt known answer test • AES, CBC mode, decrypt known answer test • HMAC SHA-1 known answer test • SHA-1 known answer test (tested as part of HMAC SHA-1 known answer test) • HMAC SHA-256 known answer test • SHA-256 known answer test (tested as part of HMAC SHA-256 known answer test) • RSA signature generation known answer test • RSA signature verification known answer test • DRBG known answer test The results of the startup self-tests are displayed on the console during the startup process. The startup self-tests can also be initiated on demand using the CLI command execute fips kat all (to initiate all self-tests) or execute fips kat (to initiate a specific self-test). When the self-tests are run, each implementation of an algorithm is tested - e.g. when the AES self-test is run, all AES implementations are tested. The module executes the following conditional tests when the related service is invoked: • Continuous NDRNG test • Continuous DRBG test • RSA pairwise consistency test • Configuration/VPN bypass test using HMAC SHA-256 • Software load test using RSA signatures If any of the self-tests or conditional tests fail, the module enters an error state as shown by the console output below: Self-tests failed Entering error mode... The system is going down NOW !! The system is halted. All data output and cryptographic services are inhibited in the error state.