KR101269095B1 - Remote storage device using mobile phone and method thereof - Google Patents

Remote storage device using mobile phone and method thereof Download PDF

Info

Publication number
KR101269095B1
KR101269095B1 KR1020100127136A KR20100127136A KR101269095B1 KR 101269095 B1 KR101269095 B1 KR 101269095B1 KR 1020100127136 A KR1020100127136 A KR 1020100127136A KR 20100127136 A KR20100127136 A KR 20100127136A KR 101269095 B1 KR101269095 B1 KR 101269095B1
Authority
KR
South Korea
Prior art keywords
host
portable terminal
control application
mobile terminal
storage device
Prior art date
Application number
KR1020100127136A
Other languages
Korean (ko)
Other versions
KR20120065823A (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 KR1020100127136A priority Critical patent/KR101269095B1/en
Publication of KR20120065823A publication Critical patent/KR20120065823A/en
Application granted granted Critical
Publication of KR101269095B1 publication Critical patent/KR101269095B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/04Key management, e.g. using generic bootstrapping architecture [GBA]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 휴대 단말기를 이용한 이동식 저장 장치, 구현 방법 및 그 방법을 기록한 기록매체에 관한 것으로서, 본 발명에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법은 휴대 단말기가 미리 입력된 패스워드로부터 제 1 해시값을 생성하여 저장하고, 호스트에 랜덤값을 전송한 후 호스트로부터 랜덤값에 기초한 제 2 해시값 및 환경 변수를 포함한 네트워크 연결 요청을 수신하고, 제 1 해시값과 제 2 해시값이 일치할 경우 수신된 환경 변수로부터 호스트의 동작 환경을 식별하고, 식별된 동작 환경에 대응하여 휴대 단말기를 이동식 저장 장치로서 제어하는 제어 어플리케이션과 제어 어플리케이션을 설치하기 위한 이벤트 메시지를 호스트에 전송하며, 제어 어플리케이션을 통해 휴대 단말기와 호스트 간에 세션을 생성한다.The present invention relates to a mobile storage device using a mobile terminal, a method of implementing the same, and a recording medium recording the method. The method of implementing the mobile storage device using the mobile terminal according to the present invention is based on a password previously input by the mobile terminal. 1 generates and stores a hash value, sends a random value to the host, receives a network connection request including a second hash value and an environment variable based on the random value from the host, and the first hash value matches the second hash value. In this case, the operating environment of the host is identified from the received environment variable, and a control message for controlling the mobile terminal as a mobile storage device and an event message for installing the control application are transmitted to the host in response to the identified operating environment. Creates a session between the mobile terminal and the host.

Description

휴대 단말기를 이용한 이동식 저장 장치 및 그 구현 방법{Remote storage device using mobile phone and method thereof}Mobile storage device using mobile terminal and its implementation method {Remote storage device using mobile phone and method

본 발명은 휴대 단말기를 이용한 이동식 저장 장치 및 그 구현 방법에 관한 것으로, 특히 사용자가 늘 소지한 채 사용하는 휴대 단말기를 호스트에 연결하여 사용자 개인의 이동식 저장 장치로서 활용할 수 있는 장치, 구현 방법 및 그 구현 방법을 기록한 기록매체에 관한 것이다.The present invention relates to a mobile storage device using a mobile terminal and a method for implementing the same. In particular, an apparatus, an implementation method, and an apparatus that can be used as a mobile storage device for a user by connecting a portable terminal used by a user to a host in particular. A recording medium recording the method of implementation.

컴퓨터 기술과 하드웨어가 빠르게 발전함에 따라 사용자가 언제 어디서나 자기 자신의 데이터에 액세스하기 위한 이른바 '이동식 저장 장치'에 관한 다양한 기술들이 등장하고 있다.With the rapid development of computer technology and hardware, a variety of technologies have emerged regarding so-called 'removable storage devices' for users to access their data anytime and anywhere.

하드웨어적인 구현 방법으로는 물리적 이동식 저장 매체인 USB 메모리 또는 외장형 하드 디스크를 활용하는 방법이 있다. 이러한 USB 메모리나 외장형 하드 디스크는 대용량 저장 매체의 가격이 저렴해지고 그 크기가 소형화됨에 따라 과거에는 상상도 할 수 없을 정도로 여유있는 저장 공간을 제공할 수 있게 되었다. 이러한 하드웨어 이동식 저장 장치는 사용자 자신이 해당 장치를 늘 휴대하고 다니던 중 연결하고자 하는 디바이스 내지 호스트를 발견할 때, 유선으로 연결함으로써 호스트에 의해 이동식 저장 장치로 인식시키고 그 저장 공간을 활용하게 된다.The hardware implementation method is to utilize a USB memory or an external hard disk which is a physical removable storage medium. As USB memory and external hard disks become more inexpensive and smaller in mass storage media, they are able to provide unparalleled storage space in the past. When a user finds a device or host to be connected while carrying the device, the hardware removable storage device recognizes the storage device as a removable storage device by using a wired connection and utilizes the storage space.

한편, 소프트웨어적인 구현 방법으로는 네트워크 상에 구현된 가상의 이동식 저장매체를 이용하여 호스트(host) 컴퓨터로부터 네트워크를 통해 자신의 데이터에 액세스하는 웹 스토리지(web storage) 내지 클라우드 스토리지(cloud storage) 기술을 활용하는 방법이 있다. 이러한 소프트웨어 이동식 저장 장치는 사용자가 호스트로부터 네트워크를 통해 이동식 저장 장치에 논리적으로 접근하는 방법으로 이용이 가능하다.In the software implementation method, a web storage or cloud storage technology that accesses its data through a network from a host computer using a virtual removable storage medium implemented on a network. There is a way to use it. Such a software removable storage device can be used by a user to logically access the removable storage device from a host through a network.

이상과 같은 이동식 저장 장치에서 가장 중요한 이슈는 자신의 개인 데이터에 대한 기밀성을 보장하고 신뢰도 높은 저장 서비스를 지속적으로 제공하는데 있다. 따라서, 기밀성과 가용성의 관점에서 이동식 저장 장치에 대한 꾸준한 개선 및 발전 요구가 존재한다.The most important issue in the above portable storage device is to ensure the confidentiality of their personal data and to provide a reliable storage service continuously. Accordingly, there is a constant need for improvement and development of removable storage devices in terms of confidentiality and availability.

본 발명이 해결하고자 하는 기술적 과제는 하드웨어 기반의 이동식 저장 장치가 암호화 기능을 제공하지 못하거나 특별한 하드웨어를 추가하여 암호화함으로 인해 이동식 저장 장치의 단가가 상승하는 원인이 되었던 문제점을 해결하고, 소프트웨어 기반의 이동식 저장 장치에서 호스트의 운영체제 및 구현 환경에 종속적인 경향이 존재하는 한계를 극복하며, 범용 네트워크 기반의 이동식 저장 장치에서 데이터의 가용성 및 기밀성이 제한받는 불편함을 해소하고자 한다.The technical problem to be solved by the present invention is to solve the problem that the hardware-based removable storage device does not provide an encryption function or caused by the increase of the cost of the removable storage device due to encryption by adding a special hardware, and software-based To overcome the limitation that there is a tendency that depends on the operating system and the implementation environment of the host in the removable storage device, to solve the inconvenience that the availability and confidentiality of the data is limited in the removable storage device based on the general-purpose network.

상기 기술적 과제를 해결하기 위하여, 본 발명에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법은 상기 휴대 단말기가 미리 입력된 패스워드로부터 제 1 해시값을 생성하여 저장하는 단계; 상기 휴대 단말기가 호스트(host)에 랜덤(random)값을 전송하고, 상기 호스트로부터 상기 랜덤값에 기초한 제 2 해시값 및 상기 호스트의 동작 환경을 나타내는 환경 변수를 포함한 네트워크 연결 요청을 수신하는 단계; 상기 제 1 해시값과 상기 제 2 해시값이 일치할 경우 상기 수신된 환경 변수로부터 상기 호스트의 동작 환경을 식별하는 단계; 상기 식별된 동작 환경에 대응하여 상기 휴대 단말기를 이동식 저장 장치로서 제어하는 제어 어플리케이션과 상기 제어 어플리케이션을 설치하기 위한 이벤트 메시지(event message)를 상기 호스트에 전송하는 단계; 및 상기 제어 어플리케이션을 통해 상기 휴대 단말기와 상기 호스트 간에 세션(session)을 생성하는 단계를 포함한다.In order to solve the above technical problem, a method for implementing a mobile storage device using a portable terminal according to the present invention includes the steps of generating and storing a first hash value from a password previously inputted by the portable terminal; Transmitting, by the portable terminal, a random value to a host, and receiving a network connection request from the host including a second hash value based on the random value and an environment variable indicating an operating environment of the host; Identifying an operating environment of the host from the received environment variable when the first hash value and the second hash value match; Transmitting a control application for controlling the portable terminal as a removable storage device and an event message for installing the control application in response to the identified operating environment to the host; And generating a session between the portable terminal and the host through the control application.

상기된 본 발명에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법은 상기 생성된 세션을 통해 통신 암호화를 위한 키(key)를 교환함으로써 상기 휴대 단말기와 상기 호스트 간에 보안 채널(secure channel)을 형성하는 단계를 더 포함한다.The method for implementing a mobile storage device using the portable terminal according to the present invention includes establishing a secure channel between the portable terminal and the host by exchanging a key for communication encryption through the generated session. It further comprises the step of forming.

또한, 상기된 본 발명에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법은 상기 휴대 단말기가 적어도 하나 이상의 동작 환경 및 대응하는 제어 어플리케이션을 미리 사상시켜(mapping) 저장하는 단계를 더 포함하고, 상기 수신된 환경 변수로부터 상기 호스트의 동작 환경에 대한 정보를 추출함으로써 상기 호스트의 동작 환경을 식별하는 단계를 수행하며, 상기 호스트에 전송되는 제어 어플리케이션은 상기 미리 저장된 적어도 하나 이상의 제어 어플리케이션 중에서 상기 식별된 동작 환경에 대한 사상 관계를 이용하여 선택된 제어 어플리케이션인 것이 바람직하다.In addition, the method for implementing a mobile storage device using the portable terminal according to the present invention further includes the step of mapping the mobile terminal to at least one operating environment and a corresponding control application in advance. Identifying the operating environment of the host by extracting information on the operating environment of the host from the received environment variable, wherein the control application transmitted to the host is identified from the one or more previously stored control applications; It is preferably a control application selected using the mapping relationship to the operating environment.

또한, 상기된 본 발명에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법은 상기 휴대 단말기가 상기 미리 입력된 패스워드로부터 데이터 암호화 키를 생성하는 단계; 및 상기 생성된 키를 이용하여 상기 휴대 단말기 내에 데이터를 암호화하여 저장하거나 저장된 데이터를 독출하여 복호화하는 것 중 적어도 하나의 동작을 수행하는 단계를 더 포함하고, 상기 데이터 암호화 키는 상기 휴대 단말기의 메모리에 소정 시간 상주한 후 삭제되는 것이 바람직하다.In addition, the method for implementing a removable storage device using the portable terminal according to the present invention described above comprises the steps of: generating, by the portable terminal, a data encryption key from the previously input password; And performing at least one of encrypting and storing data in the portable terminal using the generated key or reading and decrypting the stored data, wherein the data encryption key is a memory of the portable terminal. It is preferable to delete the resident after a predetermined time.

나아가, 상기된 본 발명에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법은 상기 휴대 단말기가 상기 호스트로부터 파일 목록 열람, 파일 송수신, 파일 삭제 및 파일 복사 중 적어도 하나의 요청을 수신하는 단계; 및 상기 휴대 단말기는 상기 수신된 요청에 대응하는 응답을 상기 호스트에 전송하는 단계를 더 포함하고, 상기 요청을 수신하는 단계 및 상기 응답을 전송하는 단계는 상기 생성된 세션을 통해 암호화된 통신 데이터를 이용해 수행되는 것이 바람직하다.Furthermore, the method for implementing a removable storage device using the portable terminal according to the present invention includes the steps of: receiving, by the portable terminal, at least one request of file list reading, file transmission, reception, file deletion, and file copy from the host; And transmitting, by the portable terminal, a response corresponding to the received request to the host, wherein receiving the request and transmitting the response include transmitting encrypted communication data through the generated session. It is preferably carried out using.

상기 기술적 과제를 해결하기 위하여, 본 발명에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법은 호스트가 상기 휴대 단말기로부터 랜덤값을 수신한 후, 상기 랜덤값 및 사용자로부터 입력받은 패스워드로부터 해시값을 생성하는 단계; 상기 호스트가 상기 생성된 해시값 및 상기 호스트의 동작 환경을 나타내는 환경 변수를 포함한 네트워크 연결 요청을 상기 휴대 단말기에 전송하는 단계; 상기 휴대 단말기로부터 상기 휴대 단말기를 이동식 저장 장치로서 제어하는 제어 어플리케이션과 상기 제어 어플리케이션을 설치하기 위한 이벤트 메시지를 수신하는 단계; 상기 호스트가 상기 수신된 이벤트 메시지에 따라 상기 제어 어플리케이션을 설치하는 단계; 및 상기 제어 어플리케이션을 통해 상기 휴대 단말기와 상기 호스트 간에 세션을 생성하는 단계를 포함한다.In order to solve the above technical problem, a method of implementing a mobile storage device using a portable terminal according to the present invention, after the host receives a random value from the portable terminal, the hash value from the random value and the password received from the user Generating a; Sending, by the host, a network connection request including the generated hash value and an environment variable representing an operating environment of the host to the mobile terminal; Receiving a control application for controlling the portable terminal as a removable storage device and an event message for installing the control application from the portable terminal; Installing, by the host, the control application according to the received event message; And creating a session between the portable terminal and the host through the control application.

상기된 본 발명에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법은 상기 생성된 세션을 통해 통신 암호화를 위한 키를 교환함으로써 상기 휴대 단말기와 상기 호스트 간에 보안 채널을 형성하는 단계를 더 포함한다.The method for implementing a removable storage device using the portable terminal according to the present invention further includes establishing a secure channel between the portable terminal and the host by exchanging a key for communication encryption through the generated session. .

또한, 상기된 본 발명에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법은 상기 호스트가 상기 휴대 단말기에 파일 목록 열람, 파일 송수신, 파일 삭제 및 파일 복사 중 적어도 하나의 요청을 전송하는 단계; 및 상기 호스트는 상기 전송한 요청에 대응하는 응답을 상기 휴대 단말기로부터 수신하는 단계를 더 포함하고, 상기 요청을 전송하는 단계 및 상기 응답을 수신하는 단계는 상기 생성된 세션을 통해 암호화된 통신 데이터를 이용해 수행되는 것이 바람직하다.In addition, the method for implementing a removable storage device using a portable terminal according to the present invention comprises the steps of: the host transmits at least one request of file list reading, file transmission and reception, file deletion and file copy to the mobile terminal; And receiving, by the host, a response corresponding to the transmitted request from the mobile terminal; transmitting the request and receiving the response further include encrypted communication data through the generated session. It is preferably carried out using.

또한, 이하에서는 상기 기재된 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.In addition, the following provides a computer-readable recording medium having recorded thereon a program for executing a method of implementing a removable storage device using a portable terminal described above in a computer.

본 발명은 사용자가 늘 소지하는 휴대 단말기를 소프트웨어적으로 암호화된 이동식 저장 장치로서 활용함으로써 고가의 하드웨어 추가없이 암호화된 저장 서비스를 이용할 수 있고, 호스트의 동작 환경에 따른 제어 어플리케이션을 제공함으로써 호스트의 다양한 운영체제 및 구현 환경 하에서도 유연한 활용이 가능하며, 휴대 단말기가 보유하고 있는 고유의 무선 통신 수단을 활용하여 휴대 단말기가 저장 서비스를 직접 제어함으로 인해 데이터의 가용성 및 기밀성을 크게 향상시킬 수 있다.The present invention utilizes a portable terminal that a user always possesses as a software-encrypted removable storage device so that an encrypted storage service can be used without adding expensive hardware. It can be used flexibly under the operating system and implementation environment, and by utilizing the unique wireless communication means possessed by the portable terminal, the portable terminal directly controls the storage service, thereby greatly improving the availability and confidentiality of data.

도 1은 본 발명의 일 실시예에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법의 기본 아이디어와 전체적인 동작 방법을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법을 휴대 단말기를 중심으로 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법을 호스트를 중심으로 도시한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 휴대 단말기를 이용한 이동식 저장 장치를 하드웨어의 관점에서 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따른 휴대 단말기를 이용한 이동식 저장 장치에서 제어 어플리케이션을 설치하는 방법을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 휴대 단말기를 이용한 이동식 저장 장치에서 세션을 생성하는 방법을 설명하기 위한 도면이다.
도 7a 내지 도 7e는 본 발명의 일 실시예에 따른 휴대 단말기를 이용한 이동식 저장 장치에서 휴대 단말기와 호스트 간의 다양한 통신 프로토콜을 예시한 도면이다.
1 is a view for explaining the basic idea and the overall operation method of a method for implementing a mobile storage device using a portable terminal according to an embodiment of the present invention.
2 is a flowchart illustrating a method of implementing a mobile storage device using a portable terminal according to an embodiment of the present invention, focusing on the portable terminal.
FIG. 3 is a flowchart illustrating a method of implementing a removable storage device using a portable terminal according to an embodiment of the present invention based on a host.
4 is a block diagram illustrating a mobile storage device using a portable terminal according to an embodiment of the present invention from a hardware perspective.
FIG. 5 is a diagram illustrating a method of installing a control application in a mobile storage device using a portable terminal according to an embodiment of the present invention.
FIG. 6 is a diagram for describing a method of creating a session in a mobile storage device using a mobile terminal according to one embodiment of the present invention; FIG.
7A to 7E illustrate various communication protocols between a portable terminal and a host in a mobile storage device using a portable terminal according to an embodiment of the present invention.

본 발명의 실시예들을 설명하기에 앞서 본 발명의 실시예들이 공통적으로 채용하고 있는 기본 아이디어를 소개하고자 한다.Before describing the embodiments of the present invention, the basic idea that the embodiments of the present invention are commonly employed will be introduced.

앞서 간단히 소개한 바와 같이 하드웨어 기반의 이동식 저장 장치의 경우 USB 메모리나 외장형 하드 디스크의 경우 기본적으로 암호화 기능을 제공하지 못하므로 기밀성에 약점이 존재한다. 또한, 암호화 기능을 제공하는 이동식 저장 장치의 경우 별도의 하드웨어를 이용하여 암호화 기능을 제공하는데 이러한 하드웨어의 추가로 인해 제품의 단가가 상승하는 문제가 존재하였다. 나아가, 암호화 소프트웨어(예를 들어, BitLocker 내지 3rd party application을 말한다.)를 사용하는 이동식 저장 장치의 경우 USB 메모리나 외장형 하드 디스크를 암호화하여 관리하는 기능을 제공할 수는 있으나, 해당 소프트웨어가 이동식 저장 장치와 연결될 호스트의 운영체제 및 구현 환경에 종속적인 경향이 존재하였다.As briefly introduced, hardware-based removable storage devices have a weakness in confidentiality because USB memory or external hard disks do not provide encryption by default. In addition, in the case of a removable storage device that provides an encryption function, an encryption function is provided by using separate hardware. However, there is a problem in that a unit price of the product increases due to the addition of such hardware. Furthermore, a removable storage device that uses encryption software (eg, BitLocker or 3rd party application) may provide a function of encrypting and managing a USB memory or an external hard disk, but the software may be removable. There has been a tendency to depend on the operating system and implementation environment of the host to be connected to the device.

한편, 네트워크 기반의 이동식 저장 장치의 경우 서비스 제공자의 기술적 수준 및 정책 수준에 따라 저장 데이터의 가용성 및 기밀성이 제한을 받을 수 있는데, 이는 이동식 저장 서비스를 제공하는 주체가 사용자 자신이 직접 억세스할 수 있는 대상이 아니라는 점에서 발생하는 문제이다. 또한, 네트워크 기반의 이동식 저장 장치는 이동식 저장 서비스를 이용하고자 하는 환경에서 인터넷과 같은 네트워크의 이용 가능 여부에 따라 정보 가용성이 보장되지 않는 불편함이 존재한다.Meanwhile, in the case of a network-based removable storage device, the availability and confidentiality of the stored data may be limited according to the technical level and the policy level of the service provider, which may be directly accessed by the subject providing the removable storage service. This is a problem that arises from being an object. In addition, the network-based mobile storage device is inconvenient that the availability of information is not guaranteed depending on the availability of a network such as the Internet in the environment to use the mobile storage service.

따라서, 이하에서 소개될 본 발명의 실시예들은 현대의 사용자가 늘 휴대하는 휴대 단말기를 통해 휴대 단말기가 보유한 자체적인 통신 수단을 활용하여 휴대 단말기 내부의 대용량 저장 공간을 이동식 디스크로서 활용하는 방법을 제안하고자 한다. 이러한 휴대 단말기는 최근 스마트폰(smart phone)으로 진화함에 따라 강력한 성능의 하드웨어를 기반으로 데이터 암호화 및 관리가 보다 용이해지고 있으며, 휴대 단말기가 구비한 입력 수단 및 디스플레이 장치를 통해 보다 용이하게 이동식 저장 서비스를 제공할 수 있게 되었다. 이하에서는 도면을 참조하여 본 발명의 실시예들을 구체적으로 설명한다.Accordingly, embodiments of the present invention to be introduced below propose a method of utilizing a large storage space inside a mobile terminal as a removable disk by utilizing a communication device owned by the mobile terminal through a mobile terminal which is always carried by a modern user. I would like to. As the mobile terminal has recently evolved into a smart phone, data encryption and management are becoming easier based on powerful hardware, and the mobile storage service is more easily available through an input means and a display device provided by the mobile terminal. Could provide. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법의 기본 아이디어와 전체적인 동작 방법을 설명하기 위한 도면이다.1 is a view for explaining the basic idea and the overall operation method of a method for implementing a mobile storage device using a portable terminal according to an embodiment of the present invention.

휴대 단말기(10)는 통상적으로 사용자가 소지하며 이용하는 무선 통신 장치를 의미하며, 데이터를 저장하기 위한 별도의 저장 공간을 구비한다. 또한, 휴대 단말기(10)는 데이터 암호화 및 복호화를 위한 암호화 소프트웨어를 구동시킬 수 있는 연산 장치를 구비하며, 호스트(20)에 배포하여 휴대 단말기(10)를 제어하기 위한 제어 어플리케이션(application)을 저장하고 있다.The portable terminal 10 generally means a wireless communication device possessed and used by a user, and has a separate storage space for storing data. In addition, the mobile terminal 10 includes an arithmetic device capable of driving encryption software for data encryption and decryption, and stores a control application for controlling the mobile terminal 10 by distributing it to the host 20. Doing.

호스트(20)는 사용자 PC가 될 수도 있고, 물리적으로 하나의 하드웨어가 아닌 네트워크 상에서 존재하는 클라우드 컴퓨터(cloud computer)가 될 수도 있다. 클라우드 컴퓨터의 경우 클라우드 게스트 OS(cloud guest operating system)를 이용하여 하나 이상의 하드웨어로부터 컴퓨팅 환경에 필요한 자원을 제공한다.The host 20 may be a user PC or may be a cloud computer existing on a network rather than physically one hardware. In the case of a cloud computer, a cloud guest operating system (OS) is used to provide resources required for the computing environment from one or more pieces of hardware.

무선 통신 수단(30)은 휴대 단말기가 보유한 통신 모듈을 총칭하는 것으로 대표적인 예로는 Wi-Fi, 3G 이동 통신망, 블루투스(Bluetooth) 등이 존재한다. 최근 등장한 스마트폰들은 상기된 무선 통신 수단을 모두 구비하고 있는 경우가 많으며, 사용 환경에 따라 상기된 하나 이상의 무선 통신 수단을 선택적으로 사용하여 다른 장치와 통신한다. 본 발명의 실시예들에서도 휴대 단말기(10)와 호스트(20)는 상기된 무선 통신 수단(30)을 선택적으로 활용하여 연결된다.The wireless communication means 30 generically refers to a communication module held by a mobile terminal. Examples of the wireless communication means 30 include Wi-Fi, a 3G mobile communication network, and a Bluetooth. Recently introduced smart phones are often equipped with all the above-described wireless communication means, and communicate with other devices by selectively using one or more of the above-described wireless communication means according to the use environment. In the embodiments of the present invention, the portable terminal 10 and the host 20 are connected by selectively utilizing the wireless communication means 30 described above.

휴대 단말기(10)와 호스트(20) 간에 무선 통신 수단(30)을 통해 연결이 가능한 환경 하에서 본 실시예의 기본적인 동작은 다음과 같다.In an environment in which the portable terminal 10 and the host 20 can be connected through the wireless communication means 30, the basic operations of the present embodiment are as follows.

사용자는 휴대 단말기(10)를 이동식 저장 장치로서 활용하기를 희망한다. 이를 위해, 110 단계에서 휴대 단말기(10)는 자신을 제어할 수 있는 제어 어플리케이션을 호스트(20)에 배포한 후 설치한다.The user wishes to utilize the mobile terminal 10 as a removable storage device. To this end, in step 110, the portable terminal 10 distributes and installs a control application capable of controlling the host to the host 20.

이제 제어 어플리케이션이 호스트(20)에 설치되면, 120 단계에서 호스트(20)는 제어 어플리케이션을 통해 휴대 단말기(10)를 이동식 저장 장치로서 인식하고, 양자간에 세션(session)을 생성한다. 세션이란 네트워크 환경에서 사용자 간 또는 컴퓨터 간의 대화를 위한 논리적 연결을 의미한다. 본 실시예의 경우 데이터 통신을 위해 휴대 단말기(10) 및 호스트(20) 간의 논리적 연결을 의미한다.If the control application is now installed in the host 20, the host 20 recognizes the portable terminal 10 as a mobile storage device through the control application in step 120 and creates a session between them. A session is a logical connection for dialogue between users or computers in a network environment. In the present embodiment, it means a logical connection between the mobile terminal 10 and the host 20 for data communication.

120 단계를 통해 세션이 생성되었으면, 130 단계에서는 호스트(20)가 제어 어플리케이션을 통해 휴대 단말기(10)에 저장된 파일을 열람하거나, 파일을 송수신하거나, 파일을 삭제하거나, 파일을 복사하는 등의 명령을 수행한다. 이러한 명령은 모두 세션 키(session key)를 이용하여 암호화된 형태로 송수신된다. 여기서, 세션 키란, 통신을 하는 상대방끼리 하나의 통신 세션 동안에만 사용하는 암호화 키를 의미한다. 특히, 하나의 키를 사용한 암호문이 많을 경우, 공격자가 이를 가로채 분석하여 키를 산출할 가능성이 있으므로 이를 막기 위하여 세션 키를 임시적으로 사용할 수 있다. 따라서, 세션 키의 만료를 위한 만료 시간(time-out)이 설정될 수 있으며, 이렇게 설정된 만료 시간이 경과하게 되면 해당 세션 키는 더 이상 유효하지 않게 된다.If the session is created in step 120, in step 130, the host 20 may view a file stored in the mobile terminal 10 through a control application, transmit or receive a file, delete a file, or copy a file. Do this. All of these commands are sent and received in encrypted form using a session key. Here, the session key refers to an encryption key which is used only for one communication session between the communicating counterparts. In particular, when there are many ciphertexts using a single key, an attacker may intercept and analyze the key and use the session key temporarily to prevent this. Accordingly, a time-out for expiration of the session key may be set, and when the set expiration time elapses, the corresponding session key is no longer valid.

이상과 같은 구조를 바탕으로 이하에서는 본 발명의 실시예들을 각각 휴대 단말기 및 호스트의 관점에서 구체적으로 설명한다.Based on the above structure, embodiments of the present invention will be described in detail from the perspective of a mobile terminal and a host, respectively.

도 2는 본 발명의 일 실시예에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법을 휴대 단말기를 중심으로 도시한 흐름도로서, 다음과 같은 단계들을 포함한다.2 is a flowchart illustrating a method of implementing a mobile storage device using a portable terminal according to an embodiment of the present invention, focusing on the portable terminal, and includes the following steps.

210 단계에서 휴대 단말기는 미리 입력된 패스워드로부터 제 1 해시값을 생성하여 저장한다. 이를 위해 해시 함수(hash function)가 활용되며, 해시 함수 고유의 메시지 축약 기능(message digest function)을 이용하여 사용자로부터 미리 입력된 패스워드와 제 1 랜덤(random)값을 결합하여 제 1 해시값을 산출한다. 이러한 제 1 해시값은 이후 사용자에 대한 패스워드 인증을 위해 사용된다.In operation 210, the mobile terminal generates and stores a first hash value from a previously input password. To this end, a hash function is utilized, and a first hash value is calculated by combining a password previously input from a user and a first random value using a message digest function unique to the hash function. do. This first hash value is then used for password authentication for the user.

220 단계에서 휴대 단말기는 호스트(host)에 제 2 랜덤값을 전송한 후, 호스트로부터 제 2 랜덤값에 기초한 제 2 해시값 및 호스트의 동작 환경을 나타내는 환경 변수를 포함한 네트워크 연결 요청을 수신한다. 보다 구체적으로 제 2 해시값을 생성하기 위해 활용되는 제 2 랜덤값은 휴대 단말기로부터 호스트에 전송된 값이며, 이렇게 전송된 제 2 랜덤값에 호스트가 사용자로부터 입력받은 패스워드를 결합하여 제 2 해시값을 생성한다. 이 때도 역시 해시 함수를 활용하여 메시지를 축약한다.In step 220, the mobile terminal transmits a second random value to the host, and then receives a network connection request including a second hash value based on the second random value and an environment variable indicating an operating environment of the host. More specifically, the second random value utilized to generate the second hash value is a value transmitted from the mobile terminal to the host. The second random value is combined with the password input from the user to the second random value. Create Again, the hash function is used to abbreviate the message.

이제 휴대 단말기는 제 2 해시값과 환경 변수를 포함하는 네트워크 연결 요청을 호스트로부터 수신한다. 여기서 환경 변수란, 호스트의 동작 환경, 즉 시스템의 속성을 기록하고 있는 변수로서, 운영체제의 셸(shell) 등에 설정되어 있다. 이러한 환경 변수의 이름과 그 의미는 미리 정의되어 있기 때문에 환경 변수를 읽으면 해당 시스템의 설정을 알 수 있다. 환경 변수는 시스템의 실행 파일이 놓여 있는 디렉토리의 지정 등 운영체제 상에서 동작하는 어플리케이션이 참조하기 위한 설정이 기록된다. 어플리케이션은 시스템 호출(system call)이나 운영체제의 표준 API(application programming interface) 등을 통하여 간단히 환경 변수의 값을 얻을 수 있다.The portable terminal now receives a network connection request from the host that includes the second hash value and an environment variable. The environment variable is a variable that records the operating environment of the host, that is, the property of the system, and is set in a shell of the operating system or the like. The names of these environment variables and their meanings are predefined, so you can read the environment variables to see the configuration of your system. Environment variables record settings for the application running on the operating system, such as the directory where the system's executable files are placed. An application can simply obtain the value of an environment variable through a system call or a standard application programming interface (API) of the operating system.

또한, 웹 브라우저의 내부 데이터의 일부를 환경 변수라고 호칭하는 경우도 있는데, 이는 HTTP(hypertext transfer protocol) 통신 규약을 통해 데이터를 요청할 때 송신되는 것으로, 브라우저의 종류나 링크되어 있는 웹 페이지 등 웹 서버가 웹 브라우저에 대하여 최적의 처리를 하기 위해 송신되는 것이다. 즉, HTTP를 통해 데이터를 요청하는 어플리케이션은 환경변수를 송신할 수 있으며, 본 발명의 실시예에서도 호스트의 동작 환경을 식별하는데 활용이 가능하다.In addition, some of the internal data of the web browser is referred to as an environment variable, which is transmitted when a request is made through the HTTP (hypertext transfer protocol) protocol, and is a web server such as a browser type or a linked web page. Is sent to the web browser for optimal processing. That is, an application requesting data through HTTP may transmit an environment variable, and an embodiment of the present invention may be used to identify an operating environment of a host.

230 단계에서는 210 단계를 통해 생성한 제 1 해시값과 220 단계를 통해 생성한 제 2 해시값이 일치할 경우 수신된 환경 변수로부터 호스트의 동작 환경을 식별한다. 해시 함수의 특징상 제 1 해시값과 제 2 해시값이 다르다는 것은 그 기본이 되는 원래의 값이 다르다는 것을 의미하므로, 입력된 패스워드가 상이하다는 것을 의미한다. 따라서, 양 해시값들이 서로 다를 경우, 패스워드 인증에 실패하였다는 것을 의미하므로 호스트가 휴대 단말기를 인식하려는 시도를 종료시킨다.In operation 230, when the first hash value generated in operation 210 and the second hash value generated in operation 220 match, the host environment is identified from the received environment variable. The difference between the first hash value and the second hash value due to the characteristics of the hash function means that the original original value is different, and thus means that the input password is different. Therefore, if both hash values are different, it means that the password authentication has failed and the host terminates the attempt to recognize the portable terminal.

반면, 제 1 해시값과 제 2 해시값이 일치한다는 것은 휴대 단말기에 미리 설정된 사용자의 패스워드와 호스트로부터 입력받은 사용자의 패스워드가 일치할 가능성이 높다는 것을 의미한다. 따라서, 휴대 단말기는 수신된 네트워크 연결 요청 메시지 내에 포함된 환경 변수로부터 호스트의 동작 환경을 식별한다. 구체적으로, 휴대 단말기는 호스트로부터 환경 변수를 수신하고, 수신된 환경 변수로부터 호스트의 동작 환경에 대한 정보를 추출한다. 앞서 설명한 바와 같이 환경 변수가 호스트의 시스템 속성에 대한 정보를 포함하고 있으므로, 이로부터 호스트의 동작 환경을 식별하는 것이 가능하다.On the other hand, the coincidence of the first hash value and the second hash value means that the user's password preset in the portable terminal and the user's password input from the host are likely to match. Thus, the portable terminal identifies the operating environment of the host from the environment variables included in the received network connection request message. In detail, the portable terminal receives an environment variable from the host and extracts information on the operating environment of the host from the received environment variable. As described above, since the environment variable includes information on the system property of the host, it is possible to identify the operating environment of the host from this.

240 단계에서 휴대 단말기는 230 단계를 통해 식별된 동작 환경에 대응하여 휴대 단말기를 이동식 저장 장치로서 제어하는 제어 어플리케이션(application)과 제어 어플리케이션을 설치하기 위한 이벤트 메시지(event message)를 호스트에 전송한다.In operation 240, the portable terminal transmits a control application for controlling the portable terminal as a mobile storage device and an event message for installing the control application in response to the operation environment identified in operation 230.

이를 위해 휴대 단말기는 적어도 하나 이상의 동작 환경 및 대응하는 제어 어플리케이션을 미리 사상시켜(mapping) 저장하는 것이 바람직하다. 호스트의 동작 환경이 매우 다양할 수 있으므로 휴대 단말기를 제어하기 위한 제어 어플리케이션은 각각의 동작 환경에 적합한 어플리케이션이 설치될 필요가 있다. 즉, 휴대 단말기는 복수 개의 동작 환경에 대응하는 제어 어플리케이션들을 미리 휴대 단말기 내의 저장 공간에 저장한 후, 네트워크 연결을 요청하는 호스트에 적합한 제어 어플리케이션을 배포한다. 따라서, 호스트에 전송되는 제어 어플리케이션은 미리 저장된 적어도 하나 이상의 제어 어플리케이션 중에서 230 단계를 통해 식별된 동작 환경에 대한 사상 관계를 이용하여 선택된 제어 어플리케이션이다.To this end, the portable terminal preferably maps and stores at least one or more operating environments and corresponding control applications in advance. Since the operating environment of the host may be very diverse, the control application for controlling the mobile terminal needs to be installed with an application suitable for each operating environment. That is, the portable terminal stores control applications corresponding to a plurality of operating environments in a storage space in the portable terminal in advance, and then distributes a control application suitable for a host requesting a network connection. Therefore, the control application transmitted to the host is a control application selected using a mapping relationship to the operating environment identified in step 230 among at least one or more previously stored control applications.

또한, 이러한 제어 어플리케이션은 플랫폼(platform)에 종속적이지 않은 가상 머신(virtual machine) 상에서 동작할 수 있다. 즉, 휴대 단말기는 어플리케이션으로서 단일한 포맷으로 제작된 바이너리(binary) 설치 파일만을 저장하고 있고, 이를 호스트에 배포하여 설치할 수 있다. 물론, 이 경우에는 호스트에 해당 바이너리 설치 파일을 구동할 수 있는 가상 머신이 미리 설치되어 있는 것이 바람직할 것이다. 예를 들어, 자바(JAVA) 플랫폼과 해당 가상 머신이 설치되어 있는 환경에서는 휴대 단말기가 복수 개의 어플리케이션을 저장할 필요없이 단일 포맷의 설치 파일만을 저장하면 될 것이다.In addition, such control applications can run on a virtual machine that is not platform dependent. That is, the portable terminal stores only binary installation files produced in a single format as an application, and can be distributed and installed in a host. Of course, in this case, it would be desirable to have a virtual machine pre-installed on the host that can run the binary installation file. For example, in an environment where a Java platform and a corresponding virtual machine are installed, the portable terminal only needs to store a single format installation file without storing a plurality of applications.

한편, 휴대 단말기가 호스트의 동작 환경에 적합한 제어 어플리케이션을 선택하여 이를 호스트에 전송하였다고 할지라도 이는 호스트의 입장에서 단지 내려받기(download)에 불과하다. 따라서, 휴대 단말기가 전송한 제어 어플리케이션을 호스트에 능동적으로 설치하기 위해서는 '설치 명령'에 해당하는 이벤트 메시지를 호스트에 전송할 필요가 있다. 이러한 이벤트 메시지는 호스트의 운영체제 상에서 특정 동작을 수행시키기 위한 일종의 트리거(trigger)로서, 이러한 '설치 명령'에 해당하는 이벤트 메시지를 수신한 호스트는 '설치 명령'이 명시하고 있는 대상 어플리케이션(수신된 제어 어플리케이션을 의미한다.)을 자동으로 설치한다.On the other hand, even if the mobile terminal selects a control application suitable for the host's operating environment and transmits it to the host, this is merely a download from the host's point of view. Therefore, in order to actively install the control application transmitted from the mobile terminal to the host, it is necessary to transmit an event message corresponding to the 'install command' to the host. This event message is a kind of trigger for performing a specific operation on the host's operating system. The host receiving the event message corresponding to the 'install command' is the target application (received control) specified by the 'install command'. Installs the application automatically).

이제 제어 어플리케이션이 설치되었다면, 250 단계에서는 설치된 제어 어플리케이션을 통해 휴대 단말기와 호스트 간에 세션(session)을 생성한다. 앞서 도 1을 통해 설명한 바와 같이 휴대 단말기와 호스트는 250 단계에서 생성된 세션을 통해 통신 암호화를 위한 키(key)를 교환함으로써 휴대 단말기와 호스트 간에 보안 채널(secure channel)을 형성하는 것이 바람직하다.If the control application is now installed, in step 250, a session is created between the mobile terminal and the host through the installed control application. As described above with reference to FIG. 1, it is preferable that the mobile terminal and the host form a secure channel between the mobile terminal and the host by exchanging a key for communication encryption through the session generated in step 250.

도 3은 본 발명의 일 실시예에 따른 휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법을 호스트를 중심으로 도시한 흐름도로서, 앞서 설명한 도 2의 구성에 대응하는 단계들을 포함하므로, 중복되는 구성에 대해서는 구체적인 설명을 생략한다.FIG. 3 is a flowchart illustrating a method of implementing a mobile storage device using a portable terminal according to an embodiment of the present invention with reference to the configuration of FIG. 2 as described above. Detailed description thereof will be omitted.

310 단계에서 호스트는 휴대 단말기로부터 랜덤값을 수신한 후, 랜덤값 및 사용자로부터 입력받은 패스워드로부터 해시값을 생성한다. 310 단계의 해시값은 앞서 도 2에서 설명한 제 2 해시값을 의미하는 것으로, 휴대 단말기에 이미 생성되어 저장되어 있는 제 1 해시값과 패스워드 인증을 위해 비교될 값이다.After receiving the random value from the mobile terminal in step 310, the host generates a hash value from the random value and the password input from the user. The hash value of step 310 refers to the second hash value described above with reference to FIG. 2, and is a value to be compared with the first hash value already generated and stored in the portable terminal for password authentication.

320 단계에서 호스트는 310 단계를 통해 생성된 해시값 및 호스트의 동작 환경을 나타내는 환경 변수를 포함한 네트워크 연결 요청을 휴대 단말기에 전송한다. 앞서 설명한 바와 같이 환경 변수들은 웹 브라우저의 내부 데이터로부터 추출될 수 있으므로, 본 실시예에서는 호스트가 웹 브라우저를 통해 휴대 단말기에 접속하는 경우를 가정한다. 물론 휴대 단말기에서 이러한 접속을 허용할 수 있도록 일종의 웹 서버가 구동되어야 함은 당연하다. 따라서, 320 단계에서 네트워크 연결 요청을 전송하는 단계는 HTTP 통신 규약에 따라 호스트에 내장된 웹 브라우저를 통해 수행될 수 있다.In step 320, the host transmits a network connection request including the hash value generated in step 310 and an environment variable indicating an operating environment of the host to the mobile terminal. As described above, since the environment variables may be extracted from internal data of the web browser, it is assumed in the present embodiment that the host accesses the mobile terminal through the web browser. Of course, some kind of web server must be running to allow such a connection in the mobile terminal. Therefore, the transmitting of the network connection request in step 320 may be performed through a web browser embedded in the host according to the HTTP communication protocol.

그러면, 휴대 단말기는 이러한 네트워크 연결 요청을 처리하여 호스트에게 적합한 제어 어플리케이션을 선택한다.The mobile terminal then processes this network connection request to select the appropriate control application for the host.

330 단계에서 호스트는 휴대 단말기로부터 휴대 단말기를 이동식 저장 장치로서 제어하는 제어 어플리케이션과 제어 어플리케이션을 설치하기 위한 이벤트 메시지를 수신한다. 호스트가 수신한 제어 어플리케이션은 환경 변수에 포함된 호스트의 동작 환경에 대응하는 것이므로, 340 단계에서 호스트는 수신된 이벤트 메시지에 따라 제어 어플리케이션을 설치한다.In operation 330, the host receives a control message for controlling the mobile terminal as a removable storage device and an event message for installing the control application from the mobile terminal. Since the control application received by the host corresponds to the operating environment of the host included in the environment variable, the host installs the control application according to the received event message in step 340.

이제 350 단계에서는 340 단계에서 설치된 제어 어플리케이션을 통해 휴대 단말기와 호스트 간에 세션을 생성한다. 또한, 휴대 단말기와 호스트는 350 단계에서 생성된 세션을 통해 통신 암호화를 위한 키를 교환함으로써 휴대 단말기와 호스트 간에 보안 채널을 형성할 수 있다.In step 350, a session is created between the mobile terminal and the host through the control application installed in step 340. In addition, the mobile terminal and the host may form a secure channel between the mobile terminal and the host by exchanging a key for communication encryption through the session created in operation 350.

상기된 본 발명의 실시예들에 따르면 고가의 하드웨어 추가없이 암호화된 저장 서비스를 이용할 수 있고, 호스트의 다양한 운영체제 및 구현 환경 하에서도 유연한 활용이 가능하며, 데이터의 가용성 및 기밀성을 크게 향상시킬 수 있다.According to the above-described embodiments of the present invention, an encrypted storage service can be used without adding expensive hardware, flexible utilization is possible under various operating systems and implementation environments of the host, and data availability and confidentiality can be greatly improved. .

도 4는 본 발명의 일 실시예에 따른 휴대 단말기를 이용한 이동식 저장 장치를 하드웨어의 관점에서 도시한 블록도로서, 크게 휴대 단말기(10), 호스트(20) 및 무선 통신 수단(30)을 포함한다. 휴대 단말기(10)는 다시 통신부(11), 제어부(12) 및 저장부(13)를 포함하고, 호스트(20)는 통신부(21) 및 제어부(22)를 포함한다.FIG. 4 is a block diagram illustrating a portable storage device using a portable terminal according to an embodiment of the present invention from a hardware perspective, and includes a portable terminal 10, a host 20, and a wireless communication means 30. . The portable terminal 10 again includes a communication unit 11, a control unit 12, and a storage unit 13, and the host 20 includes a communication unit 21 and a control unit 22.

휴대 단말기(10)의 통신부(11)와 호스트(20)의 통신부(21)는 각각 무선 통신망을 활용할 수 있는 통신 수단을 의미한다. 통상적으로 휴대 단말기(10)의 통신부(11)는 Wi-Fi, 3G 이동 통신망, 블루투스 등과 같은 다양한 네트워크를 사용할 수 있으며, 호스트(20)의 통신부(21) 역시 이에 대응하는 통신 수단 중 어느 하나에 해당할 것이다. 하드웨어적인 측면에서 이러한 무선 통신 수단(11, 21)을 구현하는 것은 본 발명의 본질을 벗어나는 것이므로 구체적인 설명은 생략한다.The communication unit 11 of the mobile terminal 10 and the communication unit 21 of the host 20 mean communication means capable of utilizing a wireless communication network, respectively. Typically, the communication unit 11 of the mobile terminal 10 may use various networks such as Wi-Fi, 3G mobile communication network, Bluetooth, etc., and the communication unit 21 of the host 20 may also be connected to any one of the corresponding communication means. Will correspond. Implementing such a wireless communication means (11, 21) in terms of hardware is beyond the essence of the present invention, a detailed description thereof will be omitted.

휴대 단말기(10)의 제어부(12)는 휴대 단말기(10)를 제어하는 운영체제와 운영체제 상에서 동작하는 특정 어플리케이션을 구동시킨다. 이 때의 특정 어플리케이션은 휴대 단말기(10)를 이동식 저장 장치로 구현하기 위한 휴대 단말기(10)측의 어플리케이션이 될 것이다. 따라서, 제어부(12)는 사용자로부터 패스워드를 입력받아 제 1 해시값을 생성한 후 미리 저장하고, 호스트(20)로부터 수신된 제 2 해시값과 비교하고, 환경 변수로부터 호스트(20)의 동작 환경을 식별하며, 제어 어플리케이션을 통해 휴대 단말기(10)와 호스트(20) 간의 세션을 생성하는 등의 일련의 연산을 처리한다.The controller 12 of the portable terminal 10 drives an operating system for controlling the portable terminal 10 and a specific application operating on the operating system. The specific application at this time will be an application on the portable terminal 10 side for implementing the portable terminal 10 as a removable storage device. Therefore, the control unit 12 receives the password from the user, generates the first hash value, stores it in advance, compares it with the second hash value received from the host 20, and compares the operating environment of the host 20 with an environment variable. And a series of operations such as creating a session between the mobile terminal 10 and the host 20 through a control application.

이를 위해 제어부(12)는 상기된 일련의 연산을 처리할 수 있는 프로세서(processor) 및 이러한 연산에 따른 데이터를 기록하는데 필요한 기억공간(memory)을 활용하여 구현될 수 있다. 이러한 프로세서 및 기억공간은 본 발명이 속하는 기술분야의 활용 환경이나 동작 환경을 고려하여 통상의 지식을 가진 기술자에 의해 적절하게 선택될 수 있을 것이다. 나아가, 제어부(12)는 상기된 하드웨어를 제어하고 상기된 연산을 처리하기 위한 소프트웨어 코드(code)를 포함할 수 있다.To this end, the controller 12 may be implemented using a processor capable of processing the above-described series of operations and a memory required to record data according to the above-described operations. Such a processor and a storage space may be appropriately selected by those skilled in the art in consideration of the utilization environment or operating environment of the technical field to which the present invention belongs. In addition, the controller 12 may include software code for controlling the above-described hardware and processing the above-described operation.

저장부(13)는 휴대 단말기(10)를 이동식 저장 장치로 활용하기 위해 필요한 저장 공간을 제공한다. 또한, 저장부(13)는 호스트(20)에 설치될 제어 어플리케이션을 저장하는 별도의 공간을 제공한다. 이 때, 제어 어플리케이션은 호스트(20)의 다양한 동작 환경에 대응할 수 있도록 미리 마련되어 있는 것이 바람직하다.The storage unit 13 provides a storage space necessary for utilizing the portable terminal 10 as a mobile storage device. In addition, the storage unit 13 provides a separate space for storing the control application to be installed in the host 20. In this case, it is preferable that the control application is prepared in advance so as to cope with various operating environments of the host 20.

한편, 호스트(20)의 제어부(22) 역시 호스트(20)의 운영체제와 운영체제 상에서 동작하는 다양한 어플리케이션을 구동시킨다. 따라서, 제어부(20)는 휴대 단말기(10)로부터 수신된 랜덤값 및 사용자로부터 입력받은 패스워드로부터 해시값을 생성하고, 호스트(20)의 동작 환경을 나타내는 환경 변수를 네트워크 연결 요청 메시지 내에 포함시키고, 이벤트 메시지에 따라 휴대 단말기(10)로부터 수신된 제어 어플리케이션을 설치하며, 제어 어플리케이션을 통해 휴대 단말기(10)와 호스트(20) 간의 세션을 생성하는 등의 일련의 연산을 처리한다. 도 4에는 현재 운영체제만이 도시되어 있으나 휴대 단말기(10)로부터 제어 어플리케이션이 배포될 경우 제어부(22)에 적재되어 동작할 것이다.On the other hand, the control unit 22 of the host 20 also drives the operating system of the host 20 and various applications running on the operating system. Accordingly, the controller 20 generates a hash value from the random value received from the mobile terminal 10 and the password input from the user, and includes an environment variable representing the operating environment of the host 20 in the network connection request message. A control application received from the portable terminal 10 is installed according to the event message, and a series of operations such as creating a session between the portable terminal 10 and the host 20 are processed through the control application. Although only the current operating system is illustrated in FIG. 4, when the control application is distributed from the portable terminal 10, the controller 22 is loaded and operated.

이를 위해 제어부(20)는 상기된 일련의 연산을 처리할 수 있는 프로세서 및 이러한 연산에 따른 데이터를 기록하는데 필요한 기억공간을 활용하여 구현될 수 있으며, 이러한 하드웨어를 제어하고 상기된 연산을 처리하기 위한 소프트웨어 코드를 포함할 수 있다.To this end, the control unit 20 may be implemented by utilizing a processor capable of processing the above-described series of operations and a storage space required to record data according to the above-described operations. May include software code.

도 5는 본 발명의 일 실시예에 따른 휴대 단말기를 이용한 이동식 저장 장치에서 제어 어플리케이션을 설치하는 방법을 설명하기 위한 도면으로, 도 4의 시스템 구조에서 설명에 필요한 구성만을 강조하여 도시한 도면이다.FIG. 5 is a view for explaining a method of installing a control application in a mobile storage device using a portable terminal according to an embodiment of the present invention. FIG. 5 is a view illustrating only a configuration required for description in the system structure of FIG. 4.

우선, 휴대 단말기(10)와 호스트(20)는 무선 통신 수단(30)을 통해 서로 연결될 수 있는 환경을 구축한다. 휴대 단말기(10)는 사용자로부터 패스워드를 입력받은 후, 제 1 랜덤값과 결합하여 해시 함수로 처리함으로써 해시값을 생성하여 미리 저장한다.First, the portable terminal 10 and the host 20 establish an environment that can be connected to each other through the wireless communication means 30. After receiving the password from the user, the mobile terminal 10 generates a hash value by combining the first random value with a hash function and stores the hash value in advance.

이어서, 휴대 단말기(10)는 제 2 랜덤값을 호스트(20)에 전달하고, 호스트(20)는 제 2 랜덤값과 사용자로부터 입력받은 패스워드를 결합하여 해시값을 생성한다. 그런 다음, 호스트(20)는 제 2 해시값과 환경 변수를 다시 휴대 단말기(10)에 전송한다. 초기에 휴대 단말기(10)는 호스트(20)로부터의 접근을 허용하기 위해 모바일 웹 서버를 구동할 수 있다. 따라서, 호스트(20)는 제 2 해시값과 환경 변수를 HTTP 통신 규격에 따라 호스트(20)에 내장된 웹 브라우저를 통해 휴대 단말기(10)의 웹 서버에 접속할 수 있다.Subsequently, the portable terminal 10 transmits the second random value to the host 20, and the host 20 generates a hash value by combining the second random value and the password input from the user. The host 20 then sends the second hash value and environment variable back to the portable terminal 10. Initially, the mobile terminal 10 can run a mobile web server to allow access from the host 20. Accordingly, the host 20 may access the web server of the mobile terminal 10 through the web browser embedded in the host 20 according to the HTTP communication standard.

이제, 휴대 단말기(10)의 이동식 저장 장치용 어플리케이션은 제 1 해시값과 제 2 해시값을 비교하고, 양자가 일치할 경우 사용자 인증에 성공했다고 판단한다. 한편, 휴대 단말기(10)는 수신된 환경 변수로부터 호스트(20)의 동작 환경을 식별한 후, 이에 대응하는 제어 어플리케이션을 선택하여 호스트(20)에 배포한다. Now, the mobile storage device application of the portable terminal 10 compares the first hash value with the second hash value and determines that the user authentication is successful when the two hash values match. On the other hand, the mobile terminal 10 identifies the operating environment of the host 20 from the received environment variable, and then selects a control application corresponding to it and distributes it to the host 20.

물론 휴대 단말기(10)는 적어도 하나 이상의 동작 환경 및 대응하는 제어 어플리케이션을 미리 사상시켜(mapping) 저장하는 것은 당연하다. 따라서, 휴대 단말기(10)는 수신된 환경 변수로부터 호스트(20)의 동작 환경에 대한 정보를 추출하고, 미리 저장된 적어도 하나 이상의 제어 어플리케이션 중에서 식별된 동작 환경에 대한 사상 관계를 이용하여 제어 어플리케이션을 선택하여 호스트(20)에 전송한다.Of course, the mobile terminal 10 maps and stores at least one or more operating environments and corresponding control applications in advance. Accordingly, the mobile terminal 10 extracts information on the operating environment of the host 20 from the received environment variable, and selects the control application using a mapping relationship for the identified operating environment among at least one or more previously stored control applications. To the host 20.

이 때, 제어 어플리케이션을 능동적으로 설치하기 위한 이벤트 메시지도 같이 전송된다. 호스트(20)는 이벤트 메시지에 따라 배포된 제어 어플리케이션을 설치함으로써 제어 어플리케이션 준비 단계가 마무리된다.At this time, an event message for actively installing the control application is also transmitted. The host 20 completes the control application preparation step by installing the control application distributed according to the event message.

도 6은 본 발명의 일 실시예에 따른 휴대 단말기를 이용한 이동식 저장 장치에서 세션을 생성하는 방법을 설명하기 위한 도면으로, 역시 도 4의 시스템 구조에서 설명에 필요한 구성만을 강조하여 도시한 도면이다.FIG. 6 is a diagram illustrating a method of creating a session in a mobile storage device using a portable terminal according to an embodiment of the present invention. FIG. 6 is also a diagram illustrating only a configuration required for description in the system structure of FIG. 4.

앞서 설명한 바와 같이 휴대 단말기(10)는 사용자로부터 미리 입력된 패스워드로부터 데이터 암호화 키(세션 키를 의미한다.)를 생성하고, 생성된 키를 이용하여 휴대 단말기(10) 내에 데이터를 암호화하여 저장하거나 저장된 데이터를 독출하여 복호화할 수 있다. 이 때, 데이터 암호화 키는 만료 시간 설정에 의해 휴대 단말기(10)의 메모리에 일정 시간 상주한 후 삭제되는 것이 바람직하다.As described above, the mobile terminal 10 generates a data encryption key (meaning a session key) from a password previously input from the user, and encrypts and stores the data in the mobile terminal 10 using the generated key. The stored data can be read and decoded. At this time, it is preferable that the data encryption key is deleted after resident in the memory of the portable terminal 10 for a predetermined time by setting an expiration time.

휴대 단말기(10)와 호스트(20)가 세션을 생성하고, 상호 데이터 보안을 위한 키를 교환함으로써 보안 채널을 형성한다.The portable terminal 10 and the host 20 create a secure channel by creating a session and exchanging keys for mutual data security.

이제 호스트(20)는 제어 어플리케이션을 통해 휴대 단말기(10)를 이동식 저장 장치로서 활용하는 것이 가능하다. 이동식 저장 서비스를 위해 본 발명의 실시예들은 파일 목록 열람, 파일 송수신, 파일 삭제 및 파일 복사와 같은 기능을 제공한다. 이 때, 한 쪽 장치에서 상기된 명령을 수행할 것을 요청하면 다른 쪽 장치는 이러한 요청에 대한 응답을 회신하게 된다. 이러한 요청 및 응답은 이미 생성된 세션을 통해 암호화된 통신 데이터의 형태로 이루어지게 된다. 각각의 명령들을 수행하는 구체적인 통신 프로토콜은 다음과 같다.The host 20 can now utilize the mobile terminal 10 as a removable storage device through a control application. Embodiments of the present invention for a removable storage service provide functions such as file list viewing, file transmission and reception, file deletion and file copying. At this time, if one device requests to perform the above-described command, the other device returns a response to the request. These requests and responses come in the form of encrypted communication data over already created sessions. Specific communication protocols for performing the respective commands are as follows.

도 7a 내지 도 7e는 본 발명의 일 실시예에 따른 휴대 단말기를 이용한 이동식 저장 장치에서 휴대 단말기와 호스트 간의 다양한 통신 프로토콜을 예시한 도면들로서, 각각의 도면들은 공통적으로 다음과 같은 기호들을 사용하여 표기되었다. K는 세션 비밀키를 나타내고, EK()는 세션 비밀키 K로 암호화하였음을 나타내고, FNAME은 파일 이름을 나타내고, SIZE는 파일 크기를 나타내고, DATE는 파일을 생성하거나 수정한 일시를 나타내고, TYPE은 파일의 유형을 나타내고, T는 해당 요청 또는 응답이 이루어진 시간을 기록하는 타임스탬프(time stamp)를 나타내고, LIST는 데이터의 리스트 형태를 나타내며, STATE는 요청에 대한 결과를 의미한다. 즉, STATE는 성공(success) 또는 실패(fail)의 값을 갖는다.7A to 7E are diagrams illustrating various communication protocols between a portable terminal and a host in a mobile storage device using a portable terminal according to an embodiment of the present invention. Each of the drawings is commonly denoted using the following symbols. It became. K represents the session secret key, E K () represents the encryption with the session secret key K, FNAME represents the file name, SIZE represents the file size, DATE represents the date and time the file was created or modified, and TYPE Denotes the type of file, T denotes a time stamp that records the time at which the request or response was made, LIST denotes the form of a list of data, and STATE denotes the outcome of the request. That is, STATE has a value of success or failure.

도 7a은 파일 목록을 열람하는 방법에 관한 통신 프로토콜을 예시하였다. 우선, 호스트(20)가 파일 목록을 열람하고자 하는 데이터에 대한 경로와 타임스탬프를 암호화하여 휴대 단말기(10)에 전달하면, 휴대 단말기(10)는 이러한 요청에 응답하여 자신의 저장부로부터 해당 경로에 대한 파일 목록 정보를 암호화하여 반환한다. 도 7a에 예시된 응답 메시지는 파일의 이름, 크기, 생성 또는 수정된 날짜, 파일의 유형 및 타임스탬프를 포함한다.7A illustrates a communication protocol relating to a method of viewing a file list. First, when the host 20 encrypts a path and a timestamp for data to be viewed, the file list is transmitted to the mobile terminal 10, the mobile terminal 10 responds to the request and the corresponding path from its storage unit. Encrypt and return file list information for. The response message illustrated in FIG. 7A includes the file's name, size, date created or modified, file type and timestamp.

도 7b는 휴대 단말기(10)로부터 호스트(20)로 파일을 전송하는 방법에 관한 통신 프로토콜을 예시하였다. 호스트(20)가 수신하고자 하는 파일을 요청하는 메시지를 파일의 크기, 파일의 이름, 유형 및 타임스탬프와 더불어 암호화하여 휴대 단말기(10)에 전송하면, 휴대 단말기(10)는 이러한 요청에 대한 결과와 타임스탬프를 암호화하여 호스트(20)에 전송한다. 이 때, 수신된 'STATE' 정보가 'success'인 경우 휴대 단말기(10)가 호스트(20)로 해당 데이터의 전송을 허용하는 것을 의미한다.7B illustrates a communication protocol relating to a method of transferring a file from the portable terminal 10 to the host 20. When the host 20 encrypts a message requesting a file to be received, along with the file size, file name, type, and timestamp, and transmits the message to the mobile terminal 10, the mobile terminal 10 results in response to the request. And the time stamp are encrypted and transmitted to the host 20. In this case, when the received 'STATE' information is 'success', it means that the mobile terminal 10 allows the transmission of the corresponding data to the host 20.

이제 호스트(20)는 휴대 단말기(10)에 이러한 응답에 대한 확인(acknowledge) 메시지를 전송하여 호스트(20)가 해당 파일을 전송받을 준비가 되어 있음을 알린다. 그러면, 휴대 단말기(10)는 해당 데이터를 암호화하여 호스트(20)에 전송한다.The host 20 now sends an acknowledgment message for this response to the mobile terminal 10 to inform the host 20 that it is ready to receive the file. Then, the mobile terminal 10 encrypts the data and transmits the data to the host 20.

도 7b와는 반대로, 도 7c는 호스트(20)로부터 휴대 단말기(10)로 파일을 전송하는 방법에 관한 통신 프로토콜을 예시하였다. 호스트(20)가 파일을 전송할 것이라는 메시지를 파일의 크기, 파일의 이름, 유형 및 타임 스탬프와 더불어 암호화하여 휴대 단말기(10)에 전송하면, 휴대 단말기(10)는 이러한 요청에 대한 결과와 타임스탬프를 암호화하여 호스트(20)에 전송한다.In contrast to FIG. 7B, FIG. 7C illustrates a communication protocol relating to a method of transferring a file from the host 20 to the mobile terminal 10. When the host 20 encrypts a message that the host 20 will send the file along with the file's size, file's name, type, and time stamp, and sends it to the mobile terminal 10, the mobile terminal 10 sends the result and timestamp for the request. Encrypt the data and transmit it to the host 20.

이제 호스트(20)는 이러한 응답에 따라 해당 데이터를 암호화하여 휴대 단말기(10)에 전송하고, 휴대 단말기(10)는 데이터가 잘 수신되었음을 알리는 확인 메시지를 호스트(20)에 회신한다.Now, the host 20 encrypts the data according to the response and transmits the data to the mobile terminal 10. The mobile terminal 10 returns a confirmation message indicating that the data has been well received.

도 7d는 휴대 단말기(10)에 저장된 특정 파일을 삭제하는 방법에 관한 통신 프로토콜을 예시하였다. 호스트(20)는 삭제하고자 하는 특정 파일의 이름과 타임스탬프를 함께 암호화하여 휴대 단말기(10)에 전송한다. 그러면, 휴대 단말기(10)는 요청에 따라 해당 파일을 삭제하는 명령을 수행한 후, 호스트(20)에 그 삭제 명령으로 인해 갱신된 파일 목록 정보를 호스트(20)에 회신한다. 도 7d에는 삭제 명령이 정상적으로 수행되었는지 여부를 나타내는 'STATE' 정보를 예시하였다.7D illustrates a communication protocol relating to a method of deleting a specific file stored in the mobile terminal 10. The host 20 encrypts the name and timestamp of the specific file to be deleted and transmits the encrypted name to the mobile terminal 10. Then, the portable terminal 10 performs a command to delete the file according to the request, and then returns the file list information updated by the deletion command to the host 20 to the host 20. 7D illustrates 'STATE' information indicating whether the delete command is normally performed.

도 7e는 휴대 단말기(10)에 저장된 특정 파일을 사용자가 지정한 경로에 복사하는 방법에 관한 통신 프로토콜을 예시하였다. 호스트(20)는 복사하고자 하는 특정 파일의 이름, 현재의 경로, 복사될 경로 및 타임스탬프를 함께 암호화하여 휴대 단말기(10)에 전송한다. 그러면, 휴대 단말기(10)는 요청에 따라 해당 파일을 복사하는 명령을 수행한 후, 호스트(20)에 그 복사 명령으로 인해 갱신된 파일 목록 정보를 호스트(20)에 회신한다. 도 7e에는 복사 명령이 정상적으로 수행되었는지 여부를 나타내는 'STATE' 정보를 예시하였다.7E illustrates a communication protocol related to a method of copying a specific file stored in the portable terminal 10 to a path designated by a user. The host 20 encrypts the name of the specific file to be copied, the current path, the path to be copied, and the timestamp together and transmits the encrypted file to the mobile terminal 10. Then, the portable terminal 10 performs a command for copying the file according to the request, and then returns the file list information updated by the copy command to the host 20 to the host 20. 7E illustrates 'STATE' information indicating whether the copy command is normally performed.

상기된 본 발명의 실시예들에 따르면 사용자가 늘 휴대하는 휴대용 단말기를 이용하여 이동식 저장 장치를 구현함으로써 보다 편리하게 관리될 수 있는 휴대 저장 장치를 제공할 수 있으며, 데이터의 암호화 및 통신의 암호화를 통해 공격자로부터 데이터를 용이하게 보호할 수 있다.According to the embodiments of the present invention described above, it is possible to provide a portable storage device that can be more conveniently managed by implementing a portable storage device using a portable terminal that a user always carries, and encrypts data and encrypts communication. This makes it easy to protect your data from attackers.

한편, 본 발명은 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.Meanwhile, the present invention can be embodied as computer readable codes on a computer readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.

컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현하는 것을 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의하여 용이하게 추론될 수 있다.Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device and the like, and also a carrier wave (for example, transmission via the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.

이상에서 본 발명에 대하여 그 다양한 실시예들을 중심으로 살펴보았다. 본 발명에 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The present invention has been described above with reference to various embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

10 : 휴대 단말기 20 : 호스트(host)
30 : 무선 통신 수단(Wi-Fi, 3G, Bluetooth)
11 : 휴대 단말기의 통신부 12 : 휴대 단말기의 제어부
13 : 저장부
21 : 호스트의 통신부 22 : 호스트의 제어부
10: mobile terminal 20: host
30: wireless communication means (Wi-Fi, 3G, Bluetooth)
11: communication unit of mobile terminal 12: control unit of mobile terminal
13:
21: communication unit of the host 22: control unit of the host

Claims (15)

휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법에 있어서,
상기 휴대 단말기가 미리 입력된 패스워드와 랜덤(random)값에 기초한 제 1 해시값을 생성하여 저장하는 단계;
상기 휴대 단말기가 호스트(host)에 상기 랜덤값을 전송한 후, 상기 호스트로부터 사용자에 의해 입력된 패스워드와 상기 랜덤값에 기초한 제 2 해시값 및 상기 호스트의 동작 환경을 나타내는 환경 변수를 포함한 네트워크 연결 요청을 수신하는 단계;
상기 제 1 해시값과 상기 제 2 해시값이 일치할 경우 상기 수신된 환경 변수로부터 상기 호스트의 동작 환경을 식별하는 단계;
상기 식별된 동작 환경에 대응하여 상기 휴대 단말기를 이동식 저장 장치로서 제어하는 제어 어플리케이션(application)과 상기 제어 어플리케이션을 설치하기 위한 이벤트 메시지(event message)를 상기 호스트에 전송하는 단계; 및
상기 제어 어플리케이션을 통해 상기 휴대 단말기와 상기 호스트 간에 세션(session)을 생성하는 단계를 포함하는 방법.
In the method for implementing a removable storage device using a portable terminal,
Generating and storing, by the portable terminal, a first hash value based on a previously input password and a random value;
After the portable terminal transmits the random value to a host, a network connection including a password input by the user from the host, a second hash value based on the random value, and an environment variable representing an operating environment of the host Receiving a request;
Identifying an operating environment of the host from the received environment variable when the first hash value and the second hash value match;
Transmitting a control application for controlling the portable terminal as a removable storage device and an event message for installing the control application in response to the identified operating environment; And
Creating a session between the portable terminal and the host via the control application.
제 1 항에 있어서,
상기 제어 어플리케이션은 상기 이벤트 메시지에 의해 상기 호스트에 설치되는 것을 특징으로 하는 방법.
The method of claim 1,
And wherein said control application is installed on said host by said event message.
제 1 항에 있어서,
상기 생성된 세션을 통해 통신 암호화를 위한 키(key)를 교환함으로써 상기 휴대 단말기와 상기 호스트 간에 보안 채널(secure channel)을 형성하는 단계를 더 포함하는 방법.
The method of claim 1,
Establishing a secure channel between the mobile terminal and the host by exchanging a key for communication encryption via the created session.
제 1 항에 있어서,
상기 휴대 단말기가 적어도 하나 이상의 동작 환경 및 대응하는 제어 어플리케이션을 미리 사상시켜(mapping) 저장하는 단계를 더 포함하고,
상기 호스트의 동작 환경을 식별하는 단계는 상기 수신된 환경 변수로부터 상기 호스트의 동작 환경에 대한 정보를 추출함으로써 수행되며,
상기 호스트에 전송되는 제어 어플리케이션은 상기 미리 저장된 적어도 하나 이상의 제어 어플리케이션 중에서 상기 식별된 동작 환경에 대한 사상 관계를 이용하여 선택된 제어 어플리케이션인 것을 특징으로 하는 방법.
The method of claim 1,
Storing, by the portable terminal, at least one operating environment and a corresponding control application in advance for mapping;
Identifying the operating environment of the host is performed by extracting information about the operating environment of the host from the received environment variable,
And a control application transmitted to the host is a control application selected from among at least one previously stored control application using a mapping relationship to the identified operating environment.
제 1 항에 있어서,
상기 휴대 단말기가 상기 미리 입력된 패스워드로부터 데이터 암호화 키를 생성하는 단계; 및
상기 생성된 키를 이용하여 상기 휴대 단말기 내에 데이터를 암호화하여 저장하거나 저장된 데이터를 독출하여 복호화하는 것 중 적어도 하나의 동작을 수행하는 단계를 더 포함하고,
상기 데이터 암호화 키는 상기 휴대 단말기의 메모리에 소정 시간 상주한 후 삭제되는 것을 특징으로 하는 방법.
The method of claim 1,
Generating, by the portable terminal, a data encryption key from the previously input password; And
Performing at least one operation of encrypting and storing data in the portable terminal using the generated key or reading and decrypting the stored data;
And the data encryption key is deleted after a predetermined time stays in the memory of the portable terminal.
삭제delete 제 1 항에 있어서,
상기 휴대 단말기가 상기 호스트로부터 파일 목록 열람, 파일 송수신, 파일 삭제 및 파일 복사 중 적어도 하나의 요청을 수신하는 단계; 및
상기 휴대 단말기는 상기 수신된 요청에 대응하는 응답을 상기 호스트에 전송하는 단계를 더 포함하고,
상기 요청을 수신하는 단계 및 상기 응답을 전송하는 단계는 상기 생성된 세션을 통해 암호화된 통신 데이터를 이용해 수행되는 것을 특징으로 하는 방법.
The method of claim 1,
Receiving, by the portable terminal, at least one request of file list reading, file transmission / reception, file deletion, and file copy from the host; And
The mobile terminal further comprises the step of transmitting a response corresponding to the received request to the host,
Receiving the request and transmitting the response are performed using encrypted communication data over the generated session.
제 1 항에 있어서,
상기 휴대 단말기 및 상기 호스트는 Wi-Fi, 블루투스(Bluetooth) 또는 이동통신망 중 적어도 하나 이상의 무선 통신 수단을 선택적으로 사용하여 연결되는 것을 특징으로 하는 방법.
The method of claim 1,
And the portable terminal and the host are selectively connected using at least one or more wireless communication means of Wi-Fi, Bluetooth, or mobile communication network.
휴대 단말기를 이용하여 이동식 저장 장치를 구현하는 방법에 있어서,
호스트가 상기 휴대 단말기로부터 랜덤값을 수신한 후, 상기 랜덤값 및 사용자로부터 입력받은 패스워드로부터 해시값을 생성하는 단계;
상기 호스트가 상기 생성된 해시값 및 상기 호스트의 동작 환경을 나타내는 환경 변수를 포함한 네트워크 연결 요청을 상기 휴대 단말기에 전송하는 단계;
상기 휴대 단말기로부터 상기 휴대 단말기를 이동식 저장 장치로서 제어하는 제어 어플리케이션과 상기 제어 어플리케이션을 설치하기 위한 이벤트 메시지를 수신하는 단계;
상기 호스트가 상기 수신된 이벤트 메시지에 따라 상기 제어 어플리케이션을 설치하는 단계; 및
상기 제어 어플리케이션을 통해 상기 휴대 단말기와 상기 호스트 간에 세션을 생성하는 단계를 포함하는 방법.
In the method for implementing a removable storage device using a portable terminal,
Generating a hash value from the random value and a password input from the user after the host receives the random value from the mobile terminal;
Sending, by the host, a network connection request including the generated hash value and an environment variable representing an operating environment of the host to the mobile terminal;
Receiving a control application for controlling the portable terminal as a removable storage device and an event message for installing the control application from the portable terminal;
Installing, by the host, the control application according to the received event message; And
Creating a session between the portable terminal and the host via the control application.
제 9 항에 있어서,
상기 생성된 세션을 통해 통신 암호화를 위한 키를 교환함으로써 상기 휴대 단말기와 상기 호스트 간에 보안 채널을 형성하는 단계를 더 포함하는 방법.
The method of claim 9,
Establishing a secure channel between the mobile terminal and the host by exchanging a key for communication encryption over the generated session.
제 9 항에 있어서,
상기 호스트가 수신한 제어 어플리케이션은 상기 환경 변수에 포함된 상기 동작 환경에 대응하는 것을 특징으로 하는 방법.
The method of claim 9,
And a control application received by the host corresponds to the operating environment included in the environment variable.
제 9 항에 있어서,
상기 네트워크 연결 요청을 전송하는 단계는 HTTP(hypertext transfer protocol) 통신 규약에 따라 상기 호스트에 내장된 웹 브라우저를 통해 수행되는 것을 특징으로 하는 방법.
The method of claim 9,
The transmitting of the network connection request may be performed through a web browser embedded in the host according to a hypertext transfer protocol (HTTP) communication protocol.
제 9 항에 있어서,
상기 호스트가 상기 휴대 단말기에 파일 목록 열람, 파일 송수신, 파일 삭제 및 파일 복사 중 적어도 하나의 요청을 전송하는 단계; 및
상기 호스트는 상기 전송한 요청에 대응하는 응답을 상기 휴대 단말기로부터 수신하는 단계를 더 포함하고,
상기 요청을 전송하는 단계 및 상기 응답을 수신하는 단계는 상기 생성된 세션을 통해 암호화된 통신 데이터를 이용해 수행되는 것을 특징으로 하는 방법.
The method of claim 9,
Transmitting, by the host, at least one request of file list viewing, file transmission / reception, file deletion, and file copying to the mobile terminal; And
The host further receiving a response corresponding to the transmitted request from the mobile terminal,
Transmitting the request and receiving the response are performed using encrypted communication data over the generated session.
제 9 항에 있어서,
상기 휴대 단말기 및 상기 호스트는 Wi-Fi, 블루투스 또는 이동통신망 중 적어도 하나 이상의 무선 통신 수단을 선택적으로 사용하여 연결되는 것을 특징으로 하는 방법.
The method of claim 9,
And the portable terminal and the host are selectively connected using at least one or more wireless communication means of Wi-Fi, Bluetooth or mobile communication network.
제 1 항 내지 제 5 항 및 제 7 항 내지 제 14 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for executing the method of any one of claims 1 to 5 and 7 to 14.
KR1020100127136A 2010-12-13 2010-12-13 Remote storage device using mobile phone and method thereof KR101269095B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100127136A KR101269095B1 (en) 2010-12-13 2010-12-13 Remote storage device using mobile phone and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100127136A KR101269095B1 (en) 2010-12-13 2010-12-13 Remote storage device using mobile phone and method thereof

Publications (2)

Publication Number Publication Date
KR20120065823A KR20120065823A (en) 2012-06-21
KR101269095B1 true KR101269095B1 (en) 2013-05-29

Family

ID=46685416

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100127136A KR101269095B1 (en) 2010-12-13 2010-12-13 Remote storage device using mobile phone and method thereof

Country Status (1)

Country Link
KR (1) KR101269095B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101595897B1 (en) * 2014-12-09 2016-02-19 숭실대학교산학협력단 Digital doorlock and control method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100886130B1 (en) 2008-07-30 2009-02-27 주식회사 유비콘테크놀로지 Method for transmitting real time data on wireless apparatus having wireless usb module

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100886130B1 (en) 2008-07-30 2009-02-27 주식회사 유비콘테크놀로지 Method for transmitting real time data on wireless apparatus having wireless usb module

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101595897B1 (en) * 2014-12-09 2016-02-19 숭실대학교산학협력단 Digital doorlock and control method thereof

Also Published As

Publication number Publication date
KR20120065823A (en) 2012-06-21

Similar Documents

Publication Publication Date Title
KR101981258B1 (en) Method for sharing contents using personal cloud device, Electronic device and Personal Cloud System thereof
CA2881539C (en) Secure app ecosystem with key and data exchange according to enterprise information control policy
KR101971225B1 (en) Data transmission security system of cloud service and a providing method thereof
US10084788B2 (en) Peer to peer enterprise file sharing
US10440111B2 (en) Application execution program, application execution method, and information processing terminal device that executes application
KR20190018869A (en) System and method for providing storage service based on block chain
KR20120050742A (en) Apparatus and method for managing digital rights through hooking process of kernel native api
CN113806777A (en) File access realization method and device, storage medium and electronic equipment
KR101394369B1 (en) Apparatus and method for managing security contents using virtual folder
US20130297718A1 (en) Server device, client device, data sharing system and method for sharing data between client device and server device thereof
CN115129332A (en) Firmware burning method, computer equipment and readable storage medium
KR101269095B1 (en) Remote storage device using mobile phone and method thereof
JP5678150B2 (en) User terminal, key management system, and program
JP6743534B2 (en) Information processing apparatus, information processing system, program, and information processing method
KR20160146623A (en) A Method for securing contents in mobile environment, Recording medium for storing the method, and Security sytem for mobile terminal
US20160063264A1 (en) Method for securing a plurality of contents in mobile environment, and a security file using the same
KR101875863B1 (en) Cloud system, and cloud acess method that determine the permission for access to cloud based on encrypted hash value, and socket demon device installed in cloud terminal
JP6778033B2 (en) Take-out file simple encryption system and take-out file simple encryption program
KR100799167B1 (en) Data recoding apparatus, and imformation providing service system using the same and method thereof
KR101578611B1 (en) Apparatus and method for controlling remote access to storage of mobile device for host device
KR102176507B1 (en) Method for sharing contents using personal cloud device, Electronic device and Personal Cloud System thereof
KR20200046157A (en) Data transmission security system of cloud service and a providing method thereof
KR101861015B1 (en) A method for providing digital right management function in user terminal based on cloud service
WO2008068976A1 (en) Network system, server, client, and communication method in network system
KR101703847B1 (en) A Method for securing contents in mobile environment, Recording medium for storing the method, and Security sytem for mobile terminal

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160225

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170328

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 6