1. 개요
International Bank Account Number (IBAN)유럽은행표준위원회(ECBS)에 의해 도입된 국제 계좌번호 표준이다. ISO 13616 규격에 해당한다.
초기에는 유럽연합 내의 금융거래를 촉진하기 위한 것이었지만, 현재에는 중동 및 카리브 지역에도 보급되었다.
이 계좌번호가 있으면 대부분 SEPA 송금을 이용할 수 있다.
2020년 5월 기준 총 77개 국가가 사용 중이다.
2. 형식
국가코드 2자리로 시작하며, 총 34자를 초과할 수 없다. 사람이 읽기 편하도록 4자리씩 띄어 쓰는 것이 보통이며, 전산에서는 띄어쓰기 없이 처리한다.[ 국가코드(2) ] [ 체크섬(2) ] [ 계좌번호(~30) ]
여기서 계좌번호는 은행에서 부여하는 번호를 말하며, Basic Bank Account Number(BBAN)이라고 한다.
3. 유효성 검사와 체크섬
ISO 7064 표준인 mod-97 계산을 수행하여 문자를 숫자로 변환한 후 검증이 이루어진다.- 우선 입력된 IBAN 길이가 해당 국가에서의 올바른 길이인지 확인한다.
- 앞 4자리를 맨 뒤로 옮긴다.
- 알파벳 A~Z를 각각 10~35로 치환한다.
- 97로 나눈 나머지를 구해 값이 1일 경우 유효한 것으로 판단한다.
한국이 IBAN을 사용한다 가정하고 가상의 예를 들어보면,
- KR55 0027 0028 9100 0000 48 이라는 계좌번호가 있고 유효한 길이라고 가정하자.
- 0027 0028 9100 0000 48 KR55 처럼 자릿수 위치를 바꾼다.
- 0027 0028 9100 0000 48 20 27 55 처럼 문자를 치환한다.
- 27289100000048202755를 97로 나눈 나머지는 1이므로 유효한 계좌번호로 판단한다.
이를 이용하여 IBAN의 체크섬을 계산할 수 있는데, 일단 체크섬 두 자리를 00으로 두고 위의 과정을 3번까지 수행한 후, 97로 나눈 나머지를 98에서 뺀 값이 체크섬 2자리가 된다. 값이 한 자리일 경우 앞에 0을 붙인다.
한국이 IBAN을 사용한다 가정하고 가상의 예를 들어보면,
- KR00 0027 0028 9100 0000 48과 같이 체크섬 2자리를 0으로 맞추고,
- 0027 0028 9100 0000 48 KR00 과 같이 앞 4자리를 뒤로 옮기고,
- 0027 0028 9100 0000 48 20 27 00 과 같이 치환하고,
- 27289100000048202700을 97로 나눈 나머지가 43이므로 체크섬은 98 - 43 = 55가 된다.