KR101957159B1 - 보안 요소를 이용한 통신 방법 및 이를 수행하는 장치 - Google Patents

보안 요소를 이용한 통신 방법 및 이를 수행하는 장치 Download PDF

Info

Publication number
KR101957159B1
KR101957159B1 KR1020170051426A KR20170051426A KR101957159B1 KR 101957159 B1 KR101957159 B1 KR 101957159B1 KR 1020170051426 A KR1020170051426 A KR 1020170051426A KR 20170051426 A KR20170051426 A KR 20170051426A KR 101957159 B1 KR101957159 B1 KR 101957159B1
Authority
KR
South Korea
Prior art keywords
port
external module
communication
security element
command
Prior art date
Application number
KR1020170051426A
Other languages
English (en)
Other versions
KR20180118306A (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 KR1020170051426A priority Critical patent/KR101957159B1/ko
Publication of KR20180118306A publication Critical patent/KR20180118306A/ko
Application granted granted Critical
Publication of KR101957159B1 publication Critical patent/KR101957159B1/ko

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/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • 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
    • 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/82Protecting input, output or interconnection devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 보안 요소(Secure Element)에 구비된 제1 및 제2 포트를 활용한 보안 요소와 외부 모듈 사이의 통신 방법에 관한 것이다. 본 발명에 따른 통신 방법은, 상기 보안 요소가, 상기 외부 모듈로부터 상기 제2 포트를 통하여 상기 외부 모듈의 통신 준비 상태에 상응하는 제1 준비 신호(Ready signal)를 수신하는 단계, 상기 보안 요소가, 상기 제1 준비 신호에 기초하여 상기 제1 포트를 통하여 통신 시작에 상응하는 제1 시작 신호(Start signal)를 상기 외부 모듈로 제공하는 단계, 상기 보안 요소가, 상기 제1 시작 신호에 응답하여 상기 제2 포트를 통하여 상기 외부 모듈이 제공한 제1 클럭 신호(clock)를 수신하는 단계, 및 상기 보안 요소가, 상기 제1 클럭 신호에 동기하여 상기 제1 포트를 통하여 상기 외부 모듈로 명령을 전송하는 단계를 포함한다. 여기서 상기 보안 요소의 상기 제1 및 제2 포트는, 하드웨어적으로 구현된 전용 통신 모듈을 포함하지 않는 범용 입출력 포트이다.

Description

보안 요소를 이용한 통신 방법 및 이를 수행하는 장치{COMMUNICATION METHOD USING A SECURE ELEMENT AND APPARATUS FOR PERFORMING THE METHOD}
본 발명은 IC 카드에 내장된 보안 요소와 외부 모듈의 통신 방법 및 그 방법을 수행하는 IC 카드에 관한 것이다.
최근 디지털 기술에 발달에 따라 모바일 단말을 이용한 다양한 결제 방법이 개발되고 있으며, 또한 모바일 단말과는 별도로 구현될 수 있는 카드 역시 다양한 결제 방법을 사용할 수 있도록 개발되고 있다.
스마트 카드라고 일컫는 카드는 마그네틱 선에 카드 정보를 기록한 종래의 마그네틱 카드 방식을 벗어나, IC(Integrated circuit)칩에 정보가 내장될 수 있으며, 접촉식, 비접촉식 방식으로 정보를 주고 받는 카드들이나, 하이브리드 카드, 콤비 카드와 같은 다양한 카드들을 포괄할 수 있다. 한편 스마트 카드에는 결제를 위한 다양한 보안 정보가 저장된다는 점에 따라 보안성이 향상된 보안 요소(Secure Element)를 구비할 수 있다.
스마트 카드와 같은 전자 장치는 다양한 기능을 수행하는 요소들과 함께 동작함에 따라 보안 요소와 이 외 스마트 카드에 장착된 다른 구성요소들 간의 통신 방법이 요구된다. 보안 요소는 일반적으로 접촉식 통신부(예컨대, ISO/IEC 7816)과 비접촉식 통신부(예컨대, ISO/IEC 14443)와 같은 기본적인 통신 포트만 가지고 있는 경우가 대부분이고, 일부 보안 요소는 UART(Universal asynchronous receiver/transmitter, 범용 비동기화 송수신기) 혹은 I2C(Inter-Integrated Circuit) 혹은 SPI(Serial Peripheral Interface) 통신 포트를 추가로 보유하여 다른 구성요소들과 신호를 주고 받았는데, UART, I2C, SPI 등의 통신을 위해서는 별도의 통신 하드웨어 모듈을 사용하여야 한다. 따라서 스마트 카드에 구비된 다른 구성요소들이 UART, I2C, SPI 등의 통신 하드웨어 모듈을 지원하지 않는 경우에는 보안 요소와 함께 통신할 수 없는 문제가 있다.
본 발명은 카드와 같은 전자 장치의 보안 요소와 카드에 구비된 다른 구성요소들, 예를 들어 본 발명에서는 센서 제어수단이나 디스플레이 제어수단 간에 별도의 통신 하드웨어 모듈 없이도 GPIO 만으로 통신을 제어할 수 있도록 하는 카드 내부의 통신 방법을 제공한다.
본 발명은 보안 요소가 별도의 통신 하드웨어 모듈의 지원 없이도 다른 구성요소들과 통신이 가능하기 때문에 보안 요소 이외의 다른 구성요소들이 특정한 통신 하드웨어 모듈을 지원하지 않는 경우에도 활용될 수 있어, 보다 간단하게 구현이 가능한 카드를 제공할 수 있다.
본 발명의 일 실시예에 따른 보안 요소(Secure Element)에 구비된 제1 및 제2 포트를 활용한, 보안 요소와 외부 모듈 간의 통신 방법은, 상기 보안 요소가, 상기 외부 모듈로부터 상기 제2 포트를 통하여 상기 외부 모듈의 통신 준비 상태에 상응하는 제1 준비 신호(Ready signal)를 수신하는 단계, 상기 보안 요소가, 상기 제1 준비 신호에 기초하여 상기 제1 포트를 통하여 통신 시작에 상응하는 제1 시작 신호(Start signal)를 상기 외부 모듈로 제공하는 단계, 상기 보안 요소가, 상기 제1 시작 신호에 응답하여 상기 제2 포트를 통하여 상기 외부 모듈이 제공한 제1 클럭 신호(clock)를 수신하는 단계, 및 상기 보안 요소가, 상기 제1 클럭 신호에 동기하여 상기 제1 포트를 통하여 상기 외부 모듈로 명령을 전송하는 단계를 포함한다. 상기 보안 요소의 상기 제1 및 제2 포트는, 하드웨어적으로 구현된 전용 통신 모듈을 포함하지 않는 범용 입출력 포트이다.
일 실시예에 있어서, 상기 명령을 전송하는 단계는, 상기 제1 클럭 신호에 동기하여 기 설정된 고정 길이의 명령을 전송하는 단계를 포함할 수 있다.
일 실시예에 있어서, 상기 명령을 전송하는 단계는, 상기 제1 클럭 신호에 동기하여, 미리 정의된 방식에 따라 가변 길이의 명령을 전송하는 단계를 포함할 수 있다.
본 발명에 따른 통신 방법은, 상기 외부 모듈이 상기 제1 클럭 신호에 동기하여 상기 명령을 수신하는 단계를 더 포함할 수 있다.
실시예에 따라, 본 발명에 따른 통신 방법은, 상기 보안 요소가, 상기 기 설정된 길이의 명령 전송이 완료되는 것에 따라 상기 외부 모듈로부터 상기 제2 포트를 통하여 응답을 수신하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 통신 방법은, 상기 보안 요소가 명령 전송이 완료된 후, 상기 제1 포트를 통하여 상기 보안 요소의 통신 준비 상태에 상응하는 제2 준비 신호를 상기 외부 모듈로 제공하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 통신 방법은, 상기 보안 요소가, 상기 제2 포트를 통하여 상기 외부 모듈로부터 통신 시작에 상응하는 제2 시작 신호를 수신함에 따라, 상기 응답을 수신하기 위한 제2 클럭 신호를 상기 제1 포트를 통하여 제공하는 단계를 더 포함할 수 있다.
본 발명에 따른 통신 방법은, 상기 제2 클럭 신호에 동기하여 상기 응답을 수신하는 단계를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 장치는, 하드웨어적으로 구현된 전용 통신 모듈을 포함하지 않고 범용 입출력 포트로 구현된 제1 포트 및 제2 포트를 포함하며, 카드 내의 암호화 정보를 관리하는 보안 요소, 및 카드의 디스플레이 수단 또는 센서를 제어하는 외부 모듈을 포함한다. 상기 보안 요소는, 상기 외부 모듈로부터 상기 제2 포트를 통하여 상기 외부 모듈의 통신 준비 상태에 상응하는 제1 준비 신호를 수신하고, 상기 제1 준비 신호에 기초하여 상기 제1 포트를 통하여 통신 시작에 상응하는 제1 시작 신호를 제공함에 따라 수신한 제1 클럭 신호에 동기하여 상기 외부 모듈로 명령을 전송한다.
일 실시예에 있어서, 상기 보안 요소에서 제공되는 명령은 기 설정된 고정 또는 가변 길이이며, 상기 외부 모듈은 상기 기 설정된 길이의 명령이 전송되면, 상기 제2 포트를 통하여 상기 명령에 대응한 응답의 제공을 위한 통신 시작에 상응하는 제2 시작 신호를 제공할 수 있다.
일 실시예에 있어서, 상기 보안 요소는, 상기 제2 시작 신호의 수신에 따라 상기 응답의 수신을 위한 제2 클럭 신호를 상기 제1 포트를 통하여 외부 모듈로 제공할 수 있다.
실시예에 따라, 상기 보안 요소는, 상기 명령의 제공 이후에 통신이 가능한 상태임을 지시하는 제2 준비 신호를 상기 제1 포트를 통하여 제공할 수 있다.
본 발명의 다양한 실시예들에 따르면, 장치 내 보안 요소와 내장된 외부 모듈 간에 별도의 전용 통신 칩 없이 소프트웨어만으로 통신함으로써, 신호 및 데이터 교환을 용이하게 할 수 있다.
또한 전용 통신 모듈을 구비하지 않은 장치를 이용하는 경우, IC칩과 같은 보안 요소의 소형화가 가능하고, 보안 요소 및 이를 이용하는 장치의 제조 비용이 절감되는 이점이 있다.
나아가, 본 발명의 통신 방법에 의하면, 범용 입출력 포트를 이용하더라도, 신호 간 충돌의 문제 없이 안정적인 통신을 구현할 수 있다.
도 1은 본 발명의 일 실시예에 의한 카드의 보안 요소와 외부 모듈의 통신 방법을 설명하기 위하여 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 의한 보안 요소와 외부 모듈 간의 명령 전송 통신 방법을 설명하기 위한 흐름도이다.
도 3은 보안 요소로부터 외부 모듈에 대하여 명령 전문이 전송되는 과정을 나타내는 타이밍도이다.
도 4는 본 발명의 일 실시 예에 따른 통신 방법을 설명하는 흐름도이다.
도 5는 외부 모듈로부터 통신이 개시되어 보안 요소에 외부 모듈로부터의 응답이 전송되는 타이밍도이다.
이하에서 본 발명의 기술적 사상을 명확화하기 위하여 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세하게 설명하도록 한다. 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성요소에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 것이다. 도면들 중 실질적으로 동일한 기능구성을 갖는 구성요소들에 대하여는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들을 부여하였다. 설명의 편의를 위하여 필요한 경우에는 장치와 방법을 함께 서술하도록 한다.
도 1은 본 발명의 일 실시예에 의한 카드의 보안 요소와 외부 모듈의 통신 방법을 설명하기 위하여 개략적으로 도시한 도면이다.
도 1을 참조하면, 카드는 보안 요소(100)와 외부 모듈(200)을 포함한다. 이하에서는 보안 요소(100)와 통신하는 다른 구성요소를 통틀어 외부 모듈이라고 지칭한다.
일 실시예로서, 보안 요소(100)는 전용 통신 모듈을 포함하지 않고, 기본 통신 포트(접촉식 통신부(120) 및 비접촉식 통신부(110))와 범용 입출력 포트(10, 20)만을 포함할 수 있다. 전용 통신 모듈은 하드웨어적으로 구현된 통신 IP(Intellectual Property; 시스템온칩의 특정 기능을 수행하는 반도체설계자산)를 의미한다. 본 발명의 일 실시에에 의한 내부 통신 방법은, 이러한 통신 IP가 구비되지 않은 상태에서, 범용 입출력 포트를 이용하여 내부 통신을 실시하는 방법을 구현한다.
즉, 본 발명에 따른 보안 요소(100)의 제1 포트(10) 및 제2 포트(20)는 하드웨어적으로 구현된 전용 통신 모듈을 포함하지 않는 범용 입출력 포트이다.
일 실시예로서, 보안 요소(100)는 접촉식 통신부(120)를 포함하고, 하나 이상의 출력 단자(I/O 라인)를 포함할 수 있으며, 예컨대, ISO/IEC 7816의 표준 규격을 따르도록 구현될 수 있다. 또한 보안 요소는 비접촉식 통신부(110)를 포함하고, 예컨대, ISO/IEC 14443 표준 규격을 따르도록 구현될 수 있다. 비접촉식 통신부(110)는 안테나와 연결되는 출력 단자로서 LA, LB 라인을 포함할 수 있다. 도시하지 않았으나, 보안 요소(100)는 클락 신호와 연관된 CLK 출력 단자 등을 더 포함할 수 있다.
보안 요소(100)와 외부 모듈(200)은 제1 포트(10) 및 제2 포트(20)로 연결되고, 제1 포트(10) 및 제2 포트(20)는 GPIO(General Purpose Input Output, 범용 입출력 포트)에 상응할 수 있다. GPIO 통신을 사용함으로써, 제1 포트(10) 및 제2 포트(20)의 입력과 출력을 설계자가 임의로 선택할 수 있어, 쌍방향 통신에 있어서 유용하고, 실시예에 따라, GPIO는 통신을 하고자 하는 두 개의 장치 간의 통신 채널을 확립하는 핸드쉐이킹을 이용하여 통신할 수 있다. 실시예에 따라, 각각의 포트는 보안 요소(100)의 TP(Test Point)와 연결되어 통신할 수 있다.
일 실시예에 따라, 제1 포트(10)는 보안 요소(100)로부터 외부로 신호를 출력(OUTPUT)하는 기능을 담당하고, 제2 포트(20)는 보안 요소(100)에 대하여 입력(IN)되는 신호들을 전달할 수 있다. 본 발명의 제1 포트(10)와 제2 포트(20)는 출력 포트 및 입력 포트로 고정되어 이용될 수 있다. 통신 모듈을 구비한 보안 요소의 경우, 신호 송수신 시 타이밍에 민감한 특성이 있어 통신 포트 간의 입출력 기능을 쉽게 전환하여 이용 가능하다. 그러나 범용 입출력 포트의 경우 통신 모듈에 비해 민감도가 떨어져 포트 간 입출력 기능 전환 시, 충돌을 일으킬 가능성 있고, 충돌 발생 시 급격하게 전류가 새는 문제가 발생할 수 있다. 본 발명은 이러한 문제를 해결하기 위하여 제1 포트(10)를 출력 포트로, 제2 포트(20)를 입력 포트로 고정하여 통신 기능을 구현할 수 있다.
본 발명의 보안 요소와 같이 전용 통신 모듈을 포함하지 않은 경우, 각각의 포트를 입력 포트 또는 출력 포트로 고정하여 사용함에 따라, 충돌의 문제를 해결하고 통신의 안정성을 향상시킬 수 있다.
이에 따라 제1 포트(10)는 보안 요소(100)로부터 외부 모듈(200)에 대하여 전송되는 출력 신호를 전달하고, 제2 포트(20)는 외부 모듈(200)로부터 보안 요소(100)로 입력 신호를 제공할 수 있다. 실시예에 따라, 보안 요소(100)의 입력을 담당하는 포트(예를 들어 제2 포트(20))에는 풀 다운(pull-down) 혹은 풀 업 저항이 연결될 수 있다.
보안 요소(100)는 제1 포트(10) 및 제2 포트(20) 외에도 외부와 통신할 수 있는 별도의 포트를 더 포함할 수 있다. 보안 요소(100)는 보안성이 높은 저장소인 Secure Element을 포함한다. 보안 요소(100)는 UICC (Universal Integrated Circuit Card), embedded SE(eSE) 및 micro SD를 포함할 수 있다. UICC는 휴대폰을 개통할 때 필요한 USIM 칩과 동일한 의미로 사용될 수 있으며, eSE는 전자기기 제조업체가 기기의 메인보드에 SE를 부착하는 형태로 구현된 요소를 의미할 수 있다. Micro SD는 주로 탈부착을 할 수 있는 형태로 제공되는데, USIM을 축소시킨 형태로도 이해할 수 있다. 예를 들어 micro SD는 제공한 기관에 소유권이 있고 이를 통한 서비스가 가능하도록 만들어졌다.
외부 모듈(200)은 보안 요소(100)와 제1 포트(10) 및 제2 포트(20)인 2개의 GPIO 라인을 이용하여 연결되며, 센서 제어 모듈, 디스플레이 제어 모듈과 같이 카드 내부에 장착되는 MCU(Micro Controller Unit)를 구비한 모듈을 포함할 수 있다.
도 2는 본 발명의 일 실시예에 의한 보안 요소와 외부 모듈 간의 명령 전송 통신 방법을 설명하기 위한 흐름도이고, 도 3은 보안 요소로부터 외부 모듈에 대하여 명령 전문이 전송되는 과정을 나타내는 타이밍도이다.
도 2 및 도 3을 참조하여 본 발명의 일 실시 예에 따른 카드 내부의 통신 방법을 설명하도록 한다. 이하에서는 보안 요소를 중심으로 통신 방법을 설명한다.
보안 요소(100)는 제2 포트(20)를 통하여 외부 모듈(200)의 통신 준비 상태에 상응하는 제1 준비 신호(Ready signal)을 수신한다(S210). 제1 준비 신호는 통신을 시작하기에 앞서 외부 모듈(200)이 통신 가능한 상태인지 여부를 알리는 신호로써 실시예에 따라, 통신이 가능한 상태인 경우에 제1 준비 신호는 제1 상태를 유지하며, 통신이 불가능한 상태일 경우 제2 상태를 유지할 수 있다. 예를 들어, 제1 상태는 하이(High) 상태, 제2 상태는 로우(Low) 상태에 상응할 수 있다. 제1 준비 신호가 일정한 상태를 유지하는 시간은 가변적일 수 있다.
도 3을 참조하면, t1 시점에 외부 모듈(200)로부터 활성화된 제1 준비 신호가 제2 포트(20)를 통하여 보안 요소(100)로 제공된다. 제1 준비 신호는 t3 시점 까지 유지될 수 있다. 제1 준비 신호가 유지되는 시간은 보안 요소(100) 또는 외부 모듈(200)의 상태에 따라서 다양하게 변화할 수 있다.
보안 요소(100)는 제1 준비 신호에 기초하여 제1 포트(10)를 통하여 통신 시작에 상응하는 제1 시작 신호(Start signal)를 외부 모듈(200)로 제공한다(S220).
도 3을 참조하면, t2 시점에 제1 시작 신호가 활성화되어 외부 모듈(200)로 제공될 수 있다.
외부 모듈(200)은 제1 시작 신호를 수신하고 t4 시점에 정해진 주파수의 클럭(clock)을 생성하여 보안 요소(100)로 제공한다. 클럭은 제2 포트(20)를 통하여 보안 요소(100)에 제공된다. 보안 요소(100)는 제1 시작 신호에 응답하여 외부 모듈(200)이 제공한 제1 클럭 신호를 제2 포트(20)를 통하여 수신한다(S230).
제1 클럭 신호의 상승 엣지와 그 다음 상승 엣지의 간격, 즉 제1 클럭 신호의 한 주기(cycle)는 도 3의 t4 시점과 t7 시점 사이의 간격으로 표시될 수 있다.
제1 클럭 신호의 하강 엣지(Falling Edge)와 하강 엣지에 이은 상승 엣지 사이의 간격, 즉 제1 클럭 신호의 로우 구간은 t6 시점과 t7 시점 사이의 간격으로 표시될 수 있다.
보안 요소(100)는 외부 모듈(200)로부터 수신한 제1 클럭 신호에 동기하여 제1 포트(10)를 통하여 외부 모듈(200)로 명령을 전송한다(S240). 도 3을 참조하면, 보안 요소(100)는 t4 시점에 클럭의 상승 엣지(Rising Edge)를 인식하고, 명령을 전송하면, t5 시점이 된다. 즉, 보안 요소(100)는 제1 클럭 신호를 인식한 후, t5 시점에 명령 데이터를 전송함으로써, 소정의 반응 시간 delay(td; 여기서, td=t5-t4)를 포함할 수 있다.
보안 요소(100)가 전송하는 명령의 전문은 기 설정된 길이이거나 가변 길이 일 수 있다. 일 실시예로서, 보안 요소(100)는 명령의 전문 전송 시, 길이 정보(예컨대, 1byte의 길이 데이터 및 1byte의 인버스(inverse) 길이 데이터)를 선 전송한 후, 실제 명령 데이터를 전송하도록 구현할 수 있다. 보안 요소(100)는 제1 클럭 신호의 상승 엣지 또는 하강 엣지에 동기하여 명령 전문을 전송할 수 있다. 실시예에 따라, 보안 요소(100)는 명령을 LSB(Least Significant Bit) 혹은 MSB(Most Significant Bit)부터 순차적으로 전송할 수 있다.
일 실시예에서, 외부 모듈(200)은 제1 클럭 신호의 상승 엣지 또는 하강 엣지에 동기하여 제1 포트(10)를 통해 명령을 수신할 수 있고, 기 설정된 길이 혹은 가변 길이의 명령 전송이 완료되면 보안 요소(100)는 제2 포트(20)를 통하여 외부 모듈(200)로부터 응답을 수신할 수 있다.
일 실시예로서, 명령 전문은 전송 오류를 확인하기 위한 오류 체크 데이터(또는 오류 체크 바이트)를 포함할 수 있다. 명령 전문을 수신하는 외부 모듈(200)이 수신한 오류 체크 데이터와, 미리 정의된 연산(예컨대, 데이터 프레임의 합산 값)에 의해 산출된 오류 체크 데이터를 비교함으로써, 전송 오류 여부를 검증할 수 있다. 다른 실시예로서, 외부 모듈(200)은 오류 체크 데이터의 비교 검증 결과와 더불어, 설정된 유효 시간 값을 확인함으로써, 데이터의 정상 전송 여부를 판단할 수 있다.
보안 요소(100)가 명령 전문을 정상적으로 전송하지 못하거나, 외부 모듈(200)이 정상적으로 수신하지 못한 경우에는, 미리 설정된 유효 시간이 경과한 후에 재전송되도록 구현할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 통신 방법을 설명하는 흐름도이다. 도 4를 참조하여 설명하는 통신 방법은 명령 전문이 전송된 이후에 외부 모듈로부터 응답이 전송되는 단계들을 더 포함하며 도 5는 외부 모듈로부터 통신이 개시되어 보안 요소에 외부 모듈로부터의 응답이 전송되는 타이밍도이다.
도 4에서 단계 S210 내지 단계 S240은 도 2를 참조하여 설명한 단계들과 실질적으로 동일하므로 이에 대한 구체적인 설명은 생략하도록 한다. 명령을 수신한 외부 모듈(200)은 보안 요소(100)로부터 수신한 명령(데이터)에 따른 응답을 생성할 수 있다.
명령 전송의 과정이 완료되면, 보안 요소(100)는 응답을 수신할 수 있다. 응답을 수신하는 절차는 상술한 명령 전송 과정과 비교하였을 경우에 보안 요소(100)와 외부 모듈(200)이 역할을 바꾸어 동일한 절차를 수행하는 것으로 이해할 수 있다.
보안 요소(100)는 명령 전송을 완료하면, 통신 준비 상태에 상응하는 제2 준비 신호를 외부 모듈(200)에 제공하여 응답을 수신할 준비가 되었음을 알릴 수 있다. 도 5를 참조하면 보안 요소(100)는 t1 시점에 활성화된 제2 준비 신호를 제1 포트(10)를 통하여 외부 모듈(200)에 제공할 수 있다 (S250). 앞서 언급한 바와 같이 제2 준비 신호는 통신을 시작하기에 앞서 보안 요소(100)가 통신 가능한 상태임을 알리는 신호로써 실시예에 따라, 제1 상태를 유지하며, 통신이 불가능한 상태일 경우 제2 상태를 유지할 수 있다.
외부 모듈(200)이 제공하는 제1 준비 신호와 마찬가지로 제2 준비 신호 역시 기 설정된 시간 동안 일정한 값을 유지할 수 있으며, 제2 준비 신호가 일정한 값을 유지하는 기 설정된 시간은 보안 요소(100) 및 외부 모듈(200)에 따라 상이해질 수 있다. 도 5에서는 보안 요소(100)로부터 제공되는 제2 준비 신호가 t1 시점에서부터 t3 시점까지 활성화된 상태를 유지하는 것을 알 수 있다.
외부 모듈(200)에서 응답이 준비되고 보안 요소(100)가 통신 가능한 상태임을 확인하면, 제2 포트(20)를 통하여 제2 시작 신호를 제공할 수 있다. 도 5를 참조하면 t2 시점에 활성화된 제2 시작 신호가 제2 포트(20)를 통하여 보안 요소(100)로 제공되는 것을 확인할 수 있다.
보안 요소(100)는 제2 시작 신호를 수신함에 따라, 응답을 수신하기 위한 제2 클럭 신호를 제1 포트(10)를 통하여 제공한다(S260). 도 5를 참조하면 t4 시점에 제2 클럭 신호가 제1 포트(10)를 통하여 외부 모듈(200)로 제공되는 것을 알 수 있다.
실시예에 따라, 외부 모듈(200)에서 응답이 준비되었다 하더라도, 보안 요소(100)에서 제2 준비 신호를 제공하지 않을 경우, 제2 시작 신호의 전송을 대기할 수 있다.
외부 모듈(200)은 제1 포트(10)로부터 수신한 보안 요소(100)의 제2 클럭 신호의 상승 엣지 또는 하강 엣지에 동기하여 응답 전문을 전송하고, 보안 요소(100)는 제2 클럭 신호의 상승 엣지 또는 하강 엣지에 동기하여 정해진 길이의 응답을 수신한다(S270). 실시예에 따라, 외부 모듈(200)은 보안 요소(100)가 제공한 제2 클럭 신호의 상승 엣지를 확인하고 응답을 전송할 수 있다.
도 3에서 설명한 것과 마찬가지로, 도 5를 참조하면 외부 모듈(200)은 t5 시점에서부터 응답을 전송할 수 있다. 즉, 외부 모듈(200)은 제2 클럭 신호를 인식한 후, t5 시점에 명령 데이터를 전송함으로써, 소정의 반응 시간 delay(td; 여기서, td=t5-t4)를 포함할 수 있다.
실시 예에 따라 외부 모듈(200)은 제2 클럭 신호의 t6 시점의 하강 엣지, 또는 t7 시점의 상승 엣지에 동기하여 응답 전문을 전송할 수 있다.
외부 모듈(200)은 기 설정된 길이 혹은 가변 길이의 응답을 전송할 수 있다. 상술한 도 3의 실시예와 마찬가지로, 외부 모듈(200)은 명령의 전문 전송 시, 길이 정보(예컨데, 1byte의 길이 데이터 및 1byte의 인버스(inverse) 길이 데이터)를 선 전송한 후, 실제 명령 데이터를 전송하도록 구현할 수 있다. 응답 수신이 완료되었는지 확인하는 방법은 다양한 방식에 따라 이루어질 수 있다.
일 실시예로서, 명령 전문은 전송 오류를 확인하기 위한 오류 체크 데이터(또는 오류 체크 바이트)를 포함할 수 있다. 명령 전문을 수신하는 보안 요소(100)가 수신한 오류 체크 데이터와, 미리 정의된 연산(예컨대, 데이터 프레임의 합산 값)에 의해 산출된 오류 체크 데이터를 비교함으로써, 전송 오류 여부를 검증할 수 있다. 다른 실시예로서, 보안 요소(100)는 오류 체크 데이터의 비교 검증 결과와 더불어, 설정된 유효 시간 값을 확인함으로써, 데이터의 정상 전송 여부를 판단할 수 있다.
또한 앞서 언급한 바와 같은 방식으로, 보안 요소(100)와 외부 모듈(200) 간의 명령 전송이 정상적으로 완료되지 못한 경우에는, 미리 설정된 유효 시간이 경과한 후에 다시 재전송하도록 구현될 수 있다.
명령과 그에 따른 응답을 전송이 완료되면 보안 요소(100)와 외부 모듈(200)간의 통신이 종료될 수 있다. 상기와 같은 통신 방법에는 모두 암호화 알고리즘이 적용될 수 있으며, 카드에 내장된 모듈의 낮은 사양을 고려하여 경량 암호화 엔진이 사용될 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 마그네틱 저장 매체, 광학적 판독 매체 등 모든 저장매체를 포함한다. 또한, 본 발명에서 사용되는 메시지의 데이터 포맷을 기록 매체에 기록하는 것이 가능하다.
지금까지 본 발명에 대하여 도면에 도시된 바람직한 실시예들을 중심으로 상세히 살펴보았다. 이러한 실시예들은 이 발명을 한정하려는 것이 아니라 예시적인 것에 불과하며, 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 진정한 기술적 보호범위는 전술한 설명이 아니라 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다. 비록 본 명세서에 특정한 용어들이 사용되었으나 이는 단지 본 발명의 개념을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 본 발명의 각 단계는 반드시 기재된 순서대로 수행되어야 할 필요는 없고, 병렬적, 선택적 또는 개별적으로 수행될 수 있다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 특허청구범위에서 청구하는 본 발명의 본질적인 기술사상에서 벗어나지 않는 범위에서 다양한 변형 형태 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 균등물은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 구성요소를 포함하는 것으로 이해되어야 한다.
100: 보안 요소
110: 비접촉식 통신부
120: 접촉식 통신부
200: 외부 모듈

Claims (12)

  1. 보안 요소(Secure Element)에 구비된 제1 및 제2 포트를 활용한, 보안 요소와 외부 모듈 간의 통신 방법에 있어서,
    상기 보안 요소가, 상기 외부 모듈로부터 상기 제2 포트를 통하여 상기 외부 모듈의 통신 준비 상태에 상응하는 제1 준비 신호(Ready signal)를 수신하는 단계;
    상기 보안 요소가, 상기 제1 준비 신호에 기초하여 상기 제1 포트를 통하여 통신 시작에 상응하는 제1 시작 신호(Start signal)를 상기 외부 모듈로 제공하는 단계;
    상기 보안 요소가, 상기 제1 시작 신호에 응답하여 상기 제2 포트를 통하여 상기 외부 모듈이 제공한 제1 클럭 신호(clock)를 수신하는 단계;
    상기 보안 요소가, 상기 제1 클럭 신호에 동기하여 상기 제1 포트를 통하여 상기 외부 모듈로 기 설정된 고정 길이 또는 가변 길이의 명령을 전송하는 단계;
    상기 외부 모듈이 상기 제1 클럭 신호에 동기하여 상기 명령을 수신하는 단계; 및
    상기 보안 요소가, 상기 기 설정된 길이의 명령 전송이 완료되는 것에 따라 상기 외부 모듈로부터 상기 제2 포트를 통하여 응답을 수신하는 단계를 포함하고,
    상기 보안 요소의 상기 제1 및 제2 포트는, 하드웨어적으로 구현된 전용 통신 모듈을 포함하지 않고 범용 입출력 포트인 것을 특징으로 하는, 통신 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 제1 항에 있어서,
    상기 보안 요소는 명령 전송이 완료된 후, 상기 제1 포트를 통하여 상기 보안 요소의 통신 준비 상태에 상응하는 제2 준비 신호를 상기 외부 모듈로 제공하는 단계를 더 포함하는, 통신 방법.
  7. 제6 항에 있어서,
    상기 보안 요소는, 상기 제2 포트를 통하여 상기 외부 모듈로부터 통신 시작에 상응하는 제2 시작 신호를 수신함에 따라, 상기 응답을 수신하기 위한 제2 클럭 신호를 상기 제1 포트를 통하여 제공하는 단계를 더 포함하는, 통신 방법.
  8. 제7 항에 있어서,
    상기 제2 클럭 신호에 동기하여 상기 응답을 수신하는 단계를 더 포함하는, 통신 방법.
  9. 하드웨어적으로 구현된 전용 통신 모듈을 포함하지 않고 범용 입출력 포트로 구현된 제1 포트 및 제2 포트를 포함하며, 카드 내의 암호화 정보를 관리하는 보안 요소; 및
    카드의 디스플레이 수단 또는 센서를 제어하는 외부 모듈을 포함하며,
    상기 보안 요소는, 상기 외부 모듈로부터 상기 제2 포트를 통하여 상기 외부 모듈의 통신 준비 상태에 상응하는 제1 준비 신호를 수신하고, 상기 제1 준비 신호에 기초하여 상기 제1 포트를 통하여 통신 시작에 상응하는 제1 시작 신호를 제공함에 따라 수신한 제1 클럭 신호에 동기하여 상기 외부 모듈로 명령을 전송하며,
    상기 보안 요소에서 제공되는 명령은 기 설정된 고정 또는 가변 길이이며,
    상기 외부 모듈은 상기 기 설정된 길이의 명령이 전송되면, 상기 제2 포트를 통하여 상기 명령에 대응한 응답의 제공을 위한 통신 시작에 상응하는 제2 시작 신호를 제공하는, 통신 장치.
  10. 삭제
  11. 제9 항에 있어서,
    상기 보안 요소는, 상기 제2 시작 신호의 수신에 따라 상기 응답의 수신을 위한 제2 클럭 신호를 상기 제1 포트를 통하여 외부 모듈로 제공하는, 통신 장치.
  12. 제9 항에 있어서,
    상기 보안 요소는, 상기 명령의 제공 이후에 통신이 가능한 상태임을 지시하는 제2 준비 신호를 상기 제1 포트를 통하여 제공하는, 통신 장치.
KR1020170051426A 2017-04-21 2017-04-21 보안 요소를 이용한 통신 방법 및 이를 수행하는 장치 KR101957159B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170051426A KR101957159B1 (ko) 2017-04-21 2017-04-21 보안 요소를 이용한 통신 방법 및 이를 수행하는 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170051426A KR101957159B1 (ko) 2017-04-21 2017-04-21 보안 요소를 이용한 통신 방법 및 이를 수행하는 장치

Publications (2)

Publication Number Publication Date
KR20180118306A KR20180118306A (ko) 2018-10-31
KR101957159B1 true KR101957159B1 (ko) 2019-03-13

Family

ID=64099712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170051426A KR101957159B1 (ko) 2017-04-21 2017-04-21 보안 요소를 이용한 통신 방법 및 이를 수행하는 장치

Country Status (1)

Country Link
KR (1) KR101957159B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19980067967A (ko) * 1997-02-14 1998-10-15 김광호 마이크로컴퓨터와 전용칩 사이의 데이터 통신 방법 및 장치
KR100475125B1 (ko) * 2003-06-21 2005-03-14 삼성전자주식회사 데이터 버스 폭 변경이 자유로운 이동형 저장 장치 및이에 대한 데이터 버스 폭 설정 방법
WO2006105092A2 (en) * 2005-03-26 2006-10-05 Privasys, Inc. Electronic financial transaction cards and methods

Also Published As

Publication number Publication date
KR20180118306A (ko) 2018-10-31

Similar Documents

Publication Publication Date Title
US7308516B2 (en) Bi-directional serial interface for communication control
US8537907B2 (en) Receiving system for use in near field communication and mode detection method therefore
US9444925B2 (en) Smartphone proximity card emulation
US7815110B2 (en) Methods for controlling access to data stored in smart cards and related devices
CN103312636B (zh) 信息处理装置、串行通信系统和装置以及通信初始化方法
US8077645B2 (en) Wireless communication terminal, semiconductor device, data communication method, and wireless communication system
KR101678348B1 (ko) 대용량 스토리지-기반 인터페이스들을 통한 m-phy 기반 통신들의 동작, 및 관련된 커넥터들, 시스템들, 및 방법들
KR102416283B1 (ko) 직렬 주변장치 인터페이스
US9703995B2 (en) Portable terminal, imaging apparatus, communication system, communication method of portable terminal, communication method of imaging apparatus, and computer readable storage device
CN106650461A (zh) 移动终端和基于该移动终端的嵌入式安全模块的访问方法
EP2704021B1 (en) SRAM handshake
EP2355460B1 (en) Detachable wireless communication module and method for activating the same
US7584501B2 (en) System and method for authorizing use of a connection device coupled to a processing system
CN101907683B (zh) 数字基带芯片中i2c模块的自动测试方法
KR101957159B1 (ko) 보안 요소를 이용한 통신 방법 및 이를 수행하는 장치
CN100356359C (zh) 处理器与用户识别卡之间的连接装置
CN113875162B (zh) Nfc读取器与双nfc接口应答器之间的数据交换装置
CN113282532A (zh) 一种通信装置、通信装置的通信方法和电子设备
KR101391079B1 (ko) 직렬 통신 프로토콜을 이용한 rfid 리더, rfid 태그, rfid 통신 방법 및 시스템
US11677444B2 (en) Contactless transponder and method
CN111309347A (zh) 一种数据传输方法及相关设备
CN103888161A (zh) 一种无线传输设备的数据传输方法及无线传输系统
KR101465429B1 (ko) 모바일 단말을 통한 유에스비 메모리 분실 방지 방법
CN113473055B (zh) 信号传输控制方法、微处理器及计算机可读存储介质
CN102637398B (zh) 基于rfid和数据重定向技术的自助语音系统

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