KR101380895B1 - 보안 서비스 제공 장치 및 이를 이용한 보안 서비스 방법 - Google Patents

보안 서비스 제공 장치 및 이를 이용한 보안 서비스 방법 Download PDF

Info

Publication number
KR101380895B1
KR101380895B1 KR1020120062461A KR20120062461A KR101380895B1 KR 101380895 B1 KR101380895 B1 KR 101380895B1 KR 1020120062461 A KR1020120062461 A KR 1020120062461A KR 20120062461 A KR20120062461 A KR 20120062461A KR 101380895 B1 KR101380895 B1 KR 101380895B1
Authority
KR
South Korea
Prior art keywords
security service
data
random number
bus
service providing
Prior art date
Application number
KR1020120062461A
Other languages
English (en)
Other versions
KR20130138929A (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 KR1020120062461A priority Critical patent/KR101380895B1/ko
Priority to US13/681,202 priority patent/US8855309B2/en
Priority to EP12193757.7A priority patent/EP2675105B1/en
Publication of KR20130138929A publication Critical patent/KR20130138929A/ko
Application granted granted Critical
Publication of KR101380895B1 publication Critical patent/KR101380895B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • 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/75Protecting 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 by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting 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 by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/602Providing cryptographic facilities or services
    • 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/72Protecting 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 cryptographic circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations

Abstract

보안 서비스 제공 장치 및 보안 서비스 방법이 개시된다. 본 발명에 따른 보안 서비스 제공 장치는, 제1 블록 암호 장치; 및 상기 제1 블록 암호 장치와 독립적이고, 상기 제1 블록 암호 장치가 암호/복호에 사용될 때 난수발생기로 사용되고, 상기 제1 블록 암호 장치가 난수발생기로 사용될 때 암호/복호에 사용되는 제2 블록 암호 장치를 포함한다.

Description

보안 서비스 제공 장치 및 이를 이용한 보안 서비스 방법 {APPARATUS FOR PROVIDING SECURITY SERVICE AND METHOD OF SECURITY SERVICE USING THE SAME}
본 발명은 시스템의 보안 기술에 관한 것으로, 더욱 상세하게는 내부적으로 생성된 난수로 연산 중간 결과들을 마스킹함으로써 외부로의 정보 유출을 막는 보안 서비스를 효과적으로 제공할 수 있는 보안 서비스 제공 장치 및 보안 서비스 방법에 관한 것이다.
마이크로프로세서를 이용하는 시스템에서 보안 서비스는 선택이 아닌 필수로 인식되고 있다. 그러나, 보안 서비스는 그 자체가 논리적 또는 물리적 공격의 대상이 되고 있으며, 최근 연구결과들은 보안 서비스를 위한 많은 기술들이 허점을 가지고 있어 충분한 신뢰성 확보가 어려움을 보여준다.
보안 서비스는 마이크로프로세서를 사용하는 수많은 시스템에서 다양한 방식으로 제공되고 있다. 보안 서비스는 백신 프로그램, 전자상거래, 기밀정보의 암호화 등 여러 응용(application)의 형태에 적용되고 있으며, 컴퓨터, 휴대폰, 각종 휴대단말 등 보안 서비스가 적용되는 플랫폼 또한 다양하다. 이 같이 다양한 환경에서 충분한 신뢰성과 동시에 시스템에 부하를 줄이는 고속의 보안 서비스를 제공하는 것이 필요한 실정이다.
한국공개특허 제2008-0054792호는 전자 금융거래나 고객 인증 등에 사용되는 하드웨어 보안 모듈 다중화 장치에 대해 개시하고 있으나, 이 한국공개특허에 개시된 기술은 한정된 어플리케이션에만 적용될 수 있는 기술에 불과하다.
따라서, 보다 다양한 어플리케이션에 신뢰성 있는 고성능의 보안 서비스를 제공할 새로운 기술의 필요성이 절실하게 대두된다.
본 발명의 목적은 시스템에서 보안 서비스를 제공함에 있어서, 물리적 공격에 내성을 가지면서도 고성능의 보안 서비스를 제공할 수 있는 하드웨어 구조를 제공하는 것이다.
또한, 본 발명의 목적은 각종 임베디드 시스템, 에스오씨(SoC; System On Chip) 설계 및 컴퓨팅 환경 등에 효과적으로 적용될 수 있는 보안 서비스 기술을 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 보안 서비스 제공 장치는, 제1 블록 암호 장치; 및 상기 제1 블록 암호 장치와 독립적이고, 상기 제1 블록 암호 장치가 암호/복호에 사용될 때 난수발생기로 사용되고, 상기 제1 블록 암호 장치가 난수발생기로 사용될 때 암호/복호에 사용되는 제2 블록 암호 장치를 포함한다.
이 때, 난수발생기는 발생된 난수를 상기 제1 블록 암호 장치 및 상기 제2 블록 암호 장치 중 암호/복호에 사용되는 어느 하나로 제공하고, 상기 발생된 난수는 상기 암호/복호의 중간 결과값들을 마스킹하는데 사용되도록 할 수 있다.
이 때, 상기 마스킹은 외부로부터의 사이드 채널 어택(side channel attack)을 방어하기 위한 것일 수 있다.
이 때, 상기 보안 서비스 제공 장치는 상기 보안 서비스의 슬레이브로 동작하고, 상기 보안 서비스를 위해 마스터가 데이터를 요청하였는데 상기 데이터를 준비하지 못한 경우, 대기 상태(wait state)를 통해 버스에 대한 점유권을 유지할 수 있다.
이 때, 상기 보안 서비스 제공 장치는 상기 버스에 대한 점유권을 유지한 상태에서 상기 데이터가 전송 가능한 최소 단위만큼 모이면 바로 전송할 수 있다.
이 때, 상기 보안 서비스 제공 장치는 상기 보안 서비스를 위해 상기 마스터가 데이터를 전송하였는데 상기 데이터를 수신할 준비가 되지 않은 경우, 상기 대기 상태(wait state)를 통해 상기 버스에 대한 점유권을 유지할 수 있다.
이 때, 상기 보안 서비스 제공 장치는 상기 버스에 대한 점유권을 유지한 상태에서 버퍼에 상기 데이터 수신을 위한 최소 단위만큼의 공간이 생기면 바로 해당하는 데이터를 수신할 수 있다.
이 때, 상기 마스터는 USB 더블버퍼를 구비하는 USB 인터페이스 컨트롤러이고, 상기 보안 서비스 제공 장치는 상기 USB 더블버퍼로부터 데이터를 수신하거나 상기 USB 더블버퍼로 데이터를 송신할 때, 상기 대기 상태를 통해 상기 버스에 대한 점유권을 유지할 수 있다.
또한, 본 발명의 일실시예에 따른 보안 서비스 방법은, 보안 서비스를 제공하는 슬레이브가 서로 다른 두 종의 블록 암호 장치들 중 어느 하나에 의해 난수를 발생시키는 단계; 및 상기 블록 암호 장치들 중 다른 하나에 의해 암호/복호화를 수행하는 단계를 포함한다.
이 때, 상기 보안 서비스 방법은 상기 슬레이브가 데이터를 전송하기 위한 최소 단위의 데이터가 모일 때까지 대기 상태(wait state)를 통해 버스에 대한 점유권을 유지하는 단계; 및 상기 슬레이브가 상기 보안 서비스를 위해 상기 버스를 통해 상기 최소 단위의 데이터를 전송하는 단계를 더 포함할 수 있다.
이 때, 상기 최소 단위의 데이터를 전송하는 단계는 상기 버스에 대한 점유권을 유지한 상태에서 상기 데이터가 전송 가능한 최소 단위만큼 모이면 바로 모인 데이터를 전송할 수 있다.
본 발명에 따르면, 마이크로프로세서를 사용하는 시스템에서 보안 서비스를 제공함에 있어서, 구조적으로 논리적, 물리적 공격에 내성을 가질 수 있다.
또한, 본 발명은 효과적으로 외부공격에 대응하여 강력한 보안 서비스가 가능하도록 하면서도 마이크로프로세서를 사용하는 시스템이 최대의 퍼포먼스를 발휘하도록 할 수 있다.
또한, 본 발명은 각종 임베디드 시스템, 에스오씨(SoC; System On Chip) 설계 및 컴퓨팅 환경 등에 효과적으로 적용될 수 있고, 백신 프로그램이나 전자상거래 등에 적용되어 시스템의 편리성과 안전성 확보에 기여할 수 있다.
도 1은 본 발명의 일실시예에 따른 보안 서비스 제공 장치를 포함하는 보안 서비스 제공 시스템을 나타낸 블록도이다.
도 2 및 도 3은 본 발명의 일실시예에 따른 보안 서비스 제공 장치의 운용 기법을 나타낸 도면이다.
도 4 및 도 5는 USB 더블버퍼를 구비하는 USB 컨트롤러와 슬레이브 사이의 데이터 전송을 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 보안 서비스 방법을 나타낸 동작 흐름도이다.
본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 보안 서비스 제공 장치를 포함하는 보안 서비스 제공 시스템을 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 보안 서비스 제공 시스템은 타겟 시스템의 인터페이스 컨트롤러(120)가 외부의 인터페이스 컨트롤러(110)와 통신하면서 동시에 타겟 시스템 내부의 보안 서비스 제공 장치(130)와 통신하는 것을 알 수 있다.
예를 들어, 인터페이스 컨트롤러(120)와 외부의 인터페이스 컨트롤러(110)는 USB 인터페이스 컨트롤러일 수 있다.
보안 서비스 제공 장치(130)는 보안 서비스를 위한 타겟 시스템 내부의 엔진(engine)에 해당한다. 이 때, 인터페이스 컨트롤러(120)는 마스터(master)에 해당하고, 보안 서비스 제공 장치(130)는 슬레이브에 해당할 수 있다.
보안 서비스를 위한 암호 서비스는 암호/복호, 서명/검증, 해쉬/맥 등이 있다. 특히, 암호/복호 연산은 외부로부터의 공격 대상이 되어 왔다. SPA(Simple Power Analysis)나 DPA(Differential Power Analysis) 등의 사이드 채널 어택(side channel attack)을 통해 암호/복호 연산으로부터 중요한 키 정보가 얻어질 수 있음은 이미 잘 알려져 있다. 이와 같은 외부의 공격에 대응하기 위하여 마스킹 기법 등을 통해 내부 연산으로부터 생성되는 정보의 유출을 차단하여야 한다. 하지만 마스킹 기법을 적용하기 위해서는 많은 양의 난수가 필요하고, 연산기 내부의 크리티컬 딜레이 패스(critical delay path)가 길어지는 등 문제점이 있다.
본 발명에서는 효과적으로 외부 공격을 방어하면서도 효율적으로 암호 서비스를 제공할 수 있고, 암호 서비스를 제공하는 슬레이브와 서비스를 제공 받는 마스터 사이에 최적의 성능을 이끌어낼 수 있는 기법을 제공한다.
도 1에 도시된 보안 서비스 제공 장치(130)와 같이 암호 서비스를 제공하는 슬레이브는 암호/복호 연산을 수행할 경우, 전력 또는 EM 필드를 통해 외부로 키 정보를 유출할 수 있다. 이를 막기 위해서는 내부적으로 생성된 난수로 연산중간결과들을 마스킹하여야 한다. 이 때 필요한 많은 양의 난수를 생성하는 것은 암호/복호 연산에 비견될 정도로 많은 연산량을 요구한다. 따라서, 하드웨어 설계 시 난수발생기 자체도 상당량의 리소스를 차지한다.
본 발명에서는 암호 서비스를 제공하는 슬레이브에 해당하는 보안 서비스 제공 장치(130)가 2종의 블록암호 장치를 구현한 뒤, 한 종의 블록암호 장치를 난수발생기로 사용하고 다른 한 종의 블록암호 장치를 암호/복호 연산 수행에 사용하는 형태의 설계 기법을 제공한다.
블록암호 장치들은 표준으로 선택되거나 사용자의 요구사항을 만족시키기 위하여 서로 경쟁하게 된다. 따라서 블록암호 장치간의 성능 차이가 크지 않으며, 난수발생기로 구현하여도 충분한 성능을 발휘한다.
결과적으로, 난수발생기와 암호/복호 연산기는 서로 비슷한 쓰루풋(throughput)을 가지게 되고, 암호/복호 연산기가 공격방지기법을 적용하기 위해서 사용하는 난수들로 인해 쉬게 되는 상황이 줄거나 없어지게 된다. 나아가, 2종의 블록암호를 사용할 수 있으므로 넓은 응용 영역이 확보된다.
도 2 및 도 3은 본 발명의 일실시예에 따른 보안 서비스 제공 장치의 운용 기법을 나타낸 도면이다.
도 2 및 도 3에 도시된 보안 서비스 제공 장치들은 각각 2종 블록 암호 장치들(Block Ciphers)을 포함한다.
도 2를 참조하면, 블록 암호 장치(210)가 난수발생기로 사용되는 경우, 블록 암호 장치(220)는 암호/복호 연산기로 사용되는 것을 알 수 있다. 이 때, 블록 암호 장치(210)는 발생된 난수를 암호/복호 연산기로 사용되는 블록 암호 장치(220)로 제공하여 발생된 난수가 암호/복호 연산의 중간 결과값들을 마스킹하는데 사용되도록 할 수 있다.
도 3을 참조하면, 블록 암호 장치(310)가 암호/복호 연산기로 사용되는 경우, 블록 암호 장치(320)는 난수발생기로 사용되는 것을 알 수 있다. 이 때, 블록 암호 장치(320)는 발생된 난수를 암호/복호 연산기로 사용되는 블록 암호 장치(310)로 제공하여 발생된 난수가 암호/복호 연산의 중간 결과값들을 마스킹하는데 사용되도록 할 수 있다.
도 2 및 도 3에 도시되지는 아니하였으나, 보안 서비스 제공 장치는 발생된 난수를 이용하여 암호/복호 연산의 중간결과들을 마스킹하는 마스킹부를 더 구비할 수 있다. 실시예에 따라, 마스킹부는 블록 암호 장치들(210, 220, 310, 320)의 내부에 구비될 수도 있다.
보안 서비스를 제공하는 슬레이브인 보안 서비스 제공 장치(130)는 마스터의 요청에 의해 데이터를 처리하여 돌려주거나 마스터가 원하는 데이터를 전달하게 된다. 보안 서비스에 사용되는 암호연산의 특성상 슬레이브의 동작에 어느 정도 시간이 걸리므로, 마스터는 요청 후 충분한 시간을 기다리거나 현재 슬레이브가 어느 정도 데이터를 처리했는지 확인 후 결과를 읽어간다.
이와 같은 과정은 마스터의 요청이 빈번할 경우 부가적인 오버헤드를 발생시킨다. 또한, 슬레이브에서 나오는 결과 데이터를 곧바로 다른 처리 과정에 사용하는 경우 시스템의 성능을 크게 떨어뜨리는 원인이 된다.
이를 해결하기 위해, 본 발명은 마스터가 암호 서비스를 제공하는 슬레이브에 데이터를 요청하면, 슬레이브는 응답이 준비되지 않은 상태에서는 대기 상태(wait state)를 통해 버스에 대한 점유권을 유지하다가 응답이 준비되면 바로 응답을 버스에 실어준다. 응답 데이터는 띄엄띄엄 준비될 수 있다. 슬레이브는 요청된 응답 데이터가 준비되는 대로 바로 마스터로 송신하며, 당장 보낼 수 없을 경우 대기 상태(wait state)를 사용한다.
마스터에서 암호 서비스를 제공하는 슬레이브에 데이터를 보내는 경우, 슬레이브가 당장 데이터를 받아들일 수 없으면 슬레이브는 대기 상태를 통해 버스에 대한 점유권을 유지한다. 슬레이브가 요청된 데이터를 처리하여 입력버퍼에 공간이 생기게 되면 바로 마스터로부터의 데이터를 수신한다. 슬레이브는 마스터에서 송신한 모든 데이터를 받아들일 때까지 이와 같은 과정을 반복한다.
즉, 슬레이브는 보안 서비스를 위해 보안 서비스 마스터가 데이터를 요청하였는데 이 데이터를 준비하지 못한 경우, 대기 상태를 통해 버스에 대한 점유권을 유지한다. 이 때, 슬레이브는 버스에 대한 점유권을 유지한 상태에서 데이터가 전송 가능한 최소 단위만큼 모이면 바로 전송할 수 있다.
한편, 슬레이브는 보안 서비스를 위해 보안 서비스 마스터가 데이터를 전송하고자 하는데 이 데이터를 수신할 준비가 되지 않은 경우, 대기 상태를 통해 버스에 대한 점유권을 유지한다. 이 때, 슬레이브는 버스에 대한 점유권을 유지한 상태에서 버퍼에 데이터 수신을 위한 최소 단위만큼의 공간이 생기면 바로 해당하는 데이터를 수신할 수 있다.
결론적으로, 마스터와 암호 서비스를 위한 슬레이브가 준비상황을 체크하는 소프트웨어적 핸드쉐이킹 없이 대기 상태를 통해 통신함으로써 전체 시스템의 성능이 향상된다.
특히, USB 컨트롤러의 경우 호스트의 요청을 처리하기 위해 두 개의 버퍼(USB 더블버퍼)를 사용하는 경우가 많다. 하나의 버퍼로 호스트와 통신(데이터를 송신하거나 수신)하는 동안 다른 하나의 버퍼는 타겟 시스템 내부의 다른 장소(메모리나 레지스터)와 통신하여 데이터를 수신하거나 전송한다. 보통 타겟 시스템 내로의 통신은 고속으로 금방 끝나게 되는데, 호스트와의 통신이 종료되면 타겟 시스템 내로의 통신에 사용했던 버퍼를 이어지는 호스트와의 통신에 바로 쓸 수 있다. 호스트와의 통신에 사용했던 버퍼 또한 타겟 시스템 내로의 통신에 사용 가능한 상태가 되므로 이어지는 타겟 시스템 내로의 통신에 바로 사용될 수 있다. 이와 같은 프로시져(procedure)는 호스트와의 통신에 사용되는 버퍼가 가득 차거나 비게 되는 경우 호출되는 인터럽트 핸들러의 빈번한 개입과 함께 이루어진다. 결과적으로, 암호 서비스를 제공하는 슬레이브에서 마스터와의 통신을 대기 상태를 통해 최적화함으로써 앞에서 기술한 일련의 절차를 끊김 없이 수행할 수 있다.
USB 인터페이스는 USB 장치들간 버스를 공유하는 구조이기 때문에 USB 인터페이스를 이용한 통신이 시작되면 가능한 빠른 시간 내에 트랜젝션(transaction)을 완료해야 한다. 따라서, USB 인터페이스 컨트롤러와 정보 보안을 위한 엔진(engine for information security) 사이에 통신 시간을 최소화함과 동시에 소프트웨어의 개입을 없앤다면, 외부와의 USB 통신 시 데이터 송/수신 중단을 최소화할 수 있어 전체 시스템의 성능을 크게 향상시킬 수 있다.
도 4 및 도 5는 USB 더블버퍼를 구비하는 USB 컨트롤러와 슬레이브 사이의 데이터 전송을 나타낸 도면이다.
도 4를 참조하면, 타겟 시스템의 USB 인터페이스 컨트롤러(420)가 외부의 USB 인터페이스 컨트롤러(410)와 통신하면서 동시에 타겟 시스템 내부의 보안 서비스 제공 장치(430)와 통신하는 것을 알 수 있다. 이 때, 보안 서비스 제공 장치(430)는 정보 보안을 위한 엔진(engine for information security)에 상응한다.
이 때, USB 인터페이스 컨트롤러(420)는 보안 서비스의 마스터에 상응하고, 보안 서비스 제공 장치(430)는 보안 서비스의 슬레이브에 상응하는 것일 수 있다.
USB 인터페이스 컨트롤러(420)는 USB 더블버퍼(BUFFER 0, BUFFER 1)를 구비한다.
도 4에 도시된 바와 같이, BUFFER 1이 내부 사용을 위해 준비된 경우, BUFFER 0은 외부의 USB 인터페이스 컨트롤러(410)와의 통신에 사용되고 BUFFER 1은 슬레이브에 해당하는 보안 서비스 제공 장치(430)와 통신한다. 이 때, 보안 서비스 제공 장치(430)는 BUFFER 1이나 자신의 버퍼가 준비되지 않은 경우 대기 상태를 통해 버스를 점유한다.
도 5를 참조하면, 타겟 시스템의 USB 인터페이스 컨트롤러(520)가 외부의 USB 인터페이스 컨트롤러(510)와 통신하면서 동시에 타겟 시스템 내부의 보안 서비스 제공 장치(530)와 통신하는 것을 알 수 있다. 이 때, 보안 서비스 제공 장치(530)는 정보 보안을 위한 엔진(engine for information security)에 상응한다.
이 때, USB 인터페이스 컨트롤러(520)는 보안 서비스 마스터에 상응하고, 보안 서비스 제공 장치(530)는 보안 서비스 슬레이브에 상응하는 것일 수 있다.
USB 인터페이스 컨트롤러(520)는 USB 더블버퍼(BUFFER 0, BUFFER 1)를 구비한다.
도 5에 도시된 바와 같이, BUFFER 0이 내부 사용을 위해 준비된 경우, BUFFER 1은 외부의 USB 인터페이스 컨트롤러(510)와의 통신에 사용되고 BUFFER 0은 슬레이브에 해당하는 보안 서비스 제공 장치(530)와 통신한다. 이 때, 보안 서비스 제공 장치(530)는 BUFFER 0이나 자신의 버퍼가 준비되지 않은 경우 대기 상태를 통해 버스를 점유한다.
도 6은 본 발명의 일실시예에 따른 보안 서비스 방법을 나타낸 동작 흐름도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 보안 서비스 방법은 보안 서비스를 제공하는 슬레이브가 서로 다른 두 종의 블록 암호 장치들 중 어느 하나에 의해 난수를 발생시킨다(S610).
또한, 본 발명의 일실시예에 따른 보안 서비스 방법은 상기 블록 암호 장치들 중 다른 하나에 의해 암호/복호화를 수행한다(S620).
또한, 본 발명의 일실시예에 따른 보안 서비스 방법은 상기 슬레이브가 데이터를 전송하기 위한 최소 단위의 데이터가 모일 때까지 대기 상태(wait state)를 통해 버스에 대한 점유권을 유지한다(S630).
또한, 본 발명의 일실시예에 따른 보안 서비스 방법은 상기 슬레이브가 상기 보안 서비스를 위해 상기 버스를 통해 상기 최소 단위의 데이터를 전송한다(S640).
이 때, 단계(S640)는 운영 체제 및 어플리케이션이 동작하는 메인 프로세서 셋과 독립적인 하드웨어인 보안 서비스 마스터로 상기 최소 단위의 데이터를 전송할 수 있다.
이 때, 단계(S640)는 버스에 대한 점유권을 유지한 상태에서 상기 최소 단위의 데이터가 모이면 바로 모인 데이터를 전송할 수 있다.
이상에서와 같이 본 발명에 따른 보안 서비스 제공 장치 및 보안 서비스 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
110: 외부 인터페이스 컨트롤러
120: 인터페이스 컨트롤러
130: 보안 서비스 제공 장치

Claims (10)

  1. 제1 블록 암호 장치; 및
    상기 제1 블록 암호 장치와 독립적이고, 상기 제1 블록 암호 장치가 암호/복호에 사용될 때 난수발생기로 사용되고, 상기 제1 블록 암호 장치가 난수발생기로 사용될 때 암호/복호에 사용되는 제2 블록 암호 장치를 포함하고,
    상기 난수발생기는
    발생된 난수를 상기 제1 블록 암호 장치 및 상기 제2 블록 암호 장치 중 암호/복호에 사용되는 어느 하나로 제공하고, 상기 발생된 난수는 상기 암호/복호의 중간 결과값들을 마스킹하는데 사용되는 것을 특징으로 하는 보안 서비스 제공 장치.
  2. 삭제
  3. 청구항 1에 있어서,
    상기 보안 서비스 제공 장치는 상기 보안 서비스의 슬레이브로 동작하고, 상기 보안 서비스를 위해 마스터가 데이터를 요청하였는데 상기 데이터를 준비하지 못한 경우, 대기 상태(wait state)를 통해 버스에 대한 점유권을 유지하는 것을 특징으로 하는 보안 서비스 제공 장치.
  4. 청구항 3에 있어서,
    상기 보안 서비스 제공 장치는
    상기 버스에 대한 점유권을 유지한 상태에서 상기 데이터가 전송 가능한 최소 단위만큼 모이면 바로 전송하는 것을 특징으로 하는 보안 서비스 제공 장치.
  5. 청구항 4에 있어서,
    상기 보안 서비스 제공 장치는
    상기 보안 서비스를 위해 상기 마스터가 데이터를 전송하였는데 상기 데이터를 수신할 준비가 되지 않은 경우, 상기 대기 상태(wait state)를 통해 상기 버스에 대한 점유권을 유지하는 것을 특징으로 하는 보안 서비스 제공 장치.
  6. 청구항 5에 있어서,
    상기 보안 서비스 제공 장치는
    상기 버스에 대한 점유권을 유지한 상태에서 버퍼에 상기 데이터 수신을 위한 최소 단위만큼의 공간이 생기면 바로 해당하는 데이터를 수신하는 것을 특징으로 하는 보안 서비스 제공 장치.
  7. 청구항 6에 있어서,
    상기 마스터는 USB 더블버퍼를 구비하는 USB 인터페이스 컨트롤러이고,
    상기 보안 서비스 제공 장치는
    상기 USB 더블버퍼로부터 데이터를 수신하거나 상기 USB 더블버퍼로 데이터를 송신할 때, 상기 대기 상태를 통해 상기 버스에 대한 점유권을 유지하는 것을 특징으로 하는 보안 서비스 제공 장치.
  8. 보안 서비스를 제공하는 슬레이브가 서로 다른 두 종의 블록 암호 장치들 중 어느 하나에 의해 난수를 발생시키는 단계; 및
    상기 블록 암호 장치들 중 다른 하나에 의해 암호/복호화를 수행하는 단계를 포함하고,
    상기 난수를 발생시키는 단계에서 발생된 난수를 상기 서로 다른 두 종의 블록 암호 장치들 중 암호/복호화에 사용되는 어느 하나로 제공하고, 상기 발생된 난수는 상기 암호/복호화의 중간 결과값들을 마스킹하는데 사용되는 것을 특징으로 하는 보안 서비스 방법.
  9. 청구항 8에 있어서,
    상기 보안 서비스 방법은
    상기 슬레이브가 데이터를 전송하기 위한 최소 단위의 데이터가 모일 때까지 대기 상태(wait state)를 통해 버스에 대한 점유권을 유지하는 단계; 및
    상기 슬레이브가 상기 보안 서비스를 위해 상기 버스를 통해 상기 최소 단위의 데이터를 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 보안 서비스 방법.
  10. 청구항 9에 있어서,
    상기 최소 단위의 데이터를 전송하는 단계는
    상기 버스에 대한 점유권을 유지한 상태에서 상기 최소 단위의 데이터가 모이면 바로 모인 데이터를 전송하는 것을 특징으로 하는 보안 서비스 방법.
KR1020120062461A 2012-06-12 2012-06-12 보안 서비스 제공 장치 및 이를 이용한 보안 서비스 방법 KR101380895B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120062461A KR101380895B1 (ko) 2012-06-12 2012-06-12 보안 서비스 제공 장치 및 이를 이용한 보안 서비스 방법
US13/681,202 US8855309B2 (en) 2012-06-12 2012-11-19 Apparatus and method for providing security service
EP12193757.7A EP2675105B1 (en) 2012-06-12 2012-11-22 Apparatus and method for providing security service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120062461A KR101380895B1 (ko) 2012-06-12 2012-06-12 보안 서비스 제공 장치 및 이를 이용한 보안 서비스 방법

Publications (2)

Publication Number Publication Date
KR20130138929A KR20130138929A (ko) 2013-12-20
KR101380895B1 true KR101380895B1 (ko) 2014-04-10

Family

ID=47630084

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120062461A KR101380895B1 (ko) 2012-06-12 2012-06-12 보안 서비스 제공 장치 및 이를 이용한 보안 서비스 방법

Country Status (3)

Country Link
US (1) US8855309B2 (ko)
EP (1) EP2675105B1 (ko)
KR (1) KR101380895B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577612B (zh) * 2014-10-11 2020-04-17 中兴通讯股份有限公司 身份认证方法、第三方服务器、商家服务器及用户终端
AT517983B1 (de) * 2015-11-18 2018-11-15 Siemens Ag Oesterreich Schutz eines Computersystems vor Seitenkanalattacken

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060108699A (ko) * 2003-12-11 2006-10-18 가부시키가이샤 버팔로 암호 복호 처리 시스템, 장치 및 방법
KR20110106849A (ko) * 2008-11-10 2011-09-29 윌리엄 브이 옥스포드 회귀형 보안 프로토콜을 이용하여 컴퓨팅 장치에서 코드 실행을 제어하는 방법 및 시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1293856A1 (fr) 2001-09-18 2003-03-19 EM Microelectronic-Marin SA Circuit Intégré sécurisé comprenant des parties à caractère confidentiel, et procédé pour sa mise en action
JP4045777B2 (ja) 2001-10-30 2008-02-13 株式会社日立製作所 情報処理装置
JP4608931B2 (ja) 2004-01-09 2011-01-12 ソニー株式会社 情報処理装置および方法、プログラム、並びに記録媒体
US7949883B2 (en) 2004-06-08 2011-05-24 Hrl Laboratories, Llc Cryptographic CPU architecture with random instruction masking to thwart differential power analysis
JP2007128184A (ja) 2005-11-01 2007-05-24 Sharp Corp 消費電力解析対策機能付き半導体装置
KR100571695B1 (ko) 2005-11-04 2006-04-18 (주)아이넷캅 키보드와 마우스 및 영상의 해킹 방지 방법
KR101287669B1 (ko) 2006-12-13 2013-07-24 주식회사 케이티 하드웨어 보안 모듈 다중화 장치 및 그 방법
WO2009104260A1 (ja) * 2008-02-20 2009-08-27 三菱電機株式会社 検証装置
US9213835B2 (en) 2010-04-07 2015-12-15 Xilinx, Inc. Method and integrated circuit for secure encryption and decryption
CA2812986C (en) * 2010-09-20 2015-12-08 Security First Corp. Systems and methods for secure data sharing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060108699A (ko) * 2003-12-11 2006-10-18 가부시키가이샤 버팔로 암호 복호 처리 시스템, 장치 및 방법
KR20110106849A (ko) * 2008-11-10 2011-09-29 윌리엄 브이 옥스포드 회귀형 보안 프로토콜을 이용하여 컴퓨팅 장치에서 코드 실행을 제어하는 방법 및 시스템

Also Published As

Publication number Publication date
EP2675105B1 (en) 2018-02-28
KR20130138929A (ko) 2013-12-20
US8855309B2 (en) 2014-10-07
US20130329887A1 (en) 2013-12-12
EP2675105A1 (en) 2013-12-18

Similar Documents

Publication Publication Date Title
US9948616B2 (en) Apparatus and method for providing security service based on virtualization
US9054874B2 (en) System and method for data authentication among processors
CN100487715C (zh) 一种数据安全存储系统和装置及方法
RU2444783C2 (ru) Архитектура виртуального модуля безопасности
KR101201622B1 (ko) 보안 기능을 가진 시스템 온 칩 및 이를 이용한 디바이스 및 스캔 방법
US10360369B2 (en) Securing sensor data
US10943020B2 (en) Data communication system with hierarchical bus encryption system
CN105518611A (zh) 一种远程直接数据存取方法、设备和系统
US20200104528A1 (en) Data processing method, device and system
US20140173275A1 (en) Securing data transmissions between processor packages
KR101534566B1 (ko) 클라우드 가상 데스크탑 보안 통제 장치 및 방법
US20230071723A1 (en) Technologies for establishing secure channel between i/o subsystem and trusted application for secure i/o data transfer
CN106127059A (zh) 一种arm平台上可信密码模块的实现和服务方法
CN107079025B (zh) 用于联网请求匿名化的设备、方法及计算机可读介质
KR101380895B1 (ko) 보안 서비스 제공 장치 및 이를 이용한 보안 서비스 방법
KR20140142144A (ko) 데이터 입력 방법 및 장치
KR101107056B1 (ko) 클라우드 컴퓨팅 환경에서 가상 머신의 보안 정보 처리 방법
US20210126776A1 (en) Technologies for establishing device locality
WO2014117648A1 (zh) 应用访问方法和设备
KR101531833B1 (ko) 모바일 가상화 환경에서 스마트워크 보안 프레임워크 지원을 위한 다중 채널 제공 방법 및 장치
KR101881117B1 (ko) 다중 통신 암호연산 병렬처리를 구현하는 보안 게이트웨이
CN111209544B (zh) Web应用安全保护方法、装置、电子设备及存储介质
CN113849261A (zh) 处理数据的方法、主机及装置
CN112363800A (zh) 一种网卡的内存访问方法、安全处理器、网卡及电子设备
CN113742753B (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: 20161227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 7