DAT (Distributed Access Token) โ
DAT์ ๋์ ๋ฐฐ๊ฒฝ โ
์ค๋๋ ๋ง์ ์์คํ
์ด JWT๋ฅผ ์ฑํํ๊ณ ์์ผ๋, ์ค์ ์ด์ ํ๊ฒฝ์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ์ ํ๊ณ๊ฐ ์กด์ฌํฉ๋๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ก์ด ํ ํฐ ๊ท๊ฒฉ์ธ DAT๋ฅผ ์ค๊ณํ๊ฒ ๋์์ต๋๋ค.
๐งฉ ๋ณด์ ๊ท๊ฒฉ์ ํํธํ ๋ฐ ๊ฐ์ ์ฑ ๋ถ์กฑ โ
JWT๋ JWE์ ๊ฐ์ ์ํธํ ํ์ค์ ์ ๊ณตํ์ง๋ง, ์ฌ์ฉ์ด ๊ฐ์ ๋์ง ์์ต๋๋ค.
์ด๋ก ์ธํด ๋ง์ ๊ฐ๋ฐ ํ๊ฒฝ์์ ์ํธํ๋ฅผ ์๋ตํ๊ฑฐ๋ ๋นํ์ค ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ์ฌ ๋ณด์ ์ทจ์ฝ์ ์ ์ผ๊ธฐํฉ๋๋ค.
๐ ๊ณ ์ ํค(Static Key) ์ฌ์ฉ์ ๋ฐ๋ฅธ ๋ณด์ ๋ฆฌ์คํฌ โ
์๋ช ํค์ ์ํ(Key Rolling)์ด ์๋ฌดํ๋์ด ์์ง ์์, ๋จ์ผ ํค๋ฅผ ์ฅ๊ธฐ๊ฐ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋น๋ฒํฉ๋๋ค. ์ด๋ ํค ํ์ทจ ์ ์์คํ ์ ์ฒด์ ๋ณด์ ๋ถ๊ดด๋ก ์ด์ด์ง ์ ์์ผ๋ฉฐ, ์ค์ ๋ก ๋ํ ์ปค๋จธ์ค ์ฌ์ดํธ์์ ์ด๋ก ์ธํ ์นจํด ์ฌ๊ณ ๊ฐ ๋ฐ์ํ ๋ฐ ์์ต๋๋ค.
๐ ์ค๋ฒํค๋๋ก ์ธํ ์ฑ๋ฅ ์ ํ โ
JWT๋ ๋งค ์์ฒญ๋ง๋ค JSON ํ์ฑ ๊ณผ์ ์ ๊ฑฐ์น๋ฉฐ ์๋นํ CPU ์์์ ์๋ชจํฉ๋๋ค. ๊ณ ์ฑ๋ฅ์ด ์๊ตฌ๋๋ ํ๊ฒฝ์์ ์ด๋ฌํ ํ์ฑ ๋น์ฉ์ ์์คํ ์ ์ ์ฒด์ ์ธ ๋ณ๋ชฉ ๊ตฌ๊ฐ์ด ๋ ์ ์์ต๋๋ค.
DAT์ ํต์ฌ ์ฒ ํ โ
DAT๋ ๋ณด์์ ์ ํ์ด ์๋ ๊ฐ์ ์ฌ์ผ ํ๋ฉฐ, ์ฑ๋ฅ์ ํํํ ์ ์๋ค๋ ์์น ์๋ ์ค๊ณ๋์์ต๋๋ค.
โก ๊ฐ๋ณ๊ณ ๋น ๋ฆ ๋๋ค โ
expire.kid.plain.secure.signature
DAT๋ ์์๊ฐ์ ๊ฐ๋ฒผ์ด ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๐ ๊ฐ์ ๋๋ ๋ณด์ โ
DAT๋ ๋ฐ์ดํฐ ์ ์ก ์ ํ๋ฌธ(Plain)๊ณผ ์ํธํ(Secure) ์์ญ์ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ถ๋ฆฌํฉ๋๋ค.
๋ฏผ๊ฐํ ์ ๋ณด๋ ๋ฐ๋์ ์ํธํ๋๋๋ก ๊ฐ์ ํ๋ฉฐ, ๋ชจ๋ ๊ณผ์ ์ DatKey๋ฅผ ํตํด ํ์คํ๋ ์๊ณ ๋ฆฌ์ฆ(P256, AES-GCM ๋ฑ)์ผ๋ก ๋ณดํธ๋ฉ๋๋ค.
๐ ๊ฐ์ ๋ ํค ๋กค๋ง โ
DAT ์์คํ
์ ํต์ฌ์ธ DatKey๋ ํ ํฐ์ ๋ฐ๊ธ๊ณผ ๋ง๋ฃ๋ฟ๋ง ์๋๋ผ ํค์ ์๋ช
์ฃผ๊ธฐ๋ฅผ ์ง์ ๊ด๋ฆฌํฉ๋๋ค.
์์คํ
๋ ๋ฒจ์์ ์ฃผ๊ธฐ์ ์ผ๋ก ํค๋ฅผ ๊ต์ฒดํ๋๋ก ์ค๊ณ๋์ด ์์ด, ๊ด๋ฆฌ์์ ๋ถ์ฃผ์๋ก ์ธํ '๊ณ ์ ํค ๋ณด์ ์ฌ๊ณ '๋ฅผ ์์ฒ ์ฐจ๋จํฉ๋๋ค.
์ธ์ฆ ๋ฉ์ปค๋์ฆ ๋น๊ต โ
| ๊ตฌ๋ถ | DAT | JWT | ์ธ์ |
|---|---|---|---|
| ์ธ์ฆ ๋ฐฉ์ | ๋ถ์ฐ ๊ฒ์ฆ | ๋ถ์ฐ ๊ฒ์ฆ | ์ค์ ์ง์คํ |
| ๋ฐ์ดํฐ ๊ตฌ์กฐ | Raw Bytes (๊ณ ์ ์คํ์ ๊ธฐ๋ฐ) | JSON (Key-Value ํ ์คํธ ๊ธฐ๋ฐ) | Serialized Object (๊ฐ์ฒด ์ง๋ ฌํ) |
| ํ์ฑ ๋ฉ์ปค๋์ฆ | Byte ๋ฐ์ดํฐ ์ฆ์ ๋งคํ | JSON ํ์ฑ ๋ฐ ํ์ ์บ์คํ ํ์ | ๊ฐ์ฒด ์ญ์ง๋ ฌํ ๋ฐ I/O ๋ฐ์ |
| ์ฒ๋ฆฌ ์ฑ๋ฅ | ์ต์ (ํ์ฑ ์ค๋ฒํค๋ ์ต์ํ) | ๋ณดํต (JSON ์ฒ๋ฆฌ ์ฑ๋ฅ์ ์์กด) | ๋ฎ์ (๋คํธ์ํฌ/๋์คํฌ I/O) |
| ์ํธํ | ๊ธฐ๋ณธ ์ ๊ณต | JWE ๋ณ๋ ๊ตฌํ ํ์ (๋ณต์ก) | ํด๋น ์์ |
| ํค ๊ด๋ฆฌ | ์์คํ ๊ฐ์ ๋กค๋ง (๋ณด์ ๊ฐ์ ) | ์ง์ ๊ตฌํ (๊ด๋ฆฌ ๋ถ์ฃผ์ ์ํ) | ํด๋น ์์ |
| ํค ์ ํจ๊ธฐ๊ฐ | ํค ๊ท๊ฒฉ ๋ด ๊ฐ์ ๋ช ์ | ์ ํ ์ฌํญ (๊ด๋ฆฌ ๋ถ์ฌ ์ ์๊ตฌ) | ์ค์ ์๋ฒ ๊ด๋ฆฌ |