Page 48 - Implementation of Secure Authentication Technologies for Digital Financial Services
P. 48

Figure 32 – Registration process of FIDO








































            The enrolment steps are:
              ⓪   Application Requests Registration - The application makes the initial registration request after completing identity
                  proofing / KYC and within the same session or trusted environment.
              ①   Server Sends Challenge, User Info, and Relying Party Info - The server sends a challenge, user information, and
                  relying party information to the Relying Party Application. The Relying Party Application can be a mobile, web,
                  native, or other application and its implementation is outside of the scope of the FIDO specifications. The proto-
                  col for communicating with the server is not specified and is also outside of the scope of FIDO. Typically, server
                  communications would be REST over TLS, but they could also be SOAP, RFC 2549 or nearly any other protocol
                  provided that the communication channel is secure. The parameters received from the server will be passed to the
                  client to create credentials, typically with little or no modification..
              ②   Client Calls authenticatorMakeCredential on Authenticator via CTAP - Internally, the client will validate the param-
                  eters and fill in any defaults, which become the clientData. One of the most important parameters is the origin,
                  which is recorded as part of the clientData so that the origin can be verified by the server later. The parameters to
                  the credentialCreate call are passed to the authenticator, along with a SHA-256 hash of the clientData (only a hash
                  is sent because the link to the authenticator may be a low-bandwidth NFC or Bluetooth link and the authenticator
                  is just going to sign over the hash to ensure that it isn't tampered with).
              ③   Authenticator Creates New Key Pair and Attestation - Before doing anything, the authenticator will typically ask
                  for some form of user verification. This could be entering a PIN, using a fingerprint, doing an iris scan, etc. to prove
                  that the user is present and consenting to the registration. After the user verification, the authenticator will create a
                  new asymmetric key pair and safely store the private key for future reference. The public key will become part of the
                  attestation, which the authenticator will sign over with a private key that was burned into the authenticator during
                  its manufacturing process and that has a certificate chain that can be validated back to a root of trust.
              ④   Authenticator Returns Data to Client - The new public key, a globally unique credential id, and other attestation
                  data are returned to the client where they become the attestationObject.
              ⑤   Client Creates Final Data, Application sends response to Server – The authenticatorMakeCredential call returns
                  a PublicKeyCredential, which has a rawId that is the globally unique credential id along with a response that is
                  the authenticator’s attestation response containing the clientData and the attestationObject. The PublicKeyCre-
                  dential is sent back to the server using any desired formatting and protocol.




           46    Implementation of Secure Authentication Technologies for Digital Financial Services
   43   44   45   46   47   48   49   50   51   52   53