Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper...

23
Viper SC™ and Viper SC+™ Narrowband IP Router Non-Proprietary Security Policy PN 009-0000-508 Rev C June 2017

Transcript of Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper...

Page 1: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

Viper SC™ and Viper SC+™ Narrowband IP Router Non-Proprietary Security Policy PN 009-0000-508 Rev C June 2017

Page 2: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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

Page 3: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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

Page 4: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the
Page 5: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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

Page 6: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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.

Page 7: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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.

Page 8: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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.

Page 9: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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

Page 10: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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

Page 11: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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

Page 12: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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

Page 13: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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)

Page 14: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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.

Page 15: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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

Page 16: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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

Page 17: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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 --- ---

Page 18: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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

Page 19: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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

Page 20: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

009-0000-508 Rev C Page 20

- client device authentication: at any time 1 trap details logged in flight recorder

Page 21: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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.

Page 22: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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.

Page 23: Viper SC and Viper SC+™ - CalAmphelp.calamp.com/files/references/appnotes/vipersc... · The Viper SC/SC+ device itself communicates with a Radius server to obtain access to the

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.