|
11 | 11 | <h1 class="title is-1">FIDO2 .NET Library (WebAuthn)</h1>
|
12 | 12 | <div class="content">
|
13 | 13 | <p>
|
14 | | - A working implementation library + demo for FIDO2 and WebAuthn using .NET. |
| 14 | + A battle tested library for FIDO2 and WebAuthn using .NET. |
15 | 15 | </p>
|
16 | | - <p>Bringing FIDO2 & WebAuthn to asp.net, .net core and full framework.</p> |
| 16 | + <p>Bringing FIDO2 & WebAuthn to asp.netand .NET Core.</p> |
17 | 17 | <p>
|
18 | | - Available on <a href="https://github.com/passwordless-lib/fido2-net-lib">GitHub</a> and <a href="https://www.nuget.org/packages/Fido2">Nuget</a>. |
| 18 | + Available on <a href="https://github.com/passwordless-lib/fido2-net-lib">GitHub</a> and <a |
| 19 | + href="https://www.nuget.org/packages/Fido2">Nuget</a>. |
19 | 20 | </p>
|
20 | 21 | </div>
|
21 | 22 |
|
22 | 23 | <h2 class="title is-2">Purpose</h2>
|
23 | 24 | <div class="content">
|
24 | 25 | <p>Enable passwordless sign in for all .net apps (asp, core, native).</p>
|
25 | | - <p>To provide a developer friendly and well tested .NET FIDO2 Server / WebAuthn relying party library for the easy validation of registration (attestation) and authentication (assertion) of FIDO2 / WebAuthn credentials, in order to increase the adoption of the technology, ultimately defeating phishing attacks.</p> |
| 26 | + <p>To provide a developer friendly and well tested .NET FIDO2 Server / WebAuthn relying party |
| 27 | + library for the easy validation of registration (attestation) and authentication (assertion) of |
| 28 | + FIDO2 / WebAuthn credentials, in order to increase the adoption of the technology, ultimately |
| 29 | + defeating phishing attacks.</p> |
26 | 30 | <p>Consider to <a href="https://opencollective.com/passwordless">become a backer.</a></p>
|
27 | 31 | </div>
|
28 | 32 | <h2 class="title is-2">What is FIDO2 / WebAuthn?</h2>
|
29 | 33 | <div class="content">
|
30 | 34 | <h3 class="subtitle is-6">The passwordless web is coming</h3>
|
31 | 35 | <p>
|
32 | | - FIDO2 / WebAuthn is a new open authentication standard, supported by browsers and many large tech companies such as Microsoft, Google etc. The main driver is to allow a user to login without passwords, creating passwordless flows or strong MFA for user signup/login on websites. The standard is not limited to web applications with support coming to Active Directory and native apps. The technology builds on public/private keys, allowing authentication to happen without sharing a secret between the user & platform. This brings many benefits, such as easier and safer logins and makes phishing attempts extremely hard. |
| 36 | + FIDO2 / WebAuthn is a new open authentication standard, supported by browsers and many large |
| 37 | + tech companies such as Microsoft, Google etc. The main driver is to allow a user to login |
| 38 | + without passwords, creating passwordless flows or strong MFA for user signup/login on websites. |
| 39 | + The standard is not limited to web applications with support coming to Active Directory and |
| 40 | + native apps. The technology builds on public/private keys, allowing authentication to happen |
| 41 | + without sharing a secret between the user & platform. This brings many benefits, such as easier |
| 42 | + and safer logins and makes phishing attempts extremely hard. |
33 | 43 |
|
34 | 44 | Read more:
|
35 | 45 |
|
|
68 | 78 | <span class="icon has-text-success">
|
69 | 79 | <i class="fas fa-check-square"></i>
|
70 | 80 | </span>
|
71 | | - FIDO2 security keys aka roaming authenticators , like SoloKeys Solo, Yubico YubiKey, and Feitian BioPass FIDO2) |
| 81 | + FIDO2 security keys aka roaming authenticators , like SoloKeys Solo, Yubico YubiKey, and Feitian |
| 82 | + BioPass FIDO2) |
72 | 83 | </li>
|
73 | 84 | <li>
|
74 | 85 | <span class="icon has-text-success">
|
|
98 | 109 | <span class="icon has-text-success">
|
99 | 110 | <i class="fas fa-check-square"></i>
|
100 | 111 | </span>
|
101 | | - All current attestation formats: "packed", "tpm", "android-key", "android-safetynet", "fido-u2f", and "none" |
| 112 | + All current attestation formats: "packed", "tpm", "android-key", "android-safetynet", |
| 113 | + "fido-u2f", and "none" |
102 | 114 | </li>
|
103 | 115 | <li>
|
104 | 116 | <span class="icon has-text-success">
|
|
131 | 143 | <p>The following chapter will explain some of the concepts mentioned in the 3 scenarios</p>
|
132 | 144 |
|
133 | 145 | <h4 class="title is-4">Fido2 vs WebAuthn?</h4>
|
134 | | - <p>Fido2 is the umbrella term and branding of two new w3c standards: WebAuthn and CTAP2. WebAuthn is the JS API that allows browser to talk to the operating system to generate assertions and CTAP2 is the API that allows the operating system to talk to Authenticators (usb security keys etc)</p> |
| 146 | + <p>Fido2 is the umbrella term and branding of two new w3c standards: WebAuthn and CTAP2. WebAuthn is |
| 147 | + the JS API that allows browser to talk to the operating system to generate assertions and CTAP2 |
| 148 | + is the API that allows the operating system to talk to Authenticators (usb security keys etc) |
| 149 | + </p> |
135 | 150 |
|
136 | 151 | <h4 class="title is-4">Relying Party (RP)</h4>
|
137 | | - <p>The Relying Party - often called RP - is the server that the browser communicates with. If you are a developer reading this, the Relying Party is probably your webserver. It's the server that runs the fido2-net-lib library.</p> |
| 152 | + <p>The Relying Party - often called RP - is the server that the browser communicates with. If you |
| 153 | + are a developer reading this, the Relying Party is probably your webserver. It's the server that |
| 154 | + runs the fido2-net-lib library.</p> |
138 | 155 |
|
139 | 156 | <h4 class="title is-4">User Verification</h4>
|
140 | | - <p>A FIDO2 server (a.k.a the Relying Party, RP) can ask the authenticator to verify the user. This can be done either via PIN code, biometrics or other factors that securely verifies that it's the expected human in front of the device, not just any human.</p> |
| 157 | + <p>A FIDO2 server (a.k.a the Relying Party, RP) can ask the authenticator to verify the user. This |
| 158 | + can be done either via PIN code, biometrics or other factors that securely verifies that it's |
| 159 | + the expected human in front of the device, not just any human.</p> |
141 | 160 |
|
142 | 161 | <h4 class="title is-4">Resident Credentials (RK)</h4>
|
143 | | - <p>The resident credential is a credential that can be accessed simply with RP ID. When not using RK you will have to provide a list of the credentials (array of ID's) you want the authenticator to use. With RK you don’t need it because the authentication will locate all RK's (only RK credentials), and for each of them generate the assertion over the challenge and return all of them to the client. The client then will display all of the credentials to the user and user will pick one, thus returning selected credential to the relying party.</p> |
| 162 | + <p>The resident credential is a credential that can be accessed simply with RP ID. When not using RK |
| 163 | + you will have to provide a list of the credentials (array of ID's) you want the authenticator to |
| 164 | + use. With RK you don’t need it because the authentication will locate all RK's (only RK |
| 165 | + credentials), and for each of them generate the assertion over the challenge and return all of |
| 166 | + them to the client. The client then will display all of the credentials to the user and user |
| 167 | + will pick one, thus returning selected credential to the relying party.</p> |
144 | 168 | </div>
|
145 | 169 | </div>
|
146 | 170 | </div>
|
|
0 commit comments