GlobalPlatform Technology

SESIP Profile for Code Update
Mechanism
Version 0.0.0.12
Public Review
August 2024
Document Reference: GPS_SPE_026

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.
Recipients of this document are invited to submit, with their comments, notification of any
relevant patents or other intellectual property rights of which they may be aware which might benecessarily infringed by the implementation of the specification or other work product set forth in
this document, and to provide supporting documentation. This document (and the information
herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be
disseminated without restriction. Use of the information herein (whether or not obtained directlyfrom GlobalPlatform) is subject to the terms of the corresponding GlobalPlatform license
agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to
sublicensing) inconsistent with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 2 / 15
THIS SPECIFICATION OR OTHER WORK PRODUCT IS BEING OFFERED WITHOUT ANY WARRANTYWHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NON-INFRINGEMENT IS EXPRESSLYDISCLAIMED. ANY IMPLEMENTATION OF THIS SPECIFICATION OR OTHER WORK PRODUCT SHALL
BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE COMPANY, NOR ANY
OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY
IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER DIRECTLY OR
INDIRECTLY ARISING FROM THE IMPLEMENTATION OF THIS SPECIFICATION OR OTHERWORK PRODUCT.

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 3 / 15

Contents
1

Introduction .............................................................................................................................. 5

2

Software Update in Life Cycle ................................................................................................. 7

3

Security Problem Definition .................................................................................................... 8

4

Security Objectives ................................................................................................................ 10

5

Security Functional Requirements ....................................................................................... 11

6

Rationale for Security Functional Requirements ................................................................ 14

7

Security Assurance Requirements ....................................................................................... 15

1.1
1.2
1.3
1.4
1.5
1.6
2.1
2.2
2.3
3.1
3.2
3.3
3.4
3.5
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
5.1
5.2
5.3
5.4
5.5

Audience ...............................................................................................................................................5
IPR Disclaimer ......................................................................................................................................5
References ............................................................................................................................................5
Terminology and Definitions .................................................................................................................6
Abbreviations ........................................................................................................................................6
Revision History ....................................................................................................................................6
Scope of Software Updates ..................................................................................................................7
Software Update Availability .................................................................................................................7
Software Update Feasibility ..................................................................................................................7

Assets....................................................................................................................................................8
Users / Subjects ....................................................................................................................................8
Threats ..................................................................................................................................................8
Organizational Security Policies ...........................................................................................................9
Assumptions ..........................................................................................................................................9

Current Code Version Attestation .......................................................................................................10
Code Update Availability .....................................................................................................................10
Code Update Feasibility ......................................................................................................................10
Code Update Authenticity and Integrity ..............................................................................................10
Rollback Protection .............................................................................................................................10
Atomicity of the Code Update .............................................................................................................10
Secure Fail ..........................................................................................................................................10
Patch Confidentiality ...........................................................................................................................10

Verification of Platform Instance Identity.............................................................................................11
Attestation of Platform Genuineness ..................................................................................................11
Attestation of Application Genuineness ..............................................................................................11
Secure Initialization of Platform ..........................................................................................................11
Secure Update of Platform ..................................................................................................................125.5.1 Code Update Availability ..............................................................................................................125.5.2 Code Update Feasibility ...............................................................................................................125.5.3 Performing Image Download in Background ...............................................................................125.5.4 Code Update Authenticity and Integrity .......................................................................................125.5.5 Asymmetric Signature Mechanism ..............................................................................................125.5.6 Rollback Protection ......................................................................................................................12
5.6
Secure Update of Application .............................................................................................................13
5.6.1 Code Update Availability ..............................................................................................................13
5.6.2 Code Update Feasibility ...............................................................................................................13
5.6.3 Code Update Authenticity and Integrity .......................................................................................13
5.6.4 Rollback Protection ......................................................................................................................13
5.7
Secure Communication Support .........................................................................................................13

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 4 / 15

TablesTable 1-1: Normative References......................................................................................................................5
Table 1-2: Informative References ....................................................................................................................5
Table 1-3: Terminology and Definitions .............................................................................................................6
Table 1-4: Abbreviations....................................................................................................................................6
Table 1-5: Revision History ...............................................................................................................................6
Table 3-1: Assets ...............................................................................................................................................8
Table 6-1: Rationale for Security Functional Requirements ............................................................................14

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 5 / 15

1

INTRODUCTION

Keeping software updated with the latest security patches and bug fixes is widely agreed (see [EN 17927],[SESIP], [UNR 156]) as necessary for any device that claims security, safety, or privacy protection.
In this document, we use the term Code Update Mechanism to refer to the variety of technical software andhardware means implemented in the device and its operational environment, as well as the management
actions required to operate them to perform software updates and code patching.
This document defines requirements, technical guidelines, and recommendations for implementing the CodeUpdate Mechanism securely and efficiently:• Requirements are marked as REQ,
• Recommendations are marked as REC.
Conformance Claims
This SESIP Profile claims conformance to CC Part 2 and SESIP Assurance Level 2. In addition, section 7 ofthis document addresses the requirements for SESIP Assurance Level 3.

1.1

Audience

This document is intended primarily for security architects and platform and system developers.

1.2

IPR Disclaimer

Attention is drawn to the possibility that some of the elements of this GlobalPlatform specification or other work
product may be the subject of intellectual property rights (IPR) held by GlobalPlatform members or others. For
additional information regarding any such IPR that has been brought to the attention of GlobalPlatform, please
visit https://globalplatform.org/specifications/ip-disclaimers/. GlobalPlatform shall not be held responsible for
identifying any or all such IPR, and takes no position concerning the possible existence or the evidence,
validity, or scope of any such IPR.

1.3

References
Table 1-1: Normative References

Standard / Specification

Description

Ref

SESIP Methodology

GlobalPlatform Technology
Security Evaluation Standard for IoT Platforms (SESIP)
Methodology v1.2, July 2023

[SESIP]

Table 1-2: Informative References
Standard / Specification

Description

Ref

EN 17927

Security Evaluation Standard for IoT Platforms, November
2023[EN 17927]

UN Regulation No. 156

Software update and software update management system,
Rev 3, March 2021

[UNR 156]

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 6 / 15

1.4

Terminology and Definitions

Selected terms used in this document are included in Table 1-3. Additional terms are defined in [SESIP].
Table 1-3: Terminology and Definitions
Term

Definition

SESIP Profile

A security profile generic to a type of platform (part). Equivalent to CC Protection
Profile: A generic SESIP Security Target defining the SESIP requirements interms of security features and evaluation activities to be addressed during theevaluation of a platform (part) of the type targeted by the profile.

1.5

Abbreviations
Table 1-4: Abbreviations

Abbreviation

MeaningCC

Common Criteria

SESIP

Security Evaluation Standard for IoT Platforms

SFR

Security Functional Requirement

1.6

Revision History

GlobalPlatform technical documents numbered n.0 are major releases. Those numbered n.1, n.2, etc., areminor releases where changes typically introduce supplementary items that do not impact backward
compatibility or interoperability of the specifications. Those numbered n.n.1, n.n.2, etc., are maintenancereleases that incorporate errata and clarifications; all non-trivial changes are indicated, often with revisionmarks.
Table 1-5: Revision History
Date

VersionDescription

May 2024

0.0.0.10

Committee Review

June 2024

0.0.0.11

Member Review

August 2024

0.0.0.12

Public Review

TBD

v1.0

Public Release

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 7 / 15

2

SOFTWARE UPDATE IN LIFE CYCLEThe Security Evaluation Standard for IoT Platforms ([SESIP]) outlines various life cycle models andemphasizes security during significant phases before and after the normal usage phase.
However, within this normal usage phase, connected devices experience a continuous cycle of software
updates, and the life cycle analysis should address this. Indeed, promptly developing and deploying security
updates is critical for companies to safeguard their customers and contribute to the overall health of thetechnical ecosystem.

2.1
REC

Scope of Software Updates

All software components within connected IoT devices should be securely updateable.
Vulnerabilities often arise from non-security-related software components. Therefore, it is essential to keep all
software up-to-date and well-maintained.

2.2
REQ

Software Update Availability

When a code update is necessary, it must be applied promptly.
To achieve this:• Device users should be informed about the need for the update.
• If user action is required, they should be prompted to perform the update.
• However, executing software updates without user involvement is preferable whenever possible.

2.3
REC

Software Update Feasibility

A code update should be easy to implement.
Preferably, it should occur in the background without disrupting the device's functionality until the updated
version is activated.

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 8 / 15

3

SECURITY PROBLEM DEFINITION

3.1

AssetsTable 3-1: Assets
Asset

Description

Code Update Image

The code downloaded to the Platform to updateor replace the current TSF or application code
in whole or partiallyProtected Attributes
Integrity, authenticity,
freshness
Optionally – confidentiality

Code Update Version

The attribute of the Code Update Image
presented to the Platform during the code
update process

Authenticity

Current Code
VersionThe version of the last successfully installed
Code Update Image stored persistently in the
Platform

Authenticity, rollback
protection
Integrity

Code Update
Authentication Key

The public key or secret key used to verify theauthenticity of a presented Code Update Image

For a secret key, also
confidentiality
If updatable – authenticity

Code Update
Confidentiality Key

3.2

The private key or secret key used to decrypt
the Code Update Image

Confidentiality
If updatable – authenticity

Users / Subjects• Code Update Deployer• Platform User

3.3

Threats• Blocking Code Updates• Forging Update Deployer Authorization• Code Update Mechanism Abuse• Rollback of a Code Update• Partial Code Update• Code Update Image Disclosure

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 9 / 15

3.4

Organizational Security Policies

REQ

If a Code Update Authentication Key is a secret key (i.e., not a public part of an asymmetric key), it shall be
individual for each instance of the Platform.

REQ

Code Update Authentication and Confidentiality Keys shall be generated with the required cryptographic
strength and entropy amount. This policy belongs to the general Key Generation category and is outside thescope of this document.

REQ

Code Update Authentication and Confidentiality Keys shall be securely provisioned to the Platform and kept
secret by the Platform and at the Update Deployer's facility. This policy belongs to the general Key
Management category and is outside the scope of this document.

3.5

Assumptions• The Code Update Deployer uses the correct authentication and confidentiality keys for Code Update
Image protection.
• The Code Update Issuer increments the Code Update Version for subsequent code updates.

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 10 / 15

4

SECURITY OBJECTIVES

4.1

Current Code Version Attestation

The Code Update Deployer shall be able to obtain the Current Code Version of the Platform to decide whether
the code running on the Platform is outdated.

4.2

Code Update Availability

The Platform should employ countermeasures to prevent an attacker from blocking code updates for the
Platform.
At least, the Code Update Deployer shall inform the Platform User when a code update is scheduled for the
Platform.

4.3

Code Update Feasibility

The Code Update process shall not risk the functioning of the Platform during and after the update.

4.4

Code Update Authenticity and Integrity

The Platform shall reject non-authentic or modified Code Update Images.

4.5

Rollback Protection

The Platform shall protect from applying outdated code updates, e.g., by ensuring that the code version
increases on update.

4.6

Atomicity of the Code Update

The Platform shall conduct the code updates in an all-or-nothing manner; i.e., prohibiting the execution of any
part of the new code before and any part of the deprecated code after the successful activation of the new
code.

4.7

Secure FailIf a failure occurs during Code Update activation, the Platform shall retreat to a secure state withoutcompromising its security assets and, preferably, without losing its functionality.

4.8

Patch Confidentiality

The Platform may optionally provide a secure communication channel for Code Update Image retrieval,allowing its contents to be encrypted before activation.

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 11 / 15

5

SECURITY FUNCTIONAL REQUIREMENTS

This section iterates through the relevant SESIP SFRs ([SESIP] section 3), analyzing their application to cover
the Security Objectives (SO) introduced in section 4.

5.1

Verification of Platform Instance Identity

Requirement (from [SESIP]): The Platform provides a unique identification of that specific instantiation of the
Platform, including all its parts.
REQ

The Platform shall provide means for verifying the current version of the platform code and the applications.
The Code Update Deployer needs this verification to determine whether the code has been updated.

5.2

Attestation of Platform Genuineness

Requirement (from [SESIP]): The Platform provides an attestation of the "Verification of Platform Identity" and"Verification of Platform Instance Identity", in a way that ensures that the Platform cannot be cloned or changed
without detection.
REC

The Platform should provide a cryptographic mechanism to prevent an attacker from interfering with verifying
the current version of the platform code.
This mechanism prevents an attacker from falsifying the Current Code Versions of the Platform code.

5.3
REC

Attestation of Application Genuineness

The Platform should provide a cryptographic mechanism to prevent an attacker from interfering with verifying
the current version of the Application code.
Like section 5.2, but applies to the Application code update.

5.4

Secure Initialization of Platform

Requirement (from [SESIP]): The Platform ensures its integrity and authenticity during Platform initialization.
If the platform integrity or authenticity cannot be ensured, the Platform will go to <list of controlled states>.
REQ

Before the updated code is executed the first time, the Platform must verify that the code update has been
executed in its entirety. If not, either the previous version of the code shall be restored, or the Platform shallretreat to a secure state without compromising its security assets.
Once the code update is complete, applying the new code requires restarting the Platform or the Application.
Following the restart, the Platform shall enforce this SFR.

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 12 / 15

5.5

Secure Update of Platform

Requirement (from [SESIP]): The Platform can be updated to a newer version in the field such that the<confidentiality,> integrity and authenticity of the Platform are maintained.
Properly implementing this Security Functional Requirement (SFR) is the central focus of this entire document.
At a minimum, the Platform must incorporate a mechanism that ensures the following SFRs:

5.5.1
REC

Watchdog timers, expirable entitlements, or similar mechanisms should be employed to prevent an attacker
from obstructing code updates for the Platform.

5.5.2
REQ

Asymmetric Signature Mechanism

Preferably, an asymmetric signature mechanism should be used for Platform code update verification, which
does not necessitate the confidentiality of the image verification key.

5.5.6
REQ

Code Update Authenticity and Integrity

The authenticity of the presented Platform code update image shall be verified using a dedicated CodeUpdate Authentication Key.

5.5.5
REC

Performing Image Download in BackgroundIf the code update image download takes time, performing it in the background without disrupting thedevice's overall functionality is advisable. Subsequently, the new code can be activated using memory
remapping or a similar mechanism.

5.5.4
REQ

Code Update Feasibility

The device must maintain essential functionality, critical for remaining available during a Platform code
update.

5.5.3
REC

Code Update Availability

Rollback Protection

The Platform must prevent updates where the Platform Code Update Version is smaller than the Current
Platform Code Version.
Note: By implementing this restriction, the Current Code Version becomes a Reliable Index as defined in[SESIP] section 3.6.7.

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 13 / 15

REC

5.6

Secure Update of Application

5.6.1

Code Update Availability

Watchdog timers, expirable entitlements, or similar mechanisms should be employed to prevent an attacker
from obstructing code updates for the Application.

5.6.2
REQ

The device must maintain essential functionality available during an Application code update.

5.6.3
REQ

Code Update Authenticity and Integrity

The authenticity of the presented Application code update image shall be verified using a dedicated CodeUpdate Authentication Key.

5.6.4
REQ

Code Update Feasibility

Rollback Protection

The Platform must prevent updates where the Application Code Update Version is smaller than the Current
Application Code Version.
The same as section 5.5, but applies to the Application code update.

5.7

Secure Communication Support

Requirement (from [SESIP]): The Platform provides one or more secure communication channel(s). The
secure communication channel authenticates <list of endpoints> and protects against <list of attacks including
disclosure, modification, replay, erasure> of messages between the endpoints, using <list of protocols andmeasures>.
REQ

The Platform shall ensure that the code updates originate from an authorized Code Update Deployer and aredelivered over a secure channel.

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 14 / 15

6

RATIONALE FOR SECURITY FUNCTIONAL REQUIREMENTS
Table 6-1: Rationale for Security Functional Requirements

Security Objective

Security Functional Requirements

4.1 Current Code Version Attestation

5.1, 5.2, and 5.3

4.2 Code Update Availability

5.5.1 and 5.6.1

4.3 Code Update Feasibility

5.5.2, 5.5.3, and 5.6.2

4.4 Code Update Authenticity and Integrity

5.5.4, 5.5.5, and 5.6.3

4.5 Rollback Protection

5.5.6 and 5.6.4

4.6 Atomicity of the Code Update

5.4

4.7 Secure Fail

5.4

4.8 Patch Confidentiality

5.7

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.

SESIP Profile for Code Update Mechanism
Public Review v0.0.0.12
Page 15 / 15

7

SECURITY ASSURANCE REQUIREMENTS

REQ

Secure Consumer IoT devices certified to the SESIP Assurance Level 2 shall implement the Code Update
mechanism according to the Security Functional Requirements listed in section 5.

REQ

For Secure Consumer IoT devices certified to the SESIP Assurance Level 3 and higher, theRecommendations listed in section 5 shall be considered as Requirements.

REQ

For constrained devices that do not implement a Code Update mechanism, the Platform developer shallprovide a transparent rationale for the absence of software updates.

Copyright  2024 GlobalPlatform, Inc. All Rights Reserved.

This document (and the information herein) is subject to updates, revisions, and extensions by GlobalPlatform, and may be disseminated without
restriction. Use of the information herein (whether or not obtained directly from GlobalPlatform) is subject to the terms of the corresponding
GlobalPlatform license agreement on the GlobalPlatform website (the “License”). Any use (including but not limited to sublicensing) inconsistent
with the License is strictly prohibited.