KR20070029864A - 일 대 일로 데이터를 안전하게 송수신하는 방법 및 장치 - Google Patents

일 대 일로 데이터를 안전하게 송수신하는 방법 및 장치 Download PDF

Info

Publication number
KR20070029864A
KR20070029864A KR1020050084305A KR20050084305A KR20070029864A KR 20070029864 A KR20070029864 A KR 20070029864A KR 1020050084305 A KR1020050084305 A KR 1020050084305A KR 20050084305 A KR20050084305 A KR 20050084305A KR 20070029864 A KR20070029864 A KR 20070029864A
Authority
KR
South Korea
Prior art keywords
session
session key
key
data
encrypted
Prior art date
Application number
KR1020050084305A
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 KR1020050084305A priority Critical patent/KR20070029864A/ko
Priority to US11/512,248 priority patent/US20070058815A1/en
Priority to EP06120231A priority patent/EP1775879A3/en
Priority to JP2006244604A priority patent/JP2007082216A/ja
Priority to CNA2006101516499A priority patent/CN1929369A/zh
Publication of KR20070029864A publication Critical patent/KR20070029864A/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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 임베디드 디바이스들간에 데이터를 안전하게 송수신하는 방법 및 장치에 관한 것으로, 본 발명에 따라 소정 디바이스로 데이터를 안전하게 전송하는 방법은 소정 디바이스와의 세션에서 사용될 세션 키를 요청하고, 이 요청에 대한 응답에 포함된 암호화된 세션 키를 복호화함으로서 세션 키를 복원하고, 이 세션 키를 사용하여 데이터를 암호화하여 전송함으로서 임베디드 디바이스들간의 일 대 일 보안 통신이 가능하게 된다.

Description

일 대 일로 데이터를 안전하게 송수신하는 방법 및 장치{Method and apparatus for securely transmitting and receiving data in peer to peer}
도 1은 종래의 데이터 보안 방식의 흐름도이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 안전한 데이터 송수신 방법의 흐름도이다.
도 3은 본 발명의 바람직한 일 실시예에 따른 제 1 디바이스의 구성도이다.
도 4는 본 발명의 일 실시예에 따른 비대칭키 쌍 데이터 블록의 구조도이다.
도 5는 본 발명의 바람직한 일 실시예에 따른 세션 키 요청 토큰의 구조도이다.
도 6은 본 발명의 바람직한 일 실시예에 따라 제 1 디바이스에 의해 사용되는 세션 키 데이터블록의 구조도이다.
도 7은 본 발명의 바람직한 일 실시예에 따른 소스 데이터 암호문의 구조도이다.
도 8은 본 발명의 바람직한 일 실시예에 따른 제 2 디바이스의 구성도이다.
도 9는 본 발명의 바람직한 일 실시예에 따라 제 2 디바이스에 의해 사용되는 세션 키 데이터블록의 구조도이다.
도 10은 본 발명의 바람직한 일 실시예에 따른 세션 키 응답 토큰의 구조도 이다.
도 11은 본 발명의 바람직한 일 실시예에 따른 소스 데이터 암호문의 구조도이다.
도 12는 본 발명의 바람직한 일 실시예에 따른 안전한 데이터 전송 방법의 흐름도이다.
도 13a-13b는 본 발명의 바람직한 일 실시예에 따른 안전한 데이터 전송 방법의 흐름도이다.
본 발명은 임베디드 디바이스들간에 데이터를 안전하게 송수신하는 방법 및 장치에 관한 것이다.
도 1은 종래의 데이터 보안 방식의 흐름도이다.
도 1을 참조하면, 종래의 데이터 보안 방식은 다음과 같은 단계들로 구성된다.
101 단계에서 제 1 인증 기관(3)은 클라이언트(1)에 대해 외부에 노출되지 않는 경로를 통하여 인증서를 발급, 갱신, 또는 폐기한다. 102 단계에서 클라이언트(1)는 제 1 인증 기관(3)으로부터 101 단계에서 발급 또는 갱신된 인증서를 다운로드받는다. 103 단계에서 클라이언트(1)는 102 단계에서 다운로드받은 인증서에 포함된 공개 키를 사용하여 소스 데이터를 암호화한다. 104 단계에서 클라이언트 (1)는 103 단계에서 암호화된 소스 데이터를 포함하는 소스 데이터 암호문을 서버(2)로 전송하고, 서버(2)는 이것을 수신한다.
105 단계에서 서버(2)는 104 단계에서 수신된 소스 데이터 암호문에 포함된 암호화된 소스 데이터를 복호화할 수 있는 비밀 키를 포함하는 인증서가 구비하고 있는지를 알아보기 위하여 데이터베이스를 조회한다. 106 단계에서 서버(2)는 데이터베이스에 상기된 인증서가 존재하지 않은 경우, 제 2 인증 기관(4)으로 인증 서비스를 요청하고, 이후 제 1 인증 기관(3)으로부터 발급받은 인증서를 제 1 인증 기관(3)으로 전송하는 인증 서비스를 외부에 노출되지 않는 경로를 통하여 제공한다.
107 단계에서 제 2 인증 기관(4)은 106 단계에서의 인증 서비스 요청에 대응하여 제 1 인증 기관(3)으로 인증서 발급을 요청하고, 이에 제 1 인증 기관(3)은 제 2 인증 기관(4)에 대해 외부에 노출되지 않는 경로를 통하여 인증서를 발급한다.
108 단계에서 서버(2)는 인증서에 포함된 비밀 키를 사용하여 소스 데이터 암호문에 포함된 암호화된 소스 데이터를 복호화함으로서 소스 데이터를 복원한다. 109 단계에서 서버(2)는 108 단계에서 복원된 소스 데이터를 처리한다. 110 단계에서 서버(2)는 109 단계에서 처리된 결과인 결과 데이터를 인증서에 포함된 공개 키를 사용하여 암호화한다. 111 단계에서 서버(2)는 110 단계에서 암호화된 결과 데이터를 포함하는 결과 데이터 암호문을 클라이언트(1)로 전송하고, 클라이언트(1)는 이것을 수신한다.
112 단계에서 클라이언트(1)는 인증서에 포함된 비밀 키를 사용하여 111 단계에서 수신된 결과 데이터 암호문에 포함된 암호화된 결과 데이터를 복호화함으로서 결과 데이터를 복원한다.
상기된 바와 같이, 종래에는 데이터 보안 효과를 높이기 위하여 공개 키 및 비밀 키로 구성된 비대칭키 쌍을 이용하여 데이터를 암호화 또는 복호화한다. 그런데, 비대칭키 쌍 암호화 알고리즘은 매우 복잡하여 고성능의 시스템을 요구한다. 이에 따라 종래의 데이터 보안 방식은 저성능의 임베디드 디바이스(embedded device)에는 적용하기 어렵다는 문제점이 있었다.
최근, 이와 같은 문제점을 해결하기 위하여 비대칭키 알고리즘을 기반으로 대칭키를 공유하고, 이 대칭키를 사용하여 데이터를 암호화 또는 복호화하는 방식이 등장하였다. 그러나, 이 방식도 상기된 101-112 과정에서 데이터 대신 대칭키를 암호화 또는 복호화할 뿐이기 때문에 반드시 비대칭키 쌍을 안전하게 분배할 수 있는 인증 기관이 필요하다. 인증 기관과 연결될 수 없는 환경에 있는 임베디드 디바이스들, 즉 일 대 일로 통신하는 임베디드 디바이스들에는 상기된 종래 방식 모두가 적용되기 어렵다는 문제점이 있었다.
본 발명이 이루고자 하는 기술적 과제는 일 대 일로 통신하는 임베디드 디바이스들 간에 안전하게 데이터를 송수신할 수 있는 방법 및 방법을 제공하는데 있다. 또한, 상기된 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따라 소정 디바이스로 데이터를 안전하게 전송하는 방법은 상기 소정 디바이스와의 세션에서 사용될 세션 키를 요청하는 단계; 상기 요청에 대한 응답에 포함된 암호화된 세션 키를 복호화함으로서 상기 세션 키를 복원하는 단계; 상기 복원된 세션 키를 사용하여 상기 데이터를 암호화하는 단계; 및 상기 암호화된 데이터를 전송하는 단계를 포함한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 따라 소정 디바이스로 데이터를 안전하게 전송하는 장치는 상기 소정 디바이스와의 세션에서 사용될 세션 키를 요청하는 요청 토큰을 전송하는 송신부; 상기 송신부로부터 전송된 요청 토큰에 대한 응답 토큰에 포함된 암호화된 세션 키를 복호화함으로서 상기 세션 키를 복원하는 제 1 복호화부; 및 상기 제 1 복호화부에 의해 복원된 세션 키를 사용하여 상기 데이터를 암호화하는 암호화부를 포함하고, 상기 송신부는 상기 암호화부에 의해 암호화된 데이터를 전송한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 데이터를 안전하게 전송하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따라 소정 디바이스로부터 데이터를 안전하게 수신하는 방법은 상기 소정 디바이스와의 세션에서 사용될 세션 키에 대한 요청을 수신하는 단계; 상기 수신된 요청에 대응하여 상기 세션에서 사용될 세션 키를 암호화된 형태로 전송하는 단계; 및 상기 전송된 암호화된 세 션 키로부터 복원된 세션 키를 사용하여 암호화된 데이터를 수신하는 단계를 포함한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 따라 소정 디바이스로부터 데이터를 안전하게 수신하는 장치는 상기 소정 디바이스와의 세션에서 사용될 세션 키를 요청하는 요청 토큰을 수신하는 수신부; 및 상기 수신부에 수신된 요청 토큰에 대응하여 상기 세션에서 사용될 세션 키를 암호화된 형태로 포함하는 응답 토큰을 전송하는 송신부를 포함하고, 상기 수신부는 상기 송신부로부터 전송된 응답 토큰에 포함된 암호화된 세션 키로부터 복원된 세션 키를 사용하여 암호화된 데이터를 포함하는 암호문을 수신한다.
상기 또 다른 기술적 과제를 해결하기 위하여, 본 발명은 상기된 데이터를 안전하게 수신하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
이하에서는 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 안전한 데이터 송수신 방법의 흐름도이다.
도 2를 참조하면, 본 실시예에 따른 안전한 데이터 송수신 방법은 다음과 같은 단계들로 구성된다.
201 단계에서 제 1 디바이스(5)는 비대칭키 쌍을 생성한다. 다만, 본 실시예에 적합한 비대칭키 쌍이 이미 존재하는 경우에는 그것을 이용할 수도 있다.
202 단계에서 제 1 디바이스(5)는 제 2 디바이스(6)로 제 2 디바이스(6)와의 세션에서 사용될 세션 키를 요청하는 세션 키 요청 토큰을 전송하고, 제 2 디바이스(6)는 이것을 수신한다. 본 실시예에서 세션 키는 대칭키이다. 이 세션 키 요청 토큰은 201 단계에서 생성된 비대칭키 쌍 중 공개 키를 포함한다.
203 단계에서 제 2 디바이스(6)는 202 단계에서 수신된 세션 키 요청 토큰에 대응하여 세션 키를 생성한다. 다만, 본 실시예에 적합한 세션 키가 이미 존재하는 경우에는 그것을 이용할 수도 있다.
204 단계에서 제 2 디바이스(6)는 202 단계에서 수신된 세션 키 요청 토큰에 포함된 공개 키를 사용하여 203 단계에서 생성된 세션 키를 암호화한다.
205 단계에서 제 2 디바이스(6)는 제 1 디바이스(5)로 202 단계에서 수신된 세션 키 요청 토큰에 대한 응답에 해당하는 세션 키 응답 토큰을 전송하고, 제 1 디바이스(5)는 이것을 수신한다. 이 세션 키 응답 토큰은 204 단계에서 암호화된 세션 키를 포함한다.
206 단계에서 제 1 디바이스(5)는 201 단계에서 생성된 비대칭키 쌍 중 공개 키에 대응하는 비밀 키를 사용하여 205 단계에서 수신된 세션 키 응답 토큰에 포함된 암호화된 세션 키를 복호화함으로서 제 2 디바이스(6)와의 세션에서 사용될 세션 키를 복원한다.
상기된 201-206 단계는 비대칭키 알고리즘을 기반으로 제 1 디바이스(5)와 제 2 디바이스(6)가 대칭키인 세션 키를 공유하게 되는 과정에 해당한다. 특히, 본 실시예에 따르면, 제 1 디바이스(5)는 제 2 디바이스(6)로 외부에 노출되어도 무방 한 공개 키만을 전송하는 것만으로 안전하게 세션 키를 공유할 수 있다. 바꾸어 말하면, 제 2 디바이스(6)는 비대칭키 쌍 중 비밀 키를 획득할 필요 없이 제 1 디바이스(5)와 제 2 디바이스(6)가 안전하게 세션 키를 공유할 수 있다. 그 결과, 중앙 집중형 보안 서버를 구비하고 있는 인증 기관으로부터 외부에 노출되지 않는 경로를 통하여 비밀 키를 획득할 필요가 없게 되어 임베디드 디바이스들간의 일 대 일 보안 통신이 가능하게 된다.
207 단계에서 제 1 디바이스(5)는 206 단계에서 복원된 세션 키를 사용하여 제 1 디바이스(5)가 제 2 디바이스(2)로 전송하고자 하는 소스 데이터를 암호화한다.
208 단계에서 제 1 디바이스(5)는 207 단계에서 암호화된 소스 데이터를 포함하는 소스 데이터 암호문을 제 2 디바이스(6)로 전송하고, 제 2 디바이스(6)는 이것을 수신한다.
209 단계에서 제 2 디바이스(6)는 208 단계에서 수신된 소스 데이터 암호문에 포함된 암호화된 소스 데이터를 203 단계에서 생성된 세션 키를 사용하여 복호화함으로서 소스 데이터를 복원한다.
210 단계에서 제 2 디바이스(6)는 209 단계에서 복원된 소스 데이터를 처리한다.
211 단계에서 제 2 디바이스(6)는 210 단계에서 처리된 결과인 결과 데이터를 209 단계에서의 복호화에 사용된 세션 키를 사용하여 암호화한다.
212 단계에서 제 2 디바이스(6)는 211 단계에서 암호화된 결과 데이터를 포 함하는 결과 데이터 암호문을 제 1 디바이스(5)로 전송하고, 제 1 디바이스(1)는 이것을 수신한다.
213 단계에서 제 1 디바이스(5)는 206 단계에서 복원된 세션 키를 사용하여 212 단계에서 수신된 결과 데이터 암호문에 포함된 암호화된 결과 데이터를 복호화함으로서 결과 데이터를 복원한다.
상기된 207-213 단계는 대칭키 알고리즘을 기반으로 제 1 디바이스(5)와 제 2 디바이스(6)가 데이터를 안전하게 송수신하게 되는 과정에 해당한다. 여기에서는 한 번의 데이터 송수신 과정만을 기술하였으나, 201-206 단계에서 세션 키를 공유한 후에는 이 세션 키를 이용하여 여러 번의 데이터 송수신을 수행할 수 있다.
특히, 본 실시예에 따르면, 제 1 디바이스(5)와 제 2 디바이스(6)는 세션 키를 공유하는 초기 과정에서만 비대칭키 알고리즘을 사용하고, 데이터를 송수신하는 과정에서는 대칭키 알고리즘을 사용하기 때문에 데이터 보안에 따른 시스템의 부담을 최소화할 수 있다. 대칭키 알고리즘이 비대칭키 알고리즘보다 훨씬 간단하여 대칭키 알고리즘의 처리가 비대칭키 알고리즘의 처리보다 시스템에 부담을 덜 주기 때문이다.
상기된 바와 같이, 201-213 전체 과정은 제 3의 인증 기관의 필요 없이 두 임베디드 디바이스들간에 수행되기 때문에 본 실시예는 소프트웨어 라이브러리(library) 형태로 제 3의 인증 기관 등과 같은 외부 제한 없이 자유롭게 임베디드 디바이스들에 탑재될 수 있다.
도 3은 본 발명의 바람직한 일 실시예에 따른 제 1 디바이스(5)의 구성도이 다.
도 3을 참조하면, 본 실시예에 따른 제 1 디바이스(5)는 비대칭키 쌍 생성부(51), 데이터베이스(52), 세션 키 요청 토큰 생성부(53), 제 1 복호화부(54), 암호화부(55), 암호문 생성부(56), 제 2 복호화부(57), 송신부(58), 및 수신부(59)로 구성된다.
비대칭키 쌍 생성부(51)는 공개 키 및 비밀 키로 구성된 비대칭키 쌍을 생성한다. 비대칭키 쌍 생성부(51)에 의해 생성된 비대칭키 쌍과 이 비대칭키 쌍에 대한 정보는 비대칭키 쌍 데이터 베이스(52)에 저장되며, 비대칭키 쌍의 생성 시점으로부터 일정 기간 동안만 사용된다. 일반적으로, 이 일정 기간을 비대칭키 쌍의 유효 기간이라고 한다. 이것은 비대칭키 쌍의 사용 기간을 통제함으로서 비대칭키 쌍이 외부에 노출될 수 있는 기회를 줄이기 위한 것이다.
보다 상세하게 설명하면, 비대칭키 쌍 생성부(51)는 데이터베이스(52)에 저장된 비대칭키 쌍들을 조회하고, 이것들의 유효성을 검증한다. 또한, 비대칭키 쌍 생성부(51)는 검증 결과, 유효한 비대칭키 쌍이 존재하는 경우, 즉 유효 기간이 만료되지 않은 비대칭키 쌍이 존재하는 경우에는 데이터베이스(52)로부터 이것을 추출한다. 또한, 비대칭키 쌍 생성부(51)는 검증 결과, 유효 기간이 만료되지 않은 비대칭키 쌍이 존재하지 않는 경우에는 새로운 비대칭키 쌍을 생성한다.
데이터베이스(52)에는 비대칭키 쌍들과 비대칭키 쌍들 각각에 대한 정보가 저장된다. 특히, 데이터베이스(52)에는 하나의 비대칭키 쌍과 이것에 대한 정보로 구성된 비대칭키 쌍 데이터블록의 단위로 저장된다. 비대칭키 쌍들에 대한 정보의 대표적인 예로는 비대칭키 쌍의 유효 기간을 들 수 있으며, 비대칭키 쌍의 유효 기간은 시작 시점과 만료 시점으로 나타낼 수 있다.
도 4는 본 발명의 일 실시예에 따른 비대칭키 쌍 데이터 블록의 구조도이다.
도 4를 참조하면, 본 실시예에 따른 비대칭키 쌍 데이터 블록은 체크섬 필드(401), 공개 키 필드(402), 비밀 키 필드(403), 타임스탬프 필드(404), 유효 기간 필드(405), 및 알고리즘 비트 필드(406)로 구성된다. 특히, 본 실시예에 따른 비대칭키 쌍 데이터 블록의 구조는 C 언어를 이용하여 도 4에 도시된 바와 같이 정의될 수 있다.
체크섬 필드(401)에는 비대칭키 쌍에 대한 체크섬 값이 기록된다. 이것은 제 1 디바이스(5)가 비대칭키 쌍을 제 2 디바이스(6)에 전송하기 전에 비대칭키 쌍의 변형 여부를 판별하기 위하여 사용된다. 공개 키 필드(402)에는 비대칭키 쌍 중 공개 키 값이 기록된다. 비밀 키 필드(403)에는 비대칭키 쌍 중 비밀 키 값이 기록된다. 타임스탬프 필드(404)에는 비대칭키 쌍의 유효 기간의 시작 시점이 기록된다. 유효 기간 필드(405)에는 비대칭키 쌍의 유효 기간의 만료 시점이 기록된다. 알고리즘 비트 필드(406)에는 비대칭키 암호화 알고리즘에서 처리되는 데이터 블록의 비트 길이가 기록된다. 일반적으로, 암호화 알고리즘에서 처리되는 데이터 블록의 비트 길이는 암호화 알고리즘마다 다르기 때문에 암호화 알고리즘을 식별하기 위한 값으로 사용된다.
세션 키 요청 토큰 생성부(53)는 제 2 디바이스(6)와의 세션에서 사용될 세션 키를 요청하는 세션 키 요청 토큰을 생성한다. 보다 상세하게 설명하면, 세션 키 요청 토큰 생성부(53)는 암호화부(55)의 지시에 따라 비대칭키 쌍 생성부(51)에 의해 추출 또는 생성된 비대칭키 쌍 중 공개 키를 포함하는 세션 키 요청 토큰을 생성한다. 이 공개 키는 제 2 디바이스(6)가 세션 키를 암호화하는데 사용된다.
도 5는 본 발명의 바람직한 일 실시예에 따른 세션 키 요청 토큰의 구조도이다.
도 5를 참조하면, 본 실시예에 따른 세션 키 요청 토큰은 커맨드 필드(501), 키 교환 타입 필드(502), 알고리즘 비트 필드(503), 세션 아이디 필드(504), 및 토큰 메시지 필드(505)로 구성된다. 특히, 세션 키 요청 토큰의 구조는 C 언어를 이용하여 도 5에 도시된 바와 같이 정의될 수 있다.
커맨드 필드(501)에는 제 2 디바이스(6)와의 세션을 통하여 제 2 디바이스(6)로 전송되는 토큰의 커맨드를 나타내는 값, 즉 제 2 디바이스(6)로의 요청을 위한 토큰인지, 아니면 제 2 디바이스(6)로부터 수신된 요청에 대한 응답을 위한 토큰인지를 나타내는 값이 기록된다. 세션 키 요청 토큰은 제 2 디바이스(6)로의 요청을 위한 토큰이므로, 커맨드 필드(501)에는 제 2 디바이스(6)로의 요청을 위한 토큰임을 나타내는 값이 기록된다.
키 교환 타입 필드(502)에는 어떤 비대칭키 암호화 알고리즘에 따라 공개 키를 교환하는지를 나타내는 값, 즉 PKI(Public Key Infrastructure) 알고리즘에 따라 공개 키를 교환하는지, 아니면 DH(Diffie Hellman) 알고리즘에 따라 공개 키를 교환하는지를 나타내는 값이 기록된다. 특히, 키 교환 타입 필드(502)의 구조는 C 언어를 이용하여 도 5에 도시된 바와 같이 정의될 수 있으며, 상기된 값이 기록된 key_ex_type 필드 및 PKI 알고리즘 또는 DH 알고리즘의 구체적인 처리 과정에 대한 정보가 기록된 PKI_DH_CTX 필드로 구성된다. 또한, PKI_DH_CTX 필드는 C 언어를 사용하여 도 5에 도시된 바와 같이 정의될 수 있으며, PKI 알고리즘의 구체적인 처리 과정에 대한 정보가 기록된 PKI_CTX 필드 및 DH 알고리즘이 구체적인 처리 과정에 대한 정보가 기록된 DH_CTX 필드로 구성된다.
알고리즘 비트 필드(503)에는 비대칭키 암호화 알고리즘에서 처리되는 데이터 블록의 비트 길이가 기록된다. 세션 아이디 필드(504)에는 제 2 디바이스(6)와의 세션을 나타내는 세션 아이디 값이 기록된다. 토큰 메시지 필드(505)에는 세션 키 요청 토큰을 통하여 제 1 디바이스(5)가 제 2 디바이스(6)로 전송하고자 실질적인 내용이 기록되며, 본 실시예에서는 제 2 디바이스(6)가 세션 키를 암호화하는데 사용될 공개 키가 기록된다.
제 1 복호화부(54)는 하기될 세션 키 응답 토큰의 키 교환 필드 값 및 알고리즘 비트 필드 값이 나타내는 대칭키 암호화 알고리즘에 따라 수신부(59)에 수신된 세션 키 응답 토큰에 포함된 암호화된 세션 키를 세션 키 요청 토큰의 토큰 메시지 필드(505)에 기록된 공개 키에 대응하는 비밀 키로 복호화함으로서 제 2 디바이스(6)와의 세션을 나타내는 세션 아이디에 대응하는 세션 키를 복원한다. 보다 상세하게 설명하면, 제 1 복호화부(54)는 세션 키 응답 토큰의 키 교환 필드(1002) 값 및 알고리즘 비트(1003) 필드 값이 나타내는 비대칭키 암호화 알고리즘에 따라 수신부(59)에 수신된 세션 키 응답 토큰의 토큰 메시지(1005)에 기록된 암호화된 세션 키를 복호화함으로서 제 2 디바이스(6)와의 세션을 나타내는 세션 아이디에 대응하는 세션 키를 복원한다.
제 1 복호화부(54)에 의해 복원된 세션 키 및 세션에 대한 정보는 데이터베이스(52)에 저장된다. 특히, 데이터베이스(52)에는 하나의 세션 키와 이것에 대한 정보로 구성된 세션 키 데이터블록의 단위로 저장된다. 제 1 디바이스(5)가 여러 디바이스들과 세션 키를 공유하는 경우, 그 디바이스들마다 하나씩의 세션 키 데이터 블록이 존재한다. 세션 키들에 대한 정보의 대표적인 예로는 세션 키의 유효 기간을 들 수 있으며, 세션 키의 유효 기간은 시작 시점과 만료 시점으로 나타낼 수 있다.
도 6은 본 발명의 바람직한 일 실시예에 따라 제 1 디바이스(5)에 의해 사용되는 세션 키 데이터블록의 구조도이다.
도 6을 참조하면, 본 실시예에 따라 제 1 디바이스(5)에 의해 사용되는 세션 키 데이터블록은 세션 아이디 필드(801), 세션 키 필드(802), 타임스탬프 필드(803), 및 유효 기간 필드(804)로 구성된다. 특히, 본 실시예에 따른 세션 키 데이터 블록의 구조는 C 언어를 이용하여 도 6에 도시된 바와 같이 정의될 수 있다.
세션 아이디 필드(801)에는 제 2 디바이스(6)와의 세션을 나타내는 세션 아이디 값이 기록된다. 세션 키 필드(802)에는 세션 아이디 필드(801)에 기록된 세션 아이디에 대응하는 세션 키가 저장된다. 타임 스탬프 필드(803)에는 세션 키의 유효 기간의 시작 시점이 기록된다. 유효 기간 필드(804)에는 세션 키의 유효 기간의 만료 시점이 기록된다.
암호화부(55)는 제 1 복호화부(54)에 의해 복원된 세션 키를 사용하여 제 1 디바이스(5)가 제 2 디바이스(2)로 전송하고자 하는 소스 데이터를 암호화한다. 보다 상세하게 설명하면, 암호화부(55)는 제 1 디바이스(5)가 제 2 디바이스(2)로 전송하고자 하는 소스 데이터가 존재하는 경우, 데이터베이스(52)에 저장된 세션 키들을 조회하고, 이것들 중 제 2 디바이스(2)와의 세션에서 사용될 세션 키가 존재하는지를 확인한다.
또한, 암호화부(55)는 확인 결과, 제 2 디바이스(2)와의 세션에서 사용될 세션 키가 존재하는 경우에는 이것의 유효성을 검증한다. 또한, 암호화부(55)는 확인 결과, 제 2 디바이스(2)와의 세션에서 사용될 세션 키가 존재하지 않는 경우에는 세션 키 요청 토큰 생성부(53)로 새로운 세션 키 요청 토큰의 생성을 지시한다. 또한, 암호화부(55)는 검증 결과, 이 세션 키의 유효 기간이 만료되지 않은 경우에는 이것을 사용하여 소스 데이터를 암호화한다. 또한, 암호화부(55)는 검증 결과, 이 세션 키의 유효 기간이 만료된 경우에는 세션 키 요청 토큰 생성부(53)로 새로운 세션 키 요청 토큰의 생성을 지시한다.
소스 데이터 암호문 생성부(55)는 암호화부(55)에 의해 암호화된 소스 데이터를 포함하는 소스 데이터 암호문을 생성한다.
도 7은 본 발명의 바람직한 일 실시예에 따른 소스 데이터 암호문의 구조도이다.
도 7을 참조하면, 본 실시예에 따른 소스 데이터 암호문은 암호화 알고리즘 필드(701), 암호화 알고리즘 비트 필드(702), 세션 아이디 필드(703), 원 데이터 길이 필드(704), 체크섬 필드(705), 및 암호화 데이터 필드(706)로 구성된다. 특 히, 본 실시예에 따른 소스 데이터 암호문의 구조는 C 언어를 이용하여 도 7에 도시된 바와 같이 정의될 수 있다.
암호화 알고리즘 필드(701)에는 어떤 대칭키 암호화 알고리즘에 따라 소스 데이터를 암호화했는지를 나타내는 값, 예를 들면 DES(Data Encryption Standard) 알고리즘에 따라 소스 데이터를 암호화했음을 나타내는 값이 기록된다. 암호화 알고리즘 비트 필드(702)에는 대칭키 암호화 알고리즘에서 처리되는 데이터 블록의 비트 길이가 기록된다. 세션 아이디 필드(703)에는 제 2 디바이스(6)와의 세션을 나타내는 세션 아이디 값이 기록된다. 원 데이터 길이 필드(704)에는 암호화부(55)에 의한 암호화 전의 원 데이터의 길이가 기록된다. 이것은 제 2 디바이스(6)가 소스 데이터를 제대로 복원하였는지를 판별하기 위하여 사용된다. 체크섬 필드(705)에는 세션 키에 대한 체크섬 값이 기록된다. 이것은 제 1 디바이스(5)가 세션 키를 제 2 디바이스(6)로 전송하기 전에 대칭키 쌍의 변형 여부를 판별하기 위하여 사용된다. 암호화 데이터 필드(706)에는 소스 데이터 암호문을 통하여 제 1 디바이스(5)가 제 2 디바이스(6)로 전송하고자 하는 실질적인 내용인 암호화된 소스 데이터가 기록된다.
제 2 복호화부(57)는 수신부(59)에 수신된 결과 데이터 암호문에 포함된 암호화된 결과 데이터를 제 1 복호화부(54)에 의해 복원된 세션 키를 사용하여 복호화함으로서 결과 데이터를 복원한다. 제 2 복호화부(57)에 의해 복원된 결과 데이터는 제 1 디바이스(5)가 클라이언트의 입장에서 제 2 디바이스(6)로 소스 데이터의 처리를 요청하였고, 이 요청에 따라 제 2 디바이스(6)가 소스 데이터를 처리한 결과물이다.
보다 상세하게 설명하면, 제 2 복호화부(57)는 결과 데이터 암호문의 암호화 알고리즘 필드(1101) 값 및 암호화 알고리즘 비트 필드(1002) 값이 나타내는 암호화 알고리즘에 따라 결과 데이터 암호문의 암호화 데이터 필드(1106)에 기록된 암호화된 결과 데이터를 결과 데이터 암호문의 세션 아이디 필드(1103)에 기록된 세션 아이디에 대응하는 세션 키를 사용하여 복호화하고, 결과 데이터 암호문의 원 데이터 길이 필드(1104) 값 및 체크섬 필드(1105) 값을 이용하여 제대로 복원되었는지 여부를 판별한다.
송신부(58)는 제 2 디바이스(6)로 세션 키 요청 토큰 생성부(53)에 의해 생성된 세션 키 요청 토큰을 전송한다. 또한, 송신부(58)는 제 2 디바이스(6)로 암호문 생성부(56)에 의해 생성된 소스 데이터 암호문을 전송한다.
수신부(59)는 송신부(58)로부터 전송된 세션 키 요청 토큰에 대한 응답에 해당하는 세션 키 응답 토큰을 수신한다. 또한, 수신부(59)는 송신부(58)로부터 전송된 소스 데이터 암호문에 포함된 소스 데이터를 제 2 디바이스(6)가 처리한 결과인 결과 데이터를 암호화된 형태로 포함하는 결과 데이터 암호문을 수신한다.
도 8은 본 발명의 바람직한 일 실시예에 따른 제 2 디바이스(6)의 구성도이다.
도 8을 참조하면, 본 실시예에 따른 제 2 디바이스(6)는 세션 키 생성부(61), 데이터베이스(62), 제 1 암호화부(63), 세션 키 응답 토큰 생성부(64), 복호화부(65), 데이터 처리부(66), 제 2 암호화부(67), 결과 데이터 암호문 생성부 (68), 수신부(69), 및 송신부(610)로 구성된다.
세션 키 생성부(61)는 수신부(69)에 수신된 세션 키 요청 토큰에 대응하여 제 1 디바이스(5)와의 세션에서 사용될 세션 키를 생성한다. 보다 상세하게 설명하면, 세션 키 생성부(61)는 세션 키 요청 토큰의 세션 키 아이디 필드(502)에 기록된 세션 아이디에 대응하는 세션 키를 생성한다.
세션 키 생성부(61)에 의해 생성된 비대칭키 쌍과 이 비대칭키 쌍에 대한 정보는 데이터베이스(62)에 저장되며, 비대칭키 쌍의 생성 시점으로부터 일정 기간 동안만 사용된다. 일반적으로, 이 일정 기간을 세션 키의 유효 기간이라고 한다. 이것은 세션 키의 사용 기간을 통제함으로서 세션 키가 외부에 노출될 수 있는 기회를 줄이기 위한 것이다.
보다 상세하게 설명하면, 세션 키 생성부(61)는 세션 키 요청 토큰에 대응하여 데이터베이스(62)에 저장된 세션 키들을 조회한다. 또한, 세션 키 생성부(61)는 조회 결과 데이터베이스(62)에 세션 키 요청 토큰의 세션 키 아이디 필드(502)에 기록된 세션 아이디에 대응하는 세션 키가 존재하는 경우에는 이것의 유효성을 검증한다. 또한, 세션 키 생성부(61)는 검증 결과, 이 세션 키가 유효한 경우, 즉 이 세션 키의 유효 기간이 만료되지 않은 경우에는 데이터베이스(62)로부터 이것을 추출한다. 또한, 세션 키 생성부(61)는 데이터베이스(62)에 세션 키 요청 토큰의 세션 키 아이디 필드(502)에 기록된 세션 아이디에 대응하는 세션 키가 존재하지 않는 경우 또는 이 세션 키의 유효 기간이 만료된 경우에는 새로운 세션 키를 생성한다.
데이터베이스(62)에는 세션 키들과 세션 키들 각각에 대한 정보가 저장된다. 특히, 데이터베이스(62)에는 하나의 세션 키와 이것에 대한 정보로 구성된 세션 키 데이터블록의 단위로 저장된다. 세션 키들에 대한 정보의 대표적인 예로는 세션 키의 유효 기간을 들 수 있으며, 세션 키의 유효 기간은 시작 시점과 만료 시점으로 나타낼 수 있다.
도 9는 본 발명의 바람직한 일 실시예에 따라 제 2 디바이스(6)에 의해 사용되는 세션 키 데이터블록의 구조도이다.
도 9를 참조하면, 본 실시예에 따라 제 2 디바이스(6)에 의해 사용되는 세션 키 데이터블록은 체크섬 필드(901), 세션 아이디 필드(902), 세션 키 필드(903), 타임스탬프 필드(904), 및 유효 기간 필드(905)로 구성된다. 특히, 본 실시예에 따른 세션 키 데이터 블록의 구조는 C 언어를 이용하여 도 9에 도시된 바와 같이 정의될 수 있다.
체크섬 필드(901)에는 세션 키에 대한 체크섬 값이 기록된다. 이것은 제 1 디바이스(6)가 세션 키를 제 1 디바이스(5)에 전송하기 전에 세션 키의 변형 여부를 판별하기 위하여 사용된다. 세션 아이디 필드(902)에는 제 1 디바이스(5)와의 세션을 나타내는 세션 아이디 값이 기록된다. 세션 키 필드(903)에는 세션 아이디 필드(902)에 기록된 세션 아이디에 대응하는 세션 키가 저장된다. 타임 스탬프 필드(904)에는 세션 키의 유효 기간의 시작 시점이 기록된다. 유효 기간 필드(900)에는 세션 키의 유효 기간의 만료 시점이 기록된다.
제 1 암호화부(63)는 수신부(69)에 수신된 세션 키 요청 토큰의 키 교환 타 입 필드(502) 값 및 알고리즘 비트 필드(503) 값이 나타내는 비대칭키 암호화 알고리즘에 따라 세션 키 생성부(61)에 의해 생성된 세션 키를 암호화한다. 보다 상세하게 설명하면, 제 1 암호화부(63)는 수신부(69)에 수신된 세션 키 요청 토큰의 토크 메시지(505)에 기록된 공개 키를 사용하여 세션 키를 암호화한다.
세션 키 응답 토큰 생성부(64)는 수신부(69)에 수신된 세션 키 요청 토큰에 대한 응답에 해당하는 세션 키 응답 토큰을 생성한다. 보다 상세하게 설명하면, 세션 키 응답 토큰 생성부(64)는 제 1 암호화부(63)에 의해 암호화된 세션 키를 포함하는 세션 키 응답 토큰을 생성한다.
도 10은 본 발명의 바람직한 일 실시예에 따른 세션 키 응답 토큰의 구조도이다.
도 10을 참조하면, 본 실시예에 따른 세션 키 응답 토큰은 커맨드 필드(1001), 키 교환 타입 필드(1002), 알고리즘 비트 필드(1003), 세션 아이디 필드(1004), 및 토큰 메시지 필드(1005)로 구성된다. 특히, 세션 키 응답 토큰의 구조는 C 언어를 이용하여 도 10에 도시된 바와 같이 정의될 수 있다.
커맨드 필드(1001)에는 제 1 디바이스(5)와의 세션을 통하여 제 1 디바이스(5)로 전송되는 토큰의 커맨드를 나타내는 값, 즉 제 1 디바이스(5)로의 요청을 위한 토큰인지, 아니면 제 1 디바이스(5)로부터 수신된 요청에 대한 응답을 위한 토큰인지를 나타내는 값이 기록된다. 세션 키 응답 토큰은 제 1 디바이스(5)로부터 수신된 요청에 대한 응답을 위한 토큰이므로, 커맨드 필드(1001)에는 제 1 디바이스(5)로의 요청을 위한 토큰임을 나타내는 값이 기록된다.
키 교환 타입 필드(1002)에는 어떤 비대칭키 암호화 알고리즘에 따라 공개 키를 교환하는지를 나타내는 값, 즉 PKI 알고리즘에 따라 공개 키를 교환하는지, 아니면 DH 알고리즘에 따라 공개 키를 교환하는지를 나타내는 값이 기록된다. 특히, 키 교환 타입 필드(1002)의 구조는 C 언어를 이용하여 도 10에 도시된 바와 같이 정의될 수 있으며, 상기된 값이 기록된 key_ex_type 필드 및 PKI 알고리즘 또는 DH 알고리즘의 구체적인 처리 과정에 대한 정보가 기록된 PKI_DH_CTX 필드로 구성된다. 또한, PKI_DH_CTX 필드는 C 언어를 사용하여 도 10에 도시된 바와 같이 정의될 수 있으며, PKI 알고리즘의 구체적인 처리 과정에 대한 정보가 기록된 PKI_CTX 필드 및 DH 알고리즘이 구체적인 처리 과정에 대한 정보가 기록된 DH_CTX 필드로 구성된다.
알고리즘 비트 필드(1003)에는 비대칭키 암호화 알고리즘에서 처리되는 데이터 블록의 비트 길이가 기록된다. 세션 아이디 필드(1004)에는 제 1 디바이스(5)와의 세션을 나타내는 세션 아이디 값이 기록된다. 토큰 메시지 필드(1005)에는 세션 키 응답 토큰을 통하여 제 2 디바이스(6)가 제 1 디바이스(5)로 전송하고자 실질적인 내용이 기록되며, 세션 키 응답 토큰의 경우에는 제 2 디바이스(6)가 세션 키를 암호화하는데 사용한 공개 키가 기록된다.
복호화부(65)는 수신부(69)에 수신된 소스 데이터 암호문에 포함된 암호화된 소스 데이터를 세션 키를 사용하여 복호화함으로서 소스 데이터를 복원한다. 보다 상세하게 설명하면, 복호화부(65)는 소스 데이터 암호문의 암호화 알고리즘 필드(701) 값 및 암호화 알고리즘 비트 필드(702) 값이 나타내는 대칭키 암호화 알고리 즘에 따라 소스 데이터 암호문의 암호화 메시지 필드(706)에 기록된 암호화된 소스 데이터를 복호화하고, 소스 데이터 암호문의 원 데이터 길이 필드(704) 값 및 체크섬 필드(705) 값을 이용하여 소스 데이터가 제대로 복원되었는지 여부를 판별한다.
또한, 복호화부(65)는 수신부(69)에 수신된 소스 데이터 암호문이 존재하는 경우, 데이터베이스(62)에 저장된 세션 키들을 조회한다. 또한, 복호화부(65)는 조회 결과, 데이터베이스(62)에 소스 데이터 암호문의 세션 아이디 필드(703)에 기록된 세션 아이디에 대응하는 세션 키가 존재하는 경우에는 이것의 유효성을 검증한다. 또한, 복호화부(65)는 검증 결과, 이 세션 키의 유효 기간이 만료되지 않은 경우에는 데이터베이스(62)로부터 이것을 추출하여 소스 데이터를 복원하는데 사용한다. 또한, 복호화부(65)는 데이터베이스(62)에 소스 데이터 암호문의 세션 아이디 필드(703)에 기록된 세션 키가 존재하지 않는 경우 또는 이 세션 키의 유효 기간이 만료된 경우에는 이것을 나타내는 에러 메시지를 생성한다.
데이터 처리부(66)는 복호화부(65)에 의해 복원된 소스 데이터를 처리한다. 예를 들어, 소스 데이터가 압축 데이터라면, 데이터 처리부(66)는 소스 데이터의 압축을 풀음으로서 소스 데이터를 처리한다.
제 2 암호화부(67)는 데이터 처리부(66)에 의해 처리된 결과인 결과 데이터를 복호화부(65)에서의 복호화에 사용된 세션 키를 사용하여 암호화한다.
결과 데이터 암호문 생성부(68)는 제 2 암호화부(67)에 의해 암호화된 결과 데이터를 포함하는 결과 데이터 암호문을 생성한다.
도 11은 본 발명의 바람직한 일 실시예에 따른 소스 데이터 암호문의 구조도 이다.
도 11을 참조하면, 본 실시예에 따른 소스 데이터 암호문은 암호화 알고리즘 필드(1101), 암호화 알고리즘 비트 필드(1102), 세션 아이디 필드(1103), 원 데이터 길이 필드(1104), 체크섬 필드(1105), 및 암호화 데이터 필드(1106)로 구성된다. 특히, 본 실시예에 따른 소스 데이터 암호문의 구조는 C 언어를 이용하여 도 11에 도시된 바와 같이 정의될 수 있다.
암호화 알고리즘 필드(1101)에는 어떤 대칭키 암호화 알고리즘에 따라 소스 데이터를 암호화했는지를 나타내는 값, 예를 들면 DES 알고리즘에 따라 소스 데이터를 암호화했음을 나타내는 값이 기록된다. 암호화 알고리즘 비트 필드(1102)에는 대칭키 암호화 알고리즘에서 처리되는 데이터 블록의 비트 길이가 기록된다. 세션 아이디 필드(1103)에는 제 1 디바이스(5)와의 세션을 나타내는 세션 아이디 값이 기록된다. 원 데이터 길이 필드(1104)에는 제 2 암호화부(67)에 의한 암호화 전의 원 데이터의 길이가 기록된다. 이것은 제 1 디바이스(5)가 결과 데이터를 제대로 복원하였는지를 판별하기 위하여 사용된다. 체크섬 필드(1105)에는 세션 키에 대한 체크섬 값이 기록된다. 이것은 제 2 디바이스(6)가 세션 키를 제 1 디바이스(5)로 전송하기 전에 대칭키 쌍의 변형 여부를 판별하기 위하여 사용된다. 암호화 데이터 필드(1106)에는 소스 데이터 암호문을 통하여 제 2 디바이스(6)가 제 1 디바이스(5)로 전송하고자 하는 실질적인 내용인 암호화된 소스 데이터가 기록된다.
수신부(69)는 제 1 디바이스(5)로부터 제 1 디바이스(5)와의 세션에서 사용될 세션 키를 요청하는 세션 키 요청 토큰을 수신한다. 또한, 수신부(69)는 송신부 (610)로부터 전송된 세션 키 응답 토큰에 포함된 암호화된 세션 키로부터 복원된 세션 키를 사용하여 암호화된 소스 데이터를 포함하는 소스 데이터 암호문을 수신한다.
송신부(610)는 제 1 디바이스(5)로 세션 키 응답 토큰 생성부(64)에 의해 생성된 세션 키 응답 토큰을 전송한다. 또한, 송신부(610)는 제 1 디바이스(5)로 복호화부(65)에 의해 생성된 에러 메시지를 전송한다. 또한, 송신부(610)는 제 1 디바이스(5)로 결과 데이터 암호문 생성부(68)에 의해 생성된 결과 데이터 암호문을 전송한다.
도 12는 본 발명의 바람직한 일 실시예에 따른 안전한 데이터 전송 방법의 흐름도이다.
도 12를 참조하면, 본 실시예에 따른 안전한 데이터 전송 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 안전한 데이터 전송 방법은 도 3에 도시된 제 1 디바이스(5)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 3에 도시된 제 1 디바이스(5)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 안전한 데이터 전송 방법에도 적용된다.
1201 단계에서 제 1 디바이스(5)는 데이터베이스(52)에 저장된 비대칭키 쌍들을 조회하고, 이것들의 유효성을 검증한다.
1202 단계에서 제 1 디바이스(5)는 1201 단계에서의 검증 결과, 유효한 비대칭키 쌍이 존재하는 경우, 즉 유효 기간이 만료되지 않은 비대칭키 쌍이 존재하는 경우에는 이것을 추출하고, 1204 단계로 진행한다. 만약, 유효 기간이 만료되지 않 은 비대칭키 쌍이 존재하지 않는 경우에는 1203 단계로 진행한다.
1203 단계에서 제 1 디바이스(5)는 새로운 비대칭키 쌍을 생성한다.
1204 단계에서 제 1 디바이스(5)는 제 2 디바이스(6)와의 세션에서 사용될 세션 키를 요청하는 세션 키 요청 토큰을 생성한다. 보다 상세하게 설명하면, 1203 단계에서 제 1 디바이스(5)는 1202 단계에서 추출된 비대칭키 쌍 또는 1203 단계에서 생성된 비대칭키 쌍 중 공개 키를 포함하는 세션 키 요청 토큰을 생성한다.
1205 단계에서 제 1 디바이스(5)는 1204 단계에서 생성된 세션 키 요청 토큰을 전송한다.
1206 단계에서 제 1 디바이스(5)는 1205 단계에서 전송된 세션 키 요청 토큰에 대한 응답에 해당하는 세션 키 응답 토큰을 수신한다.
1207 단계에서 제 1 디바이스(5)는 1202 단계에서 추출된 비대칭키 쌍 또는 1203 단계에서 생성된 비대칭키 쌍 중 공개 키에 대응하는 비밀 키를 사용하여 1206 단계에서 수신된 세션 키 응답 토큰에 포함된 암호화된 세션 키를 복호화함으로서 제 2 디바이스(6)와의 세션을 나타내는 세션 아이디에 대응하는 세션 키를 복원한다.
1208 단계에서 제 1 디바이스(5)는 1207 단계에서 복원된 세션 키를 사용하여 제 1 디바이스(5)가 제 2 디바이스(2)로 전송하고자 하는 소스 데이터를 암호화한다.
1209 단계에서 제 1 디바이스(5)는 1208 단계에서 암호화된 소스 데이터를 포함하는 소스 데이터 암호문을 생성한다.
1210 단계에서 제 1 디바이스(5)는 1209 단계에서 생성된 소스 데이터 암호문을 전송한다.
1211 단계에서 제 1 디바이스(5)는 1210 단계에서 전송된 소스 데이터 암호문에 포함된 소스 데이터를 제 2 디바이스(6)가 처리한 결과인 결과 데이터를 암호화된 형태로 포함하는 결과 데이터 암호문을 수신한다.
1212 단계에서 제 1 디바이스(5)는 1207 단계에서 복원된 세션 키를 사용하여 1211 단계에서 수신된 결과 데이터 암호문에 포함된 암호화된 결과 데이터를 복호화함으로서 결과 데이터를 복원한다.
도 13a-13b는 본 발명의 바람직한 일 실시예에 따른 안전한 데이터 전송 방법의 흐름도이다.
도 13a-13b를 참조하면, 본 실시예에 따른 안전한 데이터 수신 방법은 다음과 같은 단계들로 구성된다. 본 실시예에 따른 안전한 데이터 수신 방법은 도 8에 도시된 제 2 디바이스(6)에서 시계열적으로 처리되는 단계들로 구성된다. 따라서, 이하 생략된 내용이라 하더라도 도 8에 도시된 제 2 디바이스(6)에 관하여 이상에서 기술된 내용은 본 실시예에 따른 안전한 데이터 수신 방법에도 적용된다.
1301 단계에서 제 2 디바이스(6)는 제 1 디바이스(5)로부터 제 1 디바이스(5)와의 세션에서 사용될 세션 키를 요청하는 세션 키 요청 토큰을 수신한다.
1302 단계에서 제 2 디바이스(6)는 1301 단계에서 수신된 세션 키 요청 토큰에 대응하여 데이터베이스(62)에 저장된 세션 키들을 조회한다. 이어서, 1302 단계에서 제 2 디바이스(6)는 조회 결과 데이터베이스(62)에 세션 키 요청 토큰에 포함 된 세션 아이디에 대응하는 세션 키가 존재하는 경우에는 이것의 유효성을 검증한다.
1303 단계에서 제 2 디바이스(6)는 1302 단계에서의 검증 결과, 이 세션 키가 유효한 경우, 즉 이 세션 키의 유효 기간이 만료되지 않은 경우에는 데이터베이스(62)로부터 이것을 추출하고, 1305 단계로 진행한다. 만약, 1302 단계에서 제 2 디바이스(6)는 데이터베이스(62)에 제 1 디바이스(5)와의 세션에서 사용될 세션 키가 존재하지 않는 경우 또는 이 세션 키의 유효 기간이 만료된 경우에는 1304 단계로 진행한다.
1304 단계에서 제 2 디바이스(6)는 새로운 세션 키를 생성한다.
1305 단계에서 제 2 디바이스(6)는 1301 단계에서 수신된 세션 키 요청 토큰에 포함된 공개 키를 사용하여 1303 단계에서 추출된 세션 키 또는 1304 단계에서 생성된 세션 키를 암호화한다.
1306 단계에서 제 2 디바이스(6)는 1301 단계에서 수신된 세션 키 요청 토큰에 대한 응답에 해당하는 세션 키 응답 토큰을 생성한다. 보다 상세하게 설명하면, 1306 단계에서 제 2 디바이스(6)는 1305 단계에서 암호화된 세션 키를 포함하는 세션 키 응답 토큰을 생성한다.
1307 단계에서 제 2 디바이스(6)는 제 1 디바이스(5)로 1306 단계에서 생성된 세션 키 응답 토큰을 전송한다.
1308 단계에서 제 2 디바이스(6)는 1307 단계에서 전송된 세션 키 응답 토큰에 포함된 암호화된 세션 키로부터 복원된 세션 키를 사용하여 암호화된 소스 데이 터를 포함하는 소스 데이터 암호문을 수신한다.
1309 단계에서 제 2 디바이스(6)는 1308 단계에서 수신된 소스 데이터 암호문이 존재하는 경우, 데이터베이스(62)에 저장된 세션 키들을 조회한다. 이어서, 1308 단계에서 제 2 디바이스(6)는 조회 결과, 데이터베이스(62)에 소스 데이터 암호문의 세션 아이디 필드(703)에 기록된 세션 아이디에 대응하는 세션 키가 존재하는 경우에는 이것의 유효성을 검증한다.
1310 단계에서 제 2 디바이스(6)는 1309 단계에서의 검증 결과, 이 세션 키의 유효 기간이 만료되지 않은 경우에는 데이터베이스(62)로부터 이것을 추출하고, 1312 단계로 진행한다. 만약, 1310 단계에서 제 2 디바이스(6)는 데이터베이스(62)에 소스 데이터 암호문의 세션 아이디 필드(703)에 기록된 세션 키가 존재하지 않는 경우 또는 이 세션 키의 유효 기간이 만료된 경우에는 1311 단계로 진행한다.
1311 단계에서 제 2 디바이스(6)는 데이터베이스(62)에 소스 데이터 암호문의 세션 아이디 필드(703)에 기록된 세션 키가 존재하지 않거나, 이 세션 키의 유효 기간이 만료되었음을 나타내는 에러 메시지를 제 1 디바이스(5)로 전송한다.
1312 단계에서 제 2 디바이스(6)는 1308 단계에서 수신된 소스 데이터 암호문에 포함된 암호화된 소스 데이터를 1310 단계에서 추출된 세션 키를 사용하여 복호화함으로서 소스 데이터를 복원한다.
1313 단계에서 제 2 디바이스(6)는 1312 단계에서 복원된 소스 데이터를 처리한다.
1314 단계에서 제 2 디바이스(6)는 1313 단계에서 처리된 결과인 결과 데이 터를 복호화부(65)에서의 복호화에 사용된 세션 키를 사용하여 암호화한다.
1315 단계에서 제 2 디바이스(6)는 1314 단계에서 암호화된 결과 데이터를 포함하는 결과 데이터 암호문을 생성한다.
1316 단계에서 제 2 디바이스(6)는 제 1 디바이스(5)로 1315 단계에서 생성된 결과 데이터 암호문을 전송한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으 로 해석되어야 할 것이다.
본 발명에 따르면, 일 대 일로 통신하는 디바이스들 중 어느 하나의 디바이스가 세션 키를 요청하고, 다른 디바이스는 이 요청에 포함된 공개 키로 세션 키를 암호화하여 전송함으로서 외부에 노출되어도 무방한 공개 키만을 전송하는 것만으로 안전하게 세션 키를 공유할 수 있다. 그 결과, 중앙 집중형 보안 서버를 구비하고 있는 인증 기관으로부터 외부에 노출되지 않는 경로를 통하여 비밀 키를 획득할 필요가 없게 되어 임베디드 디바이스들간의 일 대 일 보안 통신이 가능하게 된다.
특히, 본 발명에 따르면, 세션 키를 공유하는 초기 과정에서만 비대칭키 알고리즘을 사용하고, 데이터를 송수신하는 과정에서는 대칭키 알고리즘을 사용하기 때문에 데이터 보안에 따른 시스템의 부담을 최소화할 수 있다. 또한, 본 발명은 제 3의 인증 기관의 필요 없이 두 임베디드 디바이스들간에 수행되기 때문에 소프트웨어 라이브러리 형태로 제 3의 인증 기관 등과 같은 외부 제한 없이 자유롭게 임베디드 디바이스들에 탑재될 수 있다.

Claims (19)

  1. 소정 디바이스로 데이터를 안전하게 전송하는 방법에 있어서,
    (a) 상기 소정 디바이스와의 세션에서 사용될 세션 키를 요청하는 단계;
    (b) 상기 요청에 대한 응답에 포함된 암호화된 세션 키를 복호화함으로서 상기 세션 키를 복원하는 단계;
    (c) 상기 복원된 세션 키를 사용하여 상기 데이터를 암호화하는 단계; 및
    (d) 상기 암호화된 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계는 상기 소정 디바이스가 상기 세션 키를 암호화하는데 사용될 공개 키를 포함하는 요청 토큰을 전송함으로서 상기 세션 키를 요청하고,
    상기 (b) 단계는 상기 공개 키를 사용하여 암호화된 세션 키를 상기 공개 키와 대응하는 비밀 키를 사용하여 복호화하는 것을 특징으로 하는 방법.
  3. 제 2 항에 있어서,
    상기 공개 키 및 상기 비밀 키를 하나의 쌍으로 하는 비대칭키 쌍을 생성하는 단계를 더 포함하고,
    상기 (a) 단계를 상기 생성된 비대칭키 쌍 중 공개 키를 포함하는 토큰을 전 송하는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    상기 (a) 단계는 상기 세션을 나타내는 세션 아이디를 포함하는 요청 토큰을 전송함으로서 상기 세션 키를 요청하고,
    상기 (b) 단계는 상기 세션 아이디에 대응하는 세션 키를 복호화하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    상기 데이터를 처리한 결과에 해당하는 결과 데이터를 암호화된 형태로 수신하는 단계; 및
    상기 수신된 암호화된 결과 데이터를 상기 세션 키를 사용하여 복호화함으로서 상기 결과 데이터를 복원하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 제 1 항에 있어서,
    상기 세션 키는 대칭키인 것을 특징으로 하는 방법.
  7. 소정 디바이스로 데이터를 안전하게 전송하는 장치에 있어서,
    상기 소정 디바이스와의 세션에서 사용될 세션 키를 요청하는 요청 토큰을 전송하는 송신부;
    상기 송신부로부터 전송된 요청 토큰에 대한 응답 토큰에 포함된 암호화된 세션 키를 복호화함으로서 상기 세션 키를 복원하는 제 1 복호화부; 및
    상기 제 1 복호화부에 의해 복원된 세션 키를 사용하여 상기 데이터를 암호화하는 암호화부를 포함하고,
    상기 송신부는 상기 암호화부에 의해 암호화된 데이터를 전송하는 것을 특징으로 하는 장치.
  8. 제 7 항에 있어서,
    상기 요청 토큰은 상기 소정 디바이스가 상기 세션 키를 암호화하는데 사용될 공개 키를 포함하고,
    상기 제 1 복호화부는 상기 공개 키와 대응하는 비밀 키를 사용하여 상기 암호화된 세션 키를 복호화하는 것을 특징으로 하는 장치.
  9. 제 1 항 내지 제 6 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  10. 소정 디바이스로부터 데이터를 안전하게 수신하는 방법에 있어서,
    (a) 상기 소정 디바이스와의 세션에서 사용될 세션 키에 대한 요청을 수신하는 단계;
    (b) 상기 수신된 요청에 대응하여 상기 세션에서 사용될 세션 키를 암호화된 형태로 전송하는 단계; 및
    (c) 상기 전송된 암호화된 세션 키로부터 복원된 세션 키를 사용하여 암호화된 데이터를 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  11. 제 10 항에 있어서,
    (d) 상기 수신된 요청에 대응하여 상기 세션에서 사용될 세션 키를 생성하는 단계; 및
    (e) 상기 생성된 세션 키를 암호화하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 암호화된 세션 키를 전송하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서,
    상기 (a) 단계는 상기 세션 키를 암호화하는데 사용될 공개 키를 포함하는 요청 토큰을 수신하고,
    상기 (e) 단계는 상기 요청 토큰에 포함된 공개 키를 사용하여 상기 세션 키를 암호화하는 것을 특징으로 하는 방법.
  13. 제 11 항에 있어서,
    상기 (a) 단계는 상기 세션을 나타내는 세션 아이디를 포함하는 요청 토큰을 수신하고,
    상기 (d) 단계는 상기 요청 토큰에 포함된 세션 아이디에 대응하는 세션 키를 생성하는 것을 특징으로 하는 방법.
  14. 제 10 항에 있어서,
    상기 수신된 요청에 대응하여 상기 세션에서 사용될 세션 키의 유효성을 검증하는 단계; 및
    상기 검증 결과, 상기 세션 키가 유효한 경우에 상기 세션 키를 암호화하는 단계를 더 포함하고,
    상기 (b) 단계는 상기 암호화된 세션 키를 전송하는 것을 특징으로 하는 방법.
  15. 제 10 항에 있어서,
    상기 수신된 암호화된 데이터를 상기 세션 키를 사용하여 복호화함으로서 상기 데이터를 복원하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 소정 디바이스로부터 데이터를 안전하게 수신하는 장치에 있어서,
    상기 소정 디바이스와의 세션에서 사용될 세션 키를 요청하는 요청 토큰을 수신하는 수신부; 및
    상기 수신부에 수신된 요청 토큰에 대응하여 상기 세션에서 사용될 세션 키를 암호화된 형태로 포함하는 응답 토큰을 전송하는 송신부를 포함하고,
    상기 수신부는 상기 송신부로부터 전송된 응답 토큰에 포함된 암호화된 세션 키로부터 복원된 세션 키를 사용하여 암호화된 데이터를 포함하는 암호문을 수신하는 것을 특징으로 하는 장치.
  17. 제 16 항에 있어서,
    상기 수신부에 수신된 요청 토큰에 대응하여 상기 세션에서 사용될 세션 키를 생성하는 생성부; 및
    상기 생성부에 의해 생성된 세션 키를 암호화하는 제 1 암호화부를 더 포함하고,
    상기 송신부는 상기 제 1 암호화부에 의해 암호화된 세션 키를 포함하는 응답 토큰을 전송하는 것을 특징으로 하는 장치.
  18. 제 17 항에 있어서,
    상기 요청 토큰은 상기 세션 키를 암호화하는데 사용될 공개 키를 포함하고,
    상기 제 1 암호화부는 상기 요청 토큰에 포함된 공개 키를 사용하여 상기 세션 키를 암호화하는 것을 특징으로 하는 장치.
  19. 제 10 항 내지 제 15 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020050084305A 2005-09-09 2005-09-09 일 대 일로 데이터를 안전하게 송수신하는 방법 및 장치 KR20070029864A (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020050084305A KR20070029864A (ko) 2005-09-09 2005-09-09 일 대 일로 데이터를 안전하게 송수신하는 방법 및 장치
US11/512,248 US20070058815A1 (en) 2005-09-09 2006-08-30 Method and apparatus for securely transmitting and receiving data in peer-to-peer manner
EP06120231A EP1775879A3 (en) 2005-09-09 2006-09-06 Method and Apparatus for Securely Transmitting and Receiving Data in Peer-to-Peer Manner
JP2006244604A JP2007082216A (ja) 2005-09-09 2006-09-08 一対一でデータを安全に送受信する方法及び装置
CNA2006101516499A CN1929369A (zh) 2005-09-09 2006-09-11 以对等方式安全地发送和接收数据的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050084305A KR20070029864A (ko) 2005-09-09 2005-09-09 일 대 일로 데이터를 안전하게 송수신하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20070029864A true KR20070029864A (ko) 2007-03-15

Family

ID=37814384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050084305A KR20070029864A (ko) 2005-09-09 2005-09-09 일 대 일로 데이터를 안전하게 송수신하는 방법 및 장치

Country Status (5)

Country Link
US (1) US20070058815A1 (ko)
EP (1) EP1775879A3 (ko)
JP (1) JP2007082216A (ko)
KR (1) KR20070029864A (ko)
CN (1) CN1929369A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100955573B1 (ko) * 2007-11-14 2010-04-30 에스케이 텔레콤주식회사 편의 서비스 인증 방법 및 시스템
WO2015137760A1 (ko) * 2014-03-14 2015-09-17 주식회사 로웸 비밀 데이터 관리 방법과 장치 및 보안 인증 방법 및 시스템
KR20150107669A (ko) * 2014-03-14 2015-09-23 주식회사 로웸 비밀 데이터 관리 방법과 장치 및 보안 인증 방법 및 시스템
WO2024085728A1 (ko) * 2022-10-21 2024-04-25 삼성전자 주식회사 전자 장치 및 전자 장치에서 외부 전자 장치의 데이터를 업로드하는 방법

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5424008B2 (ja) * 2006-12-19 2014-02-26 日本電気株式会社 共有情報の管理方法およびシステム
CA2571891C (en) * 2006-12-21 2015-11-24 Bce Inc. Device authentication and secure channel management for peer-to-peer initiated communications
US8681981B2 (en) * 2010-12-03 2014-03-25 Motorola Solutions, Inc. Method and apparatus for transmitting voice communications related to a multimedia session
CN104205900B (zh) 2012-03-29 2019-02-05 诺基亚技术有限公司 无线存储装置认证
US9710664B2 (en) * 2012-09-07 2017-07-18 Amrita Vishwa Vidyapeetham Security layer and methods for protecting tenant data in a cloud-mediated computing network
US20140089202A1 (en) * 2012-09-27 2014-03-27 Michael K. Bond CRM Security Core
GB2506591A (en) 2012-09-28 2014-04-09 Bell Identification Bv Method of providing secure services using a mobile device
CN104506483A (zh) * 2014-10-21 2015-04-08 中兴通讯股份有限公司 一种信息加密解密、管理密钥的方法、终端及网络服务器
CN104468095A (zh) * 2014-11-28 2015-03-25 华为技术有限公司 一种数据传输方法及装置
CN105227577A (zh) * 2015-10-27 2016-01-06 江苏电力信息技术有限公司 一种多客户端下的统一数据库访问代理均衡方法
US10182044B1 (en) 2015-12-03 2019-01-15 Amazon Technologies, Inc. Personalizing global session identifiers
US10277569B1 (en) 2015-12-03 2019-04-30 Amazon Technologies, Inc. Cross-region cache of regional sessions
US9894067B1 (en) 2015-12-03 2018-02-13 Amazon Technologies, Inc. Cross-region roles
US9900160B1 (en) * 2015-12-03 2018-02-20 Amazon Technologies, Inc. Asymmetric session credentials
CN105635141B (zh) * 2015-12-29 2018-12-21 沈文策 一种信息传送方法及装置
CN106936570B (zh) * 2015-12-31 2021-08-20 华为技术有限公司 一种密钥配置方法及密钥管理中心、网元
CN107094156B (zh) * 2017-06-21 2020-02-28 北京明朝万达科技股份有限公司 一种基于p2p模式的安全通信方法及系统
CN108111507A (zh) * 2017-12-19 2018-06-01 恒宝股份有限公司 一种设备远程升级的方法及系统
US11290270B2 (en) * 2018-08-24 2022-03-29 Cable Television Laboratories, Inc. Systems and methods for enhanced internet of things digital certificate security
US11210422B1 (en) * 2021-02-19 2021-12-28 Lee David Buckland Data container interrogation and complex personal identifiable information rule matching data analysis system and methods for the identification of personal identifiable information in a data container

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US166048A (en) * 1875-07-27 Improvement in pumps for tubular wells
US6377691B1 (en) * 1996-12-09 2002-04-23 Microsoft Corporation Challenge-response authentication and key exchange for a connectionless security protocol
EP0856968A3 (en) * 1997-01-24 2000-12-06 Nec Corporation Encryption key processing system to be incorporated into data recovery system or key setting system for generating encryption key
US6229894B1 (en) * 1997-07-14 2001-05-08 Entrust Technologies, Ltd. Method and apparatus for access to user-specific encryption information
US6064736A (en) * 1997-09-15 2000-05-16 International Business Machines Corporation Systems, methods and computer program products that use an encrypted session for additional password verification
US6662299B1 (en) * 1999-10-28 2003-12-09 Pgp Corporation Method and apparatus for reconstituting an encryption key based on multiple user responses
US6834112B1 (en) * 2000-04-21 2004-12-21 Intel Corporation Secure distribution of private keys to multiple clients
US7603703B2 (en) * 2001-04-12 2009-10-13 International Business Machines Corporation Method and system for controlled distribution of application code and content data within a computer network

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100955573B1 (ko) * 2007-11-14 2010-04-30 에스케이 텔레콤주식회사 편의 서비스 인증 방법 및 시스템
WO2015137760A1 (ko) * 2014-03-14 2015-09-17 주식회사 로웸 비밀 데이터 관리 방법과 장치 및 보안 인증 방법 및 시스템
KR20150107669A (ko) * 2014-03-14 2015-09-23 주식회사 로웸 비밀 데이터 관리 방법과 장치 및 보안 인증 방법 및 시스템
WO2024085728A1 (ko) * 2022-10-21 2024-04-25 삼성전자 주식회사 전자 장치 및 전자 장치에서 외부 전자 장치의 데이터를 업로드하는 방법

Also Published As

Publication number Publication date
JP2007082216A (ja) 2007-03-29
CN1929369A (zh) 2007-03-14
EP1775879A3 (en) 2008-07-02
US20070058815A1 (en) 2007-03-15
EP1775879A2 (en) 2007-04-18

Similar Documents

Publication Publication Date Title
KR20070029864A (ko) 일 대 일로 데이터를 안전하게 송수신하는 방법 및 장치
KR101130415B1 (ko) 비밀 데이터의 노출 없이 통신 네트워크를 통해 패스워드 보호된 비밀 데이터를 복구하는 방법 및 시스템
JP2023501449A (ja) エフェメラル鍵を用いたトランスポート層セキュリティにおける前方秘匿性
US10805076B2 (en) Information processing apparatus, server apparatus, and computer program product
CN108881205B (zh) 一种hls流媒体的安全播放系统及播放方法
JP5668191B2 (ja) 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム
US20170085543A1 (en) Apparatus and method for exchanging encryption key
JP2009510978A (ja) 制約された暗号キー
JP2000165373A (ja) 暗号装置、暗号通信システム及び鍵復元システム並びに記憶媒体
KR101621044B1 (ko) IoT 환경에서 공개키 배포를 이용한 정보 보안 장치 및 방법
CN103036880A (zh) 网络信息传输方法、设备及系统
JP2013207376A (ja) 情報処理装置およびプログラム
CN114338239B (zh) 一种数据加密传输的方法及其系统
US20180309740A1 (en) Method for securing and authenticating a telecommunication
JP2001244925A (ja) 暗号化データ管理システム及び方法、記憶媒体
WO2012053886A1 (en) A method and system for file encryption and decryption in a server
KR100890720B1 (ko) 웹 콘텐츠를 선택적으로 암호화하는 방법 및 그러한 방법을수행하는 프로그램이 기록된 컴퓨터 판독 가능 기록 매체
JP2007104118A (ja) 秘密情報の保護方法及び通信装置
CN116015906A (zh) 用于隐私计算的节点授权方法、节点通信方法和装置
JP3984570B2 (ja) 署名/検証システムにおける鍵管理サーバおよび検証装置を制御するプログラム
KR20090024482A (ko) 컨텐츠를 이용하기 위한 키 관리 시스템 및 그 방법
CN112035820B (zh) 一种用于Kerberos加密环境下的数据解析方法
JP2006129143A (ja) 秘密情報送受信システム及び方法、サーバー装置及びプログラム、並びに鍵情報保持装置
JP2006262425A (ja) 公開鍵暗号方式によるネットワーク上での相互認証および公開鍵の相互交換システム
JP2007159009A (ja) チケット保護方法およびクライアント

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
E801 Decision on dismissal of amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20070718

Effective date: 20080228