04. User Authentication
RFC 2828. ์ฌ์ฉ์ ์ธ์ฆ์ ์ ์
์์คํ ๊ฐ์ฒด์ ์ํด ๋๋ ์์คํ ๊ฐ์ฒด๋ฅผ ์ํด ์ฃผ์ฅ๋ ์ ์์ ๊ฒ์ฆํ๋ ๊ณผ์
Authentication Process
- Identification(์๋ณ) ๋จ๊ณ
- ๋ณด์ ์์คํ ์ ์๋ณ์(identifier)๋ฅผ ์ ์
- Verification(๊ฒ์ฆ) ๋จ๊ณ
- ๊ฐ์ฒด์ ์๋ณ์ ๊ฐ์ ๋ฐ์ธ๋ฉ(binding)์ ํ์ฆํ๋ ์ธ์ฆ ์ ๋ณด๋ฅผ ์ ์ํ๊ฑฐ๋ ์์ฑ
- ๊ทผ๋ณธ์ ์ธ ๊ตฌ์ฑ ์์์ด์ ์ฃผ์ ๋ฐฉ์ด์
- ์ ๊ทผ ์ ์ด(access control) ๋ฐ user accountability์ ๊ธฐ๋ฐ
User Authentication
- ์ฌ์ฉ์ ์ ์์ ์ธ์ฆํ๋ ๋ค ๊ฐ์ง ์๋จ
- ๊ฐ์ธ์ด ์๋ ๊ฒ(Something the individual knows)
- ์ํธ(Password), PIN, ์ ํด์ง ํน์ ์ง๋ฌธ์ ๋ํ ๋๋ต
- ๊ฐ์ธ์ด ์์ ํ ๊ฒ(Something the individual possesses) (ํ ํฐ)
- ์ค๋งํธ์นด๋, ์ ์ ์ด์ ์นด๋, ๋ฌผ๋ฆฌ์ ์ด์
- ๊ฐ์ธ์ ์กด์ฌ(Something the individual is) (์ ์ ์ธ ์์ฒด ์ ๋ณด, static biometrics)
- ์ง๋ฌธ, ๋ง๋ง(Retina), ์ผ๊ตด
- ๊ฐ์ธ์ด ํ๋ ํ๋(Something the individual does) (๋์ ์ธ ์์ฒด ์ ๋ณด, dynamic biometrics)
- ์์ฑ ํจํด, ํ์ฒด(handwriting), typing rhythm
Password Authentication
- ์นจ์ ์์ ๋ํ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐฉ์
- ์ฌ์ฉ์๋ name/login๊ณผ password๋ฅผ ์ ๊ณต
- ์์คํ ์ ํด๋น ๋ก๊ทธ์ธ์ ๋ํด ์ ์ฅ๋ ์ํธ์ ๋น๊ตํ์ฌ, ๋ง์ผ๋ฉด ๋ก๊ทธ์ธ์ ์ฑ๊ณต
- ์ฌ์ฉ์ ID:
- ์ฌ์ฉ์๊ฐ ์์คํ ์ ์ ๊ทผํ ๊ถํ์ด ์๋์ง ๊ฒฐ์
- ์ฌ์ฉ์์ ๊ถํ์ ๊ฒฐ์
- ์์ ์ ๊ทผ ์ ์ด(DAC, discretionary access control)์ ์ฌ์ฉ๋จ.
Password Vulnerabilities
- ์คํ๋ผ์ธ ๋์ ๋๋ฆฌ ๊ณต๊ฒฉ(Offline dictionary attack)
- ํน์ ๊ณ์ ๊ณต๊ฒฉ(Specific account attack): ํน์ target user๋ฅผ ์ ํด์, ๊ฐ์ธ์ ๋ณด๋ ํจ๊ป ์์๋
- ์ฃผ์ํ ์ํธ ๊ณต๊ฒฉ(Popular password attack):
1111๊ฐ์ - ๋จ์ผ ์ฌ์ฉ์์ ๋ํ ์ํธ ์ถ์ธก(Password guessing against single user)
- ์ํฌ์คํ ์ด์ ํ์ด์ฌํน(Workstation hijacking): ์ฌ์ฉ์๊ฐ ์ ์ ์๋ฆฌ๋ฅผ ๋น์ด ์ฌ์ด์ ๋ช ๋ น์ด ์คํ
- ์ฌ์ฉ์ ์ค์ ์ ์ฉ(Exploiting user mistakes): URL์ ์ ์กํ๊ณ ์ ์ํ์ฌ ๋ก๊ทธ์ธํ๋ผ๋ ์
- ๋ค์ค ์ํธ ์ฌ์ฉ ์ ์ฉ(Exploiting multiple password use): ํ๋์ PW๋ฅผ ์ฌ๋ฌ ์ฌ์ดํธ์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์ทจ์ฝํ ์ฌ์ดํธ์ ์ ๋ณด๋ฅผ ๋จผ์ ์์๋
- ์ ์์ ๊ฐ์(Electronic monitoring): ์ํธํ๋์ง ์๊ณ ์ ์ก๋๋ ๊ฒฝ์ฐ
Countermeasures
- Password file์ ๋ํ ๋ฌด๋จ ์ ๊ทผ์ ๋ฐฉ์งํ๊ธฐ ์ํ ํต์
- ์นจ์ ํ์ง(Intrusion detection) ์กฐ์น
- ์ํธ๊ฐ ์ ์ถ๋ ๊ฒฝ์ฐ ์ ์ํ ์ํธ ์ฌ๋ฐ๊ธ ์กฐ์น
- ๊ณ์ ์ ๊ธ(Account lockout) ๋ฉ์ปค๋์ฆ: ๋ช ๋ฒ ์ด์ ํ๋ฆฐ ๊ฒฝ์ฐ
- ์ฌ์ฉ์๊ฐ ํํ, ๊ฐ๋จํ ์ํธ๋ฅผ ์ ํํ๋ ๊ฒ์ ๊ธ์งํ๋ policy
- ์ํธ ์ ์ฑ
์ ๋ํ ๊ต์ก ๋ฐ ์ํ
- 9์ ์ด์
- ๋/์๋ฌธ์, ํน์ ๋ฌธ์, ์ซ์ ๋ฑ ํฌํจ
- ์๋ ์ํฌ์คํ ์ด์ ๋ก๊ทธ์์: ํ๋ฉด ์ ๊ธ์ฅ์น ๋ฑ ํตํด์
- ๋คํธ์ํฌ ์ฅ์น์์ ์ ์ฌํ ์ํธ ์ฌ์ฉ์ ๊ธ์งํ๋ policy
Use of Hashed Passwords (in UNIX)
์ฌ์ฉ์๊ฐ ์ํธ๋ฅผ ์ค์ ํ๋ฉด,
- Salt๋ผ๊ณ ํ๋ randomํ ๊ฐ์ ํจ๊ป concatnateํจ.
- ์์คํ ์ hash ํจ์(hash function)๋ฅผ ์ ์ฉํ์ฌ ์ด๋ฅผ ์ํธํํ๊ณ , hash๊ฐ์ ์ ์ฅ.
- ์ด์ ๋ฐ๋ผ ID๋ง๋ค salt๊ฐ์ด ๋ค๋ฅด๊ฒ ๋จ
- ์ฌ์ฉ์ ์ํธ ํ์ผ์ ์ ์ฅ๋ hash๋ ์ํธ์ ๋น๊ตํ์ฌ ์ธ์ฆ์ ์ํ - ๊ฐ์ผ๋ฉด login ์ฑ๊ณต
How Password Salt Works
- Salt ๋ฏธ์ฌ์ฉ ์:
- ์ฌ์ฉ์๊ฐ ์ฌ์ฉ์ ID X์ ์ํธ P๋ฅผ ์ ๋ ฅ.
- ์์คํ ์ด X์ ์ํธ์ ๋ํ ์ ์ฅ๋ hash H๋ฅผ ์กฐํ.
- ์์คํ ์ด ์ธ์ง ํ ์คํธ.
- ์ํธ ํ์ผ:
... X: H ...
- Salt ์ฌ์ฉ ์:
- ์ฌ์ฉ์๊ฐ ์ฌ์ฉ์ ID X์ ์ํธ P๋ฅผ ์ ๋ ฅ.
- ์์คํ ์ด S์ H๋ฅผ ์กฐํ. ์ฌ๊ธฐ์ S๋ ์ฌ์ฉ์ ID X์ ๋ํ ๋ฌด์์ salt(salt)์ด๊ณ H๋ S์ X์ ์ํธ๋ฅผ ๊ฒฐํฉํ ๊ฐ์ ์ ์ฅ๋ hash.
- ์์คํ ์ด ์ธ์ง ํ ์คํธ.
- ์ํธ ํ์ผ:
... X: S, H ...
How Salt Increases Search Space Size
- ๊ณต๊ฒฉ์๊ฐ ๊ณต๊ฒฉํ๋ ค๋ ์ฌ์ฉ์ ID์ ์ฐ๊ด๋ salt๋ฅผ ์ฐพ์ ์ ์๋ค๊ณ ๊ฐ์ ํ๋ฉด, salt๊ฐ ์ ์ฉ๋ ์ํธ์ ๋ํ ๋์ ๋๋ฆฌ ๊ณต๊ฒฉ์ ํ์ ๊ณต๊ฐ(search space) ํฌ๊ธฐ๋ ์. ์ฌ๊ธฐ์ ๋ ๋ฌด์์ salt์ ๋นํธ ์์ด๊ณ ๋ ๋์ ๋๋ฆฌ ๊ณต๊ฒฉ์ ์ํ ๋จ์ด ๋ชฉ๋ก์ ํฌ๊ธฐ.
- ์๋ฅผ ๋ค์ด, ์์คํ
์ด ๊ฐ ์ฌ์ฉ์ ID์ ๋ํด 32๋นํธ salt๋ฅผ ์ฌ์ฉํ๊ณ ์ฌ์ฉ์๊ฐ
500,000๋จ์ด dictionary์ ์๋ password๋ฅผ ์ ํํ๋ ๊ฒฝ์ฐ, salt๊ฐ ์ ์ฉ๋ password๋ฅผ ๊ณต๊ฒฉํ๊ธฐ ์ํ ํ์ ๊ณต๊ฐ์ ์ผ๋ก, ์ด๋ ์ฝ 2์ฒ์กฐ ์ด์. - ๊ณต๊ฒฉ์๊ฐ ์ฌ์ฉ์ ID์ ๋ํ salt password๋ฅผ ์ฐพ์๋ด๋๋ผ๋ ์ค์ง ํ๋์ password๋ง ์๊ฒ ๋จ.
UNIX Implementation
- ๊ธฐ์กด ๋ฐฉ์(Original scheme)
- ์ต๋ 8๊ฐ์ printable characters in length
- DES ์ํธํ๋ฅผ ๋จ๋ฐฉํฅ hash ํจ์๋ก ์์ ํ๊ธฐ ์ํด 12๋นํธ salt ์ฌ์ฉ
0๊ฐ์ 25ํ ๋ฐ๋ณต์ ์ผ๋ก ์ํธํ- ์ถ๋ ฅ์ 11๊ฐ์ ๋ฌธ์ ์ํ์ค๋ก ๋ณํ
- ํ์ฌ๋ ๋ถ์ ์ ํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋จ.
- ์ฌ์ ํ ๊ธฐ์กด ๊ณ์ ๊ด๋ฆฌ ์ํํธ์จ์ด๋ ๋ค์ค ๋ฒค๋ ํ๊ฒฝ๊ณผ์ ํธํ์ฑ์ ์ํด ์ข ์ข ์๊ตฌ๋จ.
Improved Implementations
- Unix์์ ์ฌ์ฉ ๊ฐ๋ฅํ ํจ์ฌ ๊ฐ๋ ฅํ hash/salt ๋ฐฉ์
- ๊ถ์ฅ๋๋ hash ํจ์๋ MD5์ ๊ธฐ๋ฐํจ.
- ์ต๋ 48๋นํธ์ salt
- ์ํธ ๊ธธ์ด๋ ๋ฌด์ ํ
- 128๋นํธ hash ์์ฑ
- ์๋ ์ ํ๋ฅผ ์ํด 1000ํ ๋ฐ๋ณต๋๋ ๋ด๋ถ ๋ฃจํ ์ฌ์ฉ
- OpenBSD๋ Bcrypt๋ผ๋ Blowfish ๋ธ๋ก ์ํธ ๊ธฐ๋ฐ hash ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ
- Unix hash/salt ๋ฐฉ์ ์ค ๊ฐ์ฅ ์์ ํ ๋ฒ์
- 128๋นํธ salt๋ฅผ ์ฌ์ฉํ์ฌ 192๋นํธ hash ๊ฐ ์์ฑ
Password Cracking
- ๋์
๋๋ฆฌ ๊ณต๊ฒฉ(Dictionary attacks)
- ๊ฐ๋ฅํ ์ํธ๋ค์ด ํฌํจ๋ ํฐ ๊ท๋ชจ์ ์ฌ์ ์ ๊ฐ๋ฐํ์ฌ ์ํธ ํ์ผ๋ค์ ๋ํด ๊ฐ๊ฐ ์๋
- ๊ฐ ์ํธ๋ ๊ฐ salt๊ฐ์ ์ฌ์ฉํ์ฌ hash๋ ํ ์ ์ฅ๋ hash๊ฐ๊ณผ ๋น๊ต๋์ด์ผ ํจ.
- ๋ ์ธ๋ณด์ฐ ํ
์ด๋ธ ๊ณต๊ฒฉ(Rainbow table attacks)
- ๋ชจ๋ salt์ ๋ํ hash ๊ฐ ํ ์ด๋ธ์ ๋ฏธ๋ฆฌ ๊ณ์ฐ
- ๊ฑฐ๋ํ hash๊ฐ ํ ์ด๋ธ
- ์ถฉ๋ถํ ํฐ salt๊ฐ๊ณผ ์ถฉ๋ถํ ๊ธด hash ๊ธธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ๊ฐ๋ฅ
Table 3.2 Passwords Cracked from a Sample Set of 13,797 Accounts
62,727๊ฐ ๋จ์ด ๊ท๋ชจ์ ๊ฐ๋จํ dictionary๋ฅผ ๊ฐ์ง๊ณ ๋ ์ ์ฒด ์ฌ์ฉ์์ 24.2%์ ํด๋นํ๋ password๋ฅผ ํดํนํ ์ ์์์.
Password File Access Control
- ์ํธํ๋ ์ํธ์ ๋ํ ์ ๊ทผ์ ๊ฑฐ๋ถํจ์ผ๋ก์จ ์คํ๋ผ์ธ ์ถ์ธก ๊ณต๊ฒฉ์ ์ฐจ๋จ ๊ฐ๋ฅ
- ๊ถํ ์๋ ์ฌ์ฉ์์๊ฒ๋ง ์ ๊ทผ ํ์ฉ
- ์๋์ฐ ์ํธ ํ์ผ(Shadow password file)
- hash๋ ์ํธ๊ฐ ์ ์ฅ๋๋ ์ฌ์ฉ์ ID์๋ ๋ณ๊ฐ์ ํ์ผ
- ์ทจ์ฝ์
- ํ์ผ ์ ๊ทผ์ ํ์ฉํ๋ OS์ ์ฝ์
- ๊ถํ ์ค์ ์ค์๋ก ํ์ผ์ ์ฝ์ ์ ์๊ฒ ๋จ
- ๋ค๋ฅธ ์์คํ ์์ ๋์ผํ ์ํธ๋ฅผ ์ฌ์ฉํ๋ ์ฌ์ฉ์
- ๋ฐฑ์ ๋ฏธ๋์ด๋ก๋ถํฐ์ ์ ๊ทผ
- ๋คํธ์ํฌ ํธ๋ํฝ์์ plain text ์ํธ ์ค๋ํ(sniffing)
Password Selection Techniques
- ์ฌ์ฉ์ ๊ต์ก(User education)
- ์ฌ์ฉ์์๊ฒ "์ถ์ธกํ๊ธฐ ์ด๋ ค์ด" ์ํธ ์ฌ์ฉ์ ์ค์์ฑ์ ์๋ฆฌ๊ณ ๊ฐ๋ ฅํ ์ํธ ์ ํ์ ์ํ guideline ์ ๊ณต
- ์ปดํจํฐ ์์ฑ ์ํธ(Computer generated passwords)
- ์ฌ์ฉ์๋ค์ด ๊ธฐ์ตํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์.
- ์ฌํ ์ํธ ๊ฒ์ฌ(Reactive password checking)
- ์์คํ ์ด ์ฃผ๊ธฐ์ ์ผ๋ก ์์ฒด ์ํธ cracker๋ฅผ ์คํํ์ฌ ์ถ์ธก ๊ฐ๋ฅํ ์ํธ๋ฅผ ์ฐพ์๋.
- ์ฌ์ ์ํธ ๊ฒ์ฌ(Proactive password checking)
- ์ฌ์ฉ์๊ฐ ์์ ์ ์ํธ๋ฅผ ์ ํํ ์ ์๋๋ก ํ์ฉํ์ง๋ง, ์์คํ ์ ์ํธ๊ฐ ํ์ฉ ๊ฐ๋ฅํ์ง ํ์ธํ๊ณ ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฑฐ๋ถํจ.
- ๋ชฉํ๋ ์ฌ์ฉ์๊ฐ ๊ธฐ์ตํ๊ธฐ ์ฌ์ด ์ํธ๋ฅผ ์ ํํ๋๋ก ํ์ฉํ๋ฉด์ ์ถ์ธก ๊ฐ๋ฅํ ์ํธ๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ.
Proactive Password Checking
- ๊ท์น ๊ฐ์ (Rule enforcement)
- ์ํธ๊ฐ ์ค์ํด์ผ ํ๋ ํน์ ๊ท์น
- ์ํธ ํฌ๋์ปค(Password cracker)
- ์ฌ์ฉํ์ง ๋ง์์ผ ํ ์ํธ์ large dictionary๋ฅผ compile
- ๋ธ๋ฃธ ํํฐ(Bloom filter)
- hash๋ฅผ ์ฌ์ฉํ์ฌ dictionary์ ๊ธฐ๋ฐํ ํ ์ด๋ธ์ ๊ตฌ์ถํ๋ ๋ฐ ์ฌ์ฉ
- ์ํ๋ ์ํธ๋ฅผ ์ด ํ ์ด๋ธ๊ณผ ๋น๊ตํ์ฌ ํ์ธ
Bloom Filter
- Bloom filter๋ ์ด๋ค ํญ๋ชฉ์ด ํน์ ์งํฉ์ ์ํ๋์ง ์ฌ๋ถ๋ฅผ ํ๋ฅ ์ ์ผ๋ก ๊ฒ์ฌํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ
- ๊ฐ ํญ๋ชฉ์ ์ฌ๋ฌ hash ํจ์์ ํต๊ณผ์์ผ ๋นํธ ๋ฐฐ์ด์ ํน์ ์์น๋ฅผ 1๋ก ์ค์
- ํน์ ํญ๋ชฉ ์ ์์ ์ฌ๋ถ๋ฅผ ํ์ธํ๊ณ ์ ํ ๋, ํด๋น ํญ๋ชฉ์ ๋์ผํ hash ํจ์๋ค๋ก ์ฒ๋ฆฌํ์ฌ ๋นํธ ๋ฐฐ์ด์ ํด๋น ์์น๋ค์ด ๋ชจ๋
1์ธ์ง ํ์ธ ๋ชจ๋1์ด๋ฉด ํด๋น ํญ๋ชฉ์ ์งํฉ์ ์ํ ๊ฐ๋ฅ์ฑ์ด ๋๋ค๊ณ ํ๋จ - False Negative = 0
- False Positive > 0 (์ฝ๊ฐ ์์)
Password Security โ Login Scoring
- Login Scoring
- ์์ฒญ ๋ฐ์ดํฐ:
- IP ์ฃผ์(๋ฐ ํ์๋ ๊ตญ๊ฐ, ISP ๋ฑ)
- ๋ธ๋ผ์ฐ์ ์ ์ฌ์ฉ์ ์์ด์ ํธ(user agent)(๋ฐ OS, ๋ฒ์ ๋ฑ)
- ํ์์คํฌํ
- ์ฟ ํค
- Reputation scores(ํํ ์ ์)
- ์ด์ ์ ๊ด์ฐฐ๋ ๊ณต๊ฒฉ IP
- ์ ์ญ ์นด์ดํฐ
- ISP ๋๋ ๊ตญ๊ฐ ์์ค ๋ฐ์ดํฐ ์ฌ์ฉ
- ํ์์ ์ด์ (์ฑ๊ณต์ ์ธ) ๋ก๊ทธ์ธ ๊ธฐ๋ก
- ์์ฒญ ๋ฐ์ดํฐ:
- ์ฌ์ฉ์๋ณ ๊ณต๊ฒฉ ๋ฐ์ดํฐ๋ ์์
์ผ์ ์ค์ฝ์ด ์ด์์ด๋ฉด ๋ฐ๋ก login ๋์ง๋ง, ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์๋ ์ถ๊ฐ ์ธ์ฆ์ ์๊ตฌํ๋, ๊ธฐ์กด์ ํจํด๊ณผ ์ ์ฌํ ํจํด์ธ์ง๋ฅผ score๋ก ๋งค๊ธฐ๋ ๋ฐฉ์
Table 3.3 Types of Cards Used as Tokens
| ์นด๋ ์ ํ | ์ ์์ ํน์ง | ์์ |
|---|---|---|
| Embossed (์ ๋ณด์ฑ) | ์ ๋ฉด์๋ง ์๊ฐ ๋ฌธ์ | ๊ตฌํ ์ ์ฉ์นด๋ |
| Magnetic stripe (๋ง๊ทธ๋คํฑ ์คํธ๋ฆฝ) | ๋ท๋ฉด์ ๋ง๊ทธ๋คํฑ ๋ฐ, ์ ๋ฉด์ ๋ฌธ์ | ์ํ ์นด๋ |
| Memory (๋ฉ๋ชจ๋ฆฌ) | ๋ด๋ถ์ ์ ์ ๋ฉ๋ชจ๋ฆฌ | ์ ๋ถ ์ ํ์นด๋ |
| Smart (์ค๋งํธ) - Contact (์ ์ด์) - Contactless (๋น์ ์ด์) | ๋ด๋ถ์ ์ ์ ๋ฉ๋ชจ๋ฆฌ ๋ฐ ํ๋ก์ธ์ ํ๋ฉด์ ๋ ธ์ถ๋ ์ ๊ธฐ ์ ์ ๋ด๋ถ์ ๋ด์ฅ๋ radio ์ํ ๋ | ์์ฒด ์ธ์ ID ์นด๋ |
Memory Cards ๋ฉ๋ชจ๋ฆฌ ์นด๋
- ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ์๋ ์์ง๋ง ์ฒ๋ฆฌํ์ง๋ ๋ชปํจ.
- ๊ฐ์ฅ ํํ ๊ฒ์ ๋ง๊ทธ๋คํฑ ์คํธ๋ฆฝ ์นด๋(magnetic stripe card).
- ๋ด๋ถ ์ ์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํฌํจํ ์ ์์.
- ๋ฌผ๋ฆฌ์ ์ ๊ทผ์ ๋จ๋
์ผ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
- ํธํ ๋ฃธ
- ATM ๊ธฐ๊ณ
- ์ํธ๋ PIN๊ณผ ๊ฒฐํฉ๋ ๋ ํจ์ฌ ๋ ๋์ ๋ณด์์ ์ ๊ณต (๋ถ์คํ ์๋ ์๊ธฐ ๋๋ฌธ)
- ๋ฉ๋ชจ๋ฆฌ ์นด๋์ ๋จ์ :
- specialํ reader ํ์
- ํ ํฐ ๋ถ์ค
- ์ฌ์ฉ์ ๋ถ๋ง์กฑ
Smartcard ์ค๋งํธ ์นด๋
- ๋ฌผ๋ฆฌ์ ํน์ง
- ๋ด์ฅ๋ ๋ง์ดํฌ๋กํ๋ก์ธ์(microprocessor) ํฌํจ, ์ฝ๊ฐ์ ๊ณ์ฐ ์๊ตฌ
- ์ํ ์นด๋์ฒ๋ผ ์๊ธด ์ค๋งํธ ํ ํฐ
- ๊ณ์ฐ๊ธฐ, ์ด์ , ์์ ํด๋์ฉ ๋ฌผ์ฒด์ฒ๋ผ ๋ณด์ผ ์ ์์.
- ์ธํฐํ์ด์ค
- ์๋ ์ธํฐํ์ด์ค๋ ์ํธ์์ฉ์ ์ํ ํคํจ๋์ ๋์คํ๋ ์ด๋ฅผ ํฌํจ
- ์ ์ ์ธํฐํ์ด์ค๋ ํธํ๋๋ reader/writer์ ํต์
- ์ธ์ฆ ํ๋กํ ์ฝ
- ์ ์ , ๋์ ์ํธ ์์ฑ๊ธฐ, ์ฑ๋ฆฐ์ง-์๋ต(challenge-response)์ ์ธ ๊ฐ์ง ๋ฒ์ฃผ๋ก ๋ถ๋ฅ
Figure 3.3 Smart Card Dimensions
์ค๋งํธ ์นด๋ ์นฉ์ ๋ด๋ถ์ ์ผ๋ก CPU, crypto coprocessor, RAM, ROM, ์ ๊ธฐ ์ ํธ๋ฅผ ๊ฐ์ง๊ณ ์นฉ์ ๋์ํ๊ฒ ํ์ฌ ๊ณ์ฐํ๋๋ก ํจ.
Figure 3.4 Communication Initialization between a Smart Card and a Reader
- reader๊ฐ ์ ์ ์ ํ์ฑํํ๋ฉด, ์ค๋งํธ ์นด๋๋ ATR(Answer to Reset)์ ์ ์กํจ.
- ๊ทธ ํ, reader๋ ๋ช ๋ น์ ๋ณด๋ด๊ณ ์ค๋งํธ ์นด๋๋ ๋ช ๋ น์ ์คํํ ๋ค ์๋ต์ ๋ณด๋.
- ์ถ์ฒ: [TUNS06] ๊ธฐ๋ฐ.
Biometric Authentication
- ๊ณ ์ ํ ์ ์ฒด์ ํน์ฑ์ ๊ธฐ๋ฐํ์ฌ ๊ฐ์ธ์ ์ธ์ฆํ๋ ค๋ ์๋
- ํจํด ์ธ์(pattern recognition)์ ๊ธฐ๋ฐํจ.
- ์ํธ ๋ฐ ํ ํฐ์ ๋นํด ๊ธฐ์ ์ ์ผ๋ก ๋ณต์กํ๊ณ ๋น์ฉ์ด ๋ง์ด ๋ฆ.
- ์ฌ์ฉ๋๋ ์ ์ฒด์ ํน์ง:
- ์ผ๊ตด ํน์ง
- ์ง๋ฌธ
- ์ ๋ชจ์
- ๋ง๋ง(Retina) ํจํด
- ํ์ฑ(Iris)
- ์๋ช
- ์์ฑ
Figure 3.5 Cost Versus Accuracy
- ์ด graph๋ ๋ค์ํ ์ธ์ฆ ๋ฐฉ๋ฒ์ ๋น์ฉ๊ณผ ์ ํ๋ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ค.
- Iris๋ ์ ํ๋์ ๋น์ฉ ๋ชจ๋ ๋์ - ๊ตฐ์ฌ์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ
- Finger, Retina๋ ์ ํ์ฑ ์ธก๋ฉด์์ ๋์.
Figure 3.6 Operation of a Biometric System
- ์ผ๋ฐ์ ์ธ ์์ฒด ์ธ์ ์์คํ
์ ์๋ ๋ฐฉ์
- Enrollment(๋ฑ๋ก)
- Verification(์ธ์ฆ) - ์ ํํ ๊ฐ์ ๊ฐ์ด ๋์ค์ง๋ ์์, ๋ฐ๋ผ์ ์ด๋ ์ ๋์ ์ ์ฌ๋๊ฐ ๋์ค๋ฉด ์ธ์ฆ ์ฑ๊ณต์ผ๋ก ๊ฐ์ฃผํด ์ฃผ์ด์ผ ํจ.
- Identification(์๋ณ)
Biometric Accuracy
- ์ค๊ฑฐ๋ถ์จ(FRR, False Reject Rate): ์ ์์ ์ธ ์ฌ์ฉ์๊ฐ ๊ฑฐ๋ถ๋ ํ๋ฅ
- ์ค์ธ์๋ฅ (FAR, False Accept Rate): ๋น์ ์์ ์ธ ์ฌ์ฉ์๊ฐ ์น์ธ๋ ํ๋ฅ
- ๋ ๋ถํฌ ๊ณก์ ์ด ๊ต์ฐจํ๋ ์ง์ ์ ๊ต์ฐจ ์๋ฌ์จ(CER, Crossover Error Rate) ๋๋ ๋ฑ๊ฐ ์๋ฌ์จ(EER, Equal Error Rate)์ด๋ผ ํจ.
- ์ด ์ง์ ์์ FRR๊ณผ FAR์ด ๊ฐ์์ง.
Biometric Measurement Operating Characteristic Curves
- ROC(Receiver Operating Characteristic) ๊ณก์ ์ ๊ฒฐ์ ์๊ณ๊ฐ(decision threshold)์ด ๋ณํจ์ ๋ฐ๋ผ FAR๊ณผ FRR ๊ฐ์ ์์ถฉ ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ค.
- ์ด์์ ์ธ ์์คํ ์ ๊ณก์ ์ด ์ผ์ชฝ ํ๋จ ๋ชจ์๋ฆฌ์ ๊ฐ๊น์(FAR๊ณผ FRR์ด ๋ชจ๋ 0์ ๊ฐ๊น์).
- EER์ ๊ณก์ ์ด ์ธ ์ ๊ณผ ๊ต์ฐจํ๋ ์ง์ .
Actual Biometric Measurement Operating Characteristic Curves
- ์ด ๊ทธ๋ํ๋ ์ง๋ฌธ, ์ผ๊ตด, ์์ฑ์ ๋ํ ์ค์ ROC ๊ณก์ ์ ๋ณด์ฌ์ค.
- ์ง๋ฌธ ์ธ์์ ๊ฒฝ์ฐ false match rate๋ฅผ ๋ฎ์ถ๋๋ผ๋ false nonmatch rate๊ฐ ํฌ๊ฒ ๋์์ง์ง ์์
- Iris์ ๊ฒฝ์ฐ ๋์ ์ ํ๋๋ก ๊ตฐ์ฌ์ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ
Remote User Authentication
- ๋คํธ์ํฌ, ์ธํฐ๋ท ๋๋ ํต์ ๋งํฌ๋ฅผ ํตํ ์ธ์ฆ์ ๋ ๋ณต์กํจ.
- ๋ค์๊ณผ ๊ฐ์ ์ถ๊ฐ์ ์ธ ๋ณด์ ์ํ ์กด์ฌ:
- ๋์ฒญ(eavesdropping), ์ํธ ์บก์ณ, ๊ด์ฐฐ๋ ์ธ์ฆ ์ํ์ค ์ฌ์ ์ก(replaying)
- ์ผ๋ฐ์ ์ผ๋ก ์ํ์ ๋์ํ๊ธฐ ์ํด ์ด๋ค ํํ์ challenge-response ํ๋กํ ์ฝ์ ์์กดํจ.
Figure 3.10a Password Protocol
์ฑ๋ฆฐ์ง-์๋ต ํ๋กํ ์ฝ์ ์์
- ์ฌ์ฉ์๋ ์๊ฒฉ ํธ์คํธ์ ์ ์์ ์ ์ก
- ํธ์คํธ๋ ์์์ ์ซ์(๋ ผ์ค, nonce)๋ฅผ ์์ฑ
- nonce๊ฐ ์ฌ์ฉ์์๊ฒ return๋จ
- ์ฌ์ฉ์๋ nonce์ ์ํธ hash๋ฅผ ์ ๋ ฅ์ผ๋ก ํ๋ ํจ์๋ฅผ ๊ณ์ฐํ์ฌ ๊ฒฐ๊ณผ๋ฅผ host์ ์ ์ก
- ํธ์คํธ๋ ์ํธ์ hash ์ฝ๋๋ฅผ ์ ์ฅ
- ์ํธ hash๊ฐ ์ธ์ ์ค ํ๋์ธ ํจ์
- ์์์ ์ซ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณต๊ฒฉ์๊ฐ ์ฌ์ฉ์ ์ ์ก์ ์บก์ฒํ๋ ๊ฒ์ ๋ํด ๋ฐฉ์ดํ๋ ๋ฐ ๋์์ด ๋จ.
Figure 3.10c Static Biometric Protocol
- ์ ์ ์์ฒด ์ธ์ ํ๋กํ ์ฝ์ ์์
- ์ฌ์ฉ์๋ ํธ์คํธ์ ID๋ฅผ ์ ์ก
- ํธ์คํธ๋ ์์์ ์ซ์์ ์ํธํ๋ฅผ ์ํ ์๋ณ์๋ก ์๋ต
- ํด๋ผ์ด์ธํธ ์์คํ ์ ์ฌ์ฉ์ ์ธก์ ์์ฒด ์ธ์ ์ฅ์น๋ฅผ ์ ์ด
- ํด๋ผ์ด์ธํธ๋ ์์ฒด ์ ๋ณด๋ฅผ ์บก์ฒํ์ฌ ์์์ ์ซ์๋ก ์ํธํํ ํ ํธ์คํธ์ ์ ์ก
- ํธ์คํธ๋ ์์ ๋ฉ์์ง๋ฅผ ํด๋ (decrypt)ํ๊ณ ๋ก์ปฌ์ ์ ์ฅ๋ ๊ฐ๊ณผ ๋น๊ต
- ํธ์คํธ๋ ์์ ๋ ์ฅ์น ID๋ฅผ ํธ์คํธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฑ๋ก๋ ์ฅ์น ๋ชฉ๋ก๊ณผ ๋น๊ตํ์ฌ ์ธ์ฆ์ ์ ๊ณต
Authentication Security Issues
- ๋์ฒญ(Eavesdropping)
- ๊ณต๊ฒฉ์๊ฐ ์ฌ์ฉ์์์ ๋ฌผ๋ฆฌ์ ๊ทผ์ ์ฑ์ ํฌํจํ๋ ์ด๋ค ์ข ๋ฅ์ ๊ณต๊ฒฉ์ผ๋ก ์ํธ๋ฅผ ์์๋ด๋ ค๋ ์๋
- ํธ์คํธ ๊ณต๊ฒฉ(Host attacks)
- ์ํธ, ํ ํฐ ํจ์ค์ฝ๋ ๋๋ ์์ฒด ์ธ์ ํ ํ๋ฆฟ์ด ์๋ฒ์ ์ ์ฅ๋ ํธ์คํธ์ ์ฌ์ฉ์ ํ์ผ์ ๋์์ผ๋ก ํจ
- ์ฌ์ ์ก(Replay)
- ๊ณต๊ฒฉ์๊ฐ ์ด์ ์ ์บก์ฒํ ์ฌ์ฉ์ ์๋ต์ ๋ฐ๋ณตํ์ฌ ์ ์กํ๋ ๊ณต๊ฒฉ
- ํด๋ผ์ด์ธํธ ๊ณต๊ฒฉ(Client attacks)
- ๊ณต๊ฒฉ์๊ฐ ์๊ฒฉ ํธ์คํธ๋ ์ค๊ฐ ํต์ ๊ฒฝ๋ก์ ์ ๊ทผํ์ง ์๊ณ ์ฌ์ฉ์ ์ธ์ฆ์ ๋ฌ์ฑํ๋ ค๋ ์๋
- ํธ๋ก์ด ๋ชฉ๋ง(Trojan horse)
- ์ฌ์ฉ์ ์ํธ, ํจ์ค์ฝ๋ ๋๋ ์์ฒด ์ธ์์ ์บก์ณํ ๋ชฉ์ ์ผ๋ก ์ง์ง ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ device์ธ ๊ฒ์ฒ๋ผ ์์ฅํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ๋ฌผ๋ฆฌ์ device
- ์๋น์ค ๊ฑฐ๋ถ(Denial-of-service)
- ์๋ง์ ์ธ์ฆ ์๋๋ก ์ฌ์ฉ์ ์ธ์ฆ ์๋น์ค๋ฅผ ๋ง๋น์ํค๋ ค๋ ์๋
Practical Application: Iris Biometric System
ํ์ฑ ์ธ์ ๊ธฐ์ ์ ํ์ฉํ login ์์คํ ์ ์ค์ ์ ์ฉ ์ฌ๋ก
Cloud Security using User Authentication
- ์์ด์ ํธ ์๋ ์ฌ์ฉ์ ์ธ์ฆ(๋คํธ์ํฌ ๊ธฐ๋ฐ)
- ๋คํธ์ํฌ ํธ๋ํฝ์ด ์ ์์ธ๊ฐ? -> ์ฃผ๊ธฐ์ ์์ฒญ -> ๋คํธ์ํฌ ํธ๋ํฝ
- ์์ด์ ํธ ๊ธฐ๋ฐ ์ฌ์ฉ์ ์ธ์ฆ(Challenge-response ๊ธฐ๋ฐ)
- ์ฌ์ฉ์ ํจํด์ด ์ ์์ธ๊ฐ? -> ์ ์์ด ์๋๋ฉด, ์ฌ์ฉ์๋ฅผ ๋ค์ ํ์ธํ๊ธฐ ์ํด ์ฑ๋ฆฐ์ง๋ฅผ ๋ง๋ค์ด ์ ์ก! -> ์ฑ๋ฆฐ์ง(์ด๋ฒคํธ) -> ์๋ต(ํ๋ ํจํด) -> ํ์ฌ ํ๋ ํจํด
Continuous Authentication
- ํ๋ ์์ํฌ Initial Login Authentication -> Continuous Authentication <-> Enrollment Temlate Update <-> Re-login Authentication
- ์์ฒด์ธ์(Biometrics)
- ์ํํธ ์์ฒด์ธ์(Soft biometric)
- "๊ฐ์ธ์ ๋ํ ์ผ๋ถ ์ ๋ณด๋ฅผ ์ ๊ณตํ์ง๋ง, ๋ ๊ฐ์ธ์ ์ถฉ๋ถํ ๊ตฌ๋ณํ ์ ์๋ ๋ ํนํจ์ด ๋ถ์กฑํ ํน์ฑ"์ผ๋ก ์ ์๋จ.
- ์: ์ฑ๋ณ, ๋ฏผ์กฑ, ๋/ํผ๋ถ/๋จธ๋ฆฌ ์๊น, ํค, ๋ชธ๋ฌด๊ฒ ๋ฑ
- ํ๋ ์์ฒด์ธ์(Hard biometric)
- ์: ์ง๋ฌธ, ์ผ๊ตด, ํ์ฑ, ์๋ฐ๋ฅ ์ ๋งฅ
- ์ํํธ ์์ฒด์ธ์(Soft biometric)
Continuous Authentication - Examples
- PC์ ์น์บ (Web-CAM) ์ฌ์ฉ
- ์ผ๊ตด์ด๋ ์ท์ฐจ๋ฆผ ๋ฑ
- ๋ชจ๋ฐ์ผ ์ฅ์น์ ์ผ์ ์ฌ์ฉ
- ์๋ง์ sensor๋ค์ด ์๊ณ , ์ด ์ ๋ณด๋ฅผ ์์งํ์ฌ ํ๋จ
- Mobile device์ ๊ฐ์๋๊ณ(accelerometer) ์ฌ์ฉ
- ์๋ก ๋ค๋ฅธ ๋ ์ฌ๋(Person A, Person B)์ ๊ฑธ์๊ฑธ์ด์์ ์ธก์ ๋ ๊ฐ์๋๊ณ ๋ฐ์ดํฐ(x, y, z์ถ)๋ ๋๋ ทํ๊ฒ ๋ค๋ฅธ ํจํด์ ๋ณด์.
Authentication System
- ์ฌ์ฉ์ ๋ฑ๋ก(ํ์ต/Modeling) ๊ณผ์
- ์ฌ์ฉ์ ๋ฐ์ดํฐ ์ถ์ถ
- ํน์ง ๊ณ์ฐ
- ํน์ง DB์ ์ ์ฅ
- ์ ์ฅ๋ ํน์ง DB๋ก ๋๋ค ํฌ๋ ์คํธ(Random Forest) ๋ชจ๋ธ ํ์ต
- ์ฌ์ฉ์ ์ธ์ฆ(Testing) ๊ณผ์
- ์ฌ์ฉ์ ๋ฐ์ดํฐ ์ถ์ถ
- ํน์ง ๊ณ์ฐ
- ํน์ง์ ๋ถ๋ฅ ๋ชจ๋ธ(์: ๋๋ค ํฌ๋ ์คํธ)์ ์ฌ์ฉํ์ฌ ์์ธก
- ํ์ฌ ์ฌ์ฉ์์ธ์ง ์ฌ๋ถ์ ๋ฐ๋ผ ์ธ์ฆ ์ฑ๊ณต ๋๋ ์คํจ ๊ฒฐ์
Summary
- ์ฌ์ฉ์ ์ ์ ์ธ์ฆ์ ๋ค ๊ฐ์ง ์๋จ
- ๊ฐ์ธ์ด ์๋ ๊ฒ
- ๊ฐ์ธ์ด ์์ ํ ๊ฒ
- ๊ฐ์ธ์ ์กด์ฌ
- ๊ฐ์ธ์ด ํ๋ ํ๋
- ์ํธ์ ์ทจ์ฝ์
- ์คํ๋ผ์ธ dictionary attack, ํน์ ๊ณ์ ๊ณต๊ฒฉ, ์ธ๊ธฐ ์๋ ์ํธ ๊ณต๊ฒฉ, ๋จ์ผ ์ฌ์ฉ์์ ๋ํ ์ํธ ์ถ์ธก, ์ํฌ์คํ ์ด์ ํ์ด์ฌํน, ์ฌ์ฉ์ ์ค์ ์ ์ฉ, ๋ค์ค ์ํธ ์ฌ์ฉ ์ ์ฉ, ์ ์์ ๊ฐ์
- hash๋ ์ํธ์ salt๊ฐ
- ์ํธ ํ์ผ ์ ๊ทผ ์ ์ด
- ์ํธ ์ ํ ์ ๋ต
- ์ฌ์ฉ์ ๊ต์ก
- ์ปดํจํฐ ์์ฑ ์ํธ
- ์ฌํ ์ํธ ๊ฒ์ฌ
- ์ฌ์ ์ํธ ๊ฒ์ฌ
- ๋ธ๋ฃธ ํํฐ
- ํ ํฐ ๊ธฐ๋ฐ ์ธ์ฆ
- ๋ฉ๋ชจ๋ฆฌ ์นด๋
- ์ค๋งํธ ์นด๋
- ์์ฒด ์ธ์ ์ธ์ฆ
- ์๊ฒฉ ์ฌ์ฉ์ ์ธ์ฆ
- ์ํธ ํ๋กํ ์ฝ
- ํ ํฐ ํ๋กํ ์ฝ
- ์ ์ ์์ฒด ์ธ์ ํ๋กํ ์ฝ
- ๋์ ์์ฒด ์ธ์ ํ๋กํ ์ฝ
