Internet-Draft HTTP Requester Impairment Status Code December 2023
Roda Expires 12 June 2024 [Page]
Workgroup:
HTTP
Internet-Draft:
draft-richardroda-420requesterimpaired-02
Published:
Intended Status:
Informational
Expires:
Author:
R. Roda, Ed.

An HTTP Status Code to Report Requester Impairment

Abstract

This document specifies a Hypertext Transfer Protocol (HTTP) status code for use when an operation or resource is denied due to requester impairment.

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 12 June 2024.

Table of Contents

1. Introduction

This document specifies a Hypertext Transfer Protocol (HTTP) status code for use when a request is denied because the requester is impaired.

This request code may be used to provide visibility in cases where one or more valid requests create a dangerous situation, there is a pattern of erratic requests with the potential for danger, or the requester is otherwise detected as impaired.

Network-controlled devices are being used for beneficial but potentially dangerous activities such as construction and remote surgery. Identifying requester impairment is important for both accurately assessing the risk a given requester presents and preventing damage caused by a high-risk requester.

1.1. Requirements Language

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.

2. 420 Requester Impaired

The status code 420 indicates that the server is denying the request as a consequence of evidence of requester impairment.

The server in question might not be an origin server. An intermediate proxy closer to the requester may be in a better position to assess potential requester impairment. Such a proxy may refuse to forward the request and respond with this error code.

There is no requirement that the requester be human. Certain AI systems can exhibit behaviors such as giving hallucinated, incorrect, and differing answers for a given input. Given the speed at which such AI operates, it is no less important to detect the impairment of AI requesters as human requesters.

This response code provides greater visibility for requester impairment than the 403 Forbidden code. Such visibility will aid network monitoring for impaired requesters. This will improve remediation and risk assessment of possibly impaired requesters.

Such responses MAY include the inputs or evidence used to determine impairment, but SHOULD NOT reveal information that a requester can use to evade impairment detection.

A 420 response is non-cacheable by default, i.e., unless otherwise indicated by the method definition or explicit cache controls; see [RFC9111].

AI
An artificial intelligence system that is capable of making independent decisions without direct human control.
proxy
A server with a primary purpose of forwarding requests to other servers to process.

HTTP/1.1 420 Requester Impaired
Content-Type: application/problem+json
Content-Language: en
{
    "type": "https://example.com/erratic-requests",
    "title": "Requester Impaired: Erratic Behavior Detected.",
    "detail": "Potentially dangerous and erratic requests detected."
}

Figure 1: Example Response in [RFC9457] Problem Details Format

3. IANA Considerations

IANA is asked to update the HTTP Status Codes Registry with the following entry:

4. Security Considerations

If the impaired requesters are identifiable because they have been authenticated, their requests SHOULD be denied until they have been determined not to be impaired. If the impaired requesters are unauthenticated, all requests SHOULD be denied until it can be determined that no impaired requesters are using the system.

5. References

5.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/info/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/info/rfc8174>.
[RFC9111]
Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., "HTTP Caching", STD 98, RFC 9111, DOI 10.17487/RFC9111, , <https://www.rfc-editor.org/info/rfc9111>.
[RFC9457]
Nottingham, M., Wilde, E., and S. Dalal, "Problem Details for HTTP APIs", RFC 9457, DOI 10.17487/RFC9457, , <https://www.rfc-editor.org/info/rfc9457>.

Author's Address

Richard Roda (editor)