โป ์ด ์นดํ ๊ณ ๋ฆฌ์ ๊ธ๋ค์ knu JY.Lee ๊ต์๋์ <์ ๋ณด๋ณดํธ๋ก > ์์ ์ ๋ฃ๊ณ ๋๋ฆ๋๋ก ํ์๊ฐ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
โป ๋ถ์กฑํ ์ค๋ช ์ด ์๊ฑฐ๋, ์๋ชป ์๊ณ ์์ฑํ ๋ถ๋ถ์ด ๋ณด์ธ๋ค๋ฉด ํธํ๊ฒ ๋๊ธ๋ก ์๋ ค์ฃผ์๋ฉด ์ ๋ง ๊ฐ์ฌํ๊ฒ ์ต๋๋ค๐
1. Types of Authentication
Authentication(์ธ์ฆ) vs. Authorization(๊ถํ ๋ถ์ฌ):
- ์ธ์ฆ(Authentication): ์ฌ์ฉ์๊ฐ ์์ ์ด ๋๊ตฌ๋ผ๊ณ ์ฃผ์ฅํ๋ ์ฌ๋์ธ์ง๋ฅผ ํ์ธํ๋ ๊ณผ์ ์ ๋๋ค. ์ฆ, "๋น์ ์ด ๋๊ตฌ๋ผ๊ณ ์ฃผ์ฅํ๋ ์ฌ๋์ด ๋ง์ต๋๊น?"๋ผ๋ ์ง๋ฌธ์ ๋ตํ๋ ๊ณผ์ ์ ๋๋ค.
- ๊ถํ ๋ถ์ฌ(Authorization): ์ฌ์ฉ์๊ฐ ์์์ ์ ๊ทผํ ๊ถํ์ด ์๋์ง๋ฅผ ๊ฒฐ์ ํ๋ ๊ณผ์ ์ ๋๋ค. ์ฆ, "๋น์ ์ด ์์ฒญํ ์์ ์ ์ํํ ๊ถํ์ด ์์ต๋๊น?"๋ผ๋ ์ง๋ฌธ์ ๋ตํ๋ ๋จ๊ณ์ ๋๋ค.
- ์ธ์ฆ๊ณผ ๊ถํ ๋ถ์ฌ๋ ๋ณด์์์ ์๋ก ๋ค๋ฅธ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. (์ด๋ฒ ์ฅ์์๋ Authentication์ ๋ํด์, ๋ค์ ์ฅ์์๋ Authorization์ ๋ํด์ ๋ฐฐ์๋ด ์๋ค.)
User Authentication ์ฌ์ฉ์ ์ธ์ฆ:
- ์ธ์ฆ ๋ฐฉ๋ฒ: ์ฌ์ฉ์์ ์ ์์ ํ์ธํ๊ธฐ ์ํ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
- ๋ฌด์์ ์๊ณ ์๋๊ฐ(What you know): ํจ์ค์๋๋ ๋ณด์ ์ง๋ฌธ์ ๋ต์ ์๊ณ ์๋์ง.
- ๋ฌด์์ ๊ฐ์ง๊ณ ์๋๊ฐ(What you have): ์ค๋งํธ์นด๋๋ ํ๋์จ์ด ํ ํฐ๊ณผ ๊ฐ์ ๋ฌผ๋ฆฌ์ ์ฅ์น๋ฅผ ๊ฐ์ง๊ณ ์๋์ง.
- ๋ฌด์์ธ๊ฐ(Who you are): ์์ฒด ์ ๋ณด(์ง๋ฌธ, ์ผ๊ตด ์ธ์ ๋ฑ)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์์ ํ์ธํฉ๋๋ค.
- ์ด๋์ ์๋๊ฐ(Where you are): ์ฌ์ฉ์์ IP ์ฃผ์๋ GPS ์์น ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ฆ์ ๊ฐํํ ์ ์์ต๋๋ค.
- ์ธ์ฆ ๊ฐ๋: ์ธ์ฆ์ ๊ฐ๋๋ ์์กฐ์ ์ด๋ ค์์ ๋ฐ๋ผ ๊ฒฐ์ ๋๋ฉฐ, ์ฌ๋ฌ ์ธ์ฆ ์์๋ฅผ ๊ฒฐํฉํ ์๋ก ์ฌ์ฉ์๊ฐ ์์ ์ด ์ฃผ์ฅํ๋ ์ฌ๋์์ ๋ ํ์คํ ํ์ธํ ์ ์์ต๋๋ค.
2. Password-based Authentication
๋จผ์ ํจ์ค์๋ ๊ธฐ๋ฐ์ ์ธ์ฆ์ ๋ํด ์์๋ด ์๋ค.
- ํจ์ค์๋์ ์ญํ : ํจ์ค์๋๋ ์ธ์ฆ ๊ณผ์ ์ ํต์ฌ์ ๋๋ค. ์ฌ์ฉ์๋ ๋น๋ฐ ํจ์ค์๋๋ฅผ ๊ฐ์ง๊ณ ์๊ณ , ์์คํ ์ ์ด ํจ์ค์๋๋ฅผ ํ์ธํ์ฌ ์ฌ์ฉ์์ ์ ์์ ์ธ์ฆํฉ๋๋ค.
- ํจ์ค์๋๊ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ด์ :
- ์ฌ์ฉํ๊ธฐ ์ฝ์ต๋๋ค.
- ๋ฐฐํฌํ๊ธฐ ์ฝ์ต๋๋ค.
- ํด๋ํ ํ์๊ฐ ์์ต๋๋ค.
- ํ์ฌ๋ก์๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ "๋ง๋ฅ" ๋์์ด ์์ต๋๋ค. (ํจ์ค์๋๋ ๋ณด์์ ์ํ์ด ํฌ์ง๋ง ๋ค๋ฅธ ๋ ํจ์จ์ ์ธ ๋์์ด ์์)
Password Security Risks ํจ์ค์๋ ๋ณด์ ์ํ
- ํค๋ก๊น
(Keystroke logging):
- ํ๋์จ์ด ํค๋ก๊ฑฐ: ํค์คํธ๋กํฌ๋ฅผ ๊ธฐ๋กํ๋ ์ฅ์น๋ก, KeyGhost, KeyShark ๋ฑ์ด ์์ต๋๋ค.
- ์ํํธ์จ์ด ์คํ์ด์จ์ด: ํค ์ ๋ ฅ์ ๊ธฐ๋กํ๋ ์ ์ฑ ํ๋ก๊ทธ๋จ์ ๋๋ค.
- ์ด๊นจ ๋๋จธ๋ก ์ฟ๋ณด๊ธฐ(Shoulder surfing): ๋ค๋ฅธ ์ฌ๋์ด ํจ์ค์๋๋ฅผ ์ ๋ ฅํ๋ ๊ฒ์ ๋ชฐ๋ ์ฟ๋ณด๋ ๊ณต๊ฒฉ์ ๋๋ค.
- ์ฌ๋ฌ ์ฌ์ดํธ์์ ๊ฐ์ ํจ์ค์๋๋ฅผ ์ฌ์ฉ: ํ๋์ ์ฌ์ดํธ์์ ํจ์ค์๋๊ฐ ์ ์ถ๋๋ฉด, ๋ค๋ฅธ ์ฌ์ดํธ์์๋ ๋์ผํ ํจ์ค์๋๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์ฐ์์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
- ์ฌํ ๊ณตํ(Social engineering): ์ธ๊ฐ์ ์ฌ๋ฆฌ๋ฅผ ์ด์ฉํด ํจ์ค์๋๋ฅผ ์ ์ถํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์์์๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ํจ์ค์๋๋ฅผ ๊ณต๊ฐํ๋๋ก ์ ๋ํฉ๋๋ค.
How do attackers use passwords?
๊ณต๊ฒฉ์๋ ํจ์ค์๋๋ฅผ ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ ์ฉํ ์ ์์ต๋๋ค.
- ์ด๋ฉ์ผ ๋ฐ ์ฌ์ฉ์ ์ด๋ฆ ์ถ์ถ: ์ฌ์ฉ์๊ฐ ์ฌ๋ฌ ์๋น์ค์์ ๋์ผํ ์ด๋ฉ์ผ์ด๋ ์ฌ์ฉ์ ์ด๋ฆ์ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ด ํฌ๊ธฐ ๋๋ฌธ์, ์ด๋ฅผ ํตํด ๋ค๋ฅธ ์๋น์ค์๋ ์ ๊ทผ์ ์๋ํ ์ ์์ต๋๋ค.
- ๊ฐ์ฅ ํํ ํจ์ค์๋๋ฅผ ํ์ต: ๊ณต๊ฒฉ์๋ ์ฌ์ฉ์๊ฐ ์์ฃผ ์ฌ์ฉํ๋ ํจ์ค์๋๋ฅผ ํ์ตํ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ณต๊ฒฉ์ ์๋ํ ์ ์์ต๋๋ค.
- ํน์ ์ฌ์ฉ์์ ํจ์ค์๋ ํ์ : ์ ์ถ๋ ์ ๋ณด๋ก ํน์ ์ฌ์ฉ์์ ํจ์ค์๋๋ฅผ ํ์ ํ๊ณ , ์ด๋ฅผ ์ด์ฉํ์ฌ ๋ค์ํ ์๋น์ค์ ์ ๊ทผํ ์ ์์ต๋๋ค.
Credential Stuffing ์๊ฒฉ ์ฆ๋ช ์ฑ์ฐ๊ธฐ
Credential Stuffing์ ์ ์ถ๋ ์๊ฒฉ ์ฆ๋ช ์ ํ์ฉํ์ฌ ์๋ํ๋ ๋ก๊ทธ์ธ ์๋๋ฅผ ํ๋ ๊ณต๊ฒฉ์ ๋๋ค. ์ด ๊ณต๊ฒฉ์ ๋ง์ ์ฌ์ฉ์๊ฐ ์ฌ๋ฌ ์ฌ์ดํธ์์ ๋์ผํ ํจ์ค์๋๋ฅผ ์ฌ์ฌ์ฉํ๋ ์ต๊ด์ ์ ์ฉํ์ฌ ์ด๋ฃจ์ด์ง๋๋ค. ์ด ๋๋ฌธ์ ์ฌ์ฉ์๋ ๊ฐ ์ฌ์ดํธ์์ ๊ณ ์ ํ ํจ์ค์๋๋ฅผ ์ฌ์ฉํ๊ณ , ์ด์ค ์ธ์ฆ๊ณผ ๊ฐ์ ๋ณด์ ์กฐ์น๋ฅผ ํตํด ์์ ์ ๊ณ์ ์ ๋ณดํธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
2-2. Security Considerations
ํจ์ค์๋ ๊ธฐ๋ฐ ์ธ์ฆ์ ์ฌ์ฉํ ๋, ๋ณด์ ๊ณ ๋ ค์ฌํญ๊ณผ ๊ณต๊ฒฉ ๋ชจ๋ธ์ ๋ํด ์์๋ด ์๋ค.
Security Considerations (๋ณด์ ๊ณ ๋ ค์ฌํญ)
- ํจ์ค์๋์ ํต์ ๋ฐฉ์(How is the password communicated?):
- ํจ์ค์๋๊ฐ ํต์ ๋๋ ๋ฐฉ์์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ๋ง์ฝ ํต์ ์ค์ ํจ์ค์๋๊ฐ ๋์ฒญ๋นํ ์ํ์ด ์๋ค๋ฉด ํฐ ๋ณด์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ํธํ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
- ํจ์ค์๋์ ์ ์ฅ ๋ฐฉ์(How is the password stored?) _ ์ด๋ฒ ์ฅ์์๋ ์ฌ๊ธฐ์ ๋ํด ์์ธํ ์์๋ด
์๋ค!
- ํจ์ค์๋๊ฐ ๋ช ํํ ํ ์คํธ๋ก ์ ์ฅ๋๋์ง, ์ํธํ๋์๋์ง, ํด์ ์ฒ๋ฆฌ๋์๋์ง์ ๋ฐ๋ผ ๋ณด์ ์์ค์ด ๋ฌ๋ผ์ง๋๋ค. ํด์ ์ฒ๋ฆฌ๋ ํจ์ค์๋๋ ๋ ์์ ํ์ง๋ง, ๋จ์ํ ์ํธํ๋ ํดํน์ ์ทจ์ฝํ ์ ์์ต๋๋ค.
- ์์คํ
์ด ํจ์ค์๋๋ฅผ ์ด๋ป๊ฒ ํ์ธํ๋๊ฐ(How does the system check the password?):
- ์์คํ ์ด ํจ์ค์๋๋ฅผ ํ์ธํ๋ ๋ฐฉ์์ ์ค์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ณต๊ฒฉ์๊ฐ ์ฝ๊ฒ ํจ์ค์๋๋ฅผ ์ถ์ธกํ๊ฑฐ๋ ์ฐํํ์ง ๋ชปํ๋๋ก ํด์ผ ํฉ๋๋ค.
- ํจ์ค์๋๋ฅผ ์ถ์ธกํ๊ธฐ ์ฌ์ด๊ฐ?(How easy is it to guess the password?):
- ๊ธฐ์ตํ๊ธฐ ์ฌ์ด ํจ์ค์๋๋ ์ข ์ข ์ถ์ธกํ๊ธฐ ์ฝ์ต๋๋ค. ๋ฐ๋ผ์ ๋ณด์์ฑ ๋์ ๋ณต์กํ ํจ์ค์๋๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Attack Model ๊ณต๊ฒฉ ๋ชจ๋ธ
- ์จ๋ผ์ธ ๊ณต๊ฒฉ์(Online attacker):
- ์จ๋ผ์ธ ๊ณต๊ฒฉ์๋ ๋ฐ๋ณต์ ์ผ๋ก ํจ์ค์๋๋ฅผ ์๋ํ์ฌ ์๋น์ค์ ๋ก๊ทธ์ธํ๋ ค๊ณ ํฉ๋๋ค. ์ฑ๊ณต ์ฌ๋ถ๋ฅผ ํ์ธํ๋ฉฐ ์ง์์ ์ผ๋ก ํจ์ค์๋๋ฅผ ์๋ํ๋ ๋ฐฉ์์ ๋๋ค.
- ์คํ๋ผ์ธ ๊ณต๊ฒฉ์(Offline attacker):
- ์คํ๋ผ์ธ ๊ณต๊ฒฉ์๋ ํจ์ค์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ํ์ณ๋ด๊ณ , ๊ทธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ํจ์ค์๋๋ฅผ ๋ณต๊ตฌํ๋ ค๊ณ ์๋ํฉ๋๋ค. ์ฃผ๋ก ์ฌ์ ๊ณต๊ฒฉ(Dictionary attack)์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ, ์ฌ์ ์ ์ ์๋ ํจ์ค์๋ ๋ชฉ๋ก์ ์ฌ์ฉํ์ฌ ํจ์ค์๋๋ฅผ ์ถ์ธกํ๋ ๋ฐฉ์์ ๋๋ค.
- ๋์ ์ฌ์ฉ์:
- ๊ณต๊ฒฉ์๋ ํ ๋ช ์ ์ฌ์ฉ์๋ง์ ๋ชฉํ๋ก ํ ์๋ ์๊ณ , ๋ชจ๋ ์ฌ์ฉ์๋ ๋ค์์ ์ฌ์ฉ์ ๊ณ์ ์ ๋ชฉํ๋ก ํ ์๋ ์์ต๋๋ค. ๊ณต๊ฒฉ ๋์์ ๋ฐ๋ผ ์ ๋ต์ด ๋ฌ๋ผ์ง๋๋ค.
Online Attacker (์จ๋ผ์ธ ๊ณต๊ฒฉ์)
- ์จ๋ผ์ธ ๊ณต๊ฒฉ์๋ฅผ ํ์งํ๋ ๋ฐฉ๋ฒ:
- ๋๋ฌด ๋ง์ ์๋: ํ ์ฌ์ฉ์๊ฐ ์ง๋์น๊ฒ ๋ง์ ๋ก๊ทธ์ธ ์๋๋ฅผ ํ๋ฉด, ์ด๋ ์จ๋ผ์ธ ๊ณต๊ฒฉ์ ์งํ์ผ ์ ์์ต๋๋ค.
- ๋ค์์ ๊ณ์ ์ ์๋: ๊ณต๊ฒฉ์๊ฐ ํ๋์ ๊ณ์ ์ด ์๋๋ผ ์ฌ๋ฌ ๊ณ์ ์ ๋์์ผ๋ก ๋ก๊ทธ์ธ ์๋๋ฅผ ํ๋ ๊ฒ๋ ๊ณต๊ฒฉ์ ์งํ์ ๋๋ค.
- ๋์ ๋ฐฉ๋ฒ:
- CAPTCHA: ๋ด๊ณผ ์ค์ ์ฌ์ฉ์๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด CAPTCHA๋ฅผ ์ฌ์ฉํ์ฌ ์๋ํ๋ ๊ณต๊ฒฉ์ ๋ง์ ์ ์์ต๋๋ค.
- IP ์ฃผ์ ์ผ์ ์ฐจ๋จ: ๊ณต๊ฒฉ์ด ํ์ง๋๋ฉด ํด๋น IP ์ฃผ์๋ฅผ ์ฐจ๋จํ๊ฑฐ๋, ์์ฒญ ์๋๋ฅผ ์ ํํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ ์ ์์ต๋๋ค. ๋ค๋ง, ๊ณต๊ฒฉ์ด ๋ถ์ฐ๋ ๊ฒฝ์ฐ(์: ๋ถ์ฐ ์๋น์ค ๊ฑฐ๋ถ ๊ณต๊ฒฉ) ํจ๊ณผ๊ฐ ์ ํ์ ์ผ ์ ์์ต๋๋ค.
- ๊ณ์ ์ ๊ธ: ๊ณต๊ฒฉ์ด ํ์ง๋๋ฉด ๊ณ์ ์ ์ ๊ธ ์ ์์ง๋ง, ์ด๋ ์ฌ์ฉ์์ ๊ณ์ ์ ๊ทผ์ฑ์ ํด์น ์ ์์ด ์์ฃผ ์ฌ์ฉ๋๋ ๋ฐฉ๋ฒ์ ์๋๋๋ค.
Offline Attacker (์คํ๋ผ์ธ ๊ณต๊ฒฉ์)
- ์คํ๋ผ์ธ ๊ณต๊ฒฉ์๋ ์ด๋ป๊ฒ ํจ์ค์๋๋ฅผ ์ป๋๊ฐ?:
- ์๋ฒ์ ์นจ์ ํ๊ฑฐ๋, ์๊ฒฉ ์ฆ๋ช ์ถ์ธก(Credential Guessing), SQL ์ธ์ ์ (SQL Injection), ์๊ฒฉ ๋ช ๋ น ์คํ(Remote Command Execution) ๋ฑ์ ํตํด ํจ์ค์๋๋ฅผ ํฌํจํ ์๊ฒฉ ์ฆ๋ช ๋ฆฌ์คํธ๋ฅผ ํ๋ํ ์ ์์ต๋๋ค.
- ํจ์ค์๋๋ฅผ ์ด๋ป๊ฒ ์ ์ฅํด์ผ ํ๋๊ฐ?:
- ํจ์ค์๋๋ฅผ ํ๋ฌธ์ผ๋ก ์ ์ฅํ๋ฉด ์ ๋๋ค๋ ๊ฒ์ด ๋ช ๋ฐฑํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ ํจ์ค์๋๋ฅผ ์์ ํ๊ฒ ์ ์ฅํ๊ณ , ์ฌ์ฉ์ ์ธ์ฆ์ ํ ๋๋ ์ด๋ฅผ ์ฒดํฌํ ์ ์์๊น์? ์ด ์ฅ์ ๊ณ์ ๊ณต๋ถํ๋ฉด ์์๋ด ์๋ค.
Facebook ํจ์ค์๋ ํ๋ฌธ ์ ์ฅ ์ฌ๊ฑด
- Facebook์ด ์์ต ๊ฐ์ ํจ์ค์๋๋ฅผ ํ๋ฌธ์ผ๋ก ์ ์ฅํ ์ฌ๊ฑด์ ์ธ๊ธํ๋ฉฐ, ์ด ๋ฌธ์ ๋ ๋ณด์์ ๊ธฐ๋ณธ ์์น์ด ํญ์ ์ง์ผ์ง์ง ์์์ ๋ณด์ฌ์ค๋๋ค.
- The Verge ๊ธฐ์ฌ: 2019๋ 3์์ ๋ณด๋๋ ์ฌ๊ฑด์ผ๋ก, Facebook์ด ์์ต ๊ฐ์ ์ฌ์ฉ์ ํจ์ค์๋๋ฅผ ์ํธํํ์ง ์๊ณ ํ๋ฌธ์ผ๋ก ์ ์ฅํ ์ฌ์ค์ด ๋ฐํ์ก์ต๋๋ค. ์ด๋ ๋ํ ๊ธฐ์ ์กฐ์ฐจ ๋ณด์์ ์ค์๊ฐ ์์ ์ ์๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋๋ค.
๊ทธ๋ผ ํจ์ค์๋๋ฅผ ์ ์ฅํ ๋ ํ๋ฌธ์ด ์๋๋ผ ์ด๋ป๊ฒ ์ ์ฅํ ์ ์์๊น์?
๋จผ์ ๋น๋ฐ๋ฒํธ ํ๋ฌธ์ ๋น๋ฐํค๋ฅผ ์ด์ฉํด ์ํธํ ํ ์ ์์ต๋๋ค.
- ์ํธํ ๋ฐฉ์: ๋ชจ๋ ํจ์ค์๋๋ฅผ ๋น๋ฐ ํค๋ก ์ํธํํ๊ณ , ์๋ฒ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ๋น๋ฐ ํค๋ฅผ ์ฌ์ฉํด ํ์ํ ๋ ๋ณตํธํํ๋ ๋ฐฉ์์ ๋๋ค.
- ๋ฌธ์ ์ :
- ํค ํ์ทจ ์ํ: ๊ณต๊ฒฉ์๊ฐ ์๋ฒ์ ์นจ์ ํ์ฌ ๋น๋ฐ ํค๋ฅผ ํ์ทจํ๋ฉด, ๋ชจ๋ ํจ์ค์๋๋ฅผ ๋ณตํธํํ ์ ์์ต๋๋ค.
- ๊ด๋ฆฌ์์ ์ ๊ทผ ๋ฌธ์ : ๊ด๋ฆฌ์๋ ๋น๋ฐ ํค๋ฅผ ํตํด ๋ชจ๋ ์ฌ์ฉ์์ ํจ์ค์๋๋ฅผ ์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ ๋ณด์์ ๋ฐ๋์งํ์ง ์์ต๋๋ค. ๊ด๋ฆฌ์๋ ์ฌ์ฉ์์ ํจ์ค์๋๋ฅผ ์ ์ด์ ๊ฐ ์์ต๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด Hashing ๊ธฐ๋ฒ์ด ์์ต๋๋ค.
- ํด์ฑ์ ๊ฐ๋ : ์ฌ์ฉ์์ ํจ์ค์๋ ๋์ ํด์๊ฐ(Hash)์ ์ ์ฅํฉ๋๋ค. ํด์ ํจ์๋ ์์์ ๊ธธ์ด์ ๋ฐ์ดํฐ๋ฅผ ๊ณ ์ ๋ ๊ธธ์ด์ ๋นํธ ๋ฌธ์์ด๋ก ๋งคํํ๋ ํจ์์ ๋๋ค. ์ํธํ์๋ ๋ฌ๋ฆฌ, ํด์ฑ์ ์ผ๋ฐฉํฅ์ฑ(one-way property)์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
- ์ ์ฅ ๋ฐฉ์: ์์คํ ์ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ํด์๊ฐ๋ง ์ ์ฅํ๋ฉฐ, ์ค์ ํจ์ค์๋๋ ์ ์ฅํ์ง ์์ต๋๋ค.
- ์ฅ์ : ํด์๊ฐ์ ๋ณตํธํํ ์ ์๊ธฐ ๋๋ฌธ์, ํจ์ค์๋ ํ์ผ์ด ์ ์ถ๋์ด๋ ์ถ์ธก์ ํตํด์๋ง ํด์๊ฐ์ ์ฐพ์ ์ ์์ต๋๋ค.
ํด์ฑ์ ๋ณตํธํ๋ ๊ฐ๋ ์ด ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์ ํจ์ค์๋์ ํด์๊ฐ์ด ์ ์ถ๋๋๋ผ๋ ๋น๊ต์ ์์ ํฉ๋๋ค.
Avalanche Effect (Avalanche ํจ๊ณผ)
์ฝ๊ฐ์ ํ๋ฌธ ๋ณํ์๋ ํด์ ๊ฐ์ด ํฌ๊ฒ ๋ฐ๋๋ ํน์ง์ ๋๋ค.
ํด์ฑ์ด ์ฌ์ฉ๋๋ ์ ์ฐจ๋ ์๋์ ๊ฐ์ต๋๋ค:
- ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ํจ์ค์๋๋ฅผ ํด์ฑํฉ๋๋ค.
- ํด๋น ํด์๊ฐ์ ์ ์ฅ๋ ํด์๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค.
- ํด์๊ฐ์ด ์ผ์นํ๋ฉด, ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ํจ์ค์๋๊ฐ ๋ง๋ ๊ฒ์ผ๋ก ํ๋จํฉ๋๋ค.
ํด์ฑ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ด์ ๋ณด๋ค ๋์ ๋ฐฉ๋ฒ์ด์ง๋ง, ์ฌ์ ํ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ๋จ์ ์์ต๋๋ค.
- ๊ฐ์ ํจ์ค์๋๋ฅผ ๊ฐ์ง ๋ค๋ฅธ ์ฌ์ฉ์: ๋ ๋ช ์ ์ฌ์ฉ์๊ฐ ๋์ผํ ํจ์ค์๋๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ, ๋์ผํ ํด์๊ฐ์ ๊ฐ์ง๊ฒ ๋ฉ๋๋ค.
- ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ ๊ณต๊ฒฉ(rainbow tables): ๊ณต๊ฒฉ์๋ ์์ฃผ ์ฌ์ฉํ๋ ํจ์ค์๋๋ค์ ํด์๊ฐ์ ๋ฏธ๋ฆฌ ๊ณ์ฐํด ๋๊ณ , ์ด๋ฅผ ์ด์ฉํ์ฌ ์ฌ๋ฌ ๊ณ์ ์ ์๋ํ๋ ๋ฐฉ์์ผ๋ก ๊ณต๊ฒฉํ ์ ์์ต๋๋ค.
Salting!
- ์ํ ์ ๊ฐ๋ : ์ฌ์ฉ์ ํจ์ค์๋๋ฅผ ๋จ์ํ ํด์ฑํ๋ ๋์ , ๊ฐ ์ฌ์ฉ์๋ง๋ค ๊ณ ์ ํ ๋๋ค ๊ฐ(Salt)์ ํจ์ค์๋์ ์ถ๊ฐํ ํ ํด์ฑํฉ๋๋ค.
- ์์:
- SHA256์ ์ฌ์ฉํ์ฌ "mysecretpassword"๋ฅผ ํด์ฑํ๋ฉด ํน์ ํ ํด์๊ฐ์ด ์์ฑ๋ฉ๋๋ค.
- ๊ทธ๋ฌ๋, "mysecretpassword"์ ์ฌ์ฉ์๋ณ๋ก ๊ณ ์ ํ ์ํธ๊ฐ(์: 199654)์ ์ถ๊ฐํ ํ ํด์ฑํ๋ฉด ์์ ํ ๋ค๋ฅธ ํด์๊ฐ์ ์ป๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ๋์ผํ ํจ์ค์๋๋ผ๋ ์ํธ ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ํด์๊ฐ์ด ์์ฑ๋ฉ๋๋ค.
Salting Steps (์ํ ์ ์ฐจ)
- ์ฌ์ฉ์๊ฐ ๋ก๊ทธ์ธํ ๋ ๋ค์ ์ ์ฐจ๋ฅผ ๋ฐ๋ฆ
๋๋ค:
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ์ํธ ๊ฐ์ ์ฌ์ฉ์ ์ ๋ ฅ ํจ์ค์๋์ ์ฐ๊ฒฐํฉ๋๋ค.
- ์ ์ฒด ๋ฌธ์์ด์ ํด์ฑํฉ๋๋ค.
- ์ด ํด์๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ํด์๊ฐ๊ณผ ๋น๊ตํฉ๋๋ค.
- ๋ ํด์๊ฐ์ด ์ผ์นํ๋ฉด ์ ๋ ฅ๋ ํจ์ค์๋๊ฐ ์ ํํ๋ค๊ณ ํ๋จํฉ๋๋ค.
- ๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ ๋ฐฉ์ง: ๋ฏธ๋ฆฌ ๊ณ์ฐ๋ ํด์๊ฐ ํ ์ด๋ธ(๋ ์ธ๋ณด์ฐ ํ ์ด๋ธ)์ ๋ ์ด์ ํจ๊ณผ๊ฐ ์์ต๋๋ค. ๊ณต๊ฒฉ์๋ ๋งค๋ฒ ์ค์๊ฐ์ผ๋ก ํด์ฑ์ ์ํํด์ผ ํ๋ฏ๋ก, ํจ์ค์๋๋ฅผ ์ถ์ธกํ๊ธฐ๊ฐ ํจ์ฌ ์ด๋ ต์ต๋๋ค.
- ๋ค๋ฅธ ์ฌ์ฉ์: ๊ฐ์ ํจ์ค์๋๋ฅผ ๊ฐ์ง ์ฌ์ฉ์๋ผ๋, ์๋ก ๋ค๋ฅธ ์ํธ ๊ฐ์ผ๋ก ์ธํด ๊ฐ๊ฐ ๋ค๋ฅธ ํด์๊ฐ์ ๊ฐ์ง๋๋ค.
Summary
์ด๋ฒ ๊ธ์์๋ Authentication(์ธ์ฆ)๊ณผ Authorization(๊ถํ ๋ถ์ฌ)์ ์ฐจ์ด์ ๋ํด ์ดํด๋ณธ ํ, ํจ์ค์๋ ๊ธฐ๋ฐ ์ธ์ฆ ๋ฐฉ๋ฒ์ ๋ํด ๊ณต๋ถํ์ต๋๋ค.
ํจ์ค์๋ ๊ธฐ๋ฐ ์ธ์ฆ์์ ์ด๋ป๊ฒ ํจ์ค์๋๋ฅผ ์์ ํ๊ฒ ์ ์ฅํ ์ ์์๊น?์ ๋ํด์๋ hashing๊ณผ salting์ ์ด์ฉํ ์ ์์์ต๋๋ค. ๋ค์ ๊ธ์์๋ 2-2์ฅ, ๋ณด์ ๊ณ ๋ ค์ฌํญ ํํธ์ How does the system check the password? (์ด๋ป๊ฒ ์์คํ ์ด ๋น๋ฐ๋ฒํธ๋ฅผ ํ์ธํ๋์ง)์ ๋ํด ์ด์ด์ ๊ณต๋ถํ๊ฒ ์ต๋๋ค. ๐
'๐CS > ๐Theory of Information Security' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์ ๋ณด๋ณดํธ๋ก ] Lecture4. Authorization (1) | 2024.10.08 |
---|---|
[์ ๋ณด๋ณดํธ๋ก ] Lecture3. Authentication(2) (4) | 2024.10.06 |
[์ ๋ณด๋ณดํธ๋ก ] Lecture2. Concepts in Security (6) | 2024.10.06 |