KR20120096969A - 암복호화 장치 및 이를 포함하는 시스템 - Google Patents

암복호화 장치 및 이를 포함하는 시스템 Download PDF

Info

Publication number
KR20120096969A
KR20120096969A KR1020110016258A KR20110016258A KR20120096969A KR 20120096969 A KR20120096969 A KR 20120096969A KR 1020110016258 A KR1020110016258 A KR 1020110016258A KR 20110016258 A KR20110016258 A KR 20110016258A KR 20120096969 A KR20120096969 A KR 20120096969A
Authority
KR
South Korea
Prior art keywords
text
encryption
output
decryption
operation mode
Prior art date
Application number
KR1020110016258A
Other languages
English (en)
Inventor
박성근
서개원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020110016258A priority Critical patent/KR20120096969A/ko
Priority to US13/403,281 priority patent/US20120219148A1/en
Publication of KR20120096969A publication Critical patent/KR20120096969A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm

Abstract

암복호화 장치는 제어부, 암복호화부 및 검증부를 포함한다. 제어부는 동작 모드에 따라 입력 텍스트 및 내부 텍스트 중의 하나 및 커맨드 신호에 응답하여 시작 텍스트 및 암복호화 제어 신호를 생성한다. 암복호화부는 암복호화 제어 신호에 응답하여 시작 텍스트를 암호화 또는 복호화하여 결과 텍스트를 생성한다. 검증부는 동작 모드에 따라 결과 텍스트를 내부 텍스트로서 제어부에 제공하고 결과 텍스트 및 입력 텍스트에 기초하여 입력 텍스트가 암호화 또는 복호화된 출력 텍스트 및 출력 텍스트의 무결성을 나타내는 알람 신호를 출력한다. 암복호화 장치는 동작 속도를 떨어뜨리지 않고 출력 텍스트의 무결성을 나타내는 알람 신호를 출력할 수 있고 출력 텍스트의 신뢰성을 높일 수 있다.

Description

암복호화 장치 및 이를 포함하는 시스템{ENCRYPTION-DECRYPTION DEVICE, AND SYSTEM INCLUDING THE SAME}
본 발명은 암복호화 장치에 관한 것으로, 보다 상세하게는 암복호화 장치 및 이를 포함하는 시스템에 관한 것이다.
보안의 중요성이 대두됨에 따라 전자 장치는 저장 데이터 또는 송수신 데이터를 암호화 또는 복호화 하기 위한 다양한 종류의 암복호화 장치들을 포함한다. 그러나 암복호화 장치가 데이터를 암호화 또는 복호화하는 과정에 외부로부터 공격이 있는 경우, 암복호화 장치는 정상적으로 암호화 또는 복호화된 데이터를 생성할 수 없다. 따라서 종래의 암복호화 장치는 암호화 또는 복호화된 데이터의 무결성을 검증하기 위한 별도의 소프트웨어 또는 외부로부터의 공격을 감지할 수 있는 별도의 장치를 포함한다.
상기와 같은 문제점을 해결하기 위한 본 발명의 일 목적은 암호화 또는 복호화된 데이터의 무결성을 효과적으로 검증할 수 있는 암복호화 장치를 제공하는 것이다.
본 발명의 다른 목적은 상기 암복호화 장치를 포함하는 시스템을 제공하는 것이다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 암복호화 장치는 제어부, 암복호화부 및 검증부를 포함한다. 상기 제어부는 동작 모드에 따라 입력 텍스트 및 내부 텍스트 중의 하나 및 커맨드 신호에 응답하여 시작 텍스트 및 암복호화 제어 신호를 생성한다. 상기 암복호화부는 상기 암복호화 제어 신호에 응답하여 상기 시작 텍스트를 암호화 또는 복호화하여 결과 텍스트를 생성한다. 상기 검증부는 상기 동작 모드에 따라 상기 결과 텍스트를 상기 내부 텍스트로서 상기 제어부에 제공하고 상기 결과 텍스트 및 상기 입력 텍스트에 기초하여 상기 입력 텍스트가 암호화 또는 복호화된 출력 텍스트 및 상기 출력 텍스트의 무결성을 나타내는 알람 신호를 출력한다.
상기 암복호화 장치는 제1 동작 모드에서 상기 출력 텍스트를 생성하고, 제2 동작 모드에서 상기 출력 텍스트의 무결성을 검증하여 상기 알람 신호를 생성할 수 있다.
상기 제어부는 상기 제1 동작 모드에서 상기 입력 텍스트 및 상기 커맨드 신호에 응답하여 제1 시작 텍스트 및 제1 암복호화 제어 신호를 생성하고, 상기 제2 동작 모드에서 상기 내부 텍스트 및 상기 커맨드 신호에 응답하여 제2 시작 텍스트 및 제2 암복호화 제어 신호를 생성할 수 있다.
상기 제2 암복호화 제어 신호는 상기 제1 암복호화 제어 신호가 반전된 신호일 수 있다.
상기 암복호화부는 상기 제1 동작 모드에서 상기 암복호화 제어 신호의 논리 레벨에 응답하여 상기 시작 텍스트를 암호화 또는 복호화하여 제1 결과 텍스트를 생성하고, 상기 제2 동작 모드에서 상기 암복호화 제어 신호의 논리 레벨에 응답하여 상기 시작 텍스트를 암호화 또는 복호화하여 제2 결과 텍스트를 생성할 수 있다.
상기 검증부는 상기 제1 동작 모드에서 상기 출력 텍스트를 생성하여 출력하고, 제2 동작 모드에서 상기 알람 신호를 생성하여 출력할 수 있다.
상기 검증부는 상기 제1 동작 모드에서 상기 입력 텍스트를 수신하여 상기 원본 텍스트로서 제공하고 상기 암복호화부로부터 상기 결과 텍스트를 수신하여 상기 출력 텍스트로서 출력하고 상기 출력 텍스트를 상기 내부 텍스트로서 상기 제어부에 제공하고, 상기 제2 동작 모드에서 상기 암복호화부로부터 상기 결과 텍스트를 수신하여 상기 비교 텍스트로서 제공하는 제어 회로, 상기 제어 회로로부터 수신되는 상기 원본 텍스트를 저장하는 제1 버퍼, 상기 제어 회로로부터 수신되는 상기 비교 텍스트를 저장하는 제2 버퍼 및 상기 제1 버퍼에 저장된 상기 원본 텍스트 및 상기 제2 버퍼에 저장된 상기 비교 텍스트가 서로 일치하는지 여부를 판단하여 상기 알람 신호를 생성하여 출력하는 비교부를 포함할 수 있다.
상기 검증부는 상기 제1 동작 모드에서 상기 출력 텍스트를 생성하여 저장하고, 제2 동작 모드에서 상기 알람 신호를 생성하여 출력하고 상기 알람 신호에 응답하여 상기 출력 텍스트를 선택적으로 출력할 수 있다.
상기 검증부는 상기 제1 동작 모드에서 상기 입력 텍스트를 수신하여 상기 원본 텍스트로서 제공하고 상기 암복호화부로부터 상기 결과 텍스트를 수신하여 상기 출력 텍스트로서 제공하고 상기 출력 텍스트를 상기 내부 텍스트로서 상기 제어부에 제공하고, 상기 제2 동작 모드에서 상기 암복호화부로부터 상기 결과 텍스트를 수신하여 상기 비교 텍스트로서 제공하는 제어 회로, 상기 제어 회로로부터 수신되는 상기 원본 텍스트를 저장하는 제1 버퍼, 상기 제어 회로로부터 수신되는 상기 비교 텍스트를 저장하는 제2 버퍼, 상기 제어 회로로부터 수신되는 상기 출력 텍스트를 저장하는 제3 버퍼, 상기 제1 버퍼에 저장된 상기 원본 텍스트 및 상기 제2 버퍼에 저장된 상기 비교 텍스트가 서로 일치하는지 여부를 판단하여 상기 알람 신호를 생성하여 출력하는 비교부 및 상기 알람 신호의 논리 레벨에 응답하여 개폐되어 상기 제3 버퍼에 저장된 상기 출력 텍스트를 선택적으로 출력하는 스위치를 포함할 수 있다.
상술한 본 발명의 일 목적을 달성하기 위하여, 본 발명의 일 실시예에 따른 시스템은 암복호화 장치 및 프로세서를 포함한다. 상기 암복호화 장치는 커맨드 신호에 기초하여 입력 텍스트를 암호화 또는 복호화하여 출력 텍스트를 출력하고 상기 출력 텍스트의 무결성을 나타내는 알람 신호를 출력한다. 상기 프로세서는 상기 암복호화 장치에 상기 커맨드 신호 및 상기 입력 텍스트를 제공하여 상기 암복호화 장치의 동작을 제어한다. 상기 암복호화 장치는 동작 모드에 따라 상기 입력 텍스트 및 내부 텍스트 중의 하나 및 상기 커맨드 신호에 응답하여 시작 텍스트 및 암복호화 제어 신호를 생성하는 제어부, 상기 암복호화 제어 신호에 응답하여 상기 시작 텍스트를 암호화 또는 복호화하여 결과 텍스트를 생성하는 암복호화부 및 상기 동작 모드에 따라 상기 결과 텍스트를 상기 내부 텍스트로서 상기 제어부에 제공하고 상기 결과 텍스트 및 상기 입력 텍스트에 기초하여 상기 출력 텍스트 및 상기 알람 신호를 출력하는 검증부를 포함한다.
본 발명의 실시예들에 따른 암복호화 장치는 암호화 또는 복호화된 출력 데이터의 무결성을 검증하기 위한 별도의 소프트웨어 또는 외부로부터의 공격을 감지할 수 있는 별도의 장치 없이, 동작 속도를 떨어뜨리지 않으면서 암호화 또는 복호화된 출력 데이터 및 출력 데이터의 무결성을 나타내는 알람 신호를 생성할 수 있고, 무결성 검증이 완료된 출력 데이터만을 출력함으로써 출력 데이터의 신뢰성을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 암복호화 장치를 나타내는 블록도이다.
도 2는 도 1의 암복호화 장치에 포함되는 제어부의 일 예를 나타내는 블록도이다.
도 3은 도 1의 암복호화 장치에 포함되는 검증부의 일 예를 나타내는 블록도이다.
도 4는 도 1의 암복호화 장치가 도 3의 검증부를 포함하는 경우의 암호화 동작을 나타내는 순서도이다.
도 5는 도 1의 암복호화 장치가 도 3의 검증부를 포함하는 경우의 복호화 동작을 나타내는 순서도이다.
도 6은 도 1의 암복호화 장치에 포함되는 검증부의 다른 예를 나타내는 블록도이다.
도 7은 도 1의 암복호화 장치가 도 6의 검증부를 포함하는 경우의 암호화 동작을 나타내는 순서도이다.
도 8은 도 1의 암복호화 장치가 도 6의 검증부를 포함하는 경우의 복호화 동작을 나타내는 순서도이다.
도 9는 본 발명의 일 실시예에 따른 시스템을 나타내는 블록도이다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미이다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미인 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 암복호화 장치를 나타내는 블록도이다.
도 1을 참조하면, 암복호화 장치(100)는 제어부(CONTROL UNIT)(110), 암복호화부(ED UNIT)(120) 및 검증부(VERIFICATION UNIT)(130)를 포함한다.
제어부(110)는 동작 모드에 따라 입력 텍스트(IT) 및 내부 텍스트(INT) 중의 하나 및 커맨드 신호(CMD)에 응답하여 시작 텍스트(ST) 및 암복호화 제어 신호(CONED)를 생성한다. 입력 텍스트(IT) 및 커맨드 신호(CMD)는 외부로부터 제공될 수 있다. 후술하는 바와 같이, 내부 텍스트(INT)는 검증부(130)로부터 피드백(feed back)된다.
암복호화부(120)는 제어부(110)로부터 시작 텍스트(ST) 및 암복호화 제어 신호(CONED)를 수신한다. 암복호화부(120)는 암복호화 제어 신호(CONED)에 응답하여 시작 텍스트(ST)를 암호화 또는 복호화하여 결과 텍스트(RT)를 생성한다. 암복호화부(120)는 암복호화 제어 신호(CONED)의 논리 레벨에 기초하여 암호화 동작 또는 복호화 동작을 선택적으로 수행할 수 있다. 예를 들어, 암복호화 제어 신호(CONED)가 제1 논리 레벨인 경우 암복호화부(120)는 시작 텍스트(ST)를 암호화하여 결과 텍스트(RT)를 생성하고, 암복호화 제어 신호(CONED)가 제2 논리 레벨인 경우 암복호화부(120)는 시작 텍스트(ST)를 복호화하여 결과 텍스트(RT)를 생성할 수 있다. 일 실시예에 있어서, 상기 제1 논리 레벨은 논리 하이 레벨이고 상기 제2 논리 레벨은 논리 로우 레벨일 수 있다. 다른 실시예에 있어서, 상기 제1 논리 레벨은 논리 로우 레벨이고 상기 제2 논리 레벨은 논리 하이 레벨일 수 있다.
검증부(130)는 외부로부터 제공되는 입력 텍스트(IT) 및 암복호화부(120)로부터 제공되는 결과 텍스트(RT)를 수신한다. 검증부(130)는 상기 동작 모드에 따라 결과 텍스트(RT)를 내부 텍스트(INT)로서 제어부(110)에 제공하고 결과 텍스트(RT) 및 입력 텍스트(IT)에 기초하여 입력 텍스트(IT)가 암호화 또는 복호화된 출력 텍스트(OT) 및 출력 텍스트(OT)의 무결성을 나타내는 알람 신호(ALARM)를 출력한다. 본 명세서에서, 무결성이란 용어는 출력 텍스트(OT)에 오류가 있는지 여부를 나타내는 것으로 사용된다. 즉, 출력 텍스트(OT)가 입력 텍스트(IT)에 대해 암호화 또는 복호화가 정상적으로 수행되어 생성된 경우 출력 텍스트(OT)는 무결성을 갖고, 입력 텍스트(IT)에 대해 암호화 또는 복호화하는 과정에 외부로부터의 공격 등이 발생하여 출력 텍스트(OT)에 오류가 있는 경우 출력 텍스트(OT)는 무결성을 갖지 않는 것으로 표현된다. 일 실시예에 있어서, 검증부(130)는 출력 텍스트(OT)가 무결성을 갖는지 여부를 판단하여 출력 텍스트(OT)가 무결성을 갖는 경우 디스에이블된 알람 신호(ALARM)를 출력하고 출력 텍스트(OT)가 무결성을 갖지 않는 경우 인에이블된 알람 신호(ALARM)를 출력할 수 있다. 인에이블된 알람 신호(ALARM)는 논리 하이 레벨이고 디스에이블된 알람 신호(ALARM)는 논리 로우 레벨일 수 있다.
상기 동작 모드는 제1 동작 모드 및 제2 동작 모드를 포함할 수 있다. 암복호화 장치(100)는 상기 제1 동작 모드에서 출력 텍스트(OT)를 생성하고, 상기 제2 동작 모드에서 출력 텍스트(OT)의 무결성을 검증하여 알람 신호(ALARM)를 생성할 수 있다.
제어부(110)는 상기 제1 동작 모드에서 외부로부터 수신되는 입력 텍스트(IT) 및 커맨드 신호(CMD)에 응답하여 제1 시작 텍스트(ST1) 및 제1 암복호화 제어 신호(CONED1)를 생성하고, 상기 제2 동작 모드에서 검증부(130)로부터 피드백되는 내부 텍스트(INT) 및 커맨드 신호(CMD)에 응답하여 제2 시작 텍스트(ST2) 및 제2 암복호화 제어 신호(CONED2)를 생성할 수 있다. 예를 들어, 제어부(110)는 상기 제1 동작 모드에서 외부로부터 입력 텍스트(IT)를 수신하여 입력 텍스트(IT)를 제1 시작 텍스트(ST1)로서 암복호화부(120)에 제공하고 외부로부터 커맨드 신호(CMD)를 수신하여 커맨드 신호(CMD)를 제1 암복호화 제어 신호(CONED1)로서 암복호화부(120)에 제공할 수 있다. 제어부(110)는 상기 제2 동작 모드에서 검증부(130)로부터 내부 텍스트(INT)를 피드백받아 내부 텍스트(INT)를 제2 시작 텍스트(ST2)로서 암복호화부(120)에 제공하고 상기 제1 동작 모드에서 수신하였던 커맨드 신호(CMD)를 반전시켜 제2 암복호화 제어 신호(CONED2)로서 암복호화부(120)에 제공할 수 있다.
도 2는 도 1의 암복호화 장치에 포함되는 제어부의 일 예를 나타내는 블록도이다.
도 2를 참조하면, 제어부(110)는 제1 버퍼(BUFFER1)(111), 제2 버퍼(BUFFER2)(113), 인버터(115), 제어 회로(CONTROL CIRCUIT)(117) 및 멀티플렉서(119)를 포함할 수 있다.
제1 버퍼(111)는 상기 제1 동작 모드에서 입력 텍스트(IT)를 수신하여 저장하고 입력 텍스트(IT)를 제1 시작 텍스트(ST1)로서 출력하고, 상기 제2 동작 모드에서 내부 텍스트(INT)를 수신하여 저장하고 내부 텍스트(INT)를 제2 시작 텍스트(ST2)로서 출력할 수 있다.
제2 버퍼(113)는 상기 제1 동작 모드에서 커맨드 신호(CMD)를 수신하여 저장하고, 상기 제1 동작 모드 및 상기 제2 동작 모드에서 커맨드 신호(CMD)를 제1 암복호화 제어 신호(CONED1)로서 출력할 수 있다.
인버터(115)는 제2 버퍼(113)로부터 출력되는 제1 암복호화 제어 신호(CONED1)를 반전시켜 제2 암복호화 제어 신호(CONED2)를 출력할 수 있다.
제어 회로(117)는 상기 제1 동작 모드에서는 제1 논리 레벨을 갖는 내부 제어 신호(CONI)를 생성하고 상기 제2 동작 모드에서는 제2 논리 레벨을 갖는 내부 제어 신호(CONI)를 생성할 수 있다. 상술한 바와 같이, 상기 제1 동작 모드에서는 외부로부터 입력 텍스트(IT)가 수신되고, 상기 제2 동작 모드에서는 검증부(130)로부터 내부 텍스트(INT)가 피드백되므로, 제어 회로(117)는 입력 텍스트(IT)가 수신되는 경우 상기 제1 논리 레벨을 갖는 내부 제어 신호(CONI)를 생성하고 내부 텍스트(INT)가 수신되는 경우 상기 제2 논리 레벨을 갖는 내부 제어 신호(CONI)를 생성할 수 있다. 일 실시예에 있어서, 상기 제1 논리 레벨은 논리 하이 레벨이고 상기 제2 논리 레벨은 논리 로우 레벨일 수 있다.
멀티플렉서(119)는 내부 제어 신호(CONI)의 논리 레벨에 응답하여 제1 암복호화 제어 신호(CONED1) 및 제2 암복호화 제어 신호(CONED2) 중의 하나를 선택적으로 출력할 수 있다. 일 실시예에 있어서, 멀티플렉서(119)는 내부 제어 신호(CONI)가 논리 하이 레벨인 경우 제1 암복호화 제어 신호(CONED1)를 출력하고 내부 제어 신호(CONI)가 논리 로우 레벨인 경우 제2 암복호화 제어 신호(CONED2)를 출력할 수 있다.
다시 도 1을 참조하면, 암복호화부(120)는 상기 제1 동작 모드에서 제어부(110)로부터 수신되는 제1 암복호화 제어 신호(CONED1)의 논리 레벨에 응답하여 제어부(110)로부터 수신되는 제1 시작 텍스트(ST1)를 암호화 또는 복호화하여 제1 결과 텍스트(RT1)를 생성할 수 있다. 암복호화부(120)는 상기 제2 동작 모드에서 제어부(110)로부터 수신되는 제2 암복호화 제어 신호(CONED2)의 논리 레벨에 응답하여 제어부(110)로부터 수신되는 제2 시작 텍스트(ST2)를 암호화 또는 복호화하여 제2 결과 텍스트(RT2)를 생성할 수 있다. 상술한 바와 같이, 제2 암복호화 제어 신호(CONED2)는 제1 암복호화 제어 신호(CONED1)가 반전된 신호일 수 있다. 따라서 암복호화부(120)는 상기 제1 동작 모드에서 제1 시작 텍스트(ST1)를 암호화하고 상기 제2 동작 모드에서 제2 시작 텍스트(ST2)를 복호화하거나, 상기 제1 동작 모드에서 제1 시작 텍스트(ST1)를 복호화하고 상기 제2 동작 모드에서 제2 시작 텍스트(ST2)를 암호화할 수 있다. 일 실시예에 있어서, 암복호화부(120)는 AES(Advanced Encryption Standard) 또는 DES(Data Encryption Standard)를 만족할 수 있다. 즉, 암복호화부(120)는 AES 또는 DES 알고리즘에 따라 시작 텍스트(ST)에 대해 암호화 또는 복호화를 수행할 수 있다. 그러나, 본 발명은 이에 한정되는 것은 아니며, 암복호화부(120)는 AES 또는 DES 이외의 임의의 암복호화 알고리즘에 의해 시작 텍스트(ST)를 암호화 또는 복호화할 수 있다.
도 3은 도 1의 암복호화 장치에 포함되는 검증부의 일 예를 나타내는 블록도이다.
도 3에 도시된 검증부(130a)는 상기 제1 동작 모드에서 출력 텍스트(OT)를 생성하여 출력 텍스트(OT)를 출력하고, 상기 제2 동작 모드에서 출력 텍스트(OT)가 무결성을 갖는지 여부를 나타내는 알람 신호(ALARM)를 생성하여 알람 신호(ALARM)를 출력할 수 있다. 즉, 암복호화 장치(100)의 동작 속도를 떨어뜨리지 않기 위해, 검증부(130a)는 상기 제1 동작 모드에서 암복호화부(120)로부터 입력 텍스트(IT)가 암호화 또는 복호화된 제1 결과 텍스트(RT1)를 수신하는 즉시 제1 결과 텍스트(RT1)를 출력 텍스트(OT)로서 출력하고, 상기 제2 동작 모드에서 출력 텍스트(OT)에 대해 무결성 여부를 검증하여 출력 텍스트(OT)가 무결성을 갖는지 여부를 나타내는 알람 신호(ALARM)를 생성하여 출력할 수 있다.
도 3을 참조하면, 검증부(130a)는 제어 회로(CONTROL CIRCUIT)(131), 제3 버퍼(BUFFER3)(132), 제4 버퍼(BUFFER4)(133) 및 비교부(COMPARATOR)(134)를 포함할 수 있다.
제어 회로(131)는 상기 제1 동작 모드에서 외부로부터 수신되는 입력 텍스트(IT)를 원본 텍스트(ORT)로서 제공하고 암복호화부(120)로부터 제1 결과 텍스트(RT1)를 수신하여 출력 텍스트(OT)로서 출력하고 출력 텍스트(OT)를 내부 텍스트(INT)로서 제어부(110)에 제공할 수 있다. 제어 회로(131)는 상기 제2 동작 모드에서 암복호화부(120)로부터 제2 결과 텍스트(RT2)를 수신하여 비교 텍스트(CT)로서 제공할 수 있다.
제3 버퍼(132)는 제어 회로(131)로부터 수신되는 원본 텍스트(ORT)를 저장하고, 제4 버퍼(133)는 제어 회로(131)로부터 수신되는 비교 텍스트(CT)를 저장할 수 있다.
비교부(134)는 제3 버퍼(132)에 저장된 원본 텍스트(ORT) 및 제4 버퍼(133)에 저장된 비교 텍스트(CT)가 서로 일치하는지 여부를 판단하여 알람 신호(ALARM)를 생성하여 출력할 수 있다. 예를 들어, 비교부(134)는 원본 텍스트(ORT)와 비교 텍스트(CT)가 서로 일치하는 경우 디스에이블된 알람 신호(ALARM)를 생성하여 출력할 수 있고, 원본 텍스트(ORT)와 비교 텍스트(CT)가 서로 일치하지 않는 경우 인에이블된 알람 신호(ALARM)를 생성하여 출력할 수 있다. 일 실시예에 있어서, 인에이블된 알람 신호(ALARM)는 논리 하이 레벨이고 디스에이블된 알람 신호(ALARM)는 논리 로우 레벨일 수 있다.
따라서 검증부(130a)는 상기 제1 동작 모드에서 입력 텍스트(IT)를 수신하여 원본 텍스트(ORT)로서 저장하고 암복호화부(120)로부터 제1 결과 텍스트(RT1)를 수신하여 제1 결과 텍스트(RT1)를 출력 텍스트(OT)로서 출력하고 출력 텍스트(OT)를 내부 텍스트(INT)로서 제어부(110)에 제공할 수 있다. 또한, 검증부(130a)는 상기 제2 동작 모드에서 암복호화부(120)로부터 제2 결과 텍스트(RT2)를 수신하여 비교 텍스트(CT)로서 저장하고 비교 텍스트(CT)와 상기 제1 동작 모드에서 저장되었던 원본 텍스트(ORT)를 비교하여 알람 신호(ALARM)를 생성하여 출력할 수 있다.
상술한 바와 같이, 상기 제1 동작 모드에서 검증부(130a)가 암복호화부(120)로부터 수신하는 제1 결과 텍스트(RT1)는 입력 텍스트(IT)를 암호화한 텍스트이고, 상기 제2 동작 모드에서 검증부(130a)가 암복호화부(120)로부터 수신하는 제2 결과 텍스트(RT2)는 제1 결과 텍스트(RT1)를 복호화한 텍스트이거나, 상기 제1 동작 모드에서 검증부(130a)가 암복호화부(120)로부터 수신하는 제1 결과 텍스트(RT1)는 입력 텍스트(IT)를 복호화한 텍스트이고, 상기 제2 동작 모드에서 검증부(130a)가 암복호화부(120)로부터 수신하는 제2 결과 텍스트(RT2)는 제1 결과 텍스트(RT1)를 암호화한 텍스트일 수 있다. 따라서 검증부(130a)는 입력 텍스트(IT)를 나타내는 원본 텍스트(ORT)와 제2 결과 텍스트(RT2)를 나타내는 비교 텍스트(CT)가 서로 일치하는지 여부를 판단함으로써 제1 결과 텍스트(RT1)를 나타내는 출력 텍스트(OT)가 무결성을 갖는지 여부를 판단할 수 있고, 이를 기초로 알람 신호(ALARM)를 생성하여 출력할 수 있다.
도 4는 도 1의 암복호화 장치가 도 3의 검증부를 포함하는 경우의 암호화 동작을 나타내는 순서도이다.
이하, 도 1 내지 도 4를 참조하여 암복호화 장치(100)가 도 3의 검증부(130a)를 포함하는 경우의 암호화 동작에 대해 상세히 설명한다.
제어부(110)는 외부로부터 입력 텍스트(IT) 및 커맨드 신호(CMD)를 수신하여 저장하고, 입력 텍스트(IT) 및 커맨드 신호(CMD)를 각각 제1 시작 텍스트(ST1) 및 제1 암복호화 제어 신호(CONED1)로서 암복호화부(120)에 제공한다(단계 S110). 입력 텍스트(IT)는 암호화 되지 않은 평문(plain text)이고, 커맨드 신호(CMD)는 제1 논리 레벨을 가질 수 있다. 실시예에 따라서 상기 제1 논리 레벨은 논리 하이 레벨일 수 있다.
암복호화부(120)는 제어부(110)로부터 수신되는 제1 암복호화 제어 신호(CONED1)의 논리 레벨에 응답하여 제어부(110)로부터 수신되는 제1 시작 텍스트(ST1)를 암호화하여 제1 결과 텍스트(RT1)를 생성하고, 검증부(130a)는 암복호화부(120)로부터 수신되는 제1 결과 텍스트(RT1)를 출력 텍스트(OT)로서 생성한다(단계 S120).
검증부(130a)는 생성된 출력 텍스트(OT)를 즉시 외부로 출력함(단계 S130)과 동시에, 출력 텍스트(OT)를 내부 텍스트(INT)로서 제어부(110)에 피드백한다.
제어부(110)는 검증부(130a)로부터 피드백되는 내부 텍스트(INT)를 제2 시작 텍스트(ST2)로서 암복호화부(120)에 제공하고 제1 암복호화 제어 신호(CONED1)의 반전 신호인 제2 암복호화 제어 신호(CONED2)를 암복호화부(120)에 제공한다.
암복호화부(120)는 제어부(110)로부터 수신되는 제2 암복호화 제어 신호(CONED2)의 논리 레벨에 응답하여 제어부(110)로부터 수신되는 제2 시작 텍스트(ST2)를 복호화하여 제2 결과 텍스트(RT2)를 생성하고, 검증부(130a)는 암복호화부(120)로부터 수신되는 제2 결과 텍스트(RT2)를 비교 텍스트(CT)로서 저장한다(단계 S140).
검증부(130a)는 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하는지 여부를 판단한다(단계 S150). 상기 판단 결과 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하는 경우, 검증부(130a)는 디스에이블된 알람 신호(ALARM)를 출력하고(단계 S160), 상기 판단 결과 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하지 않는 경우, 검증부(130a)는 인에이블된 알람 신호(ALARM)를 출력한다(단계 S170).
도 5는 도 1의 암복호화 장치가 도 3의 검증부를 포함하는 경우의 복호화 동작을 나타내는 순서도이다.
이하, 도 1, 2, 3 및 5를 참조하여 암복호화 장치(100)가 도 3의 검증부(130a)를 포함하는 경우의 복호화 동작에 대해 상세히 설명한다.
제어부(110)는 외부로부터 입력 텍스트(IT) 및 커맨드 신호(CMD)를 수신하여 저장하고, 입력 텍스트(IT) 및 커맨드 신호(CMD)를 각각 제1 시작 텍스트(ST1) 및 제1 암복호화 제어 신호(CONED1)로서 암복호화부(120)에 제공한다(단계 S210). 입력 텍스트(IT)는 암호화된 암호문(cipher text)이고, 커맨드 신호(CMD)는 제2 논리 레벨을 가질 수 있다. 실시예에 따라서 상기 제2 논리 레벨은 논리 로우 레벨일 수 있다.
암복호화부(120)는 제어부(110)로부터 수신되는 제1 암복호화 제어 신호(CONED1)의 논리 레벨에 응답하여 제어부(110)로부터 수신되는 제1 시작 텍스트(ST1)를 복호화하여 제1 결과 텍스트(RT1)를 생성하고, 검증부(130a)는 암복호화부(120)로부터 수신되는 제1 결과 텍스트(RT1)를 출력 텍스트(OT)로서 생성한다(단계 S220).
검증부(130a)는 생성된 출력 텍스트(OT)를 즉시 외부로 출력함(단계 S230)과 동시에, 출력 텍스트(OT)를 내부 텍스트(INT)로서 제어부(110)에 피드백한다.
제어부(110)는 검증부(130a)로부터 피드백되는 내부 텍스트(INT)를 제2 시작 텍스트(ST2)로서 암복호화부(120)에 제공하고 제1 암복호화 제어 신호(CONED1)의 반전 신호인 제2 암복호화 제어 신호(CONED2)를 암복호화부(120)에 제공한다.
암복호화부(120)는 제어부(110)로부터 수신되는 제2 암복호화 제어 신호(CONED2)의 논리 레벨에 응답하여 제어부(110)로부터 수신되는 제2 시작 텍스트(ST2)를 암호화하여 제2 결과 텍스트(RT2)를 생성하고, 검증부(130a)는 암복호화부(120)로부터 수신되는 제2 결과 텍스트(RT2)를 비교 텍스트(CT)로서 저장한다(단계 S240).
검증부(130a)는 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하는지 여부를 판단한다(단계 S250). 상기 판단 결과 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하는 경우, 검증부(130a)는 디스에이블된 알람 신호(ALARM)를 출력하고(단계 S260), 상기 판단 결과 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하지 않는 경우, 검증부(130a)는 인에이블된 알람 신호(ALARM)를 출력한다(단계 S270).
상술한 바와 같이, 도 1의 암복호화 장치(100)가 도 3의 검증부(130a)를 포함하는 경우, 암복호화 장치(100)는 상기 제1 동작 모드에서 입력 텍스트(IT)가 암호화 또는 복호화된 출력 텍스트(OT)를 즉시 출력하고, 상기 제2 동작 모드에서 출력 텍스트(OT)에 대해 무결성 여부를 검증하여 출력 텍스트(OT)가 무결성을 갖는지 여부를 나타내는 알람 신호(ALARM)를 생성하여 출력한다. 따라서 본 발명의 일 실시예에 따른 암복호화 장치(100)는 암호화 또는 복호화된 데이터의 무결성을 검증하기 위한 별도의 소프트웨어 또는 외부로부터의 공격을 감지할 수 있는 별도의 장치 없이, 동작 속도를 떨어뜨리지 않으면서 외부로부터 수신되는 입력 텍스트(IT)가 암호화 또는 복호화된 출력 텍스트(OT) 및 출력 텍스트(OT)의 무결성을 나타내는 알람 신호(ALARM)를 제공할 수 있다.
도 6은 도 1의 암복호화 장치에 포함되는 검증부의 다른 예를 나타내는 블록도이다.
도 6에 도시된 검증부(130b)는 상기 제1 동작 모드에서 출력 텍스트(OT)를 생성하여 저장하고, 상기 제2 동작 모드에서 출력 텍스트(OT)가 무결성을 갖는지 여부를 나타내는 알람 신호(ALARM)를 생성하여 알람 신호(ALARM)를 출력하고 알람 신호(ALARM)의 논리 레벨에 응답하여 출력 텍스트(OT)를 선택적으로 출력할 수 있다. 즉, 암복호화 장치(100)의 신뢰성을 향상시키기 위해, 검증부(130b)는 상기 제1 동작 모드에서 암복호화부(120)로부터 입력 텍스트(IT)가 암호화 또는 복호화된 제1 결과 텍스트(RT1)를 수신하는 즉시 제1 결과 텍스트(RT1)를 출력 텍스트(OT)로서 출력하지 않고 제1 결과 텍스트(RT1)를 출력 텍스트(OT)로서 저장하고, 상기 제2 동작 모드에서 출력 텍스트(OT)에 대해 무결성 여부를 검증하여 출력 텍스트(OT)가 무결성을 갖는지 여부를 나타내는 알람 신호(ALARM)를 생성하여 출력하고 출력 텍스트(OT)가 무결성을 갖는 경우에 한해 상기 저장된 출력 텍스트(OT)를 출력할 수 있다.
도 6을 참조하면, 검증부(130b)는 제어 회로(CONTROL CIRCUIT)(131), 제3 버퍼(BUFFER3)(132), 제4 버퍼(BUFFER4)(133), 비교부(COMPARATOR)(134), 제5 버퍼(BUFFER5)(135) 및 스위치(136)를 포함할 수 있다.
제어 회로(131)는 상기 제1 동작 모드에서 외부로부터 수신되는 입력 텍스트(IT)를 원본 텍스트(ORT)로서 제공하고 암복호화부(120)로부터 제1 결과 텍스트(RT1)를 수신하여 출력 텍스트(OT)로서 제공하고 출력 텍스트(OT)를 내부 텍스트(INT)로서 제어부(110)에 제공할 수 있다. 제어 회로(131)는 상기 제2 동작 모드에서 암복호화부(120)로부터 제2 결과 텍스트(RT2)를 수신하여 비교 텍스트(CT)로서 제공할 수 있다.
제3 버퍼(132)는 제어 회로(131)로부터 수신되는 원본 텍스트(ORT)를 저장하고, 제4 버퍼(133)는 제어 회로(131)로부터 수신되는 비교 텍스트(CT)를 저장하고, 제5 버퍼(135)는 제어 회로(131)로부터 수신되는 출력 텍스트(OT)를 저장할 수 있다.
비교부(134)는 제3 버퍼(132)에 저장된 원본 텍스트(ORT) 및 제4 버퍼(133)에 저장된 비교 텍스트(CT)가 서로 일치하는지 여부를 판단하여 알람 신호(ALARM)를 생성하여 출력할 수 있다. 예를 들어, 비교부(134)는 원본 텍스트(ORT)와 비교 텍스트(CT)가 서로 일치하는 경우 디스에이블된 알람 신호(ALARM)를 생성하여 출력할 수 있고, 원본 텍스트(ORT)와 비교 텍스트(CT)가 서로 일치하지 않는 경우 인에이블된 알람 신호(ALARM)를 생성하여 출력할 수 있다. 일 실시예에 있어서, 인에이블된 알람 신호(ALARM)는 논리 하이 레벨이고 디스에이블된 알람 신호(ALARM)는 논리 로우 레벨일 수 있다.
스위치(136)는 제5 버퍼(135)에 연결된다. 스위치(136)는 비교부(134)로부터 수신되는 알람 신호(ALARM)의 논리 레벨에 응답하여 개폐되어 제5 버퍼(135)에 저장된 출력 텍스트(OT)를 선택적으로 출력할 수 있다. 예를 들어, 스위치(136)는 알람 신호(ALARM)가 디스에이블되는 경우 단락되어 제5 버퍼(135)에 저장된 출력 텍스트(OT)를 외부로 출력하고, 알람 신호(ALARM)가 인에이블되는 경우 개방되어 제5 버퍼(135)에 저장된 출력 텍스트(OT)를 외부로 출력하지 않을 수 있다.
따라서 검증부(130b)는 상기 제1 동작 모드에서 입력 텍스트(IT)를 수신하여 원본 텍스트(ORT)로서 저장하고 암복호화부(120)로부터 제1 결과 텍스트(RT1)를 수신하여 제1 결과 텍스트(RT1)를 출력 텍스트(OT)로서 저장하고 출력 텍스트(OT)를 내부 텍스트(INT)로서 제어부(110)에 제공할 수 있다. 또한, 검증부(130b)는 상기 제2 동작 모드에서 암복호화부(120)로부터 제2 결과 텍스트(RT2)를 수신하여 비교 텍스트(CT)로서 저장하고 비교 텍스트(CT)와 상기 제1 동작 모드에서 저장되었던 원본 텍스트(ORT)를 비교하여 알람 신호(ALARM)를 생성하여 출력하고 알람 신호(ALARM)의 논리 레벨에 응답하여 출력 텍스트(OT)를 선택적으로 출력할 수 있다.
상술한 바와 같이, 상기 제1 동작 모드에서 검증부(130b)가 암복호화부(120)로부터 수신하는 제1 결과 텍스트(RT1)는 입력 텍스트(IT)를 암호화한 텍스트이고, 상기 제2 동작 모드에서 검증부(130b)가 암복호화부(120)로부터 수신하는 제2 결과 텍스트(RT2)는 제1 결과 텍스트(RT1)를 복호화한 텍스트이거나, 상기 제1 동작 모드에서 검증부(130b)가 암복호화부(120)로부터 수신하는 제1 결과 텍스트(RT1)는 입력 텍스트(IT)를 복호화한 텍스트이고, 상기 제2 동작 모드에서 검증부(130b)가 암복호화부(120)로부터 수신하는 제2 결과 텍스트(RT2)는 제1 결과 텍스트(RT1)를 암호화한 텍스트일 수 있다. 따라서 검증부(130b)는 입력 텍스트(IT)를 나타내는 원본 텍스트(ORT)와 제2 결과 텍스트(RT2)를 나타내는 비교 텍스트(CT)가 서로 일치하는지 여부를 판단함으로써 제1 결과 텍스트(RT1)를 나타내는 출력 텍스트(OT)가 무결성을 갖는지 여부를 판단할 수 있고, 이를 기초로 알람 신호(ALARM)를 생성하여 출력할 수 있다. 또한, 검증부(130b)는 알람 신호(ALARM)의 논리 레벨에 응답하여 출력 텍스트(OT)를 선택적으로 출력함으로써, 출력 텍스트(OT)가 무결성을 갖는 경우에 한해 출력 텍스트(OT)를 외부로 출력할 수 있다.
도 7은 도 1의 암복호화 장치가 도 6의 검증부를 포함하는 경우의 암호화 동작을 나타내는 순서도이다.
이하, 도 1, 2, 6 및 7을 참조하여 암복호화 장치(100)가 도 6의 검증부(130b)를 포함하는 경우의 암호화 동작에 대해 상세히 설명한다.
제어부(110)는 외부로부터 입력 텍스트(IT) 및 커맨드 신호(CMD)를 수신하여 저장하고, 입력 텍스트(IT) 및 커맨드 신호(CMD)를 각각 제1 시작 텍스트(ST1) 및 제1 암복호화 제어 신호(CONED1)로서 암복호화부(120)에 제공한다(단계 S310). 입력 텍스트(IT)는 암호화 되지 않은 평서문(plain text)이고, 커맨드 신호(CMD)는 제1 논리 레벨을 가질 수 있다. 실시예에 따라서 상기 제1 논리 레벨은 논리 하이 레벨일 수 있다.
암복호화부(120)는 제어부(110)로부터 수신되는 제1 암복호화 제어 신호(CONED1)의 논리 레벨에 응답하여 제어부(110)로부터 수신되는 제1 시작 텍스트(ST1)를 암호화하여 제1 결과 텍스트(RT1)를 생성하고, 검증부(130b)는 암복호화부(120)로부터 수신되는 제1 결과 텍스트(RT1)를 출력 텍스트(OT)로서 생성한다(단계 S320). 검증부(130b)는 생성된 출력 텍스트(OT)를 저장하고 출력 텍스트(OT)를 내부 텍스트(INT)로서 제어부(110)에 피드백한다.
제어부(110)는 검증부(130b)로부터 피드백되는 내부 텍스트(INT)를 제2 시작 텍스트(ST2)로서 암복호화부(120)에 제공하고 제1 암복호화 제어 신호(CONED1)의 반전 신호인 제2 암복호화 제어 신호(CONED2)를 암복호화부(120)에 제공한다.
암복호화부(120)는 제어부(110)로부터 수신되는 제2 암복호화 제어 신호(CONED2)의 논리 레벨에 응답하여 제어부(110)로부터 수신되는 제2 시작 텍스트(ST2)를 복호화하여 제2 결과 텍스트(RT2)를 생성하고, 검증부(130b)는 암복호화부(120)로부터 수신되는 제2 결과 텍스트(RT2)를 비교 텍스트(CT)로서 저장한다(단계 S330).
검증부(130b)는 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하는지 여부를 판단한다(단계 S340). 상기 판단 결과 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하는 경우, 검증부(130b)는 디스에이블된 알람 신호(ALARM) 및 출력 텍스트(OT)를 출력하고(단계 S350), 상기 판단 결과 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하지 않는 경우, 검증부(130b)는 인에이블된 알람 신호(ALARM)를 출력하고 출력 텍스트(OT)는 출력하지 않는다(단계 S360).
도 8은 도 1의 암복호화 장치가 도 6의 검증부를 포함하는 경우의 복호화 동작을 나타내는 순서도이다.
이하, 도 1, 2, 6 및 8을 참조하여 암복호화 장치(100)가 도 6의 검증부(130b)를 포함하는 경우의 복호화 동작에 대해 상세히 설명한다.
제어부(110)는 외부로부터 입력 텍스트(IT) 및 커맨드 신호(CMD)를 수신하여 저장하고, 입력 텍스트(IT) 및 커맨드 신호(CMD)를 각각 제1 시작 텍스트(ST1) 및 제1 암복호화 제어 신호(CONED1)로서 암복호화부(120)에 제공한다(단계 S410). 입력 텍스트(IT)는 암호화된 암호문(cipher text)이고, 커맨드 신호(CMD)는 제2 논리 레벨을 가질 수 있다. 실시예에 따라서 상기 제2 논리 레벨은 논리 로우 레벨일 수 있다.
암복호화부(120)는 제어부(110)로부터 수신되는 제1 암복호화 제어 신호(CONED1)의 논리 레벨에 응답하여 제어부(110)로부터 수신되는 제1 시작 텍스트(ST1)를 복호화하여 제1 결과 텍스트(RT1)를 생성하고, 검증부(130b)는 암복호화부(120)로부터 수신되는 제1 결과 텍스트(RT1)를 출력 텍스트(OT)로서 생성한다(단계 S420). 검증부(130b)는 생성된 출력 텍스트(OT)를 저장하고 출력 텍스트(OT)를 내부 텍스트(INT)로서 제어부(110)에 피드백한다.
제어부(110)는 검증부(130b)로부터 피드백되는 내부 텍스트(INT)를 제2 시작 텍스트(ST2)로서 암복호화부(120)에 제공하고 제1 암복호화 제어 신호(CONED1)의 반전 신호인 제2 암복호화 제어 신호(CONED2)를 암복호화부(120)에 제공한다.
암복호화부(120)는 제어부(110)로부터 수신되는 제2 암복호화 제어 신호(CONED2)의 논리 레벨에 응답하여 제어부(110)로부터 수신되는 제2 시작 텍스트(ST2)를 암호화하여 제2 결과 텍스트(RT2)를 생성하고, 검증부(130b)는 암복호화부(120)로부터 수신되는 제2 결과 텍스트(RT2)를 비교 텍스트(CT)로서 저장한다(단계 S430).
검증부(130b)는 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하는지 여부를 판단한다(단계 S440). 상기 판단 결과 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하는 경우, 검증부(130b)는 디스에이블된 알람 신호(ALARM) 및 출력 텍스트(OT)를 출력하고(단계 S450), 상기 판단 결과 입력 텍스트(IT)와 비교 텍스트(CT)가 서로 일치하지 않는 경우, 검증부(130b)는 인에이블된 알람 신호(ALARM)를 출력하고 출력 텍스트(OT)는 출력하지 않는다(단계 S460).
상술한 바와 같이, 도 1의 암복호화 장치(100)가 도 6의 검증부(130b)를 포함하는 경우, 암복호화 장치(100)는 상기 제1 동작 모드에서 입력 텍스트(IT)가 암호화 또는 복호화된 출력 텍스트(OT)를 생성하여 저장하고, 상기 제2 동작 모드에서 출력 텍스트(OT)에 대해 무결성 여부를 검증하여 출력 텍스트(OT)가 무결성을 갖는지 여부를 나타내는 알람 신호(ALARM)를 생성하여 출력하고 출력 텍스트(OT)가 무결성을 갖는 경우에 한해 출력 텍스트(OT)를 출력한다. 따라서 본 발명의 일 실시예에 따른 암복호화 장치(100)는 암호화 또는 복호화된 데이터의 무결성을 검증하기 위한 별도의 소프트웨어 또는 외부로부터의 공격을 감지할 수 있는 별도의 장치 없이, 무결성 검증이 완료된 출력 텍스트(OT)만을 출력함으로써 암복호화 장치(100)의 신뢰성을 향상시킬 수 있다.
도 9는 본 발명의 일 실시예에 따른 시스템을 나타내는 블록도이다.
도 9를 참조하면, 시스템(200)은 프로세서(PROCESSOR)(210) 및 암복호화 장치(ED DEVICE)(220)를 포함한다.
암복호화 장치(220)는 커맨드 신호(CMD)에 기초하여 입력 텍스트(IT)를 암호화 또는 복호화하여 출력 텍스트(OT)를 출력하고 출력 텍스트(OT)의 무결성을 나타내는 알람 신호(ALARM)를 출력한다.
암복호화 장치(220)는 제어부, 암복호화부 및 검증부를 포함한다. 상기 제어부는 동작 모드에 따라 입력 텍스트(IT) 및 내부 텍스트 중의 하나 및 커맨드 신호(CMD)에 응답하여 시작 텍스트 및 암복호화 제어 신호를 생성한다. 상기 암복호화부는 상기 암복호화 제어 신호에 응답하여 상기 시작 텍스트를 암호화 또는 복호화하여 결과 텍스트를 생성한다. 상기 검증부는 상기 동작 모드에 따라 상기 결과 텍스트를 상기 내부 텍스트로서 상기 제어부에 제공하고 상기 결과 텍스트 및 입력 텍스트(IT)에 기초하여 출력 텍스트(OT) 및 알람 신호(ALARM)를 출력한다. 예를 들어, 상기 검증부는 출력 텍스트(OT)가 무결성을 갖는 경우 디스에이블된 알람 신호(ALARM)를 출력하고, 출력 텍스트(OT)가 무결성을 갖지 않는 경우 인에이블된 알람 신호(ALARM)를 출력할 수 있다. 암복호화 장치(220)는 도 1의 암복호화 장치(100)와 동일한 구성을 가질 수 있다. 따라서 암복호화 장치(220)에 대한 중복되는 설명은 생략하기로 한다.
프로세서(210)는 암복호화 장치(220)에 커맨드 신호(CMD) 및 입력 텍스트(IT)를 제공하여 암복호화 장치(220)의 동작을 제어한다. 예를 들어, 프로세서(210)는 암복호화 장치(220)에 제1 논리 레벨을 갖는 커맨드 신호(CMD) 및 평문인 입력 텍스트(IT)를 제공하여 암복호화 장치(220)가 입력 텍스트(IT)에 대해 암호화를 수행하여 출력 텍스트(OT) 및 출력 텍스트(OT)의 무결성을 나타내는 알람 신호(ALARM)를 출력하도록 하거나, 암복호화 장치(220)에 제2 논리 레벨을 갖는 커맨드 신호(CMD) 및 암호문인 입력 텍스트(IT)를 제공하여 암복호화 장치(220)가 입력 텍스트(IT)에 대해 복호화를 수행하여 출력 텍스트(OT) 및 출력 텍스트(OT)의 무결성을 나타내는 알람 신호(ALARM)를 출력하도록 할 수 있다.
프로세서(210)는 암복호화 장치(220)로부터 수신되는 알람 신호(ALARM)에 기초하여 암복호화 장치(220)의 동작을 중지시킬 수 있다. 예를 들어, 프로세서(210)는 암복호화 장치(220)로부터 인에이블된 알람 신호(ALARM)를 수신하는 경우 외부로부터 공격 등이 발생한 것으로 판단하여 암복호화 장치(220)의 동작을 중지시킬 수 있다.
프로세서(210)는 특정 계산들 또는 태스크(task)들을 실행하는 것과 같이 다양한 컴퓨팅 기능들을 수행할 수 있다. 실시예에 따라서, 프로세서(210)는 마이크로프로세서(microprocessor), 중앙 처리 장치(Central Processing Unit; CPU)일 수 있다. 프로세서(210)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus)를 통하여 암복호화 장치(220)에 연결되어 통신을 수행할 수 있다. 실시예에 따라서, 프로세서(210)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
한편, 프로세서(210)는 싱글 코어(single core) 또는 멀티 코어(multi core)의 형태로 구현될 수 있다. 예를 들어, ARM 코어 프로세서는 약 1GHz 미만의 시스템 클럭을 이용하여 동작하는 경우 싱글 코어의 형태로 구현될 수 있고, 약 1GHz 이상의 시스템 클럭을 이용하여 고속으로 동작하는 차세대 프로세서의 경우 멀티 코어의 형태로 구현될 수 있다. 또한, 상기와 같은 차세대 ARM 코어 프로세서는 AXI(Advanced eXtensible Interface) 버스를 통하여 주변 장치들과 통신을 수행할 수 있다.
시스템(200)은 송수신 장치(TXRX)(230), 입력 장치(INPUT DEVICE)(240), 메모리 장치(MEMORY DEVICE)(250) 및 표시 장치(DISPLAY DEVICE)(260)를 더 포함할 수 있다. 또한, 도 9에는 도시도지 않았지만, 시스템(200)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나 다른 전자 기기들과 통신할 수 있는 여러 포트(port)들을 더 포함할 수 있다.
송수신 장치(230)는 외부로부터 입력 텍스트(IT)를 수신하여 프로세서(210)에 제공하고, 프로세서(210)는 송수신 장치(230)로부터 제공되는 입력 텍스트(IT)를 암복호화 장치(220)에 제공할 수 있다. 한편, 프로세서(210)는 암복호화 장치(220)로부터 제공되는 출력 텍스트(OT)를 송수신 장치(230)에 제공하고, 송수신 장치(230)는 프로세서(210)로부터 제공되는 출력 텍스트(OT)를 외부로 전송할 수 있다.
입력 장치(240)는 사용자로부터 입력 텍스트(IT)를 수신할 수 있다. 입력 장치(240)로부터 수신되는 입력 텍스트(IT)는 프로세서(210)에 제공되고 프로세서(210)는 입력 장치(240)로부터 제공되는 입력 텍스트(IT)를 암복호화 장치(220)에 제공할 수 있다. 입력 장치(240)는 키보드, 키패드, 마우스 등을 포함할 수 있다.
메모리 장치(250)는 송수신 장치(230) 또는 입력 장치(240)로부터 수신되는 입력 텍스트(IT)에 대해 암호화 또는 복호화를 수행하여 생성된 출력 텍스트(OT)를 저장할 수 있다. 메모리 장치(250)는 솔리드 스테이트 드라이브(Solid State Drive; SSD), 하드 디스크 드라이브(Hard Disk Drive; HDD), 씨디롬(CD-ROM), 이피롬(Erasable Programmable Read-Only Memory; EPROM), 이이피롬(Electrically Erasable Programmable Read-Only Memory; EEPROM) 및 플래시 메모리 장치(flash memory device) 등과 같은 모든 형태의 비휘발성 메모리 장치 및 동적 랜덤 액세스 메모리(Dynamic Random Access Memory; DRAM), 정적 랜덤 액세스 메모리(Static Random Access Memory; SRAM) 등과 같은 모든 형태의 휘발성 메모리 장치를 포함할 수 있다.
표시 장치(260)는 입력 텍스트(IT)에 대해 암호화 또는 복호화를 수행하여 생성된 출력 텍스트(OT)를 디스플레이 할 수 있다. 또한, 프로세서(210)가 암복호화 장치(220)로부터 인에이블된 알람 신호(ALARM)를 수신하는 경우 프로세서(210)는 표시 장치(260)를 통하여 외부로부터 공격 등이 발생하였음을 알리는 경고 메시지를 디스플레이 할 수 있다.
본 발명의 일 실시예에 따른 시스템(200)은 데이터를 송수신하거나 데이터를 저장할 수 있는 휴대폰, 스마트폰, PDA(personal digital assistant), 컴퓨터, 노트북 등을 포함하는 임의의 전자 장치인 것으로 해석되어야 할 것이다.
본 발명은 데이터를 송수신하거나 데이터를 저장할 수 있는 임의의 전자 장치에 유용하게 이용될 수 있다. 특히 본 발명은 송수신되거나 저장되는 데이터의 보안을 위해 데이터의 암복호화 기능이 필요한 휴대폰, 스마트폰, PDA(personal digital assistant), 컴퓨터, 노트북 등에 유용하게 이용될 수 있다.
상술한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만 해당 기술 분야에서 통상의 지식을 가진 자라면 하기의 특허청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (10)

  1. 동작 모드에 따라 입력 텍스트 및 내부 텍스트 중의 하나 및 커맨드 신호에 응답하여 시작 텍스트 및 암복호화 제어 신호를 생성하는 제어부;
    상기 암복호화 제어 신호에 응답하여 상기 시작 텍스트를 암호화 또는 복호화하여 결과 텍스트를 생성하는 암복호화부; 및
    상기 동작 모드에 따라 상기 결과 텍스트를 상기 내부 텍스트로서 상기 제어부에 제공하고 상기 결과 텍스트 및 상기 입력 텍스트에 기초하여 상기 입력 텍스트가 암호화 또는 복호화된 출력 텍스트 및 상기 출력 텍스트의 무결성을 나타내는 알람 신호를 출력하는 검증부를 포함하는 암복호화 장치.
  2. 제1 항에 있어서, 제1 동작 모드에서 상기 출력 텍스트를 생성하고, 제2 동작 모드에서 상기 출력 텍스트의 무결성을 검증하여 상기 알람 신호를 생성하는 것을 특징으로 하는 암복호화 장치.
  3. 제2 항에 있어서, 상기 제어부는 상기 제1 동작 모드에서 상기 입력 텍스트 및 상기 커맨드 신호에 응답하여 제1 시작 텍스트 및 제1 암복호화 제어 신호를 생성하고, 상기 제2 동작 모드에서 상기 내부 텍스트 및 상기 커맨드 신호에 응답하여 제2 시작 텍스트 및 제2 암복호화 제어 신호를 생성하는 것을 특징으로 하는 암복호화 장치.
  4. 제3 항에 있어서, 상기 제2 암복호화 제어 신호는 상기 제1 암복호화 제어 신호가 반전된 신호인 것을 특징으로 하는 암복호화 장치.
  5. 제2 항에 있어서, 상기 암복호화부는 상기 제1 동작 모드에서 상기 암복호화 제어 신호의 논리 레벨에 응답하여 상기 시작 텍스트를 암호화 또는 복호화하여 제1 결과 텍스트를 생성하고, 상기 제2 동작 모드에서 상기 암복호화 제어 신호의 논리 레벨에 응답하여 상기 시작 텍스트를 암호화 또는 복호화하여 제2 결과 텍스트를 생성하는 것을 특징으로 하는 암복호화 장치.
  6. 제2 항에 있어서, 상기 검증부는 상기 제1 동작 모드에서 상기 출력 텍스트를 생성하여 출력하고, 제2 동작 모드에서 상기 알람 신호를 생성하여 출력하는 것을 특징으로 하는 암복호화 장치.
  7. 제2 항에 있어서, 상기 검증부는,
    상기 제1 동작 모드에서 상기 입력 텍스트를 수신하여 상기 원본 텍스트로서 제공하고 상기 암복호화부로부터 상기 결과 텍스트를 수신하여 상기 출력 텍스트로서 출력하고 상기 출력 텍스트를 상기 내부 텍스트로서 상기 제어부에 제공하고, 상기 제2 동작 모드에서 상기 암복호화부로부터 상기 결과 텍스트를 수신하여 상기 비교 텍스트로서 제공하는 제어 회로;
    상기 제어 회로로부터 수신되는 상기 원본 텍스트를 저장하는 제1 버퍼;
    상기 제어 회로로부터 수신되는 상기 비교 텍스트를 저장하는 제2 버퍼; 및
    상기 제1 버퍼에 저장된 상기 원본 텍스트 및 상기 제2 버퍼에 저장된 상기 비교 텍스트가 서로 일치하는지 여부를 판단하여 상기 알람 신호를 생성하여 출력하는 비교부를 포함하는 것을 특징으로 하는 암복호화 장치.
  8. 제2 항에 있어서, 상기 검증부는 상기 제1 동작 모드에서 상기 출력 텍스트를 생성하여 저장하고, 제2 동작 모드에서 상기 알람 신호를 생성하여 출력하고 상기 알람 신호에 응답하여 상기 출력 텍스트를 선택적으로 출력하는 것을 특징으로 하는 암복호화 장치.
  9. 제2 항에 있어서, 상기 검증부는,
    상기 제1 동작 모드에서 상기 입력 텍스트를 수신하여 상기 원본 텍스트로서 제공하고 상기 암복호화부로부터 상기 결과 텍스트를 수신하여 상기 출력 텍스트로서 제공하고 상기 출력 텍스트를 상기 내부 텍스트로서 상기 제어부에 제공하고, 상기 제2 동작 모드에서 상기 암복호화부로부터 상기 결과 텍스트를 수신하여 상기 비교 텍스트로서 제공하는 제어 회로;
    상기 제어 회로로부터 수신되는 상기 원본 텍스트를 저장하는 제1 버퍼;
    상기 제어 회로로부터 수신되는 상기 비교 텍스트를 저장하는 제2 버퍼;
    상기 제어 회로로부터 수신되는 상기 출력 텍스트를 저장하는 제3 버퍼;
    상기 제1 버퍼에 저장된 상기 원본 텍스트 및 상기 제2 버퍼에 저장된 상기 비교 텍스트가 서로 일치하는지 여부를 판단하여 상기 알람 신호를 생성하여 출력하는 비교부; 및
    상기 알람 신호의 논리 레벨에 응답하여 개폐되어 상기 제3 버퍼에 저장된 상기 출력 텍스트를 선택적으로 출력하는 스위치를 포함하는 것을 특징으로 하는 암복호화 장치.
  10. 커맨드 신호에 기초하여 입력 텍스트를 암호화 또는 복호화하여 출력 텍스트를 출력하고 상기 출력 텍스트의 무결성을 나타내는 알람 신호를 출력하는 암복호화 장치; 및
    상기 암복호화 장치에 상기 커맨드 신호 및 상기 입력 텍스트를 제공하여 상기 암복호화 장치의 동작을 제어하는 프로세서를 포함하고,
    상기 암복호화 장치는,
    동작 모드에 따라 상기 입력 텍스트 및 내부 텍스트 중의 하나 및 상기 커맨드 신호에 응답하여 시작 텍스트 및 암복호화 제어 신호를 생성하는 제어부;
    상기 암복호화 제어 신호에 응답하여 상기 시작 텍스트를 암호화 또는 복호화하여 결과 텍스트를 생성하는 암복호화부; 및
    상기 동작 모드에 따라 상기 결과 텍스트를 상기 내부 텍스트로서 상기 제어부에 제공하고 상기 결과 텍스트 및 상기 입력 텍스트에 기초하여 상기 출력 텍스트 및 상기 알람 신호를 출력하는 검증부를 포함하는 것을 특징으로 하는 시스템.
KR1020110016258A 2011-02-24 2011-02-24 암복호화 장치 및 이를 포함하는 시스템 KR20120096969A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110016258A KR20120096969A (ko) 2011-02-24 2011-02-24 암복호화 장치 및 이를 포함하는 시스템
US13/403,281 US20120219148A1 (en) 2011-02-24 2012-02-23 Encryption/decryption methods, and devices and systems using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110016258A KR20120096969A (ko) 2011-02-24 2011-02-24 암복호화 장치 및 이를 포함하는 시스템

Publications (1)

Publication Number Publication Date
KR20120096969A true KR20120096969A (ko) 2012-09-03

Family

ID=46719007

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110016258A KR20120096969A (ko) 2011-02-24 2011-02-24 암복호화 장치 및 이를 포함하는 시스템

Country Status (2)

Country Link
US (1) US20120219148A1 (ko)
KR (1) KR20120096969A (ko)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4053424B2 (ja) * 2001-01-17 2008-02-27 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ロバスト・チェックサム
US6983414B1 (en) * 2001-03-30 2006-01-03 Cisco Technology, Inc. Error insertion circuit for SONET forward error correction
JP4576997B2 (ja) * 2004-04-28 2010-11-10 株式会社デンソー 通信システム、鍵配信装置、暗号処理装置
JP4447977B2 (ja) * 2004-06-30 2010-04-07 富士通マイクロエレクトロニクス株式会社 セキュアプロセッサ、およびセキュアプロセッサ用プログラム。
US20070093234A1 (en) * 2004-08-20 2007-04-26 Willis John A Identify theft protection and notification system
KR100720525B1 (ko) * 2005-12-28 2007-05-22 동부일렉트로닉스 주식회사 Aes코어를 포함하는 집적회로 및 aes코어 검증용래퍼
US7796757B2 (en) * 2006-03-09 2010-09-14 At&T Intellectual Property I, L.P. Methods and systems to operate a set-top box
US8347112B2 (en) * 2008-05-08 2013-01-01 Texas Instruments Incorporated Encryption/decryption engine with secure modes for key decryption and key derivation
JP5228803B2 (ja) * 2008-10-30 2013-07-03 富士通セミコンダクター株式会社 共通鍵ブロック暗号におけるスワップ回路及び、それを有する暗号化・復号化回路
CN101770559A (zh) * 2008-12-30 2010-07-07 鸿富锦精密工业(深圳)有限公司 数据保护装置和方法
CN101853362B (zh) * 2009-04-02 2012-09-19 鸿富锦精密工业(深圳)有限公司 加/解密系统及方法

Also Published As

Publication number Publication date
US20120219148A1 (en) 2012-08-30

Similar Documents

Publication Publication Date Title
EP3274850B1 (en) Protecting a memory
US20210192090A1 (en) Secure data storage device with security function implemented in a data security bridge
KR102113937B1 (ko) 메모리 무결성
US8054972B2 (en) Encryption processor of memory card and method for writing and reading data using the same
KR102013841B1 (ko) 데이터의 안전한 저장을 위한 키 관리 방법 및 그 장치
US20170324713A1 (en) Techniques for load balancing in a packet distribution system
KR100792287B1 (ko) 자체 생성한 암호화키를 이용한 보안방법 및 이를 적용한보안장치
US20190042474A1 (en) Enhanced storage encryption with total memory encryption (tme) and multi-key total memory encryption (mktme)
KR102401088B1 (ko) 보안 장치, 이를 포함하는 전자 장치 및 전자 장치의 동작 방법
US20160203086A1 (en) Data protection method, memory control circuit unit and memory storage device
US10715501B2 (en) Providing secure data transmission over a universal serial bus (USB) interface
US8924740B2 (en) Encryption key transmission with power analysis attack resistance
WO2009042482A2 (en) Systems and methods for hardware key encryption
US7895327B2 (en) Device, system, and method of obfuscating data processed within an integrated circuit
JP2017195595A (ja) 暗号化/復号装置及びその電力解析保護方法
KR20070007596A (ko) 컴퓨터
US20160154745A1 (en) Memory device and host device
US20210006391A1 (en) Data processing method, circuit, terminal device and storage medium
KR20120096969A (ko) 암복호화 장치 및 이를 포함하는 시스템
US11374930B2 (en) Techniques for extending communications chain of trust to client applications
US20140164787A1 (en) Control method and information processing apparatus
CN111914310A (zh) 提供高安全性的存储装置和包括该存储装置的电子装置
US10019584B2 (en) Performance of image forming functions based on encrypted data stored in volatile memory
US20230177154A1 (en) Sparse Encodings for Control Signals
JP6069120B2 (ja) 情報処理システム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid