KR101479290B1 - 보안 클라우드 서비스를 제공하기 위한 에이전트 및 보안 클라우드 서비스를위한 보안키장치 - Google Patents

보안 클라우드 서비스를 제공하기 위한 에이전트 및 보안 클라우드 서비스를위한 보안키장치 Download PDF

Info

Publication number
KR101479290B1
KR101479290B1 KR1020140107544A KR20140107544A KR101479290B1 KR 101479290 B1 KR101479290 B1 KR 101479290B1 KR 1020140107544 A KR1020140107544 A KR 1020140107544A KR 20140107544 A KR20140107544 A KR 20140107544A KR 101479290 B1 KR101479290 B1 KR 101479290B1
Authority
KR
South Korea
Prior art keywords
header
file
agent
encrypted
security
Prior art date
Application number
KR1020140107544A
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 KR1020140107544A priority Critical patent/KR101479290B1/ko
Application granted granted Critical
Publication of KR101479290B1 publication Critical patent/KR101479290B1/ko
Priority to JP2015095843A priority patent/JP6172866B2/ja
Priority to TW104115107A priority patent/TWI563411B/zh
Priority to CA2891610A priority patent/CA2891610C/en
Priority to AU2015202697A priority patent/AU2015202697A1/en
Priority to BR102015011937A priority patent/BR102015011937A2/pt
Priority to RU2015120264A priority patent/RU2660604C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0877Generation of secret information including derivation or calculation of cryptographic keys or passwords using additional device, e.g. trusted platform module [TPM], smartcard, USB or hardware security module [HSM]
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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
    • H04L9/3234Cryptographic 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 involving additional secure or trusted devices, e.g. TPM, smartcard, USB or software token
    • 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/40Network security protocols

Landscapes

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

Abstract

본 발명은 클라우드 서비스를 제공하기 위한 에이전트 및 클라우드 서비스를 위한 보안키장치에 관한 것으로서, 본 발명에 따르면 클라우드 서버가 해킹을 당하는 경우에도 개인 및 기업의 중요 데이터는 열어볼 수 없고, 파일의 헤더에 대한 암복호화가 보안키처리장치에서 처리되므로 개인 PC가 해킹을 당하는 경우에도 암호화 키 유출을 방지할 수 있으며, 사용자 단말과 보안키장치간의 세션형성시 패스워드 키유도된 랜덤값을 이용하여 사용자인증을 수행함으로써 종래에 비해 보안성을 현저하게 향상시킬 수 있는 효과가 있다.

Description

보안 클라우드 서비스를 제공하기 위한 에이전트 및 보안 클라우드 서비스를위한 보안키장치{AGENT FOR PROVIDING SECURITY CLOUD SERVICE, SECURITY TOKEN DEVICE FOR SECURITY CLOUD SERVICE}
본 발명은 보안이 강화된 클라우드 서비스를 제공하기 위한 에이전트 및 보안 클라우드 서비스를 위한 보안키장치에 관한 것으로서, 사용자 단말에 착탈가능하게 연결되는 하드웨어 보안키장치에서 사용자인증, 파일의 헤더 암복호화를 수행하여 클라우드 서버에 저장함으로써 보안을 강화시킬 수 있도록 하는 기술에 관한 것이다.
IT 자원의 효율적 분배 및 데이터의 안전한 저장을 위해 최근에 클라우드 컴퓨팅 환경이 널리 이용되고 있다. 클라우드 컴퓨팅의 개념은 이미 1960년대에 미국의 컴퓨터 학자인 존 매카시가 그 개념을 주창한 바 있는데, 최근에 통신 인프라가 급속하게 좋아지고 있고 컴퓨팅 환경의 자원을 효율적으로 분배하고자 하는 요구가 증대함에 따라서 발전 및 개발 속도가 증가하고 있다.
클라우드 컴퓨팅 환경에서 사용자는 고사양의 단말기가 필요하지 않아서 클라이언트 레벨에서의 IT 장비 투자 비용이 절감되며, 사용환경에 따른 IT 자원의 효율적인 분배가 가능한 장점이 있다. 그러나 클라우드 컴퓨팅에서의 서버가 해킹당하면 데이터 유출의 우려가 있고, 클라우드 컴퓨팅 서비스를 제공하는 서비스 제공자쪽의 악의에 의해서 사용자의 중요 데이터가 유출될 가능성이 높다는 보안상의 문제점이 있다.
특히, 클라우드 서비스가 PC 환경 뿐만 아니라 스마트 폰 등의 모바일 환경에서도 활성화됨에 따라 클라우드 서버의 해킹으로 인한 보안 문제의 해결이 시급한 과제로 대두되고 있다.
이를 위해 한국등록특허 제10-1107056호 등에서는 클라이언트 단말에서 클라우드 서버로 동기화된 파일을 전송하기 전에 해당 파일을 미리 암호화하여 클라우드 서버로 전송하고, 클라우드 서버로부터 암호화 파일을 수신한 후 이를 클라이언트 단말에서 다시 복호화하는 방법이 사용되고 있다.
종래 이러한 방식의 일부 제품들은 윈도우즈 에이전시 어플리케이션 프로그램에서 직접 암호화 키를 관리하여 소프트웨어 알고리즘 모듈로 암호화하는 방식과, 하드웨어 디바이스에 저장된 암호화 키를 가져와서 소프트웨어에서 파일을 암호화하는 방식이 사용되고 있다.
이와 같이 클라우드 서비스에서의 보안성 강화를 위한 종래 파일 암호화 방식은 소프트웨어를 통해 암호화가 진행되는 방식이므로 암호화 키가 윈도우즈 프로그램에서 관리되고, 암호화 키가 해커들의 모니터 프로그램에 의해 노출될 수 있어 보안을 장담할 수 없는 문제점이 있다.
한국등록특허 제10-1107056호
본 발명은 이러한 종래의 문제점을 해결하기 위해 제안된 것으로서, 본 발명의 목적은 파일의 암호화 키인 헤더를 랜덤하게 생성하며, 파일은 에이전트에서 암복화하고 헤더는 사용자 단말에 연결되는 보안키장치에서 수행되도록 하여 해킹에 의한 보안 키 유출을 방지할 수 있고, 보안키장치가 헤더만 암복호화 처리함으로써 송수신되는 데이터 량을 경량화할 수 있다.
또한, 보안키장치가 사용자 단말에 연결된 경우에만 클라우드 파일을 암복호화하여 동기화함으로써 보안성이 보다 향상될 수 있도록 하는 것이다.
또한, 본 발명의 목적은 사용자 단말에 보안키장치 연결시 패스워드 키유도된 랜덤값을 이용하여 세션키를 생성함으로써 보안성이 보다 향상될 수 있도록 하는 것이다.
상기와 같은 목적을 달성하기 위한 본 발명의 바람직한 일실시 예에 따른 사용자 단말에 설치되어 보안 클라우드 서비스를 제공하기 위한 에이전트는 상기 사용자 단말로부터 클라우드 서버로 업로드할 파일을 수신하면, 수신된 파일을 암호화하기 위한 랜덤값을 가지는 헤더를 생성하는 헤더생성부, 상기 사용자 단말에 탈부착가능하게 연결되는 보안키장치가 감지되면, 상기 보안키장치와의 세션형성을 위한 세션키를 생성하는 세션키 생성부-상기 보안키 장치는 상기 생성된 헤더를 암호화하거나 클라우드 서버로부터 다운로드된 파일의 헤더를 복호화 함-, 상기 보안키 장치를 통해 헤더가 암호화되면 암호화된 헤더를 이용하여 상기 클라우드 서버에 업로드될 파일을 암호화하거나, 상기 보안키 장치를 통해 헤더가 복호화되면 복호화된 헤더를 이용하여 상기 클라우드 서버로부터 다운로드된 파일을 복호화하는 파일 암복호화부를 포함할 수 있다.
또한, 상기 헤더생성부는 상기 생성된 헤더를 상기 세션키로 암호화하여 상기 보안키 장치로 전송할 수 있다.
또한, 상기 세션키 생성부는, 상기 보안키장치의 연결이 감지되면 패스워드를 입력받아 상기 보안키 장치로 공개키를 요청하고, 인증을 위한 랜덤값을 포함하는 인증값 데이터를 생성하여 공개키로 암호화하여 상기 보안키장치로 전송하며, 상기 보안키장치로부터 응답을 위한 랜덤값을 포함하는 응답값 데이터를 수신하면, 상기 인증을 위한 랜덤값 및 상기 응답을 위한 랜덤값을 이용하여 세션키를 생성할 수 있다.
한편, 상기와 같은 목적을 달성하기 위한 본 발명의 바람직한 일실시 예에 따른 보안 클라우드 서비스를 위한 보안키장치는 사용자 단말에 착탈가능하도록 연결되고, 상기 사용자 단말에 설치된 에이전트와의 인터페이스를 제공하는 인터페이스부, 암호화된 헤더를 저장하기 위한 저장부-상기 헤더는 클라우드 서버에 공유하기 위한 파일을 암복호화하기 위해 랜덤값으로 생성되는 암호화 키 임-, 상기 에이전트로부터 상기 클라우드 서버로 업로드할 파일에 대한 헤더를 수신하면 이를 암호화하여 상기 저장부에 저장한 후 상기 에이전트로 전송하고, 상기 클라우드 서버로부터 다운로드된 파일에 대한 암호화된 헤더를 수신하면 이를 저장부에 저장한 후 상기 암호화된 헤더를 복호화하여 상기 에이전트로 전송하는 암복호화 변환지원 컨트롤러를 포함할 수 있다.
또한, 상기 에이전트로부터 공개키가 요청되면 공개키를 전송하고 인증을 위한 랜덤값을 포함하는 인증값 데이터를 수신하며, 응답을 위한 랜덤값을 포함하는 응답값 데이터를 생성하여 상기 에이전트로 전송하고, 상기 에이전트로부터 세션키를 수신하면 상기 에이전트와의 세션을 형성하는 보안인증칩-상기 세션키는 상기 인증을 위한 랜덤값 및 상기 응답을 위한 랜덤값을 이용하여 상기 에이전트에 의해 생성됨-을 더 포함할 수 있다.
또한, 상기 보안인증칩은, 상기 암호화된 헤더 또는 상기 복호화된 헤더를 상기 세션키로 암호화하여 상기 에이전트로 전송할 수 있다.
본 발명에 따르면 클라우드 서버가 해킹을 당하는 경우에도 개인 및 기업의 중요 데이터는 열어볼 수 없고, 파일의 헤더(랜덤값을 가지는 암호화키)에 대한 암복호화가 보안키장치에서 처리되므로 개인 PC가 해킹을 당하는 경우에도 암호화 키 유출을 방지할 수 있어 종래에 비해 보안성을 현저하게 향상시킬 수 있는 효과가 있다.
또한, 사용자 단말에 보안키장치 연결시 패스워드 키유도된 랜덤값을 이용하여 세션키를 생성하고, 암복호화된 헤더를 세션키로 암호화하여 전송함으로써 보안성을 보다 향상시킬 수 있는 효과가 있다.
도 1은 본 발명에 따른 보안 클라우드 서비스 제공 시스템의 구성도이다.
도 2는 도 1의 사용자단말기의 에이전트 세부 구성을 도시한 블럭도이다.
도 3은 도 2의 세션키 생성부의 인증값 데이터 생성을 설명하기 위한 도면이다.
도 4는 도 1의 보안키장치의 세부 구성을 도시한 블럭도이다.
도 5는 도 4의 보안인증칩(40)의 응답값 데이터 생성을 설명하기 위한 도면이다.
도 6은 PC 환경에서 보안키장치의 사용을 위한 사전과정을 나타낸 흐름도이다.
도 7은 PC 환경에서 보안키장치를 이용하여 파일을 암호화하여 클라우드 서버로 전송하는 과정을 나타낸 흐름도이다.
도 8은 모바일 환경에서 클라우드 서비스를 이용하여 파일을 복호화하는 과정을 도시한 흐름도이다.
도 9는 사용자 단말에 보안키장치의 연결시 사용자 인증 과정을 도시한 흐름도이다.
도 10은 파일 업로드시에 보안키장치에서 파일의 헤더를 암호화하는 과정을 나타낸 것이다.
도 11은 파일 다운로드시에 보안키장치에서 파일의 헤더를 복호화하는 과정을 나타낸 것이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다.
반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.
일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명에 따른 보안 클라우드 서비스 제공 시스템의 구성도이고, 도 2는 도 1의 에이전트의 세부구성을 도시한 블럭도이며, 도 4는 도 1의 보안키장치의 세부 구성을 도시한 블럭도이다.
도 1에 도시된 바와 같이, 본 발명에 따른 보안 클라우드 서비스 제공 시스템은 사용자 단말(1)과 보안키장치(2)와 클라우드 서버(3)를 포함하여 구성된다. 사용자 단말(1)은 사용자 파일이 저장되는 장치로서, PC, 노트북, 태블릿 PC, 스마트폰 등 파일의 저장, 표시 기능과 인터넷에 접속가능한 통신환경을 갖춘 각종 단말기를 의미하며, 도 1에서는 1A는 PC, 1B는 태블릿 PC, 1C는 스마트폰을 나타낸다.
또한, 클라우드 서버(3)는 사용자 파일의 공유를 위한 클라우드 서비스를 제공하는 장치로서, 영화, 사진, 음악 등 미디어 파일 문서 주소록 등 사용자의 콘텐츠를 저장해 두고 사용자 PC, 스마트폰, 스마트TV를 포함한 사용자 단말의 요청시 사용자 단말에서 서버에 저장된 콘텐츠를 다운로드받아 사용할 수 있도록 한다. 국내 클라우드 서비스로는 네이버 N드라이브, KT 유클라우드, 다음 클라우드가 있고, 외국 클라우드 서비스로는 드롭박스(Dropbox), 박스(Box), 슈기싱크(Sugarsync), 구글드라이브(Googledrive), 스카이 드라이브(Sky Drive) 등이 있다.
도 2에 도시된 바와 같이, 사용자 단말(1)에는 본 발명에 따른 보안 클라우드 서비스를 제공하기 위한 에이전트(100)가 설치되어 있다. 에이전트(100)는 이벤트 감지부(110), 세션키 생성부(120), 헤더 생성부(130) 및 파일 암복호화부(140)를 포함할 수 있다.
이벤트 감지부(110)는 파일의 이벤트 발생을 감지할 수 있다. 여기서, 이벤트는 업로드할 파일 및 다운로드된 파일의 생성, 복사, 삭제 등이 될 수 있다.
여기서, 업로드할 파일의 생성 및 복사 등과 같이 암호화가 필요한 파일의 발생은 제1 이벤트가 될 수 있으며, 다운로드된 파일의 생성 및 삭제 등과 같이 복호화가 필요한 파일의 발생은 제2 이벤트가 될 수 있다.
헤더 생성부(130)는 파일의 업로드 및 복사 등의 제1이벤트가 감지되면, 랜덤값을 가지는 헤더를 생성하여 보안키장치(2)로 전송할 수 있다. 여기서, 헤더는 파일을 암복호화하기 위한 암호화 키로 제1이벤트 발생시 마다 랜덤한 값으로 생성될 수 있다.
또한, 헤더생성부(130)는 파일의 다운로드 및 삭제 등의 제2이벤트가 감지되면, 클라우드 서버(3)에서 다운로드된 파일의 헤더를 보안키장치(2)로 전송할 수 있다.
이벤트 감지부(110)는 사용자가 클라우드 서버(3)로 파일을 업로드하려는 경우 및 파일을 복사하려는 경우에, 보안키장치(2)의 연결 여부를 감지하여 보안키장치(2)가 연결중인 경우에만 보안키장치(2)에서 업로드 대상 파일의 헤더에 대한 암호화 동작을 개시하도록 하여 보안성을 강화할 수 있다.
또한, 이벤트 감지부(110)는 사용자가 클라우드 서버(3)로부터 암호화된 파일을 다운로드하여 저장하려고 하는 경우 및 파일을 삭제하려는 경우에, 보안키장치(2)의 연결 여부를 감지하여 보안키장치(2)가 연결중인 경우에만 보안키장치(2)에서 암호화된 파일의 헤더에 대한 복호화 동작을 개시하도록 할 수 있다.
세션키 생성부(120)는 보안키장치(2)의 연결이 감지되면, 사용자인증을 통해 물리적으로 연결된 보안키장치(2)와의 논리적 연결을 위한 세션을 형성할 수 있다.
세션키 생성부(120)는 사용자 단말(1)에 보안키장치(2) 연결시 패스워드로 키유도된 인증 랜덤값을 공개키로 암호화한 인증값을 보안키장치(2)에 전송하고, 보안키장치(2)로부터 인증값에 대한 응답값을 수신하여 세션키를 생성하여 보안키장치(2)로 전송함으로써 보안키장치(2)와의 세션을 형성할 수 있다.
구체적으로, 세션키 생성부(120)는 보안키장치(2)의 물리적연결을 감지하면, 사용자로부터 패스워드를 입력받을 수 있다. 또한, 세션키 생성부(130)는 패스워드 입력시 보안키장치(2)로부터 공개키를 요청하여 수신할 수 있다. 한편, 인증값 생성에 대한 설명은 도 3을 참고하여 설명할 수 있다.
도 3은 도 2의 세션키 생성부의 인증값 데이터 생성을 설명하기 위한 도면이다.
세션키 생성부(130)는 패스워드로 키유도된 인증 랜덤값을 생성할 수 있다. 여기서, 인증 랜덤값은 AES(Advanced Encryption Standard) 알고리즘을 이용하여 생성할 수 있으며, CBC(Cipher Block Chaining) 모드로 암호화될 수 있다.
여기서, 인증 랜덤값(key)은 CBC모드에서 하기의 수식을 이용하여 16바이트로 생성될 수 있다.
Tempkey = 패스워드(20)Ⅱpadding(12)
Key = E(SNOⅡ SNO-1), Tempkey)
인증 랜덤값은 IV(Initialization Vector:초기화벡터)와 패스워드 최초평문 1블록과 XOR연산하여 암호화하고, 다음 평문(SNO)은 이전에 암호화된 결과 블록(SNO-1)과 XOR연산하는 과정을 반복수행하여 얻어질 수 있다. 여기서, 마지막 블록은 패딩된 블록이 될 수 있다.
세션키 생성부(120)는 패스워드 키유도된 16바이트의 인증 랜덤값이 생성되면, 앞의 8바이트(제1랜덤값:220) 및 뒤의 8바이트(제2랜덤값:230)로 분리하고, 각 랜덤값 앞에 패스워드 문자열(210)을 삽입하여 인증값 데이터의 제1블록 및 제2블록을 생성할 수 있다.
예를 들어, 패스워드가 “SZTGBPWD”이고, 상기 수식에서 얻어진 인증 랜덤값이, 0x00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F이면, 제1블록은 “S Z T G B P W D 00 01 02 03 04 05 06 07”가 되고, 제2블록은 “S Z T G B P W D 08 09 0A 0B 0C 0D 0E 0F”가 될 수 있다. 여기서, 제1블록과 제2블록은 패스워드 기반 암호화 규격 PKCS#5(Public Key Crytography Standard)에 따라 암호화될 수 있다.
도 3과 같이, 인증값 데이터(200)는 256 바이트가 될 수 있으며, 16바이트 열을 가지는 다수의 블록으로 구성될 수 있다.
제1블록은 패스워드 문자열(210) 8바이트와 패스워드로 키유도된 제1랜덤값(220) 8바이트로 구성될 수 있다.
제2블록은 패스워드 문자열(210) 8바이트와 패스워드로 키유도된 제2랜덤값(230) 8바이트로 구성될 수 있다.
또한, 제3블록은 보안키장치(2)에서 수신된 공개키의 검증결과에 대한 4바이트의 검증값(240)을 포함할 수 있으며, 나머지 12바이트는 패딩이 적용될 수 있다. 한편, 나머지 블록은 패딩이 적용될 수 있다. 즉, 패딩(250)으로 220바이트가 적용될 수 있다.
세션키 생성부(120)는 도 3의 인증값 데이터 256바이트를 보안키장치(2)에서 수신된 공개키로 RSA암호화하여 보안키장치(2)로 전송할 수 있다. 또한, 세션키 생성부(120)는 암호화된 인증값 데이터에 대한 응답으로, 보안키장치(2)로부터 패스워드로 암호화된 응답값 데이터를 수신하여 세션키를 생성하고, 생성된 세션키를 보안키장치(2)로 전송함으로써 세션을 형성할 수 있다.
헤더 생성부(130)는 제1이벤트가 감지된 파일에 대한 헤더를 생성하고, 생성된 헤더를 세션키 생성부(120)에서 생성된 세션키로 암호화하여 보안키장치(2)로 전송할 수 있다.
여기서, 업로드파일에 대하여 생성된 헤더는 보안키장치(2)에서 암호화된 후, 파일 암복호화부(140)로 전송될 수 있다. 또한, 다운로드 파일에 대한 헤더는 보안키장치(2)에서 복호화된 후, 파일 암복호화부(140)로 전송될 수 있다.
파일 암복호화부(140)는 보안키장치(2)에서 암호화된 헤더를 이용하여 제1이벤트가 감지된 파일을 암호화하고, 암호화된 파일을 클라우드 서버(3)로 업로드 할 수 있다.
또한, 파일 암복호화부(140)는 보안키장치(2)에서 복호화된 헤더를 이용하여 제2이벤트가 감지된 파일을 복호화하여 사용자단말기(1)에서 실행될 수 있게 한다.
보안키장치(2)는 사용자 단말(1)에 착탈 가능하게 연결되어 사용자 단말(1)에 연결된 상태에서 동작하며, 이벤트 감지부(110)에서 이벤트 발생이 감지된 파일의 헤더를 헤더 생성부(130)로부터 수신하고, 이에 대하여 암호화 또는 복호화를 수행하여 파일 암복호화부(140)로 전송할 수 있다.
구체적으로, 보안키 장치(2)는 파일 업로드 작업에서는 헤더 생성부(130)로부터 수신된 헤더를 암호화하여 파일 암복호화부(140)로 전송하고, 파일 다운로드 작업에서는 클라우드 서버(3)로부터 다운로드된 암호화 파일의 헤더를 헤더 생성부(130)로부터 수신하면, 이를 복호화하여 파일 암복호화부(140)로 전송하는 기능을 수행한다. 또한, 파일의 복사, 삭제 등의 이벤트 발생시에도 암복화과정을 수행할 수 있다.
한편, 도 4에는 보안키장치(2)의 세부 구성이 도시되어 있다. 도 4에 도시된 바와 같이, 보안키장치(2)는 인터페이스부(10A, 10B), 암복호화 변환지원 컨트롤러(20), 저장부(30) 및 보안인증칩(40)을 포함하여 구성된다.
인터페이스부(10A, 10B)는 사용자 단말(1)에 전기적으로 연결하기 위한 커넥터로서 인터페이스의 일례로서 USB 커넥터(10A)와 마이크로 USB 커넥터(10B)가 도시되어 있으나 그외 각종 인터페이스 장치가 사용될 수 있다.
암복호화 변환지원 컨트롤러(20)는 내부에 저장되어 있는 암호화 키와 암복호화 엔진 블록을 통해 이벤트 발생 파일의 헤더에 대하여의 암호화 또는 복호화를 수행하고, 본 발명의 보안키장치(2)를 백업용 메모리로 사용하는 경우에는 데이터의 백업을 위한 제어 동작을 수행한다.
여기서, 암호화 및 복호화 수행시, 파일의 헤더 부분만 암호화 및 복호화함으로써 송수신되는 데이터를 경량화하고, 처리속도를 향상시킬 수 있다.
또한, 암복호화 변환지원 컨트롤러(20)는 보안키장치(2)가 사용자 단말(1)에 연결되는 경우 보안인증칩(40)을 통해 사용자 인증을 수행하여 사용자 인증이 이루어지는 경우에만 암호화 또는 복호화 동작을 수행한다. 여기서, 사용자 인증은 사용자에 의해 입력되는 패스워드로 키유도된 랜덤값을 공개키로 암호화한 인증값 및 인증값에 대한 응답값을 이용하여 세션키를 수립함으로써 수행될 수 있다.
저장부(30)는 암호화된 헤더를 저장하는 것으로서, 저장영역을 분할하여 일부 영역은 일반 스토리지 영역으로서 사용되고 나머지 일부 영역은 암호화 헤더가 저장되도록 할 수 있다. 저장부(30)는 일반적인 USB 메모리로 사용되는 플래시 메모리 및 다양한 저장매체를 포함한다.
보안인증칩(40)은 보안키장치(2)가 사용자 단말(1)에 연결되는 경우 사용자 인증을 수행하여 보안 기능을 제공하는 칩으로서, 사용자 인증 수단으로서 패스워드 정보, 사용자 지문정보, OTP값을 생성하는 OTP 생성모듈 중 적어도 하나 이상을 저장할 수 있다.
패스워드 정보는 사용자가 미리 설정된 비밀번호 정보로서 암호화 키와는 별개의 정보이다. 그리고, 사용자 지문정보를 통한 사용자 인증을 위해서는 보안키장치(2)의 내부 또는 외부에 지문인식장치가 설치되어 있어야 한다.
OTP 생성 모듈은 임의의 난수와 증가되는 값 또는 시간을 암호 알고리즘의 입력 값으로 사용해서 OTP 값을 생성하고, 이를 인증 서버로 보내서 사용자를 인증하는 것이다.이러한 다중 인증 과정을 통해 보안키장치의 보안을 강화할 수 있게 된다. 한편, 이와 같이 다중 인증 과정을 통해 보안키장치의 보안성은 향상되나, 사용자가 보안키장치(2)를 분실할 경우에는 클라우드 서버(3)에 업로드된 암호화 파일을 열어볼 수 없는 문제점이 발생한다. 따라서 이러한 점을 우려하는 사용자 및 공동작업자들을 위해서 보안키장치 제품을 2개 또는 그 이상 개수를 사용하는 기업 및 단체를 위해서 동일한 암호화 키를 가지는 제품을 복수 개 판매 제공하여 분실에 대한 대책을 제공할 수 있을 것이다.
그리고, 여러 사람이 공동작업 형태로 진행되는 파일의 이력을 관리하기 위해서는 별도의 에이전시 서버 서비스와 연동하도록 관리하는 것도 가능하다. 즉 공동 사용자를 위한 복수 개의 보안키장치는 하나의 동일한 암호화 키를 사용하지만, 보안키장치마다 각 장치를 구분할 수 있는 식별정보를 할당하여 공동 작업중인 파일을 어떤 사용자가 마지막으로 수정하였는지, 언제 복사를 하였는지 등의 이력을 관리할 수도 있다.
한편, 보안인증칩(40)은 사용자인증시, 에이전트(100)의 세션키 생성부(120)로부터 수신된 인증값 데이터에 대한 응답값 데이터를 생성하여 에이전트(100)로 전송하고, 이를 이용하여 에이전트(100)에서 생성된 세션키를 수신하여 에이전트(100)와의 세션을 형성할 수 있다. 한편, 이에 대한 설명은 도 5를 통해 구체적으로 설명할 수 있다.
도 5는 도 4의 보안인증칩(40)의 응답값 데이터 생성을 설명하기 위한 도면이다.
보안인증칩(40)은 세션키 생성부(130)로부터 인증값 데이터를 수신하면, 패스워드를 이용하여 복호화하여 패스워드의 일치여부를 검증할 수 있다.
보안인증칩(40)은 패스워드가 일치하는 것으로 검증되면, 패스워드로 키유도된 응답 랜덤값을 생성할 수 있다. 여기서, 응답 랜덤값은 인증 랜덤값 생성과 동일한 알고리즘을 이용하여 생성할 수 있다. 즉, AES(Advanced Encryption Standard) 알고리즘을 이용하여 생성할 수 있으며, CBC(Cipher Block Chaining) 모드로 암호화될 수 있다.
여기서, 응답 랜덤값(key1)은 CBC모드에서 하기의 수식을 이용하여 16바이트로 생성될 수 있다.
Tempkey = 패스워드(20)Ⅱpadding(12)
Key = E(SNOⅡ SNO-1), Tempkey1)
응답 랜덤값은 IV(Initialization Vector:초기화벡터)와 패스워드 최초평문 1블록과 XOR연산하여 암호화하고, 다음 평문(SNO)은 이전에 암호화된 결과 블록(SNO-1)과 XOR연산하는 과정을 반복수행하여 얻어질 수 있다.
보안인증칩(40)은 패스워드 키유도된 16바이트의 응답 랜덤값이 생성되면, 앞의 8바이트(제3랜덤값:320) 및 뒤의 8바이트(제4랜덤값:330)으로 분리하고, 각 랜덤값 앞에 패스워드 문자열(310)을 삽입하여 응답값 데이터(300)의 제1블록 및 제2블록을 생성할 수 있다.
도 5와 같이, 응답값 데이터(300)는 32 바이트가 될 수 있으며, 16바이트 열을 가지는 제1블록 및 제2블록으로 구성될 수 있다.
제1블록은 패스워드 문자열(310) 8바이트와 패스워드로 키유도된 제3랜덤값(320) 8바이트로 구성될 수 있다.
제2블록은 패스워드 문자열(310) 8바이트와 패스워드로 키유도된 제4랜덤값(330) 8바이트로 구성될 수 있다.
보안인증칩(40)은 도 5의 인증값 데이터 32바이트를 패스워드로 암호화하여 세션키 생성부(120)로 전송할 수 있다.
보안인증칩(40)은 세션키 생성부(120)로부터 세션키를 수신받으면 세션을 형성할 수 있다.
여기서, 세션키는 세션키 생성부(120)에서 생성한 인증 랜덤값 및 세션키 생성부에서 보안키장치(2)로부터 수신한 응답값 데이터에 포함된 응답 랜덤값을 이용하여 세션키 생성부(120)에 의해 생성될 수 있다.
도 6은 PC 환경에서 보안키장치의 사용을 위한 사전과정을 나타낸 흐름도이다.
보안키장치(2)가 사용자 PC에 접속되면(S100), 사용자 PC에 탑재되어 있는 에이전트(100)가 구동된다(S110). 에이전트(100)는 보안키장치(2)와 연동하여 보안 클라우드 서비스를 제공하기 위한 것으로서, 클라우드 동기화 시 암호화 대상 파일이 인식되면, 헤더생성부(130)에서 생성한 암호화 대상 파일의 헤더를 보안키장치(2)로 보내 하드웨어적으로 헤더가 암호화되도록 하고 클라우드 서버(3)로부터 다운로드된 암호화 파일의 헤더를 보안키장치(2)를 통해 복호화하고 보안키장치(2)의 접속 여부에 따라 자동 암호화 및 자동 암호화 해제 동작을 수행하도록 제작된 프로그램이다.
에이전트(100)가 구동되면, 보안키장치(2)의 제조사의 홈페이지로 연결되어 해당 홈페이지에서 사용자 등록 및 회원가입을 하도록 유도한 후(S120), 사용자 인증이 이루어진다(S130). 사용자 인증은 상술한 바와 같이, 패스워드, 지문정보, OTP 등 다양한 방식으로 이루어질 수 있으며, 패스워드로 키유도된 랜덤값을 이용하여 세션키를 생성함으로써 보안성을 더욱 높일 수 있다..
그 다음, 에이전트(100)는 사용자로 하여금 클라우드 서버(3)와 동기화할 클라우드 암호화 동기 폴더를 지정 또는 생성하도록 안내한다(S140). 여기서, 클라우드 암호화 동기 폴더는 해당 폴더에 저장되는 모든 파일이 보안키장치(2)에서 전송된 암호화된 헤더로 암호화된 후 클라우드 서버(3)로 전송될 수 있다.
또는 클라우드 암호화 동기 폴더는 암호화 과정 없이 클라우드 서버(3)로 파일을 전송하도록 하는 일반 동기 폴더와 파일을 헤더로 암호화하여 클라우드 서버(3)로 업로드 하기 위한 보안 동기 폴더로 구분될 수도 있다. 이 경우, 에이전트는 클라우드 암호화 동기 폴더의 하위 폴더로서 보안 동기 폴더를 생성할 수 있고, 보안 동기 폴더에 저장되는 파일에 대해서만 보안 클라우드 서비스 동작을 수행할 수 있다(S150).
도 7은 PC 환경에서 보안키장치를 이용하여 파일을 암호화하여 클라우드 서버로 전송하는 과정을 나타낸 흐름도이다.
사용자 PC에 탑재된 에이전트(100)는 보안키장치(2)가 사용자 PC에 접속되는지를 감지하고(S201), 보안키장치(2)의 접속이 감지되는 경우 사용자 인증을 수행하여 세션키를 생성할 수 있다(S202). 한편, 사용자 인증에 대한 구체적인 설명은 도 9에서 설명할 수 있다.
에이전트(100)는 클라우드 서버(3)로 업로드될 파일의 생성 및 복사 등의 제1이벤트를 감지하고(S203), 제1이벤트가 감지되는 경우 해당 파일에 대한 헤더를 생성할 수 있다(S204). 여기서, 헤더는 제1이벤트가 감지된 파일을 암호화하기 위한 암호화 키 값으로, 랜덤한 값으로 생성될 수 있다.
다음으로, 생성된 헤더를 S202단계에서 생성된 세션키로 암호화하여 보안키장치로 전송할 수 있다(S205). 에이전트(100)는 보안키장치(2)에 의해 전송된 헤더가 암호화되어 수신되면(S206), 암호화된 헤더를 이용하여 제1이벤트가 감지된 파일을 암호화할 수 있다(S207).
에이전트(100)는 업로드될 파일이 암호화되면, 암호화 파일을 해당 폴더에 저장한다(S208). 암호화 파일은 암호화 대상 범위에 따라 클라우드 암호화 동기 폴더 또는 그 하위의 보안 동기 폴더에 저장되며, 각 경우에 해당 폴더에 저장된 파일은 클라우드 어플리케이션의 실행에 의해 클라우드 서버(3)로 전송된다.
만일, 이러한 자동 암호화 동작이 수행되는 동안 보안키장치(2)의 제거 즉 접속해제가 감지되면(S209), 에이전트(100)는 자동 암호화를 해제하고(S210), 해당 폴더 내의 파일들을 제거하여 클라우드 서버(3)와의 동기화를 방지한다.
도 8은 모바일 환경에서 클라우드 서비스를 이용하여 파일을 복호화하는 과정을 도시한 흐름도이다.
우선, 클라우드 서비스를 제공하기 위한 클라우드 어플리케이션이 실행되어(S301), 암호화 파일이 클라우드 서버(3)로부터 모바일 단말로 다운로드되면, 제2이벤트가 발생된 것으로 감지할 수 있다(S302).
암호화 파일이 수신되면, 보안 클라우드 서비스를 위한 에이전트(100)가 구동되어, 보안키장치(2)의 접속 여부를 모니터링한다.
보안키장치(2)가 모바일 단말에 연결되면(S303), 사용자 인증을 통해 세션키를 생성하여 에이전트(100)와의 세션을 형성하고(S304), 사용자 인증이 완료되면 에이전트는 수신된 암호화 파일의 헤더를 S304단계에서 생성된 세션키로 암호화하여 보안키장치(2)로 전송할 수 있다(S305).
에이전트(100)는 보안키 장치(2)를 통해 헤더가 복호화되어(S306) 전송되면, 복호화된 헤더를 이용하여 파일을 복호화할 수 있다(S307).
사용자 단말(1)은 복호화된 파일을 실행하여 화면상에 표시할 수 있다.
만일, 이러한 다운로드 파일 실행 동작이 수행되는 동안 보안키장치(2)의 제거 즉 연결해제가 감지되면(S308), 에이전트(100)는 자동 복호화를 해제하고 해당 폴더 내의 복호화된 캐쉬파일들을 제거하여 해당 파일의 실행을 방지한다(S309).
도 9는 사용자 단말에 보안키장치의 연결시 사용자 인증 과정을 도시한 흐름도이다. 한편, 도 9의 설명을 위해, 도 2 내지 도 5를 참조하여 설명할 수 있다.
에이전트(100)가 설치된 사용자단말(1)에 보안키장치(2)의 물리적 연결이 감지되면, 에이전트(100)는 사용자로부터 패스워드를 입력받을 수 있다(S410).
에이전트(100)는 사용자로부터 패스워드가 입력되면, 보안키장치(2)로 공개키를 요청할 수 있다(S420). 보안키장치(2)가 공개키 요청에 응답하여 공개키를 전송하면(S430), 에이전트(100)는 공개키를 수신하여 저장할 수 있다(S440).
다음으로, 에이전트(100)의 세션키 생성부(120)는 입력된 패스워드로 키유도된 인증 랜덤값을 생성할 수 있다(S450). 여기서, 인증 랜덤값은 AES(Advanced Encryption Standard) 알고리즘을 이용하여 생성할 수 있으며, CBC(Cipher Block Chaining) 모드로 암호화될 수 있다.
여기서, 인증 랜덤값은 16바이트로, 앞의 8바이트를 제1랜덤값, 뒤의 8바이트를 제2랜덤값으로 분리하여 인증값 데이터를 생성하는데 이용할 수 있다.
다음으로, 에이전트(100)의 세션키 생성부(120)는 생성된 인증 랜덤값을 이용하여 인증값 데이터를 생성하고, 이를 보안키장치(2)로부터 수신한 공개키로 암호화하여(S460), 보안키 장치(2)로 전송할 수 있다.
여기서, 인증값 데이터는 256바이트로, 패스워드, 인증 랜덤값, 공개키 검증값 및 패딩 등으로 구성될 수 있다. 한편, 인증 랜덤값 및 인증값 데이터 생성에 대한 설명은 도 3에 상술하였으므로, 이하 생략하도록 한다.
보안키 장치(2)는 에이전트(100)로부터 수신한 암호화된 인증값 데이터를 패스워드를 이용하여 복호화함으로써 패스워드를 검증할 수 있다(S470).
다음으로, 보안키 장치(2)는 패스워드로 키유도된 응답 랜덤값을 생성할 수 있다(S480). 여기서, 응답 랜덤값은 AES(Advanced Encryption Standard) 알고리즘을 이용하여 생성할 수 있으며, CBC(Cipher Block Chaining) 모드로 암호화될 수 있다.
여기서, 응답 랜덤값은 16바이트로, 앞의 8바이트(제3랜덤값)와 뒤의 8바이트(제4랜덤값)를 분리하여 응답값 데이터를 생성하는데 이용할 수 있다.
다음으로, 보안키장치(2)는 생성된 응답 랜덤값을 이용하여 응답값 데이터를 생성하고(S490), 이를 패스워드로 암호화하여(S500), 에이전트(100)로 전송할 수 있다(S510).
다음으로, 에이전트(100)는 S450단계에서 생성한 인증랜덤값 및 보안키장치(2)에서 수신한 응답값 데이터내에 포함된 응답랜덤값을 이용하여 세션키를 생성하고(S500), 생성된 세션키를 보안키장치(2)로 전송할 수 있다.
다음으로, 보안키장치(2)는 세션키가 수신되면 에이전트(100)와 논리적으로 연결하는 세션을 형성함으로써, 로그인시킬 수 있다(S510).
도 10은 파일 업로드시에 보안키장치에서 파일의 헤더를 암호화하는 과정을 나타낸 것이고, 도 11은 파일 다운로드시에 보안키장치에서 파일의 헤더를 복호화하는 과정을 나타낸 것이다. 도 10과 도 11에서는 USB 커넥터(10A)에 사용자 단말(1)이 접속된 경우가 예시적으로 설명되어 있다.
우선, 도 10을 참조하면 파일 업로드시에 에이전트(100)로부터 보안키장치(2)로의 데이터 흐름은 실선 화살표로, 반대의 경우는 점선 화살표로 표시되어 있다.
에이전트(100)로부터 업로드할 원본 파일을 암호화하기 위한 헤더가 입력되면(S1), 암복호화 변환지원 컨트롤러(20)는 수신된 원본 파일의 헤더를 암호화하고(S2), 암호화된 헤더를 저장부(30)에 저장한 후(S3), 저장부(30)에 저장된 암호화된 헤더를 에이전트(100)로 이동시킨다(S4).
에이전트(100)는 암호화된 헤더를 수신하여, 업로드할 원본 파일을 암호화하여 클라우드 서버(3)로 업로드할 수 있다.
이어 도 11을 참조하면 파일 업로드시에 에이전트(100)로부터 보안키장치(2)로의 데이터 흐름은 실선 화살표로, 반대의 경우는 점선 화살표로 표시되어 있다.에이전트(100)로부터 클라우드 서버(3)로부터 다운로드된 암호화 파일의 헤더가 입력되면(S11), 암복호화 변환지원 컨트롤러(20)는 수신된 암호화된 헤더를 통과(Pass Through)시켜 저장부(30)에 저장하고(S12), 저장부(30)에 저장된 암호화 헤더를 복호화한 후(S13), 복호화된 헤더를 에이전트(100)로 이동시킨다(S14).
에이전트(100)는 복호화된 헤더를 수신하여, 다운로드된 암호화된 파일을 복호화하여 사용자단말기(1)에서 실행될 수 있게 한다.한편, 파일의 업로드 및 다운로드와 같은 파일의 생성 외에, 복사, 삭제 등의 이벤트 발생시에도 도 10 및 도 11과 같은 데이터 흐름에 따라 암복호화를 수행할 수 있다.
상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다.
1 : 사용자 단말 2 : 보안키장치
3 : 클라우드 서버 10 : 인터페이스부
20 : 암복호화 변환지원 컨트롤러 30 : 저장부
40 : 보안인증칩 100 : 에이전트
110 : 이벤트 감지부 120 : 세션키 생성부
130 : 헤더 생성부 140 : 파일 암복호화부

Claims (6)

  1. 사용자 단말에 설치된 에이전트에서, 상기 사용자 단말로부터 클라우드 서버로 업로드할 파일이 수신되면, 상기 업로드할 파일을 암호화하기 위한 랜덤값을 가지는 헤더를 생성하는 헤더생성단계;
    상기 에이전트에서, 상기 사용자 단말에 탈부착 가능하게 연결되는 보안키장치의 물리적 연결이 감지되면, 상기 보안키장치와의 세션형성을 위한 세션키를 생성하는 세션키 생성단계;
    상기 에이전트에서, 상기 클라우드 서버로 업로드할 파일 또는 클라우드 서버로부터 다운로드된 파일 발생시, 해당 파일의 헤더만 상기 보안키장치로 전송하는 헤더전송단계;
    상기 보안키 장치에서, 클라우드 서버에 업로드할 파일의 헤더가 전송되면 전송된 헤더를 암호화하고 클라우드 서버로부터 다운로드된 파일의 헤더가 전송되면 전송된 헤더를 복호화하여 상기 에이전트로 전송하는 암복호화 헤더 전송단계;
    상기 에이전트에서, 암호화 또는 복호화된 헤더를 수신하면, 업로드 파일을 상기 암호화된 헤더로 암호화하여 클라우드 서버와 동기화되는 동기폴더에 저장하여 상기 클라우드 서버로 업로드시키거나 상기 다운로드된 파일을 상기 복호화된 헤더로 복호화하여 사용자 단말로 제공하는 단계; 및
    상기 에이전트에서, 상기 보안키장치의 접속해제가 감지되면, 자동 암복호화를 해제하고, 상기 동기폴더 내의 파일 및 복호화된 캐쉬파일을 제거하는 단계를 포함하는 보안클라우드 서비스 제공 방법.
  2. 제1항에 있어서,
    상기 세션키 생성단계는,
    상기 에이전트에서, 상기 보안키장치의 물리적 연결이 감지되면 상기 보안키 장치로 공개키를 요청하여 수신하는 단계;
    상기 에이전트에서, 인증을 위한 랜덤값을 포함하는 인증값 데이터를 생성하고 상기 공개키로 암호화하여 상기 보안키장치로 전송하는 단계;
    상기 보안키장치에서, 응답을 위한 랜덤값을 포함하는 응답값 데이터를 생성하여 비밀번호로 암호화하여 상기 에이전트로 전송하는 단계;
    상기 에이전트에서, 상기 생성한 인증을 위한 랜덤값 및 상기 보안키장치로부터 수신한 응답을 위한 랜덤값을 이용하여 세션키를 생성하여 상기 보안키장치로 전송하는 단계를 포함하는 보안클라우드 서비스 제공 방법.
  3. 제1항에 있어서,
    상기 헤더전송단계는,
    상기 생성된 헤더를 상기 세션키로 암호화하여 상기 보안키 장치로 전송하는 것을 특징으로 하는 보안클라우드 서비스 제공방법.
  4. 사용자 단말에 착탈 가능하도록 연결되고, 상기 사용자 단말에 설치된 에이전트와의 인터페이스를 제공하는 인터페이스부;
    암호화된 헤더를 저장하기 위한 저장부;
    상기 에이전트로부터 클라우드 서버로 업로드할 파일에 대한 헤더를 수신하면 수신된 헤더를 암호화하여 상기 저장부에 저장한 후 상기 에이전트로 전송하고, 상기 클라우드 서버로부터 다운로드된 파일의 암호화된 헤더를 수신하면 수신된 암호화된 헤더를 저장부에 저장한 후 상기 암호화된 헤더를 복호화하여 상기 에이전트로 전송하는 암복호화 변환지원 컨트롤러-상기 헤더는 클라우드 서버에 업로드할 파일이 감지된 경우 업로드할 파일을 암호화하기 위해 에이전트에 의해 랜덤값으로 생성되는 암호화 키 임-
    상기 에이전트는,
    상기 사용자 단말에 상기 인터페이스부가 물리적으로 연결되고 세션이 형성되면, 상기 업로드할 파일에 대한 헤더 또는 다운로드된 파일의 암호화된 헤더를 상기 인터페이스부를 통해 전송하고,
    상기 인터페이스부를 통해 상기 암호화된 헤더가 수신되면 업로드할 파일을 암호화된 헤더로 암호화하고 클라우드 서버와 동기화되는 동기폴더에 저장하여 상기 클라우드 서버로 업로드시키며, 상기 복호화된 헤더가 수신되면 상기 다운로드된 파일을 복호화된 헤더로 복호화하여 사용자 단말로 제공하고,
    상기 인터페이스부의 접속해제가 감지되면, 자동 암복호화를 해제하고, 상기 동기폴더 내의 파일 및 복호화된 캐쉬파일을 제거하는 것을 특징으로 하는 보안 클라우드 서비스를 위한 보안키장치.
  5. 제4항에 있어서,
    상기 에이전트로부터 공개키가 요청되면 공개키를 전송하고 인증을 위한 랜덤값을 포함하는 인증값 데이터를 수신하며, 응답을 위한 랜덤값을 포함하는 응답값 데이터를 생성하여 상기 에이전트로 전송하고, 상기 에이전트로부터 세션키를 수신하면 상기 에이전트와의 세션을 형성하는 보안인증칩-상기 세션키는 상기 인증을 위한 랜덤값 및 상기 응답을 위한 랜덤값을 이용하여 상기 에이전트에 의해 생성됨-을 더 포함하는 것을 특징으로 하는 보안 클라우드 서비스를 위한 보안키장치.
  6. 제5항에 있어서,
    상기 보안인증칩은,
    상기 암호화된 헤더 또는 상기 복호화된 헤더를 상기 세션키로 암호화하여 상기 에이전트로 전송하는 것을 특징으로 하는 보안 클라우드 서비스를 위한 보안키장치.
KR1020140107544A 2014-08-19 2014-08-19 보안 클라우드 서비스를 제공하기 위한 에이전트 및 보안 클라우드 서비스를위한 보안키장치 KR101479290B1 (ko)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020140107544A KR101479290B1 (ko) 2014-08-19 2014-08-19 보안 클라우드 서비스를 제공하기 위한 에이전트 및 보안 클라우드 서비스를위한 보안키장치
JP2015095843A JP6172866B2 (ja) 2014-08-19 2015-05-08 セキュリティクラウドサービスを提供するためのエージェントおよびセキュリティクラウドサービスのためのセキュリティ鍵装置
TW104115107A TWI563411B (en) 2014-08-19 2015-05-12 Agent for providing security cloud service and security token device for security cloud service
CA2891610A CA2891610C (en) 2014-08-19 2015-05-13 Agent for providing security cloud service and security token device for security cloud service
AU2015202697A AU2015202697A1 (en) 2014-08-19 2015-05-19 Agent for providing security cloud service and security token device for security cloud service
BR102015011937A BR102015011937A2 (pt) 2014-08-19 2015-05-25 agente para fornecer serviço de segurança na nuvem e dispositivo token de segurança para serviço de segurança na nuvem
RU2015120264A RU2660604C2 (ru) 2014-08-19 2015-05-28 Агент для обеспечения безопасного облачного сервиса и устройство маркеров безопасности для безопасного облачного сервиса

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140107544A KR101479290B1 (ko) 2014-08-19 2014-08-19 보안 클라우드 서비스를 제공하기 위한 에이전트 및 보안 클라우드 서비스를위한 보안키장치

Publications (1)

Publication Number Publication Date
KR101479290B1 true KR101479290B1 (ko) 2015-01-05

Family

ID=52587914

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140107544A KR101479290B1 (ko) 2014-08-19 2014-08-19 보안 클라우드 서비스를 제공하기 위한 에이전트 및 보안 클라우드 서비스를위한 보안키장치

Country Status (7)

Country Link
JP (1) JP6172866B2 (ko)
KR (1) KR101479290B1 (ko)
AU (1) AU2015202697A1 (ko)
BR (1) BR102015011937A2 (ko)
CA (1) CA2891610C (ko)
RU (1) RU2660604C2 (ko)
TW (1) TWI563411B (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101619286B1 (ko) 2015-11-19 2016-05-10 (주)세이퍼존 크로스 플랫폼 기반의 보안시스템
KR20170001486A (ko) 2015-06-26 2017-01-04 안희태 보안 클라우드 서비스
KR101810165B1 (ko) * 2016-01-15 2018-01-25 단국대학교 산학협력단 전자 화폐 단말 및 이를 이용하여 전자 화폐를 제공하는 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101834522B1 (ko) * 2016-04-22 2018-03-06 단국대학교 산학협력단 데이터 확인 장치 및 이를 이용하여 데이터를 확인하는 방법
CN109873787B (zh) * 2017-12-01 2022-09-23 北京安云世纪科技有限公司 一种访问认证方法、装置、***

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988198B1 (ko) * 2010-05-31 2010-10-18 주식회사 아이넵 분산 컴퓨팅 기반 유틸리티 컴퓨팅 환경에서의 정보유출 방지를 위한 암호화 방법 및 이를 위한 시스템

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3119494B2 (ja) * 1991-04-03 2000-12-18 日本電信電話株式会社 カード類の所有者確認方法
JP3073590B2 (ja) * 1992-03-16 2000-08-07 富士通株式会社 電子化データ保護システム、使用許諾者側装置および使用者側装置
DE19629856A1 (de) * 1996-07-24 1998-01-29 Ibm Verfahren und System zum sicheren Übertragen und Speichern von schützbaren Informationen
JPH10260903A (ja) * 1997-03-19 1998-09-29 Hitachi Ltd グループ暗号方法、及びファイル暗号システム
CN1643841A (zh) * 2002-03-20 2005-07-20 皇家飞利浦电子股份有限公司 加密密钥隐藏及恢复的方法和***
US7475241B2 (en) * 2002-11-22 2009-01-06 Cisco Technology, Inc. Methods and apparatus for dynamic session key generation and rekeying in mobile IP
JP4242682B2 (ja) * 2003-03-26 2009-03-25 パナソニック株式会社 メモリデバイス
US20130227286A1 (en) * 2006-04-25 2013-08-29 Andre Jacques Brisson Dynamic Identity Verification and Authentication, Dynamic Distributed Key Infrastructures, Dynamic Distributed Key Systems and Method for Identity Management, Authentication Servers, Data Security and Preventing Man-in-the-Middle Attacks, Side Channel Attacks, Botnet Attacks, and Credit Card and Financial Transaction Fraud, Mitigating Biometric False Positives and False Negatives, and Controlling Life of Accessible Data in the Cloud
JP2009015471A (ja) * 2007-07-03 2009-01-22 Dainippon Printing Co Ltd Usbストレージデバイス
US20100318782A1 (en) * 2009-06-12 2010-12-16 Microsoft Corporation Secure and private backup storage and processing for trusted computing and data services
US9210557B2 (en) * 2011-04-12 2015-12-08 Yahoo! Inc. SMS-initiated mobile registration
ZA201301790B (en) * 2012-03-08 2015-09-30 Oltio (Pty) Ltd A method of authenticating a device and encrypting data transmitted between the device and a server
CN103488915B (zh) * 2013-09-24 2015-12-23 无锡德思普科技有限公司 一种软硬件相结合的双重密钥加密的资源加密解密方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100988198B1 (ko) * 2010-05-31 2010-10-18 주식회사 아이넵 분산 컴퓨팅 기반 유틸리티 컴퓨팅 환경에서의 정보유출 방지를 위한 암호화 방법 및 이를 위한 시스템

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170001486A (ko) 2015-06-26 2017-01-04 안희태 보안 클라우드 서비스
KR101619286B1 (ko) 2015-11-19 2016-05-10 (주)세이퍼존 크로스 플랫폼 기반의 보안시스템
KR101810165B1 (ko) * 2016-01-15 2018-01-25 단국대학교 산학협력단 전자 화폐 단말 및 이를 이용하여 전자 화폐를 제공하는 방법

Also Published As

Publication number Publication date
JP2016046799A (ja) 2016-04-04
CA2891610A1 (en) 2016-02-19
TW201608412A (zh) 2016-03-01
BR102015011937A2 (pt) 2016-07-05
AU2015202697A1 (en) 2016-03-10
CA2891610C (en) 2018-08-28
JP6172866B2 (ja) 2017-08-02
RU2015120264A (ru) 2016-12-20
TWI563411B (en) 2016-12-21
RU2660604C2 (ru) 2018-07-06

Similar Documents

Publication Publication Date Title
KR102330538B1 (ko) 디바이스를 통한 콘텐츠 와이핑 동작 로밍 기법
KR101418797B1 (ko) 안전한 클라우드 서비스를 위한 보안키장치, 보안 클라우드 서비스 제공 시스템 및 보안 클라우드 서비스 제공방법
US10397008B2 (en) Management of secret data items used for server authentication
US20180091487A1 (en) Electronic device, server and communication system for securely transmitting information
CN109510802B (zh) 鉴权方法、装置及***
CN110868291B (zh) 一种数据加密传输方法、装置、***及存储介质
KR101479290B1 (ko) 보안 클라우드 서비스를 제공하기 위한 에이전트 및 보안 클라우드 서비스를위한 보안키장치
CN101605137A (zh) 安全分布式文件***
CN108880812B (zh) 数据加密的方法和***
US10541819B2 (en) Forged command filtering system and related command authentication circuit
US20160315915A1 (en) Method for accessing a data memory of a cloud computer system using a modified domain name system (dns)
CN110708291B (zh) 分布式网络中数据授权访问方法、装置、介质及电子设备
WO2014051558A1 (en) Shared secret identification for secure communication
WO2020123926A1 (en) Decentralized computing systems and methods for performing actions using stored private data
US10187360B2 (en) Method, system, server, client, and application for sharing digital content between communication devices within an internet network
CN102404337A (zh) 数据加密方法和装置
JP2007249507A (ja) 情報漏洩防止方法、情報漏洩防止システム及び情報端末
US20220247729A1 (en) Message transmitting system with hardware security module
CN113434837A (zh) 用于设备身份认证的方法、装置及智慧家庭***
KR101952139B1 (ko) 사용자 단말과 연동된 게이트웨이 서버에서 drm 기능을 제공하는 방법
WO2019216847A2 (en) A sim-based data security system
CN112769783A (zh) 数据传输方法及云服务器、接收端和发送端
TWI828558B (zh) 訊息傳輸系統以及應用其中之使用者裝置與資訊安全硬體模組
CN114329510A (zh) 一种数字授权方法、装置、终端设备及存储介质
KR100959380B1 (ko) 플래시 컨텐츠 제공 방법

Legal Events

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

Payment date: 20171228

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181231

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20191210

Year of fee payment: 6