1. ๋ค์ด์ ์คํธ ์ธ์ฆ์ ๊ธฐ๋ณธ ์ธ์ฆ์ ๋์ฒดํ๊ธฐ ์ํด ์ค๊ณ๋์ด ๊ธฐ๋ณธ ์ธ์ฆ๋ณด๋ค ํจ์ฌ ๊ฐ๋ ฅํ๋ค(O/X)
2. ๋ค์ด์ ์คํธ ์ธ์ฆ์ ๋ค๋ฅธ ์ธํฐ๋ท ์๋น์ค๋ฅผ ์ํด ์ ์๋ ๋ง์ ์ธ๊ธฐ ์ด๋ ๋ณด์ ์ฒด๊ณ๋ค(LDAP, POP, IMAP)๋ณด๋ค ๋ ๊ฐ๋ ฅํ ๋ณด์์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ํ์ฌ ๋๋ฆฌ ์ฐ์ธ๋ค(O/X)
3. ๋ค์ด์ ์คํธ๋ ์ ๋๋ก ๋คํธ์ํฌ๋ฅผ ํตํด ๋น๋ฐ๋ฒํธ๋ฅผ ํ๋ฌธ์ผ๋ก ์ ์กํ์ง ์๋๋ค(O/X)
4. ๋ณด์ํ ๊ฐ๋ ฅํ ๋ค์ด์ ์คํธ ์ธ์ฆ๋ ํ์ ์ด ์๋ค. ์
๋น์ด ๋น๋ฐ๋ฒํธ๋ฅผ ๋ชจ๋ฅธ๋ค๊ณ ํด๋ ____
์ ๊ฐ๋ก์ฑ์ ์๋ฒ๋ก ๋ช ๋ฒ์ด๊ณ ์ฌ์ ์กํด์ ์ธ์ฆ์ ๋ฌด๋ ฅํ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฐ ์ฌ์ ์ก ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด์ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ____
๋ผ๊ณ ๋ถ๋ฆฌ๋ ํน๋ณํ, ๊ทธ๋ฆฌ๊ณ ์์ฃผ ๋ฐ๋๋ ์ฆํ๋ฅผ ๊ฑด๋ค์ค๋ค.
๐ ๋ต์ง
1. ๋ค์ด์ ์คํธ ์ธ์ฆ์ ๊ธฐ๋ณธ ์ธ์ฆ์ ๋์ฒดํ๊ธฐ ์ํด ์ค๊ณ๋์ด ๊ธฐ๋ณธ ์ธ์ฆ๋ณด๋ค ํจ์ฌ ๊ฐ๋ ฅํ๋ค(O)
2. ๋ค์ด์ ์คํธ ์ธ์ฆ์ ๋ค๋ฅธ ์ธํฐ๋ท ์๋น์ค๋ฅผ ์ํด ์ ์๋ ๋ง์ ์ธ๊ธฐ ์ด๋ ๋ณด์ ์ฒด๊ณ๋ค(LDAP, POP, IMAP)๋ณด๋ค ๋ ๊ฐ๋ ฅํ ๋ณด์์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ํ์ฌ ๋๋ฆฌ ์ฐ์ธ๋ค(X)
ํ์ฌ ๋๋ฆฌ ์ฐ์ด์ง ์๊ณ ์๋ค. ์ฃผ๋ก SSL์ ์ด์ฉํ HTTPS๊ฐ ๋ง์ด ์ฐ์ธ๋ค.
3. ๋ค์ด์ ์คํธ๋ ์ ๋๋ก ๋คํธ์ํฌ๋ฅผ ํตํด ๋น๋ฐ๋ฒํธ๋ฅผ ํ๋ฌธ์ผ๋ก ์ ์กํ์ง ์๋๋ค(O)
๋ค์ด์ ์คํธ ์ธ์ฆ์ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋จ๋ฐฉํฅ ์ํธํํด์ "์์ฝ"์ ํํ๋ก ์๋ฒ์๊ฒ ๋ณด๋ด์ค๋ค.
4. ๋ณด์ํ ๊ฐ๋ ฅํ ๋ค์ด์ ์คํธ ์ธ์ฆ๋ ํ์ ์ด ์๋ค. ์
๋น์ด ๋น๋ฐ๋ฒํธ๋ฅผ ๋ชจ๋ฅธ๋ค๊ณ ํด๋ ์์ฝ(๋ค์ด์ ์คํธ)
์ ๊ฐ๋ก์ฑ์ ์๋ฒ๋ก ๋ช ๋ฒ์ด๊ณ ์ฌ์ ์กํด์ ์ธ์ฆ์ ๋ฌด๋ ฅํ ํ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ์ด๋ฐ ์ฌ์ ์ก ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํด์ ์๋ฒ๋ ํด๋ผ์ด์ธํธ์๊ฒ ๋์ค
๋ผ๊ณ ๋ถ๋ฆฌ๋ ํน๋ณํ, ๊ทธ๋ฆฌ๊ณ ์์ฃผ ๋ฐ๋๋ ์ฆํ๋ฅผ ๊ฑด๋ค์ค๋ค.
๋ค์ด์ ์คํธ ์ธ์ฆ
์ ํ์ฌ ๊ทธ๋ค์ง.. ์ฌ์ฉ๋๊ณ ์์ง ์์ง๋ง!
๋์ค
์ ๋จ๋ฐฉํฅ ํจ์
๋ก ๋ค์ด์ ์คํธ(์์ฝ)
ํ์ฌ ๋ณด์ ์ ๋๋ฅผ ๋์ด๋
๋ค์ด์ ์คํธ ์ธ์ฆ
์ ๊ณ์ฐ๋ฒ์ ๋ํด ์์๋ณด์!
* ์ฐธ๊ณ - '๋จ๋ฐฉํฅ'์ด๋?
์๋ณธ ๋ฉ์์ง ----์ฐ์ฐ(์ํธํ)----> ์ํธํ ๋ฉ์์ง (๊ฐ๋ฅ)
์๋ณธ ๋ฉ์์ง <----์ฐ์ฐ(๋ณตํธํ)---- ์ํธํ ๋ฉ์์ง (๋ถ๊ฐ๋ฅ ํน์ ๋งค์ฐ ์ด๋ ค์)
์์ ๊ฐ์ด ํ์ชฝ ๋ฐฉํฅ์ผ๋ก๋ง ๋ต์ ๊ตฌํ๋ ๊ฒ์ด ์ฉ์ดํ ํน์ฑ์ ๋งํฉ๋๋ค.
1) ๋ค์์ ๋ค์ด์ ์คํธ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์ฑ์์๋ค์ด๋ค. ๊ฐ ์์์ ๋ง๋ ์ค๋ช ์ ๊ณจ๋ผ ์ ์ผ์ธ์.
secret
๋จ๋ฐฉํฅ ํด์ ํจ์
์์ฝ ํจ์
data
๋น๋ฐ์ธ data ๋ฉ์ด๋ฆฌ
๋น๋ฐ์ด ์๋ data ๋ฉ์ด๋ฆฌ
-
H(d) ----------------
________
(____
) -
KD(s, d) -------------
_____
(______
,____
) -
A1 ----------------
______________
-
A2 ----------------
______________
2) ๋ค์ด์ ์คํธ ์ธ์ฆ์ ์ฌ๋ฌ๊ฐ์ง ์์ฝ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ ์ ์๋๋ก ์ง์ํ์ง๋ง, ์ ํด์ง์ง ์์์ ๊ฒฝ์ฐ MD5
๊ฐ ๊ธฐ๋ณธ ๊ฐ์ด๋ค. (O ------ X)
๋ค์ด์ ์คํธ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์ฑ ์์์ค ํ๋์ธ A1์ ์๋ ์์๋ค๊ณผ ๊ฐ์ด ๋ฐฐ์นํด ํด์๋ฅผ ๋ง๋ ๋ค.
MD5 A1 = <user>:<realm>:<password>
MD5=sess A1 = MD5(<user>:<realm>:<password>):<nonce>:<cnonce>
3) qop
๊ฐ ๋ฌด์์ธ๊ฐ์? (๋จ๋ต์)
RFC2617(๋ obsoletes์ด๊ณ ํ์ฌ RFC7616) ์ qop์ ๋ฐ๋ผ 2๊ฐ์ง ํํ์ A2๋ฅผ ์ฌ์ฉํ๋๋ก ์ ์ํ๊ณ ์๋ค.
-
๊ธฐ๋ณธ๊ฐ
qop ์ต์ ์ด ์์ ๊ฒฝ์ฐ, ๋๋ qop = "auth" ์ผ ๊ฒฝ์ฐ A2 = <์์ฒญ ๋ฉ์๋>:<uri ์ง์์ ๊ฐ>
-
๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ฉ์์ง ์ํฐํฐ ๋ณธ๋ฌธ์ ์ถ๊ฐ
qop = "auth-int" ์ผ ๊ฒฝ์ฐ A2 = <์์ฒญ ๋ฉ์๋>:<uri ์ง์์ ๊ฐ>:H(<์์ฒญ ์ํฐํฐ ๋ณธ๋ฌธ>) ~~~~~~~~~~~~~~~~~
๋ค์ด์ ์คํธ๋ฅผ ๊ณ์ฐํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ
qop ์ต์
์ด ์์ ๊ฒฝ์ฐ MD5(MD5(A1):<๋์ค>:MD5(A2))
qop = "auth" , ๋๋
qop = "auth-int" ์ผ ๊ฒฝ์ฐ MD5(MD5(A1):<๋์ค>:<c๋์ค>:<qop>:MD5(A2))
~~~~~~~~~~~~
์ธ์ฆ ์ธ์ ์์ ๋์ค๊ฐ ๋ง๋ฃ ๋์์ ๊ฒฝ์ฐ,
- ์๋ฒ๋ ๋์ค๊ฐ ๋ก์์์ ๊ฐ์ํ๊ณ ์ค๋๋
Authorization ํค๋
๋ฅผ ๋ฐ์๋ค์ผ ์ ์๋ค. - ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ฌ์์ฒญ์ ๋ณด๋ด๋๋ก ์ ๋์ค ๊ฐ๊ณผ
401
์๋ต์ ๋ณด๋ผ ์๋ ์๋ค.- ์ด ๋
"stale=true"
๋ก ์ ์ํ์ฌ (=="์ฑ์ฑํ์ง ์์๊ฐ=๊ทธ๋ ๋ค"
) ์ ๋์ค ๊ฐ์ผ๋ก ์์ฒญ์ ๋ค์ ๋ณด๋ด๋ผ๊ณ ํ ์ ์๋ค.
- ์ด ๋
๋ ํจ์จ์ ์ด๊ณ ๋น ๋ฅธ ํธ๋์ญ์ ์ ์ํด ์ฌ์ (preemptive ๋ฐ์: prฤหemptiv) ์ธ๊ฐ๋ฅผ ์ฌ์ฉ ํ ์ ์๋ค.
์ฌ์ ์ธ๊ฐ๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก๋ถํฐ WWW-Authenticate
์ธ์ฆ ์๊ตฌ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ฏธ๋ฆฌ ์ฌ๋ฐ๋ฅธ ๋์ค๋ฅผ ์ทจ๋ํ์ฌ ๊ณ์ฐํ๋๋ก ํ๋ ๊ฒ์ด๋ค
4) [๋ค์ ๋์ค ๋ฏธ๋ฆฌ ์์ฑํ๊ธฐ]๋ ์ธ์ฆ์ด ์ฑ๊ณตํ์ ๋, ์๋ฒ์์ 200 OK
์ ํจ๊ป Authentication-Info: nextnonce="<๋์ค๊ฐ>"
์ ๋ณด๋ด๋ ๋ฐฉ์์ด๋ค. ์ด ๋ฐฉ๋ฒ์ ์ด๋ค ์ํฉ์ผ ๋ ๋จ์ ์ด ๋ ๊น? (์ฃผ๊ด์)
6) ์ฌ์ ์ธ๊ฐ๋ฅผ ์ํด [๋๊ธฐํ๋ ๋์ค ์์ฑ]์ ํ ์๋ ์๋ค. ์ด๋ค ์์ผ๋ก ๊ฐ๋ฅํ๊ฐ? (์ฃผ๊ด์)
๋์ค๋ ์ด๋ป๊ฒ ๊ตฌํํ๋๊ฐ์ ๋ฐ๋ผ ์ฑ๋ฅ ์์ค, ๋ณด์, ํธ์์ฑ์ด ํฌ๊ฒ ๋ฌ๋ผ์ง๋ค.
RFC7616์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์์ ๋์ค ๊ณต์์ ์ ์ํ๋ค.
BASE64(time-stamp H(time-stamp ":" ETag ":" secret-data))
-
ํ์์คํฌํ๋ ์๋ฒ์์ ์์ฑ๋ ์๊ฐ ํน์ ์๋ฌด๊ฑฐ๋
๋ฐ๋ณต ๋ถ๊ฐ๋ฅํ ๊ฐ
์ด๋ฉด ๋๋ค. -----> ๋ณด์ -
ETag๋ ์์ฒญ๋ ์ํฐํฐ์ ๋ํ
ETag ํค๋๊ฐ
-----> ๊ฐฑ์ ๋ ๋ฆฌ์์ค์ ๋ํ ์ฌ์์ฒญ ๋ฐฉ์ง -
๋น๋ฐ ๋ฐ์ดํฐ๋
์๋ฒ๋ง ์๊ณ ์๋ ๋ฐ์ดํฐ
-----> ๋ณด์ -
์๋ฒ๋ ํด๋ผ ์ธ์ฆ ํค๋๋ฅผ ๋ฐ์ ๋ค,
-
ํด์๋ฅผ ์ฌ๊ณ์ฐ ํด๋ณด๊ณ ํด๋ผ ์ธ์ฆ ํค๋์ ๋์ค์ ์ผ์นํ์ง ์์ผ๋ฉด ์์ฒญ ๊ฑฐ์ ๊ฐ๋ฅ
-
ํ์์คํฌํ๊ฐ ์ค๋๋์๋ค๋ฉด ์์ฒญ ๊ฑฐ์ ๊ฐ๋ฅ
-
๋์ค์ ์ ํจ ๊ธฐ๊ฐ์ ์ ํ ๊ฐ๋ฅ
-
์ฌ์ ์ก ๊ณต๊ฒฉ ๋ฐฉ์ง๋ฅผ ์ํด ์ด์ ์ ์ฌ์ฉ๋ ๋์ค ๋ฐ ์์ฝ์ ๋ฐ์๋ค์ด์ง ์๋๋ก ์ ํ ๊ฐ๋ฅ
-
7) ๋ค์์ **์ํธ ์ธ์ฆ(Symmetric Authentication)**์ ๋ํ ์ค๋ช ์ผ๋ก ํ๋ฆฐ ๊ฒ์?
-
ํด๋ผ์ด์ธํธ ์ชฝ์์๋ ์๋ฒ๋ฅผ ์ธ์ฆํ ์ ์๋๋ก
ํด๋ผ์ด์ธํธ
๊ฐ๋์ค(=c๋์ค)
๋ฅผ ์ ๊ณตํ๊ณ , ์๋ฒ๋ ์ด ์์ฝ์Authentication-Info ํค๋
๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์ ๋ฌํ์ฌ ์ธ์ฆ ๋ฐ๋ ๊ฒ์ด๋ค. -
์๋ต ๋ค์ด์ ์คํธ
๋ ๋ฉ์์ง ๋ณธ๋ฌธ ์ ๋ณด๊ฐ ๋ค๋ฅด๋ค๋ ๊ฒ๋ง ์ ์ธํ๋ฉด์์ฒญ ๋ค์ด์ ์คํธ
์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ณ์ฐํ ์ ์๋ค.
๐ ๋ต์ง
1) ๋ค์์ ๋ค์ด์ ์คํธ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์ฑ์์๋ค์ด๋ค. ๊ฐ ์์์ ๋ง๋ ์ค๋ช ์ ๊ณจ๋ผ ์ ์ผ์ธ์.
secret
๋จ๋ฐฉํฅ ํด์ ํจ์
์์ฝ ํจ์
data
๋น๋ฐ์ธ data ๋ฉ์ด๋ฆฌ
๋น๋ฐ์ด ์๋ data ๋ฉ์ด๋ฆฌ
-
H(d) ----------------
๋จ๋ฐฉํฅ ํด์ ํจ์
(data
) -
KD(s, d) -------------
์์ฝ ํจ์
(secret
,data
) -
A1 ----------------
๋น๋ฐ์ธ data ๋ฉ์ด๋ฆฌ
-
A2 ----------------
๋น๋ฐ์ด ์๋ data ๋ฉ์ด๋ฆฌ
2) ๋ค์ด์ ์คํธ ์ธ์ฆ์ ์ฌ๋ฌ๊ฐ์ง ์์ฝ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ ์ ์๋๋ก ์ง์ํ์ง๋ง, ์ ํด์ง์ง ์์์ ๊ฒฝ์ฐ MD5
๊ฐ ๊ธฐ๋ณธ ๊ฐ์ด๋ค. (O)
-
Message Digest #5
์ ์ฝ์ด -
SHA(์ํ์ด ํด์ ์๊ณ ๋ฆฌ์ฆ)
๊ฐ์ ๋ค์ด์ ์คํธ ํจ์ ์ค ํ๋ -
128๋นํธ ์ํธํ ํด์ ํจ์
-
์ทจ์ฝ์ ์ด ๋ฐ๊ฒฌ๋์๊ณ ๋ ธํธ๋ถ ํ๋๋ก 1๋ถ๋ด๋ก ํด์ ์ถฉ๋์ ์ฐพ๋ ์๊ณ ๋ฆฌ์ฆ์ด ๋์ฌ์ ๋๋ก ์ทจ์ฝํด์ก๋ค. = ์ด์ ์์ด๋ค (์ฐ๋ฉด ์๋๋ค)
SHA-0
,SHA-1
๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ณด์ ๋ซ๋ฆฐ ์ํ.SHA-256
,SHA-512
๋ฑ์ ์ฌ์ฉํ๊ธฐ๋ฅผ ๊ถ๊ณ ํ๋ค๊ณ ํฉ๋๋ค.
๋ค์ด์ ์คํธ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์ฑ ์์์ค ํ๋์ธ A1์ ์๋ ์์๋ค๊ณผ ๊ฐ์ด ๋ฐฐ์นํด ํด์๋ฅผ ๋ง๋ ๋ค.
MD5 A1 = <user>:<realm>:<password>
MD5=sess A1 = MD5(<user>:<realm>:<password>):<nonce>:<cnonce>
3) qop
๊ฐ ๋ฌด์์ธ๊ฐ์? (๋จ๋ต์)
- quality of protection. ๋ณดํธ ์์ค.
RFC2617(๋ obsoletes์ด๊ณ ํ์ฌ RFC7616) ์ qop์ ๋ฐ๋ผ 2๊ฐ์ง ํํ์ A2๋ฅผ ์ฌ์ฉํ๋๋ก ์ ์ํ๊ณ ์๋ค.
-
๊ธฐ๋ณธ๊ฐ
qop ์ต์ ์ด ์์ ๊ฒฝ์ฐ, ๋๋ qop = "auth" ์ผ ๊ฒฝ์ฐ A2 = <์์ฒญ ๋ฉ์๋>:<uri ์ง์์ ๊ฐ>
-
๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ๋ฉ์์ง ์ํฐํฐ ๋ณธ๋ฌธ์ ์ถ๊ฐ
qop = "auth-int" ์ผ ๊ฒฝ์ฐ A2 = <์์ฒญ ๋ฉ์๋>:<uri ์ง์์ ๊ฐ>:H(<์์ฒญ ์ํฐํฐ ๋ณธ๋ฌธ>) ~~~~~~~~~~~~~~~~~
๋ค์ด์ ์คํธ๋ฅผ ๊ณ์ฐํ๋ 2๊ฐ์ง ๋ฐฉ๋ฒ
qop ์ต์
์ด ์์ ๊ฒฝ์ฐ MD5(MD5(A1):<๋์ค>:MD5(A2))
qop = "auth" , ๋๋
qop = "auth-int" ์ผ ๊ฒฝ์ฐ MD5(MD5(A1):<๋์ค>:<c๋์ค>:<qop>:MD5(A2))
~~~~~~~~~~~~
์ธ์ฆ ์ธ์ ์์ ๋์ค๊ฐ ๋ง๋ฃ ๋์์ ๊ฒฝ์ฐ,
- ์๋ฒ๋ ๋์ค๊ฐ ๋ก์์์ ๊ฐ์ํ๊ณ ์ค๋๋
Authorization ํค๋
๋ฅผ ๋ฐ์๋ค์ผ ์ ์๋ค - ์๋ฒ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ฌ์์ฒญ์ ๋ณด๋ด๋๋ก ์ ๋์ค ๊ฐ๊ณผ
401
์๋ต์ ๋ณด๋ผ ์๋ ์๋ค.- ์ด ๋
"stale=true"
๋ก ์ ์ํ์ฌ ์ ๋์ค ๊ฐ์ผ๋ก ์์ฒญ์ ๋ค์ ๋ณด๋ด๋ผ๊ณ ํ ์๋ ์๋ค.
- ์ด ๋
๋ ํจ์จ์ ์ด๊ณ ๋น ๋ฅธ ํธ๋์ญ์ ์ ์ํด ์ฌ์ (preemptive ๋ฐ์: prฤหemptiv) ์ธ๊ฐ๋ฅผ ์ฌ์ฉ ํ ์ ์๋ค.
์ฌ์ ์ธ๊ฐ๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ฒ๋ก๋ถํฐ WWW-Authenticate
์ธ์ฆ ์๊ตฌ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ฏธ๋ฆฌ ์ฌ๋ฐ๋ฅธ ๋์ค๋ฅผ ์ทจ๋ํ์ฌ ๊ณ์ฐํ๋๋ก ํ๋ ๊ฒ์ด๋ค
4) [๋ค์ ๋์ค ๋ฏธ๋ฆฌ ์์ฑํ๊ธฐ]๋ ์ธ์ฆ์ด ์ฑ๊ณตํ์ ๋, ์๋ฒ์์ 200 OK
์ ํจ๊ป Authentication-Info: nextnonce="<๋์ค๊ฐ>"
์ ๋ณด๋ด๋ ๋ฐฉ์์ด๋ค. ์ด ๋ฐฉ๋ฒ์ ์ด๋ค ์ํฉ์ผ ๋ ๋จ์ ์ด ๋ ๊น? (์ฃผ๊ด์)
- ๊ฐ์ ์๋ฒ์ ๋ค์ค ์์ฒญ์ ํ๋ ๊ฒฝ์ฐ์๋ ๋ค์ ์์ฒญ์ ๋ณด๋ด๊ธฐ ์ ์ ๋ค์ ๋์ค๊ฐ์ ๋ฐ์์ผ๋ง ํ๋ ํน์ง ๋๋ฌธ์ ์คํ๋ ค ์ฑ๋ฅ์ด ๋ฎ์์ง๊ฒ ๋๋ค. 343p
- ์์์ ๋ณธ ๊ธด ์ปค๋ฅ์
์ ๋ณด์ ์ด์์ ๋ง์ฐฌ๊ฐ์ง๋ก,
์ฐ๊ฒฐ ์๊ฐ์ด ๊ธธ์ด์ง์๋ก ๊ณต๊ฒฉ์ ์ฑ๊ณต๋ฅ ์ ๋์์ง๋ค.
์ฌ๊ธฐ์ ๊ณต๊ฒฉ์ ์ฌ์ ์ก ๊ณต๊ฒฉ(Replay Attack)์ ๋งํ๋ค.์นด์ดํฐ ์ฆ๊ฐ
(์ก์ ๋ฉ์์ง์ ๋งคํ 1์ฉ ์ฆ๊ฐํ๋ ๋ฒํธ๋ฅผ ํจ๊ป ์ ๋ฌ),IP ์ฃผ์ ๊ฒ์ฌ
๋ฑ์ผ๋ก ์ฌ์ ์ก ๊ณต๊ฒฉ์ ์ด๋ ต๊ฒ ๋ง๋ค ์๋ ์์ง๋ง ๊ทผ๋ณธ์ ์ธ ์ทจ์ฝ์ ์ ์ ๊ฑฐํ๋ ํด๊ฒฐ๋ฒ์ ์๋๋ค.
6) ์ฌ์ ์ธ๊ฐ๋ฅผ ์ํด [๋๊ธฐํ๋ ๋์ค ์์ฑ]์ ํ ์๋ ์๋ค. ์ด๋ค ์์ผ๋ก ๊ฐ๋ฅํ๊ฐ? (์ฃผ๊ด์)
์๊ฐ์ ์ผ๋ก ๋๊ธฐํ
๋ ์๊ณ ๋ฆฌ์ฆ์ ์ด๋ค: ๊ณต์ ๋๋น๋ฐํค
๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด๋ผ์ ์๋ฒ๊ฐ ๊ฐ์ ๋์ค๋ฅผ ์์ฐจ์ ์ผ๋ก ์์ฑํ๋ค.- ์ด๋
๋ค์ด์ ์คํธ ์ธ์ฆ
๋ช ์ธ์ ๋ฒ์๋ฅผ ๋์ด์๋ ๊ฒ์ด๋ค.
- ์ด๋
-
๋์ค๋ ์ด๋ป๊ฒ ๊ตฌํํ๋๊ฐ์ ๋ฐ๋ผ ์ฑ๋ฅ ์์ค, ๋ณด์, ํธ์์ฑ์ด ํฌ๊ฒ ๋ฌ๋ผ์ง๋ค.
RFC7616์ ๋ค์๊ณผ ๊ฐ์ ๊ฐ์์ ๋์ค ๊ณต์์ ์ ์ํ๋ค.
BASE64(time-stamp H(time-stamp ":" ETag ":" secret-data))
-
ํ์์คํฌํ๋ ์๋ฒ์์ ์์ฑ๋ ์๊ฐ ํน์ ์๋ฌด๊ฑฐ๋
๋ฐ๋ณต ๋ถ๊ฐ๋ฅํ ๊ฐ
์ด๋ฉด ๋๋ค. -----> ๋ณด์ -
ETag๋ ์์ฒญ๋ ์ํฐํฐ์ ๋ํ
ETag ํค๋๊ฐ
-----> ๊ฐฑ์ ๋ ๋ฆฌ์์ค์ ๋ํ ์ฌ์์ฒญ ๋ฐฉ์ง -
๋น๋ฐ ๋ฐ์ดํฐ๋
์๋ฒ๋ง ์๊ณ ์๋ ๋ฐ์ดํฐ
-----> ๋ณด์ -
์๋ฒ๋ ํด๋ผ ์ธ์ฆ ํค๋๋ฅผ ๋ฐ์ ๋ค,
-
ํด์๋ฅผ ์ฌ๊ณ์ฐ ํด๋ณด๊ณ ํด๋ผ ์ธ์ฆ ํค๋์ ๋์ค์ ์ผ์นํ์ง ์์ผ๋ฉด ์์ฒญ ๊ฑฐ์ ๊ฐ๋ฅ
-
ํ์์คํฌํ๊ฐ ์ค๋๋์๋ค๋ฉด ์์ฒญ ๊ฑฐ์ ๊ฐ๋ฅ
-
๋์ค์ ์ ํจ ๊ธฐ๊ฐ์ ์ ํ ๊ฐ๋ฅ
-
์ฌ์ ์ก ๊ณต๊ฒฉ ๋ฐฉ์ง๋ฅผ ์ํด ์ด์ ์ ์ฌ์ฉ๋ ๋์ค ๋ฐ ์์ฝ์ ๋ฐ์๋ค์ด์ง ์๋๋ก ์ ํ ๊ฐ๋ฅ
-
-
7) ๋ค์์ **์ํธ ์ธ์ฆ(Symmetric Authentication)**์ ๋ํ ์ค๋ช ์ผ๋ก ํ๋ฆฐ ๊ฒ์? ์๋ค.
-
ํด๋ผ์ด์ธํธ ์ชฝ์์๋ ์๋ฒ๋ฅผ ์ธ์ฆํ ์ ์๋๋ก
ํด๋ผ์ด์ธํธ
๊ฐ๋์ค(=c๋์ค)
๋ฅผ ์ ๊ณตํ๊ณ , ์๋ฒ๋ ์ด ์์ฝ์Authentication-Info ํค๋
๋ฅผ ํตํด ํด๋ผ์ด์ธํธ์ ์ ๋ฌํ์ฌ ์ธ์ฆ ๋ฐ๋ ๊ฒ์ด๋ค. -
์๋ต ๋ค์ด์ ์คํธ
๋ ๋ฉ์์ง ๋ณธ๋ฌธ ์ ๋ณด๊ฐ ๋ค๋ฅด๋ค๋ ๊ฒ๋ง ์ ์ธํ๋ฉด์์ฒญ ๋ค์ด์ ์คํธ
์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ณ์ฐํ ์ ์๋ค.
1๋ฒ.
๋ค์ ๋น์นธ์ ํด๋นํ๋ ๊ฒ์ ๋ณด๊ธฐ๋ฅผ ๋ณด๊ณ ๋ชจ๋ ๊ณ ๋ฅด์ธ์.
๋ณด๊ธฐ : Cache-control, WWW-Authenticate, auth, auth-int, MD5, MD5-sess, Authorization, Authentication-Info
ํด๋ผ์ด์ธํธ, ์๋ฒ๊ฐ ์ด๋ค ๋ณดํธ๊ธฐ๋ฒ์
์ด๋ ์์ค ๊น์ง ์ฌ์ฉํ ๊ฒ์ธ์ง๋ฅผ ํ์ํ ์ ์๊ฒ ํด์ฃผ๋
qopํ๋๋ ์์ฝํค๋์์ ___
,___
,___
์ ์กด์ฌํ ์ ์๋ค.
2๋ฒ.
๋ค์์ ๋น์นธ์ ์ฑ์ฐ์ธ์.
RFC 2617
์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ์ฆ์ ์๋ฏธํ๋ ____
, ์ธ์ฆ ๋ฐ ๋ฉ์ธ์ง ๋ฌด๊ฒฐ์ฑ ๋ณดํธ๋ฅผ ์๋ฏธํ๋ ____
๋ผ๋ ์ด๊ธฐ ๋ณดํธ์์ค ๊ฐ์ ์ ์ํ๊ณ ์๋ค.
๐ ๋ต์ง
1๋ฒ.
๋ค์ ๋น์นธ์ ํด๋นํ๋ ๊ฒ์ ๋ณด๊ธฐ๋ฅผ ๋ณด๊ณ ๋ชจ๋ ๊ณ ๋ฅด์ธ์.
๋ณด๊ธฐ : Cache-control, WWW-Authenticate, auth, auth-int, MD5, MD5-sess, Authorization, Authentication-Info
ํด๋ผ์ด์ธํธ, ์๋ฒ๊ฐ ์ด๋ค ๋ณดํธ๊ธฐ๋ฒ์
์ด๋ ์์ค ๊น์ง ์ฌ์ฉํ ๊ฒ์ธ์ง๋ฅผ ํ์ํ ์ ์๊ฒ ํด์ฃผ๋
qopํ๋๋ ์์ฝํค๋์์ ___
,___
,___
์ ์กด์ฌํ ์ ์๋ค.
์ ๋ต : WWW-Authenticate, Authorization, Authentication-Info
2๋ฒ.
๋ค์์ ๋น์นธ์ ์ฑ์ฐ์ธ์.
RFC 2617
์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ์ฆ์ ์๋ฏธํ๋ ____
, ์ธ์ฆ ๋ฐ ๋ฉ์ธ์ง ๋ฌด๊ฒฐ์ฑ ๋ณดํธ๋ฅผ ์๋ฏธํ๋ ____
๋ผ๋ ์ด๊ธฐ ๋ณดํธ์์ค ๊ฐ์ ์ ์ํ๊ณ ์๋ค.
์ ๋ต : auth
, auth-int
3๋ฒ.
์๋ฒ๋ ํ ๋ฆฌ์์ค์ ๋ํด ํ๋์ ์ธ์ฆ์ ์๊ตฌํ ์๋ฐ์ ์๊ณ , ํด๋ผ์ด์ธํธ๋ ๋ฐ๋์ ์์ ์ด ์ง์ํ ์ ์๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ์ ํํด์ผํ๋ค. ( O / X)
4๋ฒ.
ํ๋ฝ์๋ ๊ฐ๋ฆฌํค๋ ๋ฆฌ์์ค์ ๋ณ๊ฒฝ์์ด ๊ตฌ๋ฌธ๋ง ๊ณ ์ณ์ URI๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค. ๋ค์ด์ ์คํธ์ธ์ฆ์ ์ด๋ฌํ ๋ณ๊ฒฝ์ ์ํด ์คํจํ ์ ์๋ค ( O / X)
๐ ๋ต์ง
3๋ฒ.
์๋ฒ๋ ํ ๋ฆฌ์์ค์ ๋ํด ํ๋์ ์ธ์ฆ์ ์๊ตฌํ ์๋ฐ์ ์๊ณ , ํด๋ผ์ด์ธํธ๋ ๋ฐ๋์ ์์ ์ด ์ง์ํ ์ ์๋ ๊ฐ์ฅ ๊ฐ๋ ฅํ ์ธ์ฆ ๋ฉ์ปค๋์ฆ์ ์ ํํด์ผํ๋ค. ( O / X)
์ ๋ต : X
์๋ฒ๋ ํ ๋ฆฌ์์ค์ ๋ํด ์ฌ๋ฌ ์ธ์ฆ์ ์๊ตฌํ ์ ์๋ค.
4๋ฒ.
ํ๋ฝ์๋ ๊ฐ๋ฆฌํค๋ ๋ฆฌ์์ค์ ๋ณ๊ฒฝ์์ด ๊ตฌ๋ฌธ๋ง ๊ณ ์ณ์ URI๋ฅผ ๋ณ๊ฒฝํ ์ ์๋ค. ๋ค์ด์ ์คํธ์ธ์ฆ์ ์ด๋ฌํ ๋ณ๊ฒฝ์ ์ํด ์คํจํ ์ ์๋ค ( O / X)
์ ๋ต : O , ๋ค์ด์ ์คํธ ์ธ์ฆ์ URI๊ฐ์ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฌํ๋ฏ๋ก, ๋ณ๊ฒฝ์ ์ํด ์คํจํ ์ ์์. -> A2์ ์์ฒญ URI์ ์ผ์นํด์ผํ๋ค๋ ํน์ฑ (340p)
- ๋ณดํธ ์์ค์ ๋ํ ์ ๋ณด๋
(__________________)
์(_________)
ํค๋์๋ง ๋ด๊ฒจ์๋ค. - ์ฌ์ ์ก ๊ณต๊ฒฉ์ ๋ฌด์์ธ๊ฐ์? ๋ค์ ๊ดํธ๋ฅผ ์ฑ์ฐ์ธ์.
- ์ฌ์ ์ก ๊ณต๊ฒฉ์ด๋ ๊ณต๊ฒฉ์๊ฐ ๊ณต๊ฒฉํ ๋์์ ์ธ์ฆ์ ๋ณด๊ฐ ๋ด๊ธด
(____)
์ ์ฌํ์ฉํ๋ ๊ฒ์ด๋ค. ์๋ฒ๊ฐ ์ฌ์ ์ก๋ ์๊ฒฉ์ ์น์ธํ๋ค๋ ๊ฒ์ ๊ฐ์(__)
๊ฐ์ ๋ฐ๋ณตํด์ ์ฌ์ฉํ ๊ฒ์ด๋ค. ์ด ๋ฌธ์ ๋ฅผ ํผํ ์ ์๋ ๋ฐฉ๋ฒ์(_____________________________________)
์ด๋ค.
- ๋ค์ด์ ์คํธ ์ธ์ฆ์ ์ฅ์ ๊ณผ ๊ทธ ํ๊ณ๋ ๋ฌด์์ธ๊ฐ์? ๋ค์ ๊ดํธ๋ฅผ ์ฑ์ฐ์ธ์.
- ๋ค์ด์ ์คํธ ์ธ์ฆ์ด
(____)
์ ๋นํด ์์ ํ ํด๊ฒฐ์ฑ ์ ์ ๊ณตํ๋ค. ํ์ง๋ง ์ฌ์ ํ(___)
์ ๋ํ ๋ณด์ ์ธก๋ฉด์์๋ ์ด๋ ํ ๋ณดํธ๋ ์ ๊ณตํ์ง ๋ชปํ๋ค. ๋ฐ๋ผ์ ์ง์ ํ ๋ณด์ ํธ๋์ ์ ์ ์ค๋ก์ง ๋ค์ ์ฅ์์ ๋ค๋ฃฐ(___)
์ ํตํด์๋ง ๊ฐ๋ฅํ๋ค.
๐ ๋ต์ง
- ๋ณดํธ ์์ค์ ๋ํ ์ ๋ณด๋
(WWW-Authenticate)
์(Authorization)
ํค๋์๋ง ๋ด๊ฒจ์๋ค. - ์ฌ์ ์ก ๊ณต๊ฒฉ์ ๋ฌด์์ธ๊ฐ์? ๋ค์ ๊ดํธ๋ฅผ ์ฑ์ฐ์ธ์.
- ์ฌ์ ์ก ๊ณต๊ฒฉ์ด๋ ๊ณต๊ฒฉ์๊ฐ ๊ณต๊ฒฉํ ๋์์ ์ธ์ฆ์ ๋ณด๊ฐ ๋ด๊ธด
(ํธ๋์ญ์ )
์ ์ฌํ์ฉํ๋ ๊ฒ์ด๋ค. ์๋ฒ๊ฐ ์ฌ์ ์ก๋ ์๊ฒฉ์ ์น์ธํ๋ค๋ ๊ฒ์ ๊ฐ์(๋์ค)
๊ฐ์ ๋ฐ๋ณตํด์ ์ฌ์ฉํ ๊ฒ์ด๋ค. ์ด ๋ฌธ์ ๋ฅผ ํผํ ์ ์๋ ๋ฐฉ๋ฒ์(๋งค ํธ๋์ ์ ๋ง๋ค ์ ์ผํ ๋์ค ๊ฐ์ ์ฌ์ฉํ๋ ๊ฒ)
์ด๋ค.
- ๋ค์ด์ ์คํธ ์ธ์ฆ์ ์ฅ์ ๊ณผ ๊ทธ ํ๊ณ๋ ๋ฌด์์ธ๊ฐ์? ๋ค์ ๊ดํธ๋ฅผ ์ฑ์ฐ์ธ์.
- ๋ค์ด์ ์คํธ ์ธ์ฆ์ด
(๊ธฐ๋ณธ ์ธ์ฆ)
์ ๋นํด ์์ ํ ํด๊ฒฐ์ฑ ์ ์ ๊ณตํ๋ค. ํ์ง๋ง ์ฌ์ ํ(์ฝํ ์ธ )
์ ๋ํ ๋ณด์ ์ธก๋ฉด์์๋ ์ด๋ ํ ๋ณดํธ๋ ์ ๊ณตํ์ง ๋ชปํ๋ค. ๋ฐ๋ผ์ ์ง์ ํ ๋ณด์ ํธ๋์ ์ ์ ์ค๋ก์ง ๋ค์ ์ฅ์์ ๋ค๋ฃฐ(SSL)
์ ํตํด์๋ง ๊ฐ๋ฅํ๋ค.