Skip to content

Commit fa99105

Browse files
authored
Create 11-authentication.livemd
draft/template
1 parent c92af20 commit fa99105

File tree

1 file changed

+119
-0
lines changed

1 file changed

+119
-0
lines changed

modules/11-authentication.livemd

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# ESCT: Part 11 - Authentication (Draft)
2+
3+
## Introduction
4+
5+
> ### 🛠 <span style="color:goldenrod;">MODULE UNDER CONSTRUCTION - Please move to next module</span>
6+
7+
Authentication is the concept and refers to mechanisms for establishing an entity (person or machine) is who they say they are.
8+
9+
## Table of Contents
10+
11+
* [Confusion with Authorization and Access](#confusion-with-authorization-and-access)
12+
* [Multi-factor Authentication](#multi-factor-authentication)
13+
* [Token-Based Implementations](#token-based-implementations)
14+
* [Authentication Channels](#authentication-channels)
15+
16+
## Confusion with Authorization and Access
17+
18+
### Description
19+
20+
Multiple concepts that are very closely related. One of the concepts we'll discuss later, OAuth, originally designed for authorization, has evolved into providing
21+
authentication as well (not intended). Authorization and Access are very similar concepts and are implemented together, sometimes within the Authorization mechanism.
22+
Confusing, right?
23+
24+
### Security Concerns
25+
26+
*TODO: Write Prevention*
27+
28+
### <span style="color:blue;">Example</span> / <span style="color:red;">Quiz</span>
29+
30+
*TODO: Make Example or Quiz Question*
31+
32+
```elixir
33+
34+
```
35+
36+
## Multi-factor Authentication
37+
38+
### Description
39+
40+
Factors refer to 3 checks that work together to establish identity.
41+
Something you know/that is in your brain - Password
42+
Something you have/possess/have physical or digital access to - Code generated by outside party; key
43+
Something you are/something unique to you as a person - fingerprint, facial recognition, other biometrics, palm scan, retinal scan
44+
45+
Authentication can be implemented using one of these factors (single-factor) or 2 or more (multi-factor)
46+
47+
Authentication mechanism can be complex...
48+
Security concerns/examples of multi-factor authentication getting hacked
49+
50+
### Security Concerns
51+
52+
*TODO: Write Prevention*
53+
54+
### <span style="color:blue;">Example</span> / <span style="color:red;">Quiz</span>
55+
56+
*TODO: Make Example or Quiz Question*
57+
58+
```elixir
59+
60+
```
61+
62+
## Token-based Implementation
63+
64+
### Description
65+
66+
Tokens are ... long strings of random characters used to identify an entity, session, as a badge for access.
67+
68+
Common implementations include OAuth: [
69+
](https://www.youtube.com/watch?v=996OiexHze0)
70+
71+
JSON Web Tokens (abbreviated JWT, pronounced "jot")
72+
73+
### Security Concerns
74+
75+
*TODO: Write Prevention*
76+
77+
### <span style="color:blue;">Example</span> / <span style="color:red;">Quiz</span>
78+
79+
*TODO: Make Example or Quiz Question*
80+
81+
```elixir
82+
83+
```
84+
85+
<!-- livebook:{"branch_parent_index":4} -->
86+
87+
## Authentication Channels
88+
89+
### Description
90+
91+
Authentication is the first step a user must complete to access a secure application/data. For an application, that means something must be sent from
92+
93+
user->application authentication mechanism
94+
and from
95+
application authentication mechanism-> user
96+
97+
user presents themselves in-person, or over a channel via electical signals
98+
application responds over that same channel
99+
100+
WebSocket Connections ...
101+
102+
Establish/Manage a Session
103+
104+
Session-less ... fire and forget
105+
106+
107+
### Security Concerns
108+
109+
*TODO: Write Prevention*
110+
111+
### <span style="color:blue;">Example</span> / <span style="color:red;">Quiz</span>
112+
113+
*TODO: Make Example or Quiz Question*
114+
115+
```elixir
116+
117+
```
118+
119+
[**<- Previous Module: Secure SDLC Concepts**](./3-ssdlc.livemd) || [**Next Module: Elixir Security ->**](./5-elixir.livemd)

0 commit comments

Comments
 (0)