BLUEPRINT
제 2 장 용어집
본 장은 FayID 체계에서 사용하는 모든 용어를 정리한다. 전반부는 requirements.md Glossary에서 계승되며, 후반부는 design 단계에서 도입된 확장 용어를 보완한다.
약속: 본 블루프린트의 각 장에서 아래 용어를 사용할 때는 본 장의 정의를 기준으로 한다. 모호함이 있을 경우 requirements.md의 정의를 최종 권위로 삼는다.
핵심 엔티티
| 용어 | 정의 |
|---|
| FayID System | 본 명세서에서 정의하는 전체 신원 체계로, Issuer, Resolver, Auth Exchange, GMC Interface, Serializer, Parser 등 논리 컴포넌트의 집합을 포함한다. |
| Human ID | 자연인이 FayID 체계에서 가지는 루트 신원 식별자. 키 쌍에서 파생되며 한 부의 니모닉에 대응되고, 인간 원형이 독점적으로 보유한다. |
| 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를 노출하지 않으면서 해당 Human ID를 지칭하기 위해 사용된다. |
| Verification Code (검증 코드) | coFay ID와 바인딩되는 검증 코드로, coFay ID 사용 시 보유자의 진위를 확인하는 데 쓰인다. 귀속 주체에 의해 교체될 수 있다. |
| Authorization Grant (인증 부여) | Auth Exchange를 거쳐 FayID 또는 Human ID에 부여된, 시간 제한이 있는 인증 자격 증명. 명시적인 만료 시간을 가지며 능동적으로 폐기할 수 있다. |
논리 컴포넌트
| 용어 | 정의 |
|---|
| Issuer (발급기) | FayID 체계 내에서 식별자와 자격 증명의 생성, 교체, 폐기를 담당하는 논리 컴포넌트. |
| Resolver (해석기) | 평문 자격 증명(Dynamic Code, Verification Code, ID 문자열)에 따라 대응되는 엔티티를 역으로 해석하는 논리 컴포넌트. |
| Auth Exchange (인증 교환기) | FayID와 전통 인증 방식(계정/비밀번호, Certificate, Authorization, Access Token, Smart Contract) 사이를 상호 교환하는 논리 컴포넌트. |
| GMC Interface (GMC 인터페이스) | FayID System과 Global Merit Chain 사이의 상호작용 논리 경계 컴포넌트. 읽기 전용 메서드만 노출하며, Human ID나 개인 키 자료의 역방향 쓰기는 금지된다. |
| Serializer (직렬화기) | FayID 체계 엔티티를 전송 가능한 문자열로 인코딩하는 컴포넌트. 각 엔티티는 식별 가능한 타입 접두사를 가진다. |
| Parser (파서) | 전송 가능한 문자열을 FayID 체계 엔티티로 디코딩하는 컴포넌트. 타입 접두사를 통해 엔티티 타입을 구분한다. |
외부 시스템
| 용어 | 정의 |
|---|
| Global Merit Chain (글로벌 메리트 체인) | iFay 생태계에서 신원과 평판 기록을 장기적으로 담당하는 외부 체인 시스템. FayID는 그 신원 계층이다. |
| Legacy Auth Source (전통 인증 소스) | 계정/비밀번호, Certificate, Authorization, Access Token, Smart Contract 등의 전통 인증 방식을 제공하는 외부 시스템. |
| Target Resource (대상 리소스) | Authorization Grant에 의해 보호되는 외부 리소스로, resourceRef를 통해 식별된다. |
확장 용어 (design 단계 도입)
다음 용어들은 design 문서에서 처음 등장하며, 프로토콜 동작을 더 정확하게 기술하는 데 사용된다:
| 용어 | 정의 |
|---|
| opaqueRef (불가역 참조) | GMC Interface가 Human ID로부터 파생한, 안정적이지만 역추적 불가능한 문자열. Human ID를 노출하지 않으면서 Global Merit Chain 상에 자연인의 평판을 연결하는 데 사용된다. |
| resourceRef (리소스 식별자) | Authorization Grant에서 대상 리소스를 유일하게 지칭하는 계층적 문자열. 권장 형식은 <scheme>://<authority>/<path>이다. |
| proofOfHuman / proofOfOwner (소유권 증명) | 추상적인 소유권 증명 메커니즘 (구현 측에서는 보통 서명 챌린지). 프로토콜 계층에서는 검증 가능해야 하며 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 파생에 사용된다. 교체 정책은 Open Question이다. |
타입 접두사 빠른 참조
| 접두사 | 대응 엔티티 | 공개 노출 가능 여부 |
|---|
hid_ | Human ID | 금지 (프라이버시 계층 제약) |
ifay_ | iFay ID | 허용 |
cofay_ | coFay ID | 허용 |
org_ | Organization ID | 허용 |
dyn_ | Dynamic Code | 허용 |
vrf_ | Verification Code | coFay ID와 짝지어 등장할 때만 |
grt_ | Authorization Grant | 허용 |
자세한 문자 집합, 길이 경계, 정규화 규칙은 design.md의 "Identifier Format & Encoding" 장을 참고한다.