제 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 IDcoFay 공공 역할의 신원 식별자. 반드시 한 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_secretIssuer가 내부적으로 보유하는 키 자료로, Human ID에서 파생되어 Dynamic Code 생성에 사용된다. 외부에 노출되지 않는다.
gmc_namespace_secretFayID System이 보유하는 네임스페이스 키로, opaqueRef 파생에 사용된다. 교체 정책은 Open Question이다.

타입 접두사 빠른 참조

접두사대응 엔티티공개 노출 가능 여부
hid_Human ID금지 (프라이버시 계층 제약)
ifay_iFay ID허용
cofay_coFay ID허용
org_Organization ID허용
dyn_Dynamic Code허용
vrf_Verification CodecoFay ID와 짝지어 등장할 때만
grt_Authorization Grant허용

자세한 문자 집합, 길이 경계, 정규화 규칙은 design.md의 "Identifier Format & Encoding" 장을 참고한다.