Database structure

Prev Next

Running your own SDK-based FIDO server requires data storage. Most of the data processed by the protocol classes needs to be persistent; the recommended approach is to use a relational SQL database. The SDK package contains the db-schema.sql file, with CREATE statements that can be executed in your database to generate the correct data structure.

Table: Required database tables contains a brief description of each database table required by the SDK.

  Table:  Required database tables
Table nameDescription
DISPLAY_PNG_CHARACTERISTICS_DESCRIPTORSPNG image characteristics, including width, height, bit depth, compression, etc.
ASSERTIONSRepresentation of a registered key specified by the application ID, user name, and authenticator.
RGB_PALETTE_ENTRY Three-sample RGB palette entry.
POLICIES Contains specifications of accepted and disallowed authenticators.
MATCH_CRITERIA_SET Table with sets of match criteria.
MATCH_CRITERIARepresentation of matching criteria that are used in the server policy.
MATCH_CRITERIA_AAIDTable containing mappings between match criteria and AAID (authenticator attestation ID).
MATCH_CRITERIA_ASSERTION_SCHEMESTable containing mappings between match criteria and assertion schemes.
MATCH_CRITERIA_ATTESTATION_TYPES Table containing mappings between match criteria attestation types.
MATCH_CRITERIA_AUTHENTICATION_ALGORITHMS Table containing mappings between match criteria and authentication algorithms.
MATCH_CRITERIA_EXTENSION Table containing mappings between match criteria and the extension.
MATCH_CRITERIA_KEY_IDSTable containing mappings between match criteria and key IDs.
MATCH_CRITERIA_VENDOR_IDTable containing mappings between match criteria and <-> the vendor ID.
RELYING_PARTY_ENTITY Representation of the website or other party that uses the UAF protocol to authenticate users.
RELYING_PARTY_ENTITY_TRUSTED_FACET_IDSTable containing mappings between the relying party and trusted Facet IDs.

Figure: Relationships between the database tables illustrates the relationships between the database tables.

Figure:  Relationships between the database tables