Skip to content

MFA key derivation #435

@GhenadieVP

Description

@GhenadieVP
  • Define a type wrapping FactorInstance -> MFAFactorInstance. FactorInstance has everything needed, but wrap in a type to allow extensibility.
  • Define a new entry in Profile in networks to store derived MFAFI.
  • Define a new Sargon API something like getNewMFAPublicKey:
    • MFAFI storage is empty:
      • Derive transaction signing securified factor instance. To decide if only 1 or many like 10.
      • Store the MFAFi.
      • Return the derive public key or/and signature NonFungible GlobalId to the Wallet.
      • Wallet displays the public key or/and signature NonFungible GlobalId.
    • MFAFI storage is not empty:

Algo

  1. Read MFAFI from storage
  2. Check MFAFIs usage through https://radix-babylon-gateway-api.redoc.ly/#operation/EntitiesByRoleRequirementLookup.
  3. If there is a MFAFI not used, return it.
  4. Otherwise -> derive new MFAFIs(Derive transaction signing securified factor instance). Take of properly increment the derivation path index.
  5. Store new MFAFIs in storage.
  6. Repeat 2.

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions