Decentralized Identity Disorder
👉 문맥에 따라 크리덴셜을 해석해야 한다
Holder가 Issuer에게 VC를 요청하면, Issuer는 Holder가 본인인지 확인한 후 본인이 맞다면 VC를 전달하게 된다
{
...
"@context":[
"https://www.w3.org/2021/credentials/v1",
"https://www.w3.org/2021/credentials/examples/v1"
],
...
}
첫 번째 줄은 본 데이터가 VC라는 형식에 관한 것임을 설명한다
VC를 해석할 수 있는 context가 확인 되었다면, 다음으로는 많은 종류의 VC중 해당 VC가 어떤 것에 관한 것인지 확인해야 한다
위 예제에서 두번째 URL에 해당한다
VC와 VP는 반드시 이 context 속성을 포함하고 있어야하고, context는 변동이 없는 고정된 문서여야 한다
VC 문서 내에는 여러 단계에서 id를 가질 수 있는데, 각 id가 무엇을 식별하기 위한 id인지는 context에 따라 결정된다
먼저 VC 자체를 가리키는 식별자를 가질 수도 있는데, 아래 예제의 첫번째 id가 VC 자체를 식별하기 위한 식별자이다
{
...
"id": "http://example.edu/credentials/12345",
...
"credentialSubject" : {
"id": "did:example:abcdefg"
}
...
}
Issuer는 현재 사용하고 있는 VC를 누군가 식별해야 할 필요가 있을 때 VC에 id 속성을 부여할 수 있는데, 식별자는 하나의 개체를 특정하는데는 도움이 되지만 반대로 식별자와 개체 간 상관관계가 드러나는 순간 프라이버시를 위협받을 수 있으므로 상황에 따라 id는 생략 가능하다
또한 VC의 주체에 대한 id 속성도 가질 수 있다
이는 credentialSubject
속성 내의 id 속성으로 정의된다
본 데이터가 어떠한 타입의 데이터인지를 정의한다
{
...
"type": ["VerifiableCredential", "AlumniCredential"],
...
}
VC는 어떤 주체(subject)에 대한 클레임들의 집합이다
credentialSubject
속성은 이러한 클레임들을 포함하는 부분이다
따라서 VC에는 이 credentialSubject
속성이 반드시 필요하다
{
...
"credentialSubject": {
"id": "did:example:abcdef",
"degree": {
"type": "BachelorDegree",
"name": "Bachelor of Science and Arts"
}
},
...
}
우선 credentialSubject
는 주체를 식별할 수 있는 id 속성으로 탈중앙식별자(DID)를 가진다
DID 자체만으로는 누구를 가리키는 알기 어렵다
따라서 하나의 VC로 한명의 주체를 식별하고 그 정보를 파악하기 어렵다는 차원에서 VC는 프라이버시를 보호할 수 있는 좋은 수단이다
degree
속성을 통해 VC의 주체가 어떤 학위를 가지고 있는지 해당 VC를 통해 검증할 수 있게 되는 것이다
{
...
"credentialSubject": [{
"id": "did:example:aaaa",
"name": "Jinju",
"spouse": "did:example:bbbb"
}, {
"id": "did:example:bbbb",
"name": "Somebody",
"spouse": "did:example:aaaa"
}],
...
}
VC는 이 예제와 같이 두 주체를 동시에 포함하여 각 주체 간의 관계를 나타내는데도 사용할 수 있다
VC에서는 반드시 이 VC를 누가 발급했는지 파악할 수 있어야한다
VC를 어떻게 신뢰할 수 있는가에 대한 문제는 Issuer에 대한 신뢰모델 (Trust Model)로 설명할 수 있는데 Issuer가 신뢰할 만한 주체이어야 해당 VC도 신뢰할 수 있는 것으로 보기 때문이다
VC에서는 issuer 속성이 필수이며, issuer 속성은 DID 혹은 URL을 값으로 가진다
{
...
"issuer": "did:example:abcde"
...
}
이 값을 통해 궁극적으로 Issuer가 누구인지 검증가능한 방법으로 확인이 가능하다