KR101583212B1 - Secured communication method for smart card applications - Google Patents

Secured communication method for smart card applications Download PDF

Info

Publication number
KR101583212B1
KR101583212B1 KR1020140134874A KR20140134874A KR101583212B1 KR 101583212 B1 KR101583212 B1 KR 101583212B1 KR 1020140134874 A KR1020140134874 A KR 1020140134874A KR 20140134874 A KR20140134874 A KR 20140134874A KR 101583212 B1 KR101583212 B1 KR 101583212B1
Authority
KR
South Korea
Prior art keywords
applet
file
security
read
write
Prior art date
Application number
KR1020140134874A
Other languages
Korean (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 KR1020140134874A priority Critical patent/KR101583212B1/en
Application granted granted Critical
Publication of KR101583212B1 publication Critical patent/KR101583212B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

The present invention relates to a method for forming a security communication channel between applications located in different security regions on a multi-applet smart card platform. Provided is the security communication method between smart card applications, comprising the steps of: enabling, via a system call, a first elementary applet to create a first elementary file within a first dedicated file and a second elementary applet to create a second elementary file within a second dedicated file, if information transfer from the first applet to the second applet, which are located in different security regions, is necessary; performing, via a communication-mediated applet for mediating communication between the first applet and the second applet, a reading operation for transfer-needed information written in the first elementary file and a writing operation for writing information read via the reading operation in the second elementary file; and allowing the second applet to perform a writing operation for the second elementary file wherein the transfer-needed information written.

Description

스마트 카드 애플리케이션 간 보안 통신 방법{SECURED COMMUNICATION METHOD FOR SMART CARD APPLICATIONS} [0001] SECURED COMMUNICATION METHOD FOR SMART CARD APPLICATIONS [0002]

본 발명은 멀티 애플릿(Multi-applet) 스마트 카드 플랫폼에서 애플릿 간의 보안 통신 채널을 형성하는 방법에 관한 것이다.
The present invention relates to a method for forming a secure communication channel between applets in a multi-applet smart card platform.

멀티 애플릿 스마트 카드 플랫폼은 서로 다른 복수의 서비스 벤더(vendor)에 의해 제작된 다수의 애플릿(즉, 애플리케이션 또는 프로세스)를 관리한다. 서비스 벤더들은 스마트 카드 사용자들에게 다양한 서비스를 제공하기 위하여 애플릿을 제작하고, 이와 같이 third party에서 제작된 애플릿들은 멀티 애플릿 스마트 카드 플랫폼 상에 올려져 실행된다.The multi-applet smart card platform manages a number of applets (i.e., applications or processes) produced by a plurality of different service vendors. Service vendors create applets to provide a variety of services to smart card users, and thus applets made on third parties are uploaded and run on the multi-applet smart card platform.

이때, 멀티 애플릿 스마트 카드 플랫폼에서는 각 서비스 벤더에 의해 제작된 애플릿들이 보안적으로 완전히 분리될 것이 요구된다. 따라서, 멀티 애플릿 스마트 카드 플랫폼에서는 임의의 1 서비스 벤더에 의해 제작된 애플릿들과 다른 서비스 벤더에 의해 제작된 애플릿들은 서로 다른 보안 영역에서 실행되도록 하고 있다. At this time, in the multi - applet smart card platform, it is required that the applets produced by each service vendor are securely separated completely. Therefore, in the multi-applet smart card platform, applets produced by one arbitrary service vendor and applets produced by another service vendor are executed in different security areas.

그러나 애플릿의 서비스 용도에 따라서 서로 다른 보안 영역에 속한 애플릿 간에 통신이 필요한 경우가 발생한다. 제1 서비스 벤더에 의해 제작된 멤버쉽 애플릿에 의해 적립된 마일리지 포인트를 제2 서비스 벤더에 의해 제작된 항공권 구매 애플릿에서 항공권 발권 수수료의 차감에 이용하고자 하는 경우가 그 일 예이다. However, depending on the service purpose of the applet, it may be necessary to communicate between applets belonging to different security areas. An example is a case where a mileage point accumulated by a membership applet produced by a first service vendor is used to deduct a ticket issuance fee from a ticket purchase applet produced by a second service vendor.

따라서, 서로 다른 보안 영역에 속한 애플릿 간의 통신이 필요한 경우에, 멀티 애플릿 스마트 카드 플랫폼에서 요구하는 보안성을 그대로 유지하면서도, 그 2개의 애플릿 간에 완전한 보안성을 보장할 수 있는 통신 채널을 형성하는 방법에 관한 기술이 요구된다.Therefore, when communication between applets belonging to different security areas is required, a method of forming a communication channel that can guarantee complete security between the two applets while maintaining the security required by the multi-applet smart card platform Is required.

오퍼레이팅 시스템에서 제공되는 종래의 IPC(Inter-process Communication) 방법으로는 파일 공유, 메모리 공유, 파이프라인, 메시지 큐(message queue) 등의 방식이 있다. 그러나 이와 같은 종래의 IPC 방법들은 임베디드 오퍼레이팅 시스템에 있어서 높은 보안성을 보장할 수 없다. 예를 들어, 파일이나 메모리 공유와 같은 리소스 공유 방식은 고 보안 레벨의 애플릿으로부터 하위 보안 레벨의 애플릿으로 정보가 누출될 수 있도록 악의적 사용이 가능한 문제가 있다. 또한 메시지 큐 방식은 보안 영역이 서로 다른 2개의 애플릿 간에는 적용이 엄격히 금지되는 문제가 있다.
Conventional IPC (Inter-process Communication) methods provided in an operating system include file sharing, memory sharing, pipelining, and message queue. However, such conventional IPC methods can not guarantee high security in an embedded operating system. For example, a resource sharing scheme such as file or memory sharing has a problem that malicious use can be made so that information can be leaked from a high security level applet to a low security level applet. In addition, there is a problem that the message queue method is strictly prohibited from being applied between two applets having different security areas.

본 발명은 멀티 애플릿(Multi-applet) 스마트 카드 플랫폼에서 애플릿 간의 보안 통신 채널을 형성하는 방법을 제공한다.
The present invention provides a method for forming a secure communication channel between applets in a multi-applet smart card platform.

본 발명의 일 측면에 따르면, 멀티 애플릿(Multi-applet) 스마트 카드 플랫폼에서 서로 다른 보안 영역에 있는 애플릿 간에 보안 통신 채널을 형성하는 방법으로서,According to an aspect of the present invention, there is provided a method of forming a secure communication channel between applets in different security areas in a multi-applet smart card platform,

서로 다른 보안 영역에 있는 제1 애플릿으로부터 제2 애플릿으로 정보 전달이 필요한 경우, 시스템 콜(system call)을 통해서, 상기 제1 애플릿이 제1 데디케이티드 파일(Dedicated file) 내에 제1 엘리멘터리 파일(Elementary file)을 생성하도록 하고, 상기 제2 애플릿이 제2 데디케이티드 파일(Dedicated file) 내에 제2 엘리멘터리 파일(Elementary file)을 생성하도록 하는 단계;If it is necessary to transfer information from a first applet in a different security area to a second applet, the first applet is placed in a first elementary file (Dedicated file) through a system call, Causing the second applet to generate a second elementary file in a second dedicated file, the method comprising: generating an elementary file;

상기 제1 애플릿과 상기 제2 애플릿 간의 통신을 매개하기 위한 통신 매개 애플릿을 통해서, 상기 제1 엘리멘터리 파일에 기록된 전달 필요 정보에 관한 읽기 오퍼레이션(read operation)을 수행하고, 읽기 오퍼레이션을 통해 읽어들인 정보를 상기 제2 엘리멘터리 파일에 기록하는 쓰기 오퍼레이션(write operation)을 수행하는 단계-여기서, 상기 통신 매개 애플릿은 읽기 오퍼레이션을 위한 영역과 쓰기 오퍼레이션을 위한 영역이 보안상 완전히 분리된 애플릿임-; 및Performing a read operation on transfer necessary information recorded in the first element file through a communication parameter applet for mediating communication between the first applet and the second applet, Performing a write operation to write the read information to the second elementary file, wherein the communication parameter applet includes an area for a read operation and an area for a write operation, being-; And

상기 제2 애플릿이 상기 전달 필요한 정보가 기록된 제2 엘리멘터리 파일에 관한 읽기 오퍼레이션을 수행하는 단계를 포함하는 애플릿 간 보안 통신 방법이 제공된다.
And the second applet performs a read operation on the second elementary file in which the transfer necessary information is recorded.

일 실시예에서, 상기 제1 엘리멘터리 파일은 최초 컨텐츠 없는 빈 파일로 생성되되, 상기 제1 엘리멘터리 파일이 생성된 이후에, 상기 제1 애플릿이 상기 제1 엘리멘터리 파일에 상기 전달 필요 정보를 기록하는 쓰기 오퍼레이션(write operation)을 수행하는 단계를 더 포함할 수 있다.
In one embodiment, the first elementary file is generated as an initial content-free bean file, and after the first elementary file is generated, the first applet is transferred to the first elementary file And performing a write operation to record necessary information.

일 실시예에서, 상기 제1 애플릿과 상기 제2 애플릿은 상호 간 읽기/쓰기에 관한 직접 접속이 불가한 서로 다른 벤더에 의한 벤더 애플릿이며, 상기 통신 매개 애플릿은 상기 제1 및 제2 애플릿과는 다른 보안 영역에 존재한다.
In one embodiment, the first applet and the second applet are vendor applets by different vendors that are not directly connected to each other for read / write, and the communication applet is a vendor applet that is different from the first and second applets It exists in another security zone.

일 실시예에서, 상기 통신 매개 애플릿은, 상기 제1 데디케이티드 파일 및 상기 제1 엘리멘터리 파일에 관한 읽기 권한을 가지고, 상기 제2 데디케이티드 파일에 관한 읽기 권한을 가지며, 상기 제2 엘리멘터리 파일에 관한 쓰기 권한을 갖도록 권한 설정되어 있는 애플릿일 수 있다.
In one embodiment, the communication mediation applet has a read right on the first dedicated file and the first elementary file, and has read rights on the second dedicated file, It can be an applet that is set to have write access to an elementary file.

일 실시예에서, 상기 제1 엘리멘터리 파일 및 제2 엘리멘터리 파일을 생성하는 단계 이전에, 상기 제1 애플릿이 상기 제1 데디케이티드 파일을 생성하는 단계 및 상기 제2 애플릿이 상기 제2 데디케이티드 파일을 생성하는 단계를 더 포함하되,In one embodiment, before the step of generating the first elementary file and the second elementary file, the first applet generates the first dedicated file and the second applet creates the first elementary file, 2 < / RTI >

상기 제1 및 제2 데디케이티드 파일을 생성하는 단계는,Wherein the generating the first and second dedicated files comprises:

상기 제1 또는 제2 데디케이티드 파일을 해당 애플릿의 보안 영역 내에 존재하는 특정 데디케이티드 파일의 하위에 생성하고, 해당 애플릿이 페런트(parent) 데디케이티드 파일인 상기 특정 데디케이티드 파일에 관한 읽기/쓰기 권한을 가질 수 있도록 권한 설정하는 단계를 포함할 수 있다.
The first or second dated file is created under a specific dedicated file existing in the security area of the applet and the applet is added to the specific dedicated file that is a parent dedicated file And setting the right to have the read / write permission for the user.

일 실시예에서, 상기 제1 애플릿 및 상기 제2 애플릿은, 각각 자신의 보안 영역에서만 읽기 및 쓰기 권한이 부여되며, 읽기 오퍼레이션을 위한 권한과 쓰기 오퍼레이션을 위한 권한이 동일할 수 있다.
In one embodiment, the first applet and the second applet are respectively granted read and write rights only in their own security areas, and the rights for the read operation and the rights for the write operation may be the same.

일 실시예에서, 상기 통신 매개 애플릿은,In one embodiment, the communication parameter applet comprises:

읽기 오퍼레이션에 관하여, 보안 레벨을 정의하는 보안 태그(security tag) 및 인테그러티 레벨을 정의하는 인테그러티 태그(integrity tag)이 상기 제1 애플릿의 읽기 오퍼레이션을 위한 보안 태그 및 인테그러티 태그와 동일하고,With respect to the read operation, a security tag defining a security level and an integrity tag defining an integrity level are provided for the security tag and the integrity tag for the read operation of the first applet The same,

쓰기 오퍼레이션에 관하여, 보안 레벨을 정의하는 보안 태그(security tag) 및 인테그러티 레벨을 정의하는 인테그러티 태그(integrity tag)이 상기 제2 애플릿의 쓰기 오퍼레이션을 위한 보안 태그 및 인테그러티 태그와 동일할 수 있다.
With respect to a write operation, a security tag defining a security level and an integrity tag defining an integrity level are associated with a security tag and an integrity tag for the write operation of the second applet Can be the same.

본 발명의 실시예에 따르면, 멀티 애플릿(Multi-applet) 스마트 카드 플랫폼에서, 상호 간 서로 다른 보안 영역에서 실행되는 애플릿 간의 통신 채널을 형성함에 있어서 통신 채널의 보안성을 강화시킬 수 있는 효과가 있다.
According to the embodiment of the present invention, in a multi-applet smart card platform, security of a communication channel can be enhanced in forming a communication channel between applets executed in different security areas .

도 1은 Java 카드를 예로 들어 멀티 애플릿 스마트 카드 플랫폼을 개략적으로 나타낸 도면.
도 2는 멀티 애플릿 스마트 카드 플랫폼에서 서로 다른 보안 영역에 있는 2개의 애플릿 간에 보안 통신 채널을 형성하는 방법을 설명하기 위한 개념도.
도 3은 본 발명의 실시예에 따른 애플릿 간 보안 통신 방법을 설명하기 위한 일 실시예의 순서도.
1 schematically illustrates a multi-applet smart card platform with a Java card as an example;
FIG. 2 is a conceptual diagram illustrating a method for forming a secure communication channel between two applets in different security areas in a multi-applet smart card platform. FIG.
3 is a flowchart of an embodiment for explaining a secure communication method between applets according to an embodiment of the present invention;

본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.BRIEF DESCRIPTION OF THE DRAWINGS The present invention is capable of various modifications and various embodiments, and specific embodiments are illustrated in the drawings and described in detail in the detailed description. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 본 명세서의 설명 과정에서 이용되는 숫자(예를 들어, 제1, 제2 등)는 하나의 구성요소를 다른 구성요소와 구분하기 위한 식별기호에 불과하다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. In addition, numerals (e.g., first, second, etc.) used in the description of the present invention are merely an identifier for distinguishing one component from another.

또한, 본 명세서에서, 일 구성요소가 다른 구성요소와 "연결된다" 거나 "접속된다" 등으로 언급된 때에는, 상기 일 구성요소가 상기 다른 구성요소와 직접 연결되거나 또는 직접 접속될 수도 있지만, 특별히 반대되는 기재가 존재하지 않는 이상, 중간에 또 다른 구성요소를 매개하여 연결되거나 또는 접속될 수도 있다고 이해되어야 할 것이다.
Also, in this specification, when an element is referred to as being "connected" or "connected" with another element, the element may be directly connected or directly connected to the other element, It should be understood that, unless an opposite description is present, it may be connected or connected via another element in the middle.

도 1은 Java 카드를 예로 들어 멀티 애플릿 스마트 카드 플랫폼을 개략적으로 나타낸 도면이다. 멀티 애플릿 스마트 카드 플랫폼의 일 예로서, 자바 카드는 개방형 플랫폼으로 구현되어, 다양한 편의성을 부여할 수 있는 응용 프로그램들(애플릿들)을 사용자에게 제공할 수 있다. 이를 위해, 자바 스마트 카드 플랫폼에서는, 도 1에 도시된 바와 같이, 프로세서, 메모리, 입출력 모듈 등이 존재하는 하드웨어 계층, 그 하드웨어 계층 위에 카드 운영체제(Card Operating System), 자바 카드 상에 다양한 응용 프로그램이 존재할 수 있도록 지원해주는 가상 머신(Virtual Machine), 가상 머신 위에 자바 카드 API(Application Programming Interface), 그리고 응용 프로그램들에 해당하는 복수의 애플릿이 탑재되는 구조를 갖는다.1 is a diagram schematically illustrating a multi-applet smart card platform using a Java card as an example. As an example of a multi-applet smart card platform, a Java card can be implemented as an open platform to provide users with applications (applets) that can provide various convenience. To this end, in the Java smart card platform, as shown in FIG. 1, a hardware layer in which a processor, a memory, an input / output module and the like are present, a card operating system on the hardware layer, A virtual machine (Virtual Machine) that supports the existence of a virtual machine, a Java Card API (Application Programming Interface) on a virtual machine, and a plurality of applets corresponding to application programs.

본 발명의 실시예에 따른 애플릿 간 보안 통신 방법이 적용되는 멀티 애플릿 스마트 카드 플랫폼의 경우에도 도 1에 도시된 플랫폼과 대동소이한 멀티 애플릿 스마트 카드 플랫폼 기술에 기반하여 구현될 수 있다. The multi-applet smart card platform to which the secure communication method between applets according to the embodiment of the present invention is applied can also be implemented based on the multi-applet smart card platform technology which is similar to the platform shown in FIG.

이하, 본 발명의 실시예에 따른 애플릿 간 보안 통신 방법을 설명하기에 앞서, 본 발명을 이해하기 위한 기본 개념들에 관하여 설명한다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Before describing a method for secure communication between applets according to an embodiment of the present invention, basic concepts for understanding the present invention will be described.

애플릿 간의 보안 통신 채널을 형성하는 방법으로서, 비간섭 보안 정책(noninterference security policy)을 적용할 때, 억세스 권한(access right)을 정의하기 위해 보안 태그(security tag)가 활용될 수 있다. 여기서, 억세스 권한은 읽기 권한(즉, 읽기 오퍼레이션을 허용함), 쓰기 권한(즉, 쓰기 오퍼레이션을 허용함)으로 다시 구분될 수 있다. As a method of forming a secure communication channel between applets, when applying a noninterfering security policy, a security tag may be utilized to define an access right. Here, access rights can be further subdivided into read access (i.e., allowing read operations) and write access (i.e., allowing write operations).

Bell and LaPadula(BLP) 보안 모델(D.E. Bell and L. LaPadula, "Secure Computer Systems: Mathematical Foundations and Model," Technical Report M74-244, MITRE Corp., Bedford, MA, 1973.)을 참조하면, 보안 태그는 다음과 같은 2가지 보안 속성을 갖는 것으로 정의된다.Referring to Bell and LaPadula (BLP) security model (DE Bell and L. LaPadula, "Secure Computer Systems: Mathematical Foundations and Model," Technical Report M74-244, MITER Corp., Bedford, Mass., 1973.) Is defined as having two security attributes as follows.

첫 째로, 단순 보안 속성(simple security property)으로서, 보안 태그 ST1을 갖는 주체(subject)가 보안 태그 ST2를 갖는 객체(object)를 읽을 수 있으려면, 읽기 권한에 관하여

Figure 112014095537514-pat00001
관계가 성립되어야 한다. 즉, 읽기 보안 레벨이 높은 객체에 관한 읽기 오퍼레이션은 불가하다(즉, no read-up).First, as a simple security property, if a subject having a security tag ST1 can read an object having the security tag ST2,
Figure 112014095537514-pat00001
Relationship must be established. That is, read operations on objects with high read security level are not possible (ie no read-up).

둘 째로, 보안 * 속성(security *-property)으로서, 보안 태그 ST1을 갖는 주체(subject)가 보안 태그 ST2를 갖는 객체(object)를 고칠 수 있으려면, 쓰기 권한에 관하여

Figure 112014095537514-pat00002
관계가 성립되어야 한다. 즉, 쓰기 권한 레벨이 낮은 객체에 관한 쓰기 오퍼레이션은 불가하다(즉, no write-down).Secondly, in order for a subject having a security tag ST1 as a security * property (security * -property) to be able to correct an object having the security tag ST2,
Figure 112014095537514-pat00002
Relationship must be established. That is, write operations on objects with low write permission levels are not allowed (ie no write-down).

그리고 애플릿 간 비간섭 보안 정책(noninterference security policy)을 적용할 때, 정보의 완전성(무결성)에 관한 레벨을 정의하는 인테그러티 태그(integrity tag)도 활용될 수 있다. 이는 Biba 인테그러티 모델(K. J. Biba, "Integrity Considerations for Secure Computer Systems," Technical Report ESD-TR-76-372, MITRE Corp., 1977.)에서 다음과 같이 2가지 무결성 속성이 정의된다.When applying a noninterference security policy between applets, an integrity tag that defines the level of information integrity (integrity) may also be utilized. Two integrity attributes are defined as follows in the Biba Integrity Model (K. J. Biba, "Integrity Considerations for Secure Computer Systems," Technical Report ESD-TR-76-372, MITRE Corp., 1977.)

첫 째로, 단순 무결성 속성(simple integrity propery)으로서, 만일 인테그러티 태그 IT1을 갖는 주체(subject)가 인테그러티 태그 IT2를 갖는 객체(object)를 읽을 수 있으려면, 읽기 권한에 관하여

Figure 112014095537514-pat00003
관계가 성립되어야 한다. 즉, 읽기 무결성 레벨이 낮은 객체에 관한 읽기 오퍼레이션은 불가하다(즉, no read-down). 정보의 순도가 떨어지는 객체에 관한 읽기를 허용하지 않는다는 의미이다.First, as a simple integrity propery, if a subject with an integrity tag IT1 can read an object with an integrity tag IT2,
Figure 112014095537514-pat00003
Relationship must be established. That is, read operations on objects with low read integrity levels are not allowed (ie no read-down). This means that it does not allow reading about objects whose information is purity.

둘 째로, 인테그러티 * 속성(integrity *-property)으로서, 인테그러티 태그 IT1을 갖는 주체(subject)가 인테그러티 태그 IT2를 갖는 객체(object)를 고칠 수 있으려면, 쓰기 권한에 관하여

Figure 112014095537514-pat00004
관계가 성립되어야 한다. 즉, 쓰기 권한 레벨이 높은 객체에 관한 쓰기 오퍼레이션은 불가하다(즉, no write-up). 정보의 순도가 높은 객체를 변경하는 것은 허용하지 않는다는 의미이다.Second, in order for a subject having an integrity tag IT1 as an integrity * -property to be able to modify an object having an integrity tag IT2,
Figure 112014095537514-pat00004
Relationship must be established. That is, writing operations on objects with a high write permission level are not allowed (ie, no write-up). This means that it is not allowed to change objects with high purity information.

본 발명의 실시예에서는 읽기 권한 및 쓰기 권한을 부여하는데 있어서, 위의 보안 태그 및 인테그러티 태그를 이용하였다.
In the embodiment of the present invention, the security tag and the integrity tag are used in granting the read and write rights.

그리고 본 발명의 실시예서는 보안 통신 채널을 형성함에 있어서, 인트랜서티브 비간섭 보안 정책(intransitive noninterference security policy)를 적용하였다. 이하, 이를 INI 보안 정책이라 간략히 명명한다. 이의 이해를 위해 트랜서티브(transitive) 비간섭 보안 정책(TNI 보안 정책)을 먼저 설명하면 아래와 같다.In an embodiment of the present invention, an intransitive noninterference security policy is applied in forming a secure communication channel. Hereinafter, this is simply referred to as INI security policy. To understand this, the transitive non-interference security policy (TNI security policy) is described first.

보안 영역 U에서 수행된 액션이 보안 영역 V에 후속적 영향을 주지 않는 경우, 보안 영역 U와 보안 영역 V는 비간섭 관계(즉,

Figure 112014095537514-pat00005
)에 있다고 할 수 있다. 반대로 후속적 영향을 주는 경우
Figure 112014095537514-pat00006
로 간략히 표현한다. TNI 보안 정책에 의할 때, 만일
Figure 112014095537514-pat00007
인 경우,
Figure 112014095537514-pat00008
의 관계가 된다. 이와 달리,
Figure 112014095537514-pat00009
인 경우라도,
Figure 112014095537514-pat00010
관계에 있을 수 있다면, 이는 INI 보안 정책에 해당한다. 일 예로, A와 C의 중간에 다른 애플릿 B를 경유하는 매개 방식의 통신이 이루어지더라도, 애플릿 A가 애플릿 C로 직접 접속되는 것이 완전히 불허되는 것이 INI 보안 정책이 적용된 예이다.
When the action performed in the security area U does not have a subsequent influence on the security area V, the security area U and the security area V have a non-interference relationship (i.e.,
Figure 112014095537514-pat00005
). Conversely, if there is a subsequent influence
Figure 112014095537514-pat00006
. According to the TNI security policy,
Figure 112014095537514-pat00007
Quot;
Figure 112014095537514-pat00008
. Alternatively,
Figure 112014095537514-pat00009
Even in this case,
Figure 112014095537514-pat00010
If it can be in a relationship, this corresponds to the INI security policy. For example, an INI security policy is applied in which an applet A is completely prevented from being directly connected to an applet C even if an intermediary communication is made via the other applet B in the middle of A and C.

이제, 본 발명의 실시예에 관한 이해를 돕기 위해, 스마트 카드 엔티티들(Entities)을 설명한다. 애플릿은 스마트 카드에서 특정 기능을 수행하기 위한 응용 프로그램이다. 모든 애플릿은 고유의 아이디(AID)를 가지며, 본 발명의 실시예에서는 각 애플릿에 3가지 기본 데이터 타입(즉, 보안 레벨, 인테그러티 레벨, 카테고리)을 부여하였다.Now, in order to facilitate an understanding of embodiments of the present invention, smart card entities are described. An applet is an application program for performing specific functions on a smart card. All applets have a unique identifier (AID), and in the embodiment of the present invention, three basic data types (i.e., security level, integrity level, category) are given to each applet.

이에 따라, 시스템 상태(System state) 상태 S에서 애플릿은 아래와 같이 모델링될 수 있다. 아래의 모델링은 Z 랭귀지를 이용한 것이다. 또한 이하, 본 명세서에서 예시할 모델링은 모두 Z 랭귀지를 이용한 것이다.
Accordingly, in the System state S, the applet can be modeled as follows. The modeling below uses the Z language. Hereinafter, all the modeling examples used in this specification are based on the Z language.

Figure 112014095537514-pat00011
Figure 112014095537514-pat00011

여기서, sub_read_secClear_s는 읽기 오퍼레이션을 위한 보안 접속 권한을 저장(설정)한 것이고, sub_read_intLevel_s는 읽기 오퍼레이션을 위한 인테그러티 레벨을 저장(설정)한 것이다. 쓰기 오퍼레이션을 위한 보안 레벨 및 인테그러티 레벨도 마찬가지로 각각 설정한 것을 확인할 수 있다.Here, sub_read_secClear_s stores (sets) the security access right for the read operation, and sub_read_intLevel_s stores (sets) the integrity level for the read operation. The security level and the integrity level for the write operation can also be confirmed in the same manner.

이에 따라, 서비스 벤더(service vendor)가 제작한 벤더 애플릿도 아래와 같이 모델링할 수 있다. 본 발명의 실시예에서, 보안 통신이 필요한 2개의 벤더 애플릿(이하, 도 2 및 도 3에서 설명할 애플릿 A 및 애플릿 C)은 아래에 모델링과 같이, 각각 자신의 보안 영역에서만 읽기 및 쓰기 권한이 부여되며, 읽기 오퍼레이션을 위한 권한과 쓰기 오퍼레이션을 위한 권한이 동일하게 설정될 수 있다.Accordingly, a vendor applet produced by a service vendor can be modeled as follows. In the embodiment of the present invention, two vendor applets (hereinafter referred to as applet A and applet C described in Figs. 2 and 3) that require secure communication are allowed to read and write only in their own security areas And the rights for the read operation and the rights for the write operation can be set to the same.

Figure 112014095537514-pat00012
Figure 112014095537514-pat00012

또한, 스마트 카드 엔티티로서, 데디케이티드 파일(Dedicated File, 이하 DF로 간략히 명명함)과 엘리멘터리 파일(Elementary File, 이하 EF로 간략히 명명함)이 있다.In addition, as a smart card entity, there are a Dedicated File (hereinafter abbreviated as DF) and an Elementary File (abbreviated below as EF).

DF는 일반적인 컴퓨터 시스템에서의 디렉토리(directory)와 대응되며, EF는 파일(file)과 대응되는 엔티티이다. DF와 EF는 각각의 고유의 아이디(DF는 DFID, EF는 EFID로 명명함)를 갖는다. 그리고 DF와 EF는 본 발명의 실시예에서 아래와 같이 모델링될 수 있다.
DF corresponds to a directory in a general computer system, and EF is an entity corresponding to a file. DF and EF have their own identifiers (DF is DFID and EF is EFID). And DF and EF may be modeled as follows in an embodiment of the present invention.

Figure 112014095537514-pat00013
Figure 112014095537514-pat00013

Figure 112014095537514-pat00014
Figure 112014095537514-pat00014

본 발명의 실시예에서는, 위의 EF를 벤더 애플릿 간 보안 통신 채널을 형성하는 수단으로서 활용한다.
In the embodiment of the present invention, the above EF is utilized as means for forming a secure communication channel between vendor applets.

이상에서 설명한 기본 개념들에 기초하여, 이하 도 2 및 도 3을 참조하여, 본 발명의 실시예에 따른 애플릿 간 보안 통신 방법을 구체적으로 설명하기로 한다. 여기서, 도 2는 멀티 애플릿 스마트 카드 플랫폼에서 서로 다른 보안 영역에 있는 2개의 애플릿 간에 보안 통신 채널을 형성하는 방법을 설명하기 위한 개념도이고, 도 3은 본 발명의 실시예에 따른 애플릿 간 보안 통신 방법을 설명하기 위한 일 실시예의 순서도이다. Based on the above-described basic concepts, a secure communication method between applets according to an embodiment of the present invention will be described in detail with reference to FIG. 2 and FIG. FIG. 2 is a conceptual diagram for explaining a method of forming a secure communication channel between two applets in different security areas in a multi-applet smart card platform, FIG. 3 is a flowchart illustrating a method for secure communication between applets according to an embodiment of the present invention And FIG.

먼저, 도 2에서, 애플릿 A와 애플릿 C는 벤더 애플릿이고, 애플릿 B는 그 2개의 벤더 애플릿 간의 보안 통신을 구현하기 위해 통신을 매개하는 통신 매개 애플릿이다. 애플릿 A가 속한 보안 영역 U와 애플릿 C가 속한 보안 영역 W는 상호 간 완전히 분리된(completely separated or isolated) 보안 영역이다. 그리고 벤더 애플릿 A는 보안 영역 U 내에서만 읽기 및 쓰기 권한이 부여되어 있으며 그 읽기 권한 및 쓰기 권한이 동일하고, 벤더 애플릿 C는 보안 영역 W 내에서만 읽기 및 쓰기 권한이 부여되어 있으며 그 읽기 권한 및 쓰기 권한이 동일한 것으로 가정한다.First, in Fig. 2, applet A and applet C are vendor applets, and applet B is a communication-mediated applet that mediates communication to implement secure communication between the two vendor applets. The security zone U to which applet A belongs and the security zone W to which applet C belongs are completely separated or isolated security zones. In addition, the vendor applet A is granted read and write privileges only within the security realm U, its read and write privileges are the same, and vendor applet C is granted read and write privileges only within the security realm. It is assumed that the rights are the same.

그리고 통신 매개 애플릿 B는 본 발명의 실시예에 따라 INI 보안 정책을 구현하기 위한 애플릿이다. 이를 위해 통신 매개 애플릿 B는 아래와 같이 모델링될 수 있다.
And the communication parameter applet B is an applet for implementing the INI security policy according to the embodiment of the present invention. To this end, the communication parameter applet B can be modeled as follows.

Figure 112014095537514-pat00015
Figure 112014095537514-pat00015

본 발명의 실시예에서, INI 애플릿인 애플릿 B는 읽기 오퍼레이션을 위한 영역과 쓰기 오퍼레이션을 위한 영역이 보안상 완전히 분리된다. 즉, 읽기 오퍼레이션을 위한 권한을 설정하는 태그를 RT로, 쓰기 오퍼레이션을 위한 태그를 WT로 간략화하여 표현할 때, 통신 매개 애플릿 B는

Figure 112014095537514-pat00016
관계를 만족하도록 구현된다. 여기서,
Figure 112014095537514-pat00017
는 논리적 NOT 연산자,
Figure 112014095537514-pat00018
는 논리적 AND 연산자, 위 모델링에서
Figure 112014095537514-pat00019
는 논리적 OR 연산자이다. 위 INI 애플릿의 모델링에서도 위 관계식을 만족하도록 읽기 및 쓰기 권한을 설정해놓고 있다.
In the embodiment of the present invention, the applet B as the INI applet is completely separated from the area for the read operation and the area for the write operation. That is, when expressing the tag for setting the authority for the read operation as RT and the tag for the write operation as WT, the communication parameter applet B
Figure 112014095537514-pat00016
Relationship. here,
Figure 112014095537514-pat00017
Is a logical NOT operator,
Figure 112014095537514-pat00018
Is a logical AND operator, in the above modeling
Figure 112014095537514-pat00019
Is a logical OR operator. In the modeling of the above INI applet, read and write permissions are set so as to satisfy the above relation.

위와 같이 서로 다른 보안 영역에 속하며 상호 간 완전히 분리된 2개의 벤더 애플릿 간에 정보 전달을 위해 통신이 필요한 경우(도 3의 단계 S110 참조), 본 발명의 실시예에서는 도 3의 단계 S120 ~ 단계 S160의 과정을 통해서 보안 통신을 달성한다. 이하, 도 3의 단계 별로 차례로 설명한다.If communication is required between two vendor applets belonging to different security areas and completely separated from each other as described above (refer to step S110 in FIG. 3), in the embodiment of the present invention, in step S120 to step S160 Through the process, secure communication is achieved. Hereinafter, the steps of FIG. 3 will be described in order.

단계 S120을 참조하면, 벤더 애플릿 A로부터 벤더 애플릿 C로 정보 전달이 필요한 경우, 애플릿 A는 DF1을 생성하고 그 DF1 내에 EF1을 생성한다. 그리고 애플릿 C는 DF2를 생성하고 그 DF2 내에 EF2를 생성한다. DF1, EF1, DF2, EF2의 생성은 카드 운영체제에 의한 시스템 콜(System call)에 의해 지시될 수 있다. 본 단계에서, EF1 및 EF2는 모두 컨텐츠가 없는 빈 파일로 생성될 수 있다.Referring to step S120, when information transfer from the vendor applet A to the vendor applet C is required, the applet A generates DF1 and generates EF1 in the DF1. And applet C generates DF2 and creates EF2 in DF2. The generation of DF1, EF1, DF2, and EF2 may be indicated by a system call by the card operating system. At this stage, both EF1 and EF2 can be created as empty files with no content.

본 단계(S120)에서 DF의 생성은 아래의 방법에 의할 수 있다.The generation of DF in this step S120 can be performed by the following method.

DF 생성을 위해 전달되는 시스템 콜은, 생성주체의 AID, 생성될 타겟 DF의 DFID, 타겟 DF가 속할 디렉토리인 페런트(parent) DF에 관한 DFID(이하, 이를 PDID라 함)을 입력 파라미터로서 포함할 수 있다. 이에 따라, 페런트 DF 내에 타겟 DF가 생성된다.The system call transmitted for generating the DF includes the AID of the generating subject, the DFID of the target DF to be generated, and the DFID (hereinafter referred to as PDID) related to the parent DF, which is the directory to which the target DF will belong, as input parameters can do. Thus, a target DF is generated in the perforation DF.

DF 생성을 위한 사전 조건(precondition)은 다음과 같다. 먼저, 생성주체는 벤더 애플릿이어야 하며, 생성주체는 페런트 DF에 관한 읽기 및 쓰기 권한을 갖는다. 이를 위해, 첫 째로, 읽기 권한에 관하여, 해당 벤더 애플릿의 보안 레벨 및 인테그러티 레벨이 ST1 및 IT1으로 정의되고, 페런트 DF의 보안 레벨 및 인테그러티 레벨이 ST0 및 IT0으로 정의될 때,

Figure 112014095537514-pat00020
관계를 갖도록 권한 설정된다. 이를 정의한 읽기 권한에 관한 모델링은 아래와 같다.
The precondition for DF generation is as follows. First, the creator must be a vendor applet, and the creator has read and write privileges on the Parent DF. To this end, firstly, with respect to the read right, when the security level and the integrity level of the corresponding vendor applet are defined as ST1 and IT1, and the security level and integrity level of the perforated DF are defined as ST0 and IT0,
Figure 112014095537514-pat00020
A relationship is established. The modeling of the read authority that defines this is as follows.

Figure 112014095537514-pat00021
Figure 112014095537514-pat00021

둘 째로, 쓰기 권한에 관하여, 해당 벤더 애플릿의 보안 레벨 및 인테그러티 레벨이 ST1 및 IT1으로 정의될 때, ST0 ST1 IT1 IT0 관계를 갖도록 권한 설정된다. 이를 정의한 쓰기 권한에 관한 모델링은 아래와 같다.
About two validly write privileges, when levels of security and integrity level of the tea-vendor applet will be defined as ST1 and IT1, is set ST0 ST1 IT1 IT0 permission to have a relationship. The modeling of write privileges that define this is as follows.

Figure 112014095537514-pat00022

Figure 112014095537514-pat00022

DF 생성을 위한 사후 조건(post condition)은 다음과 같이 모델링될 수 있다.
The post condition for DF generation can be modeled as follows.

Figure 112014095537514-pat00023
Figure 112014095537514-pat00023

즉, 타겟 DF가 생성된 경우 페런트 DF 아래에 저장되며, 새롭게 생성된 타겟 DF는 보안 레벨 및 인테그러티 레벨이 생성 주체인 벤더 애플릿의 레벨을 승계하도록 한다.
That is, when the target DF is created, it is stored under the pertain DF, and the newly generated target DF causes the security level and the integrity level to inherit the level of the vendor applet that is the subject of the generation.

본 단계(S120)에서 EF의 생성은 아래의 방법에 의할 수 있다.In this step (S120), the generation of EF can be performed by the following method.

EF 생성을 위해 전달되는 시스템 콜은, 생성주체의 AID, 생성될 타겟 EF의 EFID, 타겟 EF가 속할 디렉토리인 페런트(parent) DF에 관한 DFID(즉, PDID)(이는 앞서 생성된, 타겟 DF임)를 입력 파라미터로서 포함할 수 있다. 이에 따라, 페런트 DF 내에 타겟 EF가 생성된다.The system call transmitted for generating the EF includes the AID of the generating subject, the EFID of the target EF to be generated, and the DFID (i.e., PDID) related to the parent DF (i.e., the target DF Can be included as input parameters. Thus, a target EF is generated in the perforation DF.

EF 생성을 위한 사전 조건(precondition)은 다음과 같다. 생성주체는 벤더 애플릿이어야 하며, 생성주체는 페런트 DF에 관한 읽기 및 쓰기 권한을 갖는다. 그리고 EF 생성 이후의 사후 조건(post condition)은 다음과 같다. 타겟 EF가 생성되면 페런트 DF 아래에 저장되고, 최초 EF의 컨텐츠는 제로(zero)로 셋팅된다. 새롭게 생성된 타겟 EF의 보안 레벨 및 인테그러티 레벨은 생성 주체인 벤더 애플릿의 레벨을 승계하도록 한다. 이를 정의한 EF 생성에 관한 모델링은 아래와 같다.
The precondition for EF generation is as follows. The creator must be a vendor applet, and the creator has read and write privileges on the Parent DF. The post condition after EF generation is as follows. When the target EF is created, it is stored under the Parent DF, and the content of the first EF is set to zero. The security level and the integrity level of the newly generated target EF are made to take over the level of the vendor applet as the generating subject. The modeling of EF generation that defines it is as follows.

Figure 112014095537514-pat00024

Figure 112014095537514-pat00024

상술한 방법에 의해, 벤더 애플릿 A는 DF1을 생성하고 그 DF1 내에 EF1을 생성한다. 그리고 벤더 애플릿 C는 DF2를 생성하고 그 DF2 내에 EF2를 생성할 수 있다.By the above-described method, the vendor applet A generates DF1 and generates EF1 in the DF1. And the vendor applet C can generate DF2 and generate EF2 in that DF2.

DF1 내에 EF1이 생성되면, 도 3의 단계 S130에서, 벤더 애플릿 A는 쓰기 오퍼레이션을 수행하여, 빈 파일로 생성되었던 EF1에 벤더 애플릿 C로 전달이 필요한 정보를 쓴다. 이러한 쓰기 오퍼레이션도 시스템 콜을 통해 지시될 수 있다.When EF1 is generated in DF1, in step S130 of FIG. 3, vendor applet A performs a write operation and writes information required to be transferred to vendor applet C to EF1 that was created as an empty file. These write operations can also be directed through system calls.

쓰기 오퍼레이션을 위한 시스템 콜에는, 쓰기 주체의 AID, 타겟 EF의 EFID, 타겟 EF가 속한 페런트 DF의 PDID, 쓰기 오퍼레이션을 위한 입력값이 입력 파라미터로서 포함될 수 있다. 쓰기 오퍼레이션을 위한 사전 조건은 다음과 같다. 쓰기 주체인 벤더 애플릿이 페런트 DF에 읽기 권한이 있어야 하며, 또한 타겟 EF에 쓰기 권한이 있어야 한다. 이는 아래와 같이 모델링될 수 있다.
The system call for the write operation may include the AID of the write subject, the EFID of the target EF, the PDID of the pertinent DF to which the target EF belongs, and the input value for the write operation as input parameters. The preconditions for the write operation are as follows. The vendor applet that is the writer must have read access to the Perforce DF, and must also have write access to the target EF. This can be modeled as follows.

Figure 112014095537514-pat00025

Figure 112014095537514-pat00025

그리고 쓰기 오퍼레이션 이후의 사후 조건은 다음과 같다. EF의 컨텐츠는 시스템 콜에 의해 전달된 입력값으로 셋팅되고, 그 값은 출력 파라미터로 리턴된다. 이는 아래와 같이 모델링될 수 있다.
The postconditions after the write operation are as follows. The content of the EF is set to the input value passed by the system call, and its value is returned as the output parameter. This can be modeled as follows.

Figure 112014095537514-pat00026

Figure 112014095537514-pat00026

위와 같은 방법으로 EF1에 전달할 정보에 관한 쓰기 오퍼레이션이 수행되면, 도 3의 단계 S140에서 통신 매개 애플릿인 애플릿 B는 EF1에 관한 읽기 오퍼레이션을 수행하고, 단계 S150에서 그 읽어들인 정보를 EF2로 업데이트(update)하는 쓰기 오퍼레이션을 수행한다. When the write operation is performed on the information to be transferred to the EF1 in the above manner, the applet B as the communication parameter applet performs the read operation on the EF1 in step S140 of FIG. 3, and updates the read information to the EF2 in step S150 update) operation.

이때, 쓰기 오퍼레이션을 위한 모델링에 관해서는 앞서 설명하였는 바, 읽기 오퍼레이션을 위한 모델링에 관해서 설명한다. 읽기 오퍼레이션도 시스템 콜에 의해 지시된다. 읽기 오퍼레이션을 위한 시스템 콜에는, 읽기 주체의 AID, 타겟 EF의 EFID, 타겟 EF가 속한 페런트 DF의 PDID가 입력 파라미터로 포함될 수 있다. 그리고 이러한 읽기 오퍼레이션을 가능하게 하는 사전 조건으로는, 읽기 주체인 애플릿이 페런트 DF 및 타겟 EF에 관한 읽기 권한을 가질 것이 요구된다. 이에 관한 모델링은 아래와 같다.
At this time, modeling for a write operation has been described above, and modeling for a read operation will be described. The read operation is also indicated by the system call. The system call for the read operation may include the AID of the read subject, the EFID of the target EF, and the PDID of the pertinent DF to which the target EF belongs as input parameters. And, as a precondition to enable such a read operation, it is required that the read subject, the applet, has read rights on the perforated DF and target EF. The modeling is as follows.

Figure 112014095537514-pat00027
Figure 112014095537514-pat00027

그리고 읽기 오퍼레이션이 수행된 이후의 사후 조건은 아래와 같이 모델링될 수 있다. 즉, 애플릿은 읽어들인 EF의 컨텐츠를 출력 파라미터로 리턴한다.
The post-condition after the read operation is performed can be modeled as follows. That is, the applet returns the contents of the read EF as an output parameter.

Figure 112014095537514-pat00028

Figure 112014095537514-pat00028

상술한 바와 같은 단계 S140 및 S150에서의 읽기/쓰기 오퍼레이션 수행을 가능하게 하기 위해, 통신 매개 애플릿 B는 벤더 애플릿 A가 생성한 DF1 및 EF1에 관한 읽기 권한을 가지고, 벤더 애플릿 C가 생성한 DF2에 관한 읽기 권한을 가지며, EF2에 관한 쓰기 권한을 갖도록 권한 설정될 수 있다. 이에 관한 모델링 예시가 아래에 나와 있다.
In order to enable the execution of the read / write operations at steps S140 and S150 as described above, the communication parameter applet B has read permission for the DF1 and EF1 generated by the vendor applet A, and the DF2 generated by the vendor applet C , And can be set to have write permission for EF2. Modeling examples for this are shown below.

Figure 112014095537514-pat00029
Figure 112014095537514-pat00029

즉, 통신 매개 애플릿 B는 INI 보안 정책을 완벽히 구현할 수 있도록, 읽기 오퍼레이션에 관한 권한과 쓰기 오퍼레이션에 관한 권한이 아래와 같이 분리될 수 있다.That is, the communication parameter applet B can separate the privileges related to the read operation and the privilege related to the write operation such that the INI security policy can be completely implemented.

애플릿 B는, 읽기 오퍼레이션에 관하여, 보안 레벨을 정의하는 보안 태그(security tag) 및 인테그러티 레벨을 정의하는 인테그러티 태그(integrity tag)이 벤더 애플릿 A의 읽기 오퍼레이션을 위한 보안 태그 및 인테그러티 태그와 동일하게 설정될 수 있다.The applet B has a security tag for defining the security level and an integrity tag for defining the integrity level with respect to the read operation and a security tag for the read operation of the vendor applet A, Can be set the same as the T-tag.

또한, 애플릿 B는, 쓰기 오퍼레이션에 관하여, 보안 레벨을 정의하는 보안 태그(security tag) 및 인테그러티 레벨을 정의하는 인테그러티 태그(integrity tag)이 벤더 애플릿 C의 쓰기 오퍼레이션을 위한 보안 태그 및 인테그러티 태그와 동일하게 설정될 수 있다.The applet B further includes a security tag for defining the security level and an integrity tag for defining the integrity level for the write operation of the vendor applet C, It can be set the same as the Integrity tag.

앞선 단계들에 따라, EF1에 기록된 정보가 EF2으로 업데이트되면, 도 3의 S160에서, 벤더 애플릿 C는 EF2에 관한 읽기 오퍼레이션을 수행한다. 이에 따라, 서로 보안상 완전히 분리된 2개의 벤더 애플릿 간에 INI 보안 정책에 부합하는 보안 통신이 이루어질 수 있게 된다.According to the preceding steps, when the information recorded in EF1 is updated to EF2, in S160 of FIG. 3, vendor applet C performs a read operation on EF2. Accordingly, secure communication can be performed between the two vendor applets completely separated from each other in security according to the INI security policy.

이상에서 설명한 본 발명의 실시예에 따른 애플릿 간 보안 통신 방법을 정리하면 아래와 같이 모델링할 수 있다.
The security communication method between applets according to the embodiment of the present invention described above can be modeled as follows.

Figure 112014095537514-pat00030

Figure 112014095537514-pat00030

이상에서는 본 발명의 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 쉽게 이해할 수 있을 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the following claims And changes may be made without departing from the spirit and scope of the invention.

Claims (7)

멀티 애플릿(Multi-applet) 스마트 카드 플랫폼에서 서로 다른 보안 영역에 있는 애플릿 간에 보안 통신 채널을 형성하는 방법으로서,
서로 다른 보안 영역에 있는 제1 애플릿으로부터 제2 애플릿으로 정보 전달이 필요한 경우, 시스템 콜(system call)을 통해서, 상기 제1 애플릿이 제1 데디케이티드 파일(Dedicated file) 내에 제1 엘리멘터리 파일(Elementary file)을 생성하도록 하고, 상기 제2 애플릿이 제2 데디케이티드 파일(Dedicated file) 내에 제2 엘리멘터리 파일(Elementary file)을 생성하도록 하는 단계;
상기 제1 애플릿과 상기 제2 애플릿 간의 통신을 매개하기 위한 통신 매개 애플릿을 통해서, 상기 제1 엘리멘터리 파일에 기록된 전달 필요 정보에 관한 읽기 오퍼레이션(read operation)을 수행하고, 읽기 오퍼레이션을 통해 읽어들인 정보를 상기 제2 엘리멘터리 파일에 기록하는 쓰기 오퍼레이션(write operation)을 수행하는 단계-여기서, 상기 통신 매개 애플릿은 읽기 오퍼레이션을 위한 영역과 쓰기 오퍼레이션을 위한 영역이 보안상 완전히 분리된 애플릿임-; 및
상기 제2 애플릿이 상기 전달 필요한 정보가 기록된 제2 엘리멘터리 파일에 관한 읽기 오퍼레이션을 수행하는 단계
를 포함하는 애플릿 간 보안 통신 방법.
A method of forming a secure communication channel between applets in different security zones in a multi-applet smart card platform,
If it is necessary to transfer information from a first applet in a different security area to a second applet, the first applet is placed in a first elementary file (Dedicated file) through a system call, Causing the second applet to generate a second elementary file in a second dedicated file, the method comprising: generating an elementary file;
Performing a read operation on transfer necessary information recorded in the first element file through a communication parameter applet for mediating communication between the first applet and the second applet, Performing a write operation to write the read information to the second elementary file, wherein the communication parameter applet includes an area for a read operation and an area for a write operation, being-; And
The second applet performing a read operation on the second elementary file in which the transfer necessary information is recorded
To-applet security communication method.
제1항에 있어서,
상기 제1 엘리멘터리 파일은 최초 컨텐츠 없는 빈 파일로 생성되되,
상기 제1 엘리멘터리 파일이 생성된 이후에, 상기 제1 애플릿이 상기 제1 엘리멘터리 파일에 상기 전달 필요 정보를 기록하는 쓰기 오퍼레이션(write operation)을 수행하는 단계를 더 포함하는, 애플릿 간 보안 통신 방법.
The method according to claim 1,
The first elementary file is generated as an empty file without an initial contents,
Further comprising: after the first elementary file is created, performing a write operation in which the first applet writes the transfer necessary information to the first elementary file, Secure communication method.
제1항에 있어서,
상기 제1 애플릿과 상기 제2 애플릿은 상호 간 읽기 및 쓰기에 관한 직접 접속이 불가한 서로 다른 벤더에 의한 벤더 애플릿이며,
상기 통신 매개 애플릿은, 상기 제1 및 제2 애플릿과는 다른 보안 영역에 존재하는, 애플릿 간 보안 통신 방법.
The method according to claim 1,
Wherein the first applet and the second applet are vendor applets by different vendors that are not directly connected to each other for reading and writing,
Wherein the communication parameter applet is in a different security area than the first and second applets.
제3항에 있어서,
상기 통신 매개 애플릿은, 상기 제1 데디케이티드 파일 및 상기 제1 엘리멘터리 파일에 관한 읽기 권한을 가지고, 상기 제2 데디케이티드 파일에 관한 읽기 권한을 가지며, 상기 제2 엘리멘터리 파일에 관한 쓰기 권한을 갖도록 권한 설정되어 있는 애플릿인, 애플릿 간 보안 통신 방법.
The method of claim 3,
Wherein the communication mediation applet has a read right on the first dated file and the first elementary file and has a read right on the second dated file, A secure communication method between applets, which is an applet that is set to have write permission.
제1항에 있어서,
상기 제1 엘리멘터리 파일 및 제2 엘리멘터리 파일을 생성하는 단계 이전에, 상기 제1 애플릿이 상기 제1 데디케이티드 파일을 생성하는 단계 및 상기 제2 애플릿이 상기 제2 데디케이티드 파일을 생성하는 단계를 더 포함하되,
상기 제1 및 제2 데디케이티드 파일을 생성하는 단계는,
상기 제1 및 제2 데디케이티드 파일을 해당 애플릿의 보안 영역 내에 존재하는 특정 데디케이티드 파일의 하위에 생성하고,
해당 애플릿이 페런트(parent) 데디케이티드 파일인 상기 특정 데디케이티드 파일에 관한 읽기 및 쓰기 권한을 가질 수 있도록 권한 설정하는 단계를 포함하는, 애플릿 간 보안 통신 방법.
The method according to claim 1,
Wherein the step of creating the first element file and the second elementary file comprises the steps of the first applet creating the first dedicated file and the second applet creating the second dedicated file , ≪ / RTI >
Wherein the generating the first and second dedicated files comprises:
Generating the first and second dated files under a specific dedicated file existing in a security area of the applet,
And authorizing the applet to have read and write privileges on the specific dedicated file that is a parent dedicated file.
제1항에 있어서,
상기 제1 애플릿 및 상기 제2 애플릿은, 각각 자신의 보안 영역에서만 읽기 및 쓰기 권한이 부여되며, 읽기 오퍼레이션을 위한 권한과 쓰기 오퍼레이션을 위한 권한이 동일한, 애플릿 간 보안 통신 방법.
The method according to claim 1,
Wherein the first applet and the second applet have read and write privileges only in their own security areas and have the same privileges for a read operation and a write operation, respectively.
제6항에 있어서,
상기 통신 매개 애플릿은,
읽기 오퍼레이션에 관하여, 보안 레벨을 정의하는 보안 태그(security tag) 및 인테그러티 레벨을 정의하는 인테그러티 태그(integrity tag)이 상기 제1 애플릿의 읽기 오퍼레이션을 위한 보안 태그 및 인테그러티 태그와 동일하고,
쓰기 오퍼레이션에 관하여, 보안 레벨을 정의하는 보안 태그(security tag) 및 인테그러티 레벨을 정의하는 인테그러티 태그(integrity tag)이 상기 제2 애플릿의 쓰기 오퍼레이션을 위한 보안 태그 및 인테그러티 태그와 동일한, 애플릿 간 보안 통신 방법.
The method according to claim 6,
Wherein the communication-
With respect to the read operation, a security tag defining a security level and an integrity tag defining an integrity level are provided for the security tag and the integrity tag for the read operation of the first applet The same,
With respect to a write operation, a security tag defining a security level and an integrity tag defining an integrity level are associated with a security tag and an integrity tag for the write operation of the second applet Same, a secure communication method between applets.
KR1020140134874A 2014-10-07 2014-10-07 Secured communication method for smart card applications KR101583212B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140134874A KR101583212B1 (en) 2014-10-07 2014-10-07 Secured communication method for smart card applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140134874A KR101583212B1 (en) 2014-10-07 2014-10-07 Secured communication method for smart card applications

Publications (1)

Publication Number Publication Date
KR101583212B1 true KR101583212B1 (en) 2016-01-07

Family

ID=55169100

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140134874A KR101583212B1 (en) 2014-10-07 2014-10-07 Secured communication method for smart card applications

Country Status (1)

Country Link
KR (1) KR101583212B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100879909B1 (en) * 2008-09-09 2009-01-22 주식회사 스마트카드연구소 System for providing applet service using scws and method thereof
KR20090038753A (en) * 2007-10-16 2009-04-21 주식회사 케이티프리텔 System for managing smart card and method thereof
JP2012252451A (en) * 2011-06-01 2012-12-20 Ntt Docomo Inc Communication terminal and communication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090038753A (en) * 2007-10-16 2009-04-21 주식회사 케이티프리텔 System for managing smart card and method thereof
KR100879909B1 (en) * 2008-09-09 2009-01-22 주식회사 스마트카드연구소 System for providing applet service using scws and method thereof
JP2012252451A (en) * 2011-06-01 2012-12-20 Ntt Docomo Inc Communication terminal and communication system

Similar Documents

Publication Publication Date Title
Maesa et al. Blockchain based access control services
KR102480035B1 (en) Dynamic Access Control on Blockchain
Nadkarni et al. Preventing accidental data disclosure in modern operating systems
US9576147B1 (en) Security policy application through data tagging
US20190089810A1 (en) Resource access method, apparatus, and system
BR112021008817A2 (en) ways to define and manage in a trusted network of distributed records
US8645967B2 (en) Efficient secure data marshaling through at least one untrusted intermediate process
Katkalov et al. Model-driven development of information flow-secure systems with IFlow
CN111191279A (en) Big data safe operation space implementation method and system oriented to data sharing service
CN108228353A (en) resource access control method, device and corresponding terminal
Bastys et al. Tracking Information Flow via Delayed Output: Addressing Privacy in IoT and Emailing Apps
US11275850B1 (en) Multi-faceted security framework for unstructured storage objects
US11010343B2 (en) Architecture, method and apparatus for enforcing collection and display of computer file metadata
CN111147496B (en) Data processing method and device
Muthukumaran et al. Producing hook placements to enforce expected access control policies
KR101583212B1 (en) Secured communication method for smart card applications
Lee et al. Privacy preserving collaboration in bring-your-own-apps
Vernotte et al. In-depth modeling of the UNIX operating system for architectural cyber security analysis
JP2007004610A (en) Complex access approval method and device
Mutti et al. Policy specialization to support domain isolation
CN116249980A (en) Software access through heterogeneous encryption
Mehak et al. EACF: extensible access control framework for cloud environments
CN112784263B (en) Bit-locked disk handler management system and method
CN111818094B (en) Identity registration method, device and equipment
Kedjar et al. The hybrid model for web services security access control and information flow control

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20191128

Year of fee payment: 5