KR100384888B1 - 온라인 스마트 카드 응용 설치 시스템 및 그 방법 - Google Patents

온라인 스마트 카드 응용 설치 시스템 및 그 방법 Download PDF

Info

Publication number
KR100384888B1
KR100384888B1 KR10-2000-0062046A KR20000062046A KR100384888B1 KR 100384888 B1 KR100384888 B1 KR 100384888B1 KR 20000062046 A KR20000062046 A KR 20000062046A KR 100384888 B1 KR100384888 B1 KR 100384888B1
Authority
KR
South Korea
Prior art keywords
application
file
smart card
signature
signed
Prior art date
Application number
KR10-2000-0062046A
Other languages
English (en)
Other versions
KR20020031008A (ko
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-2000-0062046A priority Critical patent/KR100384888B1/ko
Publication of KR20020031008A publication Critical patent/KR20020031008A/ko
Application granted granted Critical
Publication of KR100384888B1 publication Critical patent/KR100384888B1/ko

Links

Classifications

    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3234Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 온라인 스마트카드 응용 설치 시스템 및 그 방법에 관한 것으로, 인증기관으로부터 공개키 인증서를 발급받은 응용서버가 자신의 서명용 개인키를 이용하여 스마트 카드 응용에 전자서명을 첨부하여 서명된 응용저장 파일을 생성하도록 하고, 사용자클라이언트에서는 서명된 응용저장 파일을 응용서버로부터 다운로드하여 응용서버의 인증서를 이용하여 첨부된 전자서명을 검증하고, 검증이 성공한 경우에 스마트 카드에 응용을 설치하게 함으로써, 카드 사용자가 응용 설치 전에 응용의 발행자 및 위/변조 여부를 확인하도록 하여 안전하게 스마트카드 시스템을 사용하도록 하기 위한 스마트 카드 응용 설치 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하기 위하여, 클라이언트가 응용서버에 접속하여 설치하려는 응용이 첨부되어 있는 서명된 응용저장 파일을 다운로드받는 제 1 단계; 상기 응용서버로부터 다운로드받은 서명된 응용저장 파일에 첨부된 응용서버의 전자서명과 인증기관으로부터 다운로드받은 응용서버의 인증서를 이용하여 서명된 응용저장 파일에 첨부된 전자서명을 검증하는 제 2 단계; 및 상기 전자서명이 검증된 응용을 스마트 카드에 적재하고 등록하는 제 3 단계를 포함하며, 스마트 카드 시스템 등에 이용됨.

Description

온라인 스마트 카드 응용 설치 시스템 및 그 방법{SYSTEM AND METHOD WHICH CAN FACILITATE ONLINE INSTALLATION OF SMART CARD APPLICATION}
본 발명은 온라인 스마트 카드 응용 설치 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 더욱 상세하게는 응용 후발행 스마트 카드 시스템의 보안의 문제점을 해결하기 위하여, 카드 사용자가 응용 설치 전에 응용의 발행자 및 위/변조 여부를 확인하도록 하여 안전하게 스마트 카드 시스템을 사용할 수 있도록 하는 스마트 카드 응용 설치 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.
스마트 카드 시스템은 신용카드 형태의 플라스틱 카드로서 그 내부에 연산기능을 수행하는 마이크로프로세서, 자료와 응용(Application)을 저장하는 기억장치, 그리고 외부의 카드 판독기와의 인터페이스를 제공하는 입출력 장치를 포함하고 있다.
종래의 스마트 카드 시스템에서 기억장치상에 자료나 응용을 설치하기 위한 방법으로는 크게 선발행(Pre-Issuance) 방법과 후발행(Post-Issuance) 방법이 있다.
선발행 방법은 카드가 스마트 카드의 생산자 혹은 발급자에 의해서 사용자에게 지급되기 이전에 필요한 자료와 응용을 카드의 기억장치에 미리 설치한 후 이를 카드 사용자에게 지급하는 방식이며, 후발행 방법은 카드가 사용자에게 지급된 후사용자가 필요에 따라 자료나 응용을 카드의 기억장치에 설치하는 방식이다.
후발행 방법은 다시 오프라인(Off-Line) 발행 방법과 온라인(On-Line) 발행 방법으로 나눌 수 있다.
오프라인 방법은 카드 판독기가 연결된 시스템에 저장된 자료나 응용을 카드에 설치하는 방식이고, 온라인 방법은 인터넷 등과 같은 컴퓨터 통신망을 통하여 자료나 응용을 전송받아 직접 카드에 설치하는 방식이다.
최근에 인터넷과 웹이 널리 사용되면서 스마트 카드 응용의 온라인 후발행 시스템이 가장 진보적이고 적합한 방식으로 주목을 받고 있으며, 이러한 기능을 가능하게 해주는 대표적인 스마트 카드 시스템으로서 자바 스마트 카드(이하 "자바카드"라 함) 시스템이 있다.
그러나, 기존의 자바카드와 같은 응용 후발행 시스템의 가장 큰 문제점은 보안이다. 예를 들어 인터넷과 같은 개방된 컴퓨터 통신망에서 악의를 가진 익명의 사용자가 응용서버를 해킹하거나, 응용을 위/변조하여 정상적인 응용인 것처럼 가장하는 경우를 생각해 볼 수 있다. 이러한 경우에 카드 사용자는 문제의 응용을 자신의 카드에 아무런 의심없이 설치하여 사용하게 되고, 비정상적인 응용의 실행으로 인한 카드상에 저장된 개인정보의 유출 또는 신용정보의 유출로 인한 정신적/금전적인 손해가 발생하는 문제점이 있었다.
또한, 이것은 단지 하나의 예에 불과할 뿐이며, 스마트 카드를 사용하는 시스템에서는 이러한 보안 문제로 인한 다양한 피해의 가능성이 내포되어 있다고 할 수 있다.
본 발명은, 상기한 바와 같은 문제점을 해결하기 위하여 안출된 것으로, 인증기관으로부터 공개키 인증서를 발급받은 응용서버가 자신의 서명용 개인키를 이용하여 스마트 카드 응용에 전자서명을 첨부하여 서명된 응용저장 파일을 생성하도록 하고, 사용자클라이언트에서는 서명된 응용저장 파일을 응용서버로부터 다운로드하여 응용서버의 인증서를 이용하여 첨부된 전자서명을 검증하고, 검증이 성공한 경우에 스마트 카드에 응용을 설치하게 함으로써, 카드 사용자가 응용 설치 전에 응용의 발행자 및 위/변조 여부를 확인하도록 하여 안전하게 스마트 카드 시스템을 사용하도록 하기 위한 스마트 카드 응용 설치 시스템 및 그 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.
도 1 은 본 발명에 따른 온라인 스마트 카드 응용 설치 시스템의 일실시예 구성도.
도 2 는 본 발명에 따른 응용서버의 일실시예 구성도.
도 3 은 본 발명에 따른 응용서버에서 생성된 서명된 응용저장 파일에 대한 일실시예 설명도.
도 4 는 본 발명에 따른 서명 정보 영역에 대한 일실시예 상세설명도.
도 5 는 본 발명에 따른 응용설치정보 파일에 대한 일실시예 상세설명도.
도 6a 및 6b 는 본 발명에 따른 응용을 스마트 카드에 설치하는 방법에 대한 일실시예 흐름도.
* 도면의 주요부분에 대한 부호의 설명
100 : 인증기관 110 : 응용서버
120 : 서명된 응용저장 파일 130 : 사용자클라이언트
140 : 자바카드
상기 목적을 달성하기 위한 본 발명의 장치는, 온라인 스마트 카드 응용 설치 시스템에 있어서, 스마트 카드 응용에 대한 원시 파일을 컴파일하기 위한 컴파일링 수단; 상기 컴파일링 수단에 의하여 컴파일된 파일을 스마트 카드에 설치할 수 있는 설치 가능한 이진응용 파일로 변환하기 위한 변환 수단; 상기 변환 수단에 의하여 변환된 설치 가능한 이진응용 파일과 응용설치 정보 파일을 이용하여 응용저장 파일을 생성하기 위한 저장 파일 생성 수단; 및 상기 저장 파일 생성 수단에서 생성된 응용저장 파일에 응용서버의 서명용 개인키를 이용하여 전자서명을 첨부하여 서명된 응용저장 파일을 생성하여, 상기 서명된 응용저장 파일에 첨부된 전자서명을 검증하여 스마트 카드 응용을 설치하도록, 클라이언트로 전송하기 위한 저장 파일 서명 생성 수단을 포함하는 것을 특징으로 한다.
한편, 본 발명의 방법은, 온라인 스마트 카드 응용 설치 시스템에 적용되는 스마트 카드 응용 설치 방법에 있어서, 스마트 카드 응용에 대한 원시 파일을 컴파일하는 제 1 단계; 상기 컴파일된 파일을 스마트 카드에 설치할 수 있는 설치 가능한 이진응용 파일로 변환하는 제 2 단계; 상기 변환된 설치 가능한 이진응용 파일과 응용설치 정보 파일을 이용하여 응용저장 파일을 생성하는 제 3 단계; 및 상기 생성된 응용저장 파일에 응용서버의 서명용 개인키를 이용하여 전자서명을 첨부하여 서명된 응용저장 파일을 생성하여, 상기 서명된 응용저장 파일에 첨부된 전자서명을 검증하여 스마트 카드 응용을 설치하도록, 클라이언트로 전송하는 제 4 단계를 포함하는 것을 특징으로 한다.
또한, 본 발명의 다른 방법은, 온라인 스마트 카드 응용 설치 시스템에 적용되는 스마트 카드 응용 설치 방법에 있어서, 클라이언트가 응용서버에 접속하여 설치하려는 응용이 첨부되어 있는 서명된 응용저장 파일을 다운로드받는 제 1 단계; 상기 응용서버로부터 다운로드받은 서명된 응용저장 파일에 첨부된 응용서버의 전자서명과 인증기관으로부터 다운로드받은 응용서버의 인증서를 이용하여 서명된 응용저장 파일에 첨부된 전자서명을 검증하는 제 2 단계; 및 상기 전자서명이 검증된 응용을 스마트 카드에 적재하고 등록하는 제 3 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명은, 대용량 프로세서를 구비한 스마트 카드 응용 설치 시스템에, 스마트 카드 응용에 대한 원시 파일을 컴파일하는 제 1 기능; 상기 컴파일된 파일을 스마트 카드에 설치할 수 있는 설치 가능한 이진응용 파일로 변환하는 제 2 기능; 상기 변환된 설치 가능한 이진응용 파일과 응용설치 정보 파일을 이용하여 응용저장 파일을 생성하는 제 3 기능; 및 상기 생성된 응용저장 파일에 응용서버의 서명용 개인키를 이용하여 전자서명을 첨부하여 서명된 응용저장 파일을 생성하여, 상기 서명된 응용저장 파일에 첨부된 전자서명을 검증하여 스마트 카드 응용을 설치하도록, 클라이언트로 전송하는 제 4 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한, 본 발명은, 대용량 프로세서를 구비한 스마트 카드 응용 설치 시스템에, 클라이언트가 응용서버에 접속하여 설치하려는 응용이 첨부되어 있는 서명된 응용저장 파일을 다운로드받는 제 1 기능; 상기 응용서버로부터 다운로드받은 서명된 응용저장 파일에 첨부된 응용서버의 전자서명과 인증기관으로부터 다운로드받은 응용서버의 인증서를 이용하여 서명된 응용저장 파일에 첨부된 전자서명을 검증하는 제 2 기능; 및 상기 전자서명이 검증된 응용을 스마트 카드에 적재하고 등록하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 우선 각 도면의 구성요소들에 참조 번호를 부가함에 있어서, 동일한 구성요소들에 한해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 번호를 가지도록 하고 있음에 유의하여야 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.
또한, 이하 본 발명에 따른 일실시예에서는 대표적인 스마트 카드 시스템인 자바 스마트 카드 시스템을 일예로 들어 설명하기로 한다. 그러나, 본 발명이 자바 스마트 카드 시스템에 한정되는 것이 아님을 미리 밝혀둔다.
도 1 은 본 발명에 따른 온라인 스마트 카드 응용 설치 시스템의 일실시예 구성도로서, 인터넷을 통하여 자바카드에 응용을 설치하는 시스템을 나타내고 있다.
도면에서, "100"은 인증기관, "110"은 응용서버, "120"은 서명된 응용저장 파일, "130"은 사용자클라이언트, 그리고 "140"은 자바카드를 각각 나타낸다.
상기 응용서버(110)는 인증기관(100)으로부터 인증서를 발급 받아야 하며, 서명용 개인키를 소지하고 있어야 하고, 상기 서명용 개인키로 서명한 전자서명이 첨부된 서명된 응용저장 파일(120)을 생성한다.
상기 사용자클라이언트(130)는 응용서버(110)로부터 서명용 개인키로 서명한 전자서명이 첨부된 서명된 응용저장 파일(120)을 FTP(File Transfer Protocol)로 인터넷을 통하여 다운로드받고, 인증기관(100)으로부터 다운로드한 응용서버의 인증서를 이용하여 서명된 응용저장 파일(120)에 첨부된 전자서명을 검증한다.
또한, 사용자클라이언트(130)는 전자서명의 검증이 성공하는 경우에 연결된 카드 판독기를 통하여 자바카드(140)에 응용을 설치한다.
도 2 는 본 발명에 따른 응용서버의 일실시예 구성도로서, 응용서버에서 서명된 응용저장 파일을 생성하는 과정을 나타내고 있다.
본 발명에 따른 응용서버(110)는, 자바카드(140) 응용에 대한 원시파일(201)을 컴파일하기 위한 자바 컴파일러(202), 상기 자바 컴파일러(202)에 의하여 컴파일된 파일을 자바카드(140)에 설치할 수 있는 설치 가능한 이진응용 파일(205)로 변환하기 위한 클래스 변환기(204), 상기 클래스 변환기(204)에 의하여 변환된 설치 가능한 이진응용 파일(205)과 응용설치 정보 파일(206)을 이용하여 응용저장 파일(208)을 생성하기 위한 저장 파일 생성기(207), 그리고 상기 저장 파일 생성기(207)에서 생성된 응용저장 파일(208)에 응용서버의 서명용 개인키(209)를 이용하여 전자서명을 첨부하여 서명된 응용저장 파일(211)을 생성하기 위한 저장 파일 서명 생성기(210)를 포함한다.
도 2 에 도시된 바와 같이, 본 발명에 따른 서명된 응용저장 파일의 생성과정은 다음과 같다.
먼저, 자바카드 응용 개발자는 응용을 위한 원시 파일(201)을 작성하고, 자바 컴파일러(202)를 이용하여 클래스 파일(203)을 생성한다.
상기 클래스 파일(203)은 클래스 변환기(204)를 통하여 자바카드에 설치할 수 있는 이진응용 파일(205)로 변환된다. 이때, 클래스 변환기(204)는 응용의 적재 및 등록에 대한 정보를 저장하는 응용설치정보 파일(206)을 작성한다.
상기 이진응용 파일(205)과 응용설치정보 파일(206)은 저장파일 생성기(207)를 통해 응용저장 파일(208)로 생성된다.
그리고, 저장 파일 서명 생성기(210)는 상기 응용저장 파일(208)에 응용서버(200)의 서명용 개인키(209)를 이용하여 전자서명을 첨부하여 서명된 응용저장 파일(211)을 생성하여, 인증기관(100)으로부터 다운로드한 응용서버(110)의인증서를 이용하여 상기 서명된 응용저장 파일(211)에 첨부된 전자서명을 검증하여 응용을 스마트 카드에 설치하도록, 사용자클라이언트(130)로 전송한다.
도 3 은 본 발명에 따른 응용서버에서 생성된 서명된 응용저장 파일에 대한 일실시예 설명도이다.
도 3 에 도시된 바와 같이, 서명된 응용저장 파일(120, 211)은 서명에 대한 정보를 가지고 있는 서명 정보 영역(310) 과 응용에 대한 정보를 가지고 있는 응용 정보 영역(320)을 포함한다.
상기 서명 정보 영역(310)은 응용 정보 영역(320)에 포함되어 있는 내용물에 대한 요약값을 저장하고 있는 응용내용요약 파일(311), 서명자 수만큼의 개수로 이루어진 응용내용요약 파일(311)에 대한 요약값을 저장하고 있는 서명 파일(312), 그리고 서명 파일(312)에 대한 서명자의 서명용 개인키로 전자서명한 서명값 및 인증서 체인을 저장하고 있는 서명 블록(313)을 포함한다.
상기 응용 정보 영역(320)은 응용의 적재 및 등록에 대한 정보를 저장하고 있는 응용설치정보 파일(321), 응용 개발자가 첨부한 수만큼의 개수로 이루어진 설치 가능한 이진응용 파일(322)을 포함한다.
도 4 는 본 발명에 따른 서명 정보 영역에 대한 일실시예 상세설명도이다.
도 4 에 도시된 바와 같이, 먼저 응용내용요약 파일(410)은 응용 정보 영역(320)에 포함된 응용설치정보 파일(400)과 설치 가능한 이진응용 파일(401~40m)에 대해 해쉬 알고리즘으로 계산한 요약값을 저장하고 있고, 각각의 서명 파일(421~42n)은 응용내용요약 파일(410)에 대해 해쉬 알고리즘으로 계산한요약값을 저장하고 있으며, 각각의 서명블록(431~43n)은 대응되는 서명파일(421~42n)에 대한 서명자의 서명용 개인키로 서명한 서명값과 서명자의 공개키 인증서 체인을 저장하고 있다.
도 5 는 본 발명에 따른 응용설치정보 파일에 대한 일실시예 상세설명도이다.
도 5 에 도시된 바와 같이, 응용설치정보 파일(321)은 응용 적재 목록(501), 응용 등록 목록(502), 적재할 응용 식별자 목록(503), 그리고 등록할 응용 식별자 목록(504)을 포함한다.
상기 응용 적재 목록(501)은 응용 개발자가 첨부한 설치 가능한 이진응용 파일(322)의 목록을 포함하고 있으며, 상기 응용 등록 목록(502)은 응용 개발자가 첨부한 설치 가능한 이진응용 파일(322)중에서 실행에 필요한 주 모듈을 포함하는 응용의 목록을 포함하고 있다. 또한, 상기 적재할 응용 식별자 목록(503)은 적재된 응용을 설치 및 접근하기 위한 응용 식별자의 목록을 포함하고 있으며, 상기 등록할 응용 식별자 목록(504)은 등록된 응용을 설치 및 접근하기 위한 응용 식별자의 목록을 포함한다.
도 6a 및 6b 는 본 발명에 따른 응용을 스마트 카드에 설치하는 방법에 대한 일실시예 흐름도이다.
도 6a 및 6b 에 도시된 바와 같이, 먼저 사용자클라이언트(130)는 응용서버(110)에 접속하여 FTP를 이용해서 설치하려는 응용이 첨부되어 있는 서명된 응용저장 파일(120)을 다운로드한다(601).
상기 다운로드된 서명된 응용저장 파일(120)에 첨부된 응용서버의 전자서명을 검증하기 위해서, 서명된 응용저장 파일(120)로부터 응용내용요약 파일(311)을 추출한다(602).
다음으로, 서명된 응용저장 파일(120)로부터 응용설치정보 파일(321)을 추출하여 해쉬 알고리즘으로 요약값 H1을 계산하고, 상기 응용내용요약 파일(311)에 기록된 응용설치정보 파일(321)에 대한 요약값 H2를 구하여(303), 상기 H1과 H2를 서로 비교한다(604).
상기 H1과 H2가 동일한 값인지 비교한 결과, 동일하지 않은 경우는 자바카드 응용설치 실패로 처리하고(627), 동일한 경우는 서명된 응용저장 파일(120, 211)로부터 첨부된 설치 가능한 이진응용 파일(322)을 하나씩 차례로 추출하여 해쉬 알고리즘으로 요약값 H1을 계산하고, 응용내용요약 파일(311)에 기록된 설치 가능한 이진응용 파일(322)에 대한 요약값 H2를 얻는다(606). 그리고, 상기 H1과 H2가 동일한 값인지 비교한다(607).
상기 모든 설치 가능한 이진응용 파일(322)에 대한 H1과 H2를 비교한 결과, 하나라도 동일하지 않은 경우 자바카드 응용설치 실패로 처리하고(627), 모두 동일한 경우에 다음단계로 진행한다. 여기서, 상기 모든 설치가능한 이진응용 파일(322)에 대한 H1과 H2의 획득 및 비교하는 과정은 설치 가능한 이진응용 파일(322)의 개수만큼 계속 수행된다(605).
다음으로, 서명된 응용저장 파일(120)로부터 서명자의 수만큼 첨부된 서명 블록(313) 및 서명 파일(312)을 하나씩 차례로 추출하여 검증하는 과정을 수행하는데, 우선 추출된 서명 블록에서 인증서 체인을 추출한다(609).
상기 추출된 인증서 체인을 검증하여 체인 검증 성공여부를 판단한다(610).
상기 체인 검증 성공여부를 판단한 결과, 실패하는 경우 자바카드 응용설치 실패로 처리하고(627), 검증이 성공하는 경우에는 상기 추출된 인증서 체인에서 서명자의 인증서를 추출하고(611), 해쉬 알고리즘으로 응용내용요약 파일(311)의 요약값 H1을 계산하고, 서명 파일(312)에 기록된 요약값 H2를 구한 후(612), 상기 H1과 H2를 비교한다(613).
상기 H1값과 H2값을 비교한 결과, 동일하지 않은 경우 자바카드 응용 설치 실패로 처리하고(627), 동일한 경우는 계속 진행하여 추출된 서명자의 인증서에서 검증용 공개키를 추출하고(614), 서명 블록(313)으로부터 서명 파일(312)에 대한 서명값을 추출하여(615), 검증 알고리즘을 통해서 서명 검증 성공 여부를 판단한다(616).
상기 서명 검증 성공 여부를 판단한 결과, 검증이 성공하는 경우 계속 진행하여 나머지 서명자의 전자서명에 대한 검증 과정을 반복하고, 하나라도 검증이 실패하는 경우 자바카드 응용 설치 실패를 처리한다(627).
여기서, 서명블록에서 인증서 체인 추출(609), 체인 검증 성공 여부 판별(610), 추출된 인증서 체인에서 서명자의 인증서 추출(611), 응용내용 요약 파일의 요약값 H1과 서명 파일에 기록된 요약값 H2를 구하고(612), 비교하는 과정(613), 추출된 서명자의 인증서에서 검증용 공개키 추출(614), 서명 블록에 기록된 서명값 추출(615), 그리고 서명 검증 성공 여부 판별(616)의 과정들은 서명자의 수만큼 계속 반복된다(608).
다음으로 응용의 발행자인 응용서버의 전자서명이 검증된 응용을 자바카드(140)에 설치하는 단계로서, 응용설치정보 파일(321)로부터 응용 적재 목록을 추출한다(317). 여기서, 응용 적재 목록은 응용 개발자가 첨부한 설치 가능한 이진응용 파일(322)의 개수만큼 응용의 적재에 대한 정보를 포함하고 있다.
상기 응용 적재 목록으로부터 하나씩 추출된 설치 가능한 이진응용 파일(322)에 대한 적재 정보에 대응하는 응용 식별자를, 적재할 응용 식별자 목록으로부터 추출하여(619), 설치 가능한 이진응용 파일을 자바카드(140)에 적재한다(620).
상기 응용 적재 목록으로부터 하나씩 추출된 설치 가능한 이진응용 파일(322)에 대한 적재 정보에 대응하는 응용 식별자를, 적재할 응용 식별자 목록으로부터 추출하여(619), 설치 가능한 이진응용 파일은 자바카드(140)에 적재하는 과정은 응용 적재 목록에 포함된 모든 정보에 대하여 반복된다(618).
다음으로, 응용설치정보 파일(321)로부터 응용 등록 목록을 추출한다(621). 여기서, 응용 등록 목록은 응용 개발자가 첨부한 설치 가능한 이진응용 파일(322)중에서 실행에 필요한 주 모듈을 포함하는 응용의 개수만큼 등록에 대한 정보를 포함하고 있다.
상기 응용 등록 목록으로부터 하나씩 추출된 설치 가능한 이진응용 파일(322)에 대한 등록 정보에 대응하는 응용식별자를, 등록할 응용 식별자 목록으로부터 추출하고(623), 응용 설치후 카드 사용시에 소유자 확인을 위한 개인식별번호를 입력받아서(624), 설치 가능한 이진응용 파일을 자바카드(140)에 등록한다(625). 여기서, 응용 등록 목록으로부터 하나씩 추출된 설치 가능한 이진응용 파일(522)에 대한 등록 정보에 대응하는 응용 식별자를, 등록할 응용 식별자 목록으로부터 추출하고(623), 응용 설치후 카드 사용시에 소유자 확인을 위한 개인식별 번호를 입력받아서(624), 설치 가능한 이진응용 파일을 자바카드(140)에 등록하는 과정은 응용 등록 목록에 포함된 모든 정보에 대하여 반복된다(622).
상기와 같은 모든 단계가 모두 성공적으로 수행되는 경우에 자바카드 응용 설치 완료를 처리한다(626).상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
이상에서 설명한 본 발명은 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
상기한 바와 같은 본 발명은, 온라인 응용 후발급 스마트 카드 시스템에서 인터넷과 같은 개방형 통신망을 통하여 안전하게 응용을 설치할 수 있게 하여 스마트 카드 서비스 제공자의 운영 및 사후 관리 비용을 절감할 수 있도록 하며, 응용서버의 해킹이나 응용의 위/변조 등으로 인한 피해를 방지, 즉 카드 사용자의 정신적/경제적 손실을 막을 수 있는 효과가 있다.
또한, 본 발명은, 응용서버 및 사용자클라이언트의 처리과정을 다양한 스마트 카드 시스템에 맞게 변경함으로써 자바카드 시스템 뿐만 아니라 응용 후발행 기능을 제공하는 다른 스마트 카드 시스템에 적용하여 동일한 효과를 얻을 수 있다.

Claims (13)

  1. 온라인 스마트 카드 응용 설치 시스템에 있어서,
    스마트 카드 응용에 대한 원시 파일을 컴파일하기 위한 컴파일링 수단;
    상기 컴파일링 수단에 의하여 컴파일된 파일을 스마트 카드에 설치할 수 있는 설치 가능한 이진응용 파일로 변환하기 위한 변환 수단;
    상기 변환 수단에 의하여 변환된 설치 가능한 이진응용 파일과 응용설치 정보 파일을 이용하여 응용저장 파일을 생성하기 위한 저장 파일 생성 수단; 및
    상기 저장 파일 생성 수단에서 생성된 응용저장 파일에 응용서버의 서명용 개인키를 이용하여 전자서명을 첨부하여 서명된 응용저장 파일을 생성하여, 상기 서명된 응용저장 파일에 첨부된 전자서명을 검증하여 스마트 카드 응용을 설치하도록, 클라이언트로 전송하기 위한 저장 파일 서명 생성 수단
    을 포함하는 스마트 카드 응용 설치 시스템.
  2. 제1항에 있어서,
    상기 서명된 응용저장 파일은,
    서명에 대한 정보를 가지고 있는 서명 정보 영역과 응용에 대한 정보를 가지고 있는 응용 정보 영역을 포함하는 것을 특징으로 하는 스마트 카드 응용 설치 시스템.
  3. 제 2 항에 있어서,
    상기 서명 정보 영역은,
    상기 응용 정보 영역에 포함된 내용물에 대한 요약값을 저장하고 있는 응용내용요약 파일;
    서명자의 수만큼의 개수로 이루어진 상기 응용내용요약 파일에 대한 요약값을 저장하고 있는 서명 파일;
    상기 서명 파일에 대한 서명자의 서명용 개인키로 전자서명한 서명값; 및
    서명자의 공개키 인증서 체인을 저장하고 있는 서명 블록
    을 포함하는 것을 특징으로 하는 스마트 카드 응용 설치 시스템.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 응용 정보 영역은,
    응용의 적재 및 등록에 대한 정보를 저장하고 있는 응용설치정보 파일; 및
    응용 개발자가 첨부한 수만큼의 개수로 이루어진 설치 가능한 이진응용 파일
    을 포함하는 것을 특징으로 하는 스마트 카드 응용 설치 시스템.
  5. 온라인 스마트 카드 응용 설치 시스템에 적용되는 스마트 카드 응용 설치 방법에 있어서,
    스마트 카드 응용에 대한 원시 파일을 컴파일하는 제 1 단계;
    상기 컴파일된 파일을 스마트 카드에 설치할 수 있는 설치 가능한 이진응용 파일로 변환하는 제 2 단계;
    상기 변환된 설치 가능한 이진응용 파일과 응용설치 정보 파일을 이용하여 응용저장 파일을 생성하는 제 3 단계; 및
    상기 생성된 응용저장 파일에 응용서버의 서명용 개인키를 이용하여 전자서명을 첨부하여 서명된 응용저장 파일을 생성하여, 상기 서명된 응용저장 파일에 첨부된 전자서명을 검증하여 스마트 카드 응용을 설치하도록, 클라이언트로 전송하는 제 4 단계
    를 포함하는 스마트 카드 응용 설치 방법.
  6. 온라인 스마트 카드 응용 설치 시스템에 적용되는 스마트 카드 응용 설치 방법에 있어서,
    클라이언트가 응용서버에 접속하여 설치하려는 응용이 첨부되어 있는 서명된 응용저장 파일을 다운로드받는 제 1 단계;
    상기 응용서버로부터 다운로드받은 서명된 응용저장 파일에 첨부된 응용서버의 전자서명과 인증기관으로부터 다운로드받은 응용서버의 인증서를 이용하여 서명된 응용저장 파일에 첨부된 전자서명을 검증하는 제 2 단계; 및
    상기 전자서명이 검증된 응용을 스마트 카드에 적재하고 등록하는 제 3 단계
    를 포함하는 스마트 카드 응용 설치 방법.
  7. 제 6 항에 있어서,
    상기 제 2 단계는,
    상기 서명된 응용저장 파일의 응용설치정보 파일에서 구한 요약값과 응용내용요약 파일에 기록된 응용설치정보 파일에 대한 요약값을 검증하는 제 4 단계;
    상기 서명된 응용저장 파일의 설치 가능한 이진응용 파일에서 구한 요약값과 상기 응용내용요약 파일에 기록된 설치 가능한 이진응용 파일에 대한 요약값을 검증하는 제 5 단계; 및
    상기 서명된 응용저장 파일의 서명 블록 및 서명 파일의 검증을 통하여 전자서명을 검증하는 제 6 단계
    를 포함하는 스마트 카드 응용 설치 방법.
  8. 제 7 항에 있어서,
    상기 제 3 단계는,
    상기 응용설치정보 파일로부터 응용 적재 목록을 추출하는 제 7 단계;
    상기 응용 적재 목록으로부터 하나씩 추출된 설치 가능한 이진응용 파일에 대한 적재 정보에 대응하는 응용 식별자를, 적재할 응용 식별자 목록으로부터 추출하여 스마트 카드에 적재하는 제 8 단계;
    상기 응용설치정보 파일로부터 응용 등록 목록을 추출하는 제 9 단계; 및
    상기 응용 등록 목록으로부터 하나씩 추출된 설치 가능한 이진응용 파일에 대한 등록 정보에 대응하는 응용 식별자를, 등록할 응용 식별자 목록으로부터 추출하고 개인식별 번호를 입력받아, 설치 가능한 이진응용 파일을 스마트 카드에 실행가능한 응용으로서 등록하는 제 10 단계
    를 포함하는 스마트 카드 응용 설치 방법.
  9. 제 5 항 내지 제 8 항 중 어느 한 항에 있어서,
    상기 서명된 응용저장 파일은,
    서명에 대한 정보를 가지고 있는 서명 정보 영역과 응용에 대한 정보를 가지고 있는 응용 정보 영역을 포함하는 것을 특징으로 하는 스마트 카드 응용 설치 방법.
  10. 제 9 항에 있어서,
    상기 서명 정보 영역은,
    상기 응용 정보 영역에 포함된 내용물에 대한 요약값을 저장하고 있는 응용내용요약 파일;
    서명자의 수만큼의 개수로 이루어진 상기 응용내용요약 파일에 대한 요약값을 저장하고 있는 서명 파일;
    상기 서명 파일에 대한 서명자의 서명용 개인키로 전자서명한 서명값; 및
    서명자의 공개키 인증서 체인을 저장하고 있는 서명 블록
    을 포함하는 것을 특징으로 하는 스마트 카드 응용 설치 방법.
  11. 제 9 항에 있어서,
    상기 응용 정보 영역은,
    응용의 적재 및 등록에 대한 정보를 저장하고 있는 응용설치정보 파일; 및
    응용 개발자가 첨부한 수만큼의 개수로 이루어진 설치 가능한 이진응용 파일
    을 포함하는 것을 특징으로 하는 스마트 카드 응용 설치 방법.
  12. 대용량 프로세서를 구비한 스마트 카드 응용 설치 시스템에,
    스마트 카드 응용에 대한 원시 파일을 컴파일하는 제 1 기능;
    상기 컴파일된 파일을 스마트 카드에 설치할 수 있는 설치 가능한 이진응용 파일로 변환하는 제 2 기능;
    상기 변환된 설치 가능한 이진응용 파일과 응용설치 정보 파일을 이용하여 응용저장 파일을 생성하는 제 3 기능; 및
    상기 생성된 응용저장 파일에 응용서버의 서명용 개인키를 이용하여 전자서명을 첨부하여 서명된 응용저장 파일을 생성하여, 상기 서명된 응용저장 파일에 첨부된 전자서명을 검증하여 스마트 카드 응용을 설치하도록, 클라이언트로 전송하는제 4 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  13. 온라인 스마트 카드 응용 설치 시스템에 적용되는 스마트 카드 응용 설치 방법을 제공하기 위하여 마이크로프로세서를 구비한 시스템에,
    클라이언트가 응용서버에 접속하여 설치하려는 응용이 첨부되어 있는 서명된 응용저장 파일을 다운로드받는 제 1 기능;
    상기 응용서버로부터 다운로드받은 서명된 응용저장 파일에 첨부된 응용서버의 전자서명과 인증기관으로부터 다운로드받은 응용서버의 인증서를 이용하여 서명된 응용저장 파일에 첨부된 전자서명을 검증하는 제 2 기능; 및
    상기 전자서명이 검증된 응용을 스마트 카드에 적재하고 등록하는 제 3 기능
    을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR10-2000-0062046A 2000-10-20 2000-10-20 온라인 스마트 카드 응용 설치 시스템 및 그 방법 KR100384888B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0062046A KR100384888B1 (ko) 2000-10-20 2000-10-20 온라인 스마트 카드 응용 설치 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0062046A KR100384888B1 (ko) 2000-10-20 2000-10-20 온라인 스마트 카드 응용 설치 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20020031008A KR20020031008A (ko) 2002-04-26
KR100384888B1 true KR100384888B1 (ko) 2003-05-22

Family

ID=19694682

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0062046A KR100384888B1 (ko) 2000-10-20 2000-10-20 온라인 스마트 카드 응용 설치 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100384888B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100742022B1 (ko) * 2002-10-24 2007-07-23 엘지카드 주식회사 개방형 스마트 카드(또는 아이씨 카드)의 후발급 애플리케이션 제작방법
KR100490899B1 (ko) * 2002-11-15 2005-05-24 한국전자통신연구원 자바 카드 개발 환경을 위한 암호 알고리즘 패키지 추가 기능 구현 방법
KR100971120B1 (ko) * 2003-07-10 2010-07-20 주식회사 비즈모델라인 스마트 카드에 구비된 작업 요소 파일 저장 영역의 조정방법
KR101017063B1 (ko) * 2003-07-10 2011-02-28 주식회사 비즈모델라인 아이씨칩 저장 정보 후발급 인증 및 과금 처리 방법
KR100474142B1 (ko) * 2004-02-06 2005-03-14 에스케이 텔레콤주식회사 선후불카드 발급 인증에 필요한 암호화된 인증 데이터전달 장치, 선후불카드 발급 인증 시스템 및 그 인증 방법

Also Published As

Publication number Publication date
KR20020031008A (ko) 2002-04-26

Similar Documents

Publication Publication Date Title
CN110046996B (zh) 数据处理方法和装置
US11838425B2 (en) Systems and methods for maintaining decentralized digital identities
US8608065B2 (en) Authenticating electronic financial transactions
US5878138A (en) System and method for detecting fraudulent expenditure of electronic assets
US8608064B2 (en) Payment system and method of IC card and a multi-application IC card as well as a payment terminal
JP4819542B2 (ja) 脆弱性検証付きのバイオメトリクス認証システムおよび方法
US20030156719A1 (en) Delivery of a secure software license for a software product and a toolset for creating the sorftware product
US20030046542A1 (en) Method and apparatus for using a secret in a distributed computing system
US20030149670A1 (en) Method and system for delivery of secure software license information
US20030056054A1 (en) Virtual machine with securely distributed bytecode verification
CN112165382B (zh) 软件授权方法、装置、授权服务端及终端设备
JP2006518499A (ja) 装置にロードするためのプログラムデータの順序付け
JPH11355264A (ja) 国際暗号体系のホストシステム要素
WO2000079724A2 (en) Wim manufacturer certificate
CN104283860A (zh) 一种基于代码签名的elf文件鉴别方法和装置
EP2372592B1 (en) integrated circuit and system for installing computer code thereon
EP2095221A2 (en) Systems and methods for identification and authentication of a user
CN112861191B (zh) 一种应用程序监控方法及装置
CN112115425A (zh) 软件授权许可方法、装置及电子设备
Devanbu et al. Techniques for trusted software engineering
EP1561301B1 (en) Software integrity test in a mobile telephone
Chaniago et al. Electronic document authenticity verification of diploma and transcript using smart contract on Ethereum blockchain
US20020194132A1 (en) Renting a computing environment on a trusted computing platform
KR100384888B1 (ko) 온라인 스마트 카드 응용 설치 시스템 및 그 방법
CN114239066A (zh) 基于区块链的合同处理方法及相关设备

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: 20130424

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20140430

Year of fee payment: 12

LAPS Lapse due to unpaid annual fee