|
| 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