Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper...
Transcript of Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper...
Viper SC™ and Viper SC+™ Narrowband IP Router Non-Proprietary Security Policy PN 009-0000-508 Rev C June 2017
REVISION HISTORY
REV DATE REVISION DETAILS
1 March 2010 Initial Version of P/N 009-0008-508.
2 March 2010 Corrected CSP information
3 July 2010
Updated VPN traps information
Updated Traffic Type
4 August 2011
Updated to reflect capabilities of Viper SC/SC+ firmware
(PN 039-5008-300) revision V3.3
Adapted FIPS 140-2 disclaimer to reflect CMVP readiness
status
5 January 2013 Rebranded to CalAmp
A July 2013 Change “Viper SC” to “Viper SC/SC+”, removed “Air
Superiority”
B November 2014 Added information about Base Station IPSEC and
proprietary airlink protocol
C June 2017 Added SSH and HTTPs throughout the document
IMPORTANT NOTICE
Because of the nature of wireless communication, transmission and reception of data can never
be guaranteed. Data may be delayed, corrupted (i.e., have errors), or be totally lost. Significant
delays or losses of data are rare when wireless devices such as the Viper SC/SC+ are used in a
normal manner with a well-constructed network. Viper SC/SC+ should not be used in situations
where failure to transmit or receive data could result in damage of any kind to the user or any
other party, including but not limited to personal injury, death, or loss of property. CalAmp
accepts no responsibility for damages of any kind resulting from delays or errors in data
transmitted or received using Viper SC/SC+, or for the failure of Viper SC/SC+ to transmit or
receive such data.
COPYRIGHT NOTICE
© Copyright 2010- CalAmp.
Products offered may contain software proprietary to CalAmp. The offer of supply of these
products and services does not include or infer any transfer of ownership. No part of the
documentation or information supplied may be divulged to any third party without the express
written consent of CalAmp.
RF EXPOSURE COMPLIANCE REQUIREMENTS
The Viper SC/SC+ radio is intended for use in the Industrial Monitoring and Control and SCADA
markets. The Viper SC/SC+ unit must be professionally installed and must ensure a minimum
separation distance listed in the table below between the radiating structure and any person.
An antenna mounted on a pole or tower is the typical installation and in rare instances, a 1/2-
wave whip antenna is used.
Please read and understand the important regulatory and safety information
contained in the Viper SC/SC+ user manual (P/N 001-5008-000) before
commissioning Viper SC/SC+ radios.
CALAMP CRYPTOGRAPHIC MODULE DISCLAIMER
FIPS 140 is a US Government standard that defines a minimum set of the security
requirements for products that implement cryptography. This standard is designed for
cryptographic modules used to protect sensitive but unclassified information. Testing against
the FIPS 140 standard is maintained by the Cryptographic Module Validation Program (CMVP), a
joint effort between the National Institute of Standards (NIST) and the Communications
Security Establishment of Canada (CSEC). A list of FIPS 140 validated cryptographic modules is
available from the NIST. Consult the NIST website for details.
Unless explicitly stated otherwise, nothing in the current document or any other Viper SC/SC+
literature shall be interpreted as a claim of FIPS 140-2 certification or claim of submission for
FIPS 140-2 CMVP testing.
The Viper SC/SC+ CalAmp Cryptographic Module has been designed to meet the NIST FIPS
140-2 requirements. Based on the results of an independent certification readiness assessment,
it has been deemed ready for submission to the CMVP testing process.
RF Exposure
TABLE OF CONTENTS
1 DOCUMENT OVERVIEW ......................................................................................................................................... 6
1.1 Audience .............................................................................................................................................................. 6
2 CALAMP CRYPTOGRAPHIC MODULE ................................................................................................................. 7
2.1 Overview .............................................................................................................................................................. 7
2.2 Operating Environment ..................................................................................................................................... 7
2.3 Security Services ................................................................................................................................................. 7
2.4 Security Session TYPES ..................................................................................................................................... 8 2.4.1 Dynamic Private Security Sessions .............................................................................................................. 8 2.4.2 Static Shared Security Session ...................................................................................................................... 8
3 RADIUS CLIENT ........................................................................................................................................................ 9
3.1 Operator AA........................................................................................................................................................ 9
3.2 Viper SC/SC+ device AA .................................................................................................................................... 9
4 Base Station IPSEC Agent ........................................................................................................................................ 10
4.1 Security Services ............................................................................................................................................... 10
5 Security Policy ........................................................................................................................................................... 11
5.1 Identification and Authentication Policy ........................................................................................................ 11 5.1.1 Password Strength Rules ............................................................................................................................ 11
5.2 Access Control Policy ....................................................................................................................................... 12 5.2.1 User Access to VPN Module Services ........................................................................................................ 12 5.2.2 VPN Service Access to Data....................................................................................................................... 12 5.2.3 Access Control Methods – Operator ........................................................................................................... 14 5.2.4 Access Control Methods – Viper SC/SC+ Device as a VPN client ............................................................ 15 5.2.5 Access Control Methods – Viper SC/SC+ Device as a VPN server ........................................................... 15
5.3 Cryptographic Material Management Policy ................................................................................................. 16 5.3.1 Fault Tolerance ........................................................................................................................................... 16 5.3.2 Disposal ...................................................................................................................................................... 16
5.4 Physical Security Policy.................................................................................................................................... 16 5.4.1 Firmware security ....................................................................................................................................... 16
5.5 Mitigation of Other Attacks Policy ................................................................................................................. 16
5.6 Traffic Type Security Classification Policy .................................................................................................... 17
5.7 Security Log Information ................................................................................................................................. 18 5.7.1 RAM-Only Internal Log ............................................................................................................................. 18 5.7.2 SNMP Traps ............................................................................................................................................... 18
6 Non-Cryptographic Module Attack Mitigation ......................................................................................................... 21
6.1 Proprietary Airlink ........................................................................................................................................... 21
7 DEFINITIONS .......................................................................................................................................................... 22
009-0000-508 Rev C Page 6
1 DOCUMENT OVERVIEW
This document constitutes the non-proprietary Security Policy for the CalAmp Viper SC/SC+
Narrowband IP Router. The Viper SC/SC+ uses the CalAmp Secure Communications Platform,
which includes a CalAmp Cryptographic Module designed to meet the requirements set forth in
the NIST FIPS 140-2 standard, a Radius authentication client, the VPN Module for secure
firewall-friendly communications, and strong password verification.
This security policy describes the characteristics of the CalAmp Secure Communications
Platform used in the Viper SC/SC+ and provides information on how to configure and deploy
Viper SC/SC+s in order to maximize the effectiveness of the security features.
For specific details on how to configure the various Viper SC/SC+ security controls, please refer
to the Viper SC/SC+ user manual (P/N 001-5008-000).
1.1 AUDIENCE
This document can be used as a technical reference for developers using, and system
administrators installing, the CalAmp Viper SC/SC+ Narrowband IP Router, for use in risk
assessment reviews by security auditors and as a summary and overview for program
managers.
009-0000-508 Rev C Page 7
2 CALAMP CRYPTOGRAPHIC MODULE
2.1 OVERVIEW
The CalAmp Cryptographic Module is a binary firmware module separate from the rest of the
CalAmp Secure Communications Platform and is designed for compliance with NIST FIPS 140-2.
Consequently, the Cryptographic Module:
Only supports FIPS 140-2 approved cryptographic algorithms
Is designed to provide the FIPS 140-2 definition for “cryptographic boundary”
2.2 OPERATING ENVIRONMENT
The CalAmp Cryptographic Module is designed to provide a generic cryptographic service for
use by a security application. In the context of the CalAmp Secure Communications Platform,
the security application is the VPN Module embedded within the product application firmware.
The VPN Module provides secure data communications within a network bounded only by
CalAmp products (i.e. a network which can only be accessed from external networks via a
CalAmp VPN-enabled product).
2.3 SECURITY SERVICES
The CalAmp Cryptographic Module provides the following security services:
1. Protection of user-supplied critical parameters:
a. Master Security Key (MSK)
b. Crypto Officer Password (COP)
2. Protection of CM integrity via startup and periodic self-test
3. Authentication of users with access to sensitive CM data including:
a. The Crypto Officer (CO)
b. The VPN
c. The CM itself
4. Cryptographic services:
a. NIST FIPS 197, Symmetric block ciphers (encryption/decryption):
i. AES-CBC 128-, 192-, and 256-bits
ii. AES-ECB 128-bits
iii. AES-ECB “Key Wrap” 128-bits
b. NIST SP 800-90, Random Number Generator (RNG): provides highly-random
128-, 192-, and 256-bit cipher keys, and the 128-bit block cipher Initialization
Vectors (IV) used in AES-CBC mode
c. Authentication:
i. NIST FIPS 180, SHA 224-, 256-, 384-, and 512-bits
ii. NIST FIPS 198, HMAC/SHA with any length key for the block sizes in (i)
In accordance with the FIPS 140 cryptographic boundary for a loadable firmware module as set
forth in this document, the CM also includes mutual-authentication of itself and the VPN via
HMAC/SHA-256 firmware signatures, as well as full self-test capability.
009-0000-508 Rev C Page 8
2.4 SECURITY SESSION TYPES
The CalAmp VPN Module offers VPN tunnels in the form of ‘security sessions’. The following
security session types are based on the GRE transport mechanism. GRE was selected over
IPSEC for its transparency to NAT and firewalls and for its distinctive IP signature that simplifies
packet handling.
Consult section 5.6 of the security policy for usage details.
2.4.1 Dynamic Private Security Sessions
These security sessions use a periodic key exchange mechanism between each session endpoint
using a key derived from the master security key to update encryption keys at preset intervals,
resulting in increased security compared to a shared security session. Traffic continues to flow
securely even while these security sessions rekey. The resulting encryption keys are private to
each session.
This type of security session is required to secure sensitive application traffic for U.S. DOC/NIST
FIPS-140 compliance.
2.4.2 Static Shared Security Session
This security session (a single one per Viper SC/SC+/SC+) uses a static key derived from the
master security key. The key used in this session is not automatically updated, allowing secure
transmission of point-to-multipoint (e.g. multicast and broadcast) packets. The shared security
session is therefore “always up”; this property renders it useful for VPN device-management
traffic. The resulting encryption keys are shared by every Viper SC/SC+ using the same master
security key.
This type of security session is not recommended for use for sensitive application traffic since it
does not comply with the U.S. DOC/NIST FIPS-140 standard, and should only be used for non-
sensitive traffic and/or if existing network infrastructure limitations prevent the use of Dynamic
Security Sessions for application traffic.
009-0000-508 Rev C Page 9
3 RADIUS CLIENT
The CalAmp Secure Communications Platform used in the Viper SC/SC+ contains a Radius
client for increased security. This client can be used for two purposes: operator authentication
and authorization, as well as Viper SC/SC+ device authentication and authorization. Note that
“Over the Air” Radius exchanges are encrypted whenever the VPN Module is active. See section
5.6 for details.
3.1 OPERATOR AA
The Viper SC/SC+ Radius client communicates with a Radius server to control access to an
operator attempting to open a Viper SC/SC+ management session via Telnet, SSH, HTTP,
HTTPs or FTP. The username and passwords are supplied by the operator during the login
attempt.
For details please refer to section 5.2.2
3.2 VIPER SC/SC+ DEVICE AA
The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the radio
network. The device uses its Ethernet interface MAC address as a username:password pair.
For details please refer to sections 5.2.3.1 and 5.2.5
009-0000-508 Rev C Page 10
4 Base Station IPSEC Agent
The CalAmp Cryptographic Module covered in section 2 secures the RF link between Viper
radios; it is not used in securing communications between Viper radios and 3rd party
equipment.
Security of the link between the Viper SC/SC+ Base Station and backhauled hosts (such as
those located in a Network Operations Center) is achieved through the use of the Viper SC/SC+
Base Station Controller IPSEC VPN agent, by having the agent connect to a suitable backhauled
3rd-party IPSEC server.
The Viper SC/SC+ Base Station Controller IPSEC VPN agent and its underlying cryptographic
resources are distinct from the CalAmp Cryptographic Module. As well, configuration &
management of the Viper SC/SC+ Base Station Controller IPSEC VPN agent is accomplished via
controls separate from those used to configure and manage the CalAmp Cryptographic Module.
4.1 SECURITY SERVICES
The Viper SC/SC+ Base Station Controller IPSEC VPN agent provides the following security
services
Service Implementation
Key Management Pre-shared key
Key Exchange IKEV1
IKEV2
IKEV2 with Mobike extension
Phase 1 Encryption AES-GCM 128
AES-GCM 256
Phase 1 Authentication MD5
SHA1
Phase 1 DH Group Group 1
Group 2
Group 5
Group 14
Phase 2 Encryption AES-GCM 128
AES-GCM 256
Phase 2 Authentication MD5
SHA1
Phase 2 DH Group Group 1
Group 2
Group 5
Group 14
009-0000-508 Rev C Page 11
5 Security Policy
This section provides a narrative description of the security policy enforced by the
Cryptographic Module in its most general form. It is intended both to state the security policy
enforced by the module and to provide the reader with an overall understanding of the security
behavior of the module.
The security behavior of the Cryptographic Module is governed by the following security
policies:
1. Identification and Authentication Policy
2. Access Control Policy
3. Cryptographic Material Management Policy
4. Physical Security Policy
5. Mitigation of Other Attacks Policy
6. Traffic Type Security Classification Policy
7. Security Log Information
These policies complement each other to provide assurance that cryptographic material is
securely managed throughout its life cycle and that access to other data and functions provided
by the product is properly controlled.
5.1 IDENTIFICATION AND AUTHENTICATION POLICY
The users of the CalAmp Cryptographic Module include the following:
Role Authentication Type Authentication Data
VPN Module Role-based HMAC/SHA-256 signature
Product
Maintainer
Role-based Maintenance login: password strength
rules as per 5.1.1.1
Crypto Officer Role-based Maintenance login + CO login: password,
6-second retry delay, strength rules as
per 5.1.1.1
5.1.1 Password Strength Rules
5.1.1.1 Viper SC/SC+-enforced rules
The Viper SC/SC+ enforces the following password strength rules:
Rule Viper SC/SC+ local password enforcement
1. Length Must be at least 8 characters long
2. Uppercase alphabetic
character
Includes uppercase characters (ASCII codes 0x41
to 0x5a)
3. Lowercase alphabetic
character
Includes lowercase characters (ASCII codes 0x61 to
0x7a)
4. Numeric character Includes numeric characters (ASCII codes 0x30 to
0x39)
5. Special character Includes special characters from this list: # ASCII: 0x23
$ ASCII: 0x24
% ASCII: 0x25
& ASCII: 0x26
009-0000-508 Rev C Page 12
( ASCII: 0x28
) ASCII: 0x29
* ASCII: 0x2a
- ASCII: 0x2d
= ASCII: 0x3d
@ ASCII: 0x40
[ ASCII: 0x5b
^ ASCII: 0x5e
_ ASCII: 0x5f
A password must always comply with rule 1, and contain at least three of the elements
described by rules 2,3,4,5.
5.1.1.2 Radius Server Password Rules
When a Radius server is used for centralized Viper SC/SC+ user authentication, the password
strength rules set forth in section 5.1.1.1 shall be enforced on said passwords in order to
comply with this security policy.
5.1.1.3 Ancillary Equipment Password Rules
The Viper SC/SC+ security policy strongly recommends using the password strength rules set
forth in section 5.1.1.1 on all non-Viper SC/SC+ equipment connecting to Viper SC/SC+s.
5.2 ACCESS CONTROL POLICY
5.2.1 User Access to VPN Module Services
Note in the following: “VPN Module” refers to both the VPN and CM firmware, which have been
successfully authenticated by the CM. The VPN firmware is considered to be a user of the CM.
Role Authorized Services
Crypto Officer Configure the VPN Module
Crypto Officer Control the VPN Module, view audit log
Crypto Officer Generate random MSK (for manual entry)
Crypto Officer Wrap, unwrap configuration data
Maintainer Configure non-critical VPN settings
Maintainer View non-critical VPN Module configuration
Maintainer Control the VPN Module, control and view log
Maintainer VPN server: enable/disable VPN on client devices
VPN Load CM (includes CM + VPN authentication)
VPN VPN server: authenticate itself and its clients via Radius
VPN Generate random keys
VPN Encrypt, decrypt data
VPN Wrap, unwrap key-exchange data
5.2.2 VPN Service Access to Data
This section shows how data-access protection is implemented via Criticial Service Parameters
(CSPs) and the CM for various VPN module services.
Note: the CalAmp VPN Module supports many configuration options, however, only CSPs are
presented here.
Memory access codes:
R = Memory read access
009-0000-508 Rev C Page 13
W = Memory write access
X = Execute access
-- = No access
Services with ’#’ superscripts in the Service Access Rights table refer to notes following the
table. Details for each VPN service are provided in footnotes following the table.
VPN Service Critical Service Parameters
(CSPs)
Memory Access
RAM FLASH
Configuration1 Crypto Officer Password (COP)
128-, 192-, or 256-bit Master
Security Key (MSK)
W
W
W
W
Wrap, unwrap
configuration data2
AES 128-bit key hard-coded in CM
Device-unique data authentication
pattern
R
R
--
R
Load CM3 HMAC/SHA 256-bit key hard-coded
in CM firmware
HMAC/SHA-256 signatures hard-
coded in VPN and CM firmware
R
R
--
R
Generate random key4 256-, 384-, or 512-bit seed
128-, 192-, or 256-bit key
--
R/W
--
--
Encrypt, decrypt data5 AES 128-, 192-, or 256-bit key R --
Wrap, unwrap key
exchange data5
AES 128-bit MSK
Random authentication pattern
(unique per VPN tunnel)
R
R/W
R
--
Notes:
1. Configuration: the COP and MSK are stored encrypted in flash memory using the
configuration data wrap, unwrap service and require the user to login as the CO to have
write access
2. Wrap/unwrap configuration data: wrapped data is not portable to other devices
3. Load CM: done automatically by VPN module during system startup; the VPN module
provides its image-file name to the CM, which uses this and its hard-coded HMAC key to
authenticate the image file stored in flash; the CM’s image-file also contains an HMAC
signature for authenticating itself
4. Generate random key: the seed used by the CM random number key generator is built
by the CM using a proprietary hardware-based random bit source, is not accessible
outside the cryptographic boundary; the generated key can be entered as the MSK by a
user logged in as the CO
5. Each VPN security session tunnel uses a separate cipher context containing unique
random keys, changing any data in the cipher context created by the CM invalidates it
(the CM refuses to use it for AES encryption/decryption)
009-0000-508 Rev C Page 14
5.2.3 Access Control Methods – Operator
The operator can be authorized to access the Viper SC/SC+ configuration by the following
methods:
Authorization Method Description
Local Operator is authorized against a password stored locally in the
Viper SC/SC+’s FLASH.
Radius with Local fallback Operator is authorized via a username:password request to a
Radius server.
Upon Radius authorization failure (access timeout or access
refusal), the operator is authorized against a password stored
locally in the Viper SC/SC+ FLASH
Radius Only Operator is authorized via a username:password request to a
Radius server
5.2.3.1 Operator Access control / Software Interfaces Matrix
Depending on operator role and the software interface being used, only certain operator access
control methods are available.
Note that the crypto officer role login can only be requested after a successful login as a
Maintainer. Also note that the local Viper SC/SC+ Crypto Officer password is maintained
separately from that of the local Viper SC/SC+ Maintainer password (the two cannot be
identical).
Also note that the Crypto Officer role cannot be granted “Over the Air”. Login to the Crypto
Officer role can only be achieved locally, via the Viper SC/SC+ serial or unrouted Ethernet
ports.
SW Interface Local Radius with local fallback Radius Only
Command Shell (via serial port) CO,
Maintainer
Maintainer Maintainer
Command shell (via telnet IP
port 23)
CO,
Maintainer
Maintainer Maintainer
SSH (via port 22) CO,
Maintainer
Maintainer Maintainer
HTTP (via IP port 80) CO,
Maintainer
Maintainer Maintainer
HTTPs (via IP port 443) CO,
Maintainer
Maintainer Maintainer
SNMP (via IP port 161) Maintainer N/A N/A
FTP (via IP port 21) Maintainer Maintainer Maintainer
5.2.3.2 Backdoor Password
For RMA and field service purposes, a backdoor password exists that allows access to the
maintainer role via the local authorization method only. This password is fixed and different for
each Viper SC/SC+ unit. It is based on a one-way hash of the Viper SC/SC+ Ethernet MAC
address.
The hash key controlling the generation of the backdoor password exists only in two
applications: an internal Viper SC/SC+ application not operator-accessible (for backdoor
password validation) and a PC-based application for password generation based on the Viper
SC/SC+ MAC address.
009-0000-508 Rev C Page 15
The backdoor password itself is computed once at boot time and kept in Viper SC/SC+ RAM
only.
It is not kept in Viper SC/SC+ FLASH.
The backdoor password generator PC application is itself protected by a time-limited Sentinel
Hardware Key cryptographic device, without which the application will not run. The application
and the key are not distributed to non-CalAmp personnel. The Sentinel USB dongle expires
after a fixed period of time (nominally 3 months). The maintainer role backdoor password is not
categorized as a FIPS 140 Cryptographic Key or Critical Service Parameter since it does not give
access to the Crypto Officer role.
There is no backdoor password for the Crypto Officer role, however it can be zeroed (which also
zeroes the MSK). When zeroed, these parameters must be manually re-entered before the
Viper SC/SC+ can re-join the VPN.
5.2.4 Access Control Methods – Viper SC/SC+ Device as a VPN client
When configured as a VPN client (VPN-CLT), the Viper SC/SC+ device itself can be
authenticated and authorized to open a security session with a Viper SC/SC+ VPN server (VPN-
SRV) based on the following methods, allowing centralized access list / interdiction list
maintenance.
Authentication Method Description
Key exchange only Viper SC/SC+ VPN-CLT is authenticated by the Viper SC/SC+
VPN-SRV upon key exchange.
Viper SC/SC+ VPN-CLT is automatically authorized upon
successful authentication by the Viper SC/SC+ VPN-SRV.
Key exchange + Radius Viper SC/SC+ VPN-CLT is authenticated by the Viper SC/SC+
VPN-SRV upon key exchange.
Viper SC/SC+ VPN-CLT is authorized against
username:password request to a Radius server upon key
exchange, using the Viper SC/SC+ VPN-CLT Ethernet MAC
address as the radius username:password
5.2.5 Access Control Methods – Viper SC/SC+ Device as a VPN server
When configured as a VPN server, the Viper SC/SC+ device itself can be authenticated and
authorized to accept security session requests from Viper SC/SC+ VPN clients based on the
following methods, allowing centralized access list / interdiction list maintenance.
Authentication Method Description
Key exchange only Viper SC/SC+ VPN-SRV self-authenticates as per sections 5.3.1
and 5.4.1
Viper SC/SC+ VPN-SRV self-authorizes if self-authentication
succeeds.
Key exchange + Radius Viper SC/SC+ VPN-SRV self-authenticates as per section 5.3.1
and 5.4.1
Viper SC/SC+ VPN-SRV is authorized against
username:password request to a Radius server following its
self-authentication, using the Viper SC/SC+ VPN-SRV Ethernet
MAC address as the radius username:password
009-0000-508 Rev C Page 16
5.3 CRYPTOGRAPHIC MATERIAL MANAGEMENT POLICY
5.3.1 Fault Tolerance
Since cryptographic material is resident in volatile RAM, the CalAmp Cryptographic Module
employs mechanisms for detecting unauthorized changes to sensitive cryptographic materials.
The flash-based MSK is used for secure key-exchange, this key is held in RAM only in its
FLASH-storage (wrapped) form, and is unwrapped each time it is used. This provides both
corruption and tamper detection of the MSK. Detection of a corrupt MSK immediately disables
the CM and VPN, and the VPN Module enters an error state (cleared only by a successful self-
test, typically after a system restart).
The CalAmp VPN Module supports multiple security sessions (VPN tunnels) to remote endpoints.
The CM uses RAM-only keys, which are dynamically created for the VPN on a per-session basis.
These keys and their associated HMAC, AES, and RNG contexts are categorized as CSPs since
corruption of these items lead to significant interruption of secure communications.
The CM checks for corruption prior to each use of these RAM CSPs to pro-actively minimize the
delay incurred to detect the problem.
5.3.2 Disposal
All CSPs used by the CalAmp VPN Module (except the COP and the MSK) are zeroed whenever
the VPN is disabled. The VPN is automatically disabled whenever the Crypto Officer is logged
in; otherwise the Maintenance user can explicitly disable the VPN.
5.4 PHYSICAL SECURITY POLICY
5.4.1 Firmware security
The CalAmp VPN and Cryptographic (CM) Modules are separate firmware files that the
Maintenance user is authorized to update in flash memory. These files can be automatically
loaded into RAM and executed during system startup, or manually loaded by the Maintenance
user.
The CM employs file-based keyed-authentication to ensure the factory-built VPN and CM files
have not been modified in any way, and to verify that the VPN is authorized to use the CM. The
CM’s built-in authentication keys change with each major version number change, this forces
the Maintenance user to also provide a correspondingly updated VPN.
5.5 MITIGATION OF OTHER ATTACKS POLICY
As a consequence of the Cryptographic Material Management and Physical-Firmware Security
Policies above, the CalAmp Cryptographic Module is capable of mitigating other attacks as
summarized below.
Other Attacks Mitigation Mechanism Specific
Limitations
Hands-off tampering of CSPs
and CM in RAM1
(1) CM detection of corruption or
tampering of CSPs prior to each
use
(2) Periodic self-test
(1) None
(2) Relies on VPN
timer
009-0000-508 Rev C Page 17
Hands-off tampering of CSPs,
VPN and CM in FLASH1
CM authentication of binary CM
and VPN firmware files, COP and
MSK CSPs stored encrypted
None
Exploitation of Unnecessary
Services and Programs
Viper SC/SC+ is based on a
closed-source real-time operating
system with a monolithic VPN
Module image.
No unused device drivers, utilities,
diagnostics, network & system
management, configuration files
exist in the Viper SC/SC+.
For services originating from /
terminating in Viper SC/SC+, no
unused IP ports and protocols
exist in the Viper SC/SC+.
The CM image does not contain an
operating system, instead uses
basic system services provided
only by the VPN Module via a
proprietary binary interface.
None
Exploitation by Malware,
Viruses, etc.
Viper SC/SC+ is based on a
closed real-time operating system
with monolithic VPN Module image
and a separate Cryptographic
Module image.
Viper SC/SC+ code cannot be
modified by malware aimed at
commercial operating systems.
None
Notes:
1. Hands-off Tampering: use of external electromagnetic-, temperature-, or shock-induced
means to corrupt memory content
5.6 TRAFFIC TYPE SECURITY CLASSIFICATION POLICY
The Viper SC/SC+’s CalAmp Security Platform classifies the type of security session (SS) to use
for “Over The Air” traffic based on traffic type classifiers. This applies both to data originating
from a Viper SC/SC+ or simply being forwarded by a Viper SC/SC+.
Generic Traffic Type Dynamic SS Shared SS Not
encrypted
Generic IP Unicast Traffic X --- X1
Generic IP Multicast Traffic --- X X1
Generic IP Directed Broadcast Traffic --- X X1
Generic IP Limited Broadcast Traffic --- X X1
Management Traffic Type Dynamic SS Shared SS Not
encrypted
Telnet traffic (IP port 23) X --- ---
SSH traffic (IP port 22) X --- ---
FTP traffic (IP port 21) X --- ---
009-0000-508 Rev C Page 18
HTTP traffic (IP port 80) X --- ---
HTTPs traffic (IP port 443) X --- ---
SNMP get/set traffic (IP port 161) X --- ---
SNMP traps (IP port 162) X --- ---
Operator Radius exchanges (IP port 1812) --- X3 ---
Viper SC/SC+ Device Radius exchanges (IP port
1812)
X4 --- ---
Notes:
1. Default behavior is to drop all traffic not meeting the SS-transmit filters. However, the
CO can configure the Viper SC/SC+ to transmit the traffic not meeting the SS-transmit
filters without encrypting it.
2. The CalAmp Security Platform will eventually distinguish between management traffic
terminating at (or originating from) the Viper SC/SC+ from management traffic simply
being forwarded by the Viper SC/SC+. The former will be carried by Static SS, while the
later will be carried by Dynamic SS.
3. For a Viper SC/SC+ acting as a VPN client, over-the-air Viper SC/SC+ Maintainer role
login exchanges with a Radius server (via the Viper SC/SC+ VPN server) are sent via the
Static SS.
4. For a Viper SC/SC+ acting as a VPN client, the Viper SC/SC+ device authentication
credentials (e.g., its Ethernet MAC address) are submitted in encrypted form to the
Viper SC/SC+ VPN server as part of key exchange. The Viper SC/SC+ VPN server then
decrypts the MAC address thus received and proxies the Radius authentication request
on behalf of the Viper SC/SC+ VPN client.
5.7 SECURITY LOG INFORMATION
The Viper SC/SC+’s CalAmp Secure Communications Platform maintains Cryptographic and VPN
Module log information in two ways: a RAM-only internal log and SNMP traps.
5.7.1 RAM-Only Internal Log
The following events are tallied in the circular internal RAM-only log:
VPN Module fatal errors, non-fatal errors, informational
Cryptographic Module fatal errors, non-fatal errors, informational
VPN Module server status/discovery protocol traces;
key exchange protocol traces; packet switch traces
These logs are currently only accessible to authorized CalAmp Service Personnel.
5.7.2 SNMP Traps
The following Viper SC/SC+ MIB traps are triggered by specific security-related events and can
be monitored according to the Viper SC/SC+ SNMP guidelines found in the user manual (P/N
001-5008-000).
Trap Description
ViperSecureCryptoFault Trap generated as a result of a Crypto Fault. See
ViperSecureCryptoFaultLastMsg for reason
ViperSecureCryptoWarning Trap generated as a result of a Crypto Warning. See
ViperSecureCryptoWarningLastMsg for reason
009-0000-508 Rev C Page 19
ViperVPNFault Trap generated as a result of a VPN Fault. See
ViperVPNFaultLastMsg for reason
ViperVPNWarning Trap generated as a result of a VPN Warning. See
ViperVPNWarningLastMsg for reason
5.7.2.1 Cryptographic Module Faults
Trap Reason Occurs at Actions Description
load error system
start
logged1
Cryptographic Module not found, or
tampered/corrupted
version mismatch
error
system
start
logged1
Cryptographic Module incompatible with VPN
Module
initialization error system
start
logged1
Fatal initialization error due to incompatible VPN
Module
self-test error system
start
logged1
reset2
Fatal error due to memory corruption, or
external random bit-source failure
- probably recoverable with device reset
signature error system
start
logged1
Firmware containing VPN Module has been
tampered/corrupted
internal error any time logged1
reset2
Fatal error due to memory corruption
- probably recoverable with device reset 1 trap details logged in flight recorder 2 device self-resets after 5 minutes unless VPN disabled, or VPN login done
5.7.2.2 VPN Module Faults
Trap Reason Occurs at Actions Description
initialization error system
start
logged1
Configuration or system error detected during
system start
server
authentication error
VPN
enable
logged1
On access points (VPN servers) only:
- prevents VPN server from starting
- VPN auto-start will retry
client
authentication error
any time logged1
On access points (VPN servers) only:
- remote (VPN client) retries, and with a
different server if it is configured with
more than one
internal error any time logged1
reset2
Fatal error, most likely due to memory corruption
- probably recoverable with device reset 1 trap details logged in flight recorder 2 device self-resets after 5 minutes unless VPN disabled, or VPN login done
5.7.2.3 VPN Module Warnings
Trap Reason Occurs at Actions Description
start error VPN
enable
logged1
Configuration or system error detected during
VPN enable
service disabled VPN
disable
VPN
logout
logged1
Reported once, after 1 minute:
- after system start (auto-start disabled)
- after VPN logout (manual VPN enable not
done)
super-user login
error
any time logged1
VPN login attempted with wrong password
authentication
timeout
any time logged1
Logged by access points (VPN servers) only:
- server device self-authentication: at VPN
enable
009-0000-508 Rev C Page 20
- client device authentication: at any time 1 trap details logged in flight recorder
009-0000-508 Rev C Page 21
6 Non-Cryptographic Module Attack Mitigation
Independently of the CalAmp Cryptographic Module's Crypto Material Management and
Physical-Firmware Security Policies, the Viper SC/SC+ provides the following security attack
mitigation features.
6.1 PROPRIETARY AIRLINK
The Physical Layer (PHY), Media Access Control (MAC) and Logical Link Control (LLC) of the
Viper SC/SC+ Airlink rely on proprietary, undisclosed frame formats and algorithms.
An attacker wanting to gain access to the Airlink data packets cannot reconstruct the
raw data stream by relying on third party RF monitoring equipment.
An attacker wanting to gain access to the Airlink data packets by using a rogue or
otherwise compromised Viper SC/SC+ unit cannot gain access to the raw data stream
not intended for that specific Viper unit without prior knowledge of the proprietary trade
secrets surrounding the PHY, MAC and LLC elements of the Viper SC/SC+ Airlink.
009-0000-508 Rev C Page 22
7 DEFINITIONS
AA. Authentication & Authorization, services provided by a Radius server. AES. Advanced Encryption Standard (a cipher used for data encryption)
AES-CBC. AES Cipher Block Chaining mode AES-ECB. AES Electronic Code Book mode CM. Cryptographic Module
CO. Crypto Officer. Authorized updater of the CM and VPN configuration
COP. Crypto Officer login password CSE. Communications Security Establishment (Canadian Government version of NIST)
FIPS. Federal Information Processing Standard GRE. Generic Router Encapsulation HMAC. Hashed Message Authentication Code
(for keyed authentication) IPSEC. Internet Protocol Security. IV. Initial Vector (for AES-CBC)
KEYX. Key Exchange
MSK. Master Security Key (for key exchange) NIST. National Institute of Standards and Technology, http://csrc.nist.gov/
PM. Product Maintainer. Authorized updater and operator of the CM and VPN firmware RADIUS. Remote Authentication Dial In User Service (RADIUS) is a networking protocol that
provides centralized Authentication, Authorization, and Accounting (AAA) network management service. RNG. Random Number Generator (highly-random cipher keys and IVs)
SCP. Security Control Protocol, a VPN subcomponent
SHA. Secure Hash Algorithm (for authentication) SS. Security Session, a VPN tunnel between two security endpoints.
SSM. Session State Manager, a VPN subcomponent. SSN. Secured-Services Network. An untrusted network traversed by VPN tunnels
TSN. Trusted-Services Network. A trusted network not traversed by VPN tunnels VPN. Virtual Private Network. A secure virtual network built on top of a non-secure physical
network. The Viper SC/SC+ VPN module is the
user of the CM. VPN-CLT. VPN client, requesting security services from a VPN server VPN-SRV. VPN server, providing security services to VPN clients.
009-0000-508 Rev C Page 23
About CalAmp
CalAmp develops and markets wireless communications solutions that deliver data connectivity
services for critical networked communications and other applications. The Company's two
business segments are Wireless DataCom, which serves utility, enterprise and governmental
customers, and Satellite, which focuses on the North American Direct Broadcast Satellite
market. For more information, please visit www.calamp.com.