In the previous chapter of ’10 Reasons why SafePal S1 is secure(Part I)’, we have unveiled five core features related to the SafePal S1 hardware architect, including the true random number generator, EAL5+ secure element, multiple security sensors, self-erasing mechanism and 100% offline architect. In this chapter, we will continue to disclose our design philosophy and software architect of crafting SafePal S1 into the strongest hardware wallet with ultimate security and smooth user experience.
6. Air-gapped signing mechanism
▪ What is it?
The main difference between a hardware wallet and a software wallet is that, both as the custodian of private key(or ‘seed’ as some might call it), a hardware wallet stores the key(seed) in an offline hardware device isolated from the internet, keeping the private key(seed) protected from online remote attacks.
In such a scenario, things could be much easier when the core mission of a hardware wallet is to ONLY keep the private key offline and safe. Yet in a real case, there is more than that. A hardware wallet should not only keep the private key securely but also need to enable external communications on a daily bases, such as transactions. This leaves a tricky part to the hardware wallet, which is, though the hardware wallet should be totally offline and as isolated as possible, it still needs a communication mechanism to ‘talk’ to the external world, for example, to sign a transaction with the private key embedded in the wallet. This requires the hardware wallet to remain still accessible in a specially designed communication mechanism.
For the majority of hardware wallets on the market, there are 4 major communication mechanisms of a hardware wallet:
1) USB connection
The representatives in this category are Ledger and Trezor. By connecting the Ledger or Trezor hardware wallet to the computer, users could transfer and manage crypto on the desktop portal. The advantage of the USB connection is its convenience. There isn’t much user education involved and most users know how to plug in and use. The downside is the device could be exposed to malicious attacks if the computer is already infected by viruses or malware.
2) Radio-frequency connection(Bluetooth/NFC)
Bluetooth/NFC connection, among all connection ways, could be the most convenient mechanism to consider. It enables mobile management of crypto assets. With the hardware wallet and cellphone connected via Bluetooth or NFC, when the owner tries to send crypto, the cellphone can automatically push the transaction date toward the hardware wallet, and then it takes only a few clicks to finish signing and approval process. This user flow is more intuitive for most smartphone users.
On the other hand, a radio-frequency connection has been proven easily intercepted or captured during the data transmission process. It is not rare to find such attacking cases on Google. Things could be worse for Bluetooth connection. As a type of radio-frequency, the effective range of Bluetooth signal could be as far as 50 meters, leaving the attacking area much bigger than a short distance attack. That means if you have a hacker neighbor living right next to your house, your hardware wallet could be exposed to Bluetooth inception attack when you are sending crypto to others.
3) SDcard insert mechanism
The basic concept of an SDcard insert mechanism, is to embed the hardware wallet with an SDcard. When a new transaction is created on the computer, the owner needs to draw the transaction file into the SDcard, and then plug the card into the hardware wallet for signing and approval. After the signing procedure, the owner then needs to plug the SDcard back to the computer, and broadcast the transaction onto the blockchain.
This mechanism is not widely adopted by mainstream crypto hardware wallet, nor recommended by SafePal security team. Firstly the user experience of such a mechanism could be very cumbersome and difficult for newcomers. Sending crypto by plugging and unplugging the SDcard back and forth is extremely inconvenient, not to mention the SDcard could easily be lost in daily frequent uses. Secondly, such a mechanism makes it nothing more secure than a USB connection hardware wallet, because the SDcard could also be infected by the malware on the computer.
4) QRcode scanning mechanism(also called air-gapped signing mechanism)
QRcode scanning mechanism means the hardware wallet and the hot-end(the part responsible for online broadcast and data communication, usually a cellphone or computer) transmit data by scanning QRcode back and forth. The most common use case is when a new transaction is created on the hot-end, there will be a QRcode that appeared on it, containing all transaction data including receiving address, currency, amount, etc. This is very much like an unsigned check. Then the hardware wallet would scan the QRcode on the hot-end, acquiring all transaction data, and finish signing procedure. After the transaction is signed, the hardware wallet device would construct a new QRcode containing the signature, which is similar to a signed check, and the hot-end will scan the signed QRcode, get the signature and then broadcast to the blockchain.
This scanning mechanism leaves the hardware wallet device totally offline, without any gateway to connect with the internet, which is why it is also called air-gapped signing mechanism. Meanwhile the scanning action is also intuitive and easy for most users to understand and master, increasing product accessibility. The disadvantage is the hardware wallet has to be installed with a screen and camera to enable scanning function, which could inevitably increase the hardware cost.
▪ Why does it matter?
SafePal S1 adopts the QRcode scanning mechanism to build a connection between the hardware device and the SafePal App. There are 3 advantages of using this mechanism:
▪ It is more accessible and understandable for most users. Almost every smartphone user knows how to scan a QRcode
▪ It is more secure, leaving no trace for internet connection and keeping the hardware wallet 100% offline.
▪ It keeps every transaction happening in a short distance, meaning there is only a 10–15cm distance when you scan and broadcast the transaction. This leaves practically no room for your neighbor or even someone standing close to you to conduct the malicious attack.
7. Firmware security
▪What is it?
Firmware is a software program permanently etched into a hardware device such as a keyboard, hard drive, BIOS, or video cards. It is programmed to give permanent instructions to communicate with other devices and perform functions like basic input/output tasks. (Source from Techopedia)
For users to on-board new product features, security upgrades, and new cryptocurrencies, SafePal S1 supports the firmware OTA upgrade process. By upgrading the wallet firmware to the latest version, SafePal users can enjoy the newest features supported in the wallet. By upgrading the wallet it means to load a new firmware file into the S1 hardware wallet. Hence firmware security is one of the most important parts of keeping the wallet and private key safeguarded.
On SafePal S1, there are 5 layers of firmware security schemes protecting the device from boot-loader or firmware attack:
1) Security suffix
The security suffix is a combination of 3 characters(letters and numbers) used to prevent an attacking scenario where someone besides the user resets the hardware wallet without the owner noticing it. Once the SafePal device is paired with a SafePal App, the security suffix will be updated and shown in the App.
The security suffix is generated based on device information and mnemonic phrase inside the hardware wallet. The suffix is unique to every SafePal device and serves as a measure to identify the acquaintance attack. Once the wallet is reset and a new mnemonic phrase is generated by the embedded TRNG(True Random Number Generator), the security suffix will change and thus the wallet owner will notice the wallet information has been altered.
2) Secure upgrade procedure
Firmware upgrade is an important feature to ensure every SafePal user can access the latest product features or newly added currencies.
SafePal S1 is embedded with a firmware verification program that examines the genuineness of every uploaded firmware. And the device only runs official firmware released through SafePal official website. If there is any malicious firmware loaded to the device, the device will show warnings.
Please always download a SafePal firmware from the official website.
3) Upgrade authentication and Privacy protection features
Before a firmware upgrade and the first time viewing asset information after each boot, SafePal S1will be a PIN code verification.
4) Downgrade limitation
SafePal only supports firmware upgrade rather than downgrade, thus to protect any potential attacks from the lower version.
5) Temper-proof mechanism
During every starting-on of SafePal S1, the multi-verification mechanism embedded in SafePal S1 will authenticate the complete program. Should there be any unauthorized changes detected during this process, even as small as a byte, the device will fail to start up normally, thus to prevent any potential attacks from the supply chain or logistics scenarios.
8. App security
▪ What is it?
The SafePal App is an application compatible with SafePal S1, for the purpose of blockchain communications including on-chain data acquisition and transaction broadcast. On the SafePal App, there are multiple designs for the protection of data security and user privacy.
1) Security password
A security password is a list of at least 8 alphanum(letters & numbers) that is used to control the security settings on the SafePal App such as disable/enable fingerprint/gesture login, pair/un-pair with hardware wallet, and etc. Once set, it could be very helpful in various scenarios such as 1)someone is trying to disable your fingerprint/gesture login so that they could snoop around your asset details, and 2)someone changes the paired hardware wallet into his/her own wallet so that you might be receiving money using the attackers’ QRcode. Such attack scenarios will not lead directly to the breakage of the private key, but could post a threat to user privacy and social frauds.
2) Privacy mode
By clicking the eye button at the main page, users can hide the details of their assets such as balance and token amount from others, especially from someone standing right beside the owner who could possibly peep from aside.
▪ Why does it matter?
The SafePal App cannot access the private key in any physical or virtual method, yet from privacy protection and data security point of view, App security is still within the security considerations when we develop the product. Security is not one thing, instead, it is many things. For a hardware wallet, security is related to hardware design and production, firmware development, App development, and UI design. One hole in the security system could lead to major vulnerabilities when confronting malicious hackers.
9. Device authentication mechanism
▪ What is it?
SafePal device authentication is a security mechanism aimed to authenticate a SafePal device when a user receives a new SafePal S1 hardware wallet. The user flow of the authentication is:
▪ Why does it matter?
The SafePal device authentication mechanism helps users to verify the genuineness of a newly purchased SafePal S1 hardware wallet. Such a mechanism could effectively prevent the malicious attack that happens in the supply chain such as transportation and delivery when attackers try to temper the device by inserting malware. Any unauthorized software cannot be run on a SafePal S1 hardware wallet. Once any abnormal changes to the software are detected, the device cannot be started and function normally.
10. More security details embedded in UX/UI and user flow
▪ What is it?
We can’t stress enough that security is not one thing, but many things. For a hardware wallet, security is related to many aspects including hardware design, hardware production, firmware development, App development, and UI design. One hole in the security system could lead to major vulnerabilities when confronting malicious hackers. Other than the above 9 aspects of security considerations, there are many hidden security details in the SafePal product such as:
1) Hidden PIN code digit
When a user is entering PINcode on the S1 keypad, the digit will be hidden, so that no one standing right beside the user could peep the PIN code.
2) Dis-order PIN code
Even though the PINcode digit is hidden during the transaction, others might still be able to guess the PINcode by watching the position of each digit on the keypad. On SafePal S1, the digits on the keypad are dis-ordered, thus others cannot guess the PINcode by observing the typing process.
3) Triple confirmation mechanism
When a user tries to send money out, during the transaction, at each step the wallet will display all transaction details for the users to check, verify and double examine the transaction details. Such a way the users can be sure that the transaction is secure, not tampered in the middle and sent to the right address.
Since the blockchain ecosystem is a new world built completely with 0 and 1, all the assets, the financial systems built on top of it would have to rely heavily on the accurateness and security of the codes and mechanism. As for SafePal, a hardware wallet that aims to provide the best solution, security is the essence in SafePal product philosophy. More security details of SafePal product can be found in SafePal Knowledge Base.
Welcome to let us know if you are interested in how SafePal S1 acts against any new types of attack, and welcome to join our social channels to follow more security and product updates.