You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: modules/11-authentication.livemd
+15-22Lines changed: 15 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,20 +1,16 @@
1
-
# ESCT: Part 11 - Authentication (Draft)
1
+
# ESCT: Part 11 - Authentication
2
2
3
3
## Introduction
4
4
5
-
> ### 🛠 <spanstyle="color:goldenrod;">MODULE UNDER CONSTRUCTION - Please move to next module</span>
5
+
Authentication is the process of establishing that an entity, whether person or machine, is who they say they are. In this process the entity starts by "knocking on the door", and presenting their id card and credentials when prompted.
6
6
7
-
Authentication is the process of establishing that an entity, whether person or machine, is who they say they are. In this process the entity starts by "knocking on the door", perhaps even announcing themselves and showing their id card when prompted. Identification(id) cards usually contain a photograph, name, description, and other personal information. Id cards are usually issued by a trusted organization.
7
+
One of two things follow:
8
+
- The authentication attempt is successful and further communication including the granting of access can proceed.
9
+
- Authentication fails and other that notifying the entity of the failure, no further communication proceeds and no access is granted.
8
10
9
-
Then, someone or something compares the information on the id card with the entity as they currently appear to be in realtime, as they have announced themselves. One of two things follow:
11
+
Imagine you get a knock on your door. You ask who it is, and the person on the other side says you have a package delivery. In fact, you're not expecting a package and you can see the person is not wearing a uniform and doesn't have a package in their hands. Something doesn't match. They don't seem to be who they say they are and so, you don't open the door.
10
12
11
-
- The information on the card, matches verbal announcement, and matches the entity as it has presented itself in that moment. Authentication is successful and completed. Further communication and access can proceed.
12
-
13
-
- Something between the information on the card, what was said in the verbal announcement, and the entity in that moment doesn't match. Imagine you get a knock on your door, you ask who it is, and the person on the other side says you have a package delivery. In fact, you're not expecting a package and when you look through the peek hole, the person is not wearing a uniform and doesn't have a package in their hands. Something doesn't match. They don't seem to be who they say they are. Authentication fails and other that notifying the entity of the failure, no further communication proceeds and certainly no access is granted.
14
-
15
-
Authentication is the mechanism that helps guard the front door of an application. It's the mechanism that helps control the outer rim. In the context of cyberspace, in the most simple implementations, this usually means a username and a password but a variety of credentials can be used.
16
-
17
-
In this module, we will covers some of the related concepts that can be confused with authentication, but that interact with it to secure a system or application as well as some of the different ways authentication can be implemented.
13
+
Authentication is the mechanism that helps guard the front door of an application. It's the mechanism that helps control who gets into your system and if they are there legitimately.
18
14
19
15
## Table of Contents
20
16
@@ -30,18 +26,13 @@ In this module, we will covers some of the related concepts that can be confused
30
26
31
27
### Description
32
28
33
-
Thinking back to the example above, authentication is required for access beyond being on the property and standing on the doorstep. Once an entity has been authenticated, then they are granted access. Access immediately follows Authentication, but how much access an entity is allowed and the actions they are permitted to, is authorized, to perform are governed by a set of permissions or access controls referred to as Authorization.
29
+
Thinking back to the example above, authentication is establishing an entity is who they say they are. For applications, this means, the user who is attempting to login, is the user who created and has control over the account. But most applications have multiple levels of users, those with maxium access/privileges to move around and modify the application freely, and those with more restricted access.
34
30
35
-
Authorization can be addressed based on a set of credentials. Depending on the application, credentials can consist of a username and password pair, or may included other things like tokens, which will be covered, later in this module. Credentials are what entities use to for access but are also presented as part of the authentication process. A little confusing, right?
31
+
Once an entity has been authenticated, then they are granted access but when implemented in an application/system, this often appears to happen in a single step. Users login and if you get a successful response you also get access to the application. Access immediately follows Authentication, but how much access an entity is allowed and the actions they are permitted to, is authorized, to perform are governed by a set of permissions or access controls referred to as Authorization, which is often managed by a token or similar credentials.
36
32
37
-
When implemented in an application/system, this often appears to happen in a single step. You login and if you get a successful response you get access to the application.
33
+
During the authentication and authorization process, validity of credentials and level of access are checked. Then, depending on the architecture of the system or application, once an entity is authenticated, is granted access, subsequent activity/interactions need to be tracked/attributed to the same entity. This functions like a hand stamp for re-entry to an event or amusement park accept it is unique to you. For applications, this means setting up and tracking an authenticated user's session, and this is often done using some kind of token, sometimes the same token that gets issued for access.
38
34
39
-
Multiple concepts that are very closely related. One of the concepts we'll discuss later, OAuth, originally designed for authorization, has evolved into providing
40
-
authentication as well (not intended). Authorization and Access are very similar concepts and are implemented together, sometimes within the Authorization mechanism.
41
-
42
-
Another related concept is session management. Depending on the architecture of the system or application, once an entity is authenticated, subsequent activity/interactions need to be tracked/attributed to the same entity. This functions like a hand stamp for re-entry to an event or amusement park accept it is unique to you.
43
-
44
-
Authorization, Identity, Credentials, Access, Access Controls, Permissions, Session and Session Management are all terms you will come across when implementing Authentication in applications. While each has distinct definitions, consider them as mutually interactive contributors/participants in an integrated system that works to allow into an application only what is verified and trusted, tracks and monitors the activity of what's been allowed in, and ensures what does get in, only has access to what they absolutely need in order to perform their specific function. How these are implemented and their specific configuration/arrangement is unique to the design of each application.
35
+
Authorization, Identity, Credentials, Access, Access Controls, Permissions, Session and Session Management are all terms you will come across when implementing Authentication in applications. While each has distinct definitions, consider them as mutually interactive contributors to an integrated system that works to allow into an application only what is verified and trusted, tracks and monitors the activity of what's been allowed in, and ensures what does get in, only has access to what they absolutely need in order to perform their specific function. How these are implemented and their specific configuration is unique to the design of each application.
45
36
46
37
## Multi-factor Authentication
47
38
@@ -61,9 +52,10 @@ Authentication mechanism can be simple or complex. Security industry best pract
61
52
62
53
### Description
63
54
64
-
Tokens are ... long strings of random characters used to identify an entity, session, as a badge for access. Used for authentication, used for session management, provided by authorization servers.
55
+
We mentioned earlier how both authorization (access) and sessions can be handled using tokens. Access Tokens are built so that they contain information about what an authenticated user does and does not have access to, for how long, and they can also be used to manage the user's persistence/ongoing interactions with the application in a session.
56
+
57
+
Tokens are long strings of random characters used to identify an entity, session, as a badge for access and are usually generated by some token generating code, service or server. In token-based implementations, at a highlevel the application or service generates tokens, assign token to users after they have been autenticated, check token validity as users access and use application functionality/features, and end/renew sessions by expiring and refresh tokens.
One of the concepts we'll discuss later, OAuth, a protocol originally designed for authorization, has evolved into providing authentication as well (not intended).
119
112
120
113
User Authenticated into Application/Service X
121
114
Application/Service X prompts user if they want to login using social media account credentials
0 commit comments