5353<!-- [rfced] Please insert any keywords (beyond those that appear in the
5454title) for use on https://www.rfc-editor.org/search. -->
5555
56- <keyword >example </keyword >
56+ <keyword >jwt,json,token,cdn,url,http,hls,dash </keyword >
5757
5858 <abstract >
5959 <t >This document describes how the concept of URI Signing supports the
@@ -181,7 +181,7 @@ title) for use on https://www.rfc-editor.org/search. -->
181181 to a CDN, creating a Target CDN URI (2) (alternatively, the Target
182182 CDN URI itself is embedded in the HTML). The Target CDN URI is the
183183 Signed URI, which may include the IP address of the UA and/or a time
184- window. The signed URI always contains a signed JWT generated by the
184+ window. The Signed URI always contains a signed JWT generated by the
185185 CSP using a shared secret or private key. Once the UA receives the
186186 response with the Signed URI, it sends a new HTTP request using the
187187 Signed URI to the CDN (3). Upon receiving the request, the CDN
@@ -362,11 +362,14 @@ title) for use on https://www.rfc-editor.org/search. -->
362362 <t >The following is an example where the URI Signing Package Attribute name is "token" and the signed JWT is "SIGNEDJWT":</t >
363363
364364
365- <sourcecode type = " " ><![CDATA[ http://example.com/media/path?come=data&token=SIGNEDJWT&other=data]]> </sourcecode >
365+ <sourcecode ><![CDATA[ http://example.com/media/path?come=data&token=SIGNEDJWT&other=data]]> </sourcecode >
366366<!-- [rfced] Please let us know if a "type" attribute may be added to the
367367sourcecode elements in this document. The allowed types can be found
368368here: https://www.rfc-editor.org/materials/sourcecode-types.txt
369369Note that it is acceptable to leave the type attribute empty.
370+
371+ Updated.
372+
370373-->
371374
372375
@@ -390,7 +393,7 @@ Note that it is acceptable to leave the type attribute empty.
390393 "mandatory" identifiers in square brackets refer to whether or
391394 not a given claim <bcp14 >MUST</bcp14 > be present in a URI Signing JWT.)</t >
392395 <t >Note: The time on the entities that generate and
393- verify the signed URI <bcp14 >MUST</bcp14 > be in sync. In the CDNI case, this
396+ verify the Signed URI <bcp14 >MUST</bcp14 > be in sync. In the CDNI case, this
394397 means that CSP, uCDN, and dCDN servers need to be
395398 time synchronized. It is <bcp14 >RECOMMENDED</bcp14 > to use
396399 <xref target =" RFC5905" format =" default" >NTP</xref > for time synchronization.</t >
@@ -405,8 +408,8 @@ Note that it is acceptable to leave the type attribute empty.
405408 <t >Issuer (iss) [optional] - The semantics in
406409 <xref target =" RFC7519" sectionFormat =" of" section =" 4.1.1" format =" default" /> <bcp14 >MUST</bcp14 > be followed.
407410 If this claim is used, it <bcp14 >MUST</bcp14 > be used to identify the
408- issuer (signer) of the JWT. In particular, the recipient will have already
409- received, in trusted configuration, a mapping of issuer name to one or more
411+ Issuer (signer) of the JWT. In particular, the recipient will have already
412+ received, in trusted configuration, a mapping of Issuer name to one or more
410413 keys used to sign JWTs and must verify that the JWT was signed by one of
411414 those keys. If this claim is used and the CDN verifying the
412415 signed JWT does not support Issuer verification, or if the
@@ -620,7 +623,7 @@ sectionFormat="of" section="4.1.7" format="default"/> <bcp14>MUST</bcp14> be fo
620623 client <bcp14 >SHOULD</bcp14 > be directed to return the token with requests for any path. If the CDNI Signed
621624 Token Depth is greater than zero, then the CDN <bcp14 >SHOULD</bcp14 > send the client a token to return for
622625 future requests wherein the first CDNI Signed Token Depth segments of the path match the first
623- CDNI Signed Token Depth segments of the signed URI path. This matching <bcp14 >MUST</bcp14 > use the URI with the
626+ CDNI Signed Token Depth segments of the Signed URI path. This matching <bcp14 >MUST</bcp14 > use the URI with the
624627 token removed, as specified in <xref target =" uri_container_forms" format =" default" />.</t >
625628 <t >If the URI path to match contains fewer segments than the CDNI Signed Token Depth claim, a signed JWT
626629 <bcp14 >MUST NOT</bcp14 > be generated for the purposes of Signed Token Renewal. If the CDNI Signed Token Depth
@@ -676,9 +679,12 @@ purposes only):"
676679
677680Original:
678681[^:]*\\://[^/]*/folder/content/quality_[^/]*/segment.{3}\\.mp4(\\?.*)?
682+
683+ Changed below.
684+
679685-->
680686 <sourcecode ><![CDATA[
681- [^:]*\\://[^/]*/folder /content/quality_[^/]*/segment.{3}\\.mp4(\\?.*)?
687+ [^:]*\\://[^/]*/dir /content/quality_[^/]*/segment.{3}\\.mp4(\\?.*)?
682688 ]]> </sourcecode >
683689 <t >Note: Due to computational complexity of executing arbitrary regular expressions, it is <bcp14 >RECOMMENDED</bcp14 > to only execute after verifying the JWT to ensure its authenticity.</t >
684690 </section >
@@ -761,7 +767,7 @@ Original:
761767 </section >
762768 </section >
763769 <section anchor =" communicating_token" numbered =" true" toc =" default" >
764- <name >Communicating a Signed JWTs in Signed Token Renewal</name >
770+ <name >Communicating a Signed JWT in Signed Token Renewal</name >
765771<!-- [rfced] Should the 's' be removed in this section title?
766772In other words, was singular or plural intended?
767773
@@ -773,6 +779,9 @@ Perhaps (singular):
773779
774780Or (plural):
775781 3.3. Communicating Signed JWTs in Signed Token Renewal
782+
783+ Fixed.
784+
776785-->
777786 <t >This section assumes the value of the CDNI Signed Token Transport (cdnistt) claim
778787 has been set to 1.</t >
@@ -949,14 +958,14 @@ in the JWT token.
949958 </li >
950959 </ul >
951960 <t >The following is an example of a URI Signing metadata payload with all default values:</t >
952- <sourcecode ><![CDATA[
961+ <sourcecode type = " json " ><![CDATA[
953962{
954963 "generic-metadata-type": "MI.UriSigning"
955964 "generic-metadata-value": {}
956965}
957966 ]]> </sourcecode >
958967 <t >The following is an example of a URI Signing metadata payload with explicit values:</t >
959- <sourcecode ><![CDATA[
968+ <sourcecode type = " json " ><![CDATA[
960969{
961970 "generic-metadata-type": "MI.UriSigning"
962971 "generic-metadata-value":
@@ -1082,19 +1091,19 @@ in the JWT token.
10821091 |5.Request is denied | | <Negative> |
10831092 |<-------------------------------------------------------------|
10841093 | | | |
1085- |6.CSP provides signed URI | <Positive> |
1094+ |6.CSP provides Signed URI | <Positive> |
10861095 |<-------------------------------------------------------------|
10871096 | | | |
10881097 |7.Content request | | |
1089- |---------------------------------------->| [Verify URI |
1098+ |---------------------------------------->| [Verify URI |
10901099 | | | signature] |
10911100 | | | |
10921101 | | (ALT: Verification result) |
10931102 |8.Request is denied | <Negative>| |
10941103 |<----------------------------------------| |
10951104 | | | |
10961105 |9.Re-sign URI and redirect to <Positive>| |
1097- | dCDN (newly signed URI) | |
1106+ | dCDN (newly Signed URI) | |
10981107 |<----------------------------------------| |
10991108 | | | |
11001109 |10.Content request | | |
@@ -1116,11 +1125,11 @@ in the JWT token.
11161125 interface, the dCDN advertises its capabilities
11171126 including URI Signing support to the uCDN.</li >
11181127 <li >CSP provides to the uCDN the information needed to
1119- verify signed URIs from that CSP. For example, this
1128+ verify Signed URIs from that CSP. For example, this
11201129 information will include one or more keys used for validation.</li >
11211130 <li >Using the CDNI Metadata interface, the uCDN
11221131 communicates to a dCDN the information needed to
1123- verify signed URIs from the uCDN for the given
1132+ verify Signed URIs from the uCDN for the given
11241133 CSP. For example, this information may include the URI query
11251134 string parameter name for the URI Signing Package Attribute
11261135 in addition to keys used for validation.</li >
@@ -1146,7 +1155,7 @@ in the JWT token.
11461155 provides it to the end user as the URI to use to further request the
11471156 content from the dCDN.</li >
11481157 <li >On receipt of the corresponding content request, the
1149- dCDN verifies the Signed JWT in the signed URI using the
1158+ dCDN verifies the Signed JWT in the Signed URI using the
11501159 information provided by the uCDN in the CDNI
11511160 Metadata.</li >
11521161 <li >If the verification result is negative, the dCDN rejects the
@@ -1185,13 +1194,18 @@ in the JWT token.
11851194<!-- [rfced] The acronym FCI is not expanded prior to its first use in Figure 3.
11861195May we add its definition to the terminolgy section?
11871196
1197+ Yes.
1198+
11881199Perhaps:
11891200 FCI: the Footprint & Capabilities Advertisement interface
11901201-->
11911202
11921203<!-- [rfced] This document uses "FCI interface" despite "interface" being
11931204represented in the acronym itself. May we remove "interface" after both
11941205intstances of FCI?
1206+
1207+ Yes.
1208+
11951209-->
11961210 <figure anchor =" fig_dns_routing" >
11971211 <name >DNS-based Request Routing with URI Signing</name >
@@ -1218,7 +1232,7 @@ intstances of FCI?
12181232 |5.Request is denied | | <Negative> |
12191233 |<-------------------------------------------------------------|
12201234 | | | |
1221- |6.Provides signed URI | <Positive> |
1235+ |6.Provides Signed URI | <Positive> |
12221236 |<-------------------------------------------------------------|
12231237 | | | |
12241238 |7.DNS request | | |
@@ -1787,13 +1801,18 @@ of RFC 9246
17871801<!-- [rfced] In the following sentence, what is the intended expansion for
17881802"LRU"? Is "Least Recently Used (LRU) value" correct?
17891803
1804+ Yes.
1805+
17901806Original:
17911807 If no exp claim is present then a simple LRU could be
17921808 used, however this would allow values to eventually be reused.
17931809
17941810Perhaps:
17951811 If no exp claim is present, then a simple Least Recently Used (LRU)
17961812 value could be used; however, this would allow values to eventually be reused.
1813+
1814+ This is fine.
1815+
17971816-->
17981817 </dd >
17991818
@@ -1908,6 +1927,8 @@ Perhaps:
19081927this be used instead of the current 2014 version (which has been
19091928withdrawn)?
19101929
1930+ Yes.
1931+
19111932Current:
19121933 [MPEG-DASH]
19131934 ISO, "Information technology - Dynamic adaptive streaming
@@ -1935,10 +1956,10 @@ Current:
19351956 <t >This section contains three examples of token usage: a simple example with only the
19361957 required claim present, a complex example that demonstrates the full JWT claims set,
19371958 including an encrypted Client IP Address (cdniip), and one that uses a Signed Token Renewal.</t >
1938- <t >Note: All of the examples have whitespace added to improve formatting and readability,
1959+ <t >Note: All of the examples have empty space added to improve formatting and readability,
19391960 but are not present in the generated content.</t >
19401961 <t >All examples use the following JWK Set <xref target =" RFC7517" format =" default" />:</t >
1941- <sourcecode ><![CDATA[
1962+ <sourcecode type = " json " ><![CDATA[
19421963{ "keys": [
19431964 {
19441965 "kty": "EC",
@@ -1992,13 +2013,18 @@ place a line break in this line?
19922013
19932014Current:
19942015"cdniuc": "hash:sha-256;2tderfWPa86Ku7YnzW51YUp7dGUjBS_3SW3ELx4hmWY"
2016+
2017+ Changed:
2018+ "cdniuc":
2019+ "hash:sha-256;2tderfWPa86Ku7YnzW51YUp7dGUjBS_3SW3ELx4hmWY"
19952020-->
19962021
1997- <sourcecode ><![CDATA[
2022+ <sourcecode type = " json " ><![CDATA[
19982023{
19992024 "exp": 1646867369,
20002025 "iss": "uCDN Inc",
2001- "cdniuc": "hash:sha-256;2tderfWPa86Ku7YnzW51YUp7dGUjBS_3SW3ELx4hmWY"
2026+ "cdniuc":
2027+ "hash:sha-256;2tderfWPa86Ku7YnzW51YUp7dGUjBS_3SW3ELx4hmWY"
20022028}
20032029]]> </sourcecode >
20042030 <t >
@@ -2039,7 +2065,7 @@ F6ip2Dv.CohdtLLpgBnTvRJQCFuz-g
20392065 <t >
20402066 The JWT Claim Set before signing:
20412067 </t >
2042- <sourcecode ><![CDATA[
2068+ <sourcecode type = " json " ><![CDATA[
20432069{
20442070 "aud": "dCDN LLC",
20452071 "sub": "eyJlbmMiOiJBMTI4R0NNIiwiYWxnIjoiZGlyIiwia2lkIjoiZi1XYmp4
@@ -2085,7 +2111,7 @@ jcX8xYD0z3LzQclMG65i1kT2sRbZ7isUw8w
20852111 <t >
20862112 The JWT Claim Set before signing:
20872113 </t >
2088- <sourcecode ><![CDATA[
2114+ <sourcecode type = " json " ><![CDATA[
20892115{
20902116 "cdniets": 30,
20912117 "cdnistt": 1,
@@ -2114,7 +2140,7 @@ HYw
21142140 <t >
21152141 The JWT Claim Set before signing:
21162142 </t >
2117- <sourcecode ><![CDATA[
2143+ <sourcecode type = " json " ><![CDATA[
21182144{
21192145 "cdniets": 30,
21202146 "cdnistt": 1,
@@ -2160,9 +2186,16 @@ document. Please let us know which form, if any, is preferred.
21602186
21612187signed URI vs. Signed URI
21622188
2189+ Signed URI
2190+
21632191issuer vs. Issuer
21642192
2193+ It should be Issuer
2194+
21652195JSON object vs. JSON Web Encryption Object
2196+
2197+ I think the two different uses are correct.
2198+
21662199-->
21672200
21682201<!-- [rfced] Please review the "Inclusive Language" portion of the online
@@ -2171,6 +2204,9 @@ and let us know if any changes are needed.
21712204
21722205For example, please consider whether the following should be updated:
21732206"whitespace"
2207+
2208+ Changed to "empty space"
2209+
21742210-->
21752211
21762212
0 commit comments