TANDBERG Telecom AS TANDBERG MXP Codec (Firmware Version: F6.0) FIPS 140-2 Non-Proprietary Security Policy Level 1 Validation Document Version 1.3 Prepared for: Prepared by: TANDBERG Telecom AS Corsec Security, Inc. Philip Pedersens vei 20 10340 Democracy Lane, Suite 201 1366 Lysaker Fairfax, VA 22030 Norway U.S.A. Phone: (47) 67-125-125 Phone: (703) 267-6050 Fax: (47) 67-125-234 Fax: (703) 267-6810 http://www.tandberg.com http://www.corsec.com © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Revision History Version Modification Date Modified By Description of Changes 0.1 2007-01-09 Xiaoyu Ruan Initial draft 0.2 2007-03-30 Xiaoyu Ruan Removed TELNET from FIPS mode 0.3 2007-05-08 Xiaoyu Ruan Submitted to CMVP 1.0 2007-11-22 Xiaoyu Ruan Addressed CMVP comments 1.0.1 2008-01-09 Xiaoyu Ruan Addressed CMVP comments 1.1 2008-01-14 Xiaoyu Ruan Addressed CMVP comments 1.2 2008-02-01 Xiaoyu Ruan Addressed CMVP comments 1.3 2008-05-14 Xiaoyu Ruan Addressed CMVP comments TANDBERG MXP Codec (Firmware Version F6.0) Page 2 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Table of Contents 1 INTRODUCTION ...............................................................................................................................................6 1.1 PURPOSE .........................................................................................................................................................6 1.2 REFERENCES ...................................................................................................................................................6 1.3 DOCUMENT ORGANIZATION ...........................................................................................................................6 2 TANDBERG MXP CODEC ...............................................................................................................................7 2.1 TANDBERG VIDEO CONFERENCING SYSTEM OVERVIEW ............................................................................7 2.2 TANDBERG MXP CODEC OVERVIEW ..........................................................................................................8 2.3 MODULE INTERFACES ..................................................................................................................................10 2.4 ROLES AND SERVICES...................................................................................................................................12 2.4.1 Crypto Officer Role..............................................................................................................................12 2.4.2 User Role .............................................................................................................................................14 2.5 PHYSICAL SECURITY ....................................................................................................................................14 2.6 OPERATIONAL ENVIRONMENT ......................................................................................................................14 2.7 CRYPTOGRAPHIC KEY MANAGEMENT ..........................................................................................................15 2.7.1 Key Generation....................................................................................................................................19 2.7.2 Key Input/Output .................................................................................................................................19 2.7.3 Key Storage..........................................................................................................................................19 2.7.4 Key Zeroization....................................................................................................................................19 2.8 SELF-TESTS ..................................................................................................................................................19 2.9 MITIGATION OF OTHER ATTACKS.................................................................................................................20 3 SECURE OPERATION....................................................................................................................................21 3.1 CRYPTO OFFICER GUIDANCE ........................................................................................................................21 3.2 USER GUIDANCE ..........................................................................................................................................22 4 ACRONYMS......................................................................................................................................................24 TANDBERG MXP Codec (Firmware Version F6.0) Page 3 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Table of Figures FIGURE 1 - DEPLOYMENT OF TANDBERG VIDEO CONFERENCING SYSTEMS ...............................................................7 FIGURE 2 - FRONT AND REAR PANELS OF TANDBERG 6000 MXP CODEC SERVER .....................................................8 FIGURE 3 - FRONT AND REAR PANELS OF TANDBERG 3000 MXP CODEC SERVER .....................................................8 FIGURE 4 - MODULE CRYPTOGRAPHIC BOUNDARY ........................................................................................................9 FIGURE 5 - REAR PANEL OF TANDBERG 6000 MXP CODEC SERVER ........................................................................11 TANDBERG MXP Codec (Firmware Version F6.0) Page 4 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Table of Tables TABLE 1 - SECURITY LEVEL PER FIPS 140-2 SECTION .................................................................................................10 TABLE 2 - MAPPING OF FIPS 140-2 LOGICAL INTERFACES TO TANDBERG MXP CODEC SERVER INTERFACES ........12 TABLE 3 - CRYPTO OFFICER SERVICES .........................................................................................................................12 TABLE 4 - USER SERVICES............................................................................................................................................14 TABLE 5 - LIST OF CSPS FOR H.320 .............................................................................................................................15 TABLE 6 - LIST OF CSPS FOR H.323 .............................................................................................................................16 TABLE 7 - LIST OF CSPS FOR SSH................................................................................................................................17 TABLE 8 - LIST OF CSPS FOR HTTPS ...........................................................................................................................17 TABLE 9 - LIST OF CSPS FOR FIRMWARE UPGRADE .....................................................................................................18 TABLE 10 - ACRONYMS ................................................................................................................................................24 TANDBERG MXP Codec (Firmware Version F6.0) Page 5 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 1 Introduction 1.1 Purpose This document is a non-proprietary Cryptographic Module Security Policy for the TANDBERG MXP Codec from TANDBERG AS. This Security Policy describes how the TANDBERG MXP Codec meets the security requirements of FIPS 140-2 and how to run the module in a secure FIPS 140-2 mode. This policy was prepared as part of the Level 1 FIPS 140-2 validation of the module. FIPS 140-2 (Federal Information Processing Standards Publication 140-2 ­ Security Requirements for Cryptographic Modules) details the U.S. and Canadian Government requirements for cryptographic modules. More information about the FIPS 140-2 standard and validation program is available on the National Institute of Standards and Technology (NIST) Cryptographic Module Validation Program (CMVP) website at: http://csrc.nist.gov/groups/STM/index.html. In this document, the TANDBERG MXP Codec is referred to as the codec or the module. 1.2 References This document deals only with the operations and capabilities of the module in the technical terms of a FIPS 140-2 cryptographic module security policy. More information is available on the module from the following sources: · The TANDBERG website (http://www.tandberg.com) contains information on the full line of products from TANDBERG. · The CMVP website (http://csrc.nist.gov/groups/STM/index.html) contains contact information for answers to technical or sales-related questions for the module. 1.3 Document Organization The Security Policy document is one document in a FIPS 140-2 Submission Package. In addition to this document, the Submission Package contains: · Vendor evidence · Finite state machine · Other supporting documentation as additional references This Security Policy and the other validation submission documentation was produced by Corsec Security, Inc. under contract to TANDBERG. With the exception of this Non-Proprietary Security Policy, the FIPS 140-2 Validation Documentation is proprietary to TANDBERG and is releasable only under appropriate non-disclosure agreements. For access to these documents, please contact TANDBERG. TANDBERG MXP Codec (Firmware Version F6.0) Page 6 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 2 TANDBERG MXP Codec 2.1 TANDBERG Video Conferencing System Overview TANDBERG AS produces a full line of videoconferencing systems designed for medium-to-large groups, as well as individual desktops. TANDBERG products include video endpoints, video cameras, conferencing servers (Multipoint Control Units (MCUs) and Media Processing System (MPS) series), management software, protocol and translation gateways (Integrated Services Digital Network (ISDN) Gateway, 3G Gateway, Border Controller), and recording devices (content servers). Figure 1 demonstrates the deployment architecture of TANDBERG video conferencing systems. Typically, a video conference consists of several endpoint attendees at different locations. Hardware components involved in a video conferencing system include endpoint servers, video endpoints, cameras, microphones, speakers, conferencing servers, protocol translation gateways, gatekeepers, and border controllers. The MCUs and MPS are necessary when the attendees of a conference exceed a certain number. The border controller, together with the TANDBERG Expressway technology, seamlessly and securely allows video communications by using default behavior of firewalls. The gatekeeper, on the other hand, provides critical functionality to enable Internet Protocol (IP) video communication. Video endpoints can be deployed throughout an enterprise Local Area Network (LAN). Security features are offered along with the full support for networking protocols. Notice that the MCUs, MPS, border controllers, and gatekeepers are other hardware devices and have nothing to do with the FIPS 140-2 validation for the TANDBERG MXP Codec. For detailed information on a specific device, please refer to its administrative and user manuals. Figure 1 - Deployment of TANDBERG Video Conferencing Systems TANDBERG provides full standard protocol support for H.320 1 (for ISDN networks) and H.323 2 (for Ethernet). Using these protocols, secure video conferencing is offered using Advanced Encryption Standard (AES) encryption 1 H.320 is an umbrella recommendation by the International Telecommunication Union Telecommunication Standardization Sector (ITU-T) for running Multimedia (Audio/Video/Data) over ISDN based networks. 2 H.323 is an umbrella recommendation by the ITU-T that defines the protocols to provide audio-visual communication sessions on any packet network. TANDBERG MXP Codec (Firmware Version F6.0) Page 7 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 for point-to-point calls and multipoint calls on ISDN and Ethernet with the speed of up to 768 kbps on the full TANDBERG product line. 2.2 TANDBERG MXP Codec Overview The TANDBERG MXP Codec (version F6.0) is the firmware installed in the TANDBERG endpoint product line. The firmware supports the following nineteen TANDBERG codec servers: TANDBERG 8000 MXP, TANDBERG 7000 MXP, TANDBERG 6000 MXP, TANDBERG 3000 MXP, TANDBERG 2000 MXP, TANDBERG 1500 MXP, TANDBERG 1700 MXP, TANDBERG 1000 MXP, TANDBERG 990 MXP, TANDBERG 880 MXP, TANDBERG 770 MXP, TANDBERG 550 MXP, TANDBERG Tactical MXP, TANDBERG Maestro MXP, TANDBERG Compass MXP, TANDBERG Utility MXP, TANDBERG Edge 75 MXP, TANDBERG Edge 85 MXP, and TANDBERG Edge 95 MXP. For example, the TANDBERG 6000 and 3000 MXP Codec servers are large- and mid-sized endpoint products, respectively. Their front and rear panels are shown in Figure 2 and Figure 3. Figure 2 - Front and Rear Panels of TANDBERG 6000 MXP Codec Server Figure 3 - Front and Rear Panels of TANDBERG 3000 MXP Codec Server The TANDBERG 6000 and 3000 MXP codec servers handle video and audio input and output and connect sites with other parties in a conference via Ethernet or ISDN. Optionally with MCU, MPS, or embedded multi-site functionality, the TANDBERG 6000 MXP Codec server is capable of handling up to six video and five audio sites, and the TANDBERG 3000 MXP Codec server is able to handle up to four video and three audio sites. The cryptographic boundary is depicted in Figure 4 with the block diagram of TANDBERG 6000 MXP codec server. Logically, the cryptographic boundary contains a single firmware image that runs on the Central Processing Unit (CPU), video processors, and audio processors in the area defined by the red line. Notice that the module is the firmware, rather than the hardware. The firmware is stored in the flash memory shown in Figure 4. Although Figure 4 is the block diagram of the TANDBERG 6000 MXP codec server, it represents a typical structure of other codec server models that use the same firmware. Notice that FIPS 140-2 testing was performed on the TANDBERG 6000 MXP codec server only. However, the TANDBERG MXP Codec firmware requires no code change or recompilation when it is installed on the other eighteen codec servers. According to Section G.5 of the Implementation Guidance for FIPS PUB 140-2 and the TANDBERG MXP Codec (Firmware Version F6.0) Page 8 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Cryptographic Module Validation Program 3 , the FIPS 140-2 validation for the TANDBERG MXP Codec firmware remains valid when the firmware is installed on other codec servers. Figure 4 - Module Cryptographic Boundary 3 Available at http://csrc.nist.gov/groups/STM/cmvp/documents/fips140-2/FIPS1402IG.pdf TANDBERG MXP Codec (Firmware Version F6.0) Page 9 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 The TANDBERG MXP Codec supports a FIPS-Approved mode of operation and a non-FIPS-Approved mode of operation. The TANDBERG MXP Codec is validated at the following FIPS 140-2 Section levels (when operated in the FIPS-Approved mode). Table 1 - Security Level Per FIPS 140-2 Section Section Section Title Level 1 Cryptographic Module Specification 1 2 Cryptographic Module Ports and Interfaces 1 3 Roles, Services, and Authentication 1 4 Finite State Model 1 5 Physical Security 1 6 Operational Environment N/A 7 Cryptographic Key Management 1 8 EMI/EMC 1 9 Self-tests 1 10 Design Assurance 1 11 Mitigation of Other Attacks N/A In Table 1, N/A indicates "Not Applicable". EMI and EMC refer to Electromagnetic Compatibility and Electromagnetic Interference, respectively. 2.3 Module Interfaces The module is a firmware image installed on TANDBERG MXP codec servers. The firmware's interfaces are mapped to the ports on the server. A firmware module does not have any physical ports. The firmware module interfaces, shown on Table 2, are provided to show a mapping between the firmware and the hardware that the firmware is installed on. The hardware ports are listed for clarification. The following is the list of ports of the TANDBERG 6000 MXP codec server. The other eighteen models supported by the module implement the same types of ports. However, the numbers of ports may be different. Figure 5 shows the ports on the TANDBERG 6000 MXP codec server's rear panel. · Three microphone input ports (audio input) · Three audio input ports (RCA 4 audio ports) · Three audio output ports (RCA audio ports), one of which serves as S/PDIF 5 output when the system is configured with stereo and S/PDIF active. · Four video input ports (two S-Video ports and two RCA video ports) 4 An RCA port is a type of electrical connector that is commonly used in the audio/video market. The name "RCA" derives from the Radio Corporation of America, which introduced the design by the early 1940s to allow phonograph players to be connected to amplifiers. 5 S/PDIF stands for Sony/Philips Digital Interface Format. S/PDIF is a collection of hardware and low-level protocol specifications for carrying digital audio signals between devices and stereo components. TANDBERG MXP Codec (Firmware Version F6.0) Page 10 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 · Four video output ports (two S-Video ports and two RCA video ports) · Two Digital Visual Interface (DVI) output ports · One DVI input port · One V.35 network port · Two ISDN Primary Rate Interface (PRI) ports · Six ISDN Basic Rate Interface (BRI) ports · One Ethernet port · One Universal Serial Bus (USB) port (for future use, currently not software-enabled) · Two Data Communications Equipment (DCE) ports, Data 1 and Data 2. Data 1 is usually used for RS232 connection and Data 2 is usually a THSI (TANDBERG High Speed Interface) used for connecting the TANDBERG Precision HD Camera 6 . When Precision HD Camera is connected, video input 1 will be disabled. · LEDs indicating system status · Power socket The following is a list of the logical interfaces implemented in the module: · Data Input Interface · Data Output Interface · Control Input interface · Status Output Interface · Power Interface Table 2 maps the codec server interfaces with the FIPS 140-2 logical interfaces. Figure 5 - Rear Panel of TANDBERG 6000 MXP Codec Server 6 TANDBERG Precision HD camera is a high definition video capture device that provides superior video quality at any bandwidth. Designed specifically for videoconferencing, it provides crystal-clear, true-to-life quality for rich interaction and collaboration. TANDBERG MXP Codec (Firmware Version F6.0) Page 11 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Table 2 - Mapping of FIPS 140-2 Logical Interfaces to TANDBERG MXP Codec Server Interfaces FIPS 140-2 TANDBERG MXP Codec Server Port/Interface Logical Interface Infrared remote, microphone input, audio input, DVI input, V.35 network, ISDN Data Input BRI, ISDN PRI, Ethernet, DCE Port Data 1, DCE Port Data 2 Audio output, video output, DVI output, V.35 network, ISDN BRI, ISDN PRI, Data Output Ethernet, DCE Port Data 1, DCE Port Data 1 Control Input Infrared remote, V.35 network, ISDN BRI, ISDN PRI, Ethernet, DCE Port Data 1 Audio output, video output, DVI output, V.35 network, ISDN BRI, ISDN PRI, Status Output Ethernet, DCE Port Data 1, Light-Emitting Diode (LEDs) Power Power socket 2.4 Roles and Services The modules support two authorized roles: Crypto Officer and User. The services of a Crypto Officer include module management, settings, and firmware upgrades. The User role places and answers videoconferencing calls with or without security features as specified by the security configurations of itself and other parties to the call. Under the FIPS mode of operation, both roles can access the module through one of the following interfaces: (1) infrared remote (2) Hypertext Transfer Protocol (HTTP) / HTTPS (Hypertext Transfer Protocol over Transport Layer Security or TLS) (3) Secure Shell (SSH) version 2 (4) RS232 The infrared remote provides the operator with a menu-driven interface. The HTTP/HTTPS protocol provides a web-based interface. The SSH and RS232 interfaces are command-line based. Additionally, the Crypto Officer can access the codec via Simple Network Management Protocol (SNMP) version 1 and File Transfer Protocol (FTP) to perform certain limited operations. These two interfaces do not provide any security-related services or configurations. 2.4.1 Crypto Officer Role Table 3 shows the services for the Crypto Officer role in the FIPS mode of operation. The purpose of each service is shown in the first column ("Service"), and the corresponding function is described in the second column ("Description"). Notice that IP stands for Internet Protocol. RSA is a well-known asymmetric cryptographic algorithm named after its inventors Rivest, Shamir, and Adleman. DSA is short for Digital Signature Algorithm. CSP refers to Critical Security Parameter. TDES refers to Triple Data Encryption Standard. Table 3 - Crypto Officer Services Keys/CSPs and Type of Service Description Input Output Access Install Assemble the systems and Command Result of None setup network installation configurations. Uninstall Disassemble the codec Command Uninstalled None server system. module TANDBERG MXP Codec (Firmware Version F6.0) Page 12 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Keys/CSPs and Type of Service Description Input Output Access Login through Crypto Officer logs in the None Status, success None infrared remote codec through infrared or failure remote. Login through Crypto Officer logs in the Codec's IP address Status, success Diffie-Hellman keys ­ HTTP/HTTPS codec through or failure Read HTTP/HTTPS. RSA keys ­ Read DSA keys ­ Read AES key ­ Read, Write, and Delete TDES keys ­ Read, Write, and Delete Login through Crypto Officer logs in the Codec's IP address Status, success Diffie-Hellman keys ­ SSH codec through SSH. or failure Read, Write, and Delete DSA keys ­ Read, Write, and Delete AES key ­ Read, Write, and Delete TDES keys ­ Read, Write, and Delete Login through Crypto Officer logs in the None Status, success None RS232 codec through RS232. or failure Login through Crypto Officer logs in the Codec's IP Status, success None SNMP codec through SNMP. address, or failure community name Login through Crypto Officer logs in the Codec's IP address Status, success None FTP codec through FTP. or failure Generate keys Generate keys using ANSI Command Keys Entries generated by X9.31 Appendix A.2.4 ANSI X9.31 Appendix RNG for HTTPS, SSH, A.2.4 RNG in Tables 5, H.320, and H.323 6, 7, and 8. Type of protocols access ­ Read and Write Power-up self- Run power-up self-tests. Turn on or reboot Status, success None tests the codec or failure Configure Configure network Command, network Status, success None network parameters that are parameters such as or failure settings necessary for IP addresses placing/answering calls. Configure Choose from "Auto Command, options Status, success None security Encryption" (i.e., or failure settings alternating bypass), "Encryption Off" (i.e., bypass), and "Encryption On". For "Encryption On" and "Auto Encryption", further choose from "AES" and "Auto". Configure Configure other system Command, options Status, success None system settings parameters. or failure Install Install certificates for TLS Command, Status, success RSA or DSA private key certificates sessions for HTTPS certificates, private or failure - Write connections. keys Upgrade Install a new firmware. Command, options Status, success DSA public key for firmware or failure upgrade integrity test - Read Get status Check the status of the Command, options Event log None codec. TANDBERG MXP Codec (Firmware Version F6.0) Page 13 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 2.4.2 User Role Table 4 shows the services for the User role under the FIPS mode of operation. Similar to Table 3, the purpose of each service is shown in the first column ("Service"), and the corresponding function is described in the second column ("Description"). Notice that, depending on what services the operator will be requesting after login, the login procedures for the infrared remote, HTTP/HTTPS, SSH, and RS232 can be grouped as either Crypto Officer or User services. Table 4 - User Services Keys/CSP and Service Description Input Output Type of Access Login through User logs in the None Status, success or None infrared remote codec through failure infrared remote. Login through User logs in the Codec's IP address Status, success or Diffie-Hellman keys HTTP/HTTPS codec through failure ­ Read HTTP/HTTPS. RSA keys ­ Read DSA keys ­ Read AES key ­ Read, Write, and Delete TDES keys ­ Read, Write, and Delete Login through SSH User logs in the Codec's IP address Status, success or DSA keys ­ Read, codec through SSH. failure Write, and Delete AES key ­ Read, Write, and Delete TDES keys ­ Read, Write, and Delete Login through User logs in the None Status, success or None RS232 codec through failure RS232. Videoconferencing Place outgoing calls Command, number Status, success or Diffie-Hellman keys Calls or answer incoming of the receiver failure ­ Read, Write, and calls. Calls can be (when placing an Delete configured with outgoing call) AES keys ­ Read, encryption and Write, and Delete decryption options. 2.5 Physical Security The module itself is a firmware. The TANDBERG MXP codec servers supported by the module are production- grade embodiments that include metal cases which completely surround the module and are removable using screws or hand screws. There are no locks or permanent closures. 2.6 Operational Environment The module is the firmware running three Operating Systems (OS) simultaneously, including Nucleus Plus RTOS 7 version 1.13.5 (PowerPC Freescale MPC8270), Trimedia pSOS version 254 (video processors Phillips PNX1500), 7 Nucleus Plus RTOS is a Real-Time Operating System (RTOS) and full-featured toolset created by the Embedded Systems Division of Mentor Graphics for various platforms. TANDBERG MXP Codec (Firmware Version F6.0) Page 14 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 and DSP/BIOS 8 version 5.20.05 (audio processors TI6713). All of them are limited operational environments according to FIPS 140-2 the definitions. According to FIPS 140-2 Section 4.6: "If the operational environment is a limited operational environment, the OS requirements in Section 4.6.1 do not apply.", and the FIPS 140-2 requirements for operational environment are not applicable to the TANDBERG MXP Codec firmware. 2.7 Cryptographic Key Management The module implements the following Approved cryptographic algorithms: · AES ­ Electronic Codebook (ECB) mode with a 128-bit key, counter mode with a 128-bit key, Output Feedback (OFB) mode with a 128-bit key, Cipher Block Chaining (CBC) mode with a 128-, 192-, or 256-bit key (Certificate # 504) · TDES ­ ECB mode with three 64-bit independent keys, CBC mode with three 64-bit independent keys (Certificate # 514) · RSA following Public Key Cryptography Standards (PKCS) #1 for signature generation and verification ­ 1024-, 2048-, or 4096-bit keys (Certificate # 218) · DSA ­ 1024-, 2048-, or 4096-bit keys (Certificate # 208) · Secure Hash Algorithm (SHA)-1 (Certificate # 574) · Keyed-Hash Message Authentication Code (HMAC)-SHA-1 with 160-bit key (Certificate # 257) · American National Standards Institute (ANSI) X9.31 Appendix A.2.4 Random Number Generator (RNG) with 128-bit AES (Certificate # 282) The module implements the following non-Approved cryptographic algorithms: · A non-Approved RNG for entropy gathering for the ANSI X9.31 Appendix A.2.4 RNG · 1024-bit Diffie-Hellman key agreement scheme providing 80 bits of security. · 1024-, 2048, or 4096-bit RSA PKCS#1 key wrapping providing 80 bits, 112 bits, or 150 bits of security. Four protocols implemented in the codec, H.320, H.323, SSH, and HTTPS, are security-related. Table 5, Table 6, Table 7, and Table 8 introduce cryptographic keys, key components, and CSPs involved in these four protocols, respectively. CSPs for firmware upgrade are tabulated in Table 9. Notice that, the variables with the same name in different tables have nothing to do with each other. For example, Kx in Table 5 and Table 6 represent two separate variables. Also notice that XOR indicates the exclusive-or operation, and CA is short for "certification authority". Another important remark follows. The module supports both a FIPS mode and a non-FIPS mode of operation. The two modes do not share keys, key components, or CSPs. i.e., a key, key component, or CSP that is established or used in FIPS mode is not used in non-FIPS mode and vice versa. Table 5 - List of CSPs for H.320 Key/ Key Type Generation / Input Output Storage Zeroization Use Component a, b, g, p 1024-bit Diffie- Generated by ANSI No Plaintext Upon generation of Negotiate Kx Hellman keys X9.31 Appendix A.2.4 in volatile Kx RNG memory 8 DSP/BIOS kernel is a scalable real-time multi-tasking kernel by the Texas Instruments. TANDBERG MXP Codec (Firmware Version F6.0) Page 15 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Key/ Key Type Generation / Input Output Storage Zeroization Use Component Kx AES Generated by 1024-bit No Plaintext Upon generation of Encrypt and symmetric key Diffie-Hellman key in volatile Koa, Kia, Kob, Kib decrypt Na1, (128-bit) agreement. The key memory Na2, Na3, strength of Kx is 80 bits Na4, Nb1, Nb2, Nb3, Nb4 Na1, Na2, Random string Generated by ANSI AES Plaintext Upon generation of Derive Koa, Na3, Na4, used as key X9.31 Appendix A.2.4 encrypted in volatile Koa, Kia, Kob, Kib Kia, Kob, Kib Nb1, Nb2, component RNG using key memory Nb3, Nb4 (128-bit each) Kx Koa AES Na1 XOR Nb3 No Plaintext Upon session Encrypt symmetric key in volatile termination outgoing video (128-bit) memory and audio data Kia AES Nb1 XOR Na3 No Plaintext Upon session Decrypt symmetric key in volatile termination incoming video (128-bit) memory and audio data Kob AES Nb1 XOR Na3 No Plaintext Upon session Encrypt symmetric key in volatile termination outgoing video (128-bit) memory and audio data Kib AES Na1 XOR Nb3 No Plaintext Upon session Decrypt symmetric key in volatile termination incoming video (128-bit) memory and audio data RNG seed RNG seed and Generated by non- Never Plaintext When new seed Generate keys and seed AES key Approved RNG output in volatile and seed key and key key memory values are fed components only Table 6 - List of CSPs for H.323 Key/ Key Key Type Generation / Input Output Storage Zeroization Use Component a, b, g, p 1024-bit Generated by ANSI Endpoint's public key is Plaintext in Upon Negotiate Kx Diffie- X9.31 Appendix output with AES volatile session Hellman A.2.4 RNG encrypted with P. 9 memory termination keys Private keys are not output. Kx AES Generated by 1024- No Plaintext in Upon Encrypt and symmetric bit Diffie-Hellman volatile session decrypt Km key (128- key agreement. The memory termination bit) key strength of Kx is 80 bits 9 For FIPS 140-2 purposes, the keys are output in plaintext. TANDBERG MXP Codec (Firmware Version F6.0) Page 16 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Key/ Key Key Type Generation / Input Output Storage Zeroization Use Component P AES cipher High-order 128 bits No Plaintext in Upon Generate key (128- of the 160-bit SHA- volatile session round keys bit) 1 hash of the memory termination common security pin code key_clen HMAC key Generated by a No Plaintext in Upon Verity integrity pseudo-random volatile session of packets function memory termination Km AES Generated by ANSI AES encrypted using Plaintext in Upon Encrypt and symmetric X9.31 Appendix key Kx volatile session decrypt video key (128- A.2.4 RNG memory termination and audio data bit) RNG seed RNG seed Generated by non- Never output Plaintext in When new Generate keys and seed and AES Approved RNG volatile seed and and key key key memory seed key components only values are fed Table 7 - List of CSPs for SSH Key/ Generation / Key Key Type Output Storage Zeroization Use Input Component Kh 1024-bit Generated by Public keys are Plaintext in Upon session Negotiate Ks Diffie- ANSI X9.31 output in plaintext. volatile termination Hellman Appendix Private keys are not memory keys A.2.4 RNG output. Kdsa 1024-bit Generated by Public keys are Plaintext in Upon exiting Private key is DSA keys ANSI X9.31 output in plaintext. flash FIPS mode used to sign the Appendix Private keys are not memory server's part of A.2.4 RNG output. the transaction. Public key is used to verify the signature. Ks AES or 1024-bit Diffie- No Plaintext in Upon session Encrypt and TDES Hellman key volatile termination or decrypt data Symmetric agreement memory when a new Ks is key(s) generated (after a certain timeout) RNG seed RNG seed Generated by Never output Plaintext in When new seed Generate keys and seed and AES non-Approved volatile and seed key and key key key RNG memory values are fed components only Table 8 - List of CSPs for HTTPS Key/ Key Key Type Generation / Input Output Storage Zeroization Use Component TANDBERG MXP Codec (Firmware Version F6.0) Page 17 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Key/ Key Key Type Generation / Input Output Storage Zeroization Use Component MS TLS 1. Input in encrypted form No Plaintext in Upon session Derive Ks master from client volatile termination secret 2. Negotiated via Diffie- memory only Hellman scheme KRsaPub RSA public Loaded in a .PEM In Plaintext in When the Client encrypts key formatted file in plaintext plaintext flash memory certificate MS, client from a non-networked as part of becomes invalid verifies general purpose computer certificate signatures KRsaPriv RSA Loaded in a .PEM No Plaintext in When the Server private key formatted file in plaintext flash memory certificate decrypts MS, from a non-networked becomes invalid server general purpose computer generates signatures KDsaPub DSA public Input in plaintext as part of In Plaintext in When the Client verifies key certificate plaintext flash memory certificate signatures as part of becomes invalid certificate KDsaPriv DSA Input in plaintext form No Plaintext in When the Server private key flash memory certificate generates becomes invalid signatures Kh 1024-bit Generated by ANSI X9.31 Public Plaintext in Upon session Negotiate Ks Diffie- Appendix A.2.4 RNG keys are volatile termination Hellman output in memory keys plaintext. Private keys are not output Ks AES or Derived from MS No Plaintext in Upon session Encrypt and TDES volatile termination decrypt data symmetric memory key(s) RNG seed RNG seed Generated by non- Never Plaintext in When new seed Generate keys and seed and AES Approved RNG output volatile and seed key and key key key memory only values are fed components Table 9 - List of CSPs for Firmware Upgrade Key Key Type Generation / Input Output Storage Zeroization Use KdsaCA DSA Hard-coded in flash No Plaintext Never Verify CA's public key memory in flash signature memory KdsaUpgrade DSA Input along with the No Plaintext When the Verify DSA public key upgrade package in in flash certificate becomes signature on plaintext as part of the memory invalid the upgrade certificate signed by CA package TANDBERG MXP Codec (Firmware Version F6.0) Page 18 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 2.7.1 Key Generation The module uses ANSI X9.31 Appendix A.2.4 RNG to generate cryptographic keys. This RNG is FIPS-Approved as indicated by Annex C to FIPS PUB 140-2. The seed for the ANSI X9.31 Appendix A.2.4 RNG is provided by a non-Approved RNG, which collects entropy from the infrared remote receiver, Ethernet receiver, and ISDN driver routines. 2.7.2 Key Input/Output RSA key pairs are generated externally and input to the modules in plaintext. RSA, DSA, and Diffie-Hellman private keys never exit the module, while the public keys are output in plaintext. In H.323 and H.320, symmetric keys that are input into and output from the module are encrypted by 128-bit AES. In HTTPS, session keys exit the module in encrypted form during TLS handshakes (protected within RSA key transport). Other CSPs and keys, such as the DSA keys for integrity tests never output from the module. WARNING: KRsaPub and KRsaPriv for HTTPS (see Table 8) must be imported via HTTP in a secure environment. To realize a secure environment, the general purpose computer running the HTTP client (e.g., Firefox, Internet Explorer) must be standalone and not-networked. In essence, the general purpose computer serves as a key loader as defined in FIPS 140-2. See the "Certificate Management" section of the Administrator Manual for details. 2.7.3 Key Storage The DSA and RSA public and private key pairs and the DSA public keys for integrity tests are stored in the module's flash memory in plaintext. Session key and Diffie-Hellman public and private key pairs are held in volatile memory (SDRAM) in plaintext. 2.7.4 Key Zeroization For H.320 and H.323 protocols, all Diffie-Hellman keys, symmetric keys, HMAC keys, and key components are zeroized when they are no longer needed, usually at the end of the session, or when encryption is disabled during a call. For the SSH protocol, a session key is zeroized at the end of the session, or when a new session key is generated after a certain timeout. A DSA key pair is zeroized when the codec exits FIPS mode. For the HTTPS protocol, the TLS session key is zeroized at the end of the session. The RSA and DSA key pairs are not automatically zeroized. The DSA key for the firmware integrity test and keys for other power-up self-tests are hard- coded. This is allowed by FIPS 140-2 according to Section 7.4 of the Implementation Guidance. The zeroization of the keys is carried out by overwriting the storage area or memory location with zeros. 2.8 Self-Tests The TANDBERG MXP Codec performs the following self-tests at power-up: · A firmware integrity test using DSA to ensure that the module has not been modified · Known Answer Test (KAT) on TDES with 3 independent keys (64 bits each) in ECB mode · KAT on AES with a 128-bit key in ECB mode · KAT on HMAC-SHA-1 · KAT on RSA with 1024-bit keys for signature generation/verification and encryption/decryption · KAT on ANSI X9.31 Appendix A.2.4 RNG · Pair-wise consistency test for DSA keys If the power-up self-tests fail, the codec server will be automatically rebooted. An error message "FIPS Algorithm self-test failed. Fatal Error!" will be written to the system event log before the reboot. The conditional self-tests performed by the module include the following four tests. TANDBERG MXP Codec (Firmware Version F6.0) Page 19 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 · Pair-wise consistency test for new DSA keys · Bypass test · Continuous RNG test on the ANSI X9.31 Appendix A.2.4 RNG · Continuous RNG test on the non-Approved RNG · Software/firmware load test using DSA to ensure that the upgrade has not been modified If conditional self-tests fail, an error message will be written to the system event log. Failure of a pair-wise consistency test for new DSA keys or a continuous RNG test leads to reboot of the codec server. Failure of a bypass test forbids the operator to change the security settings ("No Encryption", "Auto Encryption", or "Encryption On"). If an integrity test for the upgrade package fails, the upgrade will not be installed. 2.9 Mitigation of Other Attacks This section is not applicable. The module does not claim to mitigate any attacks beyond the FIPS 140-2 level 1 requirements for this validation. TANDBERG MXP Codec (Firmware Version F6.0) Page 20 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 3 Secure Operation The TANDBERG MXP Codec meets Level 1 requirements for FIPS 140-2. The module does not require any initial authentication by an operator during the first time the module is accessed. During the first time the module is accessed, it is assumed that the operator is the owner of the system. It is the Crypto Officer's responsibility to configure the module. See Table 3 for details. As stated in Session 2.4, an operator can access the module through one of the following interfaces: (1) infrared remote (2) HTTP/HTTPS (3) SSH (4) RS232 The infrared remote provides the operator with a menu interface and the HTTP/HTTPS protocol provides a web- based interface. The SSH and RS232 interfaces are command-line based. Additionally, an operator can access the codec via SNMP and FTP to perform certain limited operations. SNMP and FTP services are not security-relevant. The client application (web browser) used for HTTPS connections must support TLS version 1 or later. For SSH connections, the client application must support SSH version 2 or later. The sections below describe how to place and keep the module in the FIPS-Approved mode of operation and how to make secure calls. 3.1 Crypto Officer Guidance In order to have the TANDBERG MXP codec server work in the FIPS-Approved mode, a Crypto Officer shall perform the following operations: Infrared remote: Go to the "Control Panel" menu, select "Security", and then choose "On" for the "FIPS Mode" option. Save this change. The codec will be rebooted. Web browser (HTTP/HTTPS): Go to the "Endpoint configuration" menu, select the "Security" tag, and then click on the "Enable FIPS Mode" button. The codec will be rebooted. Command line interface (SSH, RS232): To switch from non-FIPS mode to FIPS mode, input the command "fipsmode on" and hit the "enter" key on your keyboard. The connection will be terminated because the codec is being rebooted. In order to have the TANDBERG MXP codec server work in the non-FIPS mode, a Crypto Officer shall perform the following operations: Infrared remote: Go to the "Control Panel" menu, select "Security", and then choose "Off" for the "FIPS Mode" option. Save this change. Web browser (HTTP/HTTPS): TANDBERG MXP Codec (Firmware Version F6.0) Page 21 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Go to the "Endpoint configuration" menu, select the "Security" tag, and then click on the "Disable FIPS Mode" button. Make sure that message "FIPS Mode is currently disable" is shown to the right of the "FIPS mode" entry. Command line interface (SSH, RS232): To switch from non-FIPS mode to FIPS mode, input the command "fipsmode off" and hit the "enter" key on your keyboard. In FIPS mode, encryption services for video calls are configured with a menu option or a command. The Crypto Officer can set the encryption options to "Encryption Off", "Auto Encryption", or "Encryption On". This requires that there be (respectively) no encryption on any calls, encryption where the other side will support it, or that all calls be encrypted. The following instructions show how to configure the security setting: Infrared remote: Go to "Control Panel", select "Security", and then choose "On", "Auto", or "Off" for the "Encryption" option. When "Encryption" is configured to either "On" or "Auto", the Crypto Officer also needs to choose an "Encryption Mode" by selecting "AES" or "Auto". Finally save these changes. Web browser (HTTP/HTTPS): Go to "Endpoint configuration", select "Security", and then choose "On", "Auto", or "Off" for the "Encryption" option. When "Encryption" is configured to either "On" or "Auto", the Crypto Officer also needs to choose an "Encryption Mode" by selecting "AES-128" or "Auto". Finally save this page. Command line interface (SSH, RS232): Execute "encrypt on", "encrypt auto", or "encrypt off" to configure a proper encryption option. When "encrypt on" or "encrypt auto" is configured, the Crypto Officer also needs to set an "Encryption Mode". This can be done by executing an "encmode aes128" or "encmode auto" command. During the process of a call, the television or monitor displays a padlock at the upper right corner showing the current encryption status. An AES-encrypted call is indicated by a double padlock. A TDES-encrypted call is indicated by a single padlock. A plaintext call is indicated by an open padlock. 3.2 User Guidance Before placing or answering videoconferencing calls, the User should examine the security settings by performing the following operations: Infrared remote: Go to the "Control Panel" menu, select "Security". Make sure that the "FIPS mode" is set to "On". Web browser (HTTP/HTTPS): Go to the "Endpoint configuration" menu, select the "Security" tag. Make sure that message "FIPS Mode is currently enabled" is shown to the right of the "FIPS mode" entry. Command line interface (SSH, RS232): Input the command "fipsmode" and hit the "enter" key on your keyboard. If the return value is "*P fipsmode on", then the codec is running in the FIPS mode. If the return value is "*P fipsmode off", then the codec is running in the non-FIPS mode. TANDBERG MXP Codec (Firmware Version F6.0) Page 22 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 "Encryption Off" suggests no encryption on any calls; "Auto Encryption" indicates that encryption will be applied where the other side will support encryption; "Encryption On" requires that all calls be encrypted. "AES" means only AES symmetric cryptography is allowed for encryption. "Auto selection" will negotiate through AES and no encryption. The User should make sure the current setting satisfies his/her security requirements before placing and answering calls. During the process of a call, the television or monitor displays a padlock symbol at the upper right corner showing the current encryption status. An AES-encrypted call is indicated by a double padlock. A TDES-encrypted call is indicated by a single padlock. A plaintext call is indicated by an open padlock. The User should terminate the call immediately and check the encryption setting if an unexpected encryption status is reported. TANDBERG MXP Codec (Firmware Version F6.0) Page 23 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 4 Acronyms Table 10 - Acronyms Acronym Definition AES Advanced Encryption Standard ANSI American National Standards Institute BIOS Basic Input/Output System BRI Basic Rate Interface CA Certification Authority CBC Cipher Block Chaining CMVP Cryptographic Module Validation Program CPLD Complex Programmable Logic Device CPU Central Processing Unit CSP Critical Security Parameter CVS Concurrent Versions System DC Direct Current DCE Data Communications Equipment DSA Digital Signature Algorithm DSP Digital Signal Processor DVI Digital Visual Interface ECB Electronic Codebook EMC Electromagnetic Compatibility EMI Electromagnetic Interference FIPS Federal Information Processing Standard FPGA Field-Programmable Gate Array HD High-Definition HMAC Keyed-Hash Message Authentication Code HTTP Hypertext Transfer Protocol HTTPS Hypertext Transfer Protocol over Transport Layer Security FTP File Transfer Protocol IM Instant Messaging IP Internet Protocol IR Infrared Remote ISDN Integrated Services Digital Network ITU-T International Telecommunication Union Telecommunication Standardization Sector KAT Known Answer Test LAN Local Area Network TANDBERG MXP Codec (Firmware Version F6.0) Page 24 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice. Non-Proprietary Security Policy May 14, 2008 Acronym Definition LED Light-Emitting Diode MCU Multiple Control Unit MPS Media Processing System N/A Not Applicable NIST National Institute of Standards and Technology OFB Output Feedback OS Operating System PCI Peripheral Component Interconnect PKCS Public Key Cryptography Standards PRI Primary Rate Interface RCA Radio Corporation of America RNG Random Number Generator RSA Rivest, Shamir, and Adleman RTOS Real-Time Operating System SDRAM Synchronous Dynamic Random Access Memory SHA Secure Hash Algorithm SNMP Simple Network Management Protocol S/PDIF Sony/Philips Digital Interface Format SSH Secure Shell TDES Triple Data Encryption Standard THSI TANDBERG High Speed Interface TLS Transport Layer Security USB Universal Serial Bus VAC Volts Alternating Current XOR Exclusive-or TANDBERG MXP Codec (Firmware Version F6.0) Page 25 of 25 © 2008 TANDBERG Telecom AS This document may be freely reproduced and distributed whole and intact including this copyright notice.