๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป [dApp] DID ์ดํ•ดํ•˜๊ธฐ

whenยท2022๋…„ 7์›” 26์ผ

DID(ํƒˆ์ค‘์•™ ์‹ ์›์ฆ๋ช…,Decentralized Identity)

๋ฐ์ดํ„ฐ์˜ ์ฃผ๊ถŒ์ด ๊ฐœ๊ฐœ์ธ์—๊ฒŒ ์žˆ๊ณ , ํ•„์š”ํ•œ ๋•Œ ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘์•™ํ™”๋œ ์‹œ์Šคํ…œ์„ ๊ฑฐ์น˜์ง€ ์•Š๊ณ  ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ 
์˜ˆ) COOV(์งˆ๋ณ‘๊ด€๋ฆฌ์ฒญ-์ฝ”๋กœ๋‚˜19 ๋””์ง€ํ„ธ ์˜ˆ๋ฐฉ์ ‘์ข… ์ธ์ฆ์•ฑ)
๋ถ„์‚ฐ์›์žฅ๊ธฐ์ˆ (DLT)์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์—ฌ ์•ˆ์ „ํ•˜๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ์ธ์ฆํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

W3C์˜ ํƒˆ์ค‘์•™ ์šด๋™(Wordl Wide Web Consortium)
W3Cํ™œ๋™์˜ ๋ณธ์งˆ์ ์ธ ๋ชฉ์ ์€ ์›น์—์„œ ์‚ฌ์šฉ์ž๋“ค์ด ์ƒํ˜ธ๊ฐ„์— ์ž์œ ๋กญ๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ
2000๋…„๋Œ€ ์ดํ›„, ๊ฑฐ๋Œ€ํ•œ ํ”Œ๋žซํผ ๊ธฐ์—…์˜ ๋“ฑ์žฅ๊ณผ ๋™์‹œ์—, ํ”Œ๋žซํผ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฐœ๊ฐœ์ธ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์ฃผ๊ถŒ์ด ์‚ฌ์šฉ์ž ์ž์‹ ์ด ์•„๋‹Œ ํ”Œ๋žซํผ ๊ธฐ์—…์—๊ฒŒ ์ข…์†๋˜๋Š” ํ˜„์ƒ

W3C์˜ ๋ฐ์ดํ„ฐ ํƒˆ์ค‘์•™ํ™”๋ฅผ ์œ„ํ•œ ํ‘œ์ค€ํ™”
์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ๋ฐ์ดํ„ฐ์— ์ฃผ๊ถŒ์„ ๊ฐ–๋Š” ์ƒํƒœ๊ณ„๋ฅผ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„œ๋น„์Šค ๊ฐ„ ๋ฐ์ดํ„ฐ ์—ฐ๋™์ด ์ค‘์š”
๋ฐ์ดํ„ฐ ์—ฐ๋™์„ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ข…๋ฅ˜๋ณ„๋กœ ๋‚˜๋ˆ„๊ณ , ํ‘œ์ค€ํ™” ์ž‘์—…์„ ์ง„ํ–‰

์ค‘์•™ํ™”๋˜์ง€ ์•Š์€ ์ €์žฅ์†Œ์— ๊ฐœ์ธ์˜ ์‹ ์›์„ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€ํ•˜๋ฉด์„œ ๋™์‹œ์— ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ๊ณผ ๋ณด์•ˆ์„ฑ์„ ํ™•๋ณดํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ค์› ๋‹ค.=> ๋ธ”๋ก์ฒด์ธ ๊ธฐ์ˆ  => "DID ์›Œํ‚น๊ทธ๋ฃน"์—์„œ DID๊ธฐ์ˆ ์˜ ํ‘œ์ค€ํ™” ์ง„ํ–‰์ค‘

W3Cํ‘œ์ค€ํ™”-DIDs(ํƒˆ์ค‘์•™ํ™” ์‹๋ณ„์ž, Decentralized identifiers)

W3C๋Š” DIDs๋ผ๋Š” ๋ช…์นญ์œผ๋กœ DID๋ฅผ ์‹คํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ ์— ๋Œ€ํ•œ ํ‘œ์ค€ํ™”๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.
DIDs : ๊ฒ€์ฆ๊ฐ€๋Šฅํ•˜๊ณ  ํƒˆ์ค‘์•™ํ™”๋œ ๋””์ง€ํ„ธ ์‹ ์›์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ํ˜•์‹์˜ ์‹๋ณ„์ž
DID Method=>์ž์‹ ์˜ ์ฃผ์†Œ, ๋งˆ์Šคํ„ฐํ‚ค=>DIDs

๐Ÿญ DIDs

  • Identity ์‹๋ณ„์ž
    ๊ฐœ์ธ ํ˜น์€ ๋‹จ์ฒด(๋ฒ•์ธ)๋“ฑ์„ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์œ  ๊ฐ’
    ์˜ˆ) ์ด๋ฉ”์ผ ๊ณ„์ •
  • DID Document
    ํŠน์ • DID๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ๋†“์€ ๊ฐ„๋‹จํ•œ ๋ฌธ์„œ
    ์•”ํ˜ธํ•™์  ์š”์†Œ, ๊ฒ€์ฆ ๋ฉ”์†Œ๋“œ, ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ
    DID์‹๋ณ„์ž-์ฃผ์ฒด๊ฐ€ ์ƒํ˜ธ์ž‘์šฉ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์„œ๋น„์Šค ์—”๋“œํฌ์ธํŠธ๋“ค์„ ํฌํ•จ
    DID ์ธ์ฆ์ •๋ณด(ํ•ด๋‹นDID์˜ ์ œ์–ด๊ถŒ, ์†Œ์œ ๊ถŒ์„ ์ฆ๋ช…ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐœํ‚ค, ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ)๋ฅผ ํฌํ•จ
  • DID Method
    ํŠน์ • ๋ถ„์‚ฐ ์›์žฅ ๋˜๋Š” ๋„คํŠธ์›Œํฌ์—์„œ DID๋ฌธ์„œ๋“ค์„ ์ƒ์„ฑ, ์ฝ๊ธฐ, ๊ฐฑ์‹ , ๋น„ํ™œ์„ฑํ™” ํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜
  • DID ํ˜•์‹
    ์˜ˆ) did:example:123456789abcdefghi
    Scheme-DID Method-DID Method-Specific Identifier
    => DID๋ฌธ์„œ๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.
    =>ID์™€ ๊ด€๋ จ๋œ ์ •๋ณด๋Š” did๋ฌธ์„œ์— ์žˆ๋‹ค.
  • DID ๋ฌธ์„œ ๋‚ด์šฉ(์–ด๋–ค ๊ฐœ์ธ์ •๋ณด๋„ ์ €์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค!)
{
"@context": "https://example.org/example-method/v1",
"id": "did:example:123456789abcdefghi", // ์ด did๋ฌธ์„œ๋ฅผ ์„ค๋ช…
"publicKey": [{ ... }], // ์ด ์•„์ด๋””์™€ ๊ด€๋ จ๋œ ๊ณต๊ฐœํ‚ค ๋ฆฌ์ŠคํŠธ
"authentication": [{ ... }], // ์ด ์•„์ด๋””์˜ ์†Œ์œ ๊ถŒ์„ ์ฆ๋ช…ํ•˜๊ธฐ ์œ„ํ•œ ์ •๋ณด
"service": [{ ... }] // ์ด ์•„์ด๋””์™€ ์ƒํ˜ธ์ž‘์šฉ์ด ๊ฐ€๋Šฅํ•œ ์„œ๋น„์Šค๋“ค์˜ ๋ฆฌ์ŠคํŠธ
} 

DID Registry

DID๋ฉ”์†Œ๋“œ๊ฐ€ ๋‹ค๋ฅด๊ณ , DID๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ ํ”Œ๋žซํผ์ด ๋ชจ๋‘ ๋‹ค๋ฅธ ์ƒํ™ฉ์—์„œ DID Document๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์€ ๊ต‰์žฅํžˆ ๋ณต์žกํ•˜๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐ๋ฐฉ์•ˆ์ด W3C ๊ณต์‹๋ฌธ์„œ DID RegistryํŒŒํŠธ์— ์žˆ๋‹ค.

DIF(Decentralized Identity Foundation) ๊ธ€๋กœ๋ฒŒ ์กฐ์ง

์ „ ์„ธ๊ณ„์˜ ์‚ฌ์šฉ์ž๋“ค์ด DID๋ฅผ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•˜๋„๋ก ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ์กฐ์ง
์ฃผ์š” ๊ฐ€์ž… ํšŒ์‚ฌ๋Š” Sovrin, uport, Civic, MS, IBM, Master Card
DID ์†Œ์œ ์ž๊ฐ€ Agent์ผ ๋•Œ, DID Universal Resolver์—์„œ DID Document๋ฅผ ๋ฝ‘์•„๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
DIF๋Š” DIDํ‘œ์ค€์„ ๋งŒ๋“ค๋ฉฐ DID๋ฅผ ํ™œ์šฉํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ์ค‘์š”ํ•œ ์—ญํ• 

DIF Universal Resolver๋Š” DID๋“œ๋ผ์ด๋ฒ„ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌํ˜„ ๋ฐ ๋ถ„์‚ฐ๋œ ์‹œ์Šคํ…œ์—์„œ DID๋ฅผ ์กฐํšŒํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ํ‘œ์ค€๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค.
DID์™€ ์—ฐ๊ฒฐ๋œ DPKI๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋ฅผ ์บก์Аํ™”ํ•˜๋Š” DID Documents Object(DDO)๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์„œ๋ฒ„

DID ์ธ์ฆ(Authentication)

DID ์ธ์ฆ์ ˆ์ฐจ
1. ํšŒ์‚ฌ์—์„œ DID์†Œ์œ ๊ถŒ์ž์—๊ฒŒ DID์˜ ์œ ๋ฌด๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์†Œ์œ ๊ถŒ์ž์—๊ฒŒ challenge๋ฅผ ์‹ ์ฒญ
2. ์†Œ์œ ์ž์ธ ๋‚˜๋Š” ํšŒ์‚ฌ์—๊ฒŒ ์‘๋‹ต์œผ๋กœ ์ธ์ฆ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ DID์ „๋‹ฌ
3. ํšŒ์‚ฌ๋Š” ์‘๋‹ต๋ฐ›์€ DID๋กœ Universal Resolver์—์„œ DID Document๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
4. DID Document์— ๊ธฐ๋ก๋˜์–ด ์žˆ๋Š” ์ธ์ฆ์ •๋ณด๋กœ ์†Œ์œ ์ž์—๊ฒŒ ๋ฐ›์•˜๋˜ response๋ฅผ ๊ฒ€์‚ฌํ•˜์—ฌ ํ™•์ธ
5. response๊ฒ€์‚ฌ๋ฅผ ํ†ตํ•ด ์‘๋‹ตํ•œ ์†Œ์œ ์ž๊ฐ€ DID๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฒƒ์ธ์ง€ ํ™•์ธ

profile
์ƒ์ƒ์€ ํ˜„์‹ค์ด ๋œ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€