Discover the technical aspects of the Seed Tool app
When a “hobbyist with an engineering background” and Ledger user since 2018, saw a need for an application that provided a facility for creating Shamir’s Secret Shares, he developed the Seed Tool App.
This app answers a part of our user community’s desire to be the sole keepers of their seed phrase, with an added layer of security, using Shamir’s Secret Sharing and the SSKR library.
We asked aido to talk us through his process, and the tech behind the Seed Tool App.
Could you please provide us with more information about how you came to learn about the Ledger apps and their development?
Discovering Bitcoin in late 2010 and mining my first coins in early 2011 prompted me to learn more about securing my cryptocurrency. After struggling with unreliable methods, I turned to a Ledger device in 2018. The recommended security practice then was to back up my BIP39 seed phrase on steel, which offered a good solution. However, I believed I could improve security further by storing the seed redundantly.
That’s when I discovered Shamir’s Secret Sharing (SSS). SSS struck me as the perfect balance between secure redundancy for a single seed where simplicity is key, unlike complex multi-seed solutions better suited for organizations. Unfortunately, unlike its main competitors, Ledger doesn’t offer an app to create Shamir’s Secret Shares.
My search led me to a long-standing GitHub issue where others echoed my desire for this feature. With no resolution in sight, I decided to take matters into my own hands and create the app myself… and here I am!
Which user types or use cases did you have in mind when building the App Seed Tool?
This app caters to users who desire a secure and redundant seed storage method, offering a step beyond BIP39 without unnecessary complexity. It remains flexible, allowing users to graduate to more intricate security measures like MultiSig or Ledger Recover at their own discretion.
Could you tell us more about how the app works and the technology behind it?
The key to the app is having a solution that can perform a BIP39 <-> Shamir’s Secret Sharing round trip. This requirement is subtle but crucial.
The ability to do this round trip ensures that all of Ledger’s existing recommendations remain valid, and no changes need to be made to the onboarding process. After onboarding, a user has a robust, established security solution based on keeping their BIP39 seed safe.
If a user wants to improve their security and add a layer of redundancy, the app allows them to convert their BIP39 seed into Shamir’s Secret Shares. This can be done on a Ledger device, eliminating concerns about “seeds leaving the device.”
The app leverages the pre-existing Ledger Recovery Check app as a foundation. In this app, users type in their BIP39 phrases, which are compared to the on-device seed. Therefore, generating Shamir’s Secret Shares requires users to prove they know the device seed. This proof process is identical to the existing app, ensuring it remains uncontroversial.
One key requirement was the ability to generate shares compatible with a BIP39 round trip. Another was using a standard solution instead of inventing my own.
An existing SLIP-39 solution used by another hardware wallet, unfortunately, cannot perform the required round trip.
Then I discovered the SSKR library, which was the perfect fit for several reasons. SSKR stands for Sharded Secret Key Reconstruction. It takes the SLIP-39 method and enhances it.
SSKR is an open-source, interoperable standard that builds upon SLIP-39 with various improvements, including BIP39 <-> SSKR round trip functionality. It perfectly meets all my requirements for the app.
Additionally, the creators of SSKR provide a security-audited, well-documented C library. One of its creators is a co-author of TLS, the bedrock of internet security, demonstrating SSKR’s impeccable security pedigree.
While SSKR forms the core of the app, its integration within a larger framework allows for potential future features like Envelope-SSKR. That can be added to the app.
It may offer a viable solution for the vocal minority concerned about Ledger Recover. The app provides a secure way to store a seed beyond BIP39, while still allowing users to further enhance their security through services like Ledger Recover.
Do you have any improvements planned for the app?
Yes, the app currently functions on Nano devices. The next phase focuses on bringing it to Stax devices. Fortunately, the core functionality already exists, making this primarily a UI adaptation for Stax compatibility.
Due to its modular design, the app easily facilitates future expansion. It began as a direct replica of the Ledger Recovery Check app, inheriting all its functionality. Then, Shamir’s Secret Sharing was seamlessly integrated into that foundation.
Once operational across all Ledger devices, the roadmap includes incorporating BIP85 functionality. This opens up possibilities like password generation and managing multiple BIP39 seeds derived from a single parent seed within your Ledger wallet.
Ultimately, the app aims to become a comprehensive toolkit for all your seed management needs on Ledger devices.
How to use the app?
- Download it on your device from Ledger Live
- In the app, type your seed phrase
- If it matches your device seed phrase, the app will create Shamir’s Secret Shares
- You are then responsible for handling those shares and keep them safe
- If you want to retrieve the seed phrase, put your Shamir’s Secret Shares in the app and it will give you the corresponding seed phrase
Ledger would like to remind you that:
- This application was not designed and developed by Ledger, but it passed the Ledger security review carried by the Ledger Donjon, our team of world-class experts in security.
- The users of this application are the only owners of the shards created by the application. Ledger can not be held accountable in case of the mismanagement of the shards.
- Ledger Recover is the safest most user-friendly solution for Ledger users, as the storage of the encrypted shares is securely organized for you and dispatched across 3 companies in 3 different countries – click here for more details.
- If Ledger users are nonetheless interested in the self-Recover solution they can see how to use it here.