Presentations timestamps
Presentations timestamps
Emitting and validating presentations with timestamps
A use case of the Verifiable Credential model{% include rif-id-ref.html id="7" %} is the presentation of credentials person to person, using QR codes. This article expresses some considerations that are important when implementing verification of this kind of presentations.
- Verifiable Presentations (VP) should always be signed by a DID controller.
- VC presentations (VP) must contain a
presentation_date
and, optionally, anexpiration_date
. - Verifier should check both dates to make sure it is a Presentation that was signed at the verification time. If no
expiration_date
is present the Verifier should have a (configurable) parameterpresentation_grace
from thepresentation_date
, for examplepresentation_grace=1 minute
. This prevents replay attacks. - A recommended verification user experience is:
- Verifier asks credential to Holder
- Holder selects a credential
- Holder taps on show QR button
- Holder shows QR
- Verifier scans QR
- Verifier app verifies VP
- Verifier app displays presented credentials information
- Verifier validates information
- To prove that the person presenting the credential is really the owner of the credential, it is advisable to request that they present a verified photo of themselves, or other kind of physical proof
- The verifier app could stablish a communication channel when scanning the holder's QR and request a challenge-response authentication to prove control of the DID - a new protocol can be defined for this specific case
- It is important to remark the difference between proving DID control and proving the person is the real owner