이러한 목적을 달성하기 위하여, 본 발명의 제 1 목적에 의하면, 본 발명은 HTTP를 기반으로 한 스마트카드 명령어 송수신 방법에 있어서, (a) 유무선 단말기의 HTTP 브라우저가 CDMP(Common Data Manager Protocol) 모듈을 포함하는 범용 HTTP 서버에 접속 요청 신호를 전송하는 단계; (b) 접속 요청 신호를 전송받은 범용 HTTP 서버가 HTTP 규격인 MIME(Multipurpose Internet Mail Extension) 타입의 채널 디스크립션 메시지를 유무선 단말기의 HTTP 브라우저에 전송하는 단계; (c) 유무선 단말기의 HTTP 브라우저가 채널 디스크립션 메시지를 전송받거나 다른 서비스 애플리케이션의 요청에 의하여 TCA(Terminal Command Agent)를 호출하고, 호출한 TCA는 초기화를 진행한 후 범용 HTTP 서버에 Initiate 메시지를 전송하는 단계; (d) Initiate 메시지를 전송받은 범용 HTTP 서버에서 터미널 커맨드 리퀘스트 메시지를 TCA에 전송하는 단계; (e) TCA가 터미널 커맨드 리퀘스트 메시지를 분석하여 유무선 단말기의 각 서브 모듈에 작업을 할당하고 작업을 수행하는 단계; (f) 각 서브 모듈에서 작업을 종료하면 작업 결과를 TCA에 전송하고, TCA가 상기 작업 결과를 범용 HTTP 서버에 터미널 커맨드 리스펀스 메시지를 통하여 전송하는 단계; 및 (g) TCA가 채널을 종료하여 범용 HTTP 서버와 송수신을 종료하는 단계를 포함하는 것을 특징으로 하는 HTTP를 기반으로 한 스마트카드 명령어 송수신 방법을 제공한다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명 한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어서, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 바람직한 실시예에 따른 HTTP(Hyper Text Transfer Protocol)를 이용한 스마트카드 명령어 송수신 시스템 중 서버측 시스템을 나타낸 도면이다.
APSS(Application and Platform DL Server Subsystem)(100)은 스마트카드 애플리케이션을 다운로드, 업데이트하고 발급 프로파일을 통합 관리하기 위하여 스마트카드 명령어 생성 모듈(110), APMP(Application and Platform Management Part)(120), UDAP(Upload and Download Agent Part)(130) 및 PMP(Profile Management Part)(140)을 포함하고 있다.
스마트카드 명령어 생성모듈(110)은 이동통신 단말기(100)에 장착되는 IC 칩(320)인 스마트카드에 쓰이는 명령어를 생성하는 역할을 한다.
서버에 있는 APMP(120)는 서버가 스마트카드 또는 이동통신 단말기로 다운로드할 애플리케이션과 애플릿을 직접 관리하고, 플랫폼의 전체적인 업그레이드가 필요할 경우 미리 설정해 둔 결과에 따라 업그레이드를 할 수 있으며, 스마트카드 또는 이동통신 단말기에 업그레이드 사항이 있는 경우 트리거(Trigger) 시켰다가 스마트카드 또는 이동통신 단말기와 접속시에 관련 업무를 수행하도록 한다.
UDAP(130)는 서버에서 애플리케이션과 애플릿을 업로드 및 다운로드할 때에 최초 접속이 이루어진 후 정상적으로 작업수행이 가능하도록 관리해준다. 이동통신망 상태에 의해 다운로드 도중 끊어질 경우 재작업 또는 이어받기가 가능하도록 이동통신 단말기와 네트워크 인터페이스에 관한 기본적인 기능을 수행한다.
PMP(140)는 플랫폼과 애플리케이션의 버전 및 관련정보 프로파일을 이동통신 단말기와 싱크(Sync)하여 싱크한 플랫폼과 애플리케이션의 버전 및 관련정보 프로파일을 데이터베이스화하여 관리한다.
도 2는 본 발명의 바람직한 실시예에 따른 HTTP를 이용한 스마트카드 명령어 송수신 시스템 중 이동통신 단말기측 시스템을 나타낸 도면이다.
ATSP(AMS Teminal Platform Subsystem)(200)은 프로파일에 따라 유저 인터페이스를 구성하고, 관련 애플리케이션을 저장하고 관리하며, 프로파일에 저장된 프리세팅(Pre-Setting)에 따라 업그레이드 작업을 수행하고, 이동통신 단말기 플랫폼 전체도 업그레이드가 가능하며, 각 컴포넌트가 가진 기능의 조합을 통하여 관련 작업을 수행할 수 있다.
이동통신 단말기에 장착된 PMP(140)는 애플리케이션 이름, Hidden 여부, 버전, 크기 및 메뉴 순서 등의 정보를 저장하고 있는 애플리케이션 프로파일과 플랫폼 전체의 버전, 이름, 및 인증 여부 등의 정보를 저장하고 있는 플랫폼 프로파일을 EEPROM 상에 관리한다.
MMP(Menu Management Part)(210)는 유저 인터페이스 메뉴 구성에 필요한 필요한 이미지 및 구성 로직 등을 저장하고 있는 MUI(Menu User Interface)(212)를 포함하며, 사용자에게 보여지는 애플리케이션 메뉴의 구성 및 순서를 관리하는 기능을 수행한다. 이동통신 단말기에 장착된 PMP(140)가 관리하는 프로파일 정보와 IC 칩 상태에 따라 메뉴를 구성하며, 사용자와의 인터페이스를 통한 결과를 이동통신 단말기에 장착된 APMP(120)로 전달하여 태스크(Task)를 수행한다.
이동통신 단말기에 장착된 APMP(120)는 WIPI VM 애플리케이션 프로그램 영역인 SSA(Service Application Agent)(220), 이동통신 단말기 플랫폼이 위치하는 영역인 TPA(Terminal Platform Agent)(222), 다운로드 기능을 수행하는 네트워크 인터페이스 모듈인 DLM(DownLoad Manager)(224) 및 DLM(224)가 다운로드 기능을 수행할 때 필요한 상태 정보 및 트리거 정보 등을 관리하는 DIM(Download Information Manager)(226)을 포함하며, MUI(212)의 요청에 따라 애플리케이션을 구동시키는 역할을 한다. DLM(224)는 서버의 APMP(120)와 인터페이스하면서 다운로드 과정에서 발생하는 에러 리커버리(Error Recovery) 기능을 수행한다.
TCMP(Terminal Command Management Part)(230)는 일괄적으로 전달된 APDU(Application Protocol Data Unit)와 명령어 시리즈를 논리 단위로 엮어 수행하고 결과를 전송하는 TCA(Terminal Command Agent)(232), 스마트카드와 인터페이스하기 위한 물리적 인터페이스 영역인 CAM(Card Access Manager)(234) 및 스마트카드를 인식하고 결과에 따라 MMP(210) 및 APMP(120)를 구동하도록 하는 CM(Card Manager)를 포함하며, 스마트카드와 인터페이스하며 수행되어야하는 명령들을 처리하는 영역으로 상호 인증과 같은 보안 인증 기능을 통하여 채널을 열고, MMP(210) 또는 APMP(120)에서 전송한 APDU와 같은 명령어를 수행하도록 담당한다. CAM(234) 는 ISO(International Standards Organization)7816 규격에 따라 스마트카드와 접속 인터페이스를 구성한다.
도 3은 본 발명의 바람직한 실시예에 따른 HTTP를 이용한 스마트카드 명령어 송수신 시스템을 이용하여 스마트카드 애플릿을 로드(Load), 설치 및 삭제하는 과정을 개략적으로 나타낸 도면이다.
3A는 이동통신 단말기(100)에서 스마트카드를 이용하기 위한 초기화면을 보여준다.
이동통신 단말기(100)가 스마트카드 애플릿을 설치하기 위하여 왑 브라우저(WAP Browser)(300) 또는 VM(Virtual Machine) 애플리케이션을 통하여 서버 UDAP(130)에 스마트카드 애플릿의 설치 요청 신호를 전송하고, 이동통신 단말기(100)에서 설치 요청 신호를 받은 서버 UDAP(130) 모듈은 TCM(Terminal Command Manager)(310)에게 CDM(Common Data Manager) 인터페이스를 통하여 APDU 데이터를 전송한다.
TCM(310)는 다운로드 상태 정보를 보여주고, VM 애플리케이션 및 카드 애플리케이션을 일괄 전송하며, 다운로드 인터럽션 리커버리(DL Interruption Recovery) 기능을 가지고 있고, 다운로드시 서버를 인증하는 기능을 가지고 있다.
서버 UDAP(130)에서 APDU 데이터를 전송받은 TCM(310)는 전송받은 결과를 CAM(234)를 통하여 스마트카드에 설치한다. 스마트카드에 애플릿을 설치하는 화면을 3B에서 보여주고 있다.
설치가 끝나면 CAM(234)가 수행 결과를 TCM(310)에게 전송한다. CAM(234)에 게서 수행 결과를 전송 받은 TCM(310)는 서버 UDAP(130)와 SAA(220)에 수행 결과를 전송한다. 수행 결과를 전송 받은 SAA(220)는 변경된 애플릿 상태를 애플릿 프로파일에 저장하고, 서버 UDAP(130)는 변경된 IC 칩(320) 상태를 서버 프로파일에 저장한다.
도 4는 본 발명의 바람직한 실시예에 따른 이동통신 단말기가 왑 브라우저를 통하여 CDMP(Common Data Manager Protocol) 서버에 접속하여 사용자 인증 등의 작업을 수행한 후 TCA가 구동되어 실제 CDMP 통신을 수행하는 과정을 나타낸 순서도이다.
이동통신 단말기(100)는 왑 브라우저를 통하여 CDMP 서버에 접속 요청 신호를 전송한다. CDMP 서버에 접속을 할 때에 접속 URL(Uniform Resource Locator)은 왑 서핑 과정에서 얻을 수도 있고, 해당 서비스 접속을 위한 SMS(Short Message Service)에 포함된 CallBack URL을 이용할 수도 있다(S400).
이동통신 단말기(100)가 CDMP 서버에 접속할 때에 서비스에 따라서 가입자 및 이동통신 단말기(100)에 대한 인증 과정이 필요한지 여부를 판단한다(S402).
인증 과정이 필요한 경우, CDMP 서버에서 서버 인증을 위한 정보를 생성하여 터미털 커맨드 메시지 헤더(Terminal Command Message Header)에 포함시킨다(S404).
CDMP 서버가 이동통신 단말기(100)에 CDMP 채널 디스크립션 메시지를 전송하고, 왑 브라우저는 전송받은 CDMP 채널 디스크립션 메시지의 MIME(Multipurpose Internet Mail Extension) 타입을 판단하여 이동통신 단말기(100)의 TCA(Terminal Command Agent)에 CDMP 채널 디스크립션 메시지를 보낸다. CDMP 채널 디스크립션에는 TCA가 접속할 URL과 함께 CDMP 채널을 통하여 수행할 작업에 대한 잡(Job) 디스크립션이 포함되어 있다(S406).
TCA는 초기화 작업을 수행한 후 CDMP 채널 디스크립션에 포함된 URL로 HTTP를 통하여 접속하고, CDMP 채널 연결을 요청하는 Initiate 메시지를 전송하며, 터미널 서버 인증을 위한 정보를 포함시킨다(S408).
CDMP 서버는 이동통신 단말기(100)에서 수행할 작업들을 포함하는 터미널 커맨드 리퀘스트(Terminal Command Request) 메시지를 TCA에 전송한다. TCA로부터 전송받은 Initiate 메시지에 서버 인증 정보가 포함되어 있으면 최초 터미널 커맨드 리퀘스트 메시지를 전송할 때 인증에 대한 응답정보를 포함하여 전송한다(S410).
TCA는 전송받은 터미널 커맨드 리퀘스트 메시지를 분석하여 인증 요청에 대한 인증 정보가 존재하는지 여부를 판단한다(S412).
터미널 커맨드 리퀘스트 메시지에 인증 정보가 존재하는 경우 인증 정보에 따라 TCA에서 인증을 수행한다(S414).
인증이 성공하면 TCA에서 각 서브 모듈이 수행할 작업 내용을 분배하고 내부적인 작업을 수행한다. 애플릿의 설치 및 삭제 작업을 수행하는 경우에는 CDMP 서버가 터미널 커맨드 리퀘스트 메시지에 TCA에게 현재 진행 상태를 출력하도록 지시하거나 이동통신 단말기 플랫폼에 애플릿 설치 상태 변경에 따른 메뉴 갱신을 지시할 수 있다(S416).
이동통신 단말기(100)에서 작업이 진행되고 있는 동안 사용자에 의해 작업 종료 요청이 있는지 여부를 판단한다(S418).
사용자에 의한 작업 종료 요청이 있는 경우, TCA는 즉각적으로 연결을 종료하지 않고, 작업 종료 요청을 터미널 커맨드 리스펀스 메시지로 CDMP 서버에 전송한다(S420).
사용자에 의한 작업 종료 요청시 터미널 커맨드 리퀘스트 메시지와 터미널 커맨드 리퀘스트 메시지는 터미널 커맨드 리퀘스트 메시지 헤더에 CDMP 서버에서 작업 종료를 지시하는 터미네이트 플래그(Terminate Flag)가 설정되었는지 여부를 판단한다(S422).
CDMP 서버에서 작업 종료를 지시하는 터미네이트 플래그(Terminate Flag)가 설정된 경우, TCA는 각 서브 모듈에서 전송한 작업 결과를 터미널 커맨드 리스펀스(Terminal Command Response)에 포함시켜 CDMP 서버에 전송하고, 터미널 커맨드 리퀘스트 메시지 헤더(Terminal Command Request Massage Header)에 URL 정보가 포함된 경우 해당 URL로 터미널 커맨드 리스펀스를 전송한다(S424).
CDMP 서버는 모든 작업이 종료되었거나 사용자에 의해 작업 종료 요청이 이루어진 경우 최종 터미널 커맨드 리퀘스트 메시지 헤더에 작업 종료를 지시하는 터미네이트 플래그를 TCA에 전송하고, CDMP 채널 연결을 종료한 후 접속해야 할 왑 페이지가 있는 경우 헤더(Header)에 리턴 URL을 포함한다. TCA는 전송받은 터미네이트 플래그에 대해 최종 수신한 터미널 커맨드 리퀘스트 메시지를 처리한 후 CDMP 채널을 종료한다(S426).
TCA는 CDMP 채널을 종료한 후 터미널 커맨드 리퀘스트 메시지 헤더에 리턴 URL이 포함되어 있는지 여부를 판단한다(S428).
터미널 커맨드 리퀘스트 메시지 헤더에 리턴 URL이 포함되어 있는 경우 TCA는 CDMP 채널 종료와 동시에 리턴 URL에 따라 왑 페이지에 접속한다(S430).
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.