IVMS101 이름

이름을 입력하고 검증하는 방법에 대해 설명합니다.

알아주세요

❗️CODE는 가상 자산 거래와 관련한 개인정보를 교환하기 위해 IVMS101 표준을 사용합니다.

❗️JSON 스키마 및 예제는 여기를 참고해 주세요.

❗️자연인(naturalPerson)과 법인(legalPerson) 모두 이름은 모두 법적 이름(Legal Name)을 입력하는 것이 원칙입니다.

❗️자연인(naturalPerson)의 이름은 기본적으로 모두 성과 이름을 분리해서 작성하는 것이 원칙입니다.

❗️'Originator', 'Beneficiary', 'OriginatorVASP', 'BeneficiaryVASP' 객체는 PascalCase로, 나머지는 모두 camelCase로 표기합니다.

❗️'primaryIdentifier'는 필드와 값이 항상 존재하고, 'secondaryIdentifier'는 필드만 항상 존재하고 값은 공란일 수도 있습니다.

❗️모든 필드의 값은 별도로 명시된 내용이 없으면 대소문자를 구분하지 않습니다.

❗️이름을 검증할 때는 빈칸을 제거하고 검증해야 합니다.

❗️모든 필드의 값은 항상 UTF-8 인코딩된 문자열로 표현합니다. (boolean이나 정수, 실수 등 포함)

❗️모든 필드의 값은 한글이 허용되는 경우를 제외하면 영어 표기를 원칙으로 합니다.

❗️영문 이름이 없는 경우에는 ‘국어의 로마자 표기법’ 에 따라 음역(transliteration) 하여 입력합니다.

성과 이름 분리

이름은 국가마다 구성하는 요소와 순서가 다른 만큼 VASP 별로 검증 정책이 다양하기 때문에, 성과 이름이 분리되어 있어야 순서를 유동적으로 조합해서 검증률을 높일 수 있습니다. 성과 이름을 하나의 필드로 다루게 되면 위의 예시에서 처럼 순서가 달라지는 경우 이름을 검증하기가 어렵습니다.

따라서 외부 KYC 솔루션을 이용하고 있다면 사용자의 이름 데이터가 어떻게 다뤄지는지 확인 후 성과 이름을 분리하고, 만약 영문 이름이 존재한다면 영문 이름까지 저장하는 것을 권고 드립니다.


Originating VASP로서 이름 입력하기

개인 이름 입력하기

1. 국내 VASP와 거래하는 경우

  • 'nameIdentifier'에 한글로 기입합니다.
  • 영문이 원문인 외국인이나 법인 등은 VASP에 등록할 때 사용한 이름 그대로 기입합니다.
  • 추가로 'localNameIdentifier'에 영문 이름을 기입하고, 영문 이름이 없으면 생략합니다.

2. 해외 VASP와 거래하는 경우

  • 'nameIdentifier'를 영문으로 기입합니다.
  • 추가로 'localNameIdentifier'에 한글 이름을 입력할 수 있습니다. 하지만 이때에도 가급적 법적 영문 이름이 기입된 'nameIdentifier'를 제공하는 것을 권장합니다.

3. 성과 이름을 분리할 수 있는 경우

  • 영문/한글 모두 'primaryIdentifier'에 성(Surname, Last name, Family name)을 기입합니다.
  • 영문/한글 모두 'secondaryIdentifier'에 이름(First name, Given name, Middle name)을 기입합니다.

4. 성과 이름을 분리할 수 없는 경우

  • 'primaryIdentifier'에 전체 이름을 VASP DB 기준으로 기입합니다.
  • 국문의 경우는 성, 이름 순서로 기입하고, 영문의 경우 이름, 성의 순서로 작성합니다. 순서가 변경되어도 DB에 들어가 있는 값과 동일하게 기입합니다.
  • 'secondaryIdentifier'에는 아무것도 기입하지 않습니다.

법인 이름 입력하기

법인의 경우 법인의 이름뿐만 아니라 대표의 이름까지도 함께 기입해야 합니다. 가상 자산을 보낼 때도, 받을때도 마찬가지 입니다.

IVMS101의 'legalPerson'에는 대표자 정보를 넣는 요소가 별도로 없으므로, 대표자 정보는 다음과 같은 방법으로 기입합니다.

  • 'originatorPersons' 또는 'beneficiaryPersons' 는 Person 타입의 배열이므로 배열의 첫 번째 원소에는 항상 법인('legal person')에 대한 정보를 기입합니다.
  • 두 번째 원소부터는 법인 대표자의 개인 정보('natural person')를 기입합니다.
  • 대표자가 여러 명인 경우에도 대표 1인의 정보만 입력합니다.

Beneficiary VASP로서 이름 검증하기

개인 이름 비교(naturalPerson)

개인의 이름을 검증할 때는 'nameIdentifier', 'localNameIdentifier' 두 개의 오브젝트를 검증합니다. 순서는 'nameIdentifier'를 먼저 비교하고, 일치하지 않았다면 'localNameIdentifier'를 비교합니다.
※'localNameIdentifier'에 사용자 정보가 담겨 있어서 'nameIdentifier'가 공란인 경우도 있을 수 있습니다.

검증을 하는 VASP는 request의 지갑 주소를 기반으로 데이터 베이스의 사용자 정보를 조회하며 해당 주소의 실제 소유자 이름과 비교합니다.

정확한 비교를 위해서는 성과 이름인 'primaryIdentifier'와 'secondaryIdentifier'를 조합해서 모든 경우의 수를 비교해 보는 것이 좋습니다. 이때, 상대편 VASP가 이름을 first name과 last name으로 구분하지 않고 'primaryIdentifier'에 전체 이름을 모두 담아 보내는 경우가 있을 수 있습니다. 이 경우 상대방 데이터는 순서를 바꿔도 이름이 달라지지 않기 때문에, '우리'가 가지고 있는 사용자의 이름을 성과 이름으로 분리하고 순서를 바꿔가면서 비교해야 합니다. 하나의 UTF-8 문자열로 만들고, 공백 (' ') 을 제거하고 대소문자 구분없이 비교합니다.
※성과 이름을 구분하지 않는 경우 한글이면 성, 이름 순서이고, 영문이면 이름, 성의 순서로 간주합니다.

법인 이름 비교(legalPerson)

검증을 요청하는 VASP는 법인의 이름과 대표자 1인의 이름을 보냅니다. 따라서 검증을 하는 VASP는 법인의 이름과 개인의 이름을 모두 비교하고, 두 가지가 모두 일치해야 합니다.

법인의 이름은 등기상의 이름을 입력하는 것을 원칙으로 합니다. 서비스명이나 다른 이름은 검증에 실패할 수 있습니다(기본적으로는 저장된 이름이 다른 경우 거절될 수도 있습니다). 실패 시 부분적으로 주식회사 같은 문자열을 제거하고 검증을 재시도 해보는 프로세스를 추가할 수도 있습니다.

대표의 이름은 개인의 이름을 비교하는 프로세스와 동일합니다.