Credentials
ืืื ืื ืืฉืื
ืื ืืขืจืืช ืฉืืฉืจืชืช ืืฉืชืืฉืื ืฆืจืืื ืืืขืช ืื ืืชื (Authentication) ืืื ืืืชืจ ืื (Authorization). ืืื ื ืืืื ื ืืื ืฉื Credentials, ืื ืืืช ืืืขืจืืช ืคืชืืื ืืจืืืื โ ืืื ืืืืืง ืื ืฉืชืืงืคืื ืืืคืฉืื.
ืืืืคืืช ืกืืกืืืืช ืื ืืืืืงืืืจืื ืื ืคืืฆืื ืืืืชืจ ืืคืจืืฆืืช. ืืื ื ืฉื ืืื ืฉืืืจืื, ืืขืืืจืื ืืืืืชืื Credentials ืืื ืืืข ืืกืืกื ืืื ืืคืชื.
ืืกืืกืื ืืื ื ืคืืฆื ืืขืืื ืืื ืขืืืื 123456. ืืื ืืฉืืช, 2024.
ืจืขืืื ืืช ืืจืืืืื
ืื ืื Credentials?
Credentials ืื ืื ืคืืกืช ืืืืข ืฉืืืืืื ืืืืช ืื ืืขื ืืงื ืืืฉื:
- Username + Password โ ืืฉืืืื ืืงืืืกื ืืื ืคืืฅ ืืืืชืจ
- API Keys โ ืืคืชืืืช ืฉืืืืื ืืคืืืงืฆืื (ืื ืืฉืชืืฉ ืื ืืฉื)
- Tokens โ ืืืจืืืืช ืืื ืืืช ืฉืืืืฆืืืช ืืจืฉืื (ืืืฉื JWT)
- Certificates โ ืชืขืืืืช ืืืืืืืืืช ืฉืืืืกืกืืช ืขื Public Key Infrastructure
- SSH Keys โ ืืื ืืคืชืืืช (Public/Private) ืืืชืืืจืืช ืืืืืืืช ืืฉืจืชืื
- MFA Codes โ ืงืืืื ืืื ืืื ืืืืฉืืจ ืฉื ื (TOTP, SMS, Push Notification)
Authentication vs Authorization
| ืืืฉื | ืฉืืื | ืืืืื |
|---|---|---|
| Authentication (AuthN) | ืื ืืชื? | ืืชืืืจืืช ืขื ืฉื ืืฉืชืืฉ ืืกืืกืื |
| Authorization (AuthZ) | ืื ืืืชืจ ืื? | ืืื ืืฉ ืื ืืจืฉืื ืืฆืคืืช ืืืฃ ืืื? |
ืงืืื Authentication, ืืืจ ืื Authorization. ืื ืืคืฉืจ ืืืขืช ืื ืืืชืจ ืื ืืื ืืืขืช ืงืืื ืื ืืชื.
ืกืืื Authentication
Single-Factor Authentication (SFA):
- ืจืง ืกืืกืื โ ืืจืื ืืืกืืกืืช ืืืืชืจ, ืืื ืคืืืขื
Multi-Factor Authentication (MFA):
ืฉืืืื ืฉื ืฉื ืืื ืื ืืืชืจ ืืืืืจืืื ืืืืื:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ ืฉืืืฉืช ืืืืจืืื ืฉื Authentication โ
โ โ
โ ๐ Something you KNOW โ ืกืืกืื, PIN โ
โ ๐ฑ Something you HAVE โ ืืืคืื, YubiKey โ
โ ๐ Something you ARE โ ืืืืขืช ืืฆืืข, Face ID โ
โ โ
โ ืฉืืืื ืฉื 2+ = MFA โ
โ ืฉืืืืฉ ื-1 ืืืื = ืจืืช ืกืืืื ืืืืื โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
"ืืื ืฆืจืื MFA?" โ ืฉืืื ืขืืืื ืืืืจื. "ืื ืืกืืกืื ืฉืืื ืืื CompanyName2024!" โ ืขื ื ืฆืืืช ื-IT.
Passwordless Authentication:
- WebAuthn / FIDO2 โ ืืืืืช ืืืืฆืขืืช ืืคืชื ืืืืจื ืื ืืืืืืจืื
- Magic Links โ ืงืืฉืืจ ืื-ืคืขืื ืฉื ืฉืื ืืืืืืื
- Passkeys โ ืืกืื ืืจื ืืืืฉ ืฉืืืืืฃ ืกืืกืืืืช ืืืืืืื
Hashing ืกืืกืืืืช
ืื ืืกื ืื ืชืื ืื ื ืคืจืฅ ืืืฉ ืื ืกืืกืืืืช ืืืงืกื ืคืชืื โ ืื ืืืฉืชืืฉืื ืืฉืืคืื. ืชืืื ืืฉืชืืฉื ื-Hashing.
Hashing ืืื ืชืืืื ืื-ืืืืื ื: ืืืืจืื ืกืืกืื ืืืืจืืืช ืงืืืขื ืฉืื ืืคืฉืจ (ืืคืืขื) ืืืคืื ืืืืจื.
ืกืืกืื โ Hash Function โ Hash Value (ื ืฉืืจ ื-DB)
"myP@ssw0rd" โ bcrypt โ "$2b$12$LJ3m4ys..."
- bcrypt โ ืืืืืืจืืชื ืืืืืืฅ. ืืืื ืืืืื ื, ืืื ืืืงืฉืืช ืขื Brute Force
- Argon2 โ ืืืืจ ืืื, ืืืื ืชืืจืืช Password Hashing Competition. ืชืืื ืืืืืจืช ืืืืจืื, CPU ืืืงืืืืืืช
- Salt โ ืขืจื ืืงืจืื ืฉืืชืืืกืฃ ืืคื ื ื-Hashing, ืื ืฉืฉืชื ืกืืกืืืืช ืืืืช ืื ืืื Hash ืฉืื ื
- Pepper โ ืขืจื ืกืืื ืงืืืข ืฉื ืฉืืจ ืื ืคืจื ืื-DB (ืื ืืืื ื-Salt ืฉื ืฉืืจ ืืื ื-Hash)
import bcrypt
# ืืฆืืจืช Hash ืขื Salt
password = b"myP@ssw0rd"
salt = bcrypt.gensalt(rounds=12)
hashed = bcrypt.hashpw(password, salt)
# ืืืืงืช ืกืืกืื
if bcrypt.checkpw(password, hashed):
print("Authentication successful!")
ืืื bcrypt ืืื SHA-256?
SHA-256 ืืืืจ ืืืื โ ืฉืื ื ืืืจ ื-Integrity Checks, ืืื ื ืืจื ืืกืืกืืืืช. ืืจืืืก GPU ืืืื ืืืฉื ืืืืืืจืื SHA-256 hashes ืืฉื ืืื. bcrypt ืชืืื ื ืืืืืช ืืืื (cost factor), ืื ืฉืื ืขื ืืืืจื ืืืงื, Brute Force ืืืงื ืืื ืืืชื ืกืืืจ.
Rainbow Tables ืืืื ืืชืืื ื ืื
Rainbow Table โ ืืืืช Hash ืืืื ื ืืจืืฉ:
โโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Password โ Hash (MD5) โ
โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ 123456 โ e10adc3949ba59abbe56... โ
โ password โ 5f4dcc3b5aa765d61d83... โ
โ qwerty โ d8578edf8458ce06fbc5... โ
โโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ืขื Salt โ ืื Hash ืืืืืื, Rainbow Table ืืกืจืช ืชืืขืืช:
โโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโ
โ Password โ Salt โ Hash โ
โโโโโโโโโโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโค
โ 123456 โ x8k2m... โ $2b$12$x8k2m... โ
โ 123456 โ p3j9f... โ $2b$12$p3j9f... โ
โ (ืืืชื ืกืืกืื โ Hash ืฉืื ื!) โ
โโโโโโโโโโโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโ
API Keys, OAuth ื-JWT
ืืชื ืืฉืชืืฉืื ืืื ืืื?
- API Key โ ืืืืืื ืืคืืืงืฆืื. ืคืฉืื ืืื ืื ืืื ืืืืืื. ืืฉืืฉ ืืขืืงืจ ื-Server-to-Server.
- OAuth 2.0 โ ืคืจืืืืงืื ืฉืืืคืฉืจ ืืืฉืชืืฉ ืืชืช ืืืคืืืงืฆืื ืืืฉื ืืืืืืช ืืื ืืืฉืืฃ ืกืืกืื. ืืืฉื: "Login with Google".
- JWT (JSON Web Token) โ Token ืฉืืืื ืืืืข (Claims) ืขื ืืืฉืชืืฉ, ืืชืื ืืืืืืืืช. ื ืคืืฅ ื-REST APIs.
ืืื ื JWT:
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
โ Header โ . โ Payload โ . โSignature โ
โ(ืืืืืจืืชื)โ โ (Claims) โ โ (ืืชืืื) โ
โโโโโโโโโโโโ โโโโโโโโโโโโ โโโโโโโโโโโโ
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.abc123signature
ืื ืืื ืืืื ืืงืจืื ืืช ื-Payload ืฉื JWT (ืื ืจืง Base64). ืืืชืืื ืืืืืื ืฉืืืืืข ืื ืฉืื ื, ืืื ืื ืฉืืื ืกืืื. ืืขืืื ืื ืชืฉืืื ืืืืข ืจืืืฉ ื-Payload.
OAuth 2.0 โ Flow ืืคืืจื
โโโโโโโโโโ โโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโ
โ User โ โ Client โ โ Auth Server โ
โ(ืืคืืคื) โ โ (ืืืคืืืงืฆืื)โ โ (Google) โ
โโโโโฌโโโโโ โโโโโโโฌโโโโโโโ โโโโโโโโฌโโโโโโโโ
โ 1. Login โ โ
โ โโโโโโโโโโโโโโ>โ โ
โ โ 2. Redirect โ
โ โ โโโโโโโโโโโโโโโโโโ>โ
โ 3. User Login + Consent โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ> โ
โ โ 4. Auth Code โ
โ โ <โโโโโโโโโโโโโโโโโโ
โ โ 5. Exchange Code โ
โ โ for Token โ
โ โ โโโโโโโโโโโโโโโโโโ>โ
โ โ 6. Access Token โ
โ โ <โโโโโโโโโโโโโโโโโโ
โ 7. Logged in! โ โ
โ <โโโโโโโโโโโโโโโ โ
Secrets Management โ ื ืืืื ืกืืืืช ืืืืฆืืจ
ืื Secrets (API Keys, DB Passwords, Tokens) ื ืืฆืืื ื-Source Code, ืื ืืืืขื ื-Git, ืืืฉื ืืื ืื ืฉืืฉ ืื ืืืฉื ื-Repo.
ืืืื ืื ืืืื Secrets:
| ืืื | ืฉืืืืฉ | ืืขืจืืช |
|---|---|---|
| HashiCorp Vault | ื ืืืื Secrets ืืจืืื | Dynamic Secrets, Rotation ืืืืืืื |
| AWS Secrets Manager | Secrets ืืขื ื AWS | ืืื ืืืจืฆืื ืขื IAM |
| Azure Key Vault | Secrets ืืขื ื Azure | HSM-backed encryption |
| Environment Variables | ืืืืจื ืืกืืืืช ืืืจืฆื | ืคืฉืื ืืื ืื ืืกืคืืง ืืกืืืืืช ืืืืืืช |
| dotenv | ืงืืืฅ .env ืืงืืื | ืจืง ืืคืืชืื โ ืืขืืื ืื ื-Production |
โ ืฉืืื โ Secrets ืืงืื:
โโโโโโโโโโโโโโโโโโโโโโโโโโ
db_password = "SuperSecret123!"
api_key = "sk-abc123def456..."
โ
ื ืืื โ Secrets ื-Environment:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
db_password = os.environ["DB_PASSWORD"]
api_key = os.environ["API_KEY"]
โ
ืืคืืื ืืืชืจ ืืื โ Secrets ื-Vault:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
db_password = vault.read("secret/db")["password"]
"ืืฉ ืฉื ื ืกืืื ืืคืชืืื: ืืื ืฉืืืจ ืืืคื Secret ื-Git, ืืืื ืฉืขืื ืื ืืืืขืื ืฉืื ืืืคื Secret ื-Git."
Credential Stuffing ื-Brute Force
Brute Force โ ื ืืกืืื ืื ืืกืืกืืืืช ืืืคืฉืจืืืช:
attempt 1: aaaa โ โ
attempt 2: aaab โ โ
attempt 3: aaac โ โ
...
attempt 456789: P@ss โ โ
(ืคืจืฆื ื!)
Credential Stuffing โ ืฉืืืืฉ ืืกืืกืืืืช ืฉืืืคื ืืืชืจ ืืื ืืื ืื ืกืืช ืืืชืจืื ืืืจืื:
ื ืืืฃ ื-LinkedIn: ื ืืกืืื ื-Gmail:
user: dana@mail.com user: dana@mail.com
pass: MyDog2020! โ pass: MyDog2020!
ืชืืฆืื: โ
(ืืืชื ืกืืกืื!)
ืืื ืืช:
- Rate Limiting โ ืืืืืช ืืกืคืจ ื ืืกืืื ืืช ืืชืืืจืืช
- Account Lockout โ ื ืขืืืช ืืฉืืื ืืืจื X ื ืืกืืื ืืช ืืืฉืืื
- CAPTCHA โ ืืืจื ืืกืคืจ ื ืืกืืื ืืช ืืืฉืืื
- Credential Monitoring โ ืืืืงื ืื Credentials ืฉื ืขืืืืื ืืืคื (Have I Been Pwned API)
- Password Policy โ ืืจืืฉืช ืกืืกืื ืืืงื + ืื ืืขืช ืฉืืืืฉ ืืกืืกืืืืช ืฉืืืคื
ืชืจืืืฉื ืชืงืืคื ืืืืชืืื
Case Study: ืืืืคืช Uber 2022
ืื ืงืจื: ืชืืงืฃ ืงื ื Credentials ืฉื ืงืืื ืืืฆืื ื ืื-Dark Web. ืืืจื MFA Fatigue Attack (ืฉืืืืช ืขืฉืจืืช Notifications ืขื ืฉืืงืืจืื ืืืฉืจ), ืืชืืงืฃ ืงืืื ืืืฉื ื-VPN ืฉื Uber.
ืื ืืื ืื ืืื:
- Credentials ืฉื ืงืืื ืืืฆืื ื ืื ืกืื ื ื ืืจืืื
- MFA ืืืกืก ืขื Push Notification ืืืื (ืคืืืข ื-Fatigue)
- ืืจืืข ืฉื ืื ืก โ Hardcoded Credentials ืืฉืืจืืชืื ืคื ืืืืื ื-PowerShell Script
ืืงืืื:
- MFA Fatigue-resistant (Number Matching, FIDO2)
- ืืฃ ืคืขื Hardcoded Credentials
- Principle of Least Privilege ืืงืืื ืื ืืืฆืื ืืื
Case Study: SolarWinds 2020
ืื ืงืจื: ืชืืงืคืื ืืืจืืงื Backdoor ืืชืืื ืช SolarWinds Orion. ืื ืืจืืื ืฉืขืืื ืืช ืืชืืื ื โ ืืชืงืื ืืช ื-Backdoor.
ืงืฉืจ ื-Credentials: ืืชืืงืคืื ืืฉืชืืฉื ื-SAML Token Forgery โ ืืืืคื Tokens ืฉื ืจืื ืืืืืืืืื ืืื ืืงืื ืืืฉื ืืฉืืจืืชื ืขื ื ืืื ืฆืืจื ืืกืืกืื.
ืืงืืื:
- Supply Chain Security โ ืืืืงืช Integrity ืฉื ืขืืืื ืื
- ื ืืืืจ Token Usage ืืจืื
- Zero Trust Architecture โ ืื ืืกืืื ืขื ืฉืื Token/Credential ืืื ืืืืืช
ืืืืืืื ื ืคืืฆืื
- "Hashing = Encryption" โ ืื. Encryption ืืื ืื-ืืืืื ื (ืืคืฉืจ ืืคืขื ื), Hashing ืืื ืื-ืืืืื ื. ืกืืกืืืืช ืขืืืจืืช Hashing, ืื Encryption.
- "API Key ืืกืคืืง ืืืืืื" โ API Key ืืืื ืื ืืืื ืืฉืชืืฉ ืืื ืืืืื ืืืื. ืืืื ืืฉืื ืืืชื ืขื OAuth ืื JWT.
- "Authentication ื-Authorization ืื ืืืชื ืืืจ" โ ืืืฉ ืื. ืืชื ืืืื ืืืืืช ืืืืืช (authenticated) ืืื ืขืืืื ืื ืืืจืฉื (authorized) ืืืฉืช ืืืฉืื ืืกืืื.
- "MD5 ื-SHA-1 ืืืืื ืืกืืกืืืืช" โ ืื ืืืืจืื ืืื, ืื ืฉืืงื ืขื Brute Force. ืชืืื ืืฉืชืืฉื ืืืืืืจืืชื ืฉืชืืื ื ืืกืืกืืืืช ืืื bcrypt ืื Argon2.
- "JWT ืืื Expiration ืื ืืกืืจ" โ Token ืืื ืชืคืืื ืืื ืืื ืืคืชื ืฉืื ืืคืฉืจ ืืืืืืฃ. ืชืืื ืืืืืจื
expClaim ืงืฆืจ, ืืืฉืชืืฉื ื-Refresh Token. - "HTTPS = ืื ื ืืืืืื" โ HTTPS ืืื ืขื ืืืืืข ืืชืขืืืจื (In Transit), ืืื ืื ืืื ืขื Credentials ืฉื ืฉืืจืื ืืฆืืจื ืื ื ืืื ื ื-DB ืื ืืงืื.
ืืืืื ืงืื ื
ืชืจืืืฉ: ืืฉืชืืฉ ืืชืืืจ ืืืคืืืงืฆืื ืืืืงืฉ ืืจืืืช ืืช ืืคืจืืคืื ืฉืื.
1. Client โ Server: POST /login { "user": "dana", "pass": "abc123" }
โโ Authentication โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Server: hash("abc123") == stored_hash? โ โ
ืืืืืช โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
2. Server โ Client: { "token": "eyJhbG..." } (JWT)
3. Client โ Server: GET /profile Authorization: Bearer eyJhbG...
โโ Authorization โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Server: ืืื ื-dana ืืฉ ืืจืฉืื ื-/profile? โ โ
ืืืจืฉื โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
4. Server โ Client: { "name": "Dana", "role": "admin" }
ืื ืงืืจื ืื ื-Token ืคื ืชืืงืฃ?
ื-Server ืืืืืจ 401 Unauthorized, ืืืืงืื ืฆืจืื ืืืฆืข Login ืืืืฉ ืื ืืืฉืชืืฉ ื-Refresh Token ืืื ืืงืื Token ืืืฉ.
Refresh Token Flow
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Access Token: ืืืื ืงืฆืจืื (15 ืืงืืช) โ
โ โ ืืฉืืฉ ืืื Request โ
โ โ
โ Refresh Token: ืืืื ืืจืืืื (7 ืืืื) โ
โ โ ืืฉืืฉ ืจืง ืืงืืืช Access Token ืืืฉ โ
โ โ
โ Flow: โ
โ 1. Access Token ืคื โ Server ืืืืืจ 401 โ
โ 2. Client ืฉืืื Refresh Token ื- /token/refresh โ
โ 3. Server ืืืืืจ Access Token ืืืฉ โ
โ 4. Client ืืืฉืื ืืขืืื ืืื Login ืืืืฉ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
๐ ืืืืื ืืงืืื
ืงืืจืกืื ืืืื:
- ืืืืืช ืืืืข โ authentication, authorization, cryptographic protocols
- ืงืจืืคืืืืจืคืื โ hashing, digital signatures, key exchange
ืงืืจืกืื ืืืืืฆืื:
- ืจืฉืชืืช ืืืฉืืื โ TLS, HTTPS, certificate management
- ืื ืืกืช ืชืืื ื โ secure coding practices, secrets management
ืืืข ืืขืฉื:
- bcrypt / Argon2 โ password hashing
- JWT โ token structure and validation
- OAuth 2.0 / OIDC โ authentication flows
- HashiCorp Vault โ secrets management
ืืชืืื ืืช ืืืืืืืื ืฉืื ื-TAU:
- ืืืื ืืืืืืช ืืืืข (0368-3065)
- ืืืื ืืงืจืืคืืืืจืคืื ืืืืจื ืืช (0368-3049)
๐ค๏ธ ืืืืคื ืืชืืืืื
ืฉืื 1: ืืืกืืก
โโโ ืืืืื ืืช ืืืืื ืืื Authentication ื-Authorization
โโโ ืืืืื ืืื Hashing ืขืืื (bcrypt, Argon2)
โโโ ืืืืื ืืื Salt ืืฉืื
ืฉืื 2: Tokens ื-Protocols
โโโ ืืืืื ืืื ื JWT ืืืื ืืืืช ืืชืืื
โโโ ืืืืื OAuth 2.0 Flow
โโโ ืืืืืจ OpenID Connect (OIDC)
ืฉืื 3: ืืื ืืช ืืชืงืืืืช
โโโ MFA โ ืกืืืื, ืืืฉืื, ื-Fatigue Attack
โโโ Secrets Management โ Vault, Secrets Manager
โโโ Rate Limiting ื-Account Lockout
ืฉืื 4: ืืจืืช Production
โโโ Zero Trust Architecture
โโโ Credential Monitoring (Have I Been Pwned)
โโโ Token Rotation ื-Revocation
โโโ RBAC / ABAC โ ืืืืื Authorization ืืชืงืืืื
ืืืื ืืืืืฆืื ืืืชื ืกืืช:
- jwt.io โ Debugger ืฉื JWT, ืืขืืื ืืืื ืช ืืืื ื
- Have I Been Pwned โ ืืืืงื ืื ืืืืืืื ืฉืืื ืืืฃ
- CyberChef โ ืืื ืืืืจืืช Encoding/Hashing
- Postman โ ืืืืงืช API Authentication flows
๐ผ ืฉืืืืช ืืจืืืื ืขืืืื
ืื ืืืืื ืืื Authentication ื-Authorization?
Authentication (AuthN) โ ืื ืืชื? ืชืืืื ืืืืืช ืืืืืช. Authorization (AuthZ) โ ืื ืืืชืจ ืื? ืืืืงืช ืืจืฉืืืช. Authentication ืชืืื ืื ืจืืฉืื. ืืืืื: ืืจืืืก ืื ืืกื ืืื ืืื (AuthN) ืืื ืืคืชื ืืืืจ ืกืคืฆืืคื (AuthZ). ืืคืืขื โ Login ืืื AuthN, ืืืืืงืช Role/Permission ืืคื ื ืืืฉื ืืืฉืื ืืื AuthZ.
ืืื ืื ืืืฉืชืืฉ ื-MD5 ืื SHA-256 ื-Hashing ืกืืกืืืืช?
MD5 ื-SHA-256 ืชืืื ื ื ืืืืืช ืืืืจืื โ ืืขืืื ื-Data Integrity, ืืื ืงืืื ื ืืกืืกืืืืช. GPU ืืืืจื ื ืืืื ืืืฉื ืืืืืืจืื SHA-256 hashes ืืฉื ืืื. ืืืืืจืืชืืื ืืื bcrypt ื-Argon2 ืชืืื ื ื ืืืืืช ืืืืืื ืืืืื ื (Cost Factor / Memory-Hard), ืื ืฉืืืคื Brute Force ืืืืชื ืืืื ืื ืขื ืืืืจื ืืืงื.
ืื ืื JWT ืืื ืืืกืจืื ืืช ืฉืื?
JWT (JSON Web Token) ืืื Token ืืชืื ืฉืืืื Claims (ืืืืข) ืขื ืืืฉืชืืฉ. ืืชืจืื ืืช: Stateless โ ื-Server ืื ืฆืจืื ืืฉืืืจ Session. ืืกืจืื ืืช: 1) ืื ื ืืชื ื-Revoke ืืงืืืช (ืขื ืฉืคื ืชืืงืฃ), 2) ื-Payload ืงืจืื (Base64), 3) ืืืื ืืืื ืืืกืืช ื-Session ID ืคืฉืื. ืคืชืจืื ื-Revocation: Blacklist / Short-lived tokens + Refresh Token.
ืืื ืืชืืื ื ืื ืืคื ื Credential Stuffing?
- MFA โ ืื ืื ืืกืืกืื ื ืืื ื, ืฆืจืื ืืืจื ื ืืกืฃ 2. Rate Limiting โ ืืืืืช ื ืืกืืื ืืช 3. Password Breach Detection โ ืืืืงื ื-Sign Up / Login ืืื ืจืฉืืืืช ืืืืคืืช 4. CAPTCHA โ ืืืจื ื ืืกืืื ืืช ืืืฉืืื 5. Behavioral Analysis โ ืืืืื ืืคืืกื Login ืืฉืืืื (ืืืงืื, User Agent, ืฉืขื).
ืืกืืจ OAuth 2.0 Flow โ ืืื ืฆืจืื Auth Code ืืื ืฉืืืืื Token ืืฉืืจืืช?
ื-Authorization Code Flow, ื-Auth Server ืืืืืจ Code (ืื Token) ืืจื ื-Browser. ืืืจ ืื ื-Backend ืืืืืฃ ืืช ื-Code ื-Token ืืขืจืืฅ Server-to-Server. ืืื? ืื ื-Token ืื ืขืืืจ ืืจื ื-Browser/URL ืื ืฉืืื ืื ืืฉืืฃ ื-Browser History, Referrer Headers ืื Shoulder Surfing. ืื ืืกืืื ืฉื-SPA ืืฉืชืืฉืื ื-PKCE (Proof Key for Code Exchange) ืืฉืืืช ืืื ื ื ืืกืคืช.
ืื ืื Zero Trust ืืืื ืื ืงืฉืืจ ื-Credentials?
Zero Trust = "ืืขืืื ืื ืชืกืืื, ืชืืื ืชืืืช." ืืืงืื ืืกืืื ืขื ืื ืื ืฉื ืืฆื ืืชืื ืืจืฉืช (ืืื ื-Perimeter Security), ืื Request ืฆืจืื ืืขืืืจ Authentication ื-Authorization ืืืืฉ. ืืืฉืื: Mutual TLS ืืื ืฉืืจืืชืื, Short-lived Tokens, Micro-segmentation, Continuous Verification. ืงืฉืืจ ื-Credentials ืื ื ืืืื ืืืืืืช ืืื ืืืืื ืฉื Zero Trust.
ืื ืืืืื ืืื Session-Based Authentication ื-Token-Based Authentication?
Session-Based: Server ืืืฆืจ Session ืืฉืืืจ ืืืชื (ื-Memory/DB). Client ืืงืื Session ID ื-Cookie. Stateful โ Server ืืืื ืืืืืจ ืื Session. Token-Based (JWT): Server ืืืฆืจ Token ืืชืื. Client ืฉืืื ืืืชื ืืื Request. Stateless โ Server ืจืง ืืืืช ืืช ืืืชืืื. Tradeoffs: Sessions ืงืืื ื-Revoke ืืื ืงืฉืื ื-Scale. Tokens ืงืืื ื-Scale ืืื ืงืฉืื ื-Revoke.
ืื ืขืืฉืื ืื ืืืืื ื ืฉืืืคื Credentials ืฉื ืืืขืจืืช?
Incident Response ืืืืื: 1) Rotate ืื ื-Credentials ืฉืืืคื ืืื 2) ืืืื ืื ื-Tokens/Sessions ืืงืืืืื 3) ืืืงื Audit Logs โ ืืื ืืืฉืื ืืฉืชืืฉ ื-Credentials ืฉืืืคื? 4) ืืืืืขื ืืืฉืชืืฉืื ืฉืืืืืคื ืกืืกืืืืช 5) ืืืงื Scope โ ืืืื ืืขืจืืืช ื ืืฉืคื? 6) ืชืืขืื ืืช ืืืืจืืข ืืชืืงื ื ืืช ืืงืืจ ืืืืืคื (ืงืื, ืืืืื, Slack?) 7) ืืืกืืคื Pre-commit Hook ืฉืืื ืข Push ืฉื Secrets.
ืงืืฉืืจืื ืื ืืฉืืื ืืืจืื
- Sandbox โ ืืื ืืืืืืื ืชืืืืืื ืืื ืฉืื ืื Credentials ื ืื ืื, ืื ืืง ืืืืื
- TCP/IP ื-HTTP โ ืืคืจืืืืงืืืื ืฉืืขืืืจืื ืืช ื-Credentials ืืจืฉืช (ืืืื HTTPS ืืืื ื)
- Production โ ื ืืืื Credentials ืืกืืืืช Production (Secrets Management, Environment Variables)
- Red, Blue & Purple Teams โ ืฆืืืชื Red Team ืืืืงืื ืืืืง Credentials ืืืืง ื-Penetration Testing
- MITRE ATT&CK โ Credential Access ืืื Tactic ืืจืืื ืืืกืืจืช ATT&CK