Portafoglio utilizzando l'enclave sicura dell'iPhone
2 risposta
- voti
-
- 2019-02-23
Almomentononesiste unportafoglioperiOS che utilizzi l'enclave sicura. Magli accounttz3 utilizzano la crittografiap-256e sono statiinseritiprincipalmenteper supportareiOS,Androide altri dispositivi compatibili solo conp-256. C'è stato del lavoro su contrattimultisig destinati all'uso conportafoglibasati suenclave sicuri,mi aspetto che vedremopresto qualcosa.
La sfidaprincipale è che,a differenza di un dispositivoportafoglio hardware come Ledger,l'enclave sicuranon consente l'importazione/il ripristino di una chiave. Le chiavi vengono createinternamentee non lascianomai l'enclave,quindinon c'èesportazione. Ciò rendeilbackup/ripristinoimpegnativonel caso di un dispositivoperso. La soluzionepiù comune sarà unmultisigin cui la chiavebasata sull'enclave è solo 1 di x.
Ecco come Apple descrive l'enclave sicura:
I vantaggi di Secure Enclave sonobilanciati da alcune limitazioni. Inparticolare,Secure Enclave:
-
È unafunzionalità hardware delprocessore Apple A7 o successivo della serie A. Soloi dispositiviiOS con uno di questiprocessori o un MacBook Pro con Touch Bare Touch ID supportano questafunzione.
-
Memorizza solo chiaviprivate con curvaellittica a 256bit. Queste chiavipossonoessere utilizzate soloper crearee verificarefirme crittografiche oper lo scambio di chiavi Diffie-Hellman a curvaellittica (eperestensione,crittografia simmetrica).
-
Impossibileimportare chiavipreesistenti. Ènecessario creare chiavi direttamente all'interno di Secure Enclave. Non avere unmeccanismopertrasferirei dati chiave dentro ofuori Secure Enclave èfondamentaleper la sua sicurezza.
( source )
There isn't currently a wallet for iOS using the secure enclave. But the tz3 accounts use p-256 encryption and were put in primarily to support iOS, Android, and other devices which are only compatible with p-256. There has been some work toward multisig contracts intended for use with secure enclave based wallets, I would expect we will see something soon.
The main challenge is that unlike a hardware wallet device such as Ledger, the secure enclave does not allow the importing/restoring of a key. The keys are created internally and never leave the enclave so there is no export. This makes backup/restore challenging in the case of a lost device. The most common solution will be a multisig where the enclave based key is only 1 of x.
This is how Apple describes the secure enclave:
The benefits of the Secure Enclave are balanced against a few restrictions. In particular, the Secure Enclave:
Is a hardware feature of the Apple A7 or later A-series processor. Only iOS devices with one of these processors or a MacBook Pro with the Touch Bar and Touch ID support this feature.
Stores only 256-bit elliptic curve private keys. These keys can only be used for creating and verifying cryptographic signatures, or for elliptic curve Diffie-Hellman key exchange (and by extension, symmetric encryption).
Can’t import preexisting keys. You must create keys directly inside the Secure Enclave. Not having a mechanism to transfer key data into or out of the Secure Enclave is fundamental to its security.
(source)
-
- 2019-05-06
Taylor Keefer hamostrato unprototipo di appiOSil 6maggio 2019in un articolo Medium " Firma ditransazioni Tezos con Secure Enclavee Face ID diiOS ".Comenella soluzione descritta da @cousinit,questoprototipo utilizza uno "smart contractmultifirma 1 di 2" con una seconda chiave utilizzatanel casoin cui l'accesso alla chiavenell'enclave sicuranon siapiù disponibile.
Taylor Keefer demonstrated a prototype iOS app on May 6, 2019 in a Medium article "Signing Tezos Transactions with iOS’s Secure Enclave and Face ID". As in the solution described by @cousinit, this prototype uses a "1 of 2 multi signature smart contract" with a second key used in case the access to the key in the secure enclave is not available anymore.
La curva difirma P-256puòessere utilizzatapergli accounttz3.
Una delleenclave sicurein grado dimemorizzare una curvaellittica a 256bit come P-256 è quellapresentenegliiPhonee nei Mac con Touch ID o Face ID.
Esiste unportafoglio o unprogetto Tezosin grado di sfruttare questaenclave?Quali sono leprincipali sfide di un simileprogetto?