You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
or with a [[https://amzn.to/3IyMkGt][heat-laminating machine]] in [[https://amzn.to/3C1N3NI][full-page pouches]] (or in [[https://amzn.to/35z7RA5][index-card size pouches]]).
251
+
252
+
Ideally, use a [[https://amzn.to/3UJqBkB][heat-laminating machine]] in [[https://amzn.to/3G4ZmNu][full-page pouches]] (or in [[https://amzn.to/3G4Zuws][index-card size pouches]]). This is
Copy file name to clipboardExpand all lines: README.org
+50-2Lines changed: 50 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ and documentation of [[https://wolovim.medium.com/ethereum-201-hd-wallets-11d0c9
40
40
various SLIP-39 sharing parameters. It generates the new random wallet seed, and generates the
41
41
expected standard Ethereum account(s) (at [[https://medium.com/myetherwallet/hd-wallets-and-derivation-paths-explained-865a643c7bf2][derivation path]] =m/44'/60'/0'/0/0= by default) and Bitcoin
42
42
accounts (at Bech32 derivation path =m/84'/0'/0'/0/0= by default), with wallet address and QR code
43
-
(compatible with Trezor derivations). It produces the required SLIP-39 phrases, and outputs a
43
+
(compatible with Trezor and Ledger derivations). It produces the required SLIP-39 phrases, and outputs a
44
44
single PDF containing all the required printable cards to document the seed (and the specified
45
45
derived accounts).
46
46
@@ -819,6 +819,54 @@ recover your accounts to your Ledger (or other) hardware wallet.
819
819
820
820
#+LATEX: }
821
821
822
+
*** Serial Port Connected Secure Seed Enclave
823
+
824
+
What if you or your company wants to accept Crypto payments, and needs to generate a sequence of
825
+
wallets unique to each client? You *can* use an xpubkey and then generate a sequence of unique
826
+
addresses from that, which doesn't disclose any of your private key material:
Since you have to generate such an xpubkey from a "hardened" path, such as with =slip39.generate
843
+
--xpub ...=, you *still* need to run that tool chain on some secure "air gapped" computer. So,
844
+
how do you do that safely, knowing that you need to input your SLIP-39 or BIP-39 Mnemonics on
845
+
that computer? Especially, if you want to do this under any kind of automation, and deliver the
846
+
output xpubkey to your insecure business computer systems?
847
+
848
+
One solution is to have the computer hosting your Seed or Mnemonic private key material *only*
849
+
connected to your business computer systems with a guaranteed *safe* mechanism. Definitely
850
+
*not* with any kind of general purpose network system!
851
+
852
+
The solution: *The RS-232 Serial Port*
853
+
854
+
With USB to [[https://amzn.to/3DXSYol][DB-9 female]] to [[https://amzn.to/3toukby][DB-9 male]] serial adapters, any small computer with USB ports (such as
855
+
the [[https://amzn.to/3A6Gwlb][Raspberry Pi 400]]) can be connected serially and serve as your "secure" computer, storing
856
+
your Seed Mnemonic.
857
+
858
+
Remember to disable all other wired and wireless networking!
859
+
860
+
The RS-232 port on the "secure" computer can be protected from all incoming data transmissions,
861
+
make an exploit effectively impossible, while still allowing outgoing data (the generated
862
+
xpubkeys).
863
+
864
+
A DB-9 [[https://amzn.to/3EnLEEd][serial breakout]] board or custom serial adapter be easily constructed that disconnects pin
865
+
3 (TXD) on the "business" side from pin 2 (RXD) on the "secure" side, eliminating any chance of
866
+
data being sent to the "secure" side. The only electronic connection that transmits data to the
867
+
"secure" side is the hardware flow control pin 7 (RTS) to pin 8 (CTS). An exploit using this
868
+
single-bit approach vector is ... unlikely. :)
869
+
822
870
** The =slip39= module API
823
871
824
872
Provide SLIP-39 Mnemonic set creation from a 128-bit master secret, and recovery of the secret
@@ -1652,7 +1700,7 @@ recover your accounts to your Ledger (or other) hardware wallet.
1652
1700
1653
1701
To install from Pypi, including the optional requirements to run the PySimpleGUI/tkinter GUI,
1654
1702
support serial I/O, and to support creating encrypted BIP-38 and Ethereum JSON Paper Wallets:
0 commit comments