В этой главе сводится воедино вся терминология, используемая в системе FayID. Первая половина унаследована от Глоссария requirements.md; вторая половина добавляет расширенные термины, введённые на этапе проектирования.
Соглашение: когда последующие главы этого blueprint используют какой-либо из перечисленных ниже терминов, авторитетными являются определения этой главы. В случае неоднозначности окончательный приоритет имеют определения в requirements.md.
Основные сущности
Термин
Определение
FayID System
Общая идентификационная система, определяемая этой спецификацией, состоящая из логических компонентов Issuer, Resolver, Auth Exchange, GMC Interface, Serializer, Parser и других.
Human ID
Корневая идентичность физического лица в системе FayID. Получается из пары ключей, сопровождается Mnemonic и принадлежит исключительно одному Human Prototype.
Human Prototype
Реальное физическое лицо, парно сопоставленное один к одному с Human ID.
iFay ID
Идентичность отдельной цифровой персоны iFay. Должна быть привязана ровно к одному Human ID, хотя один Human ID может привязывать несколько iFay ID.
coFay ID
Идентичность публичной роли coFay. Должна принадлежать либо Human ID, либо Organization ID.
Organization ID
Идентичность организации в системе FayID. Публикуется в открытом виде и не требует производного Dynamic Code.
Учётные данные и производные
Термин
Определение
Mnemonic
Мнемоническая фраза, ассоциированная с Human ID; человекочитаемая резервная копия закрытого ключа Human ID. Возвращается держателю ровно один раз во время генерации и никогда не сохраняется в открытом виде.
Dynamic Code
Ограниченная по времени строка, производная от Human ID, которая может передаваться в открытом виде. Используется для ссылки на Human ID без его раскрытия.
Verification Code
Код, привязанный к coFay ID, используемый для проверки подлинности держателя при использовании coFay ID. Может быть ротирован владельцем.
Authorization Grant
Ограниченные по времени учётные данные аутентификации, выпускаемые для iFay ID или Human ID после прохождения через Auth Exchange. Несут явное время истечения и поддерживают активный отзыв.
Логические компоненты
Термин
Определение
Issuer
Логический компонент в системе FayID, отвечающий за генерацию, ротацию и отзыв идентификаторов и учётных данных.
Resolver
Логический компонент, который разрешает открытые учётные данные (Dynamic Code, Verification Code или ID-строку) обратно в соответствующую сущность.
Auth Exchange
Логический компонент, выполняющий обмен между FayID и традиционными методами аутентификации (пароль, сертификат, авторизация, токен доступа, смарт-контракт).
GMC Interface
Логический граничный компонент, через который FayID System взаимодействует с Global Merit Chain. Предоставляет только методы только для чтения; обратные записи Human ID или материала закрытого ключа запрещены.
Serializer
Компонент, который кодирует сущности FayID в передаваемые строки. Каждая сущность несёт распознаваемый префикс типа.
Parser
Компонент, который декодирует передаваемую строку обратно в сущность FayID. Различает типы сущностей по префиксу типа.
Внешние системы
Термин
Определение
Global Merit Chain
Внешняя система цепочки в экосистеме iFay, которая длительно несёт записи идентичности и репутации. FayID является её идентификационным уровнем.
Legacy Auth Source
Внешняя система, предоставляющая традиционные методы аутентификации, такие как пароль, сертификат, авторизация, токен доступа или смарт-контракт.
Target Resource
Внешний ресурс, защищаемый Authorization Grant и идентифицируемый через resourceRef.
Расширенные термины (введены при проектировании)
Следующие термины впервые появляются в документе проектирования и используются для более точного описания поведения протокола:
Термин
Определение
opaqueRef
Стабильная, но необратимая строка, производная от Human ID и формируемая GMC Interface. Используется для ассоциации репутации физического лица в Global Merit Chain без раскрытия Human ID.
Абстрактные механизмы доказательства владения (обычно вызовы подписи в реализациях). Уровень протокола требует только их проверяемости и того, чтобы они не требовали открытого Mnemonic.
OwnerKind
Перечисление со значениями HUMAN или ORGANIZATION, идентифицирующее вид владельца coFay ID.
LegacySourceKind
Перечисление со значениями PASSWORD / CERTIFICATE / AUTHORIZATION / ACCESS_TOKEN / SMART_CONTRACT, идентифицирующее источник, из которого был выпущен Authorization Grant.
GrantState
Перечисление со значениями ACTIVE / EXPIRED / REVOKED, идентифицирующее текущее состояние Authorization Grant.
EntityKind
Перечисление, идентифицирующее тип сущности, к которому принадлежит строка FayID (HUMAN_ID / IFAY_ID / COFAY_ID / ORGANIZATION_ID / DYNAMIC_CODE / VERIFICATION_CODE / AUTHORIZATION_GRANT).
normalize
Функция, преобразующая строку FayID в каноническую форму: нижний регистр + сопоставление префикса типа + фильтр символов по белому списку.
derive_secret
Ключевой материал, удерживаемый внутри Issuer и производный от Human ID; используется для генерации Dynamic Code. Никогда не раскрывается наружу.
gmc_namespace_secret
Ключ пространства имён, удерживаемый FayID System и используемый для производства opaqueRef. Стратегия ротации — открытый вопрос.
Краткий справочник по префиксам типов
Префикс
Сущность
Может появляться публично
hid_
Human ID
Запрещено (ограничение уровня конфиденциальности)
ifay_
iFay ID
Разрешено
cofay_
coFay ID
Разрешено
org_
Organization ID
Разрешено
dyn_
Dynamic Code
Разрешено
vrf_
Verification Code
Только в паре с coFay ID
grt_
Authorization Grant
Разрешено
Подробные наборы символов, границы длины и правила нормализации см. в разделе «Identifier Format & Encoding» в design.md.