@@ -190,7 +190,7 @@ In order to use DBSC, site owners need to establish two new endpoints:
190190the registration endpoint and the refresh endpoint.
191191
192192The registration endpoint is contacted asynchronously after the browser receives
193- the Sec -Session-Registration header. This endpoint should:
193+ the Secure -Session-Registration header. This endpoint should:
194194- Serve the session config, including a new session id.
195195- Persist and associate the request's public key with the session id.
196196
@@ -201,7 +201,7 @@ cause browser agents to begin denial-of-service prevention mechanisms, or even
201201terminate the session. Both could lead to future requests without bound
202202cookies. The expected behavior of this endpoint is:
203203- Look up the public key and recent challenges for the session by id.
204- - Validate the Sec -Session-Response header has signed a recent challenge with
204+ - Validate the Secure -Session-Response header has signed a recent challenge with
205205 the correct key. Note that due to network latency and race conditions, it's
206206 possible to receive a signature for an old challenge after issuing a new
207207 challenge.
@@ -419,7 +419,7 @@ The <dfn>session credential</dfn> is a [=struct=] with the following
419419 Given a [=response=] (|response|), this algorithm updates the [=device bound
420420 session/cached challenge=] for a [=device bound session=] .
421421
422- 1. Let |header name| be "<code> Sec -Session-Challenge</code> ".
422+ 1. Let |header name| be "<code> Secure -Session-Challenge</code> ".
423423 1. Let |challenge list| be the result of executing <a>get a structured
424424 field value</a> given |header name| and "list" from |response|’s
425425 [=response/header list=] .
@@ -464,7 +464,7 @@ The <dfn>session credential</dfn> is a [=struct=] with the following
464464 1. Set |request|'s [=request/URL=] to |destination|.
465465 1. Set |request|'s [=request/header list=] to « ».
466466 1. If |signed challenge| is non-null, [=header list/append=] the header
467- ("Sec -Session-Response", |signed challenge|) to |request|'s
467+ ("Secure -Session-Response", |signed challenge|) to |request|'s
468468 [=request/header list=] .
469469 1. If |authorization| is non-null, [=header list/append=] the header
470470 ("Authorization", |authorization|) to |request|'s [=request/header list=] .
@@ -545,7 +545,7 @@ The <dfn>session credential</dfn> is a [=struct=] with the following
545545<div class="algorithm" data-algorithm="process-registration">
546546To <dfn export id="create-session">create a new session</dfn> due to the
547547[=response=] (|response|) to a [=request=] (|request|), do the following steps:
548- 1. Let |header name| be "<code> Sec -Session-Registration</code> ".
548+ 1. Let |header name| be "<code> Secure -Session-Registration</code> ".
549549 1. Let |registration list| be the result of executing <a>get a structured
550550 field value</a> given |header name| and "list" from |response|’s
551551 [=response/header list=] .
@@ -557,7 +557,7 @@ To <dfn export id="create-session">create a new session</dfn> due to the
557557 1. [=list/For each=] |algorithm| → |registration entry|
558558 1. If |algorithm| is not an <a>sf-token</a> , [=iteration/continue=] .
559559 1. If |algorithm| represents a crypto algorithm supported in
560- [:Sec -Session-Registration:] , and is supported on this client, add
560+ [:Secure -Session-Registration:] , and is supported on this client, add
561561 |algorithm| to |algorithm list|
562562 1. If |algorithm list| is empty, [=iteration/continue=] .
563563 1. If |params|["path"] does not exist, or is not of type <a>sf-string</a> ,
@@ -595,16 +595,16 @@ id="add-debug-header">add the debug header</dfn> to a [=request=]
595595</div>
596596
597597# DBSC Formats # {#format}
598- ## \``Sec -Session-Registration`\` HTTP header field ## {#header-sec -session-registration}
599- The \`<dfn export http-header id="sec -session-registration-header">
600- <code>Sec -Session-Registration</code></dfn> \` header field can be used in a
598+ ## \``Secure -Session-Registration`\` HTTP header field ## {#header-secure -session-registration}
599+ The \`<dfn export http-header id="secure -session-registration-header">
600+ <code>Secure -Session-Registration</code></dfn> \` header field can be used in a
601601[=response=] by the server to start a new [=/device bound session=] on the
602602client.
603603
604- [:Sec -Session-Registration:] is a List Structured Header [[RFC9651]] . Its ABNF
604+ [:Secure -Session-Registration:] is a List Structured Header [[RFC9651]] . Its ABNF
605605is:
606606
607- <pre class="abnf"> Sec -Session-Registration = <a>sf-list</a> </pre>
607+ <pre class="abnf"> Secure -Session-Registration = <a>sf-list</a> </pre>
608608
609609Each item in the list must be an inner list, and each item in the inner list
610610MUST be an <a>sf-token</a> representing a supported algorithm (ES256, RS256).
@@ -622,46 +622,46 @@ The following <a>sf-parameter</a>s are defined:
622622 <a>sf-string</a> . This <a>sf-parameter</a> will be copied into the
623623 registration JWT.
624624
625- <div class="example" id="sec -session-registration-example">
626- Some examples of [:Sec -Session-Registration:] from
625+ <div class="example" id="secure -session-registration-example">
626+ Some examples of [:Secure -Session-Registration:] from
627627 https://example.com/login.html:
628628
629629 ```html
630630 HTTP/1.1 200 OK
631- Sec -Session-Registration: (ES256);path="reg";challenge="cv";authorization="ac"
631+ Secure -Session-Registration: (ES256);path="reg";challenge="cv";authorization="ac"
632632 ```
633633 ```html
634634 HTTP/1.1 200 OK
635- Sec -Session-Registration: (ES256 RS256);path="reg";challenge="cv"
635+ Secure -Session-Registration: (ES256 RS256);path="reg";challenge="cv"
636636 ```
637637 ```html
638638 HTTP/1.1 200 OK
639- Sec -Session-Registration: (ES256);path="reg1";challenge="cv1";authorization="a"
640- Sec -Session-Registration: (RS256);path="reg2";challenge="cv2";authorization="b"
639+ Secure -Session-Registration: (ES256);path="reg1";challenge="cv1";authorization="a"
640+ Secure -Session-Registration: (RS256);path="reg2";challenge="cv2";authorization="b"
641641 ```
642642 ```html
643643 HTTP/1.1 200 OK
644- Sec -Session-Registration: (ES256);path="reg1";challenge="cv1";authorization="a", (RS256);path="reg2";challenge="cv2";authorization="b"
644+ Secure -Session-Registration: (ES256);path="reg1";challenge="cv1";authorization="a", (RS256);path="reg2";challenge="cv2";authorization="b"
645645 ```
646646</div>
647647
648- ## \``Sec -Session-Challenge`\` HTTP Header Field ## {#header-sec -session-challenge}
649- The \`<dfn export http-header id="sec -session-challenge-header">
650- <code>Sec -Session-Challenge</code></dfn> \` header field can be used in a
648+ ## \``Secure -Session-Challenge`\` HTTP Header Field ## {#header-secure -session-challenge}
649+ The \`<dfn export http-header id="secure -session-challenge-header">
650+ <code>Secure -Session-Challenge</code></dfn> \` header field can be used in a
651651[=response=] by the server to send a challenge to the client that it expects to
652- be used in future Sec -Session-Response headers inside the [=DBSC proof=] , or to
652+ be used in future Secure -Session-Response headers inside the [=DBSC proof=] , or to
653653request a newly signed [=DBSC proof=] right away if the [=response/status=]
654654is 403.
655655
656- [:Sec -Session-Challenge:] is a structured header. Its value must be a string.
656+ [:Secure -Session-Challenge:] is a structured header. Its value must be a string.
657657Its ABNF is: <pre class="abnf"> SecSessionChallenge = <a>sf-string</a> </pre>
658658The semantics of the item are defined in
659659[[#challenge-structured-header-serialization]] .
660660
661661The processing steps are defined in [[#algo-process-challenge]] .
662662
663- ### Sec -Session-Challenge structured header serialization ### {#challenge-structured-header-serialization}
664- The [:Sec -Session-Challenge:] is represented as a Structured Field.[[!RFC9651]]
663+ ### Secure -Session-Challenge structured header serialization ### {#challenge-structured-header-serialization}
664+ The [:Secure -Session-Challenge:] is represented as a Structured Field.[[!RFC9651]]
665665
666666In this representation, a challenge is represented by a string.
667667
@@ -673,68 +673,68 @@ Note: The server might need to use this header to request the [=DBSC proof=] to
673673be signed with a new challenge before a session id has been assigned. In this
674674case the session ID is optional.
675675
676- <div class="example" id="sec -session-challenge-example">
677- Some examples of [:Sec -Session-Challenge:] from
676+ <div class="example" id="secure -session-challenge-example">
677+ Some examples of [:Secure -Session-Challenge:] from
678678 https://example.com/login.html:
679679
680680 ```html
681681 HTTP/1.1 403 Forbidden
682- Sec -Session-Challenge: "new challenge"
682+ Secure -Session-Challenge: "new challenge"
683683 ```
684684 ```html
685685 HTTP/1.1 403 Forbidden
686- Sec -Session-Challenge: "new challenge";id="my session"
686+ Secure -Session-Challenge: "new challenge";id="my session"
687687 ```
688688 ```html
689689 HTTP/1.1 200 OK
690- Sec -Session-Challenge: "new challenge";id="my session"
690+ Secure -Session-Challenge: "new challenge";id="my session"
691691 ```
692692 ```html
693693 HTTP/1.1 200 OK
694- Sec -Session-Challenge: "new challenge";id="my session 1"
695- Sec -Session-Challenge: "another challenge";id="my session 2"
694+ Secure -Session-Challenge: "new challenge";id="my session 1"
695+ Secure -Session-Challenge: "another challenge";id="my session 2"
696696 ```
697697 ```html
698698 HTTP/1.1 200 OK
699- Sec -Session-Challenge: "c1";id="session 1", "c2";id="session 2"
699+ Secure -Session-Challenge: "c1";id="session 1", "c2";id="session 2"
700700 ```
701701</div>
702702
703- ## `Sec -Session-Response` HTTP Header Field ## {#header-sec -session-response}
704- The \`<dfn export http-header id="sec -session-response-header">
705- <code>Sec -Session-Response</code></dfn> \` header field can be used in the
703+ ## `Secure -Session-Response` HTTP Header Field ## {#header-secure -session-response}
704+ The \`<dfn export http-header id="secure -session-response-header">
705+ <code>Secure -Session-Response</code></dfn> \` header field can be used in the
706706[=request=] by the user agent to send a [=DBSC proof=] to the server to prove
707707that the client is still in possession of the private key of the session key.
708708
709- \`<a http-header><code>Sec -Session-Response</code></a> \` is a structured
709+ \`<a http-header><code>Secure -Session-Response</code></a> \` is a structured
710710header. Its value must be a string. It's ABNF is:
711711<pre class="abnf"> SecSessionChallenge = <a>sf-string</a> </pre>
712712This string MUST only contain the [=DBSC proof=] JWT. Any <a>sf-parameter</a> s SHOULD be
713713ignored.
714714
715- <div class="example" id="sec -session-response-example">
715+ <div class="example" id="secure -session-response-example">
716716 ```html
717717 POST example.com/refresh
718- Sec -Session-Response: "eyJhbGciOiJFUzI1NiIsInR5cCI6ImRic2Mrand0In0.eyJhdWQiOiJodHRwczovL2V4YW1wbGUuY29tL3JlZyIsImp0aSI6ImN2IiwiaWF0IjoiMTcyNTU3OTA1NSIsImp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6IjZfR0Iydm9RMHFyb01oNk9sREZDRlNfU0pyaVFpMVBUdnZCT2hHWjNiSEkiLCJ5IjoiSWVnT0pVTHlFN1N4SF9DZDFLQ0VSN2xXQnZHRkhRLWgweHlqelVqRUlXRSJ9LCJhdXRob3JpemF0aW9uIjoiYWMifQ.6Fb_vVBDmfNghQiBmIGe8o7tBfYPbPCywhQruP0vIhxgmcJmuNTaMHeVn_M8ZnOm1_bzIitbZqCWEn-1Qzmtyw"
718+ Secure -Session-Response: "eyJhbGciOiJFUzI1NiIsInR5cCI6ImRic2Mrand0In0.eyJhdWQiOiJodHRwczovL2V4YW1wbGUuY29tL3JlZyIsImp0aSI6ImN2IiwiaWF0IjoiMTcyNTU3OTA1NSIsImp3ayI6eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6IjZfR0Iydm9RMHFyb01oNk9sREZDRlNfU0pyaVFpMVBUdnZCT2hHWjNiSEkiLCJ5IjoiSWVnT0pVTHlFN1N4SF9DZDFLQ0VSN2xXQnZHRkhRLWgweHlqelVqRUlXRSJ9LCJhdXRob3JpemF0aW9uIjoiYWMifQ.6Fb_vVBDmfNghQiBmIGe8o7tBfYPbPCywhQruP0vIhxgmcJmuNTaMHeVn_M8ZnOm1_bzIitbZqCWEn-1Qzmtyw"
719719 ```
720720</div>
721721
722- ## `Sec-Session-Id` HTTP Header Field ## {#header-sec-session-id}
723- The \`<dfn export http-header id="sec-session-id-header">
724- <code>Sec-Session-Id</code></dfn> \` header field can be used in the
722+ ## `Sec-Secure- Session-Id` HTTP Header Field ## {#header-sec-secure -session-id}
723+ The \`<dfn export http-header id="sec-secure- session-id-header">
724+ <code>Sec-Secure- Session-Id</code></dfn> \` header field can be used in the
725725[=request=] by the user agent to request the current session is refreshed,
726726with the current session identifier as a string argument.
727727
728- \`<a http-header><code>Sec-Session-Id</code></a> \` is a structured header.
728+ \`<a http-header><code>Sec-Secure- Session-Id</code></a> \` is a structured header.
729729Its value must be a string. It's ABNF is:
730730<pre class="abnf"> SecSessionChallenge = <a>sf-string</a> </pre>
731731This string MUST only contain the session identifier. Any parameters SHOULD be
732732ignored.
733733
734- <div class="example" id="sec-session-id-example">
734+ <div class="example" id="sec-secure- session-id-example">
735735 ```html
736736 POST example.com/refresh
737- Sec-Session-Id: "session-id"
737+ Sec-Secure- Session-Id: "session-id"
738738 ```
739739</div>
740740
@@ -793,7 +793,7 @@ At the root of the JSON object, the following keys can exist:
793793 :: a [=boolean=] describing the wanted session behavior during a session
794794 refresh. If this value is true all requests related to this session will be
795795 deferred while the session is refreshed. If instead the value is false every
796- request will instead be sent as normal, but with a [:Sec -Session-Response:]
796+ request will instead be sent as normal, but with a [:Secure -Session-Response:]
797797 header containing the [=DBSC proof=] .
798798 This key is OPTIONAL, and if not present a value of true is default.
799799
@@ -816,7 +816,7 @@ At the root of the JSON object, the following keys can exist:
816816 [[#algo-request-in-scope]] for details.
817817</dl>
818818
819- <div class="example" id="sec -session-instruction-example">
819+ <div class="example" id="secure -session-instruction-example">
820820 ```json
821821 {
822822 "session_identifier": "session_id",
@@ -948,11 +948,11 @@ The payload of [=DBSC proof=] MUST contain at least the following claims:
948948</dl>
949949
950950In addition the following claims MUST be present if present in
951- [:Sec -Session-Registration:] :
951+ [:Secure -Session-Registration:] :
952952<dl dfn-for="DBSC proof">
953953 : <dfn>authorization</dfn>
954954 :: a [=string=] , direct copy of the string from
955- [:Sec -Session-Registration:] , if set there. Note that this string is
955+ [:Secure -Session-Registration:] , if set there. Note that this string is
956956 OPTIONAL to include in the header, but if it is present it is
957957 MANDATORY for clients to add the claim in the [=DBSC proof=] .
958958</dl>
@@ -991,7 +991,7 @@ present:
991991 Based on this response header from the server:
992992 ```html
993993 HTTP/1.1 200 OK
994- Sec -Session-Registration: (ES256);path="reg";challenge="cv";authorization="ac"
994+ Secure -Session-Registration: (ES256);path="reg";challenge="cv";authorization="ac"
995995 ```
996996 received on a response from ```http://example.com/page.html```
997997</div>
@@ -1028,10 +1028,10 @@ registered domain.
10281028The permanent message header field registry should be updated with the following
10291029registrations: [[!RFC3864]]
10301030
1031- ## Sec -Session-Challenge ## {#iana-ses-session-challenge}
1031+ ## Secure -Session-Challenge ## {#iana-ses-session-challenge}
10321032<dl>
10331033 <dt> Header field name</dt>
1034- <dd> Sec -Session-Challenge</dd>
1034+ <dd> Secure -Session-Challenge</dd>
10351035
10361036 <dt> Applicable protocol</dt>
10371037 <dd> http</dd>
@@ -1043,13 +1043,13 @@ registrations: [[!RFC3864]]
10431043 <dd> W3C</dd>
10441044
10451045 <dt> Specification document</dt>
1046- <dd> This specification (See [[#header-sec -session-challenge]] )</dd>
1046+ <dd> This specification (See [[#header-secure -session-challenge]] )</dd>
10471047</dl>
10481048
1049- ## Sec-Session-Id ## {#iana-ses -session-id}
1049+ ## Sec-Secure- Session-Id ## {#iana-sec-secure -session-id}
10501050<dl>
10511051 <dt> Header field name</dt>
1052- <dd> Sec-Session-Id</dd>
1052+ <dd> Sec-Secure- Session-Id</dd>
10531053
10541054 <dt> Applicable protocol</dt>
10551055 <dd> http</dd>
@@ -1061,13 +1061,13 @@ registrations: [[!RFC3864]]
10611061 <dd> W3C</dd>
10621062
10631063 <dt> Specification document</dt>
1064- <dd> This specification (See [[#header-sec-session-id]] )</dd>
1064+ <dd> This specification (See [[#header-sec-secure- session-id]] )</dd>
10651065</dl>
10661066
1067- ## Sec -Session-Registration ## {#iana-sec -session-registration}
1067+ ## Secure -Session-Registration ## {#iana-secure -session-registration}
10681068<dl>
10691069 <dt> Header field name</dt>
1070- <dd> Sec -Session-Registration</dd>
1070+ <dd> Secure -Session-Registration</dd>
10711071
10721072 <dt> Applicable protocol</dt>
10731073 <dd> http</dd>
@@ -1079,13 +1079,13 @@ registrations: [[!RFC3864]]
10791079 <dd> W3C</dd>
10801080
10811081 <dt> Specification document</dt>
1082- <dd> This specification (See [[#header-sec -session-registration]] )</dd>
1082+ <dd> This specification (See [[#header-secure -session-registration]] )</dd>
10831083</dl>
10841084
1085- ## Sec -Session-Response ## {#iana-sec -session-response}
1085+ ## Secure -Session-Response ## {#iana-secure -session-response}
10861086<dl>
10871087 <dt> Header field name</dt>
1088- <dd> Sec -Session-Response</dd>
1088+ <dd> Secure -Session-Response</dd>
10891089
10901090 <dt> Applicable protocol</dt>
10911091 <dd> http</dd>
@@ -1097,7 +1097,7 @@ registrations: [[!RFC3864]]
10971097 <dd> W3C</dd>
10981098
10991099 <dt> Specification document</dt>
1100- <dd> This specification (See [[#header-sec -session-response]] )</dd>
1100+ <dd> This specification (See [[#header-secure -session-response]] )</dd>
11011101</dl>
11021102
11031103## Secure-Session-Skipped ## {#iana-secure-session-skipped}
0 commit comments