Документ описывает порядок интеграции децентрализованных идентификаторов (DID) в стандарт SOLPDT 1.0 без использования блокчейна. Цель — расширить возможности верификации, сохранив совместимость с текущей версией стандарта.
Документ описывает порядок интеграции децентрализованных идентификаторов (DID) в стандарт SOLPDT 1.0 без использования блокчейна. Цель — расширить возможности верификации, сохранив совместимость с текущей версией стандарта.
Обязательно сохраняются:
Добавляются опционально:
Для каждого участника:
did:web:<домен>.did.json) в формате JSON. Пример:{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:web:clinic.ru",
"verificationMethod": [
{
"id": "did:web:clinic.ru#key-1",
"type": "Ed25519VerificationKey2020",
"controller": "did:web:clinic.ru",
"publicKeyMultibase": "zH3C2AvvCHgynVrAdhGMBsdPChMm6q5N4rV9t6dehso7"
}
],
"authentication": ["did:web:clinic.ru#key-1"],
"assertionMethod": ["did:web:clinic.ru#key-1"],
"service": [
{
"id": "did:web:clinic.ru#solpdt",
"type": "SOLPDTAssetService",
"serviceEndpoint": "https://clinic.ru/.well-known/solpdt/"
}
]
} did.json в папке /.well-known/ на домене участника: https://<домен>/.well-known/did.json.{
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://example.com/contexts/medical-v1.json"
],
"id": "vc:license:med-123",
"type": ["VerifiableCredential", "MedicalLicense"],
"issuer": "did:web:licensor.com",
"issuanceDate": "2025-04-01T00:00:00Z",
"credentialSubject": {
"id": "did:web:clinic.ru",
"licenseNumber": "MED-RU-2025-12345",
"validUntil": "2030-04-01T00:00:00Z"
},
"proof": { /* подпись эмитента */ }
} /.well-known/vc/ (опционально): https://<домен>/.well-known/vc/<id>.json.{
"data": {
"patientSatisfaction": 4.9,
"avgWaitTime": "15 min",
"successRate": 0.98
},
"signatures": [
{
"type": "SovereignAssertion",
"did": "did:web:clinic.ru",
"vc_refs": ["vc:license:med-123"],
"signature": "base64_encoded_signature"
},
{
"type": "AnalyticalVerification",
"did": "did:web:methodologist.org",
"vc_refs": ["vc:expert:eeat-456"],
"signature": "base64_encoded_signature"
}
],
"dat": {
"issuer_did": "did:web:licensor.com",
"signature": "base64_encoded_dat"
}
} /.well-known/solpdt/ на домене клиники: https://clinic.ru/.well-known/solpdt/asset.solpdt.did.json доступен по адресу https://<домен>/.well-known/did.json;https://<домен>/.well-known/vc/..../.well-known/solpdt/./.well-known/did.json;vc_refs;DID-документ (/.well-known/did.json):
{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:web:clinic.ru",
"verificationMethod": [
{
"id": "did:web:clinic.ru#key-1",
"type": "Ed25519VerificationKey2020",
"controller": "did:web:clinic.ru",
"publicKeyMultibase": "zH3C2AvvCHgynVrAdhGMBsdPChMm6q5N4rV9t6dehso7"
}
],
"authentication": ["did:web:clinic.ru#key-1"],
"assertionMethod": ["did:web:clinic.ru#key-1"],
"service": [
{
"id": "did:web:clinic.ru#solpdt",
"type": "SOLPDTAssetService",
"serviceEndpoint": "https://clinic.ru/.well-known/solpdt/"
},
{
"id": "did:web:clinic.ru#vc",
"type": "VerifiableCredentialService",
"serviceEndpoint": "https://clinic.ru/.well-known/vc/"
}
]
} Размещённые VC:
vc:license:med-123 — лицензия Минздрава;vc:iso:9001 — сертификат ISO 9001.DID-документ:
{
"id": "did:web:research.clinic.ru",
"verificationMethod": [/* ключ исследователя */],
"service": [
{
"id": "did:web:research.clinic.ru#publications",
"type": "ResearchPublicationService",
"serviceEndpoint": "https://research.clinic.ru/publications/"
}
]
} Размещённые VC:
vc:gcp:trial-456 — сертификат GCP для клинических испытаний;vc:publication:2025-01 — подтверждение публикации в научном журнале.DID-документ:
{
"id": "did:web:telemed.clinic.ru",
"verificationMethod": [/* ключ телемедицинского отдела */],
"service": [
{
"id": "did:web:telemed.clinic.ru#licenses",
"type": "TelemedLicenseService",
"serviceEndpoint": "https://telemed.clinic.ru/licenses/"
}
]
} Размещённые VC:
vc:telemed:license-789 — лицензия на телемедицинские услуги;vc:gdpr:compliant-2025 — подтверждение соответствия GDPR.Файл asset.solpdt:
{
"data": {
"patientSatisfaction": 4.9,
"avgWaitTime": "15 min",
"successRate": 0.98,
"address": "г. Москва, ул. Примерная, д. 1"
},
"metadata": {
"createdAt": "2025-04-01T00:00:00Z",
"updatedAt": "2025-04-15T00:00:00Z"
},
"signatures": [
{
"type": "SovereignAssertion",
"did": "did:web:clinic.ru",
"vc_refs": ["vc:license:med-123", "vc:iso:9001"],
"signature": "eyJhbGciOiJFZERTQSJ9...base64_encoded"
},
{
"type": "AnalyticalVerification",
"did": "did:web:methodologist.org",
"vc_refs": ["vc:expert:eeat-456"],
"signature": "eyJhbGciOiJFZETSQT..."
}
],
"dat": {
"issuer_did": "did:web:licensor.com",
"signature": "eyJhbGciOiJIUzI1NiJ9..."
}
} /.well-known/did.json на соответствующих доменах./.well-known/vc/./.well-known/solpdt/asset.solpdt.did:web:<домен>)./.well-known/did.json./.well-known/...).{
"@context": "https://www.w3.org/ns/did/v1",
"id": "did:web:<ваш_домен>",
"verificationMethod": [],
"authentication": [],
"assertionMethod": [],
"service": []
} {
"@context": [
"https://www.w3.org/2018/credentials/v1",
"https://example.com/contexts/<тип_контекста>.json"
],
"id": "vc:<тип>:<идентификатор>",
"type": ["VerifiableCredential", "<ТипУдостоверения>"],
"issuer": "did:web:<эмитент>",
"issuanceDate": "<дата_выдачи>T00:00:00Z",
"credentialSubject": {
"id": "did:web:<субъект>",
"<атрибут1>": "<значение1>",
"<атрибут2>": "<значение2>"
},
"proof": {}
} {
"data": {},
"metadata": {},
"signatures": [],
"dat": {}
} did.json удалён.DID_DOCUMENT_UNAVAILABLE: did:web:clinic.ru./.well-known/did.json.did:web:fake-clinic.ru, но файл did.json размещён на clinic.ru./.well-known/... endpoints каждые 5 минут.https://clinic.ru/.well-known/did.json;vc_refs;credentialSubject.id соответствует DID клиники..solpdt в /.well-known/solpdt/;did:web:clinic.ru;serviceEndpoint из DID-документа — убедитесь, что открывается папка с SOL-активами.did:web:clinic.ru) и разместите DID-документ;did и vc_refs в подписи Sovereign Assertion;.solpdt с теми же именами.metadata);did.json) в случае компрометации.Вопрос: Можно ли использовать один DID для нескольких клиник в сети?
Ответ: Нет. Каждый филиал должен иметь собственный DID (did:web:clinic1.ru, did:web:clinic2.ru), чтобы обеспечить прозрачность данных.
Вопрос: Что делать, если приватный ключ скомпрометирован?
Ответ:
Вопрос: Как долго хранится история изменений DID?
Ответ: Рекомендуется хранить журнал изменений DID-документов не менее 5 лет для аудита.
Расширенная инструкция предоставляет полный набор инструментов для:
Следующие шаги:
did:web:clinic.ru).