KR100791946B1 - 인터넷형 네트워크를 통해 서버와 통신하도록 설계된스마트카드 리더를 구비한 보안 단말기 - Google Patents

인터넷형 네트워크를 통해 서버와 통신하도록 설계된스마트카드 리더를 구비한 보안 단말기 Download PDF

Info

Publication number
KR100791946B1
KR100791946B1 KR1020017008288A KR20017008288A KR100791946B1 KR 100791946 B1 KR100791946 B1 KR 100791946B1 KR 1020017008288 A KR1020017008288 A KR 1020017008288A KR 20017008288 A KR20017008288 A KR 20017008288A KR 100791946 B1 KR100791946 B1 KR 100791946B1
Authority
KR
South Korea
Prior art keywords
smart card
terminal
module
server
communication
Prior art date
Application number
KR1020017008288A
Other languages
English (en)
Other versions
KR20010089735A (ko
Inventor
마리아나르노드
Original Assignee
쎄뻬8 테크날러지스 에스에이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쎄뻬8 테크날러지스 에스에이 filed Critical 쎄뻬8 테크날러지스 에스에이
Publication of KR20010089735A publication Critical patent/KR20010089735A/ko
Application granted granted Critical
Publication of KR100791946B1 publication Critical patent/KR100791946B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Credit Cards Or The Like (AREA)
  • Storage Device Security (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)
  • Catching Or Destruction (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Cold Air Circulating Systems And Constructional Details In Refrigerators (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 인터넷 네트워크(RI)를 통해 스마트카드(8)와 웹서버(4)간의 통신을 허용하는 단말기(5)의 아키텍처에 관한 것이다. 단말기(5)는 스마트카드 리더(8), 키보드(62) 및 선택적인 기타 컴퓨팅 리소스(63)들을 포함하는 보안 엔클로저(6)를 구비한다. 상기 단말기(5)의 비보안 영역은 웹 브라우저(51) 및 수신된 리퀘스트들을 상기 웹 브라우저(51) 또는 상기 보안 엔클로저(6)로 라우팅하는 제1 통신노드(50)를 포함한다. 상기 보안 엔클로저(6)는 제2 통신노드(60) 및 HTTP 서버(61)를 포함한다. 상기 스마트카드(8)는 제3 통신노드(80) 및 HTTP 서버(81)를 포함한다. 웹서버(4)는 스마트카드(8)와 통신할 수 있고 상기 스마트카드의 소프트웨어 애플리케이션(A1-An)들을 활성화할 수 있는 머천트 애플리케이션(41)을 포함한다.

Description

인터넷형 네트워크를 통해 서버와 통신하도록 설계된 스마트카드 리더를 구비한 보안 단말기{SAFE TERMINAL PROVIDED WITH A SMART CARD READER DESIGNED TO COMMUNICATE WITH A SERVER VIA AN INTERNET-TYPE NETWORK}
본 발명은 단말기 아키텍처에 관한 것으로, 특히 보안 엔클로저(secure enclosure)에 배치된 키보드와 스마트카드 리더를 사용하여 인터넷 네트워크를 통해 서버와 통신하도록 설계된 유형의 단말기에 관한 것이다.
상기 유형의 장치는 예컨대, 상표명 "세이프패드(safepad)"로 알려져 있다.
본 발명에서, "단말기(terminal)"라는 용어는 일반적인 의미로 이해되어야 한다. 구체적으로 상기 단말기는 윈도우즈(WINDOWS) 또는 유닉스(UNIX)(양자 모두 등록상표)와 같은 다양한 오퍼레이팅 시스템에서 동작하는 개인용 컴퓨터로 구성될 수 있다. 또한 상기 단말기는 워크스테이션, 휴대용 컴퓨터 또는 소위 전용 카드 단말기로 구성될 수 있다.
마찬가지로, 본 발명에서, "인터넷 네트워크"라는 용어는, 인터넷 그 자체뿐만 아니라, "인트라넷(intranet)"으로 알려진 개인 기업 네트워크, 및 상기 인트라넷을 외부로 확장한, "엑스트라넷(extranet)"으로 알려진 네트워크를 포함한다.
스마트카드는 다양한 분야: 소위 전자 "지갑(purse)" 등과 같은 은행 및 건강관리 애플리케이션 등에서 사용된다. 또한, 여러 개의 애플리케이션들은 1개의 스마트카드(멀티-애플리케이션 스마트카드)에 공존할 수 있다.
상기 유형의 애플리케이션들에 대해, 스마트카드들은 다양한 기능을 갖는다. 특히 이들은 보안(security) 목적으로 사용될 수 있다. "보안"라는 용어는, 기지국 사용자 및/또는 스마트카드 보유자의 기밀유지 및/또는 인증을 포함하여 일반적인 의미로 이해되어야 한다.
보다 구체적으로 상기 애플리케이션들과 관련하여, 단말기에는, 스마트카드 리더, 키보드 및 가능하게는 1이상의 다른 컴퓨팅 리소스를 포함하는 보안 엔클로저가 제공될 수 있다.
도1은 종래기술에 따른 상기 유형의 단말기의 아키텍처를 도시한다.
개념을 설명하기 위해, 단말기(1)는 기본적으로 마이크로컴퓨터로 구성되는 것으로 가정한다. 단말기(1)는 상기 컴퓨팅 장비를 구성하며 그 적절한 동작(도시 안됨)에 요구되는 모든 통상의 장치들: 중앙처리장치, 램(RAM), 대용량 기억장치(하드디스크), 리더 정보 매체(디스켓 등)를 구비한다. 도1에 도시된 특수한 경우, 단말기(1)는 스마트카드(2) 리더(30) 및 키보드(31)를 포함하는 보안 엔클로저(3)를 구비한다. 키보드(31)는 구체적으로 스마트카드(2) 보유자 인증용 데이터: 예컨대 스마트카드(2)의 식별자와 관련된 패스워드를 입력하는데 사용된다. 다양한 전자회로들에 의해, 키보드(31) 및 스마트카드(2)(리더(30)를 통해)를 포함하여 상기 보안 엔클로저 내부에 존재하는 보안 엘리먼트(secure element)들 간의 통신, 및 상기 보안 엘리먼트들과 단말기(1)에 있는 비보안 엘리먼트들간의 통신이 가능하 다.
통상적으로, 단말기는 비보안 영역에서, 본 단말기(1)에 의해 허용되는 특정 트랜잭션(transaction)의 관리 및 제어를 처리하는, 이하 "머천트(merchant)" 애플리케이션이라 호칭될 특정 애플리케이션(10)을 포함한다. 상기 애플리케이션(10)과 보안 엔클로저(3) 내부의 엘리먼트들간의 통신은 통상 RS232형 표준에 따라 발생한다. 상주 애플리케이션(300)을 포함하여 보안 엔클로저(3) 내부의 엘리먼트들과 리더(3)를 통한 스마트카드(2)간의 통신은 통상 ISO 표준 7816-1 내지 7816-4를 따르는 프로토콜에 따라 행해진다.
상기 유형의 아키텍처는 구체적으로 다음과 같은 주요 단점:
- 단말기(비보안 영역)에서 설치되어 보안 엔클로저에 상주하는 머천트 애플리케이션의 상기 단말기에 대한 특이성;
- 관련 컴퓨터 프로그램들의 방대함; 및
- 상기 프로그램들의 수정은 상기 단말기(비보안 영역) 및 보안 엔클로저로의 프로그램 리로딩(reloading)을 요구하고, 따라서 전문가를 필요로 하는 기능 테스트를 요구함에 따른 융통성 및 신뢰성의 제한 등이 있다.
일반적으로, 기능 테스트는 많은 단말기들에서 반복되어야 한다.
또한, 이들 애플리케이션은 완전히 또는 부분적으로 보안이 유지되어야 한다. 따라서, 프로그램을 업데이트하기 위해 특정 애플리케이션에 적합한 소정의 보안레벨을 설정할 필요가 있다.
흔히, 단말기(1)는 전송 네트워크(RI)를 통해 1 이상의 원격 시스템(그중 하 나가 도1에 도시됨)에 연결된다는 의미에서 고립적이지 않다. 네트워크(RI)의 특성은 구현될 애플리케이션(은행, 건강관리 등)에 따라 변할 수 있다. 상기 네트워크는, 인트라넷 또는 엑스트라넷과 이를 이용한 애플리케이션의 빠른 성장을 감안할 때, 상기 유형의 네트워크 또는 인터넷이 될 수 있다. 통상적으로, 전체적인 아키텍처는 소위 "클라이언트-서버"형이 되며, 상기 "서버"는 일반적으로 원격 시스템(4)이 되고, 상기 "클라이언트"는 터미널(1)이 된다. 그러나 일부 환경에서는, 트랜잭션시 그 역할이 역전되거나 교대로 변경될 수 있다.
상기 유형의 아키텍처에서, 특정 애플리케이션(10) 및 애플리케이션(300)과 관련된 프로그램들은, 어떠한 이유 등으로 그 버전이 변경되는 동안, 원격 서버 중 하나, 예컨대 서버(4)로부터 중앙 집중형으로 변경될 수 있다. 따라서 상기 단점들 중 하나는 제거될 수 있으며, 상기 업데이트는 다운로드에 의해 행해진다. 그러나, 상기 동작들은 잘 알려진 관리 절차의 구현을 요구한다. 또한, 상기 다운로드는, 적어도 불법 또는 보안에 위험한 프로그램 및/또는 절차("트로이의 목마", "로지컬 밤(logical bombs)" 바이러스 등)의 단말기로의 설치를 허용해서는 안되는 민감한 데이터를 포함할 수 있다.
또한, 인터넷의 기능 증가 및 보편화에 따라, 전술한 특정 프로그램들의 단말기에서의 논리적인 설치, 즉 원격 서버(이하 "머천트 서버"라 호칭한다)로의 "마이그레이션(migration)", 및 상기 머천트 서버로부터 스마트카드와의 직접적인 다이얼로그(dialog)를 행할 필요가 있다.
특히 상기 필요성은 이하 설명될 이유로 종래기술의 단말기에 의해서는 만족 될 수 없다.
그러나 먼저, 인터넷 네트워크(RI)를 통해 종래기술에 따른 단말기와 원격 서버간의 통신을 허용하는 시스템 아키텍처를 간단히 기술하는 것이 도움이 된다. 상기 유형의 아키텍처를 도2에서 개략적으로 나타내며, 여기서 단말기(1')의 논리 아키텍처를 보다 구체적으로 나타낸다.
상기의 경우 단말기(1')는 보안 또는 비보안이 될 수 있는 일반적인 단말기이며, 그 특징은 본 다양한 유형의 통신을 설명하는데 있어서 중요하지 않다.
전술한 바와 같이, 단말기(1')는, 도면을 간단히 하기 위해 도시되지는 않지만, 적절한 동작에 요구되는 모든 회로 및 장치들을 당연히 포함한다. 통상, 단말기(1')는 또한, 통합될 수도 있고 안될 수도 있는 표준 주변장치, 예컨대 표시화면(도시 안됨) 및 본 발명의 보안 엔클로저(도1:3)에 위치한 키보드에 접속된다.
통상, 네트워크상의 통신은 몇 개의 중첩된 소프트웨어 레이어(layer)들로 구성된 표준을 따르는 프로토콜에 따라 행해진다. 인터넷 네트워크(RI)의 경우, 통신은 몇 개의 소프트웨어 레이어들을 포함하는, 상기 유형의 통신 고유의 프로토콜에 따라 발생한다. 통신 프로토콜은 구체적으로 구현될 애플리케이션: 웹 페이지 상담, 파일 전송, 전자우편, 폼(form) 또는 뉴스 등을 근거로 선택된다.
통신 네트워크의 아키텍처는 다양한 레이어들로 기술된다. 예컨대, ISO에 의해 정의되는 OSI("Open Systems Interconnection") 표준은, 소위 하위 레이어(예컨대 물리적인 전송 매체와 관련된 소위 "물리(physical)" 레이어)로부터, 소위 "트 랜스포트(transport)" 레이어를 포함하는 중간레이어를 거쳐 소위 상위 레이어(예컨대 소위 "애플리케이션" 레이어)에 이르기까지 7개의 레이어들을 포함한다. 소정 레이어는, 적절한 인터페이스를 통해 그 바로 상위의 레이어에 서비스를 제공하며 그 바로 하위 레이어로부터 다른 서비스들을 요구한다. 레이어들은 프리미티브(primitive) 수단으로 통신한다. 이들은 또한 동일 레벨의 레이어들과도 통신한다. 특정 아키텍처에서, 레이어들 중 일부는 존재하지 않을 수 있다.
인터넷 환경에서는, 5개의 레이어, 즉 최상 레이어로부터 최하 레이어까지: 애플리케이션 레이어(http, ftp, email 등), 트랜스포트 레이어(TCP), 네트워크 어드레스 레이어(IP), 데이터 링크 레이어(PPP, Slip 등) 및 물리 레이어가 있다.
단말기(1')는 인터넷 네트워크에 액세스하기 위한 회로(11)를 포함한다. 이는 예컨대 인터넷 서비스 제공자(즉 ISP)를 통해, 스위치드(switched) 전화선에 접속하기 위한 모뎀 또는 종합정보통신망(ISDN)이 될 수 있다. 네트워크(RI)에 액세스하기 위한 회로(11)는 전술한 물리 및 데이터 링크 레이어에 응답하는 하위의 소프트웨어 레이어(C1,C2)를 포함한다.
또한, "네트워크 어드레스"(IP) 및 "트랜스포트"(TCP) 레이어에 응답하는 상위 레이어(C3,C4)가 도시된다. 상위의 애플리케이션 레이어(http, ftp, email 등)는, 바람직하게는 시중의 표준형이 되는, 임의 형태의 웹 브라우저(NW)에 의해 개략적으로 도시된다.
하위 레이어(C1,C2)와 상위 레이어(C3,C4)간의 인터페이스는, 일반적으로 "하 위 레벨 드라이버"로 호칭되는 소프트웨어 레이어(15)로 구성된다. 상위 레이어(C3,C4)들은 상기 인터페이스로 지원되며, 이들이 대응하는 특정 함수들의 라이브러리, 또는 네트워크 라이브러리(14)에 의해 구현된다. 인터넷의 경우, TCP/IP는 "소켓(socket)"으로 호칭되는 라이브러리 수단으로 구현된다.
상기 구성에 의해 브라우저(NW)는, 웹 페이지에 질의하거나(HTTP 프로토콜), 파일을 전송하거나(FTP 프로토콜), 전자우편을 보내기 위해(전자우편 프로토콜), 원격 서버(4)에 리퀘스트(request)를 제공한다.
단말기(1')는 또한 본 발명의 특징이 되는 보안 엔클로저(도1:3)에 위치한 카드 리더(30)를 포함한다. 스마트카드(2)와 통신하기 위해, 카드 리더(30)는 또한, 레이어(C1,C2)와 유사한 역할을 하는 2개의 하위 레이어(CC1(물리 레이어), CC2(데이터 링크 레이어)를 포함한다. 레이어(CC1,CC2)들과의 소프트웨어 인터페이스는, 예컨대 PC/SC 스페시피케이션(PC/SC specification)("제6장, 서비스 제공자")에 의해 기술된다. 레이어(CC1,CC2)들 자체는 ISO 표준 7816-1 내지 7816-4에 의해 구체적으로 기술된다.
부가적인 소프트웨어 레이어(13)는, 단일 레퍼런스(Appli1)하의 애플리케이션 레이어들과 하위 레이어(CC1,CC2)들간의 인터페이스를 형성한다. 상기 레이어(13)가 담당하는 주요 기능은 멀티플렉싱/디멀티플렉싱 기능이다.
스마트카드(2) 종단에는, 레이어(13)와 완전히 유사한 인터페이스 레이어(23)뿐만 아니라, 유사 구조, 즉 2개의 하위 레이어(CC'1(물리 레이어),CC'2(데이터 링크 레이어))가 있다. 상기 레이어(23)는, 단일 모듈(Appli2) 형태로 도시되는, 전술한 프로토콜 레이어(CC'1,CC'2)와 1이상의 애플리케이션 레이어들간의 인터페이스를 제공한다.
스마트카드 리더(30)와 스마트카드(2)간의 통신은 약어 APDU("Application Protocol Data Unit")로 알려진 표준 명령어 수단에 의해 발생한다.
다음과 같은 다양한 프로토콜:
- ETSI GSM 11.11 레커멘데이션;
- 캐릭터 모드 T=0에서, ISO 7816-3 표준에 의해 정의되는 프로토콜;
- 블록 모드 T=1에서, ISO 7816-3 표준에 의해 정의되는 프로토콜; 또는
- HDLC(고레벨 데이터 링크 제어 프로시저(High-Level Data Link Control procedure))에서, ISO 3309 표준에 의해 정의되는 프로토콜이 사용될 수 있다.
본 발명의 범위 내에서, 블록모드에서 ISO 7816-3 프로토콜이 사용되는 것이 바람직하다.
본질적으로 알려진 방법에서, 각각의 프로토콜 레이어는, 동일 레벨의 레이어들간 및 한 레벨로부터 다른 레벨간의 데이터 교환을 허용하는 일정 수의 프리미티브와 관련된다.
현행 기술로는, 전술한 바와 같이 표준형의 스마트카드(2)와의 통신 프로토콜은 인터넷 또는 상기 유형의 임의 네트워크에 사용되는 것들과 호환되지 않기 때 문에, 인터넷(RI)을 통해 스마트카드가 원격 서버(4)와 직접 통신하는 것은 불가능하다. 또한, 브라우저(NW)에 "플러그인(plug-in)"이라 불리는 특정 유형의 프로그램을 설치하는 경우를 제외하고는 브라우저(NW)와 스마트카드(2)간의 직접적인 통신을 형성하는 것은 불가능하다.
도1을 다시 참조하면, 단말기(1)는 인터넷에 연결되는 것으로 가정하며, 전술한 바를 요약하면, 키보드(31) 및 스마트카드(2) 리더(30)를 구비하는 보안 엔클로저(3)를 포함하는 종래기술에 따른 상기 단말기(1)는, 점선으로 표시된 2개의 주요 통신 인터페이스(S1,S2)를 포함한다. 제1 인터페이스(S1)는 상기 보안 엔클로저(3)를 머천트 애플리케이션(10)이 실행되는 단말기(1) 자체에 접속하며, 제2 인터페이스(S2)가 스마트카드(2)와의 통신을 위해 제공된다. 실제로, 인터페이스(S2)는 애플리케이션(300)과 스마트카드(2) 사이에 분포된다. 상기 두 인터페이스 외에 단말기(1)와 인터넷 네트워크(RI)와의 통신을 가능케 하는 외부로의 인터페이스(도2: 특히 회로(11))가 부가된다. 인터페이스(S1)는 2가지 레벨의 다이얼로그: 단말기(1)에 의해 전송된 명령이 인터페이스(S2)에 의해 의미 수정 없이 실행되는 제1 레벨의 트랜스페어런트(transparent) 다이얼로그와, 애플리케이션(300)과 관련된 제2 레벨의 다이얼로그를 수신한다.
따라서, 키보드(31)상에 패스워드를 입력함으로써 행해지는 인증은, 애플리케이션(300)에 의해 해석되고 애플리케이션(300)과 스마트카드(2)간의 인터페이스(S2)를 통한 일련의 데이터 교환으로 변형되어 인터페이스(S1)로 전송되는 명령이다. 상기 교환의 결과는 인터페이스(S1)로 전송된다.
전술한 바와 같이, 현행 기술로는 표준 스마트카드(2)가 인터넷(RI)과의 직접적인 교환을 수용할 수 없다는 사실 외에, 종래기술에 따른 단말기들의 주요 단점은 상주 애플리케이션(300)이 존재한다는 점이다. 이는 흔히, 머천트 애플리케이션이 사용되는 단말기의 특성 및 타입을 근거로 작성되어야 함을 의미하는, 소위 "독점(proprietary)" 애플리케이션이다. 따라서, 상기 애플리케이션은 당연히 단말기마다 다르며, 그 결과 유지보수 작업이 어렵게 된다. 또한, 인터넷형 환경에도 부적합하다.
예컨대, 단말기용 EMV 표준에 따라 머천트 단말기(1)와 스마트카드(2) 리더(30)간의 교환을 표준화하려는 시도로 약어 OCF("Open Card Framework")로 알려진 표준과 같은, 본 발명과 동일한 타입의 애플리케이션에 대한 표준이 제시되어 왔다. 그러나, 상기 표준은 인터넷 환경에서는 직접 사용될 수 없다.
GIE 뱅크 카드로 정의되는 뱅킹(banking) 애플리케이션 분야에서 알려진 소위 "C-SET" 프로토콜이 있다. 상기 프로토콜을 이용하여, 사용자는 웹에서 가능한 머천트 사이트에 접속하여 물품을 구매한다. 트랜잭션시, 머천트 사이트는 구매하는 뱅크 카드 보유자를 인증하기 위해 보안 엔클로저의 엘리먼트들을 액세스한다. 상기 인증은 단말기(비보안 영역)와 보안 엔클로저에 있는 소프트웨어를 실행함으로써 행해진다.
상기 프로토콜은 다음과 같은 단점:
- 단말기 및 보안 엔클로저에서의 특정 소프트웨어의 필요성;
- C-SET에 의해 요구되는 소프트웨어의 인증의 필요성; 및
- 상기 C-SET 프로토콜은 지불 지향적이며, 따라서 웹서버 및 뱅크 카드 지불로부터의 정보를 처리하는 단말기의 소프트웨어는 지불 소프트웨어가 되는 등의 단점이 있다.
이들 특징에 있어서, 상기 프로토콜은 전술한 종래기술의 해결책과 다르지 않다. 상기 프로토콜은 스마트카드의 직접적인 어드레싱을 포함하여 인터넷 프로토콜을 이용한 종단 간 통신을 허용하지 않는다. 그 특이성으로 인해, 상기 프로토콜은 융통성을 제공하지 않으며 다른 분야: 건강 관리, 스마트카드에 저장된 데이터의 업데이트, 포인트 크레디팅(point crediting) 등에 사용하기에 부적합하다.
본 발명의 목적은, 일부 언급된 종래기술에 의한 방법 및 아키텍처의 단점을 제거함과 동시에, 제기된 필요성을 충족시키기 위한 것이다.
본 발명은 스마트카드 리더 및 단말기로부터 웹서버로의 애플리케이션의 마이그레이션 및 스마트카드와의 직접적인 다이얼로그를 허용함으로써, 적어도 스마트카드 리더 및 키보드를 구비한 보안 엔클로저를 포함하는 단말기의 인터넷에서의 이용을 촉진한다.
본 발명은 최대한의 보안성으로 보안 엔클로저에서 소프트웨어의 업데이트 및 추가를 허용한다.
상기 목적을 달성하기 위해, 본 발명의 일 특징에 따르면, 스마트카드는 전술한 ISO 7816 통신 프로토콜에 따른 APDU에 의한 표준형으로 어드레싱되지 않으며, URL(Universal Resource Locator) 어드레스를 이용하여 어드레싱된다. 공지된 바와 같이, URL 어드레스는 IP 어드레스 그 자체 및 포트 번호로 구성된다. 마찬가지로 보안 엔클로저는 상기 URL 어드레싱을 사용한다.
본 발명의 일 특징에 따르면, 상기 스마트카드는 또한 웹서버 및/또는 클라이언트처럼 동작한다.
본 발명에 따른 보안 엔클로저는, 원격 머천트 서버로부터 발생하는 "카드 명령어"가 단말기를 어드레싱하는 엘리먼트를 포함하지 않는다는 의미에서 인터넷 네트워크에 "투명(transparent)"하다. 따라서, 보안 엔클로저와 관련된 리소스들은 인터넷 네트워크로부터 접근할 수 있다. 반면, 스마트카드에 포함된 애플리케이션은, 이하 설명될 URL 어드레싱을 사용함으로써 키보드를 포함하는 보안 엔클로저에 있는 모든 컴퓨팅 리소스들을 어드레싱하고 활성화할 수 있는 기능을 갖는다.
상기 목적을 달성하기 위해, 단말기는 물리적으로:
- 보안 엔클로저에 있는 모든 리소스들을 관리하는 실행 유닛뿐만 아니라 소위 보안-엔클로저 HTTP 서버에 연결되는 카드 리더와 키보드(및/또는 다른 컴퓨팅 리소스)를 적어도 포함하는, 수정된 형태의 보안 엔클로저; 및
- 표준 엘리먼트(메모리 등)와 웹 브라우저 외에, 인터넷 네트워크, 웹 브라우저 및/또는 보안 엔클로저간의 통신을 처리하는 제1의 소위 단말기 통신노드를 포함한다.
또한, 상기 보안 엔클로저는, 상기 제1 통신노드를 통해, 단말기 자체, 상기 소위 보안-엔클로저 HTTP 서버 및/또는 스마트카드 리더간의 통신을 처리하는 제2의 소위 엔클로저 통신노드를 포함한다.
상기 스마트카드는 제3의 소위 카드 통신노드와 HTTP 서버처럼 작용하는 소프트웨어 어댑테이션(adaptation)을 구비하여, 스마트카드에 상주하는 적어도 1개의 애플리케이션과 제2 통신노드간의 인터페이스를 형성한다.
상기 제1 통신노드는 보안 엔클로저와 관련된 포트 번호를 갖는 인터넷 네트워크로부터의 리퀘스트를 상기 엔클로저에 라우팅하며, 상기 인터넷 네트워크와 상기 제2 통신노드와의 직접적인 통신을 형성하기 위해 필요한 프로토콜 어댑테이션을 행하고, 정보 및/또는 명령을 스마트카드에 전달한다.
특정 애플리케이션, 특히 고레벨의 보안을 요구하는 애플리케이션에 대해, 보안 엔클로저는 예컨대 바이오메트릭(biometric) 인증(눈 인식, 음성 및/또는 서명 인식)용 장치, 코프로세서, 또는 외부 인터프리터와 같은 1 이상의 부가적인 컴퓨팅 리소스를 포함하는 것이 바람직하다.
본 발명에 따른 방법의 바람직한 변형예에서, 보안 엔클로저의 엘리먼트 및 리소스들을 실행하거나 이들의 업데이트를 행하는데 요구되는 프로그램들은 인터넷 네트워크를 통해 상기 네트워크에 접속된 원격 웹서버로부터 다운로드된다.
또한, 실시예의 다른 변형예로서, 인터넷 네트워크와 통신노드를 통해 스마트카드에 저장된 애플리케이션(파일, 프로그램, 스크립트 등) 또는 그 일부를 다운로드, 업데이트 및/또는 삭제할 수 있다.
상기 모든 동작들은 인터넷 네트워크에 비해 전술한 보안 엔클로저의 투명성으로 인해 매우 양호한 보안 상태에서 행해질 수 있다.
따라서, 본 발명의 주 목적은 제1 인터넷 통신 프로토콜을 이용하여 인터넷 네트워크를 통해 적어도 1개의 웹서버와 통신하도록 설계된 보안 엔클로저를 구비하고, 상기 보안 엔클로저는 적어도 1개의 스마트카드 리더를 포함하며, 상기 스마트카드는 적어도 1개의 소프트웨어 애플리케이션을 저장하는 단말기로서, 상기 단말기는 제1 통신노드로 호칭되는 적어도 제1 모듈을 포함하는 비보안 영역을 포함하며, 상기 보안 엔클로저는 제2 통신노드로 호칭되는 적어도 제2 모듈을 포함하고, 상기 스마트카드는 제3 통신노드로 호칭되는 적어도 제3 모듈을 포함하는 것을 특징으로 하며, 상기 통신노드들은 소정 수의 소위 표준 소프트웨어 통신 레이어들을 각각 포함하는 제1, 제2 및 제3 프로토콜 스택을 각각 포함하고, 적어도 1개의 제1 소프트웨어 엔티티(entity)를 각각 포함하는 제1, 제2 및 제3의 특정 소프트웨어를 각각 포함하며, 상기 제1 소프트웨어 엔티티들은 2개씩 쌍을 이루는 것을 특징으로 하며, 상기 제1 노드는 상기 제1 인터넷 통신 프로토콜을 이용하여 적어도 상기 단말기와 상기 웹서버간의 통신을 인증하는 것을 특징으로 하며, 상기 제1 및 제2의 특정 소프트웨어의 상기 제1 엔티티들은 제2 소정의 통신 프로토콜을 이용하여 상기 단말기와 상기 보안 엔클로저간의 쌍방향 데이터 교환 세션의 형성을 인증하는 것을 특징으로 하며, 상기 제2 및 제3의 특정 소프트웨어의 상기 제1 엔티티들은 제3 소정의 통신 프로토콜을 이용하여 상기 스마트카드 리더를 통해 적어도 상기 보안 엔클로저와 상기 스마트카드간의 쌍방향 데이터 교환 세션의 형성을 인 증하여 상기 스마트카드의 소프트웨어 애플리케이션들 중 적어도 1개를 상기 웹서버에 접속할 수 있도록 하는 것을 특징으로 한다.
이하 첨부도면을 참조하여 본 발명을 보다 상세히 설명한다.
도1은 스마트카드 리더와 키보드를 구비한 보안 엔클로저를 포함하는 종래기술에 따른 단말기의 예를 개략적으로 도시한다.
도2는 스마트카드를 포함하고 인터넷 네트워크를 통해 웹서버와 통신하는 종래기술에 따른 단말기의 논리 아키텍처를 일반적인 방법으로 도시한다.
도3은 인터넷 네트워크를 통해 원격의 소위 머천트 서버와, 스마트카드 리더, 키보드 및 다른 컴퓨팅 리소스들을 포함하는 보안 엔클로저를 구비한 단말기간의 통신을 허용하는 본 발명에 따른 전형적인 일반 아키텍처를 개략적으로 도시한다.
도4는 도3의 단말기의 보안 엔클로저와 스마트카드간의 통신을 허용하는 모듈들의 논리 아키텍처를 도시한다.
도5는 상기 스마트카드의 논리 아키텍처의 일 특정 실시예를 도시한다.
이하 도3을 참조하여, 본 발명에 따른 보안 엔클로저를 가진 단말기의 전형적인 실시예 및 상기 단말기와 소위 "머천트" 서버간의 통신을 위한 시스템 아키텍처를 설명한다.
단말기(5)는 기본적으로, 나타낸 바와 같이 마이크로컴퓨터 또는 유사 장치 로 구성될 수 있다. 상기 단말기는 도시되지는 않지만 당업자에게 잘 알려진 일정 수의 표준 엘리먼트들: 마이크로프로세서, RAM 및 ROM, 대용량 기억장치(하드디스크 등) 등을 포함한다. 반면, 본 발명 고유의 애플리케이션에서, 단말기(5)는 본질적으로 알려진 물리적 및 논리적 수단에 의해 보안이 유지되는 엔클로저(6)를 포함한다. 상기 보안 엔클로저(6)는 종래기술에서 흔한 엘리먼트들뿐만 아니라 이하 기술될 본 발명 고유의 엘리먼트들을 포함한다. 우선, 상기 보안 엔클로저(6)는 종래기술과 같이 키보드(62), 키보드 드라이버 또는 "핸들러"(620), 및 스마트카드 리더(7)를 포함한다.
단말기(5)는 인터넷(RI) 또는 상기 유형의 임의의 다른 네트워크(인트라넷, 엑스트라넷)를 통해 원격 서버(4)에 접속된다. 도2의 경우와 같이, 단말기(5)는 HTTP/TCP-IP 프로토콜을 포함하여, 인터넷에 사용되는 프로토콜 중 하나를 사용하여 통신할 수 있는 모든 소프트웨어 및 하드웨어 엘리먼트들을 포함한다. 따라서 웹 브라우저(51)를 포함한다는 점 외에, 상기 엘리먼트들을 설명할 필요는 없다. 상기 브라우저(51)는 특히 리퀘스트들을 서버(4)에 제공할 수 있도록 해준다. 웹 브라우저(51)는 단말기(5)에 있는 애플리케이션들 중 하나를 구성하며, 실제로는 복수의 애플리케이션을 포함할 수 있다.
본 발명의 제1 특징에 따르면, 머천트 애플리케이션 고유의 애플리케이션들은 서버(4)에 마이그레이션된다. 따라서, 상기 서버(4)는 구체적으로 HTTP 서버 자체(40) 및 기억수단(41)에 저장된 상기 머천트 애플리케이션들을 포함한다.
본 발명의 다른 특징에 따르면, 단말기는 이하 제1 통신노드 또는 "단말기 통신노드"라 호칭될 제1 특정 모듈(50)을 포함한다. 상기 모듈(50)은 도2와 관련하여 기술된 프로토콜 스택을 포함하는 표준 통신수단 뿐만 아니라 이하 기술될 특정 엘리먼트들도 포함한다.
본 발명의 또 다른 특징에 따르면, 보안 엔클로저(6)는 또한 이하 제2 통신노드 또는 "엔클로저 통신노드"라 호칭될 특정 모듈(50)을 포함한다.
상기 제1 통신노드(50)는 단말기(5)의 비보안 영역에 있는 애플리케이션들(예컨대 웹 브라우저(51)) 뿐만 아니라 네트워크(RI)의 서버들(예컨대 서버(4))이 제2 통신노드(60)를 통해 스마트카드 리더(7)와 스마트카드(8)를 포함하여 보안 엔클로저(6)에 있는 엘리먼트들과 통신할 수 있도록 해준다.
상기 보안 엔클로저(6)는 상기 제2 통신노드(60)와 키보드(62)간에 배치된 이하 "엔클로저 HTTP 서버"라 호칭될 HTTP 서버(61)를 포함한다. 키보드(62)는 보안 엔클로저(6)의 컴퓨팅 리소스들 중 하나를 구성한다. 보안 엔클로저(6)는 본 명세서의 서두에서 기술된 바와 같이, 단일 참조부호 63으로 나타낸 부가적인 리소스(1-i)들을 포함할 수 있다. 이들은 예컨대 바이오메트릭 인증장치, 코프로세서 또는 외부 인터프리터(interpreter)를 포함할 수 있다. 상기 리소스(63)들은 또한 키보드(62)와 유사한 방법으로 HTTP 서버(61)에 접속된다.
상기 HTTP 서버(61)는 또한 카드리더(7)에 접속된다.
통신노드(60)는 스마트카드 리더(7)를 통해 단말기(5)로부터의 리퀘스트를 스마트카드(8)로 라우팅할 수 있도록 하며, 반대 방향으로 통신노드(50)를 통해 스마트카드(8)로부터의 리퀘스트를 HTTP 서버(61) 또는 단말기(5) 중 어느 하나로 라 우팅할 수 있도록 한다.
본 발명의 일 특징에 따르면, 상기 HTTP 서버(61)는 스마트카드(8)만이 보안 엔클로저(6)의 리소스(62-63)들을 이용할 수 있도록 한다.
중간 역할을 하는 스마트카드(8)를 경유하는 경우를 제외하고는 키보드(62) 또는 다른 리소스(63)들의 정보에 액세스할 수 없는 것은 다음과 같은 요인들에 기인한다:
a/ 엔클로저(6)는 물리적으로 안전하며(물리적으로 엘리먼트들에 대한 "스파이"가 불가능하다);
b/ 노드(60)의 프로그래밍은, 엔클로저 HTTP 엔티티(61) 외부로부터 생성된 데이터의 라우팅을 방지하며, 노드(60) 또한 보안 엔클로저(6)의 내부에 위치하므로 보호되고;
c/ 엔클로저 HTTP 엔티티(61)의 프로그래밍은 엔클로저 HTTP 엔티티(61)가 스마트카드(8)로부터 발생하는 것들 외의 리퀘스트들을 수신하지 않도록 하며, 상기 HTTP 서버(61) 또한 보안 엔클로저(6) 내부에 위치하므로 보호된다.
상기 논점 a/ 자체는 종래기술 및 본 발명에 공통되며, 논점 b/ 및 c/는 본 발명 고유의 장점을 구성한다.
이하, 인터넷 네트워크(RI)와 단말기(5)의 비보안 영역의 엘리먼트들간, 단말기(5)와 보안 단말기(6)의 엘리먼트들간, 보안 단말기(6)의 엘리먼트들간, 및 스마트카드 리더(7)를 통한 보안 단말기(6)와 스마트카드(8)간의 통신이 어떻게 발생하는지를 상세히 설명한다.
본 발명의 주요 특징들 중 하나에 따르면, 상기 모든 통신은, 표준 URL 어드레스를 사용하는 인터넷 프로토콜과 완전히 일치하며, 특히 스마트카드(8)와 스마트카드 리더(7)간에 표준화된 통신 프로토콜을 유지하는(즉, 전술한 ISO 7816 표준을 따르는) "균질한(homogeneous)" 것으로 판단될 수 모드에서 발생한다.
웹 브라우저(41)와 "머천트" 서버(4)간의 통신은 어떠한 문제도 유발하지 않으며, 표준 프로토콜 레이어(도2 참조)를 이용하는 HTTP 프로토콜, 및 URL 어드레싱에 따라 정상적으로 발생할 수 있다. 반면, 전술한 바와 같이. 종래 기술에서, RS232 모드에서 통신이 정상적으로 발생하는 단말기(도1:1)의 비보안 엘리먼트들과 보안 엘리먼트들간, 또는 스마트카드 리더(7)를 통한 보안 엔클로저(6)의 엘리먼트들과 스마트카드(8)간의 통신에서 상기의 진술은 성립되지 않는다. 이 때, 도2와 관련하여 설명된 바와 같이, 통신은 프로토콜 레이어들을 구현함으로써 발생하지만, 전술한 ISO 7816-3 표준에 따라, 즉 인터넷 프로토콜과는 일치하지 않는 방법에 의해 APDU 명령어 세트의 도움으로 발생한다.
또한, 본 발명은 통신과 관련된 엘리먼트들의 표준을 유지하면서, 따라서 사소한 변경만으로 통신을 단일화할 수 있는 구체적인 방법들을 제공한다.
우선, 보안 엔클로저(6)와 스마트카드(8)를 변경하여 본 발명에 의한 방법으로 상기 2개의 엔티티들간의 통신을 처리할 수 있는 방법을 설명한다.
본 발명의 일 특징에 따르면, 스마트카드(8)에는. 이하 "카드 통신노드"와 "카드 HTTP 서버"로 각각 호칭될 제3 통신노드(80)와 HTTP 서버(81)를 구성하는 특정 모듈이 제공된다. 상기 스마트카드(8)에 있는 n개의 애플리케이션(A1-An)들은 상 기 HTTP 서버(81)의 제1측을 통해 접속된다. 상기 구성으로, 스마트카드(8)는 웹서버 및/또는 클라이언트에 통합되어 보안 엔클로저(6)를 형성하여 URL 어드레스에 의해 "어드레싱"될 수 있다.
본질적으로 상기 아키텍처는 제1 특정 통신 프로토콜 레이어를 스마트카드(8)에 설치함으로써 본 발명에 따라 구성된다. 마찬가지로 상기 제1 특정 통신 프로토콜 레이어와 일치하는 제2 특정 통신 프로토콜 레이어가 보안 엔클로저(6)에 설치된다.
스마트카드(8)와 보안 엔클로저(6)간의 데이터 교환을 위해, 도3의 블록 다이어그램은 도4에 의해 도시된 논리 아키텍처에 의해 표현될 수 있다.
상기 아키텍처에서, 도2에 도시된 바와 같이, 동일한 역할을 하며 동일한 참조부호를 갖는 종래기술의 프로토콜 레이어들을 볼 수 있다. 따라서 이들은 다시 설명하지 않는다.
반면, 각각의 종단에는, 즉 보안 엔클로저(6)와 스마트카드(8)에는, 2개의 부가적인 특정 프로토콜 레이어(64,84)들이 각각 제공된다.
보안 엔클로저(6)에서, 특정 레이어(64)는 멀티플렉싱 레이어(13)를 통해 스마트카드 리더(3)의 프로토콜 레이어들, 즉 하위 레이어(CC1,CC2)들과 인터페이스를 형성한다. 상기 특정 레이어(64)는 스마트카드(8)와 데이터 패킷을 주고받을 수 있다. 또한, 상기 특정 레이어(64)는 스마트카드(8)와 관련된 기존의 유틸러티용 애플리케이션들을 허용하며, 따라서 이들을 재작성할 필요가 없다.
스마트카드(8) 종단에는, 레이어(64)와 일치하는 특정 레이어(84)의 부가적 인 인스턴스(instance)로 구성되는 완전히 유사한 구조가 존재한다.
즉, 특정 레이어(64,84)들은 3개의 주요 소프트웨어 엘리먼트들:
- 종래의 레이어(CC1,CC2,CC'1,CC'2)들을 통해, 레이어(13,23)들간에 정보의 블록들을 전송하기 위한 모듈(640,840);
- 예컨대 프로토콜 변환 기능을 행하는 "인텔리전트 에이전트(intelligent agent)"(641,841)로 호칭되는 1이상의 소프트웨어; 및
- 특정 인텔리전트 에이전트에 비교될 수 있는 모듈인 특정 환경을 각각 관리하는 모듈(642,842)로 세분된다.
따라서, 보안 엔클로저(6) 및 스마트카드(8)에서, 상기 2개의 엔티티들간에는 통신 프로토콜 스택이 존재한다.
상기 레벨2 엔티티(데이터 링크 레이어)(CC2,CC'2)들은 상기 스마트카드(8)와 보안 엔클로저(6)간의 데이터 교환을 처리한다. 상기 레이어들은 전송 오류를 검출하고 보정할 책임이 있다. 전술한 다양한 프로토콜(ETSI GSM 11.11 레커멘데이션; 캐릭터 모드 T=0 또는 블록 모드 T=1에서 ISO 7816-3 표준에 의해 정의되는 프로토콜; 또는 HDLC 프레임 모드에서 ISO 3309 표준에 의해 정의되는 프로토콜)들이 상기 목적으로 사용될 수 있다. 언급된 바와 같이, 본 발명의 범위 내에서, 블록 모드의 ISO 7816-3 프로토콜이 사용되는 것이 바람직하다.
본질적으로는 공지된 방법에서, 각각의 프로토콜 레이어는 동일 레벨의 레이어들간 및 다른 레벨의 레이어들간의 데이터 교환을 허용하는 일정 수의 프리미티 브들과 관련된다. 예컨대, 레벨2 레이어와 관련된 프리미티브들은 데이터 컨퍼메이션("Data.confirm") 타입일 뿐만 아니라 데이터 리퀘스트("Data.request") 타입 및 카드에 의한 데이터 응답("Data.response") 타입이다.
즉, 특정 레이어(64,84)들은 스마트카드(8)와 호스트, 즉 보안 엔클로저(6)간의 다이얼로그를 담당한다. 이들은 또한 데이터 패킷의 전송 및/또는 수신에 적합한 환경을 형성할 수 있다.
전술한 바와 같이, 레이어들은 3개의 서로 다른 엔티티들을 포함한다.
제1 엔티티인 모듈(640,840)은 본질적으로 소프트웨어 멀티플렉서로 구성된다. 상기 모듈은 프로토콜 데이터 유닛들의 형태로 스마트카드(8)와 호스트 단말기(6)간의 정보 교환을 허용한다. 상기 모듈은 데이터 패킷 스위치와 유사한 역할을 한다. 상기 유닛들은 레벨2 레이어(데이터 링크 레이어)를 통해 송신되거나 수신된다. 상기 특정 통신 프로토콜은 적어도 1쌍의 "인텔리전트 에이전트"들의 통신을 형성할 수 있다. 상기 각 쌍의 제1 에이전트(641)는 보안 엔클로저(6) 종단의 레이어(64)에 위치하며; 제2 에이전트(841)는 스마트카드(8) 종단의 레이어(84)에 위치한다. 2개의 "인텔리전트 에이전트"간의 접속은 하나의 세션과 관련된다. 하나의 세션은 상기 2 에이전트들간의 양방향 데이터 교환이다.
하나의 인텔리전트 에이전트는 보안 엔클로저(6)에 의해 실현되는 환경에 따라 레벨3 및 4 레이어들의 기능 중 전부 또는 일부를 행할 수 있다.
특정 인텔리전트 에이전트는 예컨대 16비트에서 전체 번호(0과 6535간의 1숫자)에 의해 식별되는 것이 바람직하다. 상기 식별자는 예컨대, 목적 레퍼런스와 소 스 레퍼런스를 구성하는 프로토콜 데이터 유닛에서 사용된다.
인텔리전트 에이전트들의 2개의 주요 카테고리: 고정 레퍼런스에 의해 식별되는 "서버"형 에이전트와, 가변 레퍼런스에 의해 식별되는 "클라이언트"형 에이전트들이 있으며, 환경관리모듈(642,842)에 의해 전달된다.
세션을 개방하는 프로세스는 통상적으로 다음과 같다: "클라이언트"형 인텔리전트 에이전트는 "서버"형 인텔리전트 에이전트로 세션을 개방한다. 모듈(642,842)들은 호스트(6) 종단과 스마트카드(8) 종단상의 현재 인텔리전트 에이전트들의 목록을 포함하는 테이블(도시 안됨)들을 관리한다.
인텔리전트 에이전트(641,841)들은 특정 속성과 관련된다. 상기 개념을 설명하기 위해 일부 예를 제시하면, 다음 4가지 속성들:
- "호스트(host)": 보안 엔클로저에 위치한 에이전트;
- "카드(card)": 스마트카드에 위치한 에이전트;
- "클라이언트(client)": 세션을 초기화하는 에이전트; 및
- "서버(server)": 세션 리퀘스트를 수신하는 에이전트들이 인텔리전트 에이전트들과 관련된다.
인텔리전트 에이전트들은 데이터 교환을 가능하게 한다.
환경관리모듈(642,842)들은 전술한 바와 같이 각각 특정 인텔리전트 에이전트들에 비교될 수 있다. 예컨대, 호스트(6)측의 모듈(642)은 보안 엔클로저(6)의 환경(동작 모드), 현재의 다른 에이전트들의 목록 등과 관련된 정보를 구체적으로 관리한다. 스마트카드(8)측의 모듈(842)도 유사 기능들을 갖는다. 상기 2개의 에이 전트들은 하나의 세션을 형성하기 위해 서로 통신할 수 있다.
본 발명의 일 특징에 따르면, 스마트카드(8)는 호스트 시스템, 즉 상기 엔클로저(6)인 가상 단말기 모델을 제공한다. 상기 목적으로, 스마트카드(8)는 웹서버 및/또는 클라이언트처럼 작용한다.
실질적으로, 스마트카드(8)는 단말기(5), 보다 구체적으로는 보안 엔클로저(6)에 대한 루프백(loopback)은 정의하지만, 서버(4)와 같은 외부 서버에 대한 포인팅(pointing)은 정의하지 않는 URL 어드레스를 사용하여 어드레싱되는 것이 바람직하다. 예컨대, 상기 URL의 구조는 통상 다음과 같다:
http://127.0.0.1:8080 (1) 또는
http://localhost:8080 (1a)
여기서, 127.0.0.1은 IP 루프백 어드레스("localhost"는 127.0.0.1의 문자번역)이며, 8080은 포트 번호이다. 리소스(62,63)의 URL 어드레스는 "/xxx"형 접미사로 종결될 수 있다. 예컨대, 키보드(62)의 관리모듈(620)은 다음과 같은 URL 어드레스:
http://localhost:8080/kb (2)
를 가질 수 있다.
단말기(5) 자체(노드 50과 60 사이), 즉 단말기(5)의 비보안 엘리먼트들과 보안 엔클로저(6)간의 통신을 허용하는 논리 아키텍처는 도4에 도시된 것과 유사하다. 결국, 세션들은 전술한 일반적인 스키마에 따라 통신노드(50,60)간에 형성될 수 있다. 상기 보안 엔클로저는 스마트카드와 동일한 포트번호, 즉 상기 예의 8080 하에서 URL 어드레스에 의해 특정적으로 어드레싱될 수 있다.
통신노드(50)는 또한 단말기(5)와 인터넷 네트워크(RI)의 통신을 허용한다. 또한, 전술한 인텔리전트 에이전트들과 관련된 속성들 외에, 다음과 같은 2가지 속성:
- "local": 네트워크와 통신하지 않는 에이전트;
- "network": 네트워크와 통신하는 에이전트;
들이 있다.
단말기(5)는, 전체로서 상기와 동일한 IP 어드레스에 의해 어드레싱된다. 단말기(5)는 적어도 하나의 소위 단말기 애플리케이션, 바람직하게는 웹 브라우저(51)를 호스팅한다. 웹 브라우저(51)는 특정 포트와 관련된다.
예컨대, 웹페이지 기술 및 하이퍼링크(hyperlink)를 이용하여, 사용자(도시 안됨)는 이용 가능한 것들로부터 제품 또는 서비스를 선택하여 머천트 서버(4)에 리퀘스트를 전송한다.
스마트카드(8)에 의해 제공되는 웹 클라이언트-서버 기능 외에, 본 발명의 다른 특징에 따르면, 스마트카드(8)에는 종래의 웹서버에서 인스톨되는 소위 CGI(Common Gateway Interface) 기능과 유사한 메카니즘이 있다.
상기 유형의 기능을 행할 수 있는 본 발명에 따른 전형적인 아키텍처를 기술하기 전에, 스마트카드(8)에서 조차도, CGI 동작모드의 주요 특징을 검토하는 것이 유용하다.
CGI는 웹서버로부터 UNIX(등록상표), DOS 또는 WINDOWS(등록상표) 오퍼레이 팅 시스템용으로 작성된 애플리케이션을 실행시키기 위한 스펙(specification)이다. 예컨대, UNIX 오퍼레이팅 시스템에 대해, 상기 스펙은 CGI 1.1이며, 윈도우즈 95 오퍼레이팅 시스템에 대해 상기 스펙은 CGI 1.3이다.
예컨대, 다음과 같은 유형:
"http://www.host.com/cgi-bin/xxx" (3)
의 URL 어드레스에 대한 HTTP 리퀘스트(여기서, "host"는 일반적으로는 원격인 호스트 시스템을 가리킴)는, "xxx"로 명명되고 호스트 시스템의 "cgi-bin" 디렉토리에 있는 CGI형 명령어 스크립트의 실행으로서 웹서버에 의해 번역된다. 상기 디렉토리가 임의의 이름을 갖는 것은 당연하지만, 관례상 CGI형 스크립트를 저장하는 디렉토리에 주어진 이름이 된다. 스크립트는 호스트 시스템의 오퍼레이팅 시스템의 인스트럭션 세트이며, 그 최종 결과는 전술한 리퀘스트를 전송한 웹 브라우저 또는 머천트 서버와 같은 서버에 액세스하는 임의의 다른 애플리케이션에 전송된다. 상기 스크립트를 작성하기 위해, 예컨대 PERL(등록상표) 언어와 같은 다양한 언어가 사용될 수 있다.
실질적으로, 상기 리퀘스트는 통상적으로 HTML 페이지에 포함되는 폼(form)의 형태로 컴퓨터 화면에 표시된다. 상기 HTML 언어는 URL 어드레스에서 폼을 포스트(post)할 수 있다. 상기 폼은 통상의 입력수단: 텍스트용 키보드, 체크박스 또는 소위 "래디오" 버튼용 마우스 등을 사용하는 사용자에 의해 채워지는 1이상의 필드를 포함한다. 폼의 내용(소위 "히든(hidden)" 정보 및 인스트럭션이 될 수 있음)은 웹서버에 의해 어드레싱된다. 페이지의 HTML 코드는 채워질 데이터 필드의 구조(네 임, 길이, 데이터형 등)뿐만 아니라, 폼의 물리적인 구조(프레임, 그래픽, 색상 및 기타 속성)를 기술한다.
전송은 2가지 주요 타입의 HTTP 포맷으로 행해질 수 있다. 제1 포맷은 소위 "POST" 방법을 사용하며, 제2 포맷은 소위 "GET" 방법을 사용한다. 하나의 포맷 타입 정보는 폼 페이지의 코드에 존재한다.
그러나, 상기 메카니즘은 스마트카드가 본 발명의 일 특징에 따른 웹서버 기능을 제공할지라도 스마트카드에 직접 적용될 수는 없다.
이하 도5를 참조하여, 스마트카드의 웹서버를 통해 종래의 임의 형태의 애플리케이션을 활성화할 수 있는 전형적인 아키텍처를 기술한다.
머천트 서버(4)는 다음과 같이 표현될 수 있는 URL 어드레스:
"http://@card:8080/xxx.8080/cgi-bin/le_cgi?param1+param2" (4)
(여기서, "@card"는 스마트카드를 지원하는 단말기의 IP어드레스(예컨대 식(1)의 루프백 어드레스 "127.0.0.1")이며, "le_cgi"는 스마트카드(8)에서 실행될 특정 CGI 스크립트이고, "param1" 및 "param2"는 상기 스크립트에 입력될 파라미터이다)의 GET 타입 HTTP 리퀘스트를 활성화한다. 상기 리퀘스트는 먼저 통신노드(50,60)(도3)를 통해 보안 엔클로저(6)로 전송된다.
단말기와 스마트카드 리더간에 하나의 세션이 형성된다. 다음, 보안 엔클로저(6)와 스마트카드(8)의 특정 레이어들(64,84)에 위치한 1쌍의 인텔리전트 에이전트(641,841)간에 다른 세션이 형성된다. 그 후, 데이터는 특정 통신 프로토콜 레이어(64)의 패킷 멀티플렉서(640)를 통과한다. 그 후, 데이터는 표준 프로토콜 레이 어(도2)들을 통과한다. 그러나, 이하 설명될 본 발명의 구체적인 특징들을 보다 잘 기술하기 위해, 상기 레이어들은 도5에서 2개의 부분: APDU 명령어 핸들러(65a) 및 하위 프로토콜 레이어(ISO 7816-3 표준)(65b)로 분리된다.
마찬가지로, 스마트카드(8)에서, 데이터는 하위 프로토콜 레이어(85b), 및 카드 종단의 APDU 명령어 핸들러(85a)를 통과한 후, 패킷 멀티플렉서(840)를 통과하여 이하 "웹 에이전트"라 호칭될 인텔리전트 에이전트(841)에 의해 수신된다.
웹 에이전트(841)에 어드레싱된 데이터는, 본질적으로는 종래 방법과 마찬가지로, 특정 "패킷 멀티플렉서" 애플리케이션(840)용으로 설계된 APDU 명령어의 형태로 전송된다. 상기 APDU 명령어 핸들러(85a)는 스마트카드(8)에 있는 다른 애플리케이션(A1-An)들과 완전히 유사한 방법으로 상기 애플리케이션을 선택한다. 즉, 패킷 멀티플렉서(840)는 통상의 카드 애플리케이션으로서의 APDU 명령어 핸들러(85a)에 의해 보여진다.
다음으로, HTTP 리퀘스트는 이하 통상적으로 "cgi-smart"라 호칭될 특정 디렉토리에 대한 레퍼런스, 및 특정 애플리케이션(예컨대 Ai)에 대한 레퍼런스를 탐색하는 웹 에이전트(841)에 의해 분석된다. 따라서, 이때의 완전한 경로는 "cgi-smart/Ai"가 된다.
본 발명에 따른 방법의 일 특징에 의하면, 상기 엔티티는 특정 애플리케이션과 관련된 특정 스크립트를 가리킨다.
본 발명의 다른 특징에 의하면, 특정 인텔리전트 에이전트는, 이하 "스크립 트 번역 에이전트" 또는 간단히 "ATS"라 호칭되는 스마트카드(8)에 설치된다. 이후, 스크립트는 인텔리전트 에이전트 중 하나에 의해 번역된다. 상기 번역은 다음과 같은 다양한 방법:
a/ 이중 용량을 갖춘 웹 에이전트(841) 자체에 의한 방법;
b/ 스마트카드(8)에 있는 모든 스크립트를 번역할 수 있는 단일 스크립트 에이전트에 의한 방법;
c/ 이하, "ATSD"라 호칭되는 전용 스크립트 에이전트(스크립트마다 하나)에 의한 방법; 및
d/ 이중 용량을 갖춘 APDU 명령어 핸들러(85a)의 APDU 에이전트(850a)에 의한 방법으로 행해질 수 있다.
APDU 에이전트(850a)는 APDU 명령어 핸들러 레이어(85a)의 구성요소이다. APDU 명령어 핸들러 레이어(85a)는, 시스템에 의해 송신 및/또는 수신되는 모든 APDU 명령어를 집중시킬 수 있으며, 애플리케이션(A1-An)을 선택할 수 있고, 또한 인텔리전트 에이전트형 인터페이스를 제공할 수 있는 레이어이다. 따라서, 본 발명의 일 특징에 따르면, 에이전트들이 엔클로저(6)에 있든 또는 스마트카드(8)에 있든, 상기 레이어는 모든 인텔리전트 에이전트와(세션을 통해) 통신할 수 있다.
상기 c/ 경우, 세션은 웹 에이전트(841)와 에이전트(ATSD) 중 하나 사이에서 개방된다.
도5는 번역 에이전트들이 "ATSD"형인 전형적인 아키텍처를 나타낸다. 번역 에이전트들은 ATS1 내지 ATSn으로 참조되고 애플리케이션(A1-A n)과 관련된다. 선택된 애플리케이션을 애플리케이션(Ai)이라고 가정하면, 세션은 웹 에이전트(841)와 에이전트(ATSi) 사이에 형성된다.
스크립트 번역 에이전트는 APDU 명령어의 세트를 생성한다. 세션은 번역 에이전트, 예컨대 에이전트(ATSi)와 APDU 에이전트(850a) 사이에서 개방된다. 다음, 명령어는 APDU 에이전트(850a)로 송신된다. APDU 명령어 핸들러(85a)는 "CGI" 애플리케이션(Ai)을 선택하고 상기 애플리케이션에, 번역되고 따라서 정형화되어 이해할 수 있는 명령어인 APDU 명령어를 전송한다.
애플리케이션(Ai)으로부터의 응답은 APDU 명령어 핸들러(85a), APDU 에이전트(850a)로 전송된 후, 다시 에이전트(ATSi)로(보다 일반적으로는 스크립트 번역 에이전트로) 전송된다.
도5는, 기능적인 블록을 연결하는 실선 또는 상기 블록 내부의 점선으로 다양한 라우팅을 도식적으로 나타낸다.
본 발명의 범위를 제한하지 않고, 상기 개념, 즉 지금까지 일반적인 용어로 정의된 어드레싱 테크닉을 설명하기 위해, 이하 케이스 오브 유틸리제이션(case of utilization)이라 호칭되고 CU-n으로 참조되는 각종 가능한 라우팅을 자세히 설명한다.
CU-1: 머천트 서버(4)와 스마트카드(8)간의 통신.
이를 달성하기 위해, 식(1)에 따른 URL 어드레스가 사용된다. 이 때, 키보드(62)를 사용할 필요는 없다. 인터넷 네트워크(RI)를 통해 전송된 리퀘스트는 통신노드(50)에 도달한다. 통신노드(50)는, 스마트카드와 관련된 포트, 즉 보안 엔클로저(6)와 동일한 포트 8080을 식별한다. 통신노드(50)는 리퀘스트를 통신노드(60)에 라우팅한다. 모든 경우에, URL 어드레스에 관계없이, 통신노드(60)는 수신된 데이터 패킷을 스마트카드(80)로 라우팅한다. 끝으로, 스마트카드(80)는 스마트카드(8)의 애플리케이션 중 하나, 예컨대 애플리케이션(A1)을 활성화한다.
CU-2: 스마트카드(8)의 2개의 애플리케이션간의 통신.
예컨대, 애플리케이션(A1)은 애플리케이션(An)과 통신한다. 애플리케이션(A1)으로부터 나오는 리퀘스트는 HTTP 서버(81)를 통해 라우팅된다. 실질적으로, 도4와 관련하여 설명된 스키마에 따라, 세션은 스마트카드(8)내의 한 쌍의 로컬 인텔리전트 에이전트 사이에 형성된다. 여기서, 통신노드(80)는 관련되지 않는다. 따라서, 통신 프로토콜의 변경은 행해지지 않는다.
CU-3: 카드 애플리케이션과 서버(4)내의 머천트 애플리케이션(41)간의 통신.
본 케이스는 특히 스마트카드(8)가 머천트 서버(4)로부터 리퀘스트를 수신할 때(케이스 CU-1), 발생할 수 있다. 스마트카드(8)내의 로컬 애플리케이션, 예컨대 애플리케이션(A1)은 활성화될 수 있다. 그 후, 수신된 리퀘스트에 의해 개시되는 소정의 동작, 예컨대 CGI형 동작이, 스크립트 또는 임의의 동등한 프로세스를 실행함으로써 스마트카드에서 행해진다. 상기 동작은, 도5와 관련하여 설명된 바와 같이, 스크립트 번역 인텔리전트 에이전트의 제어 하에 행해진다.
그 결과, 애플리케이션(A1)은 서버(4)에 어드레싱된 리퀘스트를 제공한다. IP 어드레스를 검사한 후, HTTP 서버(81)는 상기 리퀘스트를 통신노드(80)로 라우팅한다. 도4와 관련하여 설명된 스키마에 따라, 스마트카드(8)와 보안 엔클로저(6) 사이에, 보다 정확하게는 통신노드(60,80) 사이에 하나의 세션이 형성된다. 마찬가지로, IP 어드레스를 검사한 후, 통신노드(60)는 상기 리퀘스트를 통신노드(50)로 전송한다. 통신노드(50)는 IP 어드레스를 검사한 후, 인터넷 네트워크(RI)를 통해 상기 리퀘스트를 최종 목적지, 즉 서버(4)로 전송한다.
1회의 트랜잭션 동안, 프로세스는 스마트카드(8)와 서버(4)간에 수회의 패스(pass)를 포함할 수 있다. 프로세스가 종료될 때(예컨대 CGI의 종료시), 스마트카드로부터의 응답은 머천트 서버(4)로, 특히 연속적인 통신노드(80,60,50)를 통해 전송된다.
CU-4: "카드 애플리케이션"과 "단말기 애플리케이션"간의 통신.
예컨대, 애플리케이션(A1)이 단말기의 프린트 매니저(도시 안됨)와 통신하기 위해 이 방향으로 리퀘스트를 제공한다. HTTP 서버(81)는 IP 어드레스와 포트 번호를 검사한 후, 리퀘스트를 통신노드(80)로 라우팅한다. 그 후, 리퀘스트가 통신노드(50)에 도달할 때까지, 리퀘스트는 케이스 CU-3에서와 동일한 경로를 따른다. 통신노드(50)는 IP 어드레스와 포트 번호를 검사한 후, 어드레싱된 단말기 애플리케이션, 예컨대 프린트 매니저로 상기 리퀘스트를 라우팅한다.
CU-5: "카드 애플리케이션"과 보안 엔클로저의 리소스간의 통신.
우선, 본 케이스 오브 유틸리제이션에서, 스마트카드(8)는 머천트 서버(4)에 대해 "슬레이브(slave)" 모드에 있고 머천트 서버는 어드레싱된 리퀘스트를 스마트카드(8)에 송신한 것으로 가정한다. 상기 리퀘스트는 케이스 CU-1 및 CU-3에서 설명된 방법으로 처리된다. 예컨대, "머천트 CGI"는 도5와 관련하여 설명된 방법으로, 스마트카드(8)에서 실행된다. 상기 스크립트는 스크립트 번역 에이전트들 중 하나, 예컨대 ATSi의 도움으로, 애플리케이션들 중 하나, 예컨대 Ai를 활성화함으로써 실행된다. 머천트 CGI는 키보드(62)상에서 입력된 정보(예컨대 패스워드) 또는 다른 인증 정보(리소스들(63) 중 하나를 구성하는 바이오메트릭 장치로부터의 정보)가 필요한 것으로 가정한다. 상기 CGI는 특정 URL 어드레스로 실행되어야만 한다. 애플리케이션(Ai)은 어드레스가, 예컨대 상기 식(2)에 의해 주어지는 리퀘스트를 송신한다. 접미사 "/kb"는 통신노드(60)에게 상기 리퀘스트를 HTTP 서버(61)로 루프백시킬 필요가 있음을 알리며, 상기 HTTP 서버(61)는 키보드(62)의 드라이버(620)를 활성화하고, 대기중인 정보(예컨대 패스워드의 입력)를 검색한다. 상기 리퀘스트에 대한 응답은 경로는 같지만 반대 방향으로 스마트카드(8)에 전송된다.
머천트 서버(4)로부터의 리퀘스트에 대한 응답은, 이후 머천트 서버(4)로 다시 전송된다. 주고받는 다이얼로그는 케이스 CU-3과 유사한 방법으로 형성될 수 있다.
1회의 트랜잭션 동안 복수의 CGI가 실행될 수 있다.
상기 개념을 설명하기 위해, 제1 "머천트 CGI"는 보안 엔클로저(6)에 포함된 화면(단일 참조부호 63으로 나타낸 리소스들 중 하나)상에, 사용자에게 코드의 입력을 요구하고 양을 표시하는 메시지를 표시할 수 있다. 제2 CGI는, 예컨대 키보드(62)에 의해 전송된 정보를 독출한다. 제3 CGI는 위와 동일한 표시장치에서, "코드 커렉트(CODE CORRECT)"형의 메시지 또는 다른 유사한 메시지를 표시할 수 있다.
CU-6: 단말기와 보안 엔클로저의 리소스들 중 하나간의 통신.
예컨대, 단말기(5)(비보안 영역)의 애플리케이션(예컨대 웹브라우저(51))은 보호된 리소스들 중 하나(예컨대 키보드(62))와 통신할 목적으로, 이 방향으로 리퀘스트를 송신한다. 통신노드(50)는 URL 어드레스를 검사하고, 보안 엔클로저(6)의 포트 번호를 식별하여 리퀘스트를 보안 엔클로저(6)로 전송한다. 통신노드(60)는 프로그래밍의 결과로서, 수신된 리퀘스트들이 보안 엔클로저(6) 내부의 리소스들 중 하나에 어드레싱될지라도, 이들을 스마트카드(8)에 체계적으로 라우팅한다. 이 때, 리퀘스트는 케이스 CU-1과 유사한 경로를 따른다. 리퀘스트를 초기에 어드레싱된 보안 리소스에 재전송하고, 필요에 따라 수정할 필요가 있는지를 결정하는 것은 스마트카드(8)이다. 상기 결정은, 스마트카드, 특히 읽기 전용 메모리(read-only memory)에 암호화된 형태로 저장된 보안 데이터의 검사를 포함하는 식별과정으로부터 행해질 수 있다. 케이스 CU-4에서와 같이, 보안 엔클로저(6) 외부의 엘리먼트는 보호된 리소스에 직접 액세스하지 못한다.
상기 특징에 의해, 종래 기술보다 신뢰성 있는 방법으로, 보안 엔클로저(6)에 상주하는 소프트웨어의 업데이트, 추가 또는 적어도 부분적인 삭제가 가능하다. 사실, 보안 엔클로저(6)의 소프트웨어에 임베딩(embedding)된 키로부터 상기 특성의 수정을 인증하는 것이 보통이다.
스마트카드(8)만이 외부로부터 보안 엔클로저(6)의 보호된 리소스들에 접근할 수 있으므로, 고도의 보안을 유지하면서, 스마트카드에 의해, 소프트웨어 리소스들의 다운로드를 인터넷 서버로부터 행할 수 있다. 다운로드된 데이터는, 민감한 경우, 확실한 알고리즘 및/또는 충분히 긴 암호화 키를 사용하여, 적절히 암호화하기만 하면 된다. 스마트카드(8)에 의해 행해진 중간 기능의 결과로서, 본 발명에서 구현된 메카니즘은 당연히 보안 엔클로저(6)의 기억장치(도시 안됨)에서의 단순한 키의 임베딩보다 강력하다.
또한, 스마트카드에 저장된 소프트웨어들을 다운로드함으로써 스마트카드(8)로부터 직접 보안 엔클로저(6)의 소프트웨어 리소스들의 내용을 수정할 수 있다. 그럼에도 불구하고, 상기 다운로드된 소프트웨어의 크기는 스마트카드 고유의 리소스(기억용량)에 의해 제한되며, 이는 당연히, 서버가 실질적인 컴퓨팅 리소스들을 구비할 수 있는, 웹서버로부터 인터넷 네트워크를 통해 다운로드받는 경우와는 다르다. 다운로드 시간은 당연히 다운로드될 소프트웨어의 양에 의해 결정되지만, 고속 모뎀 및/또는 고속 통신선을 사용하면 도모된 애플리케이션에 이상적인 범위 내의 시간을 유지할 수 있다.
상기 내용에 의해, 본 발명이 소기의 목적을 달성함은 쉽게 알 수 있다.
본 발명은 스마트카드 리더를 통해, 보안 엔클로저와 스마트카드 사이에 종래의 구성요소 및 표준화된 통신모드의 사용 가능성을 유지하면서, HTTP 인터넷 프로토콜과 일치하는 어드레싱 및 통신을 허용한다. 본 발명은 스마트카드를 CGI형의 동작을 행할 수 있는 웹 클라이언트-서버로 변환한다. 본 발명은 인터넷 네트워크를 통해 웹서버로부터 또는 반대방향으로 스마트카드의 직접적이고 인터액티브(interactive)한 어드레싱을 허용한다. 본 발명은 단말기 자체 및 보안 엔클로저에서의 어떠한 특정 머천트 애플리케이션을 요구하지 않는다. 본 발명은 많은 융통성을 제공하며 여러 분야의 애플리케이션에 용이하게 적용된다. 본 발명은 사용되는 구성요소의 사소한 변경만을 요구하고, 상기 변경은 본질적으로 특정 소프트웨어의 인스톨(installation)로서 요약될 수 있으며, 상기 "특정(specific)"이라는 용어는 취급되는 애플리케이션에 종속됨을 의미하는 것은 아니다. 특히, 스마트카드에 상주하는 애플리케이션은 표준 애플리케이션이며 재작성을 요구하지 않는다. 또한, 특정 애플리케이션은 "머천트 애플리케이션" 관점으로부터, 전적으로 원격 웹서버에 위치한다. 원격 웹서버는 복수의 특정 애플리케이션들을 포함할 수 있다. 따라서, 상기 애플리케이션의 업데이트 및 삭제가 용이하고, 또한 새로운 애플리케이션의 추가도 용이하다. 상기 특징은 많은 융통성을 제공한다. 프로그램의 버전은 서버에 접속하는 모든 단말기에 대해 동일하다. 끝으로, 본 발명에 의해 제공되는 보안성은 매우 높다. 인터넷 네트워크를 통한 통신을 위해 강력한 암호화 알고리즘 및 매우 긴 키를 사용할 수 있다. 또한, 본 발명의 일 특징에 의하면, 단말기의 비보안 영역으로부터이든 또는 직접 인터넷으로부터이든, 보안 엔클로저 외 부로부터 생성되는 모든 리퀘스트들은 반드시 스마트카드를 통과해야만 하고 그 독점적인 제어 하에 있어야만 한다. 상기 스마트카드는, 예컨대 상주하는 보안 데이터를 기초로, 상기 리퀘스트들의 용도를 단독으로 결정한다. 또한, 스마트카드는 보유자의 재산이 된다.
그러나, 본 발명은, 특히 도3 내지 도5와 관련하여 명시적으로 설명된 전형적인 실시예에 한정되지 않는다.
일 실시예(도시 안됨)에서, 보안 엔클로저는 스마트카드 리더만을 포함할 수 있으며, 상기 스마트카드에 저장된 애플리케이션은 보유자를 인증하거나 원격 웹서버와 스마트카드 사이의 트랜잭션을 허용함에 있어서 그 자체로서 충분하다. 키보드는 생략될 수 있으며 바이오메트릭 장치와 같은 보호된 리소스들 중 하나로 대체될 수 있다. 끝으로, 상기 제1 스마트카드 리더에 제2 스마트카드 리더, 또는 복수의 스마트카드 리더를 추가할 수 있다.
본 발명은 단말기 아키텍처에 관한 것으로, 특히 보안 엔클로저(secure enclosure)에 배치된 키보드와 스마트카드 리더를 사용하며, 인터넷 네트워크를 통해 서버와 통신하도록 설계된 유형의 단말기에 관한 것이다.

Claims (18)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 인터넷 네트워크(R1)를 통해 적어도 1개의 웹서버(4)와 통신하도록 설계된 스마트 카드(8)와 단말기(5)를 포함하고, 단말기(5)는 비보안 영역과 보안 영역을 포함하고, 보안 영역은 탬퍼(tamper) 저항 엔클로저(6) 내에 존재하고 스마트 카드를 수신하기 위한 적어도 1개의 스마트 카드 리더를 포함하는 어셈블리에 있어서,
    단말기의 비보안 영역은, 인터넷 통신 프로토콜 특유의 개방형 시스템간 상호 접속(open systems interconnection) 레이어의 두 스택을 통해, 인터넷 통신 프로토콜에 따라 비보안 영역과 웹서버 사이의 통신을 형성하기 위한 적어도 제1모듈(50)을 포함하고, 상기 스택중 하나는 상기 제1모듈에 존재하고, 다른 스택은 웹서버(4)에 존재하며,
    탬퍼 저항 엔클로저(6)는, 주변장치 통신 프로토콜(peripheral-device-communication protocol) 특유의 개방형 시스템간 상호접속 레이어의 두 스택을 통해, 주변장치 통신 프로토콜애 따라 탬퍼 저항 엔클로저와 비보안 영역 사이의 통신을 형성하기 위한 적어도 제2모듈(60)을 포함하고, 상기 스택 중 하나는 상기 제2모듈에 존재하고, 다른 스택은 상기 제1모듈에 존재하며,
    스마트 카드(8)는, 스마트-카드 프로토콜 특유의 개방형 시스템간 상호접속 레이어의 두 스택을 통해, 스마트-카드 통신 프로토콜에 따라 스마트 카드와 탬퍼 저항 엔클로저 사이의 통신을 형성하는 적어도 제3모듈(80)을 포함하고, 상기 스택 중 하나는 상기 제3모듈에 존재하고, 다른 스택은 상기 제2모듈에 존재하며,
    주변장치 통신 프로토콜 특유의 개방형 시스템간 상호접속 레이어의 상기 스택의 각각과 스마트-카드 통신 프로토콜 특유의 개방형 시스템간 상호접속 레이어 각각은, 프로토콜 변환 기능을 가지는 인텔리전트 에이전트(641, 841)라 불리는 소프트웨어 엘리먼트가 제공되어, 스마트 카드(8)에 존재하는 적어도 하나의 소프트웨어 애플리케이션(A1-An)과 웹서버(4)에 존재하는 애플리케이션 사이의 인터넷 통신은 각각의 인텔리전트 에이전트에 제공되는 개방형 시스템간 상호접속 레이어의 각각의 스택을 통해 형성되는 것을 특징으로 하는 어셈블리.
  12. 제11항에 있어서, 상기 비보안 영역은 웹브라우저(51)를 포함하고, 상기 인터넷 통신 프로토콜은 상기 단말기(5)와 상기 단말기(5)의 내부 엘리먼트를 선택하기 위한 포트 번호 및 소위 IP 인터넷 어드레스 엘리먼트를 포함하는 URL 어드레싱을 가지는 "HTTP/TCP-IP" 프로토콜을 포함하는 어셈블리.
  13. 제11항에 있어서, 상기 탬퍼 저항 엔클로저(6)는 또한 적어도 하나의 데이터 입력 키보드(62)와 상기 키보드(62)와 상기 제2모듈(60)간에 배치된 적어도 하나의 소위 엔클로저 HTTP 서버(61)를 포함하는 어셈블리.
  14. 제13항에 있어서, 상기 탬퍼 저항 엔클로저는 상기 HTTP 서버(61)에 접속된 적어도 하나의 부가적인 컴퓨팅 리소스(63)를 포함하는 어셈블리.
  15. 제14항에 있어서, 상기 부가적인 컴퓨팅 리소스(63)는 바이오메트릭 인증 장치인 어셈블리.
  16. 제13항에 있어서, 상기 스마트 카드(8)는 복수의 소프트웨어 애플리케이션(A1-An)을 저장하기 위한 수단을 포함하고, 상기 스마트 카드(8)는 상기 저장 수단과 상기 제3모듈(80) 간에 배치된 소위 카드 HTTP 서버(81)를 포함하고, 상기 카드 HTTP 서버(81)는 상기 제2모듈(60)로부터 발생하는 리퀘스트를 수신하자마자 상기 소프트웨어 애플리케이션(A1-An) 중 적어도 하나를 선택적으로 활성화하거나, 또는 상기 소프트웨어 애플리케이션(A1-An)에 의해 전송된 리퀘스트를 상기 제3모듈(80)로 전송하도록 적응된 어셈블리.
  17. 제16항에 있어서, 상기 스마트 카드(8)는 상기 제3모듈(80)로부터 수신된 데이터에 의해 전달된 인스트럭션 세트(instruction set)를 해석하여 커맨드 세트(set of commands)로 번역할 수 있는 소프트웨어 엔티티(ATS1-ATSi)를 또한 포함하고, 상기 커맨드 세트는 상기 스마트 카드(8)에서 활성화될 상기 소프트웨어 애플리케이션(A1-An) 중 하나와 관련되는 어셈블리.
  18. 제11항에 있어서, 상기 웹서버(40)는 상기 제1(50), 제2(60) 및 제3모듈(80)을 통해 상기 스마트 카드(8)의 상기 소프트웨어 애플리케이션(A1-An) 중 적어도 하나와 상호 통신하게 배치되도록 설계된 소위 머천트 소프트웨어 애플리케이션(41)을 저장하는 어셈블리.
KR1020017008288A 1999-10-28 2000-10-26 인터넷형 네트워크를 통해 서버와 통신하도록 설계된스마트카드 리더를 구비한 보안 단말기 KR100791946B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR99/13508 1999-10-28
FR9913508A FR2800540B1 (fr) 1999-10-28 1999-10-28 Terminal securise muni d'un lecteur de carte a puce destine a communiquer avec un serveur via un reseau de type internet

Publications (2)

Publication Number Publication Date
KR20010089735A KR20010089735A (ko) 2001-10-08
KR100791946B1 true KR100791946B1 (ko) 2008-01-07

Family

ID=9551482

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020017008288A KR100791946B1 (ko) 1999-10-28 2000-10-26 인터넷형 네트워크를 통해 서버와 통신하도록 설계된스마트카드 리더를 구비한 보안 단말기

Country Status (12)

Country Link
US (1) US7047558B1 (ko)
EP (1) EP1142256B1 (ko)
JP (2) JP4156838B2 (ko)
KR (1) KR100791946B1 (ko)
CN (1) CN100375478C (ko)
AT (1) ATE374491T1 (ko)
AU (1) AU772508B2 (ko)
DE (1) DE60036535T2 (ko)
FR (1) FR2800540B1 (ko)
HK (1) HK1042182B (ko)
TW (1) TW510098B (ko)
WO (1) WO2001031880A1 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376711B2 (en) * 2000-02-28 2008-05-20 360 Degree Web, Inc. Smart card enabled mobile personal computing environment system
US7421480B2 (en) * 2000-02-28 2008-09-02 O2 Micro International Limited Personal computing environment using mozilla
FR2809892B1 (fr) * 2000-05-31 2002-09-06 Gemplus Card Int Procede de protection contre la modification frauduleuse de donnees envoyees a un support electronique securise
FR2810841B1 (fr) * 2000-06-22 2005-07-29 Bull Cp8 Procede pour le traitement et la transmission de donnees numeriques sur un reseau de telephonie mobile, notamment a la norme "gsm", et systeme embarque a puce electronique
US7861091B2 (en) * 2001-02-28 2010-12-28 O2Micro International Limited Smart card enabled secure computing environment system
US7571257B2 (en) 2001-07-31 2009-08-04 Guthery Scott B Communications network with smart card
FR2828358B1 (fr) 2001-08-02 2004-01-16 Gemplus Card Int Procede et dispositif de mise en compatibilite de communication sur reseau de terminaux, par exemple pour permettre un dialogue avec une application sur une carte a puce
WO2003091861A2 (en) * 2002-04-26 2003-11-06 International Business Machines Corporation Identity management system using single sign-on
WO2003100682A1 (en) 2002-05-29 2003-12-04 Sony Corporation Information processing system
US20070005685A1 (en) * 2002-09-16 2007-01-04 Wunchun Chau Browser-based payment system
JP4597568B2 (ja) * 2003-07-15 2010-12-15 パナソニック株式会社 セキュアデバイス、情報処理端末、及び情報処理システム
CN1324837C (zh) * 2004-02-27 2007-07-04 联想(北京)有限公司 网络计算机切换服务器的方法
JP3839820B2 (ja) * 2004-04-21 2006-11-01 株式会社エヌ・ティ・ティ・ドコモ データ通信装置およびデータ通信方法
KR101048729B1 (ko) * 2004-06-30 2011-07-14 프랑스 텔레콤 다목적 전자 결제 방법 및 시스템
SE528373C2 (sv) * 2004-08-25 2006-10-31 Smarttrust Ab Förfarande och system för apparathantering
CN100388298C (zh) * 2005-01-21 2008-05-14 高晶 共享sam_v实现二代身份证联网阅读的系统及方法
KR100723688B1 (ko) * 2005-07-18 2007-05-30 에스케이 텔레콤주식회사 HTTP(Hyper Text TransferProtocol)를 기반으로 한 스마트카드 명령어송수신 방법
US8588756B2 (en) * 2005-11-30 2013-11-19 Telecom Italia S.P.A. Method and system for updating applications in mobile communications terminals
US8364968B2 (en) * 2006-05-19 2013-01-29 Symantec Corporation Dynamic web services systems and method for use of personal trusted devices and identity tokens
WO2008094453A1 (en) * 2007-01-26 2008-08-07 Verdasys, Inc. Ensuring trusted transactions with compromised customer machines
DE102007040872A1 (de) * 2007-08-29 2009-03-05 Giesecke & Devrient Gmbh Datenkommunikationsverfahren und Datenträger dafür
US7748609B2 (en) * 2007-08-31 2010-07-06 Gemalto Inc. System and method for browser based access to smart cards
US8219804B2 (en) * 2007-09-13 2012-07-10 Ricoh Company, Ltd. Approach for managing device usage data
US10558961B2 (en) * 2007-10-18 2020-02-11 Wayne Fueling Systems Llc System and method for secure communication in a retail environment
CN101621494A (zh) * 2008-07-01 2010-01-06 中国银联股份有限公司 一种支持Web服务的终端处理系统及实现方法
WO2010000131A1 (zh) * 2008-07-01 2010-01-07 中国银联股份有限公司 一种支持web服务的智能卡、终端处理系统以及其实现方法
FR2933560B1 (fr) * 2008-07-07 2012-09-28 Eci Sarl Dispositif d'attestation electronique
KR100920747B1 (ko) * 2008-10-20 2009-10-07 주식회사 스마트카드연구소 스마트카드웹서버를 이용한 가계부 서비스 제공 시스템 및 가계부 서비스 제공방법
EP2202662A1 (en) * 2008-12-24 2010-06-30 Gemalto SA Portable security device protecting against keystroke loggers
US8554924B2 (en) 2009-03-16 2013-10-08 Apple Inc. Connection to multiple accessories with multiple accessory-specific protocols
CN101576989A (zh) 2009-06-09 2009-11-11 阿里巴巴集团控股有限公司 移动终端中实现支付的方法及移动设备
EP2273748A1 (en) * 2009-07-09 2011-01-12 Gemalto SA Method of managing an application embedded in a secured electronic token
CN101957921A (zh) * 2010-09-21 2011-01-26 中兴通讯股份有限公司 射频识别应用信息的显示方法、装置和系统
EP2461544A1 (en) * 2010-12-03 2012-06-06 Gemalto SA Method for allowing a host machine to access a service
CN102025786B (zh) * 2010-12-28 2013-08-14 乐视网信息技术(北京)股份有限公司 一种三网终端互控操作方法与系统
US8311047B1 (en) * 2012-01-12 2012-11-13 Aventura Hq, Inc. Dynamically multiplexing user sessions among multiple terminal devices
DE102012003009A1 (de) * 2012-02-15 2013-08-22 Giesecke & Devrient Gmbh Übertragen von Datenströmen zu und von einem Sicherheitsmodul
US9218462B2 (en) * 2012-04-25 2015-12-22 Hewlett Packard Enterprise Development Lp Authentication using lights-out management credentials
CN104348951B (zh) * 2013-07-24 2016-10-19 北京握奇数据系统有限公司 一种卡片应用管理系统
JP2015125620A (ja) * 2013-12-26 2015-07-06 キヤノン株式会社 情報処理装置、その制御方法、プログラム、及び情報処理システム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997050207A1 (en) * 1996-06-26 1997-12-31 Telia Ab (Publ) Improvements in, or relating to, internet communication systems
WO1998057474A1 (fr) * 1997-06-13 1998-12-17 Gemplus S.C.A. Carte a puce, telephone sans fil, systeme et procede d'acces et de communication par internet

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101303717B (zh) * 1995-02-13 2015-04-29 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
KR100310126B1 (ko) * 1997-06-06 2002-02-19 이토가 미찌야 감광체드럼이통합된회전형현상유니트
US5987538A (en) * 1997-08-15 1999-11-16 Compaq Computer Corporation Apparatus for initiating generation of an inter-processor interrupt by a peripheral device not directly connected to any of the multi-processor local interrupt controllers
US6563821B1 (en) * 1997-11-14 2003-05-13 Multi-Tech Systems, Inc. Channel bonding in a remote communications server system
US6816965B1 (en) * 1999-07-16 2004-11-09 Spyrus, Inc. Method and system for a policy enforcing module
US6792536B1 (en) * 1999-10-20 2004-09-14 Timecertain Llc Smart card system and methods for proving dates in digital files
US6375625B1 (en) * 2000-10-18 2002-04-23 Scion Valley, Inc. In-line specimen trap and method therefor
US6892309B2 (en) * 2002-02-08 2005-05-10 Enterasys Networks, Inc. Controlling usage of network resources by a user at the user's entry point to a communications network based on an identity of the user

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997050207A1 (en) * 1996-06-26 1997-12-31 Telia Ab (Publ) Improvements in, or relating to, internet communication systems
WO1998057474A1 (fr) * 1997-06-13 1998-12-17 Gemplus S.C.A. Carte a puce, telephone sans fil, systeme et procede d'acces et de communication par internet

Also Published As

Publication number Publication date
WO2001031880A1 (fr) 2001-05-03
AU772508B2 (en) 2004-04-29
JP2006139769A (ja) 2006-06-01
FR2800540B1 (fr) 2001-11-30
TW510098B (en) 2002-11-11
HK1042182B (zh) 2008-12-19
EP1142256A1 (fr) 2001-10-10
CN100375478C (zh) 2008-03-12
JP4156838B2 (ja) 2008-09-24
FR2800540A1 (fr) 2001-05-04
US7047558B1 (en) 2006-05-16
ATE374491T1 (de) 2007-10-15
AU1035201A (en) 2001-05-08
DE60036535D1 (de) 2007-11-08
HK1042182A1 (en) 2002-08-02
CN1339217A (zh) 2002-03-06
EP1142256B1 (fr) 2007-09-26
DE60036535T2 (de) 2008-06-26
JP2003513363A (ja) 2003-04-08
KR20010089735A (ko) 2001-10-08

Similar Documents

Publication Publication Date Title
KR100791946B1 (ko) 인터넷형 네트워크를 통해 서버와 통신하도록 설계된스마트카드 리더를 구비한 보안 단말기
CA2332283C (en) Method for accessing an object using a "web" browser cooperating with a smart card, and architecture for implementing the method
KR100723006B1 (ko) 인터넷형 네트워크 서버 디렉토리상에 유저를 등록하고상기 네트워크 상에 유저를 위치 설정하기 위한 방법 및이를 위한 스마트 카드
KR100703117B1 (ko) 유저 스테이션과 네트워크, 특히 실행을 위한 구조를 포함하는 인터넷 간의 통신 방법
US6438600B1 (en) Securely sharing log-in credentials among trusted browser-based applications
KR100886137B1 (ko) 스마트카드에 소프트웨어 콤포넌트, 특히 애플릿을로딩하는 방법
JP3845018B2 (ja) サーバとチップカード端末との間のインターネット型ネットワーク上での高速データストリーム特にマルチメディアデータストリームの送信方法
KR100778322B1 (ko) 인터넷을 통한 멀티미디어 데이터 전송 관리 방법 및 이를위한 스마트 카드
US6839756B1 (en) On board system comprising network interface means, and method for activating applications located in said on-board system
JP2003508838A (ja) 電子取引を行うための方法および装置
US6745247B1 (en) Method and system for deploying smart card applications over data networks
EP1127339B1 (fr) Systemes d'organisation de carte a puce en vue de son utilisation en tant que serveur dans un reseau du type internet
EP1039719A2 (en) Method system for deploying smart card applications over data networks
Urien Programming internet smartcard with XML scripts

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
N231 Notification of change of applicant
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121203

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131209

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee