Skip to content

Commit 9f997a8

Browse files
author
Daniel Rubery
committed
Fix typos and grammar
This change makes no meaningful content changes. It just polishes some spelling and grammatical errors.
1 parent 287ee36 commit 9f997a8

File tree

1 file changed

+26
-24
lines changed

1 file changed

+26
-24
lines changed

spec.bs

+26-24
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ Status: CG-DRAFT
77
Group: WICG
88
URL: https://wicg.github.io/dbsc/
99
Editor: Kristian Monsen 76841, Google, [email protected]
10+
Editor: Daniel Rubery, Google, [email protected]
1011
Abstract: The Device Bound Sessions Credentials (DBSC) aims to prevent hijacking via cookie theft by building a protocol and infrastructure that allows a user agent to assert possession of a securely-stored private key. DBSC is a Web API and a protocol between user agents and servers to achieve this binding.
1112
Repository: https://github.com/WICG/dbsc/
1213
Markup Shorthands: css no, markdown yes
@@ -43,14 +44,14 @@ spec: RFC8941;urlPrefix:https://datatracker.ietf.org/doc/html/rfc8941#;type:dfn
4344
<em>This section is not normative.</em><br/>
4445
<em>Note this is a very early drafting for writing collaboration only</em>
4546

46-
The web is built on a stateless protocol, to provide required functionality Web
47-
applications store data locally on a user's computer in order to provide
48-
functionality the are very common today. Primarily this is used for logged in
47+
The web is built on a stateless protocol. To provide required functionality, Web
48+
applications store data locally on a user's computer. This is used for logged in
4949
user sessions that can last for a long time.
5050

51-
In general user agents do not have a secure way of storing files supporting
52-
these activities across commonly used operating systems, and actions may have
53-
serious consequences, for example transferring money from a bank account.
51+
In general user agents do not have a secure way of storing data supporting these
52+
activities across commonly used operating systems, and actions authenticated by
53+
this data may have serious consequences, for example transferring money from a
54+
bank account.
5455

5556
This document defines a new API, Device Bound Sessions Credentials (DBSC), that
5657
enables the server to verify that a session cannot be exported from a device by
@@ -68,25 +69,25 @@ different situations. Some of the use cases of DBSC are:
6869

6970
### Signed in session ### {#example-signin}
7071
<div class="example" id="signin-example">
71-
A user logs in to his social account, to protect the user's private data the
72+
A user logs in to his social account. To protect the user's private data the
7273
site protects his logged in session wwith a DBSC session. If the user tries to
73-
log with the same cookie file on a different device, the site can detect and
74-
refuse this as an unathorized user.
74+
log in with the same cookie file on a different device, the site can detect and
75+
refuse this as an unauthorized user.
7576
</div>
7677

7778
### Device integrity ### {#example-device-integrity}
7879
<div class="example" id="device-integrity-example">
79-
A commercial site has different ways of detecting unahtorized log-in attempts.
80-
A DBSC session on device could be used to see which users has logged on to
80+
A commercial site has different ways of detecting unauthorized login attempts.
81+
A DBSC session on device could be used to see which users have logged on to
8182
this device before.
8283
</div>
8384

8485
### Device reputation ### {#example-device-reputation}
8586
<div class="example" id="device-reputation-example">
86-
A payment company hosted at site `payment.example` could create a session bound
87-
to when users visit commercial site `shopping.example`. It could track the
88-
reliability of the device over time to decide how likely a transaction is
89-
legitimate.
87+
A payment company hosted at site `payment.example.com` could create a session
88+
bound to when users visit commercial site `shopping.example.com`. It could
89+
track the reliability of the device over time to decide how likely a
90+
transaction is legitimate.
9091
</div>
9192

9293
# Security Considerations # {#privacy}
@@ -104,7 +105,7 @@ session was registered to a secure device.
104105

105106
## Non-goals ## {#non-goals}
106107
DBSC will not prevent temporary access to the browser session while the attacker
107-
is resident on the user's device. The private key should be stored as safe as
108+
is resident on the user's device. The private key should be stored as safely as
108109
modern operating systems allow, preventing exfiltration of the session private
109110
key, but the signing capability will still be available for any program running
110111
as the user on the user's device.
@@ -180,7 +181,7 @@ This document depends on the Infra Standard for a number of foundational
180181
concepts used in its algorithms and prose [[!INFRA]].
181182

182183
## Sessions by registrable domain ## {#framework-sessions-origin}
183-
A <dfn>registrable domain sessions</dfn> is a [=ordered map=] from
184+
A <dfn>sessions by registrable domain</dfn> is an [=ordered map=] from
184185
[=host/registrable domain=] to [=session by id=].
185186

186187
## Sessions by id ## {#framework-sessions-id}
@@ -193,16 +194,16 @@ A <dfn>device bound session</dfn> is a [=struct=] with the following
193194
[=struct/items=]:
194195
<dl dfn-for="device bound session">
195196
: <dfn>session identifier</dfn>
196-
:: an [=string=] that is a unique identifier of a session on an
197+
:: a [=string=] that is a unique identifier of a session on an
197198
[=host/registrable domain=]
198199
: <dfn>refresh url</dfn>
199-
:: an [=string=] that is representing the [=url=] to be used to refresh the
200+
:: a [=string=] that is representing the [=url=] to be used to refresh the
200201
session
201202
: <dfn>defer requests</dfn>
202203
:: an OPTIONAL [=boolean=] defining if the browser should defer other
203204
requests while refreshing a session
204205
: <dfn>cached challenge</dfn>
205-
:: an [=string=] that is to be used as the next challenge for this session
206+
:: a [=string=] that is to be used as the next challenge for this session
206207
: [=session scope=]
207208
:: a [=struct=] defining which [=url=]'s' are in scope for this session
208209
: [=session credential=]
@@ -255,7 +256,7 @@ The <dfn>session credential</dfn> is a [=struct=] with the following
255256
null if no such session exists.
256257

257258
1. Let |site| be the [=host/registrable domain=] of the [=url=]
258-
1. Let |domain sessions| be [=registrable domain sessions=][|site|] as a
259+
1. Let |domain sessions| be [=sessions by registrable domain=][|site|] as a
259260
[=/session by id=]
260261
1. Return |domain sessions|[|session identifier|]
261262
</div>
@@ -266,9 +267,9 @@ The <dfn>session credential</dfn> is a [=struct=] with the following
266267
<dfn export dfn-for="algorithms">process a challenge</dfn> received in an HTTP
267268
header.
268269

269-
Given a [=response=] (|response|), a [=registrable domain sessions=], this
270+
Given a [=response=] (|response|) and a [=sessions by registrable domain=], this
270271
algorithm updates the [=device bound session/cached challenge=] for a
271-
[=device bound session=], or immediatly resends the [=DBSC proof=] signed with
272+
[=device bound session=], or immediately resends the [=DBSC proof=] signed with
272273
the new challenge if the [=response/status=] is 401.
273274

274275
1. Let |header name| be "<code>Sec-Session-Challenge</code>".
@@ -392,7 +393,8 @@ The \`<dfn export http-header id="sec-session-challenge-header">
392393
<code>Sec-Session-Challenge</code></dfn>\` header field can be used in a
393394
[=response=] by the server to send a challenge to the client that it expects to
394395
be used in future Sec-Session-Response headers inside the [=DBSC proof=], or to
395-
request a newly signed [=DBSC proof=] right away if the
396+
request a newly signed [=DBSC proof=] right away if the [=response/status=] is
397+
401.
396398

397399
[:Sec-Session-Challenge:] is a structured header. Its value must be a string.
398400
Its ABNF is: <pre class="abnf">SecSessionChallenge = <a>sf-string</a></pre>

0 commit comments

Comments
 (0)