본 발명의 구체적 특징 및 이점들은 첨부도면에 의거한 다음의 상세한 설명으로 더욱 명백해질 것이다. 이에 앞서 본 발명에 관련된 공지 기능 및 그 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는, 그 구체적인 설명을 생략하였음에 유의해야 할 것이다.
도 1은 본 발명의 일실시예에 따른 호환형 지불SAM 적합성 평가 시스템의 개략적인 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일실시예에 따른 호환형 지불SAM 적합성 평가 시스템은 교통카드(100), 카드 단말기(200), 지불SAM 시험기(300)를 포함하여 구성된다.
-교통카드(100)-
여기서, 교통카드(선불IC카드)는 금전적 가치가 IC칩에 저장되고, 교통 등 다양한 서비스 이용에 대한 대가를 지불하는데 사용되는 카드를 의미한다. 본 실시예에 따른 선불IC카드는 전국 호환형 교통카드를 지칭한다.
본 실시예에 따른 선불IC카드에 대해 설명하면, 각 교통카드 사업자사와의 호환사용을 위하여 다음 파일요구사항을 만족하여야 한다. 카드 내의 파일에는 전용파일(DF:Divert File) 및 요소파일(EF:Element File)이 있으며, 다음과 같은 디렉토리 구조의 계층구조(Tree Structure)를 가진다.
여기서, 전용파일(DF)은 각 사업자와의 호환사용을 위하여 Config DF라는 ADF(Add Field)를 추가하여, 교통 호환 ADF의 정보를 저장하고 거래 시 이를 외부에 제공토록 하고 있다. 이러한 호환 기능은, 전국호환 교통카드와 기존 카드를 구분하기 위해 단말기에서는 먼저 Config DF를 선택한 다음에 나오는 응답에서 표준거래를 할 것인지, 혹은 기존 거래를 할 것인지 판단한다. 그리고 표준 거래를 위한 명령어는 KS-6924 규격에 맞는 명령어를 정의하고 있다.
-카드 단말기(200)-
카드 단말기(200)는 교통요금 지급결제 단말기로서, 각기 다른 사업자별 교통카드를 인식하여 인증하는 지불 SAM이 장착되어, 교통카드의 지급거래 처리를 수 행한다.
이러한 카드 단말기는 비접촉식 IC칩(전국 호환형 교통카드)의 유효성(Validation)을 인증하고 보안성을 유지해주는 보안인증 IC칩의 장착이 가능한 카드형태의 지불 SAM(Secure Application Module, 보안응용모듈)이 장착되어, 호환형 교통카드의 데이터를 처리한다.
여기서, 본실시예에 따른 지불SAM 시험환경 조건은 다음과 같다.
온도조건은 저온이 -25℃ 내지 0℃이고, 상온이 0℃ 내지 50℃이며, 고온이 50℃ 내지 80℃으로 설정하였다. 상대습도는 10% 내지 75%로 하고, 대기압은 86KPa(860mbar) 내지 106KPa(1060mbar)로 하며, 시험의 대상은 제조후 일주일 이내의 것을 사용하고, 시험의 대상은 자연광(직사광선)에 장시간 노출된 것은 제외하며, 화학약품 또는 바닷물에 노출되지 않은 것을 이용한다.
-지불SAM 시험기(300)-
지불SAM 시험기(300)는 전화선 또는 인터넷 연결을 통해 카드 단말기와 연결되어, 지불SAM을 인증하기 위한 주요 항목인 물리, 보안, 기능적 적합성에 따라 정상적으로 이루어지는지 여부를 디스플레이 또는 음성/음향으로 출력하도록 하는 기능을 수행한다.
이러한 기능을 수행하는 지불SAM 시험기(300)는 물리 시험수단(310), 기능 시험수단(320), 보안 시험수단(330), 데이터베이스(340), 제어수단(350)을 포함한다.
도 2는 본 발명의 일실시예에 따른 물리 시험수단을 나타내는 블록도이다.
우선, 물리 시험수단(310)은 지불SAM 규격시험, 전기적 기능시험, 안정성시험을 하는 기능을 수행한다. 이러한 기능을 수행하는 물리 시험수단은 도 2에 도시된 바와 같이, 지불SAM 규격시험부(311), 전기적 기능시험부(312) 및 안정성 시험부(313)를 포함하여 구성된다.
우선 지불SAM 규격시험부(311)는 시험 대상인 지불SAM의 가로, 세로길이가 카드 단말기에 삽입 가능한지 측정하고, 지불SAM의 접점간에 통하는 접촉저항을 측정하여 동작여부를 판단하는 기능을 수행한다. 여기서, 지불SAM은 ID-1형식 카드의 규격으로 KS X 6923에 따르고, 규격에 따른 허용 오차 내에서 카드의 접촉식 및 비접촉식에 대한 정상적인 동작여부를 판단한다.
여기서, 지불SAM 가로크기의 기준 규격은 85.46 내지 85.72mm 이고, 세로크기의 기준 규격은 53.92 내지 54.03mm이며, 두께의 기준규격은 0.68 내지 0.84mm이다. 또한 지불SAM의 컷팅면 표면에 흠집이나 파임이 없어야 한다. 또한 COB(Chip On Board) 위치에 있어서, 지불SAM에 장착된 칩의 접점 크기가 가로(2mm), 세로(1.7mm)이고, 각 접점의 위치는 아래 내용과 같은 기준 규격 및 허용 오차에 따른다.
C1(Vcc)는 가로(10.25mm 내지 12.25mm), 세로(19.23mm 내지 20.93mm)이고, C2(RST)는 가로(10.25mm 내지 12.25mm), 세로(21.77mm 내지 23.47mm)이며, C3(CLK)는 가로(10.25mm 내지 12.25mm), 세로(24.31mm 내지 26.01mm)이고, C4(RFU)는 가로(10.25mm 내지 12.25mm), 세로(26.85mm 내지 28.55mm)이며, C5(GND)는 가로(17.87mm 내지 19.87mm), 세로(19.23mm 내지 20.93mm)이고, C6(Vpp)는 가 로(17.87mm 내지 19.87mm), 세로(21.77mm 내지 23.47mm)이며, C7(I/O)는 가로(17.87mm 내지 19.87mm), 세로(24.31mm 내지 26.01mm)이고, C8(RFU)는 가로(17.87mm 내지 19.87mm), 세로(26.85mm 내지 28.55mm)이다.
전기적 기능시험부(312)는 지불SAM의 전기적 기능을 측정하고 정상 동작여부를 판단하는 기능을 수행한다.
이러한 전기적 기능시험부는 카드 단말기에서 지불SAM 리셋(Reset)명령시 지불SAM의 리셋응답(ATR:Answer To Reset)이 정상적으로 이루어지는지를 여부를 판단하는 리셋응답 검사모듈(21), 지불SAM의 RST접점을 측정하는 지불SAM RST접점 검사모듈(22), 지불SAM접점의 사용전압을 측정하는 사용전압 검사모듈(23), 지불SAM의 I/O접점을 측정하는 I/O접점 검사모듈(24), 지불SAM의 CLK접점을 측정하는 CLK접점 검사모듈(25), 지불SAM의 VCC접점을 측정하는 VCC접점 검사모듈(26), 지불SAM접점의 전기적 저항을 측정하는 접점저항 검사모듈(27), 지불SAM의 IC칩에 대한 간섭이 있는지를 여부를 판단하는 IC CHIP간섭 검사모듈(28), 지불SAM의 전자기 필드(Field)에 대한 내성을 측정하는 전자기 필드 검사모듈(29), 지불SAM의 교류자기장에 대한 내성을 측정하는 교류자기장 검사모듈(30), 지불SAM의 정전기에 대한 내성을 측정하는 정전기 검사모듈(31)을 포함하여 구성된다.
여기서, 본 실시예에 따른 리셋응답 검사모듈(21)은 카드 단말기에서 지불SAM의 리셋(Reset)명령시 지불SAM의 리셋응답(ATR:Answer To Reset)이 정상적으로 이루어지는지를 여부를 판단한다.
또한 지불SAM RST접점 검사모듈(22)은 지불SAM의 RST접점을 측정하는 기능을 수행한다. 여기서, 지불SAM의 RST접점에 대한 전기적 특성 규격기준은 다음의 표 1에 나타낸 바와 같다.
[표 1]
기 호 |
조 건 |
최 소 값 |
최 대 값 |
단 위 |
VIH |
- |
VCC - 0.7 |
VCC |
V |
VIL |
- |
0 |
0.6 |
V |
tR와 tF |
VCC = min. to max. |
- |
1.0 |
㎲ |
또한 사용전압 검사모듈(23)은 지불SAM접점의 사용전압을 측정하는 기능을 수행한다. 여기서, 지불SAM접점에서 DC 5V의 전압이 흐를 경우 지불SAM이 동작하여야 한다.
또한 I/O접점 검사모듈(24)은 지불SAM의 I/O접점을 측정하는 기능을 수행한다. 여기서, 지불SAM I/O접점의 전기적 특성 규격기준이 다음의 표 2에 나타낸 바와 같다.
[표 2]
기 호 |
조 건 |
최소값 |
최대값 |
단 위 |
VIH |
- |
0.7×VCC |
VCC |
V |
VIL |
- |
0 |
0.8 |
V |
VOH |
0>IOH>??20㎂, VCC=min |
0.7×VCC |
VCC |
V |
VOL |
0<IOL<1㎃, VCC=max |
0 |
0.4 |
V |
tR와 tF |
CIN(terminal)=30pF max |
- |
0.1 |
㎲ |
또한 CLK접점 검사모듈(25)은 지불SAM의 CLK접점을 측정하는 기능을 수행한다. 여기서, 지불SAM은 1㎒ 내지 10㎒ 범위의 CLK주파수에서 동작해야하고, 정상적인 운영조건하에서의 CLK접점의 전기적 특성 규격기준은 다음의 표 3에 나타낸 바와 같다.
[표 3]
기 호 |
조 건 |
최소값 |
최대값 |
단 위 |
VIH |
- |
VCC-0.7 |
VCC |
V |
VIL |
- |
0 |
0.5 |
V |
tR와 tF |
VCC = min. to max. |
- |
클럭주기 9% |
㎲ |
또한 VCC접점 검사모듈(26)은 지불SAM의 VCC접점을 측정하는 기능을 수행한다. 여기서, Class A, Class B 또는 Class A와 B를 모두 지원하는 형태 중 한가지만 지원하면 되고, VCC에 공급되는 전원의 전압은 다음의 표 4에 나타낸 바와 같다.
[표 4]
기호 |
분류 |
최소값 |
최대값 |
단위 |
VCC |
Class A |
4.5 |
5.5 |
V |
Class B |
2.7 |
3.3 |
V |
ICC |
Class A&B |
- |
50 |
mA |
또한 접점저항 검사모듈(27)은 지불SAM접점의 전기적 저항을 측정하는 기능을 수행한다. 여기서, 지불SAM접점의 전기적 저항이 실제 사용환경에서 사용 가능한 규격인지를 확인한다. 예를 들면, 지불SAM접점에 50 내지 300mA의 직류 전류를 가했을 때 측정저항은 0.5옴 미만이어야 한다.
또한 IC CHIP간섭 검사모듈(28)은 지불SAM에 M/S가 존재하는 경우 IC칩에 대한 간섭이 있는지를 여부를 판단한다. 이때, 지불SAM에 M/S가 존재하는 경우 IC칩에 대한 간섭이 있어서는 안된다.
또한 전자기 필드 검사모듈(29)은 지불SAM의 전자기 필드(Field)에 대한 내성을 측정하는 기능을 수행한다. 여기서, 전자기 필드 검사모듈은 지불SAM이 1000 Oe의 전자기 필드에 노출되었을 때 IC칩의 기능이 저하되지 않아야 한다.
또한 교류자기장 검사모듈(30)은 지불SAM의 교류자기장에 대한 내성을 측정 하는 기능을 수행한다. 여기서, 다음 표 5의 자기장에 노출 후 정상 작동되어야 한다. 이때 자기장의 최고 수준은 30회의 평균수준으로 제한되고, 13.56㎒에서 12A/m의 자기장 노출 후에도 정상적으로 동작이 수행되어야 한다.
[표 5]
주파수 범위(㎒) |
평균 자기장력(A/m) |
평균시간(minutes) |
0.3 ~3.0 |
1.63 |
6 |
3.0 ~ 30 |
4.98/frequency in ㎒ |
6 |
30 ~ 300 |
0.163 |
6 |
그리고 정전기 검사모듈(31)은 지불SAM의 정전기에 대한 내성을 측정하는 기능을 수행한다. 여기서, 측정기준은 지불SAM이 100pF 용량으로부터 1500옴의 저항을 통과하는 1500V의 접지선과 어느 접점 사이의 정전기 방출에 노출 시 지불SAM의 성능저하가 없어야 한다.
안정성 시험부(313)는 외부로부터 가해지는 충격에 따른 지불SAM의 동작여부를 시험측정하는 충격시험모듈(41), 외부로부터 가해지는 화학물질에 따른 지불SAM의 동작여부를 시험측정하는 화학시험모듈(42), 온습도에 따른 지불SAM의 동작여부를 시험측정하는 온습도 시험모듈(43), 외부로부터 가해지는 자외선에 대한 지불SAM의 동작여부(민감도)를 시험측정하는 자외선 시험모듈(44)을 포함하여 구성된다.
여기서, 본 실시예에 따른 충격시험모듈(41)에서 외부로부터 가해지는 충격을 설명하면, 충격 중 하나는 지불SAM의 가로 및 세로 중심축을 기준으로 1분에 30번 꼬임의 비율(0.5Hz)로 지불SAM의 가로 중심축으로 ± 150 휨, 2mm 이내에서 휨 동작을 1000회로 가하고, 또 다른 충격으로는 지불SAM의 좌우아래 4꼭지에 대해 대 략 15도 각도로 각 꼭지에 대해 250회씩 총 1000회의 비틀림을 가하며, 또 다른 충격으로는 지불SAM에 가로2cm, 세로1cm로 1000회 굽힘을 가하고, 또 다른 충격으로는 지불SAM에 최소 47.1N/㎟(4.82kg/㎟)의 인장강도를 가하며, 또 다른 충격으로 500g의 강구를 30cm높에에서 떨어뜨렸을 때와 직경 1mm의 강철공으로 1.5N의 힘을 각 접점의 표면과 접촉면에 가했을 때, 물리적 파손이 없어야 하며, 카드 단말기와 교통카드 연동시 지불SAM이 정상작동해야 한다.
또한 화학시험모듈(42)은 다음 표 6의 침지시간 동안 화학물질이 가해지고, 그 후 외관상에 변화가 없어야 한고, 카드 단말기와 교통카드 연동 시 지불SAM이 정상 작동해야 한다. 이때, 지불SAM을 150℃의 유동 파라핀 속에 5분간 침지시 적층간에 틈이 생기지 않아야 한다.
[표 6]
시험조건 |
침지시간 |
용액의 종류 |
용액의 온도 |
A |
24시간 |
5%의 식염수 |
상온 |
B |
24시간 |
1%의 탄산나트륨 수용액 |
상온 |
C |
24시간 |
5%의 초산 수 |
상온 |
또한 온습도 시험모듈(43)은 외부로부터 가해지는 시험 조건으로, 40℃의 온도, 상대습도 90%에서 4.9kPa의 압력을 가해 48시간 보존해도 카드 상호간에 점착이 없어야 하고, 40℃의 온도, 상대습도 90%에서 18시간 보존해도 외관에 변화가 없어야 하며, 저온(-25℃~0℃), 상온(0℃~50℃), 고온(50℃~80℃)에서 3시간 노출 후와, 60℃의 온수에 5분간 담근 후에도 동작에 이상이 없어야 한다.
그리고 자외선 시험모듈(44)에 설명하면, 지불SAM의 EEPROM이 자외선에 노출될 경우 저장된 값이 지워지게 된다. 장시간 자외선에 노출 시 발생되는 결함발생 의 유무를 확인하기 위한 시험으로, 254nm파장의 15Ws/㎠의 에너지 밀도를 가진 자외선에 72시간 노출하여 정상적인 동작 여부를 판단한다.
다음으로, 기능 시험수단(320)은 카드 단말기의 지불SAM과 교통카드 연동시 주요 기능인 지불거래, 지불재거래, 지불거래 취소가 정상적으로 이루어지는지 여부를 판단하는 기능을 한다.
이러한 기능 시험수단(320)은 카드 단말기의 지불SAM과 교통카드 연동시에 지불거래가 정상적으로 이루어졌는지 여부를 판단하는 지불거래 시험부(321), 카드 단말기의 지불SAM과 교통카드의 연동 거래 중 거래 중단을 포함하는 거래 오류시 지불재거래가 정상적으로 이루어지는지 여부를 판단하는 지불재거래 시험부(322), 카드 단말기의 지불SAM과 교통카드의 연동 거래 시 정상적인 지불 거래 후, 외부로부터의 취소요청에 따라 직전 거래 취소가 정상적으로 이루어지는지 여부를 판단하는 지불거래 취소 시험부(323)를 포함하여 구성된다.
본 실시예에 따른 기능 시험수단(320)을 설명하면 다음과 같다.
여기서, 기능 시험수단은 교통카드와 지불 SAM과의 지불거래 절차에 따른 거래 프로토콜 기능을 시험하는 것으로, 각 거래내역에 대해서 서명만이 부가되며, 암호화는 하지 않는다.
참고로, 전국 호환카드 거래의 종류를 판단하기 위해, Config DF의 EFconfig로 Application 정보 조회를 수행하는 절차를 나타낸다. 카드 단말기(PDA:Purcharge Device Application)는 전국 호환카드로 교통 호환 ADF의 정보를 요청한다. 상기 ADF(ADded File)는 전국호환을 위해 카드로 부가된 파일로서, 상기 카드 단말기(PDA)는 해당 카드로 Config DF를 요청하는 것이다.
이에 응답하여, 상기 전국호환 교통카드(IEP)는 상기 카드 단말기(PDA)로 ADF 정보요청에 응답하는 설정된 임의의 코드를 제공한다. 여기서, 임의의 코드는 표준 거래, 기존 거래에 대응하는 고유 코드이다. 따라서, 카드 단말기(PDA)는 Config DF를 선택한 다음에 나오는 응답에서 표준 거래를 할 것인지, 혹은 기존 거래를 할 것인지 판단한다. 그리고, 상기 카드 단말기(PDA)는 임의의 코드를 접수한 후, 상기 전국호환 교통카드(IEP)로 EFconfig를 요청한다.
상기 전국호환 교통카드(IEP)는 단말기(PDA)로부터 EFconfig 요청에 응답하여, IDCENTER, AID length, DF Name, 부가 Data File 정보, 카드 소지자 정보, 유효기간 정보를 상기 카드 단말기(PDA)로 제공한다. 여기서, 상기 IDCENTER는 한국전자지불산업협회에서 지정한 교통 사업자의 고유 번호이다. 상기 교통호환 사업자는 고유의 IDCENTER값을 가지고 있으며 이를 표시하기 위한 영역을 갖는다. 0x00 번지는 Reserved 영역이고, 0x01 번지는 금융결제원 사업자이고, 0x02 번지는 에이캐시 사업자이며, 0x03 번지는 마이비 사업자이고, 0x04 번지는 Reserved 영역이며, 0x05 번지는 브이캐시 사업자이고, 0x06 번지는 몬덱스코리아 사업자, 0x07 번지는 한국도로공사 사업자를 나타낸다. 그리고, 0x08 번지는 한국스마트카드 사업자, 0x09 번지는 코레일네트웍스 사업자, 0x0A 번지는 Reserved 영역이며, 0x0B는 이비 사업자를 나타낸다.
또한, 상기 AID length는 부가정보의 길이를 나타내는 것으로, 환승정보, 입 구정보 등 거래 시 필요한 부가정보에 대한 총 길이를 나타내며, 상기 부가 Data File 정보를 통해 부가정보의 내용을 파악한다. 그리고, 상기 DF Name은 전용파일 즉, Config DF(Divert File)의 이름을 나타내고, 이외에 카드 소지자 정보, 카드의 유효기간 정보를 포함한다. 상기 카드 단말기(PDA)는 전술된 바와 같이, Config DF의 EFconfig로 Application 정보 조회함으로써, 전국호환 교통카드 거래의 종류를 파악한다.
우선, 지불거래 처리를 설명하면 지불 SAM과의 거래를 위한 것으로, 거래 전 정보조회가 선행된다. 다음으로, 카드 단말기(PDA)에서, 전국호환 교통카드로 Initialize CARD Command를 수행한다. 이를 설명하면, 전국호환 교통카드(IEP:Identification Electronics Purse)로 부가파일 즉, ADF를 요청하는데, 상기 ADF는 각 사와의 호환사용을 위한 Config DF로서, 부가정보의 내용을 파악한다. 따라서, 전국호환 교통카드(IEP)는 카드 단말기(PDA)의 요청에 응답하여, 전국호환 교통카드(IEP)에 대한 알고리즘 정보인 ALGIEP와, 전국호환 교통카드(IEP)에 대한 서명키(Version of Key)인 VKIEP_KDP와, 거래 전 카드의 잔액(BALance)을 나타내는 정보인 BALIEP 와, ID 센터명을 나타내는 IDCENTER와, 전국호환 교통카드(IEP)의 ID 정보를 나타내는 IDIEP 와, 전국호환 교통카드의 거래일련 번호(Number of Transaction)를 나타내는 NTIEP 및 본 거래에 따른 서명정보 제1 서명정보 S1을 제공한다.
이후, 카드 단말기(PDA)에서, 지불 SAM으로 Initialize SAM Command를 수행 한다. 이를 설명하면, 카드 단말기(PDA)는 전국호환 교통카드(IEP)로부터 ALGIEP, VKIEP_KDP, BALIEP, IDCENTER, IDIEP, NTIEP 및 S1 정보를 접수한 후, 단말기에 대한 기기정보인 MPDA를 포함하여 부가데이터를 지불SAM으로 전송함으로써, SAM을 초기화한다. 상기 부가데이터는 거래를 위한 시간정보, 관리자 정보 등 운영자의 요구에 따라 부가될 수 있는 정보이다. 그리고, 지불SAM은 카드단말기(PDA)의 SAM 초기화 요청에 응답하여, SAM의 ID 정보인 IDSAM 와, SAM의 거래 일련번호로서 NTSAM 와, SAM의 암호화 정보인 SCSAM 및 상기 ALGIEP에 기반하여 제공되는 S1 정보와 대응하는 제2 서명정보 S2를 전송한다.
따라서, 카드 단말기(PDA)는 지불SAM으로부터 제공되는 거래정보 및 서명정보를 수신한 후, 거래승인과 더불어 해당 전국호환 교통카드(IEP)로 지불을 명령한다. 즉 카드 단말기(PDA)에서, 전국호환 교통카드(IEP)로 Purchase CARD Command를 수행한다. 이를 설명하면, 카드 단말기(PDA)는 IDPSAM 정보, NTPSAM 정보, SCSAM 정보, S2 정보 및 부가데이터를 전국호환 교통카드(IEP)로 전송하고, 전국호환 교통카드(IEP)는 전술된 IDPSAM 정보, NTPSAM 정보, SCSAM 정보, S2 정보 및 부가데이터를 기반으로, 지불 명령에 응답하며 이에 대한 제3 서명정보 S3을 카드 단말기(PDA)로 전송한다.
다음으로 카드 단말기(PDA)에서, 전국호환 교통카드(IEP)로 Credit SAM Command를 수행한다. 이를 설명하면, 카드단말기(PDA)는 전국호환 교통카드(IEP)로 부터 접수된 제3 서명정보를 지불SAM으로 전달한다. 그리고, 지불SAM은 상기 제3 서명정보 S3에 대한 인증절차를 거친 후, 인증결과에 따른 응답으로서 거래유형 정보인 TRT, 지불SAM 에서 생성한 서명키 정보로서 VKIND_KEY 와, ID 센터 정보인 IDCENTER와, 전국호환 교통카드 ID 정보인 IDEP 와, 전국호환 교통카드 거래에 대한 일련번호 정보인 NTEP와, 거래 전 전국호환 교통카드의 잔액 정보로서 BALEP와, 단말기(PDA)의 기기 정보인 MPDA와, SAM의 ID 정보인 IDSAM와, SAM의 거래 일련번호인 NTSAM와, SAM의 거래수집 일련 번호인 NCSAM와, SAM에서 발생된 개별 거래건수(Number of Indivisual transaction) 정보인 NISAM와, SAM을 통해 거래된 거래금액의 총액(TOTal)을 나타내는 TOTSAM와, 거래 인증에 따른 거래 정보로서 SIGNIND 및 SIGNIND2 정보를 단말기(PDA)로 전송함으로써, 정상적인 거래를 완료한다.
-지불거래 시험부(321)-
본 실시예에 따른 지불거래 시험부(321)는 카드 단말기의 지불SAM과 교통카드의 연동 시 지불거래 처리가 정상적으로 이루어지는지 여부를 판단하는 기능을 수행한다. 이러한 기능을 수행하기 위하여, 지불거래 시험부(321)는 초기화 모듈(51) 및 거래모듈(52)을 포함하여 구성된다.
초기화 모듈(51)은 상술한 Initialize SAM Command 처리에 대한 정상동작 여부를 판단하고, 거래모듈(52)은 상술한 Credit SAM Command 처리에 대한 정상동작 여부를 판단한다. 참고로, Initialize SAM Command는 지불SAM을 초기화하고, 입수 한 카드의 정보를 활용하여 거래를 추진하고, Credit SAM Command는 거래 기록을 생성하고 거래를 종료시킨다.
초기화 모듈(51)은 상술한 Initialize SAM Command를 실행 시 전국호환 교통카드(IEP)로부터 ALGIEP, VKIEP_KDP, BALIEP, IDCENTER, IDIEP, NTIEP 및 S1 정보를 접수한 후, 단말기에 대한 기기정보인 MPDA를 포함하여 부가데이터를 지불SAM으로 전송함으로써, SAM을 초기화하고 시험결과 Initialize SAM Command에 대한 처리결과를 출력한다. 상기 부가데이터는 거래를 위한 시간정보, 관리자 정보 등 운영자의 요구에 따라 부가될 수 있는 정보이다. 그리고, 지불SAM은 카드단말기(PDA)의 SAM 초기화 요청에 응답하여, SAM의 ID 정보인 IDSAM 와, SAM의 거래 일련번호로서 NTSAM 와, SAM의 암호화 정보인 SCSAM 및 상기 ALGIEP에 기반하여 제공되는 S1 정보와 대응하는 제2 서명정보 S2를 카드 단말기로 전송하고, Initialize SAM Command에 대한 처리결과를 출력한다.
즉, 초기화 모듈은 Initialize SAM Command에 대한 처리결과 상태(Status)가 정상 처리될 경우, (9000)으로 출력되는지 여부를 판단한다. 이 외에 오류 처리될 경우, 처리결과 상태가 (6700, 6D00, 6E00, 6A81, 6A82, 6A83, 6981, 6AXX)으로 출력되는데, 해당 오류 처리에 대한 상태가 정상적으로 출력되는지 여부를 판단한다. 여기서, 6700은 Initialize SAM Command를 실행 시 잘못된 명령어의 길이가 사용된 경우이고, 6D00은 존재하지 않는 INS가 사용된 경우이며, 6E00은 존재하지 않는 CLA가 사용된 경우이고, 6A81은 잘못된 키 버전이 사용된 경우이며, 6A82는 등록되 지 않은 IDCENTER가 사용된 경우이고, 6A83은 등록되지 않은 알고리즘이 사용된 경우이며, 6981은 잘못된 서명이 사용되는 경우이고, 6AXX는 잘못된 데이터가 사용된 경우에 해당된다.
거래모듈(52)은 상술한 Credit SAM Command를 실행 시 전국호환 교통카드(IEP)로부터 접수된 제3 서명정보를 지불SAM으로 전달하고, 지불SAM은 상기 제3 서명정보 S3에 대한 인증절차를 거친 후, 인증결과에 따른 응답으로서 거래유형 정보인 TRT, 지불SAM 에서 생성한 서명키 정보로서 VKIND_KEY 와, ID 센터 정보인 IDCENTER와, 전국호환 교통카드 ID 정보인 IDEP 와, 전국호환 교통카드 거래에 대한 일련번호 정보인 NTEP와, 거래 전 전국호환 교통카드의 잔액 정보로서 BALEP와, 단말기(PDA)의 기기 정보인 MPDA와, SAM의 ID 정보인 IDSAM와, SAM의 거래 일련번호인 NTSAM와, SAM의 거래수집 일련 번호인 NCSAM와, SAM에서 발생된 개별 거래건수(Number of Indivisual transaction) 정보인 NISAM와, SAM을 통해 거래된 거래금액의 총액(TOTal)을 나타내는 TOTSAM와, 거래 인증에 따른 거래 정보로서 SIGNIND 및 SIGNIND2 정보를 단말기(PDA)로 전송함으로써, 거래 기록을 생성하고 거래를 종료하고, 시험결과 Credit SAM Command에 대한 처리결과를 출력한다.
즉, 거래모듈은 Credit SAM Command에 대한 처리결과 상태(Status)가 정상 처리될 경우, (9000)으로 출력되는지 여부를 판단한다. 이 외에 오류 처리될 경우, 처리결과 상태가 (6700, 6D00, 6E00, 6981, 6AXX)으로 출력되는데, 해당 오류 처리 에 대한 상태가 정상적으로 출력되는지 여부를 판단한다. 여기서, 6700은 상술한 Credit SAM Command를 실행 시 잘못된 명령어의 길이가 사용된 경우이고, 6D00은 존재하지 않는 INS(Instruction)가 사용된 경우이며, 6E00은 존재하지 않은 CLA(Class)가 사용된 경우이고, 6981은 잘못된 서명이 사용되는 경우이며, 6AXX는 잘못된 데이터가 사용된 경우이다.
참고로 Initailize SAM Command의 명령어 구조를 설명하면, 항목은 CLA, INS, P1, P2 Lc, Data, Le가 있고, CLA는 Class를 의미하고 설정값은 (0x80)이다. INS는 Instruction을 의미하고 설정값은 (0x02)이다. P1의 설정값은 (0x00)이고, P2의 설정값은 (0x00, 0x##)이며 Data부분과 부가데이터의 길이를 의미한다. Lc는 (0x##)이고, 데이터의 길이를 의미한다. Data는 사용 암호 알고리즘 식별자(ALGEP), 키의 버전(VKEP), 카드 내 전자화폐 잔액(BALEP), 전자화폐사 식별자(IDCENTER), 카드의 식별자(IDEP), 카드의 거래 카운터(NTEP), 인증 서명(Sign1), 거래금액(MPDA) 및 부가데이터로 이루어진다. 그리고 Le의 설정값은 (0x12)이고 응답 데이터의 길이이다.
또한 Initailize SAM Command의 응답 구조는 지불SAM의 식별자(IDSAM), 지불SAM의 거래 카운터(NTSAM), 지불SAM의 상태코드="거래중"(SCSAM), 지불SAM의 인증서명(Sign2) 및 응답상태(SW, Status Word)로 이루어진다.
또한 Initailize SAM Command의 특징을 설명하면 다음과 같다. 지불SAM이 사 용상태(0x07)일 때만 사용 가능하고, 지불SAM은 세션 키를 사용하여 명령어를 검증하고 응답 역시 세션 키를 사용하여 서명을 부가한 후 전송하며, 지불SAM의 응답은 카드에 "Purchase_SAM"명령으로 전송된다.
그리고 Credit SAM Command의 특징을 설명하면, 지불SAM은 세션 키를 사용하여 명령어를 검증하고, 응답을 개별 거래 내역키를 사용하여 서명을 부가한 후 전송하고, 지불SAM의 응답이 카드로 전송되지 않고, 단말기에서 그대로 저장하여 전체 거래를 종료시킨다.
-지불재거래 시험부(322)-
참고로, 지불재거래 처리를 설명하면, 지불 거래 수행 중 카드에서는 차감되었으나 지불 SAM으로 가치가 이동되지 못한 경우 지불 재거래를 수행해야 한다. 그리고 이를 위해 거래 전 거래 전 Application 정보조회가 선행된다.
다음으로, 카드 단말기(PDA)에서, 전국호환 교통카드로 RE Initialize CARD Command를 수행한다. 이를 설명하면, 카드 단말기(PDA)는 전국 호환카드(IEP)로 부가파일 즉, ADF를 요청하는데, 상기 ADF는 각 사와의 호환사용을 위한 Config DF로서, 부가정보의 내용을 파악한다. 이후, 카드 단말기(PDA)는 전국호환 교통카드(IEP)로 초기화를 요청한다. 그리고, 전국호환 교통카드(IEP)는 전국호환 교통카드(IEP)에 대한 알고리즘 정보인 ALGIEP와, 전국호환 교통카드(IEP)에 대한 서명키인 VKIEP_KDP와, 거래 전 전자카드의 잔액을 나타내는 정보인 BALIEP 와, ID 센터명을 나타내는 IDCENTER와, 전국호환 교통카드(IEP)의 ID 정보를 나타내는 IDIEP 와, 전국호 환 교통카드의 거래일련 번호는 나타내는 NTIEP 와, 거래되었던 전국호환 교통카드(IEP)의 ID 정보인 IDSAM_LOG 와, 거래 단말기에 대한 단말기 정보인 MPDA_LOG 와, 전국호환 교통카드(IEP)의 기 거래에 대한 전자화폐 거래 일련 번호인 NTEP_LOG 및 본 거래에 따른 서명정보 제1 서명정보 S1을 제공한다.
이후, 카드 단말기(PDA)에서, 지불SAM으로 RE Initialize SAM Command를 수행한다. 이를 설명하면, 카드 단말기(PDA)는 전국호환 교통카드(IEP)로부터 접수된 거래 정보 즉, ALGIEP, VKIEP_KDP, BALIEP, IDCENTER, IDIEP, NTIEP, MPDA_LOG, IDSAM_LOG, NTIEP_LOG, 및 S1를 포함하여, 현재 거래 기능을 수행하는 카드 단말기(PDA)의 기기정보인 MPDA 및 지불 재거래를 위한 부가데이타를 지불SAM으로 제공하며, 지불SAM의 초기화를 요청한다. 상기 지불SAM은 현재 지불 재거래를 요청한 SAM에 대한 ID 정보인 IDSAM 와, 거래 일련 번호인 NTSAM 와, SAM에 대한 암호화 정보인 SCSAM 및 상기 S1에 대한 제2 서명정보인 S2를 상기 카드 단말기(PDA)로 전송하여 초기화에 대한 응답을 수행한다.
다음으로, 카드 단말기(PDA)에서, 전국호환 교통카드로 RE Purchase CARD Command를 수행한다. 이를 설명하면, 카드 단말기(PDA)는 지불SAM으로부터 제2 서명정보를 접수함으로써, 상기 전국호환 교통카드(IEP)에 대한 지불 재거래를 요청한다. 이를 위해, 상기 카드단말기(PDA)는 지불SAM에 대한 ID 정보인 IDSAM 와, 지 불SAM의 전자화폐 거래 일련번호인 NTSAM 와, 상기 지불SAM의 암호화 정보 SCSAM 와, 제2 서명정보 S2 및 지불 재거래 요청을 위한 부가데이터를 전국 호환카드(IEP)로 전송한다.
다음으로, 카드 단말기(PDA)에서, 지불 SAM으로 RE Credit SAM Command를 수행한다. 이를 설명하면, 전국호환 교통카드(IEP)는 카드단말기(PDA)의 지불 재거래 요청에 응답하여, 제3 서명정보인 S3을 상기 단말기(PDA)로 제공하며, 상기 단말기(PDA)는 상기 제3 서명정보 S3을 지불SAM으로 전달한다. 상기 지불SAM은 상기 S3에 대한 인증절차를 거친 후, 인증결과에 따른 응답으로서 거래유형 정보인 TRT, 지불SAM 에서 생성한 서명키 정보로서 VKIND_KEY 와, ID 센터 정보인 IDCENTER와, 전국 호환카드 ID 정보인 IDEP 와, 전국 호환카드 거래에 대한 일련번호 정보인 NTEP와, 지불 재거래 전 카드에 대한 일련번호 정보인 NTEP_log 와, 거래 전 전국호환 교통카드의 잔액 정보로서 BALEP와, 카드단말기(PDA)의 기기 정보인 MPDA와, SAM의 ID 정보인 IDSAM와, SAM의 거래 일련번호인 NTSAM와, SAM의 거래수집 일련 번호인 NCSAM와, SAM에서 발생된 발행기관별 거래건수 정보인 NISAM와, SAM을 통해 거래된 거래금액의 총액을 나타내는 TOTSAM와, 거래 인증에 따른 거래 정보로서 SIGNIND 및 SIGNIND2 정보를 단말기(PDA)로 전송한다. 이후, 상기 카드단말기(PDA)는 지불SAM으로부터 제공되는 지불 재거래 정보에 대한 개별거래 내역을 등록함으로써, 정상적인 지불 재거래를 완료한다.
본 실시예에 따른 지불 재거래 시험부(322)는 카드 단말기, 지불SAM, 교통카드의 연동 거래 중 거래 중단을 포함하는 거래 오류시 지불재거래 처리가 정상적으로 이루어지는지 여부를 판단하는 기능을 수행한다. 이러한 기능을 수행하기 위하여 지불 재거래 시험부(322)는 재초기화 모듈(61) 및 재거래 모듈(62)을 포함하여 구성된다.
재초기화 모듈(61)은 상술한 RE Initialize SAM Command 처리에 대한 정상동작 여부를 판단하고, 재거래 모듈(62)은 상술한 RE Credit SAM Command 처리에 대한 정상동작 여부를 판단한다. 참고로, RE Initialize SAM Command는 직전 거래 수행중 오류 또는 비정상 종료 시, 재거래 처리를 위해 지불SAM을 초기화하고, 입수한 카드의 정보를 활용하여 재거래를 추진한다. 그리고 RE Credit SAM Command는 거래 기록을 생성하고 상태코드를 정상으로 변경한 후 거래를 종료시킨다.
재초기화 모듈(61)은 상술한 RE Initialize SAM Command를 실행 시 전국호환 교통카드(IEP)로부터 접수된 거래 정보 즉, ALGIEP, VKIEP_KDP, BALIEP, IDCENTER, IDIEP, NTIEP, MPDA_LOG, IDSAM_LOG, NTIEP_LOG, 및 제1 서명정보S1을 포함하여, 현재 거래 기능을 수행하는 카드 단말기(PDA)의 기기정보인 MPDA 및 지불 재거래를 위한 부가데이타를 지불SAM으로 제공하며, 지불SAM의 초기화를 요청한다. 상기 지불SAM은 현재 지불 재거래를 요청한 SAM에 대한 ID 정보인 IDSAM 와, 거래 일련 번호인 NTSAM 와, SAM에 대한 암호화 정보인 SCSAM 및 상기 S1에 대한 제2 서명정보인 S2를 상기 카드 단말 기(PDA)로 전송하고, RE Initialize SAM Command에 대한 처리결과를 출력한다.
즉, 재초기화 모듈은 RE Initialize SAM Command 처리 후, 카드 단말기의 출력상태(Status)가 정상 처리될 경우, (9000)으로 출력되는지 여부를 판단한다. 이 외에 오류 처리될 경우, 처리상태가 (6700, 6D00, 6E00, 6A81, 6A82, 6A83, 6981, 6AXX, 6A85, 6A86, 6A87, 6A88)로 출력되는데, 해당 오류 처리에 대한 상태가 정상적으로 출력되는지 여부를 판단한다.
여기서, 6700은 상술한 RE Initialize SAM Command를 실행 시 명령어의 길이 오류를 나타내고, 6D00은 존재하지 않는 INS가 사용된 경우이며, 6E00은 존재하지 않는 CLA가 사용된 경우이고, 6A81은 잘못된 키 버전이 사용된 경우이며, 6A82는 등록되지 않는 IDCENTER가 사용된 경우이고, 6A83은 등록되지 않은 알고리즘이 사용된 경우이며, 6981는 잘못된 서명이 사용된 경우이고, 6AXX는 잘못된 데이터가 사용된 경우이며, 6A85는 직전거래 로그(IDSAM)가 불일치 하는 경우이며, 6A86은 직전거래 로그(NTEF)가 불일치하는 경우이고, 6A87은 직전거래 로그 (MPDA)가 불일치하는 경우이며, 6A88은 직전거래 로그(IDEF)가 불일치하는 경우이다.
재거래 모듈(62)은 상술한 RE Credit SAM Command를 실행 시 이를 설명하면, 전국호환 교통카드(IEP)가 카드단말기(PDA)의 지불 재거래 요청에 응답하여, 제3 서명정보인 S3을 상기 단말기(PDA)로 제공하며, 상기 단말기(PDA)는 상기 제3 서명정보 S3을 지불SAM으로 전달한다. 상기 지불SAM은 상기 S3에 대한 인증절차를 거친 후, 인증결과에 따른 응답으로서 거래유형 정보인 TRT, 지불SAM 에서 생성한 서명 키 정보로서 VKIND_KEY 와, ID 센터 정보인 IDCENTER와, 전국 호환카드 ID 정보인 IDEP 와, 전국 호환카드 거래에 대한 일련번호 정보인 NTEP와, 지불 재거래 전 카드에 대한 일련번호 정보인 NTEP_log 와, 거래 전 전국호환 교통카드의 잔액 정보로서 BALEP와, 카드단말기(PDA)의 기기 정보인 MPDA와, SAM의 ID 정보인 IDSAM와, SAM의 거래 일련번호인 NTSAM와, SAM의 거래수집 일련 번호인 NCSAM와, SAM에서 발생된 발행기관별 거래건수 정보인 NISAM와, SAM을 통해 거래된 거래금액의 총액을 나타내는 TOTSAM와, 거래 인증에 따른 거래 정보로서 SIGNIND 및 SIGNIND2 정보를 단말기(PDA)로 전송한다. 이후, 지불SAM으로부터 제공되는 지불 재거래 정보에 대한 개별거래 내역을 등록함으로써, RE Credit SAM Command에 대한 처리결과를 출력한다.
여기서, 재거래 모듈은 RE Credit SAM Command처리결과 상태(Status)가 정상 처리될 경우, (9000)으로 출력되는지 여부를 판단한다. 이 외에 오류 처리될 경우, 처리 상태가 (6700, 6D00, 6E00, 6A83, 6981, 6AXX)로 출력되는데, 해당 오류 처리에 대한 상태가 정상적으로 출력되는지 여부를 판단한다.
여기서, 6700은 상술한 RE Credit SAM Command를 실행 시 잘못된 명령어의 길이가 사용된 경우이고, 6D00은 존재하지 않는 INS가 사용된 경우이며, 6E00은 존재하지 않는 CLA가 사용된 경우이고, 6A83은 등록되지 않은 알고리즘이 사용된 경우이며, 6981는 잘못된 서명이 사용된 경우이고, 6AXX는 잘못된 데이터가 사용되는 경우이다.
참고로 RE Initailize SAM Command의 명령어 구조를 설명하면, 항목은 CLA, INS, P1, P2 Lc, Data, Le가 있고, CLA는 Class를 의미하고 설정값은 (0x80)이다. INS는 Instruction을 의미하고 설정값은 (0x02)이다. P1의 설정값은 (0x00)이고, P2의 설정값은 (0x00, 0x##)이며 Data부분과 부가데이터의 길이를 의미한다. Lc는 (0x##)이고, 데이터의 길이를 의미한다. Data는 사용 암호 알고리즘 식별자(ALGEP), 키의 버전(VKEP), 카드 내 전자화폐 잔액(BALEP), 전자화폐사 식별자(IDCENTER), 카드의 식별자(IDEP), 카드의 거래 카운터(NTEP), 직전거래의 SAM식별자(IDSAM'), 직전거래 카드의 거래금액(MPDA-EP'), 직전 거래카드의 거래 카운트(NTEP'), 인증 서명(Sign1), 거래금액(MPDA) 및 부가데이터로 이루어진다. 그리고 Le는 설정값은 (0x12)이고 응답 데이터의 길이이다.
또한 RE Initailize SAM Command의 응답 구조는 지불SAM의 식별자(IDSAM), 지불SAM의 거래 카운터(NTSAM), 지불SAM의 상태코드="거래중"(SCSAM), 지불SAM의 인증서명(Sign2) 및 응답상태(SW, Status Word)로 이루어진다.
또한 RE Initailize SAM Command의 특징을 설명하면 다음과 같다. 지불SAM이 사용상태(0x07)일 때만 사용 가능하고, 지불SAM은 세션 키를 사용하여 명령어를 검증하고 자신의 상태코드(SCSAM)을 확인하여 "거래중"이며, 현재 카드가 직전 거래 카드와 동일한 경우, 재거래로 간주하여, 재거래 임을 응답에 포함시키고 역시 세션 키를 사용하여 서명을 부가한 후 카드에 통지하여 전자화폐의 반복 차감을 방지 한다. SAM의 응답은 카드에 "RE Purchase SAM"명령으로 전송된다.
그리고, RE Credit SAM Command의 특징을 설명하면, 지불SAM은 세션 키를 사용하여 명령어를 검증하고, SAM의 상태 코드 등을 '정상완료'로 변경한 후, 응답을 개별 거래내역 키를 사용하여 서명을 부가한 후 전송한다. SAM의 응답은 카드로 전송되지 않고, 단말기에서 그대로 저장하고 전체 거래를 종료시킨다.
-지불거래 취소 시험부(323)-
참고로, 지불거래 취소 처리를 설명하면, 카드 소지자의 요청에 따라 직전 거래를 취소할 수 있도록 함에 있다. 따라서, 거래 취소는 거래 당시 단말기로 한정하고 카드와 단말기 모두에서 직전 거래인 경우에 한정하여 수행하며, 거래전 Application 정보 조회가 선행된다.
다음으로, 카드 단말기(PDA)에서, 전국호환 교통카드로 Initialize CARD For Cancellation Command를 수행한다. 이를 설명하면, 단말기(PDA)는 전국 호환카드(IEP)로 부가파일 즉, ADF를 요청하는데, 상기 ADF는 각 사와의 호환사용을 위한 Config DF로서, 부가정보의 내용을 파악한다. 이후, S603 단계에서 상기 단말기(PDA)는 전국 호환카드(IEP)로 초기화를 요청한다. 상기 전국호환 교통카드(IEP)는 카드단말기(PDA)의 초기화 요청에 응답하여, 전국호환 교통카드(IEP)에 대한 알고리즘 정보인 ALGEP와, 전국호환 교통카드(IEP)에 대한 서명키인 VKEP와, 거래 전 전자카드의 잔액을 나타내는 정보인 BALEP 와, ID 센터명을 나타내는 IDCENTER와, 전국호환 교통카드(IEP)의 ID 정보를 나타내는 IDEP 와, 전국호환 교통카드의 거래일 련 번호는 나타내는 NTEP 와, 거래되었던 전국호환 교통카드(IEP)의 ID 정보인 IDSAM_LOG 와, 거래 단말기에 대한 단말기 정보인 MPDA_LOG 와, 전국 호환카드(IEP)의 기 거래에 대한 전자화폐 거래 일련 번호인 NTEP_LOG 및 본 거래에 따른 서명정보 제1 서명정보 S1을 카드단말기(PDA)로 제공한다.
이후, 카드단말기(PDA)에서, 지불SAM으로 Initialize SAM For Cancellation Command를 수행한다. 이를 설명하면, 카드 단말기는 전국호환 교통카드(IEP)로부터 접수한 거래정보 즉, ALGEP, VKEP, BALEP, IDCENTER, IDEP, NTEP, IDSAM_LOG, MPDA_LOG, NTEP_LOG, S1 정보를 포함하여, 현재의 단말기 정보인 MPDA 및 거래 취소를 위한 부가데이터를 지불SAM으로 전송한다. 이는 거래 취소를 위한 SAM의 초기화를 요구하는 것으로, 상기 지불SAM은 SAM에 대한 ID 정보 IDSAM, 전자화폐 거래 일련번호 NTSAM, SAM의 암호화 정보 SCSAM 및 제2 서명정보 S2 값으로서, SAM 초기화 요구에 응답한다.
다음으로, 카드 단말기에서, 전국호환 교통카드로 Cancellation CARD Command를 수행한다. 이를 설명하면, 카드단말기(PDA)는 지불SAM에서 제공되는 응답신호인 IDSAM, NTSAM, SCSAM, S2를 포함하여, 거래취소를 용인하기 위한 부가데이터를 전국 호환카드(IEP)로 전송한다.
다음으로, 카드 단말기에서 지불SAM으로 Cancellation SAM Command를 수행하여 지불SAM으로 기 거래된 SAM 정보를 취소토록 요청한다. 지불SAM은 카드단말 기(PDA)의 SAM 정보 취소 요청에 응답하여 거래 유형정보 TRT, 개별거래에 따른 서명 키 버전정보 VKIND_KEY, ID 센터 정보 IDCENTER, 전자화폐 ID 정보 IDEP, 기 거래되었던 전자화폐 거래일련 번호 NTEP_LOG, 전자화폐의 잔액정보 BALEP, 단말기 기기 정보 MPDA, SAM ID 정보 IDSAM, SAM 거래 일련번호 NTSAM, SAM 거래수집 일련 번호 NCSAM, SAM에 대한 거래 건수 정보 NISAM, 거래 금액 정보 TOTSAM, 개별 서명정보 SIGNIND, SIGNIND2를 카드단말기(PDA)로 제공함으로써, 거래 승인 및 완료를 통지한다. 이후, 단말기(PDA)는 개별거래에 대한 내역을 등록 관리하여 거래 취소 절차를 종료한다.
지불거래 취소 시험부(323)는 카드 단말기와 교통카드 연동 거래시 정상적인 지불 거래 후 직전 거래 취소가 정상적으로 이루어지는지 여부를 판단하는 기능을 수행한다. 이러한 기능을 수행하기 위하여 지불거래 취소 시험부(323)는 거래취소 초기화 모듈(71) 및 취소 모듈(72)을 포함하여 구성된다.
거래취소 초기화 모듈(71)은 상술한 Initialize SAM For Cancellation Command 처리에 대한 정상동작 여부를 판단하고, 취소 모듈(72)은 상술한 Cancellation SAM Command 처리에 대한 정상동작 여부를 판단한다. 참고로, Initialize SAM For Cancellation Command는 직전거래를 취소하기 위해 지불SAM을 초기화하고, Cancellation SAM Command는 직전거래 기록을 소거하고 상태코드를 정상으로 변경한 후 거래를 종료시킨다.
거래취소 초기화 모듈(71)은 상술한 Initialize SAM For Cancellation Command를 실행 시 전국호환 교통카드(IEP)로부터 접수한 거래정보 즉, ALGEP, VKEP, BALEP, IDCENTER, IDEP, NTEP, IDSAM_LOG, MPDA_LOG, NTEP_LOG, S1 정보를 포함하여, 현재의 단말기 정보인 MPDA 및 거래 취소를 위한 부가데이터를 지불SAM으로 전송한다. 이는 거래 취소를 위한 SAM의 초기화를 요구하는 것으로, 상기 지불SAM은 SAM에 대한 ID 정보 IDSAM, 전자화폐 거래 일련번호 NTSAM, SAM의 암호화 정보 SCSAM 및 제2 서명정보 S2 값으로서, SAM 초기화 요구에 응답하고, Initialize SAM For Cancellation Command에 대한 처리결과 상태를 출력한다.
즉 거래취소 초기화 모듈은 Initialize SAM For Cancellation Command 처리 후, Initialize SAM For Cancellation Command 처리상태(Status)가 정상 처리될 경우, (9000)으로 출력되는지 여부를 판단한다. 이 외에 오류 처리될 경우, 처리상태가 (6700, 6D00, 6E00, 6A81, 6A82, 6A83, 6981, 6AXX, 6A85, 6A86, 6A87, 6A88)로 출력되는데, 해당 오류 처리에 대한 상태가 정상적으로 출력되는지 여부를 판단한다.
여기서, 6700은 상술한 RE Initialize SAM Command를 실행 시 명령어의 길이 오류를 나타내고, 6D00은 존재하지 않는 INS가 사용된 경우이며, 6E00은 존재하지 않는 CLA가 사용된 경우이고, 6A81은 잘못된 키 버전이 사용된 경우이며, 6A82는 등록되지 않는 IDCENTER가 사용된 경우이고, 6A83은 등록되지 않은 알고리즘이 사용된 경우이며, 6981는 잘못된 서명이 사용된 경우이고, 6AXX는 잘못된 데이터가 사용된 경우이며, 6A85는 직전거래 로그(IDSAM)가 불일치 하는 경우이며, 6A86은 직전거래 로그(NTEF)가 불일치하는 경우이고, 6A87은 직전거래 로그 (MPDA)가 불일치하는 경우이며, 6A88은 직전거래 로그(IDEF)가 불일치하는 경우이다.
취소 모듈(72)은 상술한 Cancellation SAM Command를 실행 시 정상적인 데이터인 지불SAM에 대한 ID 정보인 IDSAM 와, SAM의 거래 일련번호로서 NTSAM 와, SAM의 암호화 정보인 SCSAM 및 상기 ALGIEP에 기반하여 제공되는 S1 정보와 대응하는 제2 서명정보 S2와 시험결과 Cancellation SAM Command 처리에 대한 출력여부를 판단한다.
여기서, 취소 모듈은 Cancellation SAM Command 처리결과 상태(Status)가 정상 처리될 경우, (9000)으로 출력되는지 여부를 판단한다. 이 외에 오류 처리될 경우, 처리결과 상태가 (6700, 6D00, 6E00, 6AXX)로 출력되는데, 해당 오류 처리에 대한 상태가 정상적으로 출력되는지 여부를 판단한다. 여기서, 6E00은 상술한 Cancellation SAM Command를 실행 시 잘못된 명령어의 길이가 사용된 경우이고, 6D00은 존재하지 않는 INS가 사용된 경우이며, 6E00은 존재하지 않는 CLA가 사용된 경우이고, 6AXX는 잘못된 데이터가 사용된 경우이다.
또한, 보안 시험수단(330)은 카드 단말기, 지불SAM 및 교통카드의 연동시 주요 기능인 지불거래, 지불재거래, 지불거래 취소 각각에 대한 프로토콜 보안적합성 여부를 판단하는 기능을 한다. 본 실시예에 따른 보안 시험수단은 주요 기능인 지불거래, 지불재거래, 지불거래 취소 각각에 대한 KS X 6923에 규정된 프로토콜 보안 시험 규격에 따른다. 본 실시예에 따른 KS X 6923 보안 시험 규격은 공지된 규격임에 따라 본 발명에서는 이에 대한 설명을 생략하기로 한다.
또한, 데이터베이스(340)는 각 시험수단의 기준이 되는 데이터를 설정하여 저장한다.
그리고 제어수단(350)은 물리 시험수단(310), 기능 시험수단(320), 보안 시험수단(330)을 통해 측정 및 판단결과를 데이터베이스(340)에 기설정된 기준데이터와 비교하여 디스플레이 또는 음성/음향으로 출력하도록 하는 기능을 수행한다.
한편, 상술한 호환형 지불SAM 적합성 평가 시스템을 이용한 평가방법(이하, "호환형 지불SAM 적합성 평가방법"이라 함)에 대하여 도 3을 참조하여 설명하면 다음과 같다.
도 3은 본 발명의 일실시예에 따른 호환형 지불SAM 적합성 평가방법의 전체 흐름도이다.
도 3에 도시된 바와 같이, 지불SAM 시험기는 지불SAM의 규격을 시험측정한다(S2).
다음으로, 지불SAM의 전기적 기능을 시험측정하고 정상 동작여부를 시험측정한다(S4).
다음으로, 외부로부터 상기 지불SAM에 가해지는 충격, 화학물질, 온습도, 자 외선에 대한 내성을 시험측정한다(S6). 여기서, 지불SAM의 전기적 기능 시험측정에 대한 설명은 앞서 기술하였으므로 이에 대한 설명은 생략하기로 한다. 그리고 외부로부터 지불SAM에 가해지는 충격, 화학물질, 온습도, 자외선에 대한 내성을 시험측정한다고 하였지만, 외부로부터 가해지는 충격, 화학물질, 온습도, 자외선에 따른 지불SAM 동작여부를 시험측정하여 그 결과를 데이터형태로 저장할 수 있음은 물론이다.
다음으로, 지불SAM이 내장된 카드 단말기에 교통카드를 접촉하여 지불거래에 대한 명령의 정상처리 또는 오류처리 상태(Status)를 판단한다(S8). 여기서, 지불거래 중 오류발생 후, 지불재거래를 수행하여 지불재거래에 대한 정상처리 또는 오류처리 상태(Status)를 판단하고, 지불거래 후, 지불거래 취소요청에 따라 지불 취소 거래를 수행하여 지불 취소 거래에 대한 정상처리 또는 오류처리 상태(Status)를 판단한다.
다음으로, 카드 단말기와 교통카드의 연동 시 지불거래 기능에 대한 프로토콜 보안적합성 여부를 판단한다(S10). 그리고 시험측정 및 판단결과를 기설정된 기준데이터와 비교하여 출력하도록 한다(S12).
도 4는 본 발명의 일실시예에 따른 지불SAM의 지불거래 시험과정의 상세 흐름도이다.
도 4에 도시된 바와 같이, 지불SAM의 지불거래 시험과정을 설명하면, 지불SAM 시험기는 카드 단말기가 지불SAM으로 초기화 명령을 전송하도록 한다(S22).
다음으로, 지불SAM으로부터 상기 지불SAM의 ID 정보인 IDSAM 와, SAM의 거래 일련번호로서 NTSAM 와, SAM의 암호화 정보인 SCSAM 및 서명정보S2를 포함하는 응답데이터를 수신하여 초기화 명령(Initialize SAM Command)에 대한 정상처리 또는 오류처리 상태(Status)를 판단한다(S24).
다음으로, 지불SAM으로 지불거래 명령(Credit SAM Command)를 전송하여 거래기록을 생성한다(S26).
그리고, 지불SAM의 지불거래 명령에 대한 정상처리 또는 오류처리 상태(Status)를 판단한다(S28).
도 5는 본 발명의 일실시예에 따른 지불SAM의 지불재거래 시험과정의 상세 흐름도이다.
도 5에 도시된 바와 같이, 교통카드의 지불재거래 시험과정을 설명하면, 지불SAM 시험기는 카드 단말기가 지불SAM으로 재초기화 명령을 전송하도록 한다(S32).
다음으로, 지불SAM으로부터 상기 지불SAM의 ID 정보인 IDSAM 와, SAM의 거래 일련번호로서 NTSAM 와, SAM의 암호화 정보인 SCSAM 및 서명정보S2를 포함하는 응답데이터를 수신하여 재초기화 명령(Initialize SAM Command)에 대한 정상처리 또는 오류처리 상태(Status)를 판단한다(S34).
다음으로, 지불SAM으로 지불재거래 명령(Credit SAM Command)를 전송하여 지불거래 정보에 대한 개별거래 내역을 등록한다(S36).
그리고, 지불SAM의 지불재거래 명령에 대한 정상처리 또는 오류처리 상태(Status)를 판단한다(S38).
도 6는 본 발명의 일실시예에 따른 지불SAM의 지불거래 취소 시험과정의 상세 흐름도이다.
도 6에 도시된 바와 같이, 지불SAM의 지불거래 취소 시험과정을 설명하면, 지불SAM 시험기는 카드 단말기를 통해 지불SAM으로 거래취소 초기화 명령(Initialize SAM For Cancellation Command)을 전송하도록 한다(S42).
다음으로, 지불SAM으로부터 상기 지불SAM의 ID 정보인 IDSAM 와, SAM의 거래 일련번호로서 NTSAM 와, SAM의 암호화 정보인 SCSAM 및 서명정보S2를 포함하는 응답데이터를 수신하여 상기 거래취소 초기화 명령에 대한 정상처리 또는 오류처리 상태(Status)를 판단한다(S44).
다음으로, 지불SAM으로 취소명령(Cancellation SAM Command)를 전송하여 직전거래 기록을 소거하고 상태코드를 정상으로 변경한 후 거래를 종료한다(S46).
그리고, 취소 명령에 대한 정상처리 또는 오류처리 상태(Status)를 판단한다(S48).
이상으로 본 발명의 기술적 사상을 예시하기 위한 바람직한 실시예와 관련하여 설명하고 도시하였지만, 본 발명은 이와 같이 도시되고 설명된 그대로의 구성 및 작용에만 국한되는 것이 아니며, 기술적 사상의 범주를 일탈함이 없이 본 발명에 대해 다수의 변경 및 수정이 가능함을 당업자들은 잘 이해할 수 있을 것이다. 따라서, 그러한 모든 적절한 변경 및 수정과 균등물들도 본 발명의 범위에 속하는 것으로 간주되어야 할 것이다.