




























Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Threat #2: Using a not genuine Ledger Nano S . . ... mode, the 24-word recovery phrase is displayed word by word and must be written down on ...
Typology: Lecture notes
1 / 36
This page cannot be seen from the preview
Don't miss anything!





























Ledger Nano S Security Target, Release 1.
Security Target Identification
Identification Ledger Nano S Security Target Release 1. Date 2018-10- Diffusion Public
Security Target History
Version Date Author Role Comments 1.0 2018-07-27 Alain DESTRES Security Certification Engineer Initial Version 1.1 2018-10-04 Alain DESTRES Security Certification Engineer Add clarifications 1.2 2018-10-18 Alain DESTRES Security Certification Engineer Add clarifications
Security Target Review
Date Release Reviewer Role 2018-07-20 1.0 Charles GUILLEMET Chief Security Officer 2018-07-23 1.0 Pierre OSDOIT Marketing Manager in Marketing & Communication 2018-10-01 1.1 Charles GUILLEMET Chief Security Officer 2018-10-15 1.2 Charles GUILLEMET Chief Security Officer
ONE
INTRODUCTION
1.1 Acronym
AES Advanced Encryption Standard API Application Programming Interface ANSSI Agence Nationale de la Sécurité des Systèmes d’Information BIP Bitcoin Improvement Proposal BOLOS Blockchain Open Ledger Operating System CC Common Criteria DES Data Encryption Standard EC Elliptic Curve ECDSA Elliptic Curve Digital Signature Algorithm ECDH Elliptic-Curve Diffie-Hellman FIDO Fast IDentity Online GPIO General Purpose Input Output GUI Graphical User Interface HSM Hardware Security Module HTTPS HyperText Transfert Protocol Secure IC Integrated Circuit MCU Micro Controller Unit Nonce Number used once OLED Organic Light Emitting Diode PIN Personnal Identification Number PKI Public Key Infrastructure PSD Personnal Security Device (synonym for the Ledger Nano S) RGS Référentiel Général de Sécurité RSA Rivest Shamir Adelman SE Secure Element SEPROXYHAL Secure Element PROXY Hardware Abstract Layer SEC Standards for Efficient Cryptography SF Security Functions SHA Secure Hash Algorithm SPI Serial Peripheral Interface ToE Target of Evaluation TRNG True Random Number Generator U2F Universal 2 (Second) Factor UM User Manual USB Universal Serial Bus Continued on next page
Ledger Nano S Security Target, Release 1.
Table 1 – continued from previous page UX User eXperience
1.2 Terminology
Adversary Person trying to compromise the Ledger Nano S Attestation One of the core security features developed by Ledger to prove the Ledger Nano S is gen- uine. The attestation mechanism implementation relies on a set of cryptographic protocols based on Elliptic Curve BOLOS The open native Operating System developed by Ledger. One of BOLOS’s features is to manage Apps (delete, install) while the Ledger Nano S has already been issued on the field. This capability offering a great flexibility allows to enrich the Ledger Nano S experience. Blockchain A list of blocks which are all linked together and validated via a consensus mechanism Companion App Ledger Live (or third-party like Mycelium, MyEtherWallet, Coinomi) running in the Host to support the Legder Nano S services. For instance, the Bitcoin application, included in the Companion App displays accounts, balance, last transactions... The Companion Apps can be either desktop/laptop or smartphone oriented. Consent The Ledger Nano S security design is strengthened by the End-User. As soon as a sensitive operation is required, the End-User must confirm the operation via the 2 buttons Crypto Asset One of the digital asset whose value is saved on the blockchain Crypto Asset address It is a public address provided by the End-User to transfer crypto assets. This address is derived from the Public Key. Device App Software running in the SE on top of the BOLOS. These device Apps can be either devel- oped by Ledger or a third-party. A Device App offers a service. End-User Happy owner of a Ledger Nano S. End-User is defined by general public. Firmware Software running on top of an hardware (both MCU -SEPROXYHAL- and SE -BOLOS) Hardware Wallet Physical wallet leveraging an hardware to secure sensitive assets and sensitive operations Host End-User machine (laptop, desktop, smartphone and tablet) running a Companion App Key Pair Includes both a Private Key and a Public Key Nano S State-of-the-art device designed, developed and manufactured by Ledger offering a set of secure services. In this Security Target, Personal Security Device (PSD) means Nano S. NESCRYPT Coprocessor for public key cryptography algorithm embedded in [ST31H320]. Ledger leverages NESCRYPT to perform some operations on the elliptic curve. On-boarding Set of operations (seed generation, PIN configuration... ) performed during the initializa- tion of the Ledger Nano S Private Key Set of secret data involved for signing a transaction under the End-User Control Public Key Set of data, generated from the private key, which can be distributed SE Firmware The SE firmware is composed of: BOLOS OS & BOLOS UX Dashboard Device App secp256k1 Elliptic Curve defined by Certicom Research in Standards for Efficient Cryptography ([SEC_2]) Secure Element A Secure Element is composed of a secure IC and a Secure Software Secure IC It is an hardware embedding a set of physical security countermeasures. The Secure IC including in the Ledger Nano S is Common Criteria certified [ST31H320CCCertificate]. Secure Software It is a software embedding a set of logical security countermeasures. In the Ledger Nano S, Ledger has developed BOLOS and a set of Device Apps for the Ledger Nano S. Seed Set of data located at the top of a hierarchical tree SEPROXYHAL Firmware name running on top of [ST31H320] Service Crypto asset management, Password Manager, Second Factor Authentication are typical services offered by the Ledger Nano S Wallet Solution to manage your crypto assets Wallet Type There are 2 types of wallet: non-deterministic wallet and deterministic wallet
4 Chapter 1. Introduction
Ledger Nano S Security Target, Release 1.
This script performs a mutual authentication between the Ledger HSM and the PSD. Firstly, the PSD ensures that the HSM is genuine, then the HSM ensures that the PSD is genuine.
All the functions and further details regarding the BOLOS Python Loader can be found:
1.8 Ledger Technology Details
Some additional technical details regarding the technology created by Ledger can be found in the following list:
6 Chapter 1. Introduction
TWO
LEDGER NANO S
2.1 Operational Environment
Ledger offers a full ecosystem to interface with the dedicated services included in the cloud, offering a smooth User Experience:
The diagram below illustrates the main interactions between elements when the Companion App is required:
Fig. 1: Environment WITH a Companion App
The following diagram illustrates the main interactions between elements when the Companion App is not required:
Ledger Nano S Security Target, Release 1.
Bold features are included in the security scope and addressed by dedicated security functions.
2.3 Services
Services are not included in the security scope. These services are not addressed in the scope because they are all protected by the End-User’s PIN. Indeed, the Ledger Nano S requires the End-User’s PIN unlocking then all services listed in the following sections. Thus, even if the services are out of scope, the secret data belonging to services are properly protected through the PIN.
The wallet is the main service.
It is the combination of the following two elements that creates an operational wallet:
This wallet service managing crypto assets is in charge of:
If you remove one of these elements, no transaction can be processed. The Host performs no security opera- tions. All sensitive operations (for instance signing a transaction, confirming the amount of the transaction, con- firming the recipient’s address) are directly performed with the Ledger Nano S based on the Secure Element technol- ogy. The security model designed by Ledger relies on the Ledger Nano S including not only a certified secure IC [ST31H320CCCertificate] but also a secure software developed by Ledger.
The Ledger Nano S, considered as a cryptographic embedded platform, supports several cryptographic primitives as listed below (not limited to):
2.3. Services 9
Ledger Nano S Security Target, Release 1.
A Device App manages all your passwords making the connection step easier for an End-User.
The FIDO U2F Device App is a two-factor authentication method specified by the FIDO Alliance. It works with several web services, like Facebook, Dashlane, Gmail, Dropbox, GitHub, etc.
For each of these web services, the End-User needs to set up the security parameters of the account to register the Ledger Nano S as a second factor security key to authenticate on it. This second factor of verification will improve the security of your log in processes, as the End-User will be first required login/password followed by the second factor via the Ledger Nano S.
As the Ledger’s ecosystem is developer-friendly, a third-party can develop a Device App to build an innovative and useful service.
2.4 Dual Architecture
The Ledger Nano S is based on an architecture leveraging two hardware:
The [STM32F042K6] can be considered as a supporting hardware and is in charge of:
The [ST31H320], as it belongs to the Secure Element Technology and is Common Criteria certified (refer to [ST31H320CCCertificate] to get further details), ensures all sensitive operations and is in charge of (but not limited to):
Note that Ledger Nano S can be used without a Companion App. Indeed, both Password Manager and FIDO Device Apps directly connect to the web service without a Companion App.
The Ledger Nano S relies on the Secure Element technology addressing the security issues linked to the storage and manipulation of secret keys. The Secure Element technology is leveraged in sensitive applications: for instance banking card, passport, driving licence. The Ledger Nano S also leverages this Secure Element technology to protect properly the End-User’s assets.
10 Chapter 2. Ledger Nano S
Ledger Nano S Security Target, Release 1.
2.6 Target of Evaluation
The Personal Security Device is an embedded platform processing securely sensitive services. The PSD includes a set of core security mechanisms (TRNG, End-User verification via the enrolled PIN, attestation mechanism, post-issuance capability). These security mechanisms linked with a simplified User Experience makes the PSD usage secured and simple.
The security model created by Ledger is based on the Secure Element technology. This Secure Element embeds a set of hardware security countermeasures (for instance active shield, monitoring of environmental parameters, True Random Number Generator).
Nevertheless, in order to get a product resistant against high attack potential, Ledger has also implemented a set of software security countermeasures. It is the composition of hardware security mechanisms (provided by the Secure IC) and the software security mechanisms (provided by Ledger) which make the Ledger Nano S resistant against sophisticated attacks (elapsed time, expertise, equipment).
The Target of Evaluation, focused on the Ledger Nano S, is identified in the following diagram:
Fig. 4: Target of Evaluation including a zoom on the SE
The ToE includes:
12 Chapter 2. Ledger Nano S
Ledger Nano S Security Target, Release 1.
(b) One screen
BOLOS is in charge of:
The BOLOS UX Dashboard Device App, default Device App active as soon as the PIN is successfully verified, is:
The BOLOS UX Dashboard Device App ensures a consistency UX whatever the running Device App. This Device App manages for instance buttons and the screen. Thus, this Device App also supports a third-party developer to create his own Device App.
All Device Apps (developed by Ledger or not), except BOLOS UX Dashboard Device App are not included in the ToE.
2.7 Assumptions
Below is the list of assumptions:
2.8 Environment Measures
Even if the Ledger Nano S can be used within a strict environment (for instance storing the device inside a vault, signing a transaction inside a secure building), the security design developed by Ledger allows the End-User to experience the PSD in a public area. The device is architectured to provide an high assurance level to the End-User whatever the environment.
2.7. Assumptions 13
THREE
ASSETS
As the PSD processes sensitive operations (i.e. sign transactions, manage passwords, achieve U2F authentication,... ) and stores confidential data, the following primary assets must be secured:
All the primary assets listed above is worth of interest to an adversary and are subject to a set of threats as mentioned in Threats.
Ledger Nano S Security Target, Release 1.
16 Chapter 3. Assets