KR20160084875A - 데이터 관리 방법 및 이를 수행하는 전자 장치 - Google Patents

데이터 관리 방법 및 이를 수행하는 전자 장치 Download PDF

Info

Publication number
KR20160084875A
KR20160084875A KR1020150000986A KR20150000986A KR20160084875A KR 20160084875 A KR20160084875 A KR 20160084875A KR 1020150000986 A KR1020150000986 A KR 1020150000986A KR 20150000986 A KR20150000986 A KR 20150000986A KR 20160084875 A KR20160084875 A KR 20160084875A
Authority
KR
South Korea
Prior art keywords
file
electronic device
data
processor
external device
Prior art date
Application number
KR1020150000986A
Other languages
English (en)
Other versions
KR102249826B1 (ko
Inventor
오영학
권은영
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150000986A priority Critical patent/KR102249826B1/ko
Priority to EP16150177.0A priority patent/EP3043285B1/en
Priority to ES16150177T priority patent/ES2788460T3/es
Priority to US14/989,543 priority patent/US10223537B2/en
Priority to CN201610007262.XA priority patent/CN105760772A/zh
Publication of KR20160084875A publication Critical patent/KR20160084875A/ko
Application granted granted Critical
Publication of KR102249826B1 publication Critical patent/KR102249826B1/ko

Links

Images

Classifications

    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • 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/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • 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/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/03Protecting confidentiality, e.g. by encryption
    • 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]
    • H04W12/041Key generation or derivation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/30Security of mobile devices; Security of mobile applications
    • H04W12/33Security of mobile devices; Security of mobile applications using wearable devices, e.g. using a smartwatch or smart-glasses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/40Security arrangements using identity modules
    • H04W12/42Security arrangements using identity modules using virtual identity modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/50Secure pairing of devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Storage Device Security (AREA)
  • Telephone Function (AREA)

Abstract

본 발명의 일 실시 예에 따른 전자 장치는, 어플리케이션을 구동하는 프로세서, 메모리, 및 외부 장치와의 연결을 수립하는 통신 모듈을 포함할 수 있다. 상기 프로세서는 데이터를 제1 파일과 제2 파일로 분할하여 생성하고, 제1 파일을 메모리에 저장하며, 상기 외부 장치에 저장되도록 제2 파일을 통신 모듈을 통해 외부 장치로 전송할 수 있다. 이 외에도 명세서를 통해 파악되는 다양한 실시 예가 가능하다.

Description

데이터 관리 방법 및 이를 수행하는 전자 장치{METHOD AND ELECTRONIC DEVICE FOR MANAGING DATA}
본 발명은 보안성을 향상시킬 수 있는 데이터 관리 방법 및 이를 수행하는 전자 장치에 관한 것이다.
최근 이동통신 기술의 발달로, 전자 장치는 손쉽게 휴대할 수 있으면서도 유무선 네트워크에 자유로이 접속 가능한 형태로 변모하고 있다. 예를 들어 스마트폰(smartphone), 태블릿 PC와 같은 휴대용 전자 장치는 통화 및 메시지 송수신 기능뿐만 아니라 이미지 촬영, 문서 작업, 인터넷 검색과 같은 다양한 기능을 지원할 수 있다.
한편 악의를 가진 사용자에 의해 상기 전자 장치에 저장된 기밀 문서 또는 사생활이 담긴 이미지 등이 유출되는 사례가 증가하고 있다. 예를 들어, 악의를 가진 전산 전문가는 타인의 전자 장치를 해킹하여 상기 타인의 전자 장치로부터 기밀 파일 등을 탈취해낼 수 있다. 또한, 공동 작업을 수행한 팀원 중 일부가 공동으로 작업한 기밀 문서를 외부로 유출할 수 있고, 타인의 전자 장치를 우연히 습득한 사용자에 의해 사적인 이미지 등이 유출될 수 있다.
전자 장치에 저장된 파일의 보안을 향상시키기 위해 패스워드 방식의 암호화가 고려될 수 있다. 그러나, 패스워드 방식의 암호화는 패스워드가 알려지거나 암호화 알고리즘이 크래킹(Cracking)되면 더 이상 파일의 보안성을 담보할 수 없다.
또한, 패스워드를 이용한 암호화는, 예를 들어 공동 작업을 수행하는 복수의 사용자 중 어느 한 사용자가 변심하여 악의를 가지고 유출하려는 경우에 무방비가 되므로 적절한 보안 대책이 될 수 없다.
본 발명의 다양한 실시 예는 이러한 문제점들을 해결하기 위하여 복수의 전자 장치를 통한 데이터의 안전한 보호를 제공하고자 한다.
본 발명의 다양한 실시 예에 따른 데이터 관리 방법을 수행하는 전자 장치는, 어플리케이션을 구동하는 프로세서, 프로세서와 연결되고 어플리케이션을 저장하는 메모리, 및 외부 장치와의 연결을 수립하는 통신 모듈을 포함할 수 있다. 상기 프로세서는 어플리케이션에 의하여 실행 가능한 데이터를 제1 파일과 제2 파일로 분할하여 생성하고, 제1 파일을 메모리에 저장하며, 상기 외부 장치에 저장되도록 제2 파일을 통신 모듈을 통해 외부 장치로 전송하도록 설정될 수 있다.
본 발명의 다양한 실시 예에 따른 데이터 관리 방법에 의하면, 데이터를 분할하여 복수의 전자 장치에 각각 저장하므로, 각각의 전자 장치에 저장된 파일만으로는 데이터가 복원될 수 없다. 이로써, 중요한 데이터를 안전하게 관리할 수 있다.
도 1a 및 도 1b는 본 발명의 다양한 실시 예에 따른 전자 장치 및 데이터 관리 방법이 수행되는 환경을 나타낸다.
도 2는 본 발명의 다양한 실시 예에 따른 전자 장치를 나타낸다.
도 3은 본 발명의 일 실시 예에 따른 데이터 관리 방법을 나타낸다.
도 4는 본 발명의 다른 실시 예에 따른 데이터 관리 방법을 나타낸다.
도 5a 및 도 5b는 본 발명의 다양한 실시 예에 따른 데이터 관리 방법을 실시하기 위한 사용자 인터페이스를 나타낸다.
도 6은 본 발명의 일 실시 예에 따른 데이터 관리 방법이 동일한 사용자에게 속한 전자 장치들에 적용된 경우를 나타낸다.
도 7은 본 발명의 일 실시 예에 따른 데이터 관리 방법이 각각 상이한 사용자에게 속한 전자 장치들에 적용된 예를 나타낸다.
도 8은 데이터를 복원하기 위한 본 발명의 일 실시 예에 따른 데이터 관리 방법을 나타낸다.
도 9는 데이터를 복원하기 위한 본 발명의 다른 실시 예에 따른 데이터 관리 방법을 나타낸다.
도 10a 내지 도 10d는 본 발명의 다양한 실시 예에 따른 데이터 관리 방법이 적용된 화면을 나타낸다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 문서에서, "가진다", "가질 수 있다", "포함한다", 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 문서에서, "A 또는 B", "A 또는/및 B 중 적어도 하나", 또는 "A 또는/및 B 중 하나 또는 그 이상" 등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B", "A 및 B 중 적어도 하나", 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
다양한 실시 예에서 사용된 "제1", "제2", "첫째", 또는 "둘째" 등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 해당 구성요소들을 한정하지 않는다. 예를 들면, 제1 사용자 기기와 제2 사용자 기기는, 순서 또는 중요도와 무관하게, 서로 다른 사용자 기기를 나타낼 수 있다. 예를 들면, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 바꾸어 명명될 수 있다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 문서에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성(또는 설정)된"은 하드웨어적으로 "특별히 설계된(specifically designed to)"것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성(또는 설정)된 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 문서에서 사용된 용어들은 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 다른 실시 예의 범위를 한정하려는 의도가 아닐 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가질 수 있다. 일반적으로 사용되는 사전에 정의된 용어들은 관련 기술의 문맥 상 가지는 의미와 동일 또는 유사한 의미를 가지는 것으로 해석될 수 있으며, 본 문서에서 명백하게 정의되지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. 경우에 따라서, 본 문서에서 정의된 용어일지라도 본 발명의 실시 예들을 배제하도록 해석될 수 없다.
본 발명의 다양한 실시 예들에 따른 전자 장치는, 예를 들면, 전자 장치는 스마트폰(smartphone), 태블릿 PC(tablet personal computer), 이동 전화기(mobile phone), 화상 전화기, 전자책 리더기(e-book reader), 데스크탑 PC (desktop PC), 랩탑 PC(laptop PC), 넷북 컴퓨터(netbook computer), 워크스테이션(workstation), 서버, PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 모바일 의료기기, 카메라, 또는 웨어러블 장치(wearable device)(예: 스마트 안경, 머리 착용형 장치(head-mounted-device(HMD)), 전자 의복, 전자 팔찌, 전자 목걸이, 전자 앱세서리(appcessory), 전자 문신, 스마트 미러, 또는 스마트 와치(smart watch))중 적어도 하나를 포함할 수 있다.
이하, 첨부 도면을 참조하여, 다양한 실시 예에 따른 전자 장치가 설명된다. 본 문서에서, 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치 (예: 인공지능 전자 장치)를 지칭할 수 있다.
도 1a 및 도 1b는 본 발명의 다양한 실시 예에 따른 전자 장치 및 데이터 관리 방법이 수행되는 환경을 나타낸다.
도 1a를 참조하면, 본 발명의 일 실시 예에 따른 전자 장치 및 데이터 관리 방법이 수행되는 환경은, 사용자 A에 속한 전자 장치 100A 및 200A를 포함할 수 있다. 예를 들어, 전자 장치 100A는 스마트폰일 수 있고 전자 장치 200A는 웨어러블 장치(예: 스마트 워치)일 수 있다. 전자 장치 100A 및 200A와의 연결은 예를 들어 블루투스 SPP(Secure Simple Pairing)를 통해 수립될 수 있다.
전자 장치 100A는 사용자 A의 조작에 의해, 또는 다른 전자 장치로부터 데이터를 획득할 수 있다. 예를 들어, 전자 장치 100A는 사용자 A의 조작에 따라서 자체에 탑재된 카메라를 통해 이미지 데이터를 획득하거나, 다른 전자 장치로부터 전송된 문서 데이터를 획득할 수 있다.
전자 장치 100A는 상기 획득된 데이터를 분할하여 제1 파일과 제2 파일을 생성할 수 있다. 전자 장치 100A는 상기 분할된 제1 파일을 전자 장치 100A에 구비된 메모리에 저장할 수 있다. 또한, 전자 장치 100A는 상기 분할된 제2 파일을 전자 장치 200A로 전송할 수 있다.
전자 장치 100A의 메모리에 저장된 제1 파일은, 분할되기 전 데이터를 실행할 수 있는 어플리케이션을 통해 출력되지 않을 수 있다. 예를 들어, 상기 어플리케이션은 실행 가능한 데이터 파일을 탐색함에 있어서 사용자 A에게 제1 파일의 존재를 알려주지 않을 수 있고, 제1 파일의 미리보기(예: 썸네일 또는 아이콘 등)를 표시하지 않을 수 있으며, 제1 파일의 실행을 금지할 수 있다. 전자 장치 200A로 전송된 제2 파일은 제1 파일과 마찬가지로, 전자 장치 200A에서 구동되는 어플리케이션을 통해 출력되지 않을 수 있다.
전자 장치 100A 및 200A에는 각각 제1 파일 및 제2 파일만 저장되므로, 각 장치의 사용자는 분할되기 전 데이터의 전부 또는 일부를 열람하거나 편집할 수 없다. 예를 들어 사용자 A가 전자 장치 100A를 분실하더라도 전자 장치 200A가 사용자 A에게 있는 한, 상기 전자 장치 100A를 습득한 다른 사용자는 분할 전 데이터의 전부 또는 일부를 열람하거나 편집할 수 없다.
한편, 사용자 A는 분할되기 전의 데이터를 사용하고자 하는 경우 제1 파일을 저장하는 전자 장치 100A에서 어플리케이션을 구동할 수 있다. 상기 어플리케이션이 구동되면, 전자 장치 100A는 전자 장치 200A와의 연결이 수립되었는지(established) 판단할 수 있다. 전자 장치 200A와의 연결이 수립되었으면, 전자 장치 100A는 전자 장치 200A에 저장된 제2 파일을 요청하는 메시지를 전자 장치 200A로 전송할 수 있다. 상기 메시지에 대응하여 제2 파일이 전자 장치 200A로부터 수신되면, 전자 장치 100A는 메모리에 저장된 제1 파일과 상기 제2 파일을 기초로 데이터를 복원할 수 있다. 이로써 사용자 A는 복원된 데이터 파일을 상기 어플리케이션을 통해 실행할 수 있다.
도 1b를 참조하면, 본 발명의 다른 실시 예에 따른 전자 장치 및 데이터 관리 방법이 수행되는 환경은, 사용자 A의 전자 장치 100A, 사용자 B의 전자 장치 300B, 및 사용자 C의 전자 장치 400C를 포함할 수 있다. 예를 들어, 전자 장치 100A는 스마트폰, 전자 장치 300B는 랩탑 PC, 전자 장치 400C는 태블릿 PC일 수 있다. 전자 장치 100A, 300B, 및 400C는, 근거리 무선 통신(예: Wi-Fi Direct, NFC 등)을 이용하여 연결될 수 있다.
사용자 A, B, 및 C는 각각 자신의 전자 장치 100A, 300B, 및 400C를 이용하여 소정의 데이터를 공동으로 작업할 수 있다. 예를 들어, 사용자 A, B, 및 C는 동일한 프로젝트를 수행하면서 문서 데이터 파일을 공동으로 작성할 수 있다. 상기 문서 데이터 파일은 전자 장치 100A, 300B, 및 400C 각각에 의해 획득될 수 있고, 전자 장치 100A, 300B, 및 400C의 각 사용자는 문서 편집 어플리케이션을 통해 획득된 문서 데이터 파일을 열람 또는 편집할 수 있다.
사용자 A, B, 및 C에 의한 공동작업이 완료되면. 전자 장치 100A는 상기 문서 데이터 파일을 분할하여 제1 파일, 제2 파일, 및 제3 파일을 생성할 수 있다. 전자 장치 100A는 상기 분할된 제1 파일을 전자 장치 100A에 구비된 메모리에 저장할 수 있고, 제2 파일 및 제3 파일을 각각 전자 장치 300B 및 400C로 전송할 수 있다. 이때, 상기 문서 데이터 파일, 제2 파일, 및 제3 파일은 전자 장치 100A의 저장 장치(예: 플래시 메모리, SD 카드 등)에 저장되지 않는다.
전자 장치 100A의 메모리에 저장된 제1 파일은, 상기 문서 편집 어플리케이션에 의해 출력 불가능할 수 있다. 즉, 상기 문서 편집 어플리케이션은 실행 가능한 데이터 파일을 탐색함에 있어서 제1 파일의 존재를 인지하지 못할 수 있다. 따라서, 상기 문서 편집 어플리케이션은 제1 파일의 미리보기를 제공하거나 상기 제1 파일을 실행하지 못할 수 있다.
또한, 전자 장치 300B 및 400C로 각각 전송된 제2 파일 및 제3 파일은, 전자 장치 300B 및 400C의 메모리에 각각 저장될 수 있다. 전자 장치 300B 및 400C 각각에 있어서, 제2 파일 및 제3 파일은 제1 파일과 마찬가지로 상기 문서 편집 어플리케이션을 통해 출력 불가능할 수 있다.
전자 장치 100A, 300B, 및 400C는 각각 분할된 일부의 파일만을 구비하므로 분할되기 전 데이터의 전부 또는 일부를 열람하거나 편집할 수 없다. 예를 들어, 사용자 B가 악의를 품고 공동 작업한 파일을 외부로 유출하더라도 사용자 B의 전자 장치 300B는 분할된 제2 파일만을 저장하고 있을 뿐이므로, 분할 전의 문서 데이터 파일은 유출되지 않을 수 있다.
한편, 사용자 A, B, 및 C는 상기 문서 데이터 파일에 대한 공동 작업을 재개할 수 있다. 사용자 A가 전자 장치 100A를 이용하여 문서 열람/편집 어플리케이션을 구동하면, 먼저 전자 장치 100A는 전자 장치 300B 및 400C와의 연결이 수립되었는지 판단할 수 있다. 전자 장치 300B 및 400C와의 연결이 수립되었으면, 전자 장치 100A는 제2 파일을 요청하는 메시지를 전자 장치 300B로 전송할 수 있고, 제3 파일을 요청하는 메시지를 전자 장치 400C로 전송할 수 있다.
상기 메시지에 대응하여 제2 파일 및 제3 파일이 전자 장치 300B 및 400C로부터 수신되면, 전자 장치 100A는 메모리에 저장된 제1 파일과 제2 파일 및 제3 파일을 기초로 문서 데이터 파일을 복원할 수 있다. 전술한 전자 장치 100A의 동작들은 전자 장치 300B 및 400C에 있어서도 동일하게 수행될 수 있다. 이로써 모든 사용자는 복원된 문서 데이터 파일을 획득할 수 있고, 문서 편집 어플리케이션을 통해 작업을 다시 수행할 수 있다. 그러나 일부 실시 예에서, 분할된 파일들은 특정 전자 장치(예: 가장 큰 용량을 갖는 파일이 저장된 전자 장치)로 전송되고, 다른 전자 장치들은 특정 전자 장치에 접속하여 작업에 참여할 수 있다. 예를 들어, 전자 장치 100A는 전자 장치 300B 및 400C로부터 제2 파일 및 제3 파일을 획득하고, 전자 장치 300B와 400C는 클라우드-컴퓨팅 방식으로 전자 장치 100A에 접속하여 문서 작업을 수행할 수 있다.
도 2는 본 발명의 다양한 실시 예에 따른 전자 장치를 나타낸다.
도 2를 참조하여, 다양한 실시 예에서의 전자 장치 101이 기재된다. 예를 들어 상기 전자 장치 101은 도 1에 도시된 전자 장치 100A, 200A, 300B, 400C에 대응될 수 있다.
전자 장치 101은 버스 110, 프로세서 120, 메모리 130, 입출력 인터페이스 140, 디스플레이 150, 및 통신 모듈 160을 포함할 수 있다. 어떤 실시 예에서는, 전자 장치 101은, 구성요소들 중 적어도 하나를 생략하거나 다른 구성 요소를 추가적으로 구비할 수 있다.
버스 110은, 예를 들면, 구성요소들 110 내지 160을 서로 연결하고, 구성요소들 간의 통신(예: 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
프로세서 120은, 메모리 130에 저장된 어플리케이션 프로그램(이하, 어플리케이션이라고도 함)을 구동할 수 있고, 상기 어플리케이션을 통해 데이터를 실행할 수 있다. 상기 데이터는 형식을 불문하고 다양한 데이터 (파일)을 포함할 수 있다. 예를 들어 상기 데이터는 문서 데이터, 이미지 데이터, 동영상 데이터, 음성 데이터, 로그 데이터 등을 포함할 수 있다.
프로세서 120은, 상기 데이터를 제1 파일 133과 제2 파일 135로 분할하여 생성할 수 있다. 프로세서 120은 제1 파일 133을 메모리 130에 저장하고, 외부 전자 장치 102(의 메모리)에 저장되도록, 제2 파일 135를 통신 모듈 160을 통해 외부 전자 장치 102로 전송할 수 있다.
프로세서 120가 상기 데이터를 제1 파일 133과 제2 파일 135로 분할함에 있어서는 비손실 압축(Lossless compression) 분할 방식을 적용할 수 있으며, 데이터 분할 및 복원 시의 에러 방지를 위해 오류 정정 코드(error correcting code)를 추가로 적용할 수도 있다. 이때 파일의 손상을 확인하고 안정성을 담보하기 위해 해시(HASH) 또는 HMAC(HASH-based Message Authentication Code)이 각각의 전자 장치(전자 장치 101, 전자 장치 102)에서 공유될 수 있다.
제1 파일 133은 상기 어플리케이션 통한 출력이 불가능할 수 있으며, 제2 파일 135도 외부 전자 장치 102에 포함된 어플리케이션을 통해 출력 불가능할 수 있다.
일 실시 예에 따르면, 프로세서 120은 상기 데이터를 분할함에 있어서, 생성되는 제1 파일 133의 크기 및 제2 파일 135의 크기를 전자 장치 101 또는 외부 전자 장치 102의 유형에 따라서 결정할 수 있다. 예를 들어, 프로세서 120은, 외부 전자 장치 102가 웨어러블 장치(예: 스마트 워치 또는 스마트 밴드 등)이면, 제2 파일 135의 크기를 제1 파일 133의 크기보다 작게 결정할 수 있다. 일반적으로 웨어러블 장치에 탑재된 메모리는 웨어러블 장치가 아닌 장치(예: 스마트폰, 태블릿 PC 등)의 메모리의 용량이 작기 때문이다. 아울러, 제2 파일 135의 크기가 작으면 무선 통신 164의 데이터 부하가 줄어들어 신속한 전송을 도모할 수 있다.
일 실시 예에 의하면, 프로세서 120은 상기 데이터를 암호화하고 암호화된 데이터를 제1 파일 133 및 제2 파일 135로 분할하거나, 분할된 제1 파일 133 및 제2 파일 135를 암호화할 수 있다. 전자 장치 101은 미리 정해진 암호화 알고리즘 139를 이용하여 상기 암호화를 수행할 수 있다. 상기 미리 정해진 암호화 알고리즘 139는 블록암호(block cipher)에 기반한 암호화 알고리즘일 수 있다. 상기 블록암호에 기반한 암호화 알고리즘은 AES(Advanced Encryption Standard) 암호화 알고리즘을 이용하거나, 이를 응용한 화이트-박스(White-Box) AES 암호화 알고리즘을 이용할 수 있다. AES 256 이상의 알고리즘을 통해 암호화를 수행하는 경우 암호화 모드는 AES/CBC/PKCS5 패딩(padding)으로 설정할 수 있다.
예를 들어, 프로세서 120은 패스워드를 키 유도 알고리즘(key derivation algorithm)에 적용하여 암호화 키(encryption key)를 생성할 수 있고, 생성된 암호화 키와 암호화 알고리즘 139를 이용하여 데이터를 암호화할 수 있다. 상기 패스워드는 외부 전자 장치 102로부터 통신 모듈 160을 통해 획득되거나, 터치 패널을 구비한 디스플레이 150을 통해 사용자로부터 입력될 수 있다.
프로세서 120은 상기 데이터의 획득(예: 도 5b에서 카메라 셔터 오브젝트 521을 선택으로 이미지 데이터 획득)과 동시에 전술한 기능을 수행할 수 있다. 또는 프로세서 120은 데이터를 획득한 후 사용자의 선택(예: 도 5a에서 선택지 511 또는 513을 선택)에 따라서 전술한 기능을 수행할 수 있다. 또한, 프로세서 120은 획득된 데이터에 대하여 미리 정해진 시간 간격마다 전술한 동작을 수행할 수 있다. 이 경우 통신 모듈 160에 의한 외부 전자 장치와의 연결 상태가 악화되거나 연결이 해제되는 경우에도 파일의 암호화 상태를 보장할 수 있다.
한편, 프로세서 120은, 어플리케이션이 구동되고 전자 장치 101과 외부 전자 장치 102 사이에 연결이 수립되면, 메모리 130에 저장된 제1 파일 133에 대응되는 제2 파일 135의 획득 여부(혹은 존재 여부)를 확인할 수 있다. 프로세서 120은, 제2 파일 135가 획득되지 않았으면, 제2 파일 135를 요청하는 메시지를 통신 모듈 160을 통해 외부 전자 장치 102로 전송할 수 있다.
상기 제2 파일 요청 메시지에 응답하여 외부 전자 장치 102로부터 제2 파일 135가 획득되면, 프로세서 120은, 메모리 130에 저장된 제1 파일 133과 외부 전자 장치 102로부터 획득한 제2 파일 135로부터 데이터를 복원할 수 있다.
한편, 어떤 실시 예에 의하면, 메모리 130에 저장된 제1 파일 133 및 외부 전자 장치 102로부터 획득된 제2 파일 135는 암호화된 파일일 수 있다. 프로세서 120은 상기 암호화된 제1 파일 133과 암호화된 제2 파일 135를 기초로 분할 전 데이터를 복원할 수 있다. 상기 복호화는 메모리 130에 저장된 복호화 알고리즘 139를 이용하여 수행될 수 있다.
예를 들어, 프로세서 120은 획득된 패스워드를 키 유도 알고리즘 137에 적용하여 복호화 키를 생성할 수 있고, 생성된 복호화 키와 복호화 알고리즘 139를 이용하여 제1 파일 133 및 제2 파일 135로부터 데이터를 복원할 수 있다. 상기 패스워드는 외부 전자 장치 102로부터 통신 모듈 160을 통해 획득되거나, 입출력 인터페이스 140을 통해 전자 장치 101의 사용자로부터 입력될 수 있다.
전자 장치 101의 사용자가 다시 분할 전 데이터를 사용하고자 하는 경우, 프로세서 120은 외부 전자 장치 102와의 연결을 수립하고 전술한 방법에 따라 데이터를 복원할 수 있다.
전술한 기능을 수행하는 프로세서 120은, 중앙처리장치(CPU), AP(application processor), 또는 CP(communication processor) 중 하나 또는 그 이상을 포함할 수 있다. 프로세서 120은, 예를 들면, 전자 장치 101의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
메모리 130은 프로세서 120과 버스 110을 통해 연결될 수 있고(coupled to), 소프트웨어 및/또는 프로그램을 저장할 수 있다. 메모리 130은, 예를 들면, 데이터를 실행 가능한 어플리케이션 프로그램(또는 어플리케이션) 131, 상기 데이터로부터 분할된 제1 파일 133, 암호화 키 및 복호화 키를 생성하기 위한 키 유도 알고리즘 137, 및 암/복호화 알고리즘 139를 포함할 수 있다.
입출력 인터페이스 140은, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 전자 장치 101의 다른 구성요소에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 입출력 인터페이스 140은 전자 장치 101의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
디스플레이 150은, 사용자에게 각종 컨텐츠(예: 텍스트, 이미지, 비디오, 아이콘, 또는 심볼 등)을 표시할 수 있다. 디스플레이 150은, 터치 스크린을 포함할 수 있으며, 예를 들면, 전자 펜 또는 사용자의 신체의 일부를 이용한 터치, 제스처, 근접, 또는 호버링(hovering) 입력을 수신할 수도 있다. 예를 들어, 디스플레이 150은 사용자로부터 패스워드를 입력하는 조작을 수신하거나, 어플리케이션 131이 실행하는 데이터를 표시(또는 출력)할 수 있다.
통신 모듈 160은 무선 통신 164를 통하여 전자 장치 101과 외부 장치(예: 외부 전자 장치 102) 간의 통신 연결을 수립(establish)할 수 있다. 무선 통신 164는, 예를 들면, 근거리 통신을 포함할 수 있다. 근거리 통신을 위하여 통신 모듈 160은, 예를 들면, Wi-Fi Direct, Bluetooth, NFC(near field communication), BLE(Bluetooth Low Energy), 또는 적외선 통신 중 적어도 하나에 대응되는 인터페이스 모듈을 포함할 수 있다.
어떤 실시 예에 의하면, 무선 통신 164는 셀룰러 통신을 포함할 수 있다. 예를 들면 LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, 또는 GSM 등 중 적어도 하나가 사용될 수 있다. 또한. 무선 통신 164는 유선 통신으로 대체될 수 있다. 유선 통신으로는 예를 들면, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232), 또는 POTS(plain old telephone service) 등 중 적어도 하나가 이용될 수 있다.
외부 전자 장치 102는 전자 장치 101과 동일한 또는 다른 종류의 장치일 수 있다. 한 실시 예에 따르면, 전자 장치 101에서 실행되는 동작들의 전부 또는 일부는 다른 하나 또는 복수의 전자 장치에서 실행될 수 있다. 한 실시 예에 따르면, 전자 장치 101이 어떤 기능이나 서비스를 자동으로 또는 요청에 의하여 수행해야 할 경우에, 전자 장치 101은 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 그와 연관된 적어도 일부 기능을 다른 장치(예: 전자 장치 102)에게 요청할 수 있다. 다른 전자 장치(예: 전자 장치 102)는 요청된 기능 또는 추가 기능을 실행하고, 그 결과를 전자 장치 101로 전달할 수 있다. 전자 장치 101은 수신된 결과를 그대로 또는 추가적으로 처리하여 요청된 기능이나 서비스를 제공할 수도 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
본 발명의 다양한 실시 예에 따른 전자 장치 101의 구성 및 기능은 전술한 바와 같다. 이하에서는 본 발명의 다양한 실시 예에 따른 데이터 관리 방법을 도 3 내지 도 10을 참조하여 상세히 설명한다. 이하에서는 본 발명의 다양한 실시 예에 따른 데이터 관리 방법이 2개의 전자 장치 사이에서 수행되는 것으로 설명되어 있으나, 이에 한정되는 것이 아니다. 도 1b에 도시된 것과 같이 3개 이상의 전자 장치에 대하여도 본 발명의 다양한 실시 예에 따른 데이터 관리 방법이 적용될 수 있다.
도 3은 본 발명의 일 실시 예에 따른 데이터 관리 방법을 나타낸다.
도 3을 참조하면, 본 발명의 일 실시 예에 따른 데이터 관리 방법은 동작 301 내지 동작 305를 포함할 수 있다.
동작 301에서, 프로세서 120은 어플리케이션 131에 의하여 실행 가능한 데이터를 제1 파일 133과 제2 파일 135로 분할하여 생성할 수 있다.
동작 303에서, 프로세서 120은 제1 파일 133을 메모리 130에 저장할 수 있다. 상기 제1 파일 133은, 어플리케이션 131을 통한 출력이 불가능하도록 설정될 수 있다.
동작 305에서, 프로세서 120은 외부 전자 장치 102에 저장되도록 제2 파일 135를 통신 모듈 160을 통해 외부 전자 장치 102로 전송할 수 있다. 제2 파일 135는 전자 장치 102로 전송되고 전자 장치 101에 유지되지 않을 수 있다.
도 4는 본 발명의 다른 실시 예에 따른 데이터 관리 방법을 나타낸다.
도 4를 참조하면, 본 발명의 다른 실시 예에 따른 데이터 관리 방법은 동작 401 내지 동작 409를 포함할 수 있다.
동작 401에서 프로세서 120은 통신 모듈 160을 통한 외부 전자 장치 102와의 연결이 수립되었는지 판단할 수 있다. 상기 연결이 수립되었다고 판단되면 동작 403으로 이행하고, 그렇지 않은 경우 동작 401의 판단을 반복할 수 있다.
동작 403에서 프로세서 120은 생성한 제1 파일 133 및 제2 파일 135의 크기(또는 분할 비율)를 전자 장치 101 또는 외부 전자 장치 102의 유형에 따라서 결정할 수 있다. 예를 들면, 프로세서 120은 전자 장치 101의 메모리 130에 저장된 장치 프로파일(미도시)과, 연결 수립시 획득되는 외부 전자 장치 102의 장치 프로파일을 기초로 전자 장치들의 유형(예: 모델 명, 기기의 종류(예: 스마트폰, 스마트 워치, 태블릿 PC, 랩탑 PC 등), 저장 장치의 공간, 지원하는 통신 방식(예: 셀룰러 통신, Wi-Fi, 유선 연결 등)을 판단할 수 있다.
예를 들어, 외부 전자 장치 102가 웨어러블 장치이면 제2 파일 135의 크기를 제1 파일 133의 크기보다 작게 결정할 수 있다. 또한, 전자 장치 101이 대용량 메모리를 구비하는 랩탑 PC인 경우 제2 파일 135의 크기를 제1 파일 133의 크기보다 작게 결정할 수 있다. 제1 파일 133 및 제2 파일 135의 크기는 사용자의 설정에 따르는 것이나, 제2 파일 135의 크기는 대응되는 제1 파일 133만을 기초로 복원될 수 없는 최소한의 크기로 설정될 수도 있다.
동작 405에서 프로세서 120은 동작 403에서 결정된 파일 크기에 따라 획득한 데이터를 분할하여 제1 파일 133과 제2 파일 135를 생성할 수 있다.
동작 407에서 프로세서 120은 제1 파일 133을 메모리 130에 저장할 수 있다.
동작 409에서 프로세서 120은 외부 전자 장치 102에 저장되도록 제2 파일 135를 통신 모듈 160을 통해 외부 전자 장치 102로 전송할 수 있다.
도 5a 및 도 5b는 본 발명의 다양한 실시 예에 따른 데이터 관리 방법을 실시하기 위한 사용자 인터페이스(UI; User Interface)를 나타낸다.
도 5a를 참조하면, 본 발명의 다양한 실시 예에 따른 전자 장치 101가 포함된 태블릿 PC 510이 도시되어 있다. 예를 들어, 태블릿 PC 510의 사용자는 문서 편집 어플리케이션을 이용하여, 단독으로 또는 다른 사용자와 공동으로 문서 데이터 파일에 대한 작업을 수행할 수 있다. 상기 작업이 완료되면, 태블릿 PC 510의 사용자는 완성된 문서 데이터 파일을 저장하기 위하여 소정의 사용자 조작(예: '비밀스럽게 저장하기' 버튼 선택)을 수행할 수 있다. 상기 사용자 조작이 수행되면 도 5a에 도시된 것과 같은 화면이 디스플레이 150에 표시될 수 있다.
예를 들어 태블릿 PC 510의 사용자가 선택지 511을 선택하면 후술하는 도 6에 도시된 데이터 관리 방법이 수행될 수 있고, 선택지 513을 선택하면 후술하는 도 7에 도시된 데이터 관리 방법이 수행될 수 있다.
도 5b를 참조하면, 본 발명의 일 실시 예에 따른 스마트폰 520이 도시되어 있다. 스마트폰 520은 이미징 센서(카메라)를 구비할 수 있고, 전자 장치 101의 일 예시로 이해될 수 있다. 스마트폰 520의 사용자는 카메라 어플리케이션을 이용하여 이미지 데이터를 획득할 수 있다. 예를 들어, 스마트폰 520의 사용자가 카메라 셔터를 나타내는 오브젝트 521을 선택(터치)하면 이미지 데이터가 획득될 수 있다. 상기 이미지 데이터가 획득되면 후술하는 도 6에 도시된 데이터 관리 방법이 수행될 수 있다. 한편, 카메라 어플리케이션은 현재 촬영되는 이미지에 대해 전술한 보안 방식을 적용하는 경우 소정의 아이콘을 표시할 수 있다. 예를 들어, 카메라 셔터를 나타내는 오브젝트 521에 자물쇠 형상의 표시가 포함될 수 있다. 이는 외부 전자 장치 102와의 통신 연결이 수립되었으며, 이 상태에서 촬영된 이미지는 스마트폰 520과 외부 전자 장치 102 사이에 분할되어 저장된다는 것을 의미할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 데이터 관리 방법이 동일한 사용자에게 속한 전자 장치들에 적용된 경우를 나타낸다.
도 6을 참조하면, 동일한 사용자에게 속한 전자 장치들 101, 102에 적용되는 데이터 관리 방법은, 동작 601 내지 동작 615를 포함할 수 있다. 동작 601 내지 동작 615는 예를 들어 사용자가 도 5a의 선택지 511을 선택하거나, 도 5b의 카메라 셔터 오브젝트 521을 선택한 경우에 실행될 수 있다. 도 5a의 선택지 511이 선택된 경우 분할되는 데이터는 문서 데이터 파일일 수 있고, 도 5b의 카메라 셔터 오브젝트 521가 선택된 경우 분할되는 데이터는 이미지 데이터일 수 있다.
동작 601에서 프로세서 120은 외부 전자 장치 102와의 연결이 수립되었는지 판단할 수 있다. 즉, 프로세서 120은 연결이 수립된 외부 전자 장치 102가 전자 장치 101의 사용자에 속한 장치로 등록된 것인지 판단할 수 있다. 연결이 수립된 외부 전자 장치 102가 전자 장치 101의 사용자에 속한 장치이면 동작 603으로 이행하고, 그렇지 않은 경우 동작 601의 판단을 반복할 수 있다.
동작 603에서 전자 장치 101은 터치 패널이 구비된 디스플레이 150을 통해 사용자로부터 패스워드를 획득할 수 있다. 패스워드는 동일 사용자에 속한 외부 전자 장치 102에서 입력될 수 있고, 이 경우 전자 장치 101은 상기 외부 전자 장치 102로부터 패스워드 수신할 수 있다. 전자 장치 101 및 102는 모두 동일한 사용자에 속한 장치이므로, 사용자는 임의로 선택한 전자 장치를 통해 패스워드를 입력할 수 있다.
동작 605에서 프로세서 120은 동작 603에서 획득한 패스워드를 키 유도 알고리즘 137에 적용하여 암호화 키를 생성할 수 있다.
동작 607에서 프로세서 120은 동작 605에서 생성한 암호화 키 및 암호화 알고리즘 139를 이용하여 획득되어 있는 데이터(예: 문서 데이터 파일, 이미지 데이터)를 암호화할 수 있다.
일 실시 예에 따르면, 데이터 암호화는 데이터가 분할된 이후에 수행될 수 있다. 다시 말해, 분할된 제1 파일 133 및 제2 파일 135 각각에 대하여 데이터 암호화가 수행될 수 있다. 즉, 일부 실시 예에서는 동작 609 내지 동작 611이 먼저 수행되고, 동작 603 내지 607이 동작 611 이후에 수행될 수 있다. 이 경우 동작 613 및 동작 615에서의 제1 파일 및 제2 파일은 분할 후에 암호화가 적용된 파일일 수 있다.
동작 609에서 프로세서 120은 상기 데이터로부터 분할되어 생성될 제1 파일 133의 크기 및 제2 파일 135의 크기를 전자 장치 101 또는 외부 전자 장치 102의 유형에 따라서 결정할 수 있다. 프로세서 120은, 외부 전자 장치 102의 통신 프로파일에 기초하여 당해 외부 전자 장치 102가 웨어러블 장치인 것을 파악하면, 제2 파일 135의 크기를 제1 파일 133의 크기보다 작게 결정할 수 있다.
동작 611에서 프로세서 120은 동작 609에서 결정된 각 파일의 크기에 따라서 상기 획득되어 있는 데이터를 분할하여 제1 파일 133과 제2 파일 135를 생성할 수 있다.
동작 613에서 프로세서 120은 제1 파일 133을 메모리 130에 저장할 수 있다.
동작 615에서 프로세서 120은 외부 전자 장치 102에 저장되도록 제2 파일 135를 외부 전자 장치 102로 전송할 수 있다.
도 7은 본 발명의 일 실시 예에 따른 데이터 관리 방법이 각각 서로 다른 사용자에게 속한 전자 장치들 사이에서 적용된 예를 나타낸다. 이하의 설명에서, 도 6과 그 내용이 중복되거나 대응, 또는 유사한 부분은 그 설명이 생략될 수 있다.
도 7을 참조하면, 서로 다른 사용자에게 속한 전자 장치들 101, 102에 적용되는 데이터 관리 방법은, 동작 701 내지 동작 715를 포함할 수 있다. 동작 701 내지 동작 715는 예를 들어 사용자가 도 5a의 선택지 513을 선택한 경우에 실행될 수 있다. 도 5a의 선택지 511이 선택된 경우 분할되는 데이터는 복수의 사용자에 의하여 공동으로 작업된 문서 데이터 파일일 수 있다.
동작 701에서 프로세서 120은 통신 모듈 160을 통한 외부 전자 장치와의 연결이 수립되었는지 판단할 수 있다. 즉, 프로세서 120은 연결이 수립된 외부 전자 장치가 구성원으로 등록된 전자 장치 102인지 판단할 수 있다. 연결이 수립된 외부 전자 장치 102가 구성원으로 등록된 전자 장치 102이면 동작 703으로 이행하고, 그렇지 않은 경우 동작 701의 판단을 반복할 수 있다.
동작 703에서, 프로세서 120은 다른 구성원이 외부 전자 장치 102를 통해 입력한 패스워드를 외부 전자 장치 102로부터 수신할 수 있다. 그러나 외부 전자 장치 102 대신 전자 장치 101로부터 패스워드를 획득하여 이후의 동작을 수행하는 것 역시 가능하다.
동작 705에서 프로세서 120은 동작 703에서 획득한 패스워드를 키 유도 알고리즘 137에 적용하여 암호화 키를 생성할 수 있다.
동작 707에서 프로세서 120은 동작 705에서 생성한 암호화 키 및 메모리 130에 저장된 암호화 알고리즘 139를 이용하여 획득되어 있는 데이터를 암호화할 수 있다.
동작 709에서 프로세서 120은 상기 데이터로부터 분할되어 생성될 제1 파일 133의 크기 및 제2 파일 135의 크기를 전자 장치 101 또는 외부 전자 장치 102의 유형에 따라서 결정할 수 있다.
동작 711에서 프로세서 120은 동작 709에서 결정된 각 파일의 크기에 따라 상기 데이터를 제1 파일 133과 제2 파일 135로 분할하여 생성할 수 있다.
동작 713에서 프로세서 120은 제1 파일 133을 메모리 130에 저장할 수 있다.
동작 715에서 프로세서 120은 외부 전자 장치 102에 저장되도록 제2 파일 135를 외부 전자 장치 102로 전송할 수 있다.
도 8은 데이터를 복원하기 위한 본 발명의 일 실시 예에 따른 데이터 관리 방법을 나타낸다.
도 8을 참조하면, 데이터를 복원하기 위한 본 발명의 일 실시 예에 따른 데이터 관리 방법은, 동작 801 내지 동작 813을 포함할 수 있다. 동작 801 내지 동작 813의 동작은 예를 들어 도 3, 도 4의 각 동작이 수행된 이후에 수행될 수 있다.
동작 801에서 프로세서 120는 소정의 데이터를 실행 가능한 어플리케이션 131이 구동되었는지 판단할 수 있다. 어플리케이션 131이 구동되었으면 동작 803으로 이행하고, 그렇지 않은 경우 동작 801의 판단을 반복할 수 있다.
동작 803에서 프로세서 120은 통신 모듈 160을 통한 외부 전자 장치와의 연결이 수립되었는지 판단할 수 있다. 외부 전자 장치 102와의 연결이 수립되었으면 동작 805로 이행하고, 그렇지 않은 경우 본 발명의 일 실시 예에 따른 데이터 관리 방법을 종료할 수 있다. 그러나 일 실시 예에서, 전자 장치 101은 외부 전자 장치 102와의 연결이 수립되지 않으면 외부 전자 장치 102와의 연결을 반복하여 시도할 수도 있다.
동작 805에서 프로세서 120은 메모리 130에 저장된 제1 파일 133에 대응하는 제2 파일이 메모리 130에 획득되어 있는지 확인할 수 있다. 예를 들어, 본 동작 805는 어플리케이션 131이 실행 가능한 데이터들을 탐색할 때 이루어질 수 있다. 제1 파일 133에 대응하는 제2 파일이 메모리 130에 획득되어 있는 경우 동작 811로 이행할 수 있고, 그렇지 않은 경우 동작 807로 이행할 수 있다.
제2 파일 135가 메모리 130에서 확인되지 않는 경우, 동작 807에서 프로세서 120은 외부 전자 장치 102로 제2 파일 135를 요청하는 메시지를 전송할 수 있다.
동작 809에서, 프로세서 120은 통신모듈 160을 통해 동작 807에서 전송된 메시지에 대응되는 제2 파일 135를 외부 전자 장치 102로부터 획득할 수 있다.
동작 811에서 프로세서 120은 제1 파일 133 및 제2 파일 135를 기초로 데이터를 복원할 수 있다.
동작 813에서 프로세서 120은 복원된 데이터를 어플리케이션을 통해 출력할 수 있다. 전자 장치 101의 사용자는 상기 어플리케이션으로 상기 복원된 데이터를 열람 또는 편집할 수 있다.
도 9는 데이터를 복원하기 위한 본 발명의 다른 실시 예에 따른 데이터 관리 방법을 나타낸다. 도 9와 관련된 설명에 있어서, 도 8과 중복, 대응되거나 유사한 설명은 생략될 수 있다.
도 9를 참조하면, 데이터를 복원하기 위한 본 발명의 다른 실시 예에 따른 데이터 관리 방법은, 동작 901 내지 동작 921을 포함할 수 있다. 동작 901 내지 동작 921의 동작은 예를 들어 도 6, 도 7의 각 동작이 수행된 이후에 수행될 수 있다. 또한, 이하의 외부 전자 장치 102는 제2 파일 135를 저장하고 있고, 제2 파일 135는 암호화되어 있는 것으로 본다.
동작 901에서 프로세서 120는 어플리케이션 131이 구동되었는지 판단할 수 있다. 어플리케이션 131이 구동되었으면 동작 903으로 이행하고, 그렇지 않은 경우 동작 901의 판단을 반복할 수 있다.
동작 903에서 프로세서 120은 통신 모듈 160을 통한 외부 전자 장치 102와의 연결이 수립되었는지 판단할 수 있다. 외부 전자 장치 102와의 연결이 수립되었으면 동작 905로 이행하고, 그렇지 않은 경우 본 발명의 일 실시 예에 따른 데이터 관리 방법을 종료할 수 있다.
동작 905에서 프로세서 120은 메모리 130에 저장된 제1 파일 133에 대응하는 제2 파일 135가 메모리 130에 획득되어 있는지 확인할 수 있다. 본 동작 803은 어플리케이션 131이 실행 가능한 데이터들을 탐색할 때 이루어질 수 있다. 예를 들어, 어플리케이션 131이 이미지 뷰어 어플리케이션인 경우, 이미지 뷰어 어플리케이션은 표시 가능한 이미지들(예: jpeg, gif, png 이미지)을 확인 및 디스플레이하고, 제1 파일 133과 같은 타입의 파일들을 확인하여 제2 파일 135가 메모리 130에 획득된 상태인지 확인할 수 있다. 상기 제1 파일 133은 대응되는 제2 파일 135에 대한 정보(파일 명, 저장된 외부 장치 등)를 파일의 헤더(header) 또는 예약 영역(reserved field) 등에 포함하고 있을 수 있다. 제2 파일 135에 대한 정보에 기초하여 해당 파일이 메모리 130에 저장되어 있는지 확인할 수 있다. 제1 파일 133에 대응하는 제2 파일 135가 메모리 130에 획득되어 있는 경우 동작 911로 이행할 수 있고, 그렇지 않은 경우 동작 907로 이행할 수 있다.
제2 파일이 메모리 130에 획득되어 있지 않은 경우, 동작 907에서, 프로세서 120은 외부 전자 장치 102로 제2 파일 135를 요청하는 메시지를 통신 모듈 160을 통해 전송할 수 있다.
동작 909에서, 프로세서 120은 통신모듈 160을 통해 동작 907에서 전송된 메시지에 대응되는 제2 파일 135를 외부 전자 장치 102로부터 수신하여 획득할 수 있다.
동작 911에서, 프로세서 120은 외부 전자 장치 102로 패스워드를 요청하는 메시지를 통신 모듈 160을 통해 전송할 수 있다.
동작 913에서, 프로세서 120은 통신모듈 160을 통해 동작 911에서 전송된 메시지에 대응하여 패스워드를 외부 전자 장치 102로부터 수신하여 획득할 수 있다. 어떤 실시 예에 의하면, 상기 패스워드는 터치 패널이 구비된 디스플레이 150을 통해 외부 전자 장치 102의 사용자로부터 직접 획득될 수도 있다.
동작 915에서, 프로세서 120은 외부 전자 장치 102로부터 획득된 패스워드가 올바른 패스워드인지 판단할 수 있다. 올바른 패스워드가 획득되었으면 동작 917로 이행하고, 그렇지 않은 경우 본 발명의 일 실시 예에 따른 데이터 관리 방법을 종료할 수 있다.
동작 917에서, 프로세서 120은 동작 913에서 획득된 패스워드를 키 유도 알고리즘 137에 적용하여 복호화 키를 생성할 수 있다.
동작 919에서, 프로세서 120은 동작 917에서 생성된 복호화 키와 복호화 알고리즘을 이용하여, 메모리 130에 저장된 제1 파일 133 및 외부 전자 장치 102로부터 획득한 제2 파일 135를 기초로 데이터를 복원할 수 있다.
동작 921에서 프로세서 120은 복원된 데이터를 어플리케이션을 통해 출력할 수 있다.
도 10a 내지 도 10d는 본 발명의 다양한 실시 예에 따른 데이터 관리 방법이 적용된 화면을 나타낸다.
도 10a에는 분할 또는 복원되는 데이터가 이미지 데이터인 경우의 예시적인 화면 1010 및 1020이 도시되어 있다.
화면 1010에는 복수의 이미지 데이터 1011, 이미지 데이터 1013 내지 1019를 포함한 다수의 이미지 데이터들이 이미지 뷰어 어플리케이션에 의하여 출력되어 있다. 복수의 이미지 1011은 예를 들어 도 8 또는 도 9에 도시된 데이터 관리 방법에 의하여 복원된 이미지 데이터를 나타낼 수 있다. 즉, 복수의 이미지 1011은 각각 메모리 130에 저장된 제1 파일과 외부 전자 장치 102로부터 수신한 제2 파일로부터 복원된 이미지를 나타낼 수 있다. 사용자는 상기 복수의 이미지 1011가 복원된 이미지라는 것을 각각에 포함된 풀린 자물쇠 표시를 통해 쉽게 파악할 수 있다.
반면, 화면 1020은 도 8 또는 도 9에 의한 데이터 복원이 이루어지지 못한 경우(도 8의 동작 803에서 'No', 동작 903에서 'No', 또는 동작 915에서 'No')를 나타낸다. 화면 1020을 살펴보면, 이미지 데이터 1013 내지 1019를 포함한 다수의 이미지 데이터들이 이미지 뷰어 어플리케이션에 의하여 출력되어 있다. 이미지 데이터 1013, 1015, 1017, 및 1019는 통상의 방법으로 저장된 이미지 데이터이므로 화면 1010 및 1020에 공통적으로 표시될 수 있다. 다만, 복수의 이미지 1011은 각각 대응되는 제2 파일의 부재로 인하여 복원되지 못하였으므로 화면 1020에는 표시되지 않을 수 있다.
도 10b에는 분할 또는 복원되는 데이터가 통신 이력 데이터인 경우의 예시적인 화면 1020 및 1040이 도시되어 있다.
화면 1030에는 각 연락처에 대응하는 수신 이력 데이터(혹은 통신 이력 데이터) 1031, 1033, 1035가 메시징 어플리케이션에 의하여 출력되어 있다. "Keira Smith"로부터의 수신 이력 데이터 1031은 예를 들어 도 8 또는 도 9에 도시된 데이터 관리 방법에 의하여 복원된 데이터일 수 있다. 즉, 수신 이력 데이터 1031은 전자 장치 101의 메모리 130에 저장된 제1 파일과 외부 전자 장치 102로부터 수신한 제2 파일로부터 복원된 수신 이력 데이터를 나타낼 수 있다.
반면, 화면 1040은 도 8 또는 도 9에 의한 데이터 복원이 이루어지지 못한 경우(도 8의 동작 803에서 'No', 동작 903에서 'No', 또는 동작 915에서 'No')를 나타낸다. 화면 1040에는 각 연락처에 대응하는 수신 이력 데이터 1031, 1035, 및 1037이 메시징 어플리케이션에 의하여 출력되어 있다. 수신 이력 데이터 1031, 1035, 및 1037은 본 발명의 다양한 실시예가 적용되지 않은 통상의 수신 이력 데이터이므로 화면 1030 및 1040에 공통적으로 표시될 수 있다. 다만, "Keira Smith"로부터의 수신 이력 데이터 1031는 대응되는 제2 파일의 부재로 인하여 화면 1040에 표시되지 않을 수 있다.
도 10c에는 분할 또는 복원되는 데이터가 웹 페이지 주소 데이터(예: URL 파일)인 경우의 예시적인 화면 1050 및 1060이 도시되어 있다.
화면 1050에는 2개의 웹 페이지 주소 데이터("News Peppermint" 및 "Telegram"의 웹 페이지 주소 데이터) 1051을 포함한 다수의 웹 페이지 주소 데이터가 웹 브라우저 어플리케이션에 의하여 출력되어 있다. 2개의 웹 페이지 주소 데이터 1051 각각은 예를 들어 도 8 또는 도 9에 도시된 데이터 관리 방법에 의하여 복원된 웹 페이지 주소 데이터일 수 있다. 즉, 2개의 웹 페이지 주소 데이터 1051은 각각 전자 장치 101의 메모리 130에 저장된 제1 파일과 외부 전자 장치 102로부터 수신한 제2 파일로부터 복원된 웹 페이지 주소 데이터일 수 있다.
반면, 화면 1060은 도 8 또는 도 9에 의한 데이터 복원이 이루어지지 못한 경우(도 8의 동작 803에서 'No', 동작 903에서 'No', 또는 동작 915에서 'No')를 나타낸다. 다만, 상기 2개의 웹 페이지 주소 데이터 1051은 대응되는 제2 파일의 부재로 인하여 복원되지 못하였으므로 화면 1060에 출력되지 않는다.
도 10d에는 분할 또는 복원되는 데이터가 주소록 데이터인 경우의 예시적인 화면 1070 및 1080이 도시되어 있다.
화면 1070에는 웹 페이지 "Melissa"의 주소록 데이터 1071을 포함한 다수의 주소록 데이터가 주소록 어플리케이션에 의하여 출력되어 있다. "Melissa"의 주소록 데이터 1071은 예를 들어 도 8 또는 도 9에 도시된 데이터 관리 방법에 의하여 복원된 주소록 데이터일 수 있다. 즉, "Melissa"의 주소록 데이터 1071은 전자 장치 101의 메모리 130에 저장된 제1 파일과 외부 전자 장치 102로부터 수신한 제2 파일로부터 복원된 주소록 데이터일 수 있다.
반면, 화면 1080은 도 8 또는 도 9에 의한 데이터 복원이 이루어지지 못한 경우(도 8의 동작 803에서 'No', 동작 903에서 'No', 또는 동작 915에서 'No')를 나타낸다. 다만, "Melissa"의 주소록 데이터 1071는 대응되는 제2 파일의 부재로 인하여 화면 1080에 출력되지 않는다.
다양한 실시 예에 따르면, 보안 대책이 필요한 데이터를 분할하여 복수의 전자 장치에 각각 저장하므로, 상기 복수의 전자 장치가 각각 저장한 분할 파일만으로는 데이터를 복원할 수 없다. 이로써, 사생활 보호 또는 보안 대책이 필요한 데이터를 안전하게 관리할 수 있다.
또한, 각 전자 장치의 유형에 따라서 분할될 제1 파일 및 제2 파일의 크기가 결정될 수 있다. 특히, 외부 전자 장치로서 웨어러블 장치가 이용되는 경우, 상기 웨어러블 장치에 전송되는 제2 파일의 크기를 작게 할 수 있어, 데이터 전송량을 줄일 수 있고 웨어러블 장치의 메모리의 효율적 활용을 도모할 수도 있다.
또한, 본 발명의 일 실시 예에 따른 데이터 관리 방법이 동일한 사용자에게 속한 전자 장치들에 적용되면, 상기 전자 장치들 중에 어느 하나가 분실된다 하더라도 각 전자 장치에는 분할된 파일만이 저장되어 있으므로, 우연히 상기 어느 하나의 전자 장치를 습득한 사용자는 분할 전 파일을 열람하거나 유포할 수 없다.
아울러, 데이터 암호화가 추가로 적용될 수 있으므로, 상기 전자 장치 모두가 분실된다 하더라도 우연히 상기 전자 장치를 모두를 습득한 사용자는 분할 전 파일을 열람하거나 유포할 수 없다.
또한, 본 발명의 일 실시 예에 따른 데이터 관리 방법이 상이한 사용자에게 속한 전자 장치들에 적용되면, 모든 사용자들의 전자 장치와 연결되지 않는 한 분할 전 파일을 열람하거나 유포할 수 없다.
또한, 다양한 실시 예에 있어서 분할 대상이 되는 데이터는 다양한 유형의 데이터 파일을 지원할 수 있다. 이로써, 본 발명의 다양한 실시 예에 따른 데이터 관리 방법은 사생활 보호 또는 보안 대책이 요구되는 다양한 분야에 적용될 수 있다.
본 문서에서 사용된 용어 "모듈"은, 예를 들면, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "모듈"은, 예를 들면, 유닛(unit), 로직(logic), 논리 블록(logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "모듈"은, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "모듈"은 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "모듈"은 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들면, "모듈"은, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시 예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서(예: 프로세서 120)에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리 130이 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM, DVD, 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM, RAM, 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시 예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시 예에 따른 모듈 또는 프로그램 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시 예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
그리고 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.

Claims (20)

  1. 전자 장치에 있어서,
    어플리케이션을 구동하는 프로세서;
    상기 프로세서와 연결되고(coupled to) 상기 어플리케이션을 저장하는 메모리; 및
    상기 전자 장치와 외부 장치와의 연결을 수립하는(establish) 통신 모듈을 포함하고,
    상기 프로세서는, 상기 어플리케이션에 의하여 실행 가능한 데이터를 제1 파일과 제2 파일로 분할하여 생성하고, 상기 제1 파일을 상기 메모리에 저장하며, 상기 외부 장치에 저장되도록 상기 제2 파일을 상기 통신 모듈을 통해 상기 외부 장치로 전송하도록 설정되는, 전자 장치.
  2. 청구항 1에 있어서,
    상기 제1 파일은, 상기 어플리케이션 통한 출력이 불가능하도록 설정되는, 전자 장치.
  3. 청구항 1에 있어서,
    상기 프로세서는, 상기 제1 파일의 크기 및 상기 제2 파일의 크기를 상기 전자 장치 또는 상기 외부 장치의 유형에 따라서 결정하도록 설정되는, 전자 장치.
  4. 청구항 3에 있어서,
    상기 프로세서는, 상기 외부 장치가 웨어러블 장치(wearable device)이면, 상기 제2 파일의 크기를 상기 제1 파일의 크기보다 작게 결정되도록 설정되는, 전자 장치.
  5. 청구항 1에 있어서,
    상기 메모리는, 상기 데이터를 암호화하기 위한 암호화 키를 생성하는 키 유도 알고리즘을 더 저장하고,
    상기 프로세서는, 패스워드를 상기 키 유도 알고리즘에 적용하여 상기 암호화 키를 생성하고, 상기 암호화 키를 이용하여 상기 데이터를 암호화하는, 전자 장치.
  6. 청구항 1에 있어서,
    상기 메모리는, 상기 데이터를 암호화하기 위한 암호화 키를 생성하는 키 유도 알고리즘을 더 저장하고,
    상기 프로세서는, 패스워드를 상기 키 유도 알고리즘에 적용하여 상기 암호화 키를 생성하고, 상기 암호화 키를 이용하여 상기 제1 파일 및 상기 제2 파일을 암호화하는, 전자 장치.
  7. 청구항 5에 있어서,
    상기 패스워드는, 상기 외부 장치로부터 획득되는, 전자 장치.
  8. 청구항 5에 있어서,
    상기 패스워드는, 상기 전자 장치의 사용자로부터 입력되는, 전자 장치.
  9. 청구항 5에 있어서,
    상기 프로세서는 블록암호(block cipher)에 기반하여 암호화를 수행하도록 설정되는, 전자 장치.
  10. 청구항 1에 있어서,
    상기 어플리케이션이 구동되고, 상기 전자 장치와 상기 외부 장치 사이에 연결이 수립되면, 상기 프로세서는 상기 저장된 제1 파일에 대응되는 상기 제2 파일의 획득 여부를 확인하고,
    상기 제2 파일이 획득되지 않았으면, 상기 프로세서는, 상기 제2 파일을 요청하는 메시지를 상기 통신 모듈을 통해 상기 외부 장치로 전송하도록 설정되는, 전자 장치.
  11. 청구항 10에 있어서,
    상기 메시지에 응답하여 상기 외부 장치로부터 상기 제2 파일이 획득되면, 상기 프로세서는, 상기 제1 파일과 상기 제2 파일로부터 상기 데이터를 복원하도록 설정되는, 전자 장치.
  12. 청구항 1에 있어서,
    상기 통신 모듈은, 블루투스, Wi-Fi Direct, 및 NFC 중 어느 하나를 통해 상기 외부 장치와의 연결을 수립하는, 전자 장치.
  13. 전자 장치의 데이터 관리 방법으로서,
    어플리케이션에 의하여 실행 가능한 데이터를 제1 파일과 제2 파일로 분할하여 생성하는 동작;
    상기 제1 파일을 메모리에 저장하는 동작; 및
    외부 장치에 저장되도록 상기 제2 파일을 상기 외부 장치로 전송하는 동작을 포함하는, 데이터 관리 방법.
  14. 청구항 13에 있어서,
    상기 분할하여 생성하는 동작은, 상기 제1 파일의 크기 및 상기 제2 파일의 크기를 상기 전자 장치 또는 상기 외부 장치의 유형에 따라서 결정하는 동작을 포함하는, 데이터 관리 방법.
  15. 청구항 14에 있어서,
    상기 결정하는 동작은, 상기 외부 장치가 웨어러블 장치이면 상기 제2 파일의 크기를 상기 제1 파일의 크기보다 작게 결정하는 동작을 포함하는, 데이터 관리 방법.
  16. 청구항 13에 있어서,
    패스워드를 획득하는 동작;
    상기 패스워드를 키 유도 알고리즘에 적용하여 암호화 키를 생성하는 동작; 및
    상기 암호화 키를 이용하여 상기 데이터를 암호화하는 동작을 더 포함하는, 데이터 관리 방법.
  17. 청구항 16에 있어서,
    상기 패스워드를 획득하는 동작은, 상기 외부 장치로부터 획득되는 동작인, 데이터 관리 방법.
  18. 청구항 16에 있어서,
    상기 패스워드를 획득하는 동작은, 상기 전자 장치의 사용자로부터 획득되는 동작인, 데이터 관리 방법.
  19. 청구항 13에 있어서,
    상기 어플리케이션이 구동되고, 상기 전자 장치와 상기 외부 장치 사이에 연결이 수립되면, 상기 저장된 제1 파일에 대응되는 상기 제2 파일의 획득 여부를 확인하는 동작; 및
    상기 제2 파일이 획득되지 않았으면, 상기 제2 파일을 요청하는 메시지를 상기 외부 장치로 전송하는 동작을 더 포함하는, 데이터 관리 방법.
  20. 청구항 19에 있어서,
    상기 메시지에 응답하여 상기 외부 장치로부터 상기 제2 파일을 획득하는 동작; 및
    상기 저장된 제1 파일과 상기 획득된 제2 파일로부터 상기 데이터를 복원하는 동작을 더 포함하는, 데이터 관리 방법.
KR1020150000986A 2015-01-06 2015-01-06 데이터 관리 방법 및 이를 수행하는 전자 장치 KR102249826B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020150000986A KR102249826B1 (ko) 2015-01-06 2015-01-06 데이터 관리 방법 및 이를 수행하는 전자 장치
EP16150177.0A EP3043285B1 (en) 2015-01-06 2016-01-05 Method and electronic device for managing data
ES16150177T ES2788460T3 (es) 2015-01-06 2016-01-05 Procedimiento y dispositivo electrónico de gestión de datos
US14/989,543 US10223537B2 (en) 2015-01-06 2016-01-06 Method and electronic device for managing data
CN201610007262.XA CN105760772A (zh) 2015-01-06 2016-01-06 用于管理数据的方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150000986A KR102249826B1 (ko) 2015-01-06 2015-01-06 데이터 관리 방법 및 이를 수행하는 전자 장치

Publications (2)

Publication Number Publication Date
KR20160084875A true KR20160084875A (ko) 2016-07-15
KR102249826B1 KR102249826B1 (ko) 2021-05-11

Family

ID=55083337

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150000986A KR102249826B1 (ko) 2015-01-06 2015-01-06 데이터 관리 방법 및 이를 수행하는 전자 장치

Country Status (5)

Country Link
US (1) US10223537B2 (ko)
EP (1) EP3043285B1 (ko)
KR (1) KR102249826B1 (ko)
CN (1) CN105760772A (ko)
ES (1) ES2788460T3 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019590B2 (en) * 2014-09-22 2018-07-10 Azoteq (Pty) Ltd Secure mobile phone document storage application
US10248335B2 (en) * 2016-07-14 2019-04-02 International Business Machines Corporation Reducing a size of backup data in storage
CN107122647A (zh) * 2017-04-27 2017-09-01 奇酷互联网络科技(深圳)有限公司 指纹数据处理方法、装置及电子设备
US10193690B1 (en) * 2017-09-29 2019-01-29 U.S. Bancorp, National Association Systems and methods to secure data using computer system attributes
WO2020191529A1 (zh) * 2019-03-22 2020-10-01 西门子股份公司 代码审计方法、装置,以及计算机可读介质
US11762960B2 (en) * 2020-03-27 2023-09-19 Lenovo (Singapore) Pte. Ltd. Secure file distribution

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140133127A (ko) * 2013-05-09 2014-11-19 삼성전자주식회사 파일 분산 관리 장치 및 제어 방법

Family Cites Families (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7093137B1 (en) * 1999-09-30 2006-08-15 Casio Computer Co., Ltd. Database management apparatus and encrypting/decrypting system
KR100652098B1 (ko) * 2000-01-21 2006-12-01 소니 가부시끼 가이샤 데이터 인증 처리 시스템
US7024485B2 (en) * 2000-05-03 2006-04-04 Yahoo! Inc. System for controlling and enforcing playback restrictions for a media file by splitting the media file into usable and unusable portions for playback
US20030023862A1 (en) * 2001-04-26 2003-01-30 Fujitsu Limited Content distribution system
ES2277633T3 (es) 2003-02-28 2007-07-16 Research In Motion Limited Sistema y metodo de proteccion de datos en un dispositivo de comunicacion.
US20050021539A1 (en) * 2003-03-07 2005-01-27 Chaticom, Inc. Methods and systems for digital rights management of protected content
ATE466338T1 (de) * 2004-02-12 2010-05-15 Irdeto Access Bv Verfahren und system zur externen speicherung von daten
US20100162004A1 (en) * 2008-12-23 2010-06-24 David Dodgson Storage of cryptographically-split data blocks at geographically-separated locations
JP4784260B2 (ja) * 2005-10-27 2011-10-05 Kddi株式会社 データの分散記憶方法、端末及びプログラム
BRPI0618725A2 (pt) 2005-11-18 2011-09-06 Rick L Orsini método analisador de dados seguro e sistema
US20140108796A1 (en) * 2006-01-26 2014-04-17 Unisys Corporation Storage of cryptographically-split data blocks at geographically-separated locations
KR20070103117A (ko) * 2006-04-18 2007-10-23 주식회사 히타치엘지 데이터 스토리지 코리아 기록매체의 데이터 기록 재생방법
US7599972B2 (en) * 2006-08-25 2009-10-06 Qnx Software Systems Gmbh & Co. Kg File system having variable logical storage block size
US20080154851A1 (en) * 2006-12-21 2008-06-26 Canon Kabushiki Kaisha Method and apparatus for sharing files over a network
WO2008105695A1 (en) * 2007-03-01 2008-09-04 Telefonaktiebolaget Lm Ericsson (Publ) Bit streams combination of downloaded multimedia files
US8233624B2 (en) 2007-05-25 2012-07-31 Splitstreem Oy Method and apparatus for securing data in a memory device
US9281891B2 (en) * 2007-11-27 2016-03-08 The Directv Group, Inc. Method and system of wirelessly retrieving lost content segments of broadcasted programming at a user device from another device
JP4201284B1 (ja) * 2007-12-28 2008-12-24 株式会社メキキ 属性情報認証装置、属性情報認証方法、及びコンピュータプログラム
US8416947B2 (en) * 2008-02-21 2013-04-09 Red Hat, Inc. Block cipher using multiplication over a finite field of even characteristic
KR20090131696A (ko) * 2008-06-19 2009-12-30 삼성전자주식회사 암/복호화 장치 및 이를 포함하는 보안 저장 장치
US8051205B2 (en) * 2008-10-13 2011-11-01 Applied Micro Circuits Corporation Peer-to-peer distributed storage
KR101252549B1 (ko) 2008-11-21 2013-04-08 한국전자통신연구원 보안 도메인 환경에서의 암/복호화 프로그램 및 대칭키의 안전 배포 방법 및 이를 위한 데이터 분할 및 주입 장치
US9106617B2 (en) * 2009-03-10 2015-08-11 At&T Intellectual Property I, L.P. Methods, systems and computer program products for authenticating computer processing devices and transferring both encrypted and unencrypted data therebetween
ES2620962T3 (es) * 2009-11-25 2017-06-30 Security First Corporation Sistemas y procedimientos para asegurar datos en movimiento
US8527758B2 (en) * 2009-12-09 2013-09-03 Ebay Inc. Systems and methods for facilitating user identity verification over a network
US8266435B2 (en) * 2010-01-25 2012-09-11 Compugroup Holding Ag Method for generating an asymmetric cryptographic key pair and its application
US20110208891A1 (en) * 2010-02-25 2011-08-25 Fresco Logic, Inc. Method and apparatus for tracking transactions in a multi-speed bus environment
US9176824B1 (en) * 2010-03-12 2015-11-03 Carbonite, Inc. Methods, apparatus and systems for displaying retrieved files from storage on a remote user device
US8914669B2 (en) * 2010-04-26 2014-12-16 Cleversafe, Inc. Secure rebuilding of an encoded data slice in a dispersed storage network
US8417966B1 (en) * 2010-05-28 2013-04-09 Adobe Systems Incorporated System and method for measuring and reporting consumption of rights-protected media content
JP2012010052A (ja) * 2010-06-24 2012-01-12 Sony Corp 情報処理装置および方法、プログラム、並びに、情報処理システム
ES2584057T3 (es) * 2010-08-12 2016-09-23 Security First Corp. Sistema y método de almacenamiento de datos remoto seguro
US8463802B2 (en) * 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US20120047339A1 (en) * 2010-08-20 2012-02-23 Dan Decasper Redundant array of independent clouds
EP2651072A3 (en) * 2010-09-20 2013-10-23 Security First Corp. Systems and methods for secure data sharing
US20120079095A1 (en) * 2010-09-24 2012-03-29 Amazon Technologies, Inc. Cloud-based device synchronization
US8621036B1 (en) * 2010-11-17 2013-12-31 Israel L'Heureux Secure file access using a file access server
US9336139B2 (en) * 2010-11-29 2016-05-10 Cleversafe, Inc. Selecting a memory for storage of an encoded data slice in a dispersed storage network
US9454431B2 (en) * 2010-11-29 2016-09-27 International Business Machines Corporation Memory selection for slice storage in a dispersed storage network
US8689258B2 (en) * 2011-02-18 2014-04-01 Echostar Technologies L.L.C. Apparatus, systems and methods for accessing an initial portion of a media content event
US10102063B2 (en) * 2011-03-02 2018-10-16 International Business Machines Corporation Transferring data utilizing a transfer token module
US9100186B2 (en) * 2011-03-07 2015-08-04 Security First Corp. Secure file sharing method and system
KR101881303B1 (ko) 2011-11-08 2018-08-28 삼성전자주식회사 애플리케이션 데이터 보호를 위한 휴대용 단말기의 장치 및 방법
KR101428875B1 (ko) * 2011-11-30 2014-08-12 주식회사 알티캐스트 Hls 기반 보안 처리 시스템 및 그 방법
US9009567B2 (en) * 2011-12-12 2015-04-14 Cleversafe, Inc. Encrypting distributed computing data
CN103207971A (zh) * 2012-01-12 2013-07-17 富泰华工业(深圳)有限公司 基于云存储的数据安全保护系统及方法
US20130325952A1 (en) * 2012-06-05 2013-12-05 Cellco Partnership D/B/A Verizon Wireless Sharing information
JP6048501B2 (ja) * 2012-07-13 2016-12-21 日本電気株式会社 暗号文照合システムと方法とプログラム
KR20140015737A (ko) * 2012-07-23 2014-02-07 삼성전자주식회사 사용자의 정보를 관리하는 서버 및 단말기와 각각의 제어 방법
US9525692B2 (en) * 2012-10-25 2016-12-20 Imprivata, Inc. Secure content sharing
US8874908B2 (en) * 2012-11-07 2014-10-28 Wolfgang Raudaschl Process for storing data on a central server
JP5909801B2 (ja) * 2013-02-08 2016-04-27 株式会社Pfu 情報処理装置、情報処理システム、及びプログラム
US9900171B2 (en) * 2013-02-25 2018-02-20 Qualcomm Incorporated Methods to discover, configure, and leverage relationships in internet of things (IoT) networks
US10075523B2 (en) * 2013-04-01 2018-09-11 International Business Machines Corporation Efficient storage of data in a dispersed storage network
KR101832394B1 (ko) * 2013-04-10 2018-02-26 삼성전자주식회사 단말 장치, 서버 및 그 제어 방법
JP6179177B2 (ja) * 2013-05-07 2017-08-16 株式会社リコー 情報処理プログラムおよび情報処理装置、ならびに、表示制御プログラム
CN104243517B (zh) * 2013-06-14 2018-12-11 腾讯科技(深圳)有限公司 不同终端之间的内容分享方法及装置
US20150006645A1 (en) * 2013-06-28 2015-01-01 Jerry Oh Social sharing of video clips
US9544343B2 (en) * 2013-07-03 2017-01-10 Cisco Technology, Inc. Content sharing system for small-screen devices
US9998538B2 (en) * 2013-08-29 2018-06-12 International Business Machines Corporation Dispersed storage with coordinated execution and methods for use therewith
US9208335B2 (en) * 2013-09-17 2015-12-08 Auburn University Space-time separated and jointly evolving relationship-based network access and data protection system
US9087205B2 (en) * 2013-10-11 2015-07-21 Sap Se Shared encrypted storage
US9781123B2 (en) * 2014-04-25 2017-10-03 Samsung Electronics Co., Ltd. Methods of providing social network service and server performing the same
EP2937802B1 (en) * 2014-04-25 2021-03-24 Samsung Electronics Co., Ltd Mobile device and method of sharing content
US9841925B2 (en) * 2014-06-30 2017-12-12 International Business Machines Corporation Adjusting timing of storing data in a dispersed storage network
AU2015207842B2 (en) * 2014-07-29 2020-07-02 Samsung Electronics Co., Ltd. Method and apparatus for sharing data
JP6340996B2 (ja) * 2014-08-22 2018-06-13 富士通株式会社 暗号化方法、情報処理プログラム、及び情報処理装置
US9577996B2 (en) * 2014-08-29 2017-02-21 Pentland Firth Software GmbH Computer system and method for encrypted remote storage
KR101960339B1 (ko) * 2014-10-21 2019-03-20 삼성에스디에스 주식회사 파일 동기화 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140133127A (ko) * 2013-05-09 2014-11-19 삼성전자주식회사 파일 분산 관리 장치 및 제어 방법

Also Published As

Publication number Publication date
KR102249826B1 (ko) 2021-05-11
US10223537B2 (en) 2019-03-05
ES2788460T3 (es) 2020-10-21
EP3043285A1 (en) 2016-07-13
EP3043285B1 (en) 2020-04-01
US20160196435A1 (en) 2016-07-07
CN105760772A (zh) 2016-07-13

Similar Documents

Publication Publication Date Title
US9923902B2 (en) Remote processsing of mobile applications
KR102330538B1 (ko) 디바이스를 통한 콘텐츠 와이핑 동작 로밍 기법
US10223537B2 (en) Method and electronic device for managing data
US8909933B2 (en) Decoupled cryptographic schemes using a visual channel
EP3229397B1 (en) Method for fulfilling a cryptographic request requiring a value of a private key
US20210165898A1 (en) Enhanced management of access rights for dynamic user groups sharing secret data
CN113364760A (zh) 一种数据加密处理方法、装置、计算机设备及存储介质
US11115393B2 (en) Message server, method for operating message server and computer-readable recording medium
US10230697B2 (en) User terminals, and methods and computer-readable recording mediums storing computer programs for transmitting and receiving messages
US20170272251A1 (en) Method of performing keyed-hash message authentication code (hmac) using multi-party computation without boolean gates
US20130335582A1 (en) Method of controlling information processing apparatus and information processing apparatus
US20150347368A1 (en) Attachment markup and message transmission
US9332405B2 (en) Short message backup method, mobile terminal, and server
CN107666395A (zh) 一种群文件管理方法、用户终端、群聊系统
CN105656870B (zh) 一种数据传输方法、装置及系统
US10372710B2 (en) Using metadata to take action on an SMS message on a proprietary system
US9734310B2 (en) Authentication method and computer-readable recording medium
EP3025247B1 (en) Data view based on context
KR101364859B1 (ko) 스캔 이미지 처리 시스템 및 스캔 이미지 처리 방법
KR101846163B1 (ko) 공유 정보를 보호하는 방법 및 시스템
US20230041437A1 (en) System for end-to-end electronic data encryption using an intelligent homomorphic encryped privacy screen
CN106453335B (zh) 一种数据传输方法及装置
US10594486B1 (en) Password identification system and method
CN114218536A (zh) 一种资源请求方法及系统
WO2014019500A1 (en) Short message backup method, mobile terminal, and server

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