Internet-Draft Additional AMR Values November 2026
Agarwal, et al. Expires 6 May 2027 [Page]
Workgroup:
Web Authorization Protocol
Internet-Draft:
draft-skyfire-oauth-amr-values-03
Updates:
8176 (if approved)
Published:
Intended Status:
Standards Track
Expires:
Authors:
A. Agarwal
Skyfire Systems Inc.
M. Jones
Self-Issued Consulting
N. Ali
Experian
S. Thumma
Akamai

Additional Authentication Method Reference Values

Abstract

The JWT "amr" (Authentication Methods References) claim contains values conveying authentication methods used in the authentication. This specification defines additional Authentication Method Reference values beyond those already registered to represent additional authentication methods in use today.

About This Document

This note is to be removed before publishing as an RFC.

The latest revision of this draft can be found at https://skyfire-xyz.github.io/draft-skyfire-oauth-amr-values/draft-skyfire-oauth-amr-values.html. Status information for this document may be found at https://datatracker.ietf.org/doc/draft-skyfire-oauth-amr-values/.

Source for this draft and an issue tracker can be found at https://github.com/skyfire-xyz/draft-skyfire-oauth-amr-values.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 6 May 2027.

▲

Table of Contents

1. Introduction

The JWT [RFC7519] "amr" (Authentication Methods References) claim [OpenID.Core] contains values conveying authentication methods used in the authentication. They are registered in the IANA "Authentication Method Reference Values" registry [IANA.AMR].

Since the Authentication Method Reference Values [RFC8176] specification was published, several new authentication methods have been developed and/or come into widespread use. This specification defines additional Authentication Method Reference values to represent these additional authentication methods in use today.

While these Authentication Method Reference values are general purpose and can be used in any JSON Web Token (JWT) [RFC7519], one use case for them is use in KYAPay tokens [I-D.skyfire-oauth-kyapay-token].

2. Conventions and Definitions

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

3. Authentication Method Reference Values

The following Authentication Method Reference values are defined by this specification:

3.1. "app" (Authenticator App) Method

app:

Use of an authenticator application on a device held by the user. An issuer includes this value where it knows that an authenticator application was used. Where a code is produced from a shared secret and the issuer cannot determine what produced it, this value is omitted.

An authenticator application commonly acts as an OTP authenticator or as an out-of-band authenticator, as described in Sections 3.1.3 to 3.1.5 of [NIST.SP.800-63B-4].

3.2. "bg" (Background Authentication) Method

bg:

Background Authentication (Silent network authentication of phone number, device recognition, geo-location, etc.)

The "sna" value (Section 3.3) identifies one specific background method and is a subset of this value. Geo-location is separately registered as "geo" and device recognition is within the scope of "rba", both in [RFC8176].

3.3. "sna" (Silent Network Authentication) Method

sna:

Silent Network Authentication. Confirmation by the mobile network operator that the device making the request holds the subscriber identity associated with a given telephone number, performed without any interaction with the user. An example is the Number Verification API [CAMARA.NumberVerification].

3.4. "email" (E-mail Channel) Method

email:

Use of e-mail as the channel by which an authentication interaction reached the user. What was delivered over the channel is described by an accompanying value such as "code" or "url". See Section 5.

E-mail is not an acceptable channel for out-of-band authentication under Section 3.1.3.1 of [NIST.SP.800-63B-4]. See Section 6.

3.5. "code" (Code provided to and entered by user) Method

code:

Code provided to and entered by user

For example, a secret received on an out-of-band device and entered into the authentication session, as described in Section 3.1.3 of [NIST.SP.800-63B-4].

3.6. "url" (URL provided to and clicked on by user) Method

url:

URL provided to and clicked on by user

3.7. "push" (Push notification to mobile phone) Method

push:

Push notification to mobile phone

An out-of-band authentication interaction in which the verifier reaches an application on the user's device over a secondary channel, as described in Section 3.1.3 of [NIST.SP.800-63B-4].

3.8. "facliv" (Facial Liveness Check) Method

facliv:

Determination that a facial image or video presented for authentication is of a live person rather than an artifact such as a photograph, mask, or synthetic rendering. This is a presentation attack detection measure [ISO30107-1].

The "facliv" and "face" [RFC8176] values describe different determinations and are not alternatives: "face" is a comparison of a presented face against a reference, and "facliv" is a determination that the presented face is live. Where both were performed, both values are included.

3.9. "passkey" (Passkey) Method

passkey:

A passkey, that is, a client-side discoverable credential as defined by [WebAuthn].

3.10. "mdc" (Multi-Device Credential) Method

mdc:

Use of a multi-device credential as defined by [WebAuthn], that is, a backup-eligible credential, which may be backed up and synchronized to other devices. Multi-device credentials are commonly referred to as synced passkeys. A WebAuthn Relying Party learns whether a credential is backup eligible from the flags in the authenticator data.

This value describes whether a credential may be replicated. It is independent of how the key is protected on any one device, which "hwk" and "swk" [RFC8176] describe. Where both are known, both are included.

The absence of this value does not indicate that a credential is a single-device credential.

3.11. "uv" (User Verification) Method

uv:

User verification. Local authorization of the authenticator by an authorization gesture capable of distinguishing individual users, such as a PIN, a password, or biometric recognition [WebAuthn].

This is distinct from "user" [RFC8176], which is a test of user presence. As [WebAuthn] states, a user presence test "is not capable of biometric recognition, nor does it involve the presentation of a shared secret such as a password or PIN".

This value does not identify which modality the authenticator used.

4. Updated Authentication Method Reference Value

The following Authentication Method Reference value is updated by this specification:

4.1. "tel" (Telephone Call) Method

tel:

Telephone call to the user at a registered number. The call may be used to provide information to the user, such as a code, that is then used in another channel. The call may be used for the user to provide information that the caller uses in the authentication.

This definition replaces the one in [RFC8176], which is "Confirmation by telephone call to the user at a registered number. This authentication technique is sometimes also referred to as 'call back' [RFC4949]."

5. Composing Authentication Method Reference Values

The "amr" claim value is an array, and as described in [RFC8176], all the applicable values may be returned. A single authentication event is frequently described by more than one value, because the registered values describe different aspects of it.

The "email" and "push" values registered by this specification describe the channel by which an authentication interaction reached the person. [RFC8176] registers "sms" and "tel" in the same sense, and uses the term "channel" in this sense in its definition of "mca".

The "code" and "url" values describe challenges delivered over such a channel, which the person must return to the verifier to complete authentication. The person may return it directly, as when a code is read and typed in, or indirectly, as when following a link causes the value to be sent. The "otp" value [RFC8176] is related but narrower: it identifies a one-time password produced by an algorithm such as HOTP [RFC4226] or TOTP [RFC6238], typically generated by an authenticator rather than delivered over a channel. A code not produced by such an algorithm is described by "code".

A channel value alone does not say what the person did. A challenge value alone does not say how it reached them. An issuer that knows both will typically return both. Appendix A gives examples, and Appendix B maps terms in common industry use onto the corresponding sets of values.

The "sms" value registered by [RFC8176] predates this distinction. Its definition describes both a channel and the interaction carried over it, and is unchanged by this specification. An issuer wishing to be explicit about what was delivered over the SMS channel may return a challenge value alongside it.

6. Security Considerations

The security considerations defined in Authentication Method Reference Values [RFC8176] apply to this specification.

E-mail is not an acceptable channel for out-of-band authentication under Section 3.1.3.1 of [NIST.SP.800-63B-4], because an e-mail account may be accessible with only a password and messages may be intercepted or rerouted. A relying party evaluating an "amr" claim that includes "email" may wish to take this into account.

[NIST.SP.800-63B-4] also no longer accepts out-of-band authentication in which the user approves a request on the secondary channel without transferring a secret between the channels, because of authentication fatigue attacks. The "push" value alone does not indicate whether a secret was transferred. An issuer that knows a code was transferred returns "code" alongside it.

7. Privacy Considerations

The privacy considerations defined in Authentication Method Reference Values [RFC8176] apply to this specification.

8. IANA Considerations

8.1. Authentication Method References Registry

This specification registers the following Authentication Method Reference values in the IANA "Authentication Method Reference Values" registry [IANA.AMR] established by [RFC8176].

8.1.1. "app" Method

  • Authentication Method Reference Name: app

  • Authentication Method Reference Description: Authenticator App

  • Change Controller: IETF

  • Specification Document(s): Section 3.1 of this specification

8.1.2. "bg" Method

  • Authentication Method Reference Name: bg

  • Authentication Method Reference Description: Background Authentication

  • Change Controller: IETF

  • Specification Document(s): Section 3.2 of this specification

8.1.3. "sna" Method

  • Authentication Method Reference Name: sna

  • Authentication Method Reference Description: Silent Network Authentication

  • Change Controller: IETF

  • Specification Document(s): Section 3.3 of this specification

8.1.4. "email" Method

  • Authentication Method Reference Name: email

  • Authentication Method Reference Description: Use of e-mail as the channel for an authentication interaction

  • Change Controller: IETF

  • Specification Document(s): Section 3.4 of this specification

8.1.5. "code" Method

  • Authentication Method Reference Name: code

  • Authentication Method Reference Description: Code provided to and entered by user

  • Change Controller: IETF

  • Specification Document(s): Section 3.5 of this specification

8.1.6. "url" Method

  • Authentication Method Reference Name: url

  • Authentication Method Reference Description: URL provided to and clicked on by user

  • Change Controller: IETF

  • Specification Document(s): Section 3.6 of this specification

8.1.7. "push" Method

  • Authentication Method Reference Name: push

  • Authentication Method Reference Description: Push notification to mobile phone

  • Change Controller: IETF

  • Specification Document(s): Section 3.7 of this specification

8.1.8. "facliv" Method

  • Authentication Method Reference Name: facliv

  • Authentication Method Reference Description: Facial Liveness Check

  • Change Controller: IETF

  • Specification Document(s): Section 3.8 of this specification

8.1.9. "passkey" Method

  • Authentication Method Reference Name: passkey

  • Authentication Method Reference Description: Passkey

  • Change Controller: IETF

  • Specification Document(s): Section 3.9 of this specification

8.1.10. "mdc" Method

  • Authentication Method Reference Name: mdc

  • Authentication Method Reference Description: Multi-Device Credential

  • Change Controller: IETF

  • Specification Document(s): Section 3.10 of this specification

8.1.11. "uv" Method

  • Authentication Method Reference Name: uv

  • Authentication Method Reference Description: User Verification

  • Change Controller: IETF

  • Specification Document(s): Section 3.11 of this specification

8.1.12. "tel" Method

  • Authentication Method Reference Name: tel

  • Authentication Method Reference Description: Telephone call to the user at a registered number

  • Change Controller: IETF

  • Specification Document(s): Section 4.1 of this specification

9. References

9.1. Normative References

[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/rfc/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/rfc/rfc8174>.
[RFC8176]
Jones, M., Hunt, P., and A. Nadalin, "Authentication Method Reference Values", RFC 8176, DOI 10.17487/RFC8176, , <https://www.rfc-editor.org/rfc/rfc8176>.

9.2. Informative References

[CAMARA.NumberVerification]
CAMARA Project, "Number Verification API, version 2.1.0", , <https://github.com/camaraproject/NumberVerification/blob/r3.2/code/API_definitions/number-verification.yaml>.
[I-D.skyfire-oauth-kyapay-token]
Agarwal, A. and M. B. Jones, "KYAPay Token", Work in Progress, Internet-Draft, draft-skyfire-oauth-kyapay-token-02, , <https://datatracker.ietf.org/doc/html/draft-skyfire-oauth-kyapay-token-02>.
[IANA.AMR]
IANA, "Authentication Method Reference Values", <https://www.iana.org/assignments/authentication-method-reference-values>.
[ISO30107-1]
International Organization for Standardization, "Information technology - Biometric presentation attack detection - Part 1: Framework", ISO/IEC 30107-1:2023, , <https://www.iso.org/standard/83828.html>.
[NIST.SP.800-63B-4]
National Institute of Standards and Technology, "Digital Identity Guidelines: Authentication and Authenticator Management", NIST Special Publication 800-63B-4, , <https://pages.nist.gov/800-63-4/sp800-63b.html>.
[OpenID.Core]
Sakimura, N., Bradley, J., Jones, M. B., Medeiros, B. de., and C. Mortimore, "OpenID Connect Core 1.0 incorporating errata set 2", , <https://openid.net/specs/openid-connect-core-1_0.html>.
[RFC4226]
M'Raihi, D., Bellare, M., Hoornaert, F., Naccache, D., and O. Ranen, "HOTP: An HMAC-Based One-Time Password Algorithm", RFC 4226, DOI 10.17487/RFC4226, , <https://www.rfc-editor.org/rfc/rfc4226>.
[RFC4949]
Shirey, R., "Internet Security Glossary, Version 2", FYI 36, RFC 4949, DOI 10.17487/RFC4949, , <https://www.rfc-editor.org/rfc/rfc4949>.
[RFC6238]
M'Raihi, D., Machani, S., Pei, M., and J. Rydell, "TOTP: Time-Based One-Time Password Algorithm", RFC 6238, DOI 10.17487/RFC6238, , <https://www.rfc-editor.org/rfc/rfc6238>.
[RFC7519]
Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token (JWT)", RFC 7519, DOI 10.17487/RFC7519, , <https://www.rfc-editor.org/rfc/rfc7519>.
[WebAuthn]
Cappalli, T., Kumar, A., Lundberg, E., Miller, M., Pascoe, and N. Satragno, "Web Authentication: An API for accessing Public Key Credentials - Level 3", W3C Recommendation, , <https://www.w3.org/TR/2026/REC-webauthn-3-20260825/>.

Appendix A. Examples

The following "amr" claim value indicates that a code was sent to the user over the e-mail channel and entered by the user:

"amr": ["email", "code"]

The following "amr" claim value indicates that a link was sent to the user over the e-mail channel and followed by the user:

"amr": ["email", "url"]

The following "amr" claim value indicates that a one-time password was generated by an authenticator application and entered by the user:

"amr": ["app", "otp"]

The following "amr" claim value indicates that a password was used together with a code sent over the e-mail channel, and that the issuer considers the combination to be multiple-factor authentication:

"amr": ["pwd", "email", "code", "mfa"]

Appendix B. Common Compositions

The terms below are names in common industry use for authentication arrangements that this specification describes using more than one value. This mapping is non-normative. It is provided so that implementers of the same arrangement emit the same set of values.

Email one-time code, also called email OTP:

["email", "code"]

Magic link, also called e-mail link sign-in:

["email", "url"]

SMS one-time code:

["sms", "code"]. As noted in Section 5, "sms" predates the channel and challenge distinction, and ["sms"] remains correct.

Voice one-time code, where a call conveys a code that the user then enters:

["tel", "code"]

Call-back confirmation, where the user confirms during the call itself:

["tel"]

Authenticator application one-time password:

["app", "otp"]

Push approval:

["push"]

Push approval with number matching:

["push", "code"]

Silent network authentication:

["sna"]

Facial recognition with a liveness check:

["face", "facliv"]

Device-bound passkey held in hardware, such as on a security key:

["passkey", "hwk"]

Synced passkey:

["passkey", "mdc"]. "hwk" or "swk" is added where the issuer knows how the key is protected.

Acknowledgments

We would like to thank Jean Diaconu, Max Gerber, and Rob Zagarella for their contributions to the specification.

Document History

[[ to be removed by the RFC Editor before publication as an RFC ]]

-03

-02

-01

-00

Authors' Addresses

Ankit Agarwal
Skyfire Systems Inc.
Michael B. Jones
Self-Issued Consulting
Nash Ali
Experian
Srinivasa Thumma
Akamai