이하 첨부된 도면과 설명을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 다만, 하기에 도시되는 도면과 후술되는 설명은 본 발명의 특징을 효과적으로 설명하기 위한 여러 가지 방법 중에서 바람직한 실시 방법에 대한 것이며, 본 발명이 하기의 도면과 설명만으로 한정되는 것은 아니다. 예를들어, 서버 측에 구비된 구성부가 단말 측에 구현되거나, 반대로 단말 측에 구비된 구성부가 서버 측에 구현되는 형태로 실시되는 것이 가능하다.
또한, 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 발명에서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
결과적으로, 본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
도면1은 본 발명의 실시 방법에 따른 분산 처리 기반 IC칩(140) 제어를 무선단말(100)의 구성을 도시한 도면이다.
보다 상세하게 본 도면1은 무선단말(100)에 인터페이스되는 IC칩(140)을 제어하는 프로그램코드를 무선단말 측과 서버 측에 분산 구현하는 실시예를 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면1을 참조 및/또는 변형하여 상기 무선단말(100) 기능에 대한 다양한 실시 방법을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면1에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다. 바람직하게, 본 도면1의 무선단말(100)은 각종 스마트폰, 태블릿PC, PDA 및 휴대폰 중 적어도 하나를 포함할 수 있다.
도면1을 참조하면, 상기 무선단말(100)은, 제어부(105)와 메모리부(165)와 화면 출력부(110)와 사용자 입력부(115)와 사운드 처리부(120)와 무선망 통신부(160)와 근거리망 통신부(155)와 NFC부(130)와 USIM 리더부(135) 및 USIM(150)를 구비하며, 전원 공급을 위한 배터리를 구비한다.
상기 제어부(105)는 상기 무선단말(100)의 동작을 제어하는 구성의 총칭으로서, 적어도 하나의 프로세서와 실행 메모리를 포함하여 구성되며, 상기 무선단말(100)에 구비된 각 구성부와 버스(BUS)를 통해 연결된다. 본 발명에 따르면, 상기 제어부(105)는 상기 프로세서를 통해 상기 무선단말(100)에 구비되는 적어도 하나의 프로그램코드를 상기 실행 메모리에 로딩하여 연산하고, 그 결과를 상기 버스를 통해 적어도 하나의 구성부로 전달하여 상기 무선단말(100)의 동작을 제어한다.
상기 메모리부(165)는 상기 무선단말(100)에 구비된 비휘발성 메모리의 총칭으로서, 상기 제어부(105)를 통해 실행되는 적어도 하나의 프로그램코드와, 상기 프로그램코드가 이용하는 적어도 하나의 데이터셋트를 저장하여 유지한다. 상기 메모리부(165)는 기본적으로 상기 무선단말(100)의 운영체제에 대응하는 시스템프로그램코드와 시스템데이터셋트, 상기 무선단말(100)의 무선 통신 연결을 처리하는 통신프로그램코드와 통신데이터셋트 및 적어도 하나의 응용프로그램코드와 응용데이터셋트를 저장하며, 본 발명의 단말 측 앱(200)에 대응하는 프로그램코드와 데이터셋트도 상기 메모리부(165)에 저장되며, 상기 단말 측 앱(200)이 실행된 경우 상기 단말 측 앱(200)은 상기 제어부(105)로 로딩된다.
상기 화면 출력부(110)는 화면출력기(예컨대, LCD(Liquid Crystal Display) 등)와 이를 구동하는 구동 모듈로 구성되며, 상기 제어부(105)와 연동되어 상기 제어부(105)의 각종 연산 결과 중 화면 출력에 대응하는 연산 결과를 상기 화면출력 장치로 출력한다.
상기 사용자 입력부(115)는 하나 이상의 사용자입력기(예컨대, 버튼, 키패드, 터치패드, 화면 출력부(110)와 연동하는 터치스크린 등)와 이를 구동하는 구동 모듈로 구성되며, 상기 제어부(105)와 연동되어 상기 제어부(105)의 각종 연산을 명령하는 명령을 입력하거나, 또는 상기 제어부(105)의 연산에 필요한 데이터를 입력한다.
상기 사운드 처리부(120)는 스피커 및 마이크로폰과 이를 구동하는 구동 모듈로 구성되며, 상기 제어부(105)와 연동되어 상기 제어부(105)의 각종 연산 결과 중 사운드 출력에 대응하는 연산 결과를 디코딩(Decoding)하여 상기 스피커를 통해 출력하거나, 또는 상기 마이크로폰을 통해 입력되는 사운드 신호를 엔코딩(Encoding)하여 상기 제어부(105)로 전달한다.
상기 무선망 통신부(160)는 상기 무선단말(100)을 기지국을 경유하는 무선 통신망에 접속시키는 통신 구성부의 총칭으로서, 특정 주파수 대역의 무선 주파수 신호를 송수신하는 안테나, RF모듈, 기저대역모듈, 신호처리모듈을 적어도 하나 포함하여 구성되며, 상기 제어부(105)와 연결되어 상기 제어부(105)의 각종 연산 결과 중 무선 통신에 대응하는 연산 결과를 무선 통신망을 통해 전송하거나 또는 무선 통신망을 통해 데이터를 수신하여 상기 제어부(105)로 전달함과 동시에, 상기 무선 통신의 접속, 등록, 통신, 핸드오프의 절차를 수행한다. 바람직하게, 상기 무선망 통신부(160)는 CDMA/WCDMA/LTE 규격에 따라 이동 통신망에 접속, 위치등록, 호처리, 통화연결, 데이터통신, 핸드오프를 적어도 하나 수행하는 이동 통신 구성을 포함한다.
상기 근거리망 통신부(155)는 일정 거리 이내(예컨대, 10m)에서 무선 주파수 신호를 통신매체로 이용하여 통신세션을 연결하고 이를 기반으로 상기 무선단말(100)을 통신망에 접속시키는 통신 구성부의 총칭으로서, 바람직하게는 와이파이 통신, 블루투스 통신, 공중무선 통신, UWB 중 적어도 하나를 통해 상기 무선단말(100)을 통신망에 접속시킬 수 있다.
상기 NFC부(130)는 근접 거리(예컨대, 10cm 내외)에서 무선 주파수 신호를 통신매체로 이용하여 양방향 근접 무선 통신, 전이중 근접 무선 통신, 반이중 근접 무선 통신 중 하나 이상의 근접 무선 통신을 처리하는 구성부의 총칭으로서, 바람직하게 13.56Mz 주파수 대역의 NFC(Near Field Communication) 규격에 따라 근접 무선 통신을 처리할 수 있다.
본 발명의 실시 방법에 따르면, 상기 NFC부(130)는 무선단말(100) 외부의 카드(145)에 내장된 IC칩(140)(예컨대, 사용자가 소지한 비접촉 IC카드(145), 콤비카드(145), NFC카드(145) 등의 칩)과 비접촉 인터페이스하는 인터페이스부(125)의 기능을 구현한다.
상기 USIM 리더부(135)는 ISO/IEC 7816 규격을 기반으로 상기 무선단말(100)에 탑재 또는 이탈착되는 범용가입자식별모듈(Universal Subscriber Identity Module)과 적어도 하나의 데이터셋트를 교환하는 구성의 총칭으로서, 상기 데이터셋트는 APDU(Application Protocol Data Unit)를 통해 반이중 통신 방식으로 교환된다.
상기 USIM(150)은 상기 ISO/IEC 7816 규격에 따른 IC칩(140)이 구비된 SIM 타입의 매체로서, 상기 USIM 리더부(135)와 연결되는 적어도 하나의 접점을 포함하는 입출력 인터페이스와, 적어도 하나의 칩용 프로그램코드와 데이터셋트를 저장하는 칩 메모리와, 상기 입출력 인터페이스와 연결되어 상기 무선단말(100)로부터 전달되는 적어도 하나의 명령에 따라 상기 칩용 프로그램코드를 연산하거나 상기 데이터셋트를 추출(또는 가공)하여 상기 입출력 인터페이스로 전달하는 프로세서를 포함하여 이루어진다.
본 발명의 실시 방법에 따르면, 상기 USIM 리더부(135)는 상기 USIM(150)의 IC칩(140)과 인터페이스하는 인터페이스부(125)의 기능을 구현한다.
본 발명의 실시 방법에 따르면, 상기 무선단말(100)은 지정된 앱 제공 서버(예컨대, 애플사의 앱스토어 등)로부터 상기 IC칩(140)(예컨대, 사용자가 소지한 카드(145)의 IC칩(140) 및/또는 USIM(150)의 IC칩(140) 등)을 제어하는 단말 측 앱(200)을 다운로드하여 설치하며, 상기 단말 측 앱(200)은 지정된 절차에 따라 구동된다.
상기 단말 측 앱(200)은 상기 근거리망 통신부(155) 및/또는 무선망 통신부(160)를 통해 지정된 서버(170)에 구비된 서버 측 앱(245)과 통신하며, 상기 단말 측 앱(200)은 상기 인터페이스부(125)를 통해 무선단말(100)에 인터페이스된 IC칩(140)을 제어하는 애플리케이션(Application, 이하 편의상 “앱”이라고도 함.)의 일 측을 구현하며, 상기 서버 측 앱(245)은 상기 인터페이스부(125)를 통해 무선단말(100)에 인터페이스된 IC칩(140)을 제어하는 애플리케이션의 다른 일 측을 구현한다.
도면2는 본 발명의 실시 방법에 따른 단말 측 앱(200)과 서버 측 앱(245)을 기능 구성을 도시한 도면이다.
보다 상세하게 본 도면2는 무선단말(100)에 인터페이스된 IC칩(140)을 제어하기 위해 설치 실행되는 단말 측 앱(200)과, 지정된 서버 측에 구비되는 서버 측 앱(245)의 기능적 구성을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면2를 참조 및/또는 변형하여 상기 단말 측 앱(200)과 서버 측 앱(245)의 기능 구성에 대한 다양한 실시 방법(예컨대, 일부 구성부가 생략되거나, 또는 세분화되거나, 또는 합쳐진 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면2에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
본 발명에 따르면, 무선단말(100)의 인터페이스부(125)를 통해 상기 무선단말(100)에 인터페이스되는 IC칩(140)을 제어하는 애플리케이션은, 상기 IC칩(140)과 인터페이스하는 무선단말(100)에 설치 실행되는 단말 측 앱(200)과, 상기 무선단말(100)과 통신하는 서버 측에 구비되는 서버 측 앱(245)으로 분산 구현되는 것을 특징으로 한다.
도면2를 참조하면, 상기 단말 측 앱(200)은, 무선단말(100)에 인터페이스되는 IC칩(140)을 제어하기 위해 서버 측에 분산 구현된 서버 측 앱(245)과 원격으로 연동 결합하는 절차를 수행하는 단말 측 연동부(205)를 구비하며, 상기 서버 측 앱(245)은, 상기 IC칩(140)과 인터페이스될 무선단말(100)에 구비된 단말 측 앱(200)과 원격으로 연동 결합하는 절차를 수행하는 서버 측 연동부(250)를 구비한다.
상기 단말 측 앱(200)이 최초 구동(또는 단말 측 앱(200)과 서버 측 앱(245) 간 원격 결합 전 구동) 시, 상기 단말 측 앱(200)의 단말 측 연동부(205)는 상기 서버 측 앱(245)이 구비된 서버(170)와 통신하여 상기 서버 측에 구비된 서버 측 앱(245)과 앱 간 통신을 위한 보안세션을 형성하고, 상기 서버 측 앱(245)의 서버 측 연동부(250)는 상기 단말 측 앱(200)과 앱 간 통신을 위한 보안세션을 형성한다. 여기서, 상기 단말 측 앱(200)과 서버 측 앱(245) 간 보안세션은 단일 단말 내의 내부 프로세스 간 통신(Inter-Process Communication)을 통신망을 경유하는 단말 측 앱(200)과 서버 측 앱(245) 사이의 프로세스 간 통신으로 확장하는 세션이다. 프로세스 간 통신에서 허락되지 않은 프로세스는 통신에 접근하지 못하도록 차단되는데, 상기 보안세션은 상기 단말 측 앱(200)과 서버 측 앱(245) 외에 제3자가 상기 세션에 접근하지 않도록 차단하는 기능을 구현한다. 예를들어, 상기 단말 측 앱(200)과 서버 측 앱(245)은 터널링 방식 등을 이용하여 보안세션을 형성할 수 있다.
본 발명의 실시 방법에 따르면, 상기 단말 측 앱(200)과 서버 측 앱(245)은 상기 보안세션이 형성된 상태에서 등위간 통신 구조로 결합되는 것이 바람직하며, 이를 위해 상기 단말 측 앱(200)은 주기적으로 서버 측 앱(245)으로 정보요청신호(예컨대, 하기의 단말 측 식별값을 포함하는 신호)를 전송하여 등위간 통신 구조로 결합될 수 있다. 즉, 통상의 클라이언트서버 구조에서는 단말 측에서 서버 측으로 정보를 전송하면 그 결과로서 서버 측에서 서비스 제공을 위한 정보를 단말 측으로 제공하는 구조인데, 본 발명의 단말 측 앱(200)과 서버 측 앱(245)은 등위간 통신으로 결합(예컨대, 단말 측 앱(200)에서 서버 측 앱(245)으로 주기적으로 정보요청신호를 전송)됨으로써, 단말 측의 요청 없이 서버 측에서 단말 측으로 명령데이터를 제공할 수 있다. 예를들어, 상기 단말 측 앱(200)의 요청 없이 서버 측 앱(245)에서 IC칩(140)으로 명령데이터를 주입하고자 하는 경우, 상기 서버 측 앱(245)에서 IC칩(140)으로 주입할 명령데이터를 구성하여 하기의 단말 측 식별값과 매핑 하면, 상기 단말 측 앱(200)의 정보요청신호에 의해 상기 명령데이터가 상기 단말 측 앱(200)으로 제공될 수 있다.
상기 단말 측 앱(200)과 서버 측 앱(245) 간 보안세션이 형성되면, 상기 단말 측 연동부(205)는 상기 단말 측 앱(200)이 설치 실행되는 무선단말(100)(예컨대, 무선단말(100)의 하드웨어적 구성 및/또는 무선단말(100)의 소프트웨어적 구성 등)을 고유 식별함과 동시에 상기 무선단말(100)에 설치된 단말 측 앱(200)의 소프트웨어적 구성을 동시에 식별하는 단말 측 식별값을 구성하여 상기 보안세션을 통해 상기 서버 측 앱(245)으로 전송한다. 예를들어, 상기 단말 측 식별값은 상기 단말 측 앱(200)에 대한 UUID(Universally Unique IDentifier) 또는 UDID(Universally Unique Identifier) 등과 같은 각종 범용 식별자 중 적어도 하나의 식별자를 포함할 수 있으며, 또는 상기 무선단말(100)과 단말 측 앱(200)을 동시에 식별하기 위해 별도 정의된 식별코드를 포함할 수 있다. 즉, 내부 프로세스 간 통신에서는 PID(Process ID)를 통해 통신하는 각각의 프로세스를 식별하는데, 본 발명에서는 상기 단말 측 식별값을 통해 무선단말(100)에 설치 실행된 단말 측 앱(200)에 대응하는 프로세스를 식별한다. 다만 내부 프로세스 간 통신의 PID는 단말까지 식별하지 않지만, 본원의 단말 측 식별값은 상기 무선단말(100)에 설치 실행된 단말 측 앱(200)을 고유 식별함과 동시에 단말 측 앱(200)이 실행된 무선단말(100)을 고유 식별함을 특징으로 한다.
상기 서버 측 연동부(250)는 상기 단말 측 앱(200)으로부터 상기 단말 측 식별값을 수신하여 지정된 저장매체에 저장함으로써, IC칩(140)이 인터페이스되는 무선단말(100)에 설치 실행된 단말 측 앱(200)을 고유 식별할 수 있다.
본 발명의 실시 방법에 따르면, 상기 단말 측 연동부(205)는 상기 단말 측 식별값 외에 상기 단말 측 앱(200)이 설치된 무선단말(100)에 기 설정된 무선단말(100)의 고유정보(예컨대, 전화번호, IMSI(International Mobile Subscriber Identity), IMEI(International Mobile Equipment Identity) 등)를 전송할 수 있으며, 상기 서버 측 연동부(250)는 상기 단말 측 앱(200)으로부터 상기 무선단말(100)의 고유정보를 수신하여 지정된 저장매체에 저장할 수 있다.
본 발명의 실시 방법에 따르면, 상기 IC칩(140)이 상기 단말 측 앱(200)이 실행된 무선단말(100)에 인터페이스된 경우, 상기 단말 측 앱(200)의 단말 측 연동부(205)는 상기 인터페이스된 IC칩(140)으로부터 수신된 IC칩(140)정보를 확인할 수 있다. 여기서, 상기 IC칩(140)정보는 서버 측 앱(245)을 통해 생성된 명령데이터를 이용하지 않고도 상기 IC칩(140)으로부터 제공받을 수 있는 정보 중에서 상기 IC칩(140)을 식별하는 정보를 포함한다. 예를들어, 상기 IC칩(140) 정보는 ATR(Answer To Reset)에 포함되는 정보 또는 상기 IC칩(140)의 일련번호 등을 포함할 수 있다. 상기 IC칩(140)으로부터 상기 IC칩(140)정보가 수신된 경우, 상기 단말 측 연동부(205)는 상기 서버 측 앱(245)으로 상기 IC칩(140)정보를 전송할 수 있으며, 상기 서버 측 연동부(250)는 상기 단말 측 앱(200)으로부터 상기 IC칩(140)정보를 수신하여 지정된 저장매체에 저장할 수 있다.
상기 서버 측 연동부(250)는 상기 IC칩(140)으로 주입될 명령데이터(예컨대, APDU(Application Protocol Data Unit) 명령)를 암호화하기 위한 암호화키를 생성하거나, 및/또는 상기 단말 측 앱(200)과 지정된 정보 교환 절차를 수행하여 상기 암호화키를 결정하고, 상기 생성/결정된 암호화키를 지정된 저장매체에 저장할 수 있다. 만약 상기 무선단말(100)에 인터페이스된 IC칩(140)으로부터 수신된 IC칩(140)정보가 확인된 경우, 상기 서버 측 연동부(250)는 상기 IC칩(140)정보를 이용하여 상기 암호화키를 생성하거나 또는 지정된 데이터베이스로부터 상기 IC칩(140)정보와 매핑된 암호화키(및/또는 복호화키)를 확인할 수 있다. 한편 본 발명의 다른 실시 방법에 따르면, 상기 단말 측 앱(200)과 서버 측 앱(245)은 상기 무선단말(100)에 인터페이스된 IC칩(140)으로 명령데이터를 주입하는 시점에 지정된 정보 교환 절차를 거쳐 상기 명령데이터를 암호화할 암호화키를 교환할 수 있으며, 이 경우 상기 서버 측 연동부(250)는 상기 암호화키를 미리 생성/결정하여 저장매체에 저장하지 않더라도 무방하다.
본 발명의 실시 방법에 따르면, 상기 암호화키가 생성/결정되면, 상기 서버 측 연동부(250)는 상기 암호화되는 명령데이터를 복호화하기 위한 복호화키를 포함하는 복호화정보를 구성하여 상기 단말 측 앱(200)으로 제공할 수 있다. 만약 상기 암호화키가 상기 단말 측 앱(200)과 서버 측 앱(245) 간의 정보 교환 절차를 통해 결정되어 상기 단말 측 앱(200)에 상기 서버 측의 암호화키와 매칭되는 복호화키가 결정된 경우, 상기 서버 측 연동부(250)는 상기 단말 측 앱(200)으로 상기 복호화정보를 제공하지 않더라도 무방하다.
본 발명의 제1 암/복호 방식에 따라 상기 서버 측 앱(245)에서 암호화하여 제공한 명령데이터를 상기 단말 측 앱(200)에서 복호화하는 경우, 상기 단말 측 연동부(205)는 상기 서버 측 앱(245)으로부터 수신된 복호화정보에 포함된 복호화키를 확인(또는 서버 측 앱(245)과의 지정된 정보 교환 절차를 거쳐 결정된 복호화키를 확인)하고, 상기 복호화키를 지정된 암호화 방식에 따라 암호화하여 무선단말(100)의 메모리부(165)에 저장할 수 있다.
본 발명의 제2 암/복호 방식에 따라 상기 서버 측 앱(245)에서 암호화하여 제공한 명령데이터를 상기 무선단말(100)에 인터페이스된 IC칩(140)에서 복호화하는 경우, 상기 복호화정보는 상기 복호화키를 상기 IC칩(140)으로 주입하여 IC칩(140) 내에 설정하기 위한 명령데이터를 포함(단, 상기 단말 측 앱(200)에서 상기 복호화키를 상기 IC칩(140)으로 주입하는 명령데이터를 생성 가능한 경우 생략 가능)할 수 있다. 상기 단말 측 연동부(205)는 상기 서버 측 앱(245)으로부터 수신된 복호화정보에 포함된 복호화키를 확인(또는 서버 측 앱(245)과의 지정된 정보 교환 절차를 거쳐 결정된 복호화키를 확인)하고, 상기 복호화정보에 포함된 명령데이터(또는 단말 측 앱(200)에서 생성된 명령데이터)를 근거로 상기 복호화키를 상기 IC칩(140)으로 주입하여 상기 IC칩(140) 내의 지정된 저장영역에 기록하게 처리할 수 있다. 한편 상기 IC칩(140) 내에서 상기 명령데이터를 복호화하더라도 상기 IC칩(140) 내에서 상기 복호화키를 생성 가능한 경우, 상기 복호화키를 상기 IC칩(140)으로 주입하지 않더라도 무방하며, 실시 방법에 따라 상기 IC칩(140) 내에서 상기 복호화키를 생성하기 위한 키값을 확인(또는 서버 측 앱(245)으로부터 수신)하여 상기 IC칩(140)으로 주입할 수 있다.
상기 서버 측 연동부(250)는 상기 단말 측 앱(200)과 원격으로 결합하는 과정 중에 상기 단말 측 앱(200)의 무결성을 검증하기 위한 무결성 검증규칙을 설정한다. 바람직하게, 상기 무결성 검증규칙은 상기 단말 측 식별값과 매핑될 수 있다.
본 발명의 실시 방법에 따르면, 상기 단말 측 앱(200)은 무결성 검증을 위해 상기 단말 측 앱(200)(또는 단말 측 앱(200)을 구성하는 구성부의 적어도 일부)를 엔코딩하거나 또는 지정된 해시알고리즘을 통해 해시한 값을 포함하는 무결성검증값을 생성하여 전송하거나, 또는 상기 단말 측 앱(200)(또는 단말 측 앱(200)을 구성하는 구성부의 적어도 일부)과 함께 상기 무선단말(100)의 메모리부(165)에 저장된 고유정보, 상기 무선단말(100)에 인터페이스된 IC칩(140)으로부터 추출된 추출정보, 상기 무선단말(100)에서 동적으로 결정된 동적정보 중 적어도 하나를 엔코딩하거나 또는 지정된 해시알고리즘을 통해 해시한 값을 포함하는 무결성검증값을 생성하여 전송할 수 있는데, 상기 서버 측 연동부(250)는 상기 단말 측 앱(200)(또는 상기 단말 측 앱(200)에 대한 정보를 저장하는 데이터베이스)와 연동하여 상기 단말 측 앱(200)에서 생성할 무결성검증값과 비교(또는 지정된 검증연산을 수행하여 예측된 결과를 도출)할 무결성인증값을 생성하고, 상기 생성된 무결성인증값을 이용하여 상기 단말 측 앱(200)의 무결성을 검증하는 무결성 검증규칙을 설정할 수 있다.
도면2를 참조하면, 상기 단말 측 앱(200)은, 무선단말(100)에 IC칩(140)이 인터페이스되는지 확인하는 상태 확인부(210)와, 상기 서버 측 앱(245)을 통해 단말 측 앱(200)의 무결성을 검증받기 위한 무결성검증값을 생성하는 검증값 생성부(215)와, 상기 서버 측 앱(245)을 통해 상기 IC칩(140)으로 주입할 명령데이터를 구성하기 위한 단말 측 파라미터를 결정하는 파라미터 결정부(220)와, 상기 IC칩(140)과 무선단말(100) 간 인터페이스를 확인한 상태에서 상기 무결성검증값과 단말 측 파라미터를 상기 서버 측 앱(245)으로 전송하여 상기 IC칩(140)으로 주입할 명령데이터를 요청하는 명령 요청부(225)를 구비한다.
IC칩(140)으로 명령데이터를 주입 시, 상기 상태 확인부(210)는 상기 무선단말(100)에 명령데이터를 주입할 IC칩(140)이 인터페이스되는지 확인한다. 상기 검증값 생성부(215)는 상기 상태 확인부(210)를 통해 상기 무선단말(100)에 명령데이터를 주입할 IC칩(140)이 인터페이스되어 있음을 확인한 상태에서 상기 서버 측 앱(245)을 통해 단말 측 앱(200)의 무결성을 검증받기 위한 무결성검증값을 생성한다.
본 발명의 실시 방법에 따르면, 상기 검증값 생성부(215)는 상기 단말 측 앱(200)(또는 단말 측 앱(200)을 구성하는 구성부의 적어도 일부)를 엔코딩하거나 또는 지정된 해시알고리즘을 통해 해시한 값을 포함하는 무결성검증값을 생성할 수 있다. 한편 실시 방법에 따라 상기 검증값 생성부(215)는 상기 단말 측 앱(200)(또는 단말 측 앱(200)을 구성하는 구성부의 적어도 일부)과 함께 상기 무선단말(100)의 메모리부(165)에 저장된 고유정보, 상기 무선단말(100)에 인터페이스된 IC칩(140)으로부터 추출된 추출정보, 상기 무선단말(100)에서 동적으로 결정된 동적정보 중 적어도 하나를 엔코딩하거나 또는 지정된 해시알고리즘을 통해 해시한 값을 포함하는 무결성검증값을 생성할 수 있다.
상기 파라미터 결정부(220)는 상기 상태 확인부(210)를 통해 상기 무선단말(100)에 명령데이터를 주입할 IC칩(140)이 인터페이스되어 있음을 확인한 상태에서 상기 서버 측 앱(245)을 통해 상기 IC칩(140)으로 주입할 명령데이터를 구성하기 위한 단말 측 파라미터를 결정한다. 예를들어, 상기 단말 측 파라미터는 ATR을 통해 확인된 정보, IC칩(140) 내부의 특정 애플릿이나 파일을 선택하는 값, IC칩(140)으로부터 특정 정보를 제공받기 위해 IC칩(140)으로 전달해야 할 값, IC칩(140)에 기록할 값 등을 포함할 수 있다.
본 발명의 실시 방법에 따르면, 상기 파라미터 결정부(220)는 상기 단말 측 앱(200)(또는 단말 측 앱(200)과 연계된 애플리케이션)의 동작 절차와 연계하여 상기 IC칩(140)으로 주입할 명령데이터를 구성하기 위한 단말 측 파라미터를 결정할 수 있다. 예를들어, 상기 단말 측 앱(200)(또는 단말 측 앱(200)과 연계된 애플리케이션)에서 소정의 인증 절차를 수행하면서 상기 IC칩(140)으로부터 인증정보를 추출해야 하는 경우 상기 파라미터 결정부(220)는 상기 IC칩(140)으로부터 상기 인증정보를 추출하기 위한 단말 측 파라미터를 결정할 수 있다.
상기 명령 요청부(225)는 상기 상태 확인부(210)를 통해 상기 무선단말(100)에 명령데이터를 주입할 IC칩(140)이 인터페이스되어 있음을 확인한 상태에서 상기 검증값 생성부(215)를 통해 생성된 무결성검증값과 상기 파라미터 결정부(220)를 통해 결정된 단말 측 파라미터를 포함하는 명령요청 정보를 구성하여 상기 서버 측 앱(245)으로 전송함으로써, 상기 서버 측 앱(245)으로 상기 IC칩(140)으로 주입할 명령데이터를 요청한다.
본 발명의 실시 방법에 따르면, 상기 명령 요청부(225)는 상기 상태 확인부(210)를 통해 상기 무선단말(100)에 명령데이터를 주입할 IC칩(140)이 인터페이스되어 있음을 확인한 상태에서 서버(170)와 통신하여 상기 서버 측 앱(245)과 보안세션을 형성할 수 있으며, 상기 보안세션을 통해 상기 무결성검증값과 단말 측 파라미터를 포함하는 명령요청 정보를 상기 서버 측 앱(245)으로 전송할 수 있다.
본 발명의 실시 방법에 따르면, 상기 명령 요청부(225)는 상기 명령요청 정보에 상기 단말 측 식별값을 포함시켜 전송할 수 있으며, 이에 의해 상기 서버 측 앱(245)은 상기 명령요청 정보를 전송한 단말 측 앱(200)과 무선단말(100)을 식별할 수 있다.
한편 본 발명의 실시 방법에 따르면, 상기 명령요청 정보를 서버 측 앱(245)으로 전송하는 시점에 상기 상태 확인부(210)를 통해 상기 무선단말(100)에 명령데이터를 주입할 IC칩(140)이 인터페이스되어 있음을 확인되지 않은 경우(예컨대, 상기 IC칩(140)이 비접촉 카드(145)의 칩인 경우 상기 비접촉 카드(145)가 비접촉 인터페이스 범위를 이탈한 상태 등), 상기 명령 요청부(225)는 상기 무결성검증값과 단말 측 파라미터를 상기 서버 측 앱(245)으로 전송 대기한 후 상기 IC칩(140)의 인터페이스 상태를 유도하는 메시지를 출력할 수 있으며, 상기 IC칩(140)이 인터페이스되어 있음을 확인된 상태에서 상기 서버 측 앱(245)으로 명령요청 정보를 전송할 수 있다.
도면2를 참조하면, 상기 서버 측 앱(245)은, 상기 단말 측 앱(200)을 통해 전송된 무결성검증값과 단말 측 파라미터를 수신하는 명령 요청 확인부(255)와, 상기 단말 측 앱(200)에 대한 무결성 검증규칙을 통해 상기 무결성검증값을 판독하여 상기 단말 측 앱(200)의 무결성을 검증하는 무결성 검증부(260)와, 상기 단말 측 앱(200)의 무결성 검증 시 상기 단말 측 파라미터를 이용하여 상기 IC칩(140)으로 주입할 명령데이터를 구성하는 명령 구성부(270)와, 상기 암호화키를 이용하여 상기 구성된 명령데이터를 암호화하는 암호화 처리부(275)와, 상기 암호화된 명령데이터를 상기 단말 측 앱(200)으로 제공하는 명령 제공부(280)를 구비하며, 상기 IC칩(140)으로 주입할 명령데이터를 구성하기 위한 서버 측 파라미터를 확인하는 파라미터 확인부(265)를 구비할 수 있다.
상기 서버 측 앱(245)의 명령 요청 확인부(255)는 상기 단말 측 앱(200)을 통해 전송된 무결성검증값과 단말 측 파라미터를 포함하는 명령요청 정보를 수신한다. 한편 본 발명의 다른 실시 방법에 따르면, 상기 단말 측 앱(200)과 서버 측 앱(245)은 등위간 통신이 가능하며, 이 경우 상기 명령 요청 확인부(255)가 상기 단말 측 앱(200)으로부터 상기 명령요청 정보를 수신하지 않더라도 서버 측 앱(245)의 필요(또는 서버 측 앱(245)과 연계된 서버 측의 애플리케이션이나 별도의 서버의 요청)에 따라 상기 IC칩(140)으로 주입할 명령데이터를 구성할 수 있다.
상기 명령 요청 확인부(255)를 통해 상기 무결성검증값이 수신되면, 상기 무결성 검증부(260)는 상기 무결성검증값을 전송한 단말 측 앱(200)에 대한 무결성 검증규칙을 확인하고, 상기 무결성 검증규칙을 기반으로 상기 무결성검증값을 판독하여 상기 단말 측 앱(200)이 위/변조되지 않았음에 대응하는 무결성을 검증한다.
상기 무결성검증값을 통해 상기 단말 측 앱(200)의 무결성이 검증되면, 상기 명령 구성부(270)는 상기 명령 요청 확인부(255)를 통해 수신된 단말 측 파라미터를 이용하여 상기 단말 측 앱(200)이 실행 중인 무선단말(100)에 인터페이스된 IC칩(140)으로 주입할 명령데이터(예컨대, APDU 명령)을 구성한다.
본 발명의 실시 방법에 따르면, 상기 서버 측 앱(245)의 파라미터 확인부(265)는 상기 IC칩(140)으로 주입할 명령데이터를 구성하기 위한 서버 측 파라미터를 확인할 수 있다. 예를들어, 상기 서버 측 파라미터는 IC칩(140) 내부의 특정 애플릿이나 파일을 선택하는 값, IC칩(140)으로부터 특정 정보를 제공받기 위해 IC칩(140)으로 전달해야 할 값, IC칩(140)에 기록할 값 등을 포함할 수 있다. 상기 명령 요청 확인부(255)를 통해 단말 측 파라미터가 확인되고 상기 파라미터 확인부(265)를 통해 서버 측 파라미터가 확인된 경우, 상기 명령 구성부(270)는 상기 단말 측 파라미터와 서버 측 파라미터를 이용하여 IC칩(140)으로 주입할 명령데이터를 구성할 수 있다.
한편 본 발명의 다른 실시 방법에 따르면, 상기 명령 구성부(270)는 상기 단말 측 파라미터가 확인되지 않더라도, 상기 파라미터 확인부(265)를 통해 서버 측에서 확인되는 서버 측 파라미터를 이용하여 상기 IC칩(140)으로 주입할 명령데이터를 구성할 수 있다.
본 발명의 제1 명령데이터 구성 실시예에 따르면, 상기 명령 구성부(270)는 상기 IC칩(140)으로 주입될 명령데이터의 헤더영역(예컨대, APDU의 CLA, INS, P1, P2)을 결정하고, 별도의 바디(Body) 없이 상기 헤더영역으로 이루어진 명령데이터를 구성할 수 있다. 바람직하게, 상기 명령 구성부(270)는 본 발명의 명령데이터 구성 실시예에서 명령데이터의 헤더영역을 결정하는 과정에서 상기 단말 측 파라미터 및/또는 서버 측 파라미터를 이용할 수 있다.
본 발명의 제2 명령데이터 구성 실시예에 따르면, 상기 명령 구성부(270)는 상기 IC칩(140)으로 주입될 명령데이터의 헤더영역을 결정하고, 상기 명령데이터의 바디영역 중 명령에 대한 IC칩(140)의 응답에 기대되는 최대의 데이터 크기(예컨대, APDU의 Le)를 결정한 후, 상기 헤더영역(예컨대, CLA, INS, P1, P2)과 바디영역(예컨대, Le)을 포함하는 명령데이터를 구성할 수 있다. 바람직하게, 상기 명령 구성부(270)는 본 발명의 명령데이터 구성 실시예에서 상기 IC칩(140)의 응답에 기대되는 최대의 데이터 크기(예컨대, Le)를 결정하는 과정에서 상기 단말 측 파라미터 및/또는 서버 측 파라미터를 이용할 수 있다.
본 발명의 제3 명령데이터 구성 실시예에 따르면, 상기 명령 구성부(270)는 상기 IC칩(140)으로 주입될 명령데이터의 헤더영역을 결정하고, 상기 단말 측 파라미터 및/또는 서버 측 파라미터를 이용하여 바디영역의 데이터영역(예컨대, APDU의 Data)를 구성함과 동시에 상기 데이터영역의 크기(예컨대, APDU의 Lc)를 계산한 후, 상기 헤더영역(예컨대, CLA, INS, P1, P2)과 바디영역(예컨대, Lc, Data)을 포함하는 명령데이터를 구성할 수 있다.
본 발명의 제4 명령데이터 구성 실시예에 따르면, 상기 명령 구성부(270)는 상기 IC칩(140)으로 주입될 명령데이터의 헤더영역을 결정하고, 상기 단말 측 파라미터 및/또는 서버 측 파라미터를 이용하여 바디영역의 데이터영역(예컨대, Data)를 구성함과 동시에 상기 데이터영역의 크기(예컨대, Lc)를 계산하고, 명령에 대한 IC칩(140)의 응답에 기대되는 최대의 데이터 크기(예컨대, Le)를 결정한 후, 상기 헤더영역(예컨대, CLA, INS, P1, P2)과 바디영역(예컨대, Lc, Data, Le)을 포함하는 명령데이터를 구성할 수 있다.
상기 암호화 처리부(275)는 상기 명령데이터를 암호화할 암호화키를 확인한다. 바람직하게, 상기 암호화 처리부(275)는 상기 서버 측 연동부(250)를 통해 획득된 암호화키를 확인할 수 있으며, 실시 방법에 따라 상기 서버 측 앱(245)(또는 서버 측 앱(245)을 경유하여 무선단말(100)에 인터페이스된 IC칩(140))과 소정의 키 교환 절차를 수행하여 상기 명령데이터를 암호화할 암호화키를 확인할 수 있다.
상기 암호화 처리부(275)는 상기 암호화키를 이용하여 상기 제1 내지 제4 명령데이터 구성 실시예 중 적어도 하나의 실시예에 따라 구성된 명령데이터를 암호화한다.
본 발명의 제1 암호화 실시예에 따르면, 상기 암호화 처리부(275)는 상기 구성된 명령데이터의 전체 영역을 암호화할 수 있다.
본 발명의 제2 암호화 실시예에 따르면, 상기 암호화 처리부(275)는 상기 구성된 명령데이터 중 일부 영역(예컨대, 바디영역)을 선택적으로 암호화할 수 있다.
본 발명의 제3 암호화 실시예에 따르면, 상기 암호화 처리부(275)는 상기 구성된 명령데이터 중 일부 영역의 값(예컨대, 바디영역의 Data)을 선택적으로 암호화할 수 있다.
본 발명의 실시 방법에 따르면, 상기 암호화 처리부(275)는 상기 제1 내지 제3 암호화 실시예 중 적어도 하나 또는 둘 이상을 조합하여 상기 명령데이터를 암호화할 수 있다. 예를들어, 상기 암호화 처리부(275)는 상기 단말 측 앱(200)에서 상기 암호화된 명령데이터를 복호화할 수 있도록 암호화할 수 있다. 또는 상기 암호화 처리부(275)는 상기 무선단말(100)에 인터페이스된 IC칩(140)에서 상기 암호화된 명령데이터를 복호화할 수 있도록 암호화할 수 있다. 또는 상기 암호화 처리부(275)는 상기 단말 측 앱(200)에서 상기 암호화된 명령데이터(또는 암호화된 명령데이터의 일부)를 1차 복호화하고 상기 IC칩(140)에서 상기 암호화된 명령데이터(또는 암호화된 명령데이터의 다른 일부)를 2차 복호화하도록 다중 암호화(예컨대, 두 번 이상 암호화 또는 두 개 이상의 영역을 암호화)할 수 있다.
상기 명령 구성부(270)를 통해 구성된 명령데이터가 상기 암호화 처리부(275)를 통해 암호화되면, 상기 명령 제공부(280)는 상기 단말 측 앱(200)과의 보안세션을 통해 상기 단말 측 앱(200)으로 상기 암호화된 명령데이터를 제공하며, 상기 단말 측 앱(200)은 상기 암호화된 명령데이터를 수신한다.
본 발명의 실시 방법에 따르면, 상기 명령 제공부(280)는 상기 보안세션에 형성된 통신 구간의 암/복호화 절차에 따라 상기 암호화된 명령데이터를 이중으로 암호화하여 전송할 수 있다.
도면2를 참조하면, 상기 단말 측 앱(200)은, 상기 서버 측 앱(245)으로부터 상기 암호화된 명령데이터를 수신하는 명령 수신부(230)와, 상기 명령데이터를 수신한 시점에 상기 IC칩(140)과 무선단말(100) 간 인터페이스 상태인지 확인하는 상태 확인부(210)를 구비한다.
상기 단말 측 앱(200)의 명령 수신부(230)는 상기 서버 측 앱(245)과의 보안세션을 통해 상기 서버 측 앱(245)으로부터 상기 암호화된 명령데이터를 수신한다. 만약 상기 암호화된 명령데이터가 상기 보안세션에 형성된 통신 구간의 암/복호화 절차에 따라 이중으로 암호화된 경우, 상기 명령 수신부(230)는 상기 이중으로 암호화된 명령데이터를 복호화하여 상기 서버 측 앱(245)의 암호화 처리부(275)에서 암호화한 명령데이터를 확인할 수 있다.
한편 본 발명의 실시 방법에 따르면, 상기 상태 확인부(210)는 상기 명령 요청부(225)를 통해 상기 서버 측 앱(245)으로 명령데이터를 요청한 시점부터 상기 명령 수신부(230)를 통해 상기 명령데이터를 수신한 시점 동안 상기 IC칩(140)이 상기 무선단말(100)에 인터페이스된 상태를 유지하고 있는지 확인한다.
만약 상기 서버 측 앱(245)으로 명령데이터를 요청한 후 상기 명령데이터를 수신하는 사이에 상기 IC칩(140)의 인터페이스 상태가 해제되었다면, 상기 명령데이터를 상기 IC칩(140)으로 주입할 수 없다. 따라서 상기 상태 확인부(210)는 상기 서버 측 앱(245)으로 명령데이터를 요청한 후 상기 명령데이터를 수신하는 사이에 상기 IC칩(140)의 인터페이스 상태가 해제되는지 확인하며, 만약 상기 IC칩(140)의 인터페이스 상태가 해제된 경우 오류 메시지를 출력한다.
본 발명의 일 실시 방법에 따른 IC칩(140) 인터페이스 상태 미확인 후 절차에 따르면, 상기 명령데이터를 수신한 시점에 IC칩(140)의 인터페이스 상태가 해제되어 있는 경우, 상기 상태 확인부(210)는 상기 오류 메시지를 출력함과 동시에 상기 명령 수신부(230)를 통해 수신된 명령데이터를 폐기하고 명령데이터 주입 절차를 초기화할 수 있다. 특히 상기 명령데이터가 IC칩(140)에 어떤 정보를 기록하거나 금융정보를 추출하는 것과 같이 중요도가 높은 동작에 해당하는 경우, 상기 상태 확인부(210)는 상기 명령데이터를 폐기하고 명령데이터 주입 절차를 초기화하는 것이 바람직하다. 이 경우 상기 IC칩(140)에 명령데이터를 주입할 경우 상기 IC칩(140)을 무선단말(100)에 인터페이스시키는 절차부터 새로 시작하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따른 IC칩(140) 인터페이스 상태 미확인 후 절차에 따르면, 상기 명령데이터를 수신한 시점에 IC칩(140)의 인터페이스 상태가 해제되어 있는 경우, 상기 상태 확인부(210)는 상기 오류 메시지에 상기 IC칩(140)의 인터페이스를 유도하는 메시지내용을 포함하여 출력할 수 있으며, 상기 IC칩(140)의 인터페이스가 확인된 경우 상기 명령데이터를 상기 IC칩(140)으로 주입하는 절차를 수행할 수 있다.
한편 상기 명령데이터를 수신한 시점에 상기 IC칩(140)이 인터페이스된 상태이기는 하지만, 상기 서버 측 앱(245)으로 명령데이터를 요청한 후 상기 명령데이터를 수신하는 동안에 상기 IC칩(140)의 인터페이스 상태가 해제되었다가 복구된 경우, 상기 IC칩(140)이 상기 명령데이터를 주입 받을 정당한 IC칩(140)인지 보장할 수 없다. 따라서 상기 상태 확인부(210)는 상기 서버 측 앱(245)으로 명령데이터를 요청한 후 상기 명령데이터를 수신하는 동안에 적어도 한번이라도 상기 IC칩(140)의 인터페이스 상태가 해제된 이력이 존재하는지 확인하며, 만약 상기 IC칩(140)의 인터페이스 상태가 해제된 이력이 존재하는 경우 오류 메시지를 출력한다.
본 발명의 일 실시 방법에 따른 IC칩(140) 인터페이스 유지 상태 미확인 후 절차에 따르면, 상기 서버 측 앱(245)으로 명령데이터를 요청한 후 상기 명령데이터를 수신하는 동안에 상기 IC칩(140)의 인터페이스 상태가 해제된 이력이 존재하는 경우, 상기 상태 확인부(210)는 상기 오류 메시지를 출력함과 동시에 상기 명령 수신부(230)를 통해 수신된 명령데이터를 폐기하고 명령데이터 주입 절차를 초기화할 수 있다. 특히 상기 명령데이터가 IC칩(140)에 어떤 정보를 기록하거나 금융정보를 추출하는 것과 같이 중요도가 높은 동작에 해당하는 경우, 상기 상태 확인부(210)는 상기 명령데이터를 폐기하고 명령데이터 주입 절차를 초기화하는 것이 바람직하다. 이 경우 상기 IC칩(140)에 명령데이터를 주입할 경우 상기 IC칩(140)을 무선단말(100)에 인터페이스시키는 절차부터 새로 시작하는 것이 바람직하다.
본 발명의 다른 일 실시 방법에 따른 IC칩(140) 인터페이스 유지 상태 미확인 후 절차에 따르면, 상기 서버 측 앱(245)으로 명령데이터를 요청한 후 상기 명령데이터를 수신하는 동안에 상기 IC칩(140)의 인터페이스 상태가 해제된 이력이 존재하는 경우, 상기 상태 확인부(210)는 상기 오류 메시지에 상기 IC칩(140)이 정당한 IC칩(140)인지 확인하기 위한 메시지내용을 포함하여 출력할 수 있으며, 상기 인터페이스된 상기 IC칩(140)으로 상기 명령데이터를 주입하는 절차를 수행할 수 있다. 예를들어, 사용자가 상기 IC칩(140)이 정당한 IC칩(140)으로 승인하거나 또는 상기 IC칩(140)으로 상기 명령데이터의 주입을 거부하지 않는 경우에 상기 IC칩(140)으로 상기 명령데이터를 주입하는 절차를 수행할 수 있다
도면2를 참조하면, 상기 단말 측 앱(200)은, 상기 인터페이스된 IC칩(140)으로 상기 서버 측 앱(245)에서 제공한 명령데이터를 주입하는 절차를 수행하는 명령 주입부(235)와, 상기 IC칩(140)으로부터 명령데이터의 주입에 따른 응답데이터를 수신하는 응답 확인부(240)를 구비한다.
상기 명령 주입부(235)는 상기 명령 수신부(230)를 통해 수신된 명령데이터를 상기 무선단말(100)에 인터페이스된 IC칩(140)으로 주입하기 위한 일련의 절차를 수행한다.
본 발명의 제1 명령 주입 실시예에 따르면, 상기 명령 주입부(235)는 상기 서버 측 앱(245)에서 구성하여 암호화한 명령데이터를 상기 무선단말(100)에 인터페이스된 IC칩(140)으로 주입할 수 있다. 이 경우 상기 암호화된 명령데이터는 상기 IC칩(140)을 통해 복호화될 수 있다.
본 발명의 제2 명령 주입 실시예에 따르면, 상기 명령 주입부(235)는 상기 서버 측 앱(245)에서 구성하여 암호화한 명령데이터를 복호화하기 위한 복호화키를 확인하고, 상기 복호화키를 이용하여 상기 암호화된 명령데이터를 복호화함과 동시에 상기 복호화된 명령데이터를 상기 무선단말(100)에 인터페이스된 IC칩(140)으로 주입할 수 있다.
본 발명의 제3 명령 주입 실시예에 따르면, 상기 명령 주입부(235)는 상기 서버 측 앱(245)에서 구성하여 암호화한 명령데이터(또는 암호화된 명령데이터의 일부)를 1차 복호화하기 위한 복호화키를 확인하고, 상기 복호화키를 이용하여 상기 암호화된 명령데이터(또는 암호화된 명령데이터의 일부)를 1차 복호화함과 동시에 상기 1차 복호화된 명령데이터를 상기 무선단말(100)에 인터페이스된 IC칩(140)으로 주입할 수 있다. 이 경우 상기 1차 복호화된 명령데이터는 상기 IC칩(140)을 통해 최종 복호화될 수 있다.
상기 명령 주입부(235)를 통해 상기 무선단말(100)에 인터페이스된 IC칩(140)으로 상기 서버 측 앱(245)에서 구성한 명령데이터가 주입된 후, 상기 응답 확인부(240)는 상기 IC칩(140)의 반이중 통신 구조에 따라 상기 IC칩(140)으로부터 상기 명령데이터에 대응하는 응답데이터를 수신 대기하며, 상기 IC칩(140)으로부터 상기 명령데이터에 대응하는 응답데이터를 수신한다.
본 발명의 실시 방법에 따르면, 상기 응답데이터는 상기 단말 측 앱(200)(또는 단말 측 앱(200)과 연계된 단말 측의 애플리케이션)에서 지정된 서비스를 제공하는데 이용되거나, 또는 상기 파라미터 결정부(220)를 다음 번 명령데이터의 단말 측 파라미터로 이용될 수 있다.
도면3은 본 발명의 실시 방법에 따라 단말 측 앱(200)과 서버 측 앱(245)이 연동하여 무선단말(100)에 인터페이스된 IC칩(140)으로 명령데이터를 주입하는 과정을 도시한 도면이다.
보다 상세하게 본 도면3은 IC칩(140)과 인터페이스되는 무선단말 측에 설치 실행된 단말 측 앱(200)과 연동하는 서버 측 앱(245)에서 IC칩(140)으로 주입할 명령데이터를 구성하면 상기 단말 측 앱(200)이 상기 서버 측 앱(245)에서 구성한 명령데이터를 상기 무선단말(100)에 인터페이스된 IC칩(140)으로 주입하는 과정을 도시한 것으로서, 본 발명이 속한 기술분야에서 통상의 지식을 가진 자라면, 본 도면3을 참조 및/또는 변형하여 상기 명령데이터 주입 과정에 대한 다양한 실시 방법(예컨대, 일부 단계가 생략되거나, 또는 순서가 변경된 실시 방법)을 유추할 수 있을 것이나, 본 발명은 상기 유추되는 모든 실시 방법을 포함하여 이루어지며, 본 도면3에 도시된 실시 방법만으로 그 기술적 특징이 한정되지 아니한다.
도면3을 참조하면, 무선단말 측에 설치 실행된 단말 측 앱(200)은 통신망을 통해 지정된 서버 측에 구비된 서버 측 앱(245)과 원격으로 연동 결합하는 절차를 수행한다(300). 바람직하게 상기 단말 측 앱(200)은 상기 서버 측 앱(245)과 연동 결합하는 과정에서 상기 단말 측 앱(200)이 설치된 무선단말(100)과 상기 단말 측 앱(200)을 동시에 식별하는 단말 측 식별값을 등록하는 절차를 수행하고, 실시 방법에 따라 상기 서버 측 앱(245)에서 명령데이터를 암호화할 암호화키를 설정하거나 및/또는 상기 단말 측 앱(200)의 무결성을 검증하는 무결성 검증규칙을 설정하는 절차와 연동하는 단말 측 절차를 수행할 수 있다. 상기 서버 측 앱(245)은 통신망을 통해 상기 단말 측 앱(200)과 원격으로 연동 결합하는 절차를 수행한다(300). 바람직하게, 상기 서버 측 앱(245)은 상기 단말 측 앱(200)으로부터 상기 단말 측 식별값을 등록받고, 상기 무선단말(100)에 인터페이스될 IC칩(140)으로 주입할 명령데이터를 암호화하기 위한 암호화키를 설정하거나(305), 및/또는 상기 단말 측 앱(200)의 무결성을 검증하기 위한 무결성 검증규칙을 설정한다(305). 이후, 상기 단말 측 앱(200)과 서버 측 앱(245)은 상호 연동하여 상기 무선단말(100)에 인터페이스된 IC칩(140)으로 명령데이터를 주입하는 절차를 수행할 수 있다.
무선단말(100)에 인터페이스된 IC칩(140)으로 명령데이터를 주입하는 절차를 수행하는 경우, 상기 단말 측 앱(200)은 무선단말(100)에 IC칩(140)이 인터페이스되는지(또는 인터페이스된 상태인지) 확인한다(310). 만약 상기 무선단말(100)에 IC칩(140)이 인터페이스된 상태라면, 상기 단말 측 앱(200)은 지정된 동작 절차를 수행하면서 상기 IC칩(140)으로 명령데이터를 주입할 지 여부를 확인한다(315).
만약 상기 무선단말(100)에 인터페이스된 IC칩(140)으로 명령데이터를 주입한다면, 상기 단말 측 앱(200)은 상기 서버 측 앱(245)을 통해 상기 단말 측 앱(200)의 무결성을 검증받기 위한 무결성검증값을 생성하고, 상기 서버 측 앱(245)에서 상기 IC칩(140)으로 주입할 명령데이터를 구성하기 위한 단말 측 파라미터를 결정한다(320).
상기 무결성검증값이 생성되고 상기 단말 측 파라미터가 결정된 시점에 상기 IC칩(140)이 상기 무선단말(100)에 인터페이스된 상태를 유지하고 있다면, 상기 단말 측 앱(200)은 상기 서버 측 앱(245)으로 상기 무결성검증값과 단말 측 파라미터를 제공함으로써 상기 서버 측 앱(245)으로 상기 IC칩(140)으로 주입할 명령데이터를 요청한다(325).
상기 서버 측 앱(245)은 상기 단말 측 앱(200)으로부터 상기 단말 측 앱(200)의 무결성을 검증하기 위한 무결성검증값과 상기 IC칩(140)으로 주입할 명령데이터를 구성하기 위한 단말 측 파라미터를 수신하고(330), 상기 단말 측 앱(200)에 대한 무결성 검증규칙을 통해 상기 무결성검증값을 판독하여 상기 단말 측 앱(200)의 무결성을 검증한다(335). 만약 상기 단말 측 앱(200)의 무결성이 검증되지 않으면, 상기 서버 측 앱(245)은 상기 단말 측 앱(200)으로 상기 무결성 검증에 대한 오류 메시지를 제공하며(340), 상기 단말 측 앱(200)은 상기 오류 메시지를 출력하고, 상기 IC칩(140)으로 명령데이터를 주입하는 절차를 초기화한다(385).
한편 상기 단말 측 앱(200)의 무결성이 검증되면, 상기 서버 측 앱(245)은 상기 단말 측 파라미터를 이용하여 상기 IC칩(140)으로 주입할 명령데이터를 구성할 수 있다(350). 또는 상기 서버 측 앱(245)은 상기 IC칩(140)으로 주입할 명령데이터를 구성하기 위한 서버 측 파라미터를 확인하고(345), 상기 단말 측 파라미터와 서버 측 파라미터를 이용하여 상기 IC칩(140)으로 주입할 명령데이터를 구성할 수 있다(350). 한편 본 발명의 다른 실시 방법에 따르면, 상기 서버 측 앱(245)은 상기 단말 측 앱(200)으로부터 상기 단말 측 파라미터를 수신하지 않더라도(단, 무결성 검증 절차를 수행 가능), 서버 측의 지정된 동작 절차에 따라 상기 IC칩(140)으로 주입할 명령데이터를 구성하기 위한 서버 측 파라미터를 확인할 수 있으며x45), 이 경우 상기 서버 측 앱(245)은 상기 서버 측 파라미터를 이용하여 상기 IC칩(140)으로 주입할 명령데이터를 구성할 수 있다(350).
상기 IC칩(140)으로 주입할 명령데이터가 구성되면, 상기 서버 측 앱(245)은 지정된 암호화키를 이용하여 상기 구성된 명령데이터를 암호화 처리하고(355), 상기 단말 측 앱(200)으로 상기 암호화된 명령데이터를 제공한다(360).
상기 단말 측 앱(200)은 단말 서버 측 앱(245)으로부터 상기 암호화된 명령데이터를 수신하며(365), 상기 명령데이터를 수신한 시점에 상기 IC칩(140)이 상기 무선단말(100)에 인터페이스된 상태인지 또는 상기 인터페이스된 상태를 지속적으로 유지하고 있는지 확인하는데, 만약 상기 명령데이터를 수신한 시점에 상기 IC칩(140)이 인터페이스된 상태가 아니거나 또는 인터페이스된 상태가 지속적으로 유지되고 있지 않았다면, 상기 단말 측 앱(200)은 오류 메시지를 출력하고, 상기 서버 측 앱(245)으로부터 수신된 명령데이터를 폐기함과 동시에 상기 명령데이터 주입 절차를 초기화할 수 있다(385).
한편 상기 명령데이터를 수신한 시점에 상기 IC칩(140)이 상기 무선단말(100)에 인터페이스된 상태이거나 또는 상기 인터페이스된 상태가 지속적으로 유지 중이라면, 상기 단말 측 앱(200)은 상기 암호화된 명령데이터를 상기 무선단말(100)에 인터페이스된 IC칩(140)으로 주입하는 절차를 수행하거나(370), 상기 암호화된 명령데이터(또는 명령데이터의 적어도 일부)를 복호화하여 상기 무선단말(100)에 인터페이스된 IC칩(140)으로 주입하는 절차를 수행한다(370). 상기 암호화된 명령데이터(또는 적어도 일부가 암호화된 명령데이터)를 상기 IC칩(140)으로 주입한 경우, 상기 암호화된 명령데이터(또는 적어도 일부가 암호화된 명령데이터)는 상기 IC칩(140)을 통해 최종 복호화된다.
상기 무선단말(100)에 인터페이스된 IC칩(140)으로 상기 명령데이터를 주입한 경우, 상기 단말 측 앱(200)은 상기 IC칩(140)으로부터 상기 명령데이터에 대응하는 응답데이터를 수신 대기하며, 상기 IC칩(140)으로부터 상기 명령데이터에 대응하는 응답데이터를 수신한다(375). 상기 단말 측 앱(200)은 상기 IC칩(140)으로부터 수신된 응답데이터를 이용하여 지정된 서비스 제공 절차(예컨대, 결제 절차 또는 인증 절차)를 수행하거나(380), 또는 상기 IC칩(140)으로부터 수신된 응답데이터를 다음 번 IC칩(140)으로 주입할 명령데이터를 구성하기 위한 단말 측 파라미터로 이용하는 절차를 수행할 수 있다(380).