S1097-25 IJ25 SECURITY POLICY Compiled By: W. HERRING PRINCIPAL ELECTRONICS DESIGN ENGINEER This document may be reproduced or transmitted only in its entirety without revision. Issue D ­ 20.12.2000 S1097-25 CONTENTS 1. Introduction...................................................................................................................1 1.1 Scope ................................................................................................................1 1.2 References .......................................................................................................1 1.3 Glossary of Names and Acronyms...............................................................2 2. Security Level ..............................................................................................................2 3. SMM Overview ............................................................................................................2 3.1 I/O Ports ............................................................................................................3 3.1.1 General Port.........................................................................................3 3.1.2 Modem port ..........................................................................................3 3.1.3 User Interface (UI) Port ......................................................................3 3.1.4 Print Mechanism Control Port ...........................................................3 3.1.5 Print Mechanism Status Port.............................................................3 3.1.6 Power Supply Port ..............................................................................4 3.2 Life Cycle States ..............................................................................................4 4. Roles and Services .....................................................................................................4 4.1 Neopost Administrator ....................................................................................5 4.1.1 Commission Service...........................................................................5 4.1.2 Tamper Arm Service...........................................................................5 4.1.3 Zeroise Private Key Service..............................................................6 4.1.4 Customer Enable Service..................................................................6 4.1.5 Postal Administration Service............................................................6 4.1.6 Customer Disable Service .................................................................7 4.2 Customer ..........................................................................................................7 4.2.1 Postal Indicium Service......................................................................7 4.2.2 Postal Administration Request Service............................................7 4.2.3 General Postal Service.......................................................................7 5. Security Rules ..............................................................................................................8 5.1 Authentication Rules .......................................................................................8 5.2 Key Generation................................................................................................8 5.3 Conditional Self Test Rules ...........................................................................8 5.4 Power Up Self Test Rules ..............................................................................9 5.5 SRDI storage..................................................................................................10 5.6 Tamper Response.........................................................................................10 5.7 Software..........................................................................................................10 5.8 Status Indication ............................................................................................ 11 6. Definition of Security Related Data Items (SRDI) ................................................ 12 7. Definition of SRDI Modes of Access ......................................................................13 Appendix 1..............................................................................................................................14 Appendix 2..............................................................................................................................15 Appendix 3..............................................................................................................................16 Appendix 4..............................................................................................................................17 Issue D ­ 20.12.2000 S1097-25 IJ25 SECURITY POLICY 1. INTRODUCTION The IJ25 Secure Metering Module (SMM) is a unit embedded within the Neopost IJ25 postal franking machine. Integrated within the SMM are a cryptographic sub module and postal services sub module. The postal services relate to the ultimate objective of the SMM which is to store postage credit belonging to a customer until it is needed by the indicium dispensing system of the franking machine. The indicia are dispensed in the form of a digitally signed image. This image is a unique bit pattern that can be determined to have originated from a particular SMM at a particular point in time. The cryptographic functions are used to restrict access to postal services and to authenticate where necessary postal service output. 1.1 SCOPE This document contains a statement of the security rules under which the SMM must operate. A number of these rules are wholly or partially a consequence of the general franking machine environment in which the SMM is intended to be placed and for this reason a brief description of this environment is included. 1.2 REFERENCES 1.2.1 Information Based Indicia Program (IBIP), Performance Criteria for Information Based Indicia and Security Architecture for IBI Postage Metering Systems (PCIBISAIBIPMS), The United States Postal Service (USPS), Draft August 19, 1998 (document number unknown). 1.2.2 Security Requirements for Cryptographic Modules, Federal Information Processing Standards Publication 140-1 1.2.3 Digital Signature Standard (DSS), Federal Information Processing Standards Publication 186-2 1.2.4 Secure Hash Standard, Federal Information Processing Standards Publication 180-1 1 Issue D ­ 20.12.2000 S1097-25 1.3 GLOSSARY OF NAMES AND ACRONYMS SMM Secure Metering Module SRDI Security Related Data Item NVEM Non Volatile Electronic Memory DSA Digital Signature Algorithm (Reference 3) SHA-1 Secure Hash Algorithm (reference ) X DSA private key Y DSA public key P DSA common parameter P Q DSA common parameter Q G DSA common parameter G I/O Input / Output USPS United States Postal Service (reference 1) 2. SECURITY LEVEL The SMM is a multiple chip, embedded, cryptographic module as defined in reference (2). The SMM shall meet the overall requirements for Level 3 security as defined in reference (2). The following table shows the security level requirement, as defined in reference (2), for each area of the SMM: - Level Cryptographic Module 3 Module Interfaces 3 Roles & Services 3 Finite State Machine 3 Physical Security 3 Software Security 3 Operating System Security N/A Key Management 3 Cryptographic Algorithms 3 EMI/EMC 3 Self Tests 3 NA = not applicable 3. SMM OVERVIEW The SMM consists of a cryptographic sub module and postal services sub module sharing common hardware that is contained on a printed circuit board and enclosed within a tamper responsive enclosure. This enclosure constitutes the cryptographic physical boundary. The SMM contains dual redundant non-volatile electronic memories which enables both security-related data items and postal related data items to be stored in duplicate if required. Duplicate storage is typically used to increase MTBF. 2 Issue D ­ 20.12.2000 S1097-25 The SMM will input and output authenticated data that requires the services of the cryptographic sub module and also non authenticated data that has no security implications and can pass freely across the cryptographic physical boundary. The latter relates to non (cryptographic) security critical postal functions. These functions are those required by the USPS as specified in reference (1) and are postal critical. 3.1 I/O PORTS A number of data channels extend outside the enclosure. These are described in the following with respect to their use inside the SMM up to the point at which they enter/exit the physical enclosure. However for convenience of reference they are named according to their use externally to the SMM: - 3.1.1 General Port This is a serial communication port. Both authenticated and non- authenticated data will be input/output through this port. This port is so named as externally to the SMM its normal purpose is to interface to general peripherals via an RS232 link. 3.1.2 Modem port This is a serial communication port whose operation and role is the same as that described for the general port. This port is so named as externally to the SMM its normal purpose is to interface via a Modem. 3.1.3 User Interface (UI) Port This is a serial communication port whose operation and role is the same as that described for the General port. This port is so named as externally to the SMM its normal purpose is to link to a user interface unit that comprises keyboard, display and memory card reader. 3.1.4 Print Mechanism Control Port This is an output only data channel whose only function is to output authenticated postal indicium. 3.1.5 Print Mechanism Status Port This is an input only data channel. No authenticated data is received via this channel. The channel inputs only non-security critical indicium dispensing progress data. 3 Issue D ­ 20.12.2000 S1097-25 3.1.6 Power Supply Port This is an input only port which provides for the supply of power to the module firmware. 3.2 LIFE CYCLE STATES The SMM assumes one of four main overall states during its life cycle. These states are relevant to the accessibility of cryptographic services. The states are: - Not Commissioned · This is the default at manufacture. The SMM does not contain the cryptographic parameters necessary to support interaction with the Neopost Postal Administration Infrastructure. A factory initialisation is required. Commissioned · The SMM contains the cryptographic parameters necessary to support interaction with the Neopost Postal Administration Infrastructure but has not yet been registered with this infrastructure. Customer Enabled · The SMM is registered with the Neopost Postal Administration Infrastructure and will perform postal functions. Customer disabled · The SMM is de registered from the Neopost Postal Administration Infrastructure and will not perform postal functions. It cannot be re commissioned until it has undergone a factory initialisation, which will reconfigure the contents of the SMM system memory. 4. ROLES AND SERVICES The SMM shall support two distinct operators. The SMM shall enforce separation of entities using identity based authentication and by restricting the services available to each entity. Also some services are state dependent. The allowable operators are the Neopost Administrator and the Customer: - The Neopost Administrator incorporates both the Crypto officer and User roles referred to in Reference 2. For identity based authentication the ID must first have been selected and then all input data must be accompanied by a cryptographic signature, which is derived from the input data, and from cryptographic parameters unique to that entity. The cryptographic parameters used must already be present in the SMM. For the Administrator the cryptographic parameters must be input subsequent to manufacture. 4 Issue D ­ 20.12.2000 S1097-25 Where services have a state dependency then the SMM must be first placed into an appropriate life cycle state. The entities are authenticated with respect to state as shown in Appendix 1. The relationship between SMM services and authenticated entities are summarised in Appendix 2. The relationship between SMM services and state is summarised in Appendix 3. 4.1 NEOPOST ADMINISTRATOR The Neopost Administrator shall provide the services required to commission and maintain the cryptographic parameters within the SMM. These parameters are necessary for interaction with the Neopost metering infrastructure. The Neopost Administrator shall also provide those services necessary to control, sustain, and monitor the postal operation of an SMM. These shall require the identity of the operator to be provided and authenticated. The Neopost Administration services are:- 4.1.1 Commission Service This service will carry out the following: - · Input a non authenticated message containing a Neopost X509 certificate which will include the public key (Y) and DSA common parameters (PQG) corresponding to the Administrator. · Verify that the SMM is in the appropriate state for acceptance of a `Commission' service request (Appendix 1). · Extract and store the PQGY values. · Generate and store a new SMM public (Y) key based upon the newly input PQG and the SMM private key. · Authenticate and output a message containing the SMM public key (Y). · Set the SMM state to `Commissioned' so as to enable the Administrator. 4.1.2 Tamper Arm Service This service will carry out the following: - 5 Issue D ­ 20.12.2000 S1097-25 · Input an non-authenticated message containing a temporary private key (X) value. · Verify that the SMM is in the appropriate state for acceptance of a `Tamper Arm' service request. This state is defined by there being a zero or invalid value currently stored in the private key (X) SRDI. This has the effect of allowing a `one time' only execution of the `Tamper Arm' service. · Extract and store the private (X) value. The presence or otherwise of this value provides temporary tamper detection before the `Commission' service is carried out. 4.1.3 Zeroise Private Key Service This service will carry out the following: - · Input an non-authenticated message containing a request to zero the current private key. · Verify that the SMM is in the appropriate state for acceptance of a `Commission' service request (Appendix 3). · Zero the private key SRDI. 4.1.4 Customer Enable Service This service will: - · Input an authenticated message containing postal critical data items, plus an X509 Certificate containing a certified SMM public key. · Verify the authentication. · Verify that the SMM is in the appropriate state for acceptance of a `Customer Enable' service request. · Extract and store the postal data items. · Extract and store the X509 SMM public key Certificate. · Set the SMM state `Customer Enabled' thereby inhibiting further access to the Manufacturing role services, but enabling subsequent access to the remaining Administrator services and certain postal critical Customer services. 4.1.5 Postal Administration Service This service will: - 6 Issue D ­ 20.12.2000 S1097-25 · Input an authenticated message containing a postal function command and optionally accompanied by postal critical data items required by the function. · Verify the authentication. · Verify that the SMM is in the appropriate state for acceptance of a `Postal Admin' service request. · Perform the specified postal function using the optionally provided postal data as required. 4.1.6 Customer Disable Service This service will: - · Input an authenticated message requesting that the SMM set itself to the `Customer Disabled' state. · Verify the authentication. · Verify that the SMM is in the appropriate state for acceptance of a `Customer Disable' service request. · Authenticate and output a message containing specific postal critical data items required by Neopost before an SMM is disabled. · Set the SMM state `Customer Disabled' thereby inhibiting further access to the Administrator services and certain postal critical customer role services. 4.2 CUSTOMER These services are available on behalf of the Neopost Administrator. They all require the SMM to be in an appropriate state. The services are: - 4.2.1 Postal Indicium Service · This service requests printing of a postal indicium. 4.2.2 Postal Administration Request Service · This service requests that the Neopost Administrator authenticate to the meter and perform appropriate authenticated operations. 4.2.3 General Postal Service This service requests status output. 7 Issue D ­ 20.12.2000 S1097-25 5. SECURITY RULES Rule statements are shown in italics. Other information is included for background purposes only. 5.1 AUTHENTICATION RULES 5.1.1 The SMM shall provide two distinct operators, the Neopost Administrator and the Customer. 5.1.2 The SMM shall provide identity based authentication. 5.1.3 Signatures shall be 40 byte codes derived using the DSA algorithm, as described in reference 3, using 1024 bit common parameters (PQG). Random number generation employed by the DSA shall be according to section 3.2 and 3.3 of reference (3) 5.1.4 The cryptographic parameters (PQGY) for each identity authenticated shall be independent and shall be stored in predetermined fixed locations within the SMM. These shall be able to be super-seeded by subsequent input values if required. The parameters for the Administrator must be input after manufacture. 5.1.5 The SMM shall authenticate exported data with 40 byte codes derived using the DSA algorithm, as described in reference 3, using 1024 bit common parameters (PQG). Random number generation employed by the DSA shall be according to section 3.2 and 3.3 of reference (3) 5.2 KEY GENERATION 5.2.1 The SMM DSA Private key shall be generated according section 3.1 and 3.3 of reference (3). 5.2.2 The SMM DSA public key corresponding to its the private key shall be calculated according to the relationship for derivation of a DSA public key defined in reference 3. 5.2.3 During private/public key pair generation data output from the SMM shall be inhibited. 5.3 CONDITIONAL SELF TEST RULES 5.3.1 The SMM shall default to the `Not Commissioned' state if it does not possess a valid private/public key pair. The validity of a key pair shall be determined by a pair wise consistency check, i.e. the calculation and verification of a signature. This check shall be performed at the generation of each new key pair and at power up. 8 Issue D ­ 20.12.2000 S1097-25 5.3.2 For both the private key and signature random number generators, the SMM shall perform the continuous random number generator test, as defined in reference 2 for conditional self tests, for every number generated and inhibit if its random number generator fails to a constant value. 5.3.3 For both the private key and signature random number generators, the SMM shall perform the statistical tests for randomness as defined by reference (2) upon demand. The SMM shall inhibit if the test fails. For the signature random number generator, this will be whenever the module is asked to initialise itself (i.e. at power up or error reset). For the private key random number generator, this will be when the module is requested to generate a private key. 5.4 POWER UP SELF TEST RULES 5.4. 1 The SMM shall test the operation of Ram areas used for secure operations at pow up. The SMM shall inhibit if the test fails. er 5.4.2 The SMM shall test the contents of it's program memory area at power up by calculating the 16 bit checksum (sum of bytes) of the contents and comparing the result with a known answer. The SMM shall inhibit if the test fails. 5.4.3 The SMM shall test the accessibility and validity of all SRDI values in NVEM at power up. If any are not accessible (i.e. device failure) or contain erroneous data then the SMM shall inhibit. 5.4.4 The SMM shall test the DSA algorithm at power up by performing a known answer test for both signing and verification using predetermined data embedded into the SMM firmware. Testing of the secure hash algorithm (SHA-1) shall be inclusive within the DSA test. The SMM shall inhibit if the test fails. 9 Issue D ­ 20.12.2000 S1097-25 5.5 SRDI STORAGE 5.5.1 The SMM shall detect data corruption of the value held for any particular SRDI by the incorporation of error detection data. The probability of failing to detect an invalid SRDI by this method shall be less than 1:50000. The specified probability is also to be judged in the context that even if a data error was not detected then the resultant erroneous SRDI value should still be identified as erroneous via the self tests (see Continuous and Power Up Self Test sections). For example an erroneous public key would cause the pair wise consistency check to fail. 5.5.2 The SMM shall establish the validity of any SRDI before updating it with a new value. If erroneous the SMM shall abort the service process that caused the update to be required. A failure may be component failure. 5.5.3 Any access failure shall cause the SMM to inhibit. Exit from the inhibit condition shall require the SMM to re check access to, and the values of, all SRDI. 5.6 TAMPER RESPONSE 5.6.1 The DSA private key shall be erased should the SMM covers be removed. At the same time the SMM shall enter an inhibited state. 5.6.2 The DSA private key shall be erased if the temperature inside the SMM covers exceeds 77 degrees Centigrade. At the same time the SMM shall enter an inhibited state. 5.6.3 The private key shall not be exported under any circumstances. 5.7 SOFTWARE 5.7.1 The source for software contained in the firmware of the SMM shall be written in C high level language. Exceptions to this shall be the use of assembler level code to implement the following time critical functions: - -The multiply and modulus mathematical functions associated with the DSA algorithm (reference 3). 10 Issue D ­ 20.12.2000 S1097-25 5.8 STATUS INDICATION 5.8.1 The following `module not ready' module states shall be indicated: - · Private key zeroed · Private/Public key pair invalid (module not initialised) · Tamper mechanism tampered Indication will be via a unique text message output by the module suitable for viewing on an alphanumeric display device. The absence of one of these messages indicates that the module is in a `ready' state. 5.8.2 The following `module inhibited' error conditions shall be indicated: - · DSA error · RNG error · SRDI access/data error · Firmware / ram error Indication will be via a unique text message output by the module suitable for viewing on an alphanumeric display device. The absence of one of these messages indicates that the module does not have an error condition. 5.8.3 The module shall indicate the currently active role. Indication will be via a unique text message output by the module suitable for viewing on an alphanumeric display device. 11 Issue D ­ 20.12.2000 S1097-25 6. DEFINITION OF SECURITY RELATED DATA ITEMS (SRDI) The following table describes each SRDI maintained by the SMM: - SRDI NAME DESCRIPTION DSA random number seed Current status of random number Neopost Administration DSA public key Public key used for the verification of authenticated messages input from the Neopost Administration server. Neopost Administration DSA common P Common cryptographic DSA parameter (P) associated with the Neopost Administration services. Neopost Administration DSA common Q Common cryptographic DSA parameter (Q) associated with the Neopost Administration services. Neopost Administration DSA common G Common cryptographic DSA parameter (G) associated with the Neopost Administration services. Neopost Factory DSA public key Public key used for the verification of authenticated messages input from the Neopost Factory server. Neopost Factory DSA common P Common cryptographic DSA parameter (P) associated with the Neopost Factory services. Neopost Factory DSA common Q Common cryptographic DSA parameter (Q) associated with the Neopost Factory services. Neopost Factory DSA common G Common cryptographic DSA parameter (G) associated with the Neopost Factory services. Neopost Factory services transaction Neopost factory service transaction identifier code code. This is included in every input factory service message and is incremented after each factory service function so that each factory input message cannot be re used. SMM DSA private key The SMM private DSA key used to authenticate messages and data output from the SMM. SMM DSA public key DSA Public key of the SMM. Available to any operator with a need to verify authenticated data output by the SMM. SMM life cycle state Indicates the SMM life cycle state: - Not Commissioned Commissioned Customer Enabled Customer Disabled 12 Issue D ­ 20.12.2000 S1097-25 7. DEFINITION OF SRDI MODES OF ACCESS The section describes how SRDI are accessed by the services that can be activated by an operator. The modes of access are defined as follows: - r The data item will be read for internal use. e The data item will be read and exported. w The data item will be updated directly from an imported value. m The data item will be modified to a value created by an internal process. z The data item will be zeroed. s The data item will be initialised to a starting value created by an internal process. i The data item will be initialised to a benign value (typically zeroed). The following table(s) summarises the relationship between all SRDI maintained by the SMM and the services that access them: - Service Name 8 Zeroise Private Key Customer Disable Customer Enable Admin Request Postal Indicium General Postal Postal Admin Commission Tamper Arm Self Test Tamper SRDI Name 6 DSA random number seed s m m m Neopost Administration DSA public key w r r r Neopost Administration DSA common P w r r r r r r Neopost Administration DSA common Q w r r r r r r Neopost Administration DSA common G w r r r r r r Neopost Factory DSA public key Neopost Factory DSA common P Neopost Factory DSA common Q Neopost Factory DSA common G Neopost Factory services transaction code SMM DSA private key I s z r r z r SMM DSA public key s r SMM life cycle state m m r m r r 13 Issue D ­ 20.12.2000 S1097-25 APPENDIX 1 The following table summarises the services permitted by e ach of the SMM life cycle states: - 8 STATE8 Not Commissioned Customer Customer Commissioned Enabled Disabled ENTITY6 Administration 4 4 4 4 Neopost Services Administrator Customer 4 Services The service is not permitted unless specifically indicated: - 4 = permitted 14 Issue D ­ 20.12.2000 S1097-25 APPENDIX 2 The following table summarises the relationship between services and operators for the SMM: - ENTITY 8 NEOPOST ADMINISTRATOR ADMINISTRATION CUSTOMER SERVICE 6 SERVICES SERVICES Tamper Arm 4 Zeroise Private Key 4 Commission 4 Customer Enable 4 Postal Admin 4 Customer Disable 4 Postal Indicium 4 Admin Request 4 General Postal 4 Service is not accessible to a particular entity unless specifically indicated:- 4 = can be accessed 15 Issue D ­ 20.12.2000 S1097-25 APPENDIX 3 The following table summarises the legality of services according to the prevailing life cycle state of an SMM: - SMM STATE 4 CUSTOMER DISABLED CUSTOMER ENABLED NOT COMMISSIONED COMMISSIONED SERVICE 6 Tamper Arm 4 Zeroise 4 4 Commission 4 Customer Enable 4 Postal Admin 4 Customer Disable 4 Postal Indicium 4 Admin Request 4 General Postal 4 4 4 4 A service is not permitted for a particular state unless indicated: - 4 = permitted 16 Issue D ­ 20.12.2000 S1097-25 APPENDIX 4 The following table summarises the SMM ports on which services are permitted to be active: - GENERAL MODEM UI PORT PRINT PRINT 8 PORT8 PORT PORT MECHANISM MECHANISM CONTROL STATUS PORT PORT SERVICE 6 Tamper Arm 4 4 Zeroise 4 4 Commission 4 4 Customer Enable 4 4 Postal Admin 4 4 Customer Disable 4 4 Postal Indicium 4 Admin Request 4 4 General Postal 4 A service is not permitted via a port unless specifically indicated: - 4 = permitted WJH/JF 20.12.2000 17 Issue D ­ 20.12.2000