| ARRIS Enterprises, Inc. Confidential Information | ||||||||||||
Signing with PRiSMBackgroundEvery boot image running on an ARRIS set-top box is encrypted and protected by a signature. This means that the set-top box only accepts boot images that are verified to come from the correct source, protecting the STB from being hacked. The protection consists of a key-pair with a private and a public key. The private key is used for signing the boot image and is kept secret, and the public key is inserted into the STB during production. In previous versions of KreaTV the private key is provided in the KreaTV SDK, and boot image signing takes place automatically when building the boot image. As of KreaTV 5 this process is changed and the private key is stored on a secure ARRIS server called PRiSM (Permission and RIghts Signing Manager). 0810_platform/platform/fundamentals/access.htmlA development key will still be available in the SDK which can be used in the development phase for signing boot images locally. The difference from previous generations of set-top boxes is that these development images will only be able to run on specific development set-top boxes.
Introduction of the development STBs with a separate part number from production STBs will increase the security. Even though some options are helpful in a development environment for troubleshooting, they increase the risk of exposure to threats in the field. Therefore these options will only be available on development units. It is fully possible to use production set-top boxes in development too, as long as the boot image is signed via the PRiSM server. When ordering set-top boxes of a specific model it is necessary to state whether it is a development or a production set-top box. PRiSM ServerARRIS PKI Center is one of the world's largest producers of keys and certificates for hardware devices. It is responsible for Public Key Infrastructure (PKI) lifecycle management for hundreds of millions of devices. PRiSM is a generic code signing system designed and operated by ARRIS PKI Center that supports code signing mechanisms on ARRIS devices. It contains the secret keys that verify the authenticity of a boot image for production set-top boxes. The keys cannot be extracted from the PRiSM server, or in any other way be used for signature outside of the secure environment.
Signing Via SupportARRIS technical support is available to assist with signing the boot images. The only prerequisite to use this service is that a valid SLA is in place. You contact support, provide the boot image that should be signed, and you will receive a signed version back. This is only needed to run boot images on production set-top boxes; boot images for development STBs will be signed automatically by the KreaTV SDK when you build them. Signing Via PRiSM directlyARRIS direct customers and Advanced VAR in the channel program have the possibility to get an account on the PRiSM server for handling the signing themselves. If this applies to you, please contact your ARRIS sales representative about getting access to the PRiSM server. Please be aware that the signing accounts are personal, and that each person trusted to sign the boot image needs a unique account. To log into the PRiSM server you need a hardware token for each account. Two tokens are included when signing the agreement. The step by step process is outlined below:
Splash screensThe splashscreen must also be signed before it is considered valid. For production STBs, the splash screen is handled in the very same way as the boot image. You create the bmp file, upload it to PRISM, sign it, and then deploy that signed version in the field. For development STBs you can use the default ARRIS-signed splash image distributed in the SDK. If you want to test with your own splash image, you will need to manually sign it. The Encrypting the splash image is an optional step (the -e and -c parameters can be left out if this is not wanted). The signing and encryption keys depend upon the VIP family. All bcm15 based models (VIP4302, VIP35x0 and VIP55x2) use the following keys, which are available in
Run |