KR100479336B1 - Java card system and method of loading applet thereof - Google Patents

Java card system and method of loading applet thereof Download PDF

Info

Publication number
KR100479336B1
KR100479336B1 KR10-2002-0079675A KR20020079675A KR100479336B1 KR 100479336 B1 KR100479336 B1 KR 100479336B1 KR 20020079675 A KR20020079675 A KR 20020079675A KR 100479336 B1 KR100479336 B1 KR 100479336B1
Authority
KR
South Korea
Prior art keywords
xml
card
applet
java card
apdu
Prior art date
Application number
KR10-2002-0079675A
Other languages
Korean (ko)
Other versions
KR20040051966A (en
Inventor
이주영
문기영
손승원
Original Assignee
한국전자통신연구원
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 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR10-2002-0079675A priority Critical patent/KR100479336B1/en
Publication of KR20040051966A publication Critical patent/KR20040051966A/en
Application granted granted Critical
Publication of KR100479336B1 publication Critical patent/KR100479336B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 자바 카드 응용 시스템과 그 애플릿 로딩 방법에 관한 것으로, 자바 카드 통신들이 ISO7816 프로토콜에 따라 실행됨에 따라서 터미널 프로그램은 일반적으로 카드 리더가 연결된 단말기에서 직접적으로 수행되어야 하며 다른 단말기나 원격 서버에서는 실행되지 않고 이 둘 사이의 위치가 물리적으로 근접해야 한다는 문제를 해결하여 자바 카드의 활용의 폭을 넓히고 이동성을 보장하기 위하여, 특정한 카드 애플릿과 연동되는 터미널 어플리케이션을 웹 서버에 설치해 두고 카드 리더를 통해 카드가 삽입되었을 때 터미널 어플리케이션과 카드 애플릿간의 XML을 이용한 직접적이고 안전한 통신을 수행한다.The present invention relates to a Java card application system and an applet loading method. As Java card communication is executed according to the ISO7816 protocol, a terminal program generally needs to be executed directly on a terminal to which a card reader is connected, and is executed on another terminal or a remote server. In order to solve the problem that the location between the two should be physically close, to expand the utilization of Java Card and to ensure mobility, the card application is installed through a card reader with a terminal application that works with a specific card applet. When it is inserted, it performs direct and secure communication using XML between the terminal application and the card applet.

Description

자바 카드 응용 시스템과 그 애플릿 로딩 방법{JAVA CARD SYSTEM AND METHOD OF LOADING APPLET THEREOF}JAVA CARD SYSTEM AND METHOD OF LOADING APPLET THEREOF

본 발명은 자바 카드 응용 시스템에 관한 것으로, 더욱 상세하게는 특정한 카드 애플릿과 연동되는 터미널 어플리케이션을 웹 서버에 설치해 두고 카드 리더를 통해 카드가 삽입되었을 때 터미널 어플리케이션과 카드 애플릿간의 직접적이고 안전한 통신을 제공하는 자바 카드 응용 시스템과 그 애플릿 로딩 방법에 관한 것이다.The present invention relates to a Java card application system, and more particularly, to install a terminal application linked to a specific card applet in a web server and to provide direct and secure communication between the terminal application and the card applet when a card is inserted through a card reader. Java card application system and how to load the applet.

도 1은 일반적인 자바 카드 응용 시스템의 구성도이다.1 is a block diagram of a general Java card application system.

자바 카드를 이용하기 위한 환경은 기본적으로 하드웨어로서 터미널(10), 자바 카드(20), 카드 리더(30)를 포함하며, 소프트웨어로는 터미널(10)에서 실행되는 터미널 어플리케이션(11)과 자바 카드(20) 내에 로딩되어 터미널 어플리케이션(11)과 협업을 하는 애플릿(21)으로 구성된다.The environment for using a Java card basically includes a terminal 10, a Java card 20, and a card reader 30 as hardware. The software includes a terminal application 11 and a Java card that are executed in the terminal 10. It is composed of an applet 21 loaded in 20 to collaborate with the terminal application 11.

이와 같은 자바 카드 응용 시스템은, 카드 리더(300)와 자바 카드(200)에 대한 접근 기능을 제공하기 위해 OCF(Open Card Framework) 규격을 따른다. OCF는 다양한 하드웨어 플랫폼에서 스마트 카드에 대한 액세스 환경을 제공하기 위해 설계된 오프 카드용 객체지향 소프트웨어 프레임워크이다. 또한 자바 카드 기술은 자바 카드의 리소스 관리, 통신, 보안, 그리고 어플리케이션의 실행 모델을 지원하는 실행환경(Runtime Environment, 이후 JCRE)에 대해 정의하고 있으며 이는 ISO7816 표준을 따르고 있다.Such a Java card application system, according to the OCF (Open Card Framework) standard to provide access to the card reader 300 and the Java card 200. OCF is an object-oriented software framework for off-cards designed to provide access to smart cards on various hardware platforms. Java Card technology also defines a Runtime Environment (JCRE) that supports Java Card resource management, communications, security, and the application's execution model, which conforms to the ISO7816 standard.

JCRE는 자바 카드 내에서 동작하는 컴포넌트들로 구성되는데 자바 카드 가상 머신(Java Card Virtual Machine, 이후 JCVM), 자바 카드 응용프로그램 프레임워크 클래스, 각 산업에 특수한 확장 클래스, 그리고 JCRE 시스템 클래스들로 구성된다.JCRE consists of components that run inside a Java Card. It consists of the Java Card Virtual Machine (JCVM), the Java Card Application Framework classes, industry-specific extension classes, and the JCRE system classes. .

JCVM은 자바 언어의 특징을 부분적으로 지원하고 이를 실행시킬 수 있는 가상 머신으로 두 부분으로 나누어 질 수 있다. 하나는 터미널 프로그램이 실행되는 오프 카드 환경에서 나머지는 온 카드 환경에서 동작하는 부분이다. 즉, 실행시점에 처리되는 부분 중에서, 클래스 로딩, 바이트 코드 검증, 클래스 링크와 분석 부분은 자원에 제약을 받지 않는 오프 카드에서 처리한다.JCVM is a virtual machine that can partially support and run features of the Java language. It can be divided into two parts. One is the off-card environment in which the terminal program is executed, and the other is the on-card environment. That is, among the parts that are processed at runtime, the class loading, byte code verification, class linking, and analysis parts are processed in an off-card that is not limited by resources.

자바 카드 애플릿은 JCRE 내에서 동작할 수 있도록 여러 가지 규칙을 따르는 자바 프로그램으로 자바 카드 애플릿은 당연히 브라우저 환경에서 실행되기 위한 의도된 것이 아니다. 최초에 카드가 제조될 때 카드내의 ROM에 애플릿이 저장되어 지는 경우도 있으나 대부분 카드가 제조된 이후에 동적으로 다운로드 되어 진다.Java Card Applets are Java programs that follow a number of rules that allow them to run within JCRE. Java Card Applets are not intended to run in a browser environment. Applets are sometimes stored in ROM on the card when the card is first manufactured, but most are downloaded dynamically after the card is manufactured.

애플릿 인스톨 작업은 카드에서 실행 가능하도록 변환된 애플릿인 CAP 파일에서 애플릿 클래스를 로딩해서 JCRE의 실행 상태와 결합하고 애플릿 인스턴스를 생성하는 것이다. 애플릿을 로드하기 위해서 오프 카드 인스톨러는 CAP 파일을 가져와서 APDU 코맨드(Command) 패킷들로 변환시킨다. 온 카드 인스톨러는 오프 카드 인스톨러와 APDU 패킷을 교환함으로써 CAP 파일의 내용을 카드의 영구 메모리에 적고, CAP파일의 클래스들을 카드 내에 존재하는 다른 클래스들과 링크시킨다. 그리고, 인스톨러는 애플릿을 지원하기 위해 JCRE에 의해 사용되어지는 데이터를 생성하고 초기화한다. 인스톨의 마지막 단계에서 인스톨러는 애플릿의 인스턴스를 생성하고 JCRE에 등록한다. 그리고 선택되어 지면 실행된다.Installing an applet involves loading an applet class from a CAP file, which is an applet that has been converted to run on a card, incorporating the execution state of the JCRE, and creating an applet instance. To load the applet, the off-card installer takes the CAP file and converts it into APDU command packets. The on-card installer exchanges APDU packets with the off-card installer to write the contents of the CAP file into the card's permanent memory and links the classes of the CAP file with other classes in the card. The installer then creates and initializes the data used by the JCRE to support the applet. At the end of the installation, the installer creates an instance of the applet and registers it with JCRE. Once selected, it is executed.

앞에서 언급했듯이 애플릿과 터미널 어플리케이션은 APDU 패킷을 교환함으로써 통신한다. APDU 패킷으로 전송된다. APDU 프로토콜은 ISO 7816-4에서 규정되어 있으며 명령 메시지 혹은 응답 메시지를 포함한다. 터미널 어플리케이션은 명령 메시지를 애플릿에 보내고 애플릿은 필요한 작업을 수행한 후에 응답 메시지를 되돌린다.As mentioned earlier, applets and terminal applications communicate by exchanging APDU packets. Sent in APDU packet. The APDU protocol is specified in ISO 7816-4 and includes a command message or response message. The terminal application sends a command message to the applet, which returns the response message after performing the necessary actions.

상기와 같은 자바 카드 응용 시스템은, 사용의 편리성과 개인 정보에 대한 보안을 보장한다는 장점으로 인해 통신, 금융, 교통 그리고 전자상거래 등 여러 분야에서 다용도로 사용되고 있기는 하지만 그 활용성의 폭을 넓히고 자바 카드의 이동성을 보장하기 위해서는 몇 가지 문제점들이 존재한다.The Java Card application system is widely used in various fields such as communication, finance, transportation, and e-commerce because of its convenience of use and security of personal information. There are several problems to ensure the mobility of.

첫째, 카드 통신들이 ISO7816 프로토콜에 따라 실행됨에 따라서 터미널 프로그램과 카드 애플릿 사이의 물리적인 유사성을 존재한다. 터미널 프로그램은 일반적으로 카드 리더가 연결된 단말기에서 직접적으로 수행되어야 하며 다른 단말기나 원격 서버에서는 실행되지 않는다. 단말기와 스마트 카드 사이의 통신이 가능하려면 결과적으로 오프 로더와 인 로더 프로그램의 위치가 물리적으로 근접해야 한다는 문제이다.First, there is a physical similarity between the terminal program and the card applet as card communications are performed according to the ISO7816 protocol. Terminal programs typically need to be run directly on the terminal to which the card reader is connected, and do not run on other terminals or remote servers. As a result, communication between the terminal and the smart card requires that the location of the offloader and inloader program be physically close.

둘째, 상기한 문제점으로 인해 카드를 사용하기 위해서는 카드의 애플릿과 연동되는 터미널 어플리케이션이 카드 리더가 부착된 터미널에 존재하여야 한다. 하지만 사용자가 사용할 가능성이 있는 모든 터미널에 터미널 어플리케이션을 설치한다는 것은 어려울 뿐 아니라, 시간이 경과함에 따라 새로운 기능을 추가하거나 현재 기능을 개선할 때마다 기존의 프로그램을 갱신하는데 많은 비용이 든다.Second, in order to use the card, a terminal application interworking with the applet of the card must exist in the terminal to which the card reader is attached. However, not only is it difficult to install a terminal application on every terminal that a user is likely to use, but it also costs a lot of money to update existing programs over time as new features are added or current features are improved.

셋째, 위에서 언급한 문제를 해결하기 위해서 터미널 프로그램이 설치되어 있는 원격 서버에 사용자가 필요시 접속하여 카드 내의 데이터에 대한 액세스를 수행하는 방법을 고려해 볼 수 있다. 하지만 이러한 경우, 특정 단말기와 원격 서버간의 전송은 인터넷 망을 경유하여 인터넷 형식의 프로토콜로 이루어지기 때문에 종래 기술로는 스마트 카드와 인터넷 망 사이의 직접적인 통신형식을 구축하는 것이 불가능하다는 문제점이 발생한다. 이는 호환되지 않은 서로 다른 형태이기 때문이다.Third, in order to solve the above-mentioned problems, a user may access a remote server where a terminal program is installed when necessary to access data on the card. However, in this case, since the transmission between the specific terminal and the remote server is made of a protocol of the Internet format via the Internet network, there is a problem that it is impossible to establish a direct communication format between the smart card and the Internet network in the prior art. This is because they are incompatible with each other.

본 발명은 이와 같은 종래의 문제점을 해결하기 위하여 제안한 것으로, 특정한 카드 애플릿과 연동되는 터미널 어플리케이션을 웹 서버에 설치해 두고 카드 리더를 통해 카드가 삽입되었을 때 터미널 어플리케이션과 카드 애플릿간의 직접적이고 안전한 통신을 제공하는 데 그 목적이 있다.The present invention has been proposed to solve such a conventional problem, and provides a direct and secure communication between the terminal application and the card applet when a card is inserted through a card reader with a terminal application interworking with a specific card applet installed on a web server. Its purpose is to.

삭제delete

이와 같은 목적을 실현하기 위한 본 발명에 따른 자바 카드 응용 시스템의 애플릿 로딩 방법은, 터미널 어플리케이션이 실행되는 웹 서버, 애플릿이 로드 될 자바 카드, 카드 리더, 상기 카드 리더와 연결된 클라이언트 단말기를 구비하며, 상기 웹 서버와 애플릿은 APDU 패킷을 교환하여 통신을 행하는 자바 카드 응용 시스템의 애플릿 로딩 방법에 있어서, 상기 애플릿 로딩을 위해서 상기 웹 서버 상에서, 일반 클래스 파일을 CAP 파일로 변환하는 단계와, 상기 CAP 파일내의 바이너리 코드를 추출하는 단계와, 상기 추출된 바이너리 코드에 대해 XML 전자서명과 암호화를 수행하는 단계와, 인터넷 프로토콜을 사용해서 상기 XML 형식의 CAP 파일을 상기 자바 카드 쪽의 단말기에 전달하는 단계와, 상기 자바 카드 상에서는, 상기 전달된 XML 형식의 CAP 파일을 복호화하고 서명을 검증하는 단계와, 상기 CAP 파일의 클래스들을 카드 내에 존재하는 다른 클래스들과 링크시키는 단계와, 상기 애플릿을 지원하기 위해 JCRE에 의해 사용되어지는 데이터를 생성하고 초기화하는 단계와, 상기 애플릿의 인스턴스를 생성하고 상기 JCRE에 등록하는 단계를 포함한다.An applet loading method of a Java card application system according to the present invention for realizing the above object includes a web server running a terminal application, a Java card to be loaded with an applet, a card reader, and a client terminal connected to the card reader. An applet loading method of a Java card application system in which the web server and an applet communicate by exchanging APDU packets, the method comprising: converting a general class file into a CAP file on the web server for loading the applet; Extracting the binary code in the database, performing XML digital signature and encryption on the extracted binary code, and delivering the CAP file of the XML format to the terminal of the Java card using an Internet protocol; , On the Java card, decrypts the delivered CAP file in XML format. Verifying the signature and verifying the signature, linking the classes of the CAP file with other classes in the card, generating and initializing the data used by the JCRE to support the applet, Creating an instance of the applet and registering it with the JCRE.

본 발명에 따른 자바 카드 응용 시스템은, 터미널 어플리케이션이 실행되는 웹 서버, 애플릿이 로드 될 자바 카드, 카드 리더, 상기 카드 리더와 연결된 클라이언트 단말기를 구비하며, 상기 웹 서버와 애플릿은 APDU 패킷을 교환하여 통신을 행하는 자바 카드 응용 시스템에 있어서, 상기 웹 서버는, 상기 자바 카드 내에 포함된 인스톨러와 공조해서 상기 애플릿의 로딩을 수행할 인스톨 어플리케이션과, 상기 APDU를 XML로 변환하고 암/복호화와 전자서명/검증을 수행하는 XML 변환기와, 자바 클래스가 상기 자바 카드에서 사용될 수 있도록 CAP 파일로 변환하고 상기 애플릿의 로딩 시 수행하는 작업을 담당하는 컨버터를 구비한 오프 카드 가상머신을 포함하며, 상기 자바 카드는 상기 애플릿의 수행 및 메모리 관리 등을 담당하는 인터프리터를 구비한 온 카드 가상머신과, 상기 애플릿의 로딩을 담당하는 인스톨러와, 상기 APDU를 XML로 변환하고 암/복호화와 전자서명/검증을 수행하는 XML 변환기와, 상기 자바 카드의 운용을 위한 오퍼레이팅 시스템을 포함한다.The Java card application system according to the present invention includes a web server on which a terminal application is executed, a Java card on which an applet is to be loaded, a card reader, and a client terminal connected to the card reader. The web server and the applet exchange APDU packets. In a Java card application system for communicating, the web server is configured to perform an applet loading in cooperation with an installer included in the Java card, and converts the APDU into XML, encrypts / decrypts, and digitally signs / An off-card virtual machine having an XML converter for performing validation and a converter for converting a Java class into a CAP file for use in the Java card and performing the task of loading the applet. An on-car equipped with an interpreter that is responsible for the execution of the applet and memory management Convert the installer and the APDU responsible for the loading of the virtual machine and the applet in XML and includes the operating system for the management of XML translator and the Java Card that performs encryption / decryption and digital signature / verification.

본 발명의 실시예로는 다수개가 존재할 수 있으며, 이하에서는 첨부한 도면을 참조하여 바람직한 실시예에 대하여 상세히 설명하기로 한다. 이 실시예를 통해 본 발명의 목적, 특징 및 이점들을 보다 잘 이해할 수 있게 된다.There may be a plurality of embodiments of the present invention. Hereinafter, preferred embodiments will be described in detail with reference to the accompanying drawings. This embodiment allows for a better understanding of the objects, features and advantages of the present invention.

본 발명에 따른 자바 카드 응용 시스템과 그 애플릿 로딩 방법의 기술 요지는, 자바 카드에 연결된 시스템은 단순히 자바 카드에 네트워크를 연결시켜주는 역할만을 담당할 뿐이며, 시스템 내부에서 어떤 작업도 수행되지 않는다. 따라서 카드와 웹 서버간의 직접적인 통신을 가능하게 한다.The technical gist of the Java card application system and the applet loading method according to the present invention is that the system connected to the Java card merely plays a role of connecting a network to the Java card, and no operation is performed in the system. This enables direct communication between the card and the web server.

또한, 웹 서버에 있는 터미널 어플리케이션과 원격지의 카드 리더에 있는 자바 카드간의 통신을 위해 APDU 프로토콜을 XML 형태로 변환하여 인터넷 프로토콜을 통해 전달하는데, 이때 전송되는 패킷에 XML 전자서명과 암호화를 적용함으로써 데이터의 기밀성 및 안전을 보장하기 위한 메커니즘을 제공한다.In addition, APDU protocol is converted into XML format and transmitted through Internet protocol for communication between terminal application in web server and Java card in remote card reader. Provide mechanisms to ensure confidentiality and safety

도 2는 본 발명에 따른 자바 카드 응용 시스템의 구성도이며, 도 3a는 웹 서버의 상세 구성도이고, 도 3b는 자바 카드의 상세 구성도이다.Figure 2 is a configuration diagram of a Java card application system according to the present invention, Figure 3a is a detailed configuration diagram of the web server, Figure 3b is a detailed configuration diagram of the Java card.

본 발명에 따른 자바 카드 응용 시스템은, 터미널 어플리케이션(110)이 실행되는 웹 서버(100), 애플릿(210)이 로드 될 자바 카드(200), 카드 리더(300), 카드 리더(300)와 연결된 클라이언트 단말기(400)로 구성된다.The Java card application system according to the present invention is connected to a web server 100 on which a terminal application 110 is executed, a Java card 200 into which an applet 210 is to be loaded, a card reader 300, and a card reader 300. It is composed of a client terminal (400).

웹 서버(100)의 소프트웨어 레이어는 도 3a에 나타낸 바와 같이, 터미널 어플리케이션(110), 자바 카드(200) 내에 포함된 인스톨러와 공조해서 애플릿의 로딩을 수행할 인스톨 어플리케이션(120), APDU를 XML로 변환하고 암/복호화와 전자서명/검증을 수행하는 XML 변환기(130), 자바 클래스가 자바 카드(200)에서 사용될 수 있도록 CAP 파일로 변환하고 애플릿의 로딩 시 수행하는 작업을 담당하는 컨버터(141)를 구비한 오프 카드 가상머신(140)을 포함한다.As shown in FIG. 3A, the software layer of the web server 100 cooperates with the installer included in the terminal application 110 and the Java card 200 to install the application application 120 and the APDU to XML to perform applet loading. XML converter 130 that converts and performs encryption / decryption and digital signature / verification, and converter 141 which converts a Java class into a CAP file so that it can be used in Java card 200 and performs tasks when loading the applet. It includes an off-card virtual machine 140 having a.

자바 카드(200)의 소프트웨어 레이어는 도 3b에 나타낸 바와 같이, JCRE(260) 내에서 동작할 수 있도록 여러 가지 규칙을 따라 구현된 애플릿(210), 애플릿(210)의 수행 및 메모리 관리 등을 담당하는 인터프리터(241)를 구비한 온 카드 가상머신(240), 애플릿(210)의 로딩을 담당하는 인스톨러(220), APDU를 XML로 변환하고 암/복호화와 전자서명/검증을 수행하는 XML 변환기(230), 자바 카드(200)의 운용을 위한 오퍼레이팅 시스템(250)을 포함한다. 이때 XML 변환기(230)는 실행 파일 또는 라이브러리 형태로 제공될 수 있다.As illustrated in FIG. 3B, the software layer of the Java card 200 is responsible for the execution of the applet 210, the applet 210, and memory management, which are implemented according to various rules to operate in the JCRE 260. An on-card virtual machine 240 having an interpreter 241, an installer 220 responsible for loading the applet 210, an XML converter that converts APDU into XML and performs encryption / decryption and digital signature / validation ( 230, an operating system 250 for operating the Java card 200. In this case, the XML converter 230 may be provided in the form of an executable file or a library.

이하, 상기와 같이 구성된 본 발명의 자바 카드 응용 시스템에 의하여 수행되는 웹 서버와 자바 카드간의 통신 과정을 도 4 내지 도 6을 참조하여 설명한다.Hereinafter, a communication process between a web server and a Java card performed by the Java card application system configured as described above will be described with reference to FIGS. 4 to 6.

먼저, 웹 서버(100) 상의 터미널 어플리케이션(110)으로부터 자바 카드(200)에 응용 애플릿(210)을 로딩하는 과정을 설명하고자 한다.First, a process of loading the application applet 210 from the terminal application 110 on the web server 100 to the Java card 200 will be described.

앞서 설명했듯이 터미널 어플리케이션(110)과 카드 애플릿(210)간의 인터넷을 통한 통신은 자바 카드(200)에서 사용하는 프로토콜과 인터넷 프로토콜이 호환되지 않은 서로 다른 형태이기 때문에 직접적인 통신형식을 구축하는 것이 불가능하다. 따라서 이 둘 간의 통신을 지원하기 위해 본 발명에서는 XML을 사용한다. XML은 웹 표준 문서 포맷으로 데이터 형식의 정의와 검증을 위한 DTD 정의, 데이터의 변환을 위한 XSL 제공, 완벽한 웹 지원 등의 장점 때문에 웹 상의 다양하고 광범위한 자료 교환을 위한 차세대 인터넷 표준 언어로 사용되고 있다.As described above, the communication through the Internet between the terminal application 110 and the card applet 210 is not possible to establish a direct communication format because the protocol used by the Java card 200 and the Internet protocol are incompatible with each other. . Therefore, the present invention uses XML to support the communication between the two. XML is a web standard document format that is used as the next-generation Internet standard language for exchanging various and diverse data on the web because of its advantages such as defining DTD for data format definition and validation, providing XSL for data conversion, and full web support.

도 4를 참조하면, 애플릿(210) 로딩을 위해서 웹 서버(100)의 컨버터(141)는 JVM(Java Card Virtual Machine)에 포함된 컨버젼 툴(컨버터)를 이용해서 일반 클래스 파일을 CAP 파일로 변환하며, 인스톨 어플리케이션(120)은 CAP 파일내의 바이너리 코드를 추출한다. 여기서, CAP 파일을 XML 변환기(130)의 입력으로 사용하기 위해 바이너리 코드로 변환하는 과정은 일반 파일을 바이너리 스트림으로 변환하는 자바 코드에 의해 쉽게 프로그래밍 되어 인스톨 어플리케이션(120)(예로서, 오프 카드 인스톨 프로그램)의 기능으로 첨가될 수 있다. XML 변환기(130)는 인스톨 어플리케이션(120)에 의해 추출된 바이너리 코드에 대해 XML 전자서명과 암호화를 수행하며, 터미널 어플리케이션(110)은 인터넷 프로토콜을 사용해서 XML 형식의 CAP 파일을 자바 카드(200) 쪽의 단말기(400)로 전달한다.Referring to FIG. 4, in order to load the applet 210, the converter 141 of the web server 100 converts a general class file into a CAP file using a conversion tool (converter) included in a Java Card Virtual Machine (JVM). The installation application 120 extracts the binary code in the CAP file. Here, the process of converting the CAP file into binary code for use as an input of the XML converter 130 is easily programmed by Java code that converts a general file into a binary stream so that the installation application 120 (eg, off-card installation) can be used. Program) can be added as a function. The XML converter 130 performs XML digital signature and encryption on the binary code extracted by the installation application 120, and the terminal application 110 uses the Internet protocol to convert the CAP file of the XML format into the Java card 200. Transfer to the terminal 400 of the side.

자바 카드(200)의 XML 변환기(230)는 웹 서버(100)로부터 전달된 XML 형식의 CAP 파일을 복호화하고 서명을 검증한다. 인스톨러(220)는 CAP 파일의 내용을 카드의 영구 메모리에 적고, CAP 파일의 클래스들을 카드 내에 존재하는 다른 클래스들과 링크시킨다. 아울러, 애플릿(210)을 지원하기 위해 JCRE에 의해 사용되어지는 데이터를 생성하고 초기화하며, 인스톨의 마지막 단계로 애플릿의 인스턴스를 생성하고 JCRE에 등록하는 절차를 거쳐 애플릿(210)의 로딩과 인스톨이 수행된다.The XML converter 230 of the Java card 200 decrypts the CAP file in XML format transmitted from the web server 100 and verifies the signature. The installer 220 writes the contents of the CAP file into the permanent memory of the card, and links the classes of the CAP file with other classes existing in the card. In addition, the loading and installation of the applet 210 is performed by creating and initializing data used by the JCRE to support the applet 210, and creating an instance of the applet and registering it with the JCRE as a final step of the installation. Is performed.

다음으로, 본 발명에서는 웹 서버 상의 터미널 어플리케이션과 원격지의 카드 내에 있는 애플릿간의 안전한 통신을 위해서 APDU 프로토콜을 XML로 변환 시 전자서명과 암호화를 수행하는데, 이 과정을 도 5를 참조하여 설명하고자 한다. XML 전자서명 및 암호화는 XML 문서뿐 아니라 모든 종류의 디지털 컨텐츠에 대해 전자서명과 암호화를 수행하고 그 결과를 XML 문서로 산출한다.Next, the present invention performs digital signature and encryption when converting the APDU protocol to XML for secure communication between a terminal application on a web server and an applet in a card at a remote location. This process will be described with reference to FIG. 5. XML digital signatures and encryption perform digital signatures and encryption on all types of digital content, not just XML documents, and produce the results as XML documents.

웹 서버(100) 상에서, 코멘드(Command) APDU를 생성하는 단계(S501)와, 생성된 APDU에 대해 XML 전자서명을 수행하는 단계(S503)와, XML 암호화를 수행하는 단계(S505)와, 암호화된 XML 전자서명을 인터넷 프로토콜을 이용하여 전송하는 단계(S507)를 거치며,On the web server 100, generating a command APDU (S501), performing an XML digital signature on the generated APDU (S503), performing an XML encryption (S505), and encryption Through the step (S507) of transmitting the XML digital signature using the Internet protocol,

XML 형식의 코멘드 APDU를 전송 받은 자바 카드(200)에서, XML 암호에 대하여 복호화하는 단계(S509∼S511)와, XML 전자서명에 대한 검증 단계(S513)와, 코멘드 APDU를 처리하는 단계(S515)로 이루어진다.In the Java card 200 receiving the command APDU in the XML format, decrypting the XML cipher (S509 to S511), verifying the XML digital signature (S513), and processing the command APDU (S515). Is done.

각 단계별 절차를 상세히 설명하면 다음과 같다.Each step-by-step procedure is described in detail as follows.

S501 : 코멘드 APDU 생성 단계S501: Command APDU generation step

앞에서 언급했듯이 애플릿(210)과 터미널 어플리케이션(110)은 APDU 패킷을 교환함으로써 통신한다. APDU 프로토콜은 ISO 7816-4에서 규정되어 있다. 따라서 ISO 규격에 따라 원하는 코멘드 APDU 메시지를 생성한다.As mentioned above, the applet 210 and the terminal application 110 communicate by exchanging APDU packets. The APDU protocol is specified in ISO 7816-4. Therefore, the desired command APDU message is generated according to the ISO standard.

S503 : XML 전자서명 단계S503: XML digital signature step

단계 S501에서 생성된 APDU 메시지에 전자서명을 하기 위해서 송신자, 즉 터미널 어플리케이션(110)이 수행되고 있는 웹 서버(100) 측에 할당된 개인키를 이용하여 전자서명을 수행한다.In order to digitally sign the APDU message generated in step S501, the electronic signature is performed using the private key assigned to the sender, that is, the web server 100 on which the terminal application 110 is being executed.

S505 : XML 암호화 단계S505: XML Encryption Step

XML 암호화를 위해서 수신자, 즉 카드 사용자 혹은 카드를 위해 할당된 공개키와 인증서를 획득하여 인증서의 유효성을 검토하며, 전송되는 APDU를 암호화하는데 사용될 비밀키를 생성한 후 XML 전자서명 단계에서 서명한 데이터에 암호화를 수행하고, 암호화를 수행하기 위해 사용된 비밀키를 할당된 공개키를 사용해 암호화한다.For XML encryption, the validity of the certificate is obtained by obtaining the public key and certificate assigned for the recipient, that is, the card user or the card, and the data signed by the XML digital signature step after generating the secret key used to encrypt the transmitted APDU. And encrypts the private key used to perform the encryption using the assigned public key.

S507 : 인터넷 프로토콜을 이용한 전송 단계S507: Transmission Step Using Internet Protocol

웹 서버(100)는 XML 암호화 단계를 통해서 서명과 암호화된 결과로 얻어진 XML 형태의 문서와 암호화된 비밀키를 http 등의 인터넷 프로토콜을 사용하여 자바 카드(200)에 전송한다.The web server 100 transmits the document and the encrypted secret key of the XML form obtained as a result of the signature and encryption through the XML encryption step to the Java card 200 using an Internet protocol such as http.

S509∼S511 : XML 복호화 단계S509 to S511: XML decryption step

자바 카드(200)는 전송 받은 비밀키를 수신자, 즉 카드 사용자 혹은 카드(200)를 위해 할당된 개인키를 사용해 복호화하며, 복호화된 비밀키를 이용해서 암호화된 XML 문서를 복호화 한다.The Java card 200 decrypts the received secret key using the recipient, that is, the card user or the private key assigned for the card 200, and decrypts the encrypted XML document using the decrypted secret key.

S513 : XML 전자서명 검증 단계S513: XML digital signature verification step

단계 S511에서 얻어진 XML 문서를 검증한다. 이때 송신자의 공개키, 즉 터미널 어플리케이션(110)이 수행되고 있는 웹 서버(100)의 공개키를 사용한다.The XML document obtained in step S511 is verified. In this case, the public key of the sender, that is, the public key of the web server 100 where the terminal application 110 is being used is used.

S515 : 코멘드 APDU 처리 단계S515: Command APDU processing step

단계 S511에서 얻어진 XML 문서를 ISO 규격에 맞는 코멘드 APDU 형식으로 변환한다.The XML document obtained in step S511 is converted into a command APDU format conforming to the ISO standard.

한편, 자바 카드(200)의 애플릿(210)에서 코멘드 APDU의 수행결과로 리스폰스(Response) APDU를 생성해서 보낼 경우에도 상기한 바와 같은 XML 전자서명과 암호화가 적용되는데, 이 과정은 도 6에 나타낸 바와 같다.On the other hand, when generating and sending a response APDU as a result of the command APDU in the applet 210 of the Java card 200, the XML digital signature and encryption as described above is applied, which is shown in FIG. As shown.

자바 카드(200) 상에서, 리스폰스(Response) APDU를 생성하는 단계(S602)와, 생성된 APDU에 대해 XML 전자서명을 수행하는 단계(S604)와, XML 암호화를 수행하는 단계(S606)와, 암호화된 XML 전자서명을 인터넷 프로토콜을 이용하여 전송하는 단계(S608)를 거치며,On the Java card 200, generating a response APDU (S602), performing an XML digital signature on the generated APDU (S604), performing an XML encryption (S606), and encryption Through the step (S608) of transmitting the XML digital signature using the Internet protocol,

XML 형식의 리스폰스 APDU를 전송 받은 웹 서버(100)에서, XML 암호에 대하여 복호화하는 단계(S610∼S612)와, XML 전자서명에 대한 검증 단계(S614)와, 리스폰스 APDU를 처리하는 단계(S616)로 이루어진다.In the web server 100 receiving the response APDU in XML format, decrypting the XML cipher (S610 to S612), verifying the XML digital signature (S614), and processing the response APDU (S616). Is done.

각 단계별 절차를 상세히 설명하면 다음과 같다.Each step-by-step procedure is described in detail as follows.

S602 : 리스폰스 APDU 생성 단계S602: Response APDU generation step

앞에서 언급했듯이 애플릿(210)과 터미널 어플리케이션(110)은 APDU 패킷을 교환함으로써 통신한다. APDU 프로토콜은 ISO 7816-4에서 규정되어 있다. 따라서 ISO 규격에 따라 원하는 리스폰스 APDU 메시지를 생성한다.As mentioned above, the applet 210 and the terminal application 110 communicate by exchanging APDU packets. The APDU protocol is specified in ISO 7816-4. Therefore, a desired response APDU message is generated according to the ISO standard.

S604 : XML 전자서명 단계S604: XML Digital Signature Step

단계 S602에서 생성된 리스폰스 APDU 메시지에 전자서명을 하기 위해서 송신자, 즉 자바 카드(200) 측에 할당된 개인키를 이용하여 전자서명을 수행한다.In order to digitally sign the response APDU message generated in step S602, the digital signature is performed using the private key assigned to the sender, that is, the Java card 200.

S606 : XML 암호화 단계S606: XML Encryption Step

XML 암호화를 위해서 수신자, 즉 웹 서버(100)를 위해 할당된 공개키와 인증서를 획득하여 인증서의 유효성을 검토하며, 전송되는 APDU를 암호화하는데 사용될 비밀키를 생성한 후 XML 전자서명 단계에서 서명한 데이터에 암호화를 수행하고, 암호화를 수행하기 위해 사용된 비밀키를 할당된 공개키를 사용해 암호화한다.For XML encryption, the validity of the certificate is obtained by acquiring the public key and certificate assigned for the receiver, that is, the web server 100, the secret key to be used for encrypting the transmitted APDU is generated and signed in the XML digital signature step. Encrypt the data and encrypt the private key used to perform the encryption using the assigned public key.

S608 : 인터넷 프로토콜을 이용한 전송 단계S608: Transmission Step Using Internet Protocol

자바 카드(200)는 XML 암호화 단계를 통해서 서명과 암호화된 결과로 얻어진 XML 형태의 문서와 암호화된 비밀키를 http 등의 인터넷 프로토콜을 사용하여 웹 서버(100)로 전송한다.The Java card 200 transmits the XML-type document and the encrypted secret key obtained as a result of the signature and encryption through the XML encryption step to the web server 100 using an Internet protocol such as http.

S610∼S612 : XML 복호화 단계S610 to S612: XML decryption step

웹 서버(100)는 전송 받은 비밀키를 수신자, 즉 웹 서버(100)를 위해 할당된 개인키를 사용해 복호화하며, 복호화된 비밀키를 이용해서 암호화된 XML 문서를 복호화 한다.The web server 100 decrypts the received secret key using the private key assigned for the receiver, that is, the web server 100, and decrypts the encrypted XML document using the decrypted secret key.

S614 : XML 전자서명 검증 단계S614: XML digital signature verification step

단계 S612에서 얻어진 XML 문서를 검증한다. 이때 송신자의 공개키, 즉 애플릿(210)이 로딩된 자바 카드(200)의 공개키를 사용한다.The XML document obtained in step S612 is verified. At this time, the sender's public key, that is, the public key of the Java card 200 loaded with the applet 210 is used.

S616 : 리스폰스 APDU 처리 단계S616: response APDU processing step

단계 S612에서 얻어진 XML 문서를 ISO 규격에 맞는 리스폰스 APDU 형식으로 변환한다.The XML document obtained in step S612 is converted into a response APDU format conforming to the ISO standard.

상기에서는 본 발명의 일 실시예에 국한하여 설명하였으나 본 발명의 기술이 당업자에 의하여 용이하게 변형 실시될 가능성이 자명하다. 이러한 변형된 실시예들은 본 발명의 특허청구범위에 기재된 기술사상에 포함된다고 하여야 할 것이다.In the above description, but limited to one embodiment of the present invention, it is obvious that the technology of the present invention can be easily modified by those skilled in the art. Such modified embodiments should be included in the technical spirit described in the claims of the present invention.

전술한 바와 같이 본 발명은 터미널 어플리케이션이 일반적으로 카드 리더가 연결된 단말기에서 직접적으로 수행되어야 하며, 프로토콜의 문제 때문에 다른 단말기나 원격 서버에서는 직접적으로 실행되지 못한다는 문제를 해결한다.As described above, the present invention solves the problem that a terminal application generally needs to be executed directly on a terminal to which a card reader is connected, and cannot be executed directly on another terminal or a remote server due to a protocol problem.

아울러, 사용자가 사용할 가능성이 있는 모든 터미널에 터미널 어플리케이션을 설치할 필요가 없으며, 시간이 경과함에 따라 새로운 기능을 추가하거나 현재 기능을 개선할 때마다 카드에 인스톨되어 있는 기존의 애플릿을 갱신하기 위해서 간단히 인터넷을 통해 다운로드 받을 수 있다는 장점을 지닌다.In addition, there is no need to install a terminal application on every terminal that the user might be able to use, and simply over the Internet to update existing applets installed on the card as new features are added or current features are improved over time. It has the advantage that it can be downloaded through.

또한, 터미널 어플리케이션과 자바 카드 사이에서 통신을 위해 사용하는 APDU 프로토콜을 XML 형태로 변환할 때 XML 전자서명과 암호화 기술을 이용함으로써 전달되는 메시지에 대한 인증, 무결성, 부인봉쇄, 기밀성을 보장할 수 있으며, 기존의 XML 기반의 어플리케이션들과 쉽게 연동할 수 있다는 장점이 있다.In addition, when converting the APDU protocol used for communication between the terminal application and the Java Card into XML format, XML digital signature and encryption technology can be used to ensure authentication, integrity, non-repudiation, and confidentiality of the transmitted message. The advantage is that it can be easily integrated with existing XML-based applications.

도 1은 일반적인 자바 카드 응용 시스템 구성도.1 is a configuration diagram of a typical Java card application system.

도 2는 본 발명에 따른 자바 카드 응용 시스템의 구성도.2 is a block diagram of a Java card application system according to the present invention.

도 3a는 본 발명에 따른 자바 카드 응용 시스템에서 웹 서버의 구성도.Figure 3a is a block diagram of a web server in the Java card application system according to the present invention.

도 3b는 본 발명에 따른 자바 카드 응용 시스템에서 자바 카드의 구성도.Figure 3b is a block diagram of a Java card in the Java card application system according to the present invention.

도 4는 본 발명에 따른 자바 카드 응용 시스템에서 애플릿 로딩하는 과정을 설명하는 흐름도.4 is a flowchart illustrating a process of loading an applet in a Java card application system according to the present invention.

도 5는 본 발명에 따른 자바 카드 응용 시스템에서 코멘드 APDU의 전송 과정을 설명하는 흐름도.5 is a flowchart illustrating a process of transmitting a command APDU in a Java card application system according to the present invention.

도 6은 본 발명에 따른 자바 카드 응용 시스템에서 리스폰스 APDU의 전송 과정을 설명하는 흐름도이다.6 is a flowchart illustrating a transmission process of a response APDU in a Java card application system according to the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

100 : 웹 서버 110 : 터미널 어플리케이션100: web server 110: terminal application

120 : 인스톨 어플리케이션 130 : XML 변환기120: installation application 130: XML converter

140: 오프 카드 가상머신 200: 자바 카드140: off-card virtual machine 200: Java card

210 : 애플릿 220 : 인스톨러210: applet 220: installer

230 : XML 변환기 240 : 온 카드 가상머신230: XML Converter 240: On Card Virtual Machine

300 : 카드 리더 400 : 단말기300: card reader 400: terminal

Claims (7)

삭제delete 삭제delete 터미널 어플리케이션이 실행되는 웹 서버, 애플릿이 로드 될 자바 카드, 카드 리더, 상기 카드 리더와 연결된 클라이언트 단말기를 구비하며, 상기 웹 서버와 애플릿은 APDU 패킷을 교환하여 통신을 행하는 자바 카드 응용 시스템의 애플릿 로딩 방법에 있어서,A web server running a terminal application, a Java card into which an applet is to be loaded, a card reader, and a client terminal connected to the card reader, wherein the web server and applet are loaded with an applet of a Java card application system that communicates by exchanging APDU packets. In the method, 상기 애플릿 로딩을 위해서 상기 웹 서버 상에서, 일반 클래스 파일을 CAP 파일로 변환하는 단계와, 상기 CAP 파일내의 바이너리 코드를 추출하는 단계와, 상기 추출된 바이너리 코드에 대해 XML 전자서명과 암호화를 수행하는 단계와, 인터넷 프로토콜을 사용해서 상기 XML 형식의 CAP 파일을 상기 자바 카드 쪽의 단말기에 전달하는 단계와,Converting a generic class file into a CAP file, extracting binary code in the CAP file, and performing XML digital signature and encryption on the extracted binary code on the web server for loading the applet And transmitting the CAP file of the XML format to the terminal of the Java card using an internet protocol. 상기 자바 카드 상에서는, 상기 전달된 XML 형식의 CAP 파일을 복호화하고 서명을 검증하는 단계와, 상기 CAP 파일의 클래스들을 카드 내에 존재하는 다른 클래스들과 링크시키는 단계와, 상기 애플릿을 지원하기 위해 JCRE에 의해 사용되어지는 데이터를 생성하고 초기화하는 단계와, 상기 애플릿의 인스턴스를 생성하고 상기 JCRE에 등록하는 단계를 포함하는 자바 카드 응용 시스템의 애플릿 로딩 방법.On the Java Card, decrypting the delivered CAP file in XML format and verifying a signature, linking the classes of the CAP file with other classes in the card, and supporting JCRE to support the applet. Generating and initializing data to be used by the method; and creating an instance of the applet and registering it with the JCRE. 제 3 항에 있어서,The method of claim 3, wherein 상기 웹 서버 상의 전자서명과 암호화 수행 단계는, 코멘드 APDU를 생성하는 단계와, 상기 생성된 APDU에 대해 상기 웹 서버 측에 할당된 개인키를 이용하여 XML 전자서명을 수행하는 단계와, 상기 자바 카드 사용자 혹은 자바 카드를 위해 할당된 공개키와 인증서를 획득하여 인증서의 유효성을 검토하며 전송되는 APDU를 암호화하는데 사용될 비밀키를 생성한 후 상기 XML 전자서명 단계에서 서명한 데이터에 암호화를 수행하고 암호화를 수행하기 위해 사용된 비밀키를 할당된 공개키를 사용해 암호화하는 단계와, 상기 암호화된 XML 전자서명을 인터넷 프로토콜을 이용하여 상기 자바 카드로 전송하는 단계를 포함하는 자바 카드 응용 시스템의 애플릿 로딩 방법.The step of performing digital signature and encryption on the web server may include generating a command APDU, performing an XML digital signature on the generated APDU using a private key assigned to the web server, and the Java card. Obtain the public key and certificate assigned for the user or Java card, check the validity of the certificate, generate the secret key to be used to encrypt the transmitted APDU, perform encryption on the data signed in the XML digital signature step and perform encryption. Encrypting the secret key used to perform the assigned public key, and transmitting the encrypted XML digital signature to the Java card using an internet protocol. 제 4 항에 있어서,The method of claim 4, wherein 상기 자바 카드 상의 복호화 및 서명 검증 단계는, 상기 웹 서버로부터 전송 받은 비밀키를 상기 자바 카드 사용자 혹은 자바 카드를 위해 할당된 개인키를 사용해 복호화하며 복호화된 비밀키를 이용해서 암호화된 상기 XML 문서를 복호화 하는 단계와, 상기 웹 서버의 공개키를 사용하여 상기 복호화된 XML 문서를 검증하는 단계와, 상기 검증된 XML 문서를 코멘드 APDU 형식으로 변환하는 단계를 포함하는 자바 카드 응용 시스템의 애플릿 로딩 방법.The decryption and signature verification on the Java card may include decrypting the secret key received from the web server using the Java card user or the private key assigned for the Java card and encrypting the XML document encrypted using the decrypted secret key. Decrypting, verifying the decrypted XML document using the public key of the web server, and converting the verified XML document into a command APDU format. 제 5 항에 있어서,The method of claim 5, wherein 상기 자바 카드에서, 상기 코멘드 APDU의 수행결과로 리스폰스 APDU를 생성하는 단계와, 상기 생성된 APDU에 대해 XML 전자서명을 수행하는 단계와, 상기 XML 전자서명에 대해 XML 암호화를 수행하는 단계와, 상기 암호화된 XML 전자서명을 인터넷 프로토콜을 이용하여 상기 웹 서버로 전송하는 단계와,Generating, at the Java card, a response APDU as a result of the command APDU, performing an XML digital signature on the generated APDU, performing XML encryption on the XML digital signature, and Transmitting an encrypted XML digital signature to the web server using an internet protocol; 상기 XML 형식의 리스폰스 APDU를 전송 받은 상기 웹 서버에서, 상기 XML 암호에 대하여 복호화하는 단계와, 상기 XML 전자서명에 대한 검증 단계와, 상기 검증된 리스폰스 APDU를 처리하는 단계를 자바 카드 응용 시스템의 애플릿 로딩 방법.In the web server receiving the response APDU in the XML format, decrypting the XML cipher, verifying the XML digital signature, and processing the verified response APDU; Loading method. 터미널 어플리케이션이 실행되는 웹 서버, 애플릿이 로드 될 자바 카드, 카드 리더, 상기 카드 리더와 연결된 클라이언트 단말기를 구비하며, 상기 웹 서버와 애플릿은 APDU 패킷을 교환하여 통신을 행하는 자바 카드 응용 시스템에 있어서,In a Java card application system having a web server running a terminal application, a Java card to be loaded applets, a card reader, a client terminal connected to the card reader, the web server and the applet communicates by exchanging APDU packets, 상기 웹 서버는, 상기 자바 카드 내에 포함된 인스톨러와 공조해서 상기 애플릿의 로딩을 수행할 인스톨 어플리케이션과, 상기 APDU를 XML로 변환하고 암/복호화와 전자서명/검증을 수행하는 XML 변환기와, 자바 클래스가 상기 자바 카드에서 사용될 수 있도록 CAP 파일로 변환하고 상기 애플릿의 로딩 시 수행하는 작업을 담당하는 컨버터를 구비한 오프 카드 가상머신을 포함하며,The web server may include an installation application that performs the loading of the applet in cooperation with an installer included in the Java card, an XML converter that converts the APDU into XML, performs encryption / decryption, digital signature / validation, and a Java class. An off-card virtual machine having a converter that converts the CAP file to be used in the Java card and is responsible for the tasks performed upon loading the applet, 상기 자바 카드는 상기 애플릿의 수행 및 메모리 관리 등을 담당하는 인터프리터를 구비한 온 카드 가상머신과, 상기 애플릿의 로딩을 담당하는 인스톨러와, 상기 APDU를 XML로 변환하고 암/복호화와 전자서명/검증을 수행하는 XML 변환기와, 상기 자바 카드의 운용을 위한 오퍼레이팅 시스템을 포함하는 자바 카드 응용 시스템.The Java Card includes an on-card virtual machine having an interpreter for executing the applet, managing the memory, an installer for loading the applet, converting the APDU into XML, encrypting / decrypting, and digital signature / verification. Java card application system comprising an XML converter for performing the operation system for operating the Java card.
KR10-2002-0079675A 2002-12-13 2002-12-13 Java card system and method of loading applet thereof KR100479336B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0079675A KR100479336B1 (en) 2002-12-13 2002-12-13 Java card system and method of loading applet thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0079675A KR100479336B1 (en) 2002-12-13 2002-12-13 Java card system and method of loading applet thereof

Publications (2)

Publication Number Publication Date
KR20040051966A KR20040051966A (en) 2004-06-19
KR100479336B1 true KR100479336B1 (en) 2005-03-31

Family

ID=37345749

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0079675A KR100479336B1 (en) 2002-12-13 2002-12-13 Java card system and method of loading applet thereof

Country Status (1)

Country Link
KR (1) KR100479336B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100947103B1 (en) 2008-07-25 2010-03-10 주식회사 케이티 Method for providing the servlet and managing the servlet using smart card web server and the smart card thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100842257B1 (en) * 2005-12-07 2008-06-30 한국전자통신연구원 Method and apparatus for loading applet

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100947103B1 (en) 2008-07-25 2010-03-10 주식회사 케이티 Method for providing the servlet and managing the servlet using smart card web server and the smart card thereof

Also Published As

Publication number Publication date
KR20040051966A (en) 2004-06-19

Similar Documents

Publication Publication Date Title
US7117364B1 (en) System and method for downloading application components to a chipcard
US7380125B2 (en) Smart card data transaction system and methods for providing high levels of storage and transmission security
KR100734737B1 (en) Methods, apparatus and computer programs for generating and/or using conditional electronic signatures for reporting status changes
US6807561B2 (en) Generic communication filters for distributed applications
US20080285755A1 (en) Method and Device for Accessing a Sim Card Housed in a Mobile Terminal
EP2095288B1 (en) Method for the secure storing of program state data in an electronic device
CN113259133B (en) Encryption communication method, equipment and storage medium based on HTTP protocol
CN102483779A (en) Method for reading attributes from an id token
CA2355928C (en) Method and system for implementing a digital signature
AU2004240278A1 (en) Method and apparatus for creating and validating an encrypted digital receipt for third-party electronic commerce transactions
CN111131416A (en) Business service providing method and device, storage medium and electronic device
EP1761904A1 (en) Smart card data transaction system and methods for providing storage and transmission security
US8366007B2 (en) Secure device and reader-writer
CN110442422B (en) Active response type trusted Python virtual machine and execution method thereof
JP2002312325A (en) Service access terminal device cooperated with ic card and its method
KR100479336B1 (en) Java card system and method of loading applet thereof
CN114492489A (en) NFC label verification system based on dynamic data
Hoepman et al. Secure method invocation in Jason
Kilas Digital signatures on nfc tags
JP4777706B2 (en) Identification information identification system and identification information identification method
Terada et al. A framework for distributed inter-smartcard communication
Hwang et al. An operational model and language support for securing web services
EP2704071A1 (en) System and method for secure customization of a personal token during a personalization step
EP2813964A1 (en) Method and system for converting cryptographic data into a familiar form
Kehr et al. Issues in smartcard middleware

Legal Events

Date Code Title Description
A201 Request for examination
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: 20090303

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee