KR100716529B1 - 통신 장치 상의 데이터를 보호하는 시스템 및 방법 - Google Patents

통신 장치 상의 데이터를 보호하는 시스템 및 방법 Download PDF

Info

Publication number
KR100716529B1
KR100716529B1 KR1020057015955A KR20057015955A KR100716529B1 KR 100716529 B1 KR100716529 B1 KR 100716529B1 KR 1020057015955 A KR1020057015955 A KR 1020057015955A KR 20057015955 A KR20057015955 A KR 20057015955A KR 100716529 B1 KR100716529 B1 KR 100716529B1
Authority
KR
South Korea
Prior art keywords
data
encrypted
key
communication device
received
Prior art date
Application number
KR1020057015955A
Other languages
English (en)
Other versions
KR20050113204A (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 KR1020057015955A priority Critical patent/KR100716529B1/ko
Publication of KR20050113204A publication Critical patent/KR20050113204A/ko
Application granted granted Critical
Publication of KR100716529B1 publication Critical patent/KR100716529B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

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

Abstract

통신 장치 상의 데이터를 보호하는 시스템 및 방법이 제공된다. 통신 장치가 제1 조작 상태에 있을 때 수신된 데이터는 제1 암호 키 및 알고리즘을 사용하여 암호화된다. 통신 장치가 제2 조작 상태에 있을 때, 수신된 데이터는 제2 암호 키 및 알고리즘을 사용하여 암호화된다. 수신된 데이터는 암호화된 형태로 통신 장치 상에 저장된다.
제1 조작 상태, 제2 조작 상태, 공개 키, 개인 키, 대칭 키, 키 저장부, 데이터 보호 시스템

Description

통신 장치 상의 데이터를 보호하는 시스템 및 방법{SYSTEM AND METHOD OF PROTECTING DATA ON A COMMUNICATION DEVICE}
본 발명은 일반적으로 데이터 보호에 관한 것으로, 특히 통신 장치 상의 데이터 보호에 관한 것이다.
회사 환경에서, 사원들에게는 흔히, 전형적으로 최소한 퍼스널 컴퓨터(PC)를 포함하여, 직무를 수행하는데 사용될 사무용품 및 기기로의 액세스가 제공되고, 또한 무선 이동 통신 장치 및 그외 다른 유형의 전자 장치가 포함된다. 기밀의 또는 그 밖의 민감한 사용자 정보, 고용주 정보, 또는 이 둘다는 이러한 장치들 중의 어느 것인가에 저장될 수 있다. 고용주의 건물에 있는 PC와 같은 사용자 장치는 고용주에 의해 물리적으로 안전하게 지켜지지만, 휴대용 또는 이동 장치는 그들의 특성상 잘못 두거나 도둑맞게 될 가능성이 더 크므로, 덜 안전하다. 그러므로, 흔히, 분실 또는 도둑맞은 사용자 장치 상의 정보를 권한이 없는 당사자가 액세스하지 못하도록 이동 장치 상의 민감한 정보를 보호하는 것이 바람직하다.
무선 이동 통신 장치와 같이 통신이 가능한 이동 장치의 한가지 일반적인 보안 조치 유형은 예를 들어, 민감한 정보가 확실하게 그러한 이동 장치에 안전하게 전송될 수 있게 하는 것이다. 정보 전송이 안전하긴 하지만, 이들 조치는 전송 중 에만 정보를 보호할 뿐이고, 이동 장치에 의해 정보가 수신된 후에는 그렇지 않다.
다른 공지된 보안 방식에 따르면, 수신된 정보는 메모리 내에 저장될 때 또는 저장되기 전에 암호화된다. 저장된 암호화 정보의 복호화는 암호화 키로의 액세스를 필요로 한다. 단일 키가 암호화 및 복호화 둘다에 사용되는 대칭 키 암호기법은 일반적으로 제한된 프로세싱 자원을 갖는 이동 장치에 바람직한데, 그것은 대칭 키 암호화 동작이 다른 암호화 방식과 관련된 것보다 더 빠르고 보다 덜 프로세서-집약적이기 때문이다. 이러한 단일 키로의 액세스는 권한이 없는 사용자가 분실 또는 도둑맞은 이동장치 상의 메모리로부터 키를 쉽게 판독하여 이동 장치 상에 저장된 모든 암호화 내용을 복호화할 수 없도록, 예를 들어 암호 보호를 사용하여 제어되어야 한다. 그러나, 이것은 정보가 이동 장치에서 수신될 때 키가 액세스불가능한 상황을 초래할 수 있다.
제1 조작 상태 및 제2 조작 상태를 갖는 통신 장치 상의 데이터를 보호하는 시스템은 복수의 암호 키를 저장하도록 구성된 키 저장부; 데이터를 저장하도록 구성된 메모리; 데이터를 수신하고, 통신 장치가 제1 조작 상태에 있는지 제2 조작상태에 있는 지의 여부를 결정하며, 통신 장치가 제1 조작 상태에 있는 경우에 복수의 암호 키들 중의 제1 암호 키를 사용하거나, 또는 통신 장치가 제2 조작 상태에 있는 경우에 복수의 암호 키들 중의 제2 암호 키를 사용하여, 수신된 데이터를 암호화하고, 암호화된 수신 데이터를 메모리 내에 저장하도록 구성된 데이터 보호 시스템을 포함한다.
통신 장치 상의 데이터를 보호하는 방법은 제1의 보호된 암호 키 및 제2 암호 키를 통신 장치 상에 저장하는 단계, 통신 장치에서 데이터를 수신하는 단계, 제1의 보호된 암호 키가 액세스가능한 지의 여부를 판정하는 단계, 제1의 보호된 암호 키가 액세스가능한 경우에 제1의 보호된 암호 키를 사용하여 수신된 데이터를 암호화하는 단계, 제1의 보호된 암호 키가 액세스 불가능한 경우에 제2 암호 키를 사용하여 수신된 데이터를 암호화하는 단계, 및 암호화된 수신 데이터를 통신 장치 상의 메모리 내에 저장하는 단계를 포함한다.
데이터 보호 시스템 및 방법의 또 다른 특징은 다음의 상세한 설명 부분에 설명되거나 그 설명 과정에서 더욱 명백해질 것이다.
도 1은 이동 장치가 사용될 수 있는 통신 시스템을 도시한 블록도.
도 2는 데이터 보호 시스템 및 방법이 구현되는 이동 장치의 블록도.
도 3은 데이터 보호를 인에이블하는 방법을 도시한 흐름도.
도 4는 이동 장치에서 수신된 데이터를 보호하는 방법을 도시한 흐름도.
도 5A는 데이터 포맷의 블록도.
도 5B는 대안적인 데이터 포맷의 블록도.
도 6은 보호된 데이터를 액세스하는 방법을 도시한 흐름도.
도 7-11은 데이터 보호 시스템 및 방법이 구현되는 이동 장치 상의 디스플레이의 스크린 샷.
도 12는 무선 이동 통신 장치의 블록도.
도 1은 이동 장치가 사용될 수 있는 통신 시스템을 도시한 블록도이다. 통신 시스템(10)은 광역통신망(WAN)을 포함하는데, 이 광역통신망(WAN)은 컴퓨터 시스템(14), 무선 네트워크 게이트웨이(16) 및 회사 구내통신망(LAN)(18)에 연결된다. 무선 네트워크 게이트웨이(16)는 또한 무선 통신 네트워크(20)에 접속되고, 무선 이동 통신 장치인 이동 장치(22)가 이 무선 통신 네트워크(20) 내에서 동작하도록 구성된다.
컴퓨터 시스템(14)은 예를 들어 인터넷인 WAN(12)에 통신하도록 구성되는 데스크탑 또는 랩탑 PC일 수 있다. 컴퓨터 시스템(14)과 같은 PC는 보통, 인터넷 서비스 제공자(ISP), 애플리케이션 서비스 제공자(ASP) 등을 통해 인터넷을 액세스한다.
사내 LAN(18)은 복수의 컴퓨터가 네트워크 내에서 접속되는 전형적인 근무 환경의 한 예이다. 그러한 네트워크는 흔히 보안 방화벽(24) 뒤에 위치한다. 사내 LAN(18) 내에서, 방화벽(24) 뒤의 컴퓨터 상에서 동작하는 데이터 서버(26)는 회사가 LAN(18) 내에서 데이터를 교환하고 WAN(12)을 통해 다른 외부 시스템 및 장치와 데이터를 교환하기 위한 1차 인터페이스로서 작용한다. 데이터 서버(26)는 예를 들어, MicrosoftTM Exchange Server 또는 Lotus DominoTM Server와 같은 메시징 서버일 수 있다. 이들 서버는 또한 캘린더, 투두 리스트(todo lists), 태스크 리스트, 이메일 및 문서화와 같은 데이터의 동적 데이터베이스 저장과 같은 부가 기 능을 제공한다. 데이터 서버(26)만이 LAN(18) 내에 도시되었지만, 본 분야에 숙련된 기술자들은 하나의 LAN이, 네트워크화 컴퓨터 시스템(28)들 사이에서 공유되는 자원을 지원하는 기타 유형의 서버를 포함하는 두개 이상의 서버를 포함할 수 있다는 것을 알 수 있을 것이다.
데이터 서버(26)는 LAN(18)에 연결된 네트워크화 컴퓨터 시스템(28)에 데이터 통신 능력을 제공한다. 전형적인 LAN(18)은 복수의 컴퓨터 시스템(28)을 포함하는데, 이들 컴퓨터 시스템(28)의 각각은 데이터 서버(26)와 통신하기 위한 적절한 클라이언트를 구현한다. 전자 메시징의 상기 예에 있어서, LAN(18) 내에서, 메시지는 데이터 서버(26)에 의해 수신되고, 수신된 메시지 내에 어드레스된 사용자 계정에 적절한 메일박스로 분산된 다음에, 컴퓨터 시스템(28) 상에서 동작하는 메시징 클라이언트를 통해 사용자에 의해 액세스된다. 전자 메시지와 다른 유형의 데이터의 교환은 이와 유사하게, 데이터 서버(26)와 호환가능한 클라이언트를 사용하여 가능하게 된다. 예를 들어, Lotus Notes와 같은 다용도 클라이언트는 전자 메시지뿐만 아니라 다른 유형의 파일 및 데이터를 처리한다.
무선 게이트웨이(16)는 무선 네트워크(20)에 인터페이스를 제공하고, 이 무선 네트워크(20)를 통해, 보호되어야 하는 데이터를 포함한 데이터가 이동 장치(22)와 교환될 수 있다. 이동 장치(22)는, 예를 들어, 데이터 통신 장치, 데이터 및 음성 통신 기능을 갖는 복수의 모뎀 이동 전화와 같은 이중-모드 통신 장치, 음성, 데이터 및 기타 유형의 통신을 할 수 있는 다중-모드 장치, 무선 통신이 가능한 퍼스널 디지털 어시스턴트(PDA), 또는 랩탑 또는 데스크탑 컴퓨터 시스템 또는 소정의 다른 장치와 함께 동작하는 무선 모뎀일 수 있다. 예시적인 이동 장치는 아래에 더욱 상세하게 설명된다.
이동 장치(22)의 어드레싱, 무선 송신을 위한 메시지의 인코딩 또는 그외 다른 변환과 같은 기능, 또는 기타 필요한 인터페이스 기능은 무선 네트워크 게이트웨이(16)에 의해 실행된다. 무선 네트워크 게이트웨이(16)가 하나보다 많은 무선 네트워크(20)와 동작하도록 구성되는 경우, 그것은 또한 소정의 한 이동 장치(22)의 위치를 가장 잘 찾아낼 수 있는 네트워크를 결정하고, 사용자들이 지역들 또는 네트워크들 사이를 돌아다닐 때 이동 장치를 가능한한 추적한다. 도 1에는 단일 무선 네트워크 게이트웨이(16)만이 도시되었지만, 이동 장치(22)는, 예를 들어 회사 네트워크 게이트웨이 또는 WAP 게이트웨이와 같은 하나보다 많은 게이트웨이와 통신하도록 구성될 수 있다.
WAN(12)으로의 액세스를 갖는 소정의 컴퓨터 시스템은 이동 장치(22)에 그러한 통신이 허용되면, 무선 네트워크 게이트웨이(16)를 통해 이동 장치(22)와 데이터를 교환할 가능성이 있을 수 있다. 대안적으로, 무선 가상 사설 통신망(VPN) 라우터와 같은 사설 무선 네트워크 게이트웨이는 또한 무선 네트워크에 사설 인터페이스를 제공하도록 구현될 수 있다. 예를 들어, LAN(18) 내에 구현된 무선 VPN은 무선 네트워크 게이트웨이(16)를 요구하지 않고 무선 네트워크(20)를 통해 LAN(18)으로부터 하나 이상의 이동 장치(22)로의 사설 인터페이스를 제공할 수 있다. 무선 네트워크 게이트웨이(16) 및/또는 무선 네트워크(20)를 통한 이동 장치(22)로의 그러한 사설 인터페이스는 또한, 데이터 서버(26)와 함께 동작하는 데이터 순방향 또는 방향변경 시스템을 제공함으로써 LAN(18) 외부의 엔티티로 효과적으로 확장될 수 있다.
무선 네트워크(20)는 통상적으로, 기지국들과 장치들 사이의 RF 전송을 통해 이동 장치(22)와 같은 통신 장치로 및 통신장치로부터 데이터를 전달한다. 무선 네트워크(20)는, 예를 들어 데이터 중심의 무선 네트워크, 음성 중심의 무선 네트워크, 또는 동일한 기반구조를 통해 음성 및 데이터 통신을 지원할 수 있는 이중-모드 네트워크일 수 있다. 최근 개발된 음성 및 데이터 네트워크는 CDMA(Code Division Multiple Access) 네트워크, GSM(Groupe Special Mobile 또는 Global Syatem for Mobile Communications) 및 GPRS(General Packet Radio Service) 네트워크, 및 현재 개발 중에 있는 EDGE(Enhanced Data rates for Global Evolution) 및 UMTS(Universal Mobile Telecommunications Syatems)와 같은 제3세대(3G) 네트워크를 포함한다. 기존의 데이터 중심의 네트워크는 MobitexTM Radio Network("Mobitex") 및 DataTACTM Radio Network("DataTAC")를 포함하는데, 이것에 제한되는 것은 아니며, 공지된 음성 중심의 데이터 네트워크는 수년동안 북아메리카 및 세계적으로 이용되어 온 TDMA(Time Division Multiple Access) 시스템 및 GSM과 같은 PCS(Personal Communication Systems) 네트워크를 포함한다.
시스템(10)에서, 사내 LAN(18)을 소유하는 회사는 사원에게 이동 장치(22)를 제공하고 사내 LAN(18)으로의 액세스를 제공할 수 있다. 그러면, 회사 데이터는 이동 장치(22)에 액세스되고 저장될 수 있다. 이동 장치(22)의 사용자가 이동 장 치(22)가 또한 통신할 수 있는 컴퓨터 시스템(28)을 통해 LAN(18)으로 액세스하는 경우, 이동 장치(22) 상에서 회사 데이터를 액세스하고 저장하기 위한 다른 경로가 이용가능하다. 그러한 데이터는 일반적으로 안전한 통신 기술을 사용함으로써 이동 장치(22)로 전달되는 동안에는 보호되지만, 이들 기술은 일단 데이터가 이동 장치(22)에서 수신되어 저장되면 데이터를 보호하지 않는다.
상술된 바와 같이, 데이터가 이동 장치(22) 상의 메모리 내에 저장될 때나 저장되기 전의 데이터 암호화는 소정의 보안 조치를 제공한다. 데이터 복호화와 관련된 데이터 액세스 시간 지연 및 프로세서 로드를 감소시키기 위해서는, 대칭 키 암호기법이 바람직하다. 그러나, 대칭 키를 보호하기 위해 구현된 보안 조치는 또한 데이터가 수신될 때 키를 액세스하기 어렵게 할 수 있다. 예를 들어, 이동 장치(22)가 암호 보호를 구현하는 경우, 데이터 암호화를 위해 사용된 대칭 키는 보안 암호(password 또는 passphrase)의 정확한 엔트리에 의해 언로크되어 있는 경우에만 액세스가능할 수 있다. 이 예에서, 이동 장치(22)가 로크될 때에 데이터를 수신하면, 즉 데이터가 요청된 적없이 이동 장치(22)로 넣어지면, 대칭 키는 액세스 불가능하고, 데이터는 저장을 위해 암호화될 수 없다.
본 발명의 실시양상에 따른 시스템 및 방법은 이동 장치가 복수의 상태 중의 임의의 상태에 있을 때 수신 데이터의 보호를 제공한다.
도 2는 데이터 보호 시스템 및 방법이 구현되는 이동 장치의 블록도이다. 본 분야에 숙련된 기술자들은 데이터 보호 시스템에 관련된 컴포넌트들만이 도 2에 도시되었다는 것을 알 수 있을 것이다. 이동 장치는 전형적으로 도 2에 도시된 것 들 이외의 컴포넌트들을 더 포함한다.
이동 장치(30)는 메모리(32), 데이터 보호 시스템(49), 프로세서(50), 사용자 인터페이스(UI)(52), 무선 송수신기(54) 및 인터페이스 또는 커넥터(56)를 포함한다. 메모리(32)는 양호하게 소프트웨어 애플리케이션용 저장 영역(34), 키 저장부(42) 및 복수의 데이터 저장부(36-40 및 44-48)를 포함한다.
메모리(32)는 기타 장치 컴포넌트들이 데이터를 기입할 수 있는 RAM과 같은 기입가능 저장부이거나, 또는 최소한 그러한 기입가능 저장부를 포함한다. 소프트웨어 애플리케이션 저장부(34)는 이동 장치(30) 상에 설치되어 있는 소프트웨어 애플리케이션을 포함하고, 예를 들어 전자 메시징 애플리케이션, 개인 정보 관리(PIM) 애플리케이션, 게임뿐만 아니라 기타 애플리케이션을 포함할 수 있다. 애플리케이션 데이터 저장부(38)는 브라우저 애플리케이션을 위한 캐시된 웹 페이지, 또는 소프트웨어 애플리케이션에 의해 사용된 파일과 같은 데이터뿐만 아니라, 소프트웨어 애플리케이션을 위한 구성 데이터를 포함하여, 이동 장치(30) 상의 소프트웨어 애플리케이션과 관련된 정보를 저장한다. 수신 및/또는 송신된 이메일 메시지와 같은 전자 메시지는 메시지 저장부(38) 내에 저장된다. 스케쥴 정보, 예약 및 리마인더(reminder)들과 같은 데이터는 캘린더 저장부(40) 내에 저장된다. 태스크 저장부(44)는 사용자가 추적하고 싶은 태스크를 저장하기 위해 사용된다. 사용자에 의해 입력된 노트 및 메모는 메모 저장부(46) 내에 저장된다. 텍스트 엔트리 저장부(48)는, 예를 들어 텍스트가 이동 장치(30) 상에 입력될 때 예측 텍스트 엔트리 및 자동 에러 정정을 지원하는 단어 목록이나 사전을 저장한다. 분리된 데 이터 저장부들로 도시되었지만, 본 분야에 숙련된 기술자들은 저장부의 일부 또는 전부가 메모리(32) 내의 단일 데이터 저장부 내로 통합될 수 있다는 것을 알 수 있을 것이다. 또한, 이동 장치는 도 2에 도시된 것보다 더 많거나 더 적은 또는 상이한 데이터 저장부를 포함할 수 있다는 것을 알 수 있을 것이다.
키 저장부(42)는 이동 장치(30) 상의 데이터 보호를 지원하기 위해 사용된 암호화 키를 저장하고, 액세스가 제어되는 메모리(32)의 안전한 부분 또는 안전한 메모리 컴포넌트 내에 상주하는 것이 바람직하다. 예를 들어, 사용자 또는 소프트웨어 애플리케이션은 키 저장부(42) 내의 데이터 보호 키를 삭제하거나 변경할 수 없어야 된다. 한 실시예에서, 키 저장부(42)로의 액세스는 데이터 보호 시스템(49)으로 제한된다. 데이터 보호 시스템(49)은 더욱 상세하게 후술되는 바와 같이, 수신된 데이터를 암호화하고, 메모리(32) 내에 저장된 암호화된 데이터를 복호화한다.
프로세서(50)는 무선 송수신기(54)에 접속되므로, 이동 장치(30)가 무선 네트워크를 통해 통신할 수 있게 한다. 인터페이스/커넥터(56)는 협동 인터페이스 또는 커넥터를 갖는 PC 또는 다른 장치에 대안적인 통신 경로를 제공한다. 인터페이스/커넥터(56)는, 예를 들어 적외선 통신 규격(Infrared Data Association: IrDA) 포트와 같은 광학 데이터 전송 인터페이스, 소정의 기타 단거리 무선 통신 인터페이스, 또는 시리얼 포트, 유니버셜 시리얼 버스(USB) 포트 또는 안전 디지털(SD) 슬롯과 같은 유선 인터페이스를 포함하는 복수의 데이터 전송 컴포넌트들 중의 임의의 컴포넌트일 수 있다. 공지된 단거리 무선 통신 인터페이스는, 예를 들 어 BluetoothTM 모듈 및 802.11 모듈을 포함한다. 본 분야에 숙련된 기술자들은 "블루투스(Bluetooth)" 및 "802.11"이 각각 무선 LAN 및 무선 개인 영역 네트워크에 관해 IEEE(Institute of Electrical and Electronics Engineers)로부터 이용가능한 스펙 세트를 나타낸다는 것을 알 수 있을 것이다. 그러므로, 인터페이스/커넥터(56)를 통해 설정된 통신 링크는 무선 접속 또는 물리적 유선 접속일 수 있다.
UI(52)는 키보드 또는 키패드, 디스플레이, 또는 이동 장치(30)의 사용자로부터 입력을 받아들이거나 그 사용자에게 출력을 제공하는 기타 컴포넌트들과 같은 UI 컴포넌트들을 포함한다. 도 2에는 단일 블록으로 도시되었지만, 이동 장치는 전형적으로 하나보다 많은 UI를 포함하고, UI(52)는 따라서 하나 이상의 인터페이스를 나타내도록 되어 있다는 것을 알 수 있을 것이다.
이동 장치 상의 임의의 또는 모든 데이터 저장부 내의 데이터는 여기에서 설명된 바와 같이 보호될 수 있다. 대부분의 구현예에서, 기타 데이터 저장부(36-38 및 44-48)는 통상적으로 사용자 또는 고용인이 개인 데이터 또는 회사 데이터에 대해 보호하고 싶어할 수 있는 데이터를 저장하지만, 이동 장치 상에 설치된 소프트웨어 애플리케이션은 보호될 수 있을 것 같지 않다.
이동 장치(30)에서, 메모리(32)로의 액세스는 데이터 보호 시스템(49)에 의해 제어되는데, 이 데이터 보호 시스템(49)은 수신된 데이터를 암호화하여 암호화된 데이터를 메모리(32)에 저장하고, 저장된 데이터를 다른 이동 장치 컴포넌트를 위해 복호화한다. 이동 장치(30)의 기타 모든 컴포넌트는 데이터 보호 시스템(49) 에 접속되고, 이들 기타 컴포넌트에 의한 메모리 판독 및 기입 동작은 데이터 보호 시스템(49)을 통해 실행된다. 프로세서(50)를 통한 무선 송수신(54) 또는 UI(52)로부터, 프로세서(50)에 의해 실행되는 소프트웨어 애플리케이션으로부터, 또는 인터페이스/커넥터(56)로부터, 데이터 보호 시스템(49)에 의해 수신된 데이터는 키 저장부(42) 내에 저장된 키를 사용하여 암호화된다. 이와 마찬가지로, 보호된 데이터의 요청이 이동 장치(30) 상의 컴포넌트 또는 소프트웨어 애플리케이션으로부터 데이터 보호 시스템(49)에 의해 수신될 때, 데이터 보호 시스템(49)은 암호화된 데이터를 복호화하고, 복호화된 데이터를 요청 컴포넌트로 보낸다. 데이터 보호 시스템(49)은 상세하게 후술되는 바와 같이 인에이블 또는 디스에이블될 수 있는 소프트웨어 모듈 또는 유틸리티; 또는 메모리(32), 메모리(32)의 특정 부분, 또는 특정 데이터 저장부 또는 데이터 유형을 관리하도록 구성된 하드웨어 모듈로 구현된다.
도 2에 도시된 장치 배열은 단지 예시적으로 나타내고자 하는 것으로서, 본 발명은 결코 그것에 제한되지 않는다는 것을 알기 바란다. 예를 들어, 대안적인 실시예에서, 프로세서(50), 인터페이스/커넥터(56) 및 기타 장치 시스템은 메모리(32)로 액세스하고, 메모리(32)로부터 검색된 암호화된 데이터가 복호화될 때 및 수신된 데이터가 메모리(32)에 저장되기 전에 암호화될 때 데이터 보호 시스템과 상호작용한다. 이 경우에, 이동 장치 시스템 및 컴포넌트는 필요할 때 암호화 및 복호화를 위해 데이터 보호 시스템에 데이터를 보내지만, 메모리(32)를 직접 액세스한다. 도 2에 도시된 장치 배열은 메모리(32)로의 액세스가 데이터 보호 시스템 (49)에 의해 제어된다는 점에서 더욱 엄격한 데이터 보호 제어를 제공하지만, 이 대안적인 실시예는 비보호 데이터가 데이터 보호 시스템에 의한 어떠한 관련도 없이 메모리(32)로부터 직접 검색되기 때문에 비보호 데이터 저장부에 대한 지원을 단순화한다.
동작시, 데이터 보호 시스템(49)은 키 저장부(42) 내의 암호 키를 액세스한다. 본 발명의 한 실시양상에 따르면, 키 저장부(42)는 몇몇 키를 저장한다. 상술된 바와 같이, 대칭 암호기법은, 데이터 보호가 인에이블될 때 보호 데이터의 암호화 및 복호화에 사용된 대칭 키가 키 저장부(42) 내에 저장되도록 하기 위해, 일반적으로 프로세서-제약 이동 장치에 바람직하다. 보안 암호가 이동 장치(30)를 권한없는 사용에 대해 안전하게 보호하긴 하지만, 대칭 키, 따라서 암호화 데이터를 소위 하드웨어 공격에 대해 보호하기 위해서는 일반적으로 그 이상의 조치가 바람직하다. 예를 들어, 암호 보호는 저장된 데이터를 직접 판독하기 위해 메모리(32)를 포함하는 물리적 컴포넌트들이 이동 장치(30)로부터 제거되는 경우에 메모리 내용을 보호하지 않는다. 그러므로, 대칭 키는 암호화 형태로 키 저장부(42) 내에 저장되는 것이 바람직하다. 대칭 키의 복호화는 사용자 암호의 정확한 엔트리를 필요로 한다.
일단 복호화되면, 대칭 키는 필요시마다 복호화될 필요가 없게 전형적으로 키 저장부(42) 또는 다른 메모리 영역 또는 캐시 내에 저장된다. 그러나, 복호화된 대칭 키는 이동 장치(30)가 로크될 때, 미리 설정된 보안 만료기간 후에 사용자 커맨드에 응답하거나 자동적으로, 또는 이동 장치(30)가 예를 들어 휴대용 케이스 또는 가죽 케이스에 보관될 때, 삭제되는 것이 바람직하다. 다음에 이동 장치(30)가 정확한 암호로 언로크되면, 암호화 대칭 키는 다시 복호화된다.
상기 키 암호 방식은 대칭 키 및 따라서 이 대칭 키를 사용하여 암호화된 데이터에 높은 보호 레벨을 제공하지만, 이동 장치(30)가 로크되면 대칭 키의 어떠한 복호화 버전도 이용할 수 없다. 그것만으로, 이동 장치(30)가 로크될 때 수신된 어떠한 데이터도 대칭 키를 사용하여 암호화될 수 없다. 이동 장치(30)가 로크될 때 데이터가 암호화될 수 있도록, 이동 장치(30)가 로크된 후에 메모리 내에 복호화 대칭 키를 유지하는 것은 메모리(32) 내에 저장된 데이터가 하드웨어 공격을 받기 쉬운 상태로 되게 한다. 본 발명의 한 실시양상에 따르면, 메모리(32) 내에 저장된 암호된 데이터는, 이동 장치(30)가 로크 상태에 진입할 때마다 삭제될 수 있다. 대안적으로, 사용자는 데이터가 수신될 때마다 암호를 입력하라고 재촉받을 수 있다. 그러나, 사용자가 즉시 암호를 입력하지 않으면, 수신된 데이터는 최소한 다음에 사용자가 이동 장치(30)를 언로크할 때까지는 암호가 아닌 보통 문자로 저장되어야 하거나, 또는 단순히 이동 장치(30) 상에 저장되지 않아야 된다. 후자의 경우에, 수신된 데이터는 이동 장치(30)에서 없어지므로, 장치에 재전송되어야 한다.
본 발명의 한 실시양상에 따르면, 키 저장부(42)는 또한 공개/개인 키 쌍을 저장한다. 공개 키는 기밀이 아니므로, 이동 장치(30)가 로크될 때라도 보통 문자로 저장된다. 공개 키를 사용하여 암호화된 데이터는 대칭키와 유사한 방식으로 보호될 수 있는 개인 키를 사용하여 복호될 수 있을 뿐이다. 그러므로, 공개 키는 이동 장치(30)가 로크될 때 수신된 데이터를 암호화하기 위해 사용된다.
그러므로, 제1 암호 키인 대칭 키는 이동 장치(30)가 제1의 언로크된 조작 상태에 있을 때 수신된 데이터를 암호화하기 위해 사용되고, 제2 암호 키인 공개 키는 이동 장치(30)가 제2의 로크된 조작 상태에 있을 때 수신된 데이터를 암호화하기 위해 사용된다. 이로 인해, 대칭 키 암호기법의 이점은 이동 장치(30)가 언로크될 때 수신된 어떤 데이터를 위해 실현된다는 것이다. 그러한 데이터의 복호화는 그외 다른 암호 방식에 비해 보다 더 빠르고 보다 덜 프로세서 집약적이다. 한편, 보호된 대칭 키를 사용하는 것의 상기 부족한 점은 이동 장치(30)가 로크될 때 데이터 암호화를 위한 공개 키를 저장함으로써 방지된다. 공개 키를 사용하여 암호화된 데이터는 대응하는 개인 키를 사용하여 복호화된다. 공개 키 암호기법이 일반적으로 대칭 키 암호기법보다 느리지만, 데이터 복호화와 관련된 데이터 액세스 지연은 빠른 복호화 동작을 하는 공개 키 암호 방식을 선택함으로써 바람직하게 감소된다. 예를 들어, 타원 곡선 암호기법(ECC)은 RSA(Rivest-Shamir-Adleman) 기술보다 상당히 빠른 복호화를 제공한다.
간단히 상술된 바와 같이, 데이터 보호 시스템(49)은 데이터가 보호될 때 인에이블되는 소프트웨어 모듈 또는 유틸리티로 구현될 수 있다. 도 3은 데이터 보호를 인에이블하는 방법을 도시한 흐름도이다. 단계(60)에서, 데이터 보호를 인에이블하는 동작이 이동 장치에 의해 실행된다. 이 동작은 커맨드를 입력하거나, 예를 들어 키보드, 키패드, 마우스, 썸휠(thumbwheel) 또는 기타 입력 장치를 사용하여 메뉴 아이템을 선택함으로써, 이동 장치의 사용자에 의해 바람직하게 호출된다. 그러나, 또한, 이동 장치는 바람직하게, 사용자가 데이터 보호를 인에이블할 것을 요구하도록 구성할 수 있다는 것을 알기 바란다. 예를 들어, 고용주가 사원 사용 자에게 이동 장치를 제공하면서 이동 장치 상의 소정의 회사 데이터가 확실하게 보호되기를 바라는 경우에, 구성 제어 소프트웨어 모듈 또는 유틸리티, 및 데이터 보호가 인에이블되어야 한다는 것을 지정하는 구성 제어 정보는 이동 장치가 사용자에게 제공되기 전에 또는 이동 장치가 사용자에 의한 동작을 위해 처음 구성될 때 이동 장치 상으로 삽입된다. 그러면, 구성 제어 모듈은 단계(60)에서 자동으로 그 동작을 호출하거나, 또는 데이터 보호가 인에이블된 때까지 일부 또는 전부의 기타 이동 장치 동작을 제한한다.
데이터 암호화를 위해 사용된 대칭 키 및 데이터 복호화를 위해 사용된 개인 키를 보호하기 위해, 암호 보호는 또한 데이터 보호가 인에이블될 때 또는 인에이블되기 전에 인에이블되어야 한다. 단계(62)에서, 암호 보호가 이미 인에이블되었는 지의 여부에 관해 판정이 이루어진다. 암호 보호가 인에이블되어 있지 않은 경우에, 단계(64)에서, 암호 보호를 인에이블하고 암호를 설정하라고 사용자에게 프롬프팅한다. 그 다음, 암호 보호가 이미 인에이블되어 있는 경우나, 단계(64)에서 사용자가 암호 보호를 인에이블한 후에, 단계(66)에서, 데이터 보호 키가 생성되어 키 저장부에 저장된다.
단계(66)에서 생성된 데이터 보호 키는 데이터가 이동 장치 상의 메모리 내에 저장되기 전에 이동 장치가 언로크된 상태에 있을 때 수신된 데이터를 암호화하고, 이 암호화 데이터를 메모리로부터 검색되었을 때 복호화하기 위해 사용된 대칭 키를 포함한다. 상술된 바와 같이, 이 대칭 키 자체는 사용자에 의해 설정된 암호를 사용하여 암호화된다. 공개/개인 키 쌍은 또한 단계(66)에서 생성된다. 공개 키는 비밀이 유지될 필요가 없기 때문에 보통 문자로 저장되고, 이동 장치가 로크된 상태에 있을 때 수신된 데이터를 암호화하기 위해 사용된다. 공개 키를 사용하여 암호화된 데이터는 공개 키의 절충이 보안 사항이 되지 않도록, 개인 키를 사용하여 복호화될 수 있을 뿐이다. 그러나, 개인 키는 대칭 키처럼, 예를 들어 암호를 사용하여 개인 키를 암호화함으로써, 암호화 형태로 키 저장부 내에 저장되는 것이 바람직하다.
데이터 보호가 인에이블된 후에 이동 장치에서 수신된 소정의 데이터는 메모리 내에 저장되기 전에 암호화된다. 도 4는 이동 장치에서 수신된 데이터를 보호하는 방법을 도시한 흐름도이다.
단계(72)에서, 데이터는 이동 장치에 수신된다. 도 2를 참조하면, 이동 장치(30)는 UI(52)를 통한 사용자 입력뿐만 아니라, 무선 송수신기(54) 또는 인터페이스/커넥터(56)를 통해 데이터를 수신하도록 구성된다. 소프트웨어 애플리케이션은 또한 전형적으로 메모리(32) 내에 저장하기 위한 데이터를 발생시킨다. 예를 들어, 디스크 드라이브 또는 메모리 스틱 판독기와 같은 기타 인터페이스가 제공되는 경우에, 단계(72)는 또한 이들 인터페이스로부터 데이터를 수신하는 동작을 포함한다.
이동 장치의 현재의 조작 상태는 그 다음 단계(74)에서 판정된다. 장치가 로크되는 경우, 공개 키가 검색되고, 수신된 데이터는 공개 키를 사용하여 암호화된다(단계(78)). 이동 장치가 언로크되면, 대칭 키가 이용가능하다. 복호화된 대칭 키는 암호를 정확하게 입력함으로써 이동 장치가 언로크된 때에 복호화되었으면 키 저장부 또는 캐시로부터 검색된다. 그렇지 않으면, 암호화된 대칭 키는 키 저장부로부터 검색되어, 복호화된 다음에, 검색된 데이터를 암호화하기 위해 사용된다(단계(76)).
본 발명의 또 다른 실시양상에 따르면, 단계(80)에서, 수신된 데이터가 이동 장치 상에 이미 저장되어 있는 현존하는 데이터에 관련되는 지의 여부에 관해 판정이 이루어진다. 단계(82)에서, 암호화된 수신 데이터는 현존하는 데이터에 관련되지 않는 경우에 메모리에 저장된다. 수신된 데이터가 현존하는 데이터에 관련되면, 암호화된 수신 데이터는 현존하는 데이터에 추가된다(단계(84)). 예를 들어, 수신된 데이터의 송신기, 또는 도 1의 데이터 서버(26) 또는 무선 네트워크 게이트웨이(16)와 같은 중간 시스템이 데이터를 선정된 크기까지의 블록으로 이동 장치에 송신하도록 구성되면, 큰 데이터 아이템은 이동 장치로 송신되는 분리된 블록으로 분할된다. 이 경우에, 동일한 데이터 아이템에 대한 제1 데이터 블록 후에 수신된 특정 데이터 아이템과 관련된 각 데이터 블록은 데이터 아이템에 대한 소정의 이전에 수신된 데이터에 관련된다.
본 분야에 숙련된 기술자들은 데이터 아이템이 데이터 블록으로 분리되는 경우에, 각 블록은 수신기가 데이터 아이템을 재구성할 수 있게 하는 정보를 포함한다는 것을 알 수 있을 것이다. 이 정보는 전형적으로 세션 식별자, 데이터 아이템 식별자, 파일 이름, 순서 번호, 또는 데이터 아이템에 대한 다른 데이터 블록을 식별하기 위해 수신기에서 사용되는 그외 다른 소정의 식별자의 형태로 이루어진다. 각 데이터 블록이 이동 장치에서 수신될 때 암호화되지만, 데이터 아이템 식별자, 또는 식별자의 해시와 같은 그것의 변형된 버전은 바람직하게 이동 장치에서 저장되고, 단계(80)에서, 수신된 데이터가 현존하는 데이터에 관련된 것인 지의 여부를 판정하기 위해 사용된다.
데이터 아이템이 복수의 데이터 블록을 포함하면, 각 데이터 블록은 수신될 때 암호화되어 저장된다. 각 데이터 블록이 동일한 데이터 아이템의 일부를 포함하지만, 데이터 블록은 그 데이터 블록이 수신될 때의 이동 장치의 조작 상태 여하에 따른 알고리즘 및 키를 사용하여 따로 암호화된다. 그러므로, 수신된 다수-블록 데이터 아이템은 일련의 독립적으로 암호화된 데이터 블록으로서 저장된다. 도 5A는 그러한 데이터 아이템을 지원하는 데이터 포맷의 블록도이다.
데이터 아이템(85)은 데이터 아이템 레퍼런스(86) 및 3개의 데이터 아이템 부분(87, 88 및 89)을 포함한다. 데이터 아이템 부분(87, 88 및 89)은 데이터 아이템 레퍼런스(86)에 의해 조회된 바이트 어레이 내에 양호하게 저장된다. 데이터 아이템 레퍼런스(86)는, 예를 들어 이메일 메시지 식별자 또는 세션 식별자와 같은 데이터 아이템 식별자, 및 데이터 아이템 부분(87, 88 및 89)이 저장되는 바이트 어레이의 위치 또는 그 어레이에 대한 포인터를 포함한다. 데이터 아이템 식별자는 도 4의 단계(80)에서의 판정을 지원하고, 위치와 함께, 데이터 아이템 부분(87, 88 및 89)이 검색될 수 있게 한다. 각각의 데이터 아이템 부분(87, 88 및 89)은 데이터 블록 헤더(87A, 88A 또는 89A) 및 데이터 블록(87B, 88B 또는 89B)을 포함한다. 데이터 블록 헤더(87A, 88A 및 89A)는 데이터 아이템(85) 내의 각 데이터 블록(87B, 88B 및 89B)에 대응하는 길이 및 키 식별자를 포함한다. 데이터 블록 헤더 내의 데이터 블록 길이는 길이를 나타내거나, 또는 대안적으로 각 데이터 블록이 적절하게 검색될 수 있도록, 대응하는 데이터 블록의 끝의 위치 또는 그 데이터 블록 끝에 대한 포인터를 나타낸다. 키 식별자는 데이터 블록을 암호화하기 위해 사용되었거나 데이터 블록을 복호화하기 위해 요구되는 키, 암호 알고리즘 또는 이 둘다를 포함한다. 데이터 블록(87B, 88B 및 89B)은 암호화되어 있는, 단일 데이터 아이템을 포함하는 수신된 데이터 블록을 나타낸다.
도 5A에 도시된 예에서, 데이터 블록1은 이동 장치가 언로크되었을 때 수신되었고, 그것만으로, 암호화된 데이터 블록(87B)을 생성하기 위해 대칭 키를 사용하여 암호화되었다. 암호화된 데이터 블록(87B)의 길이가 판정되고, 이 길이 및 "대칭" 키 식별자가 블록 헤더(87A)처럼 암호화된 데이터 블록(87B)에 추가된다. 블록 헤더(87A) 및 암호화된 데이터 블록(87B)은 그 다음 메모리에 저장된다.
데이터 아이템 레퍼런스는, 데이터 아이템이 검색될 수 있고, 후속적으로 수신된 관련된 데이터 블록이 식별되어, 데이터 아이템 레퍼런스에 의해 조회된 대응하는 바이트 어레이에 추가될 수 있도록, 하나의 데이터 아이템, 또는 다수-블록 데이터 아이템의 제1 데이터 블록이 이동 장치 상에 수신될 때 양호하게 작성되어 저장된다. 그러므로, 데이터 아이템 레퍼런스(86)는 데이터 블록1이 수신되었을 때, 또는 어쩌면 데이터 블록1이 암호화되어 이동 장치 상에 저장된 후에, 작성되었고, 데이터 아이템의 식별자, 및 데이터 아이템 부분(87)이 저장되어 있거나 저장될 곳을 나타내는 위치를 포함한다.
데이터 아이템 내의 제2 데이터 블록인 데이터 블록2는 이동 장치가 로크되 었을 때 수신되었으므로, 공개 키를 사용하여 암호화되었다. 블록2 헤더(88A)는 상술된 바와 같이, 발생되어, 암호화된 데이터 블록(88B)에 추가되고, 블록 헤더(88A) 및 암호화된 데이터 블록(88B)을 포함하는 최종적인 데이터 아이템 부분(88)은 데이터 아이템 레퍼런스(86)에 의해 조회된 어레이 내에서 데이터 아이템 부분(87)에 부가된다. 제3 데이터 블록인 데이터 블록3은 데이터 블록1처럼, 이동 장치가 언로크되어 있는 동안에 수신되었고, 대칭 키를 사용하여 암호화되었다. 블록 헤더(89A) 및 암호화된 데이터 블록(89B)을 포함하는 데이터 부분(89)은 마찬가지로, 데이터 아이템 레퍼런스(86)에 의해 조회된 어레이 내에서 데이터 아이템 부분(88)에 부가된다.
이러한 방식으로, 한 데이터 아이템의 후속 데이터 블록은 암호화되고, 데이터 헤더가 생성되어, 암호화된 데이터 블록에 추가되며, 블록 헤더 및 암호화된 데이터 블록은 이전의 암호화된 데이터 블록에 부가된다. 현존하는 바이트 어레이에 새로운 데이터를 효과적으로 추가하는 한가지 공지된 방식에서는, 새로운 어레이가 정해지고, 현존하는 어레이의 내용이 새로운 어레이에 복사되며, 새로운 데이터가 새로운 어레이 내로 기입된다. 현존하는 어레이에 의해 점유된 메모리 공간은 레퍼런스-해제되거나(de-referenced), 그렇지 않으면 다른 데이터의 저장을 위해 재이용된다. 이러한 기술의 복사 처리는 느려지는 경향이 있고, 현존하는 데이터 어레이의 2개의 복사본을 위한 충분히 이용가능한 메모리 공간을 필요로 한다는 점에서 메모리 집약적이다. 상술된 부가 방식은 이 공지된 기술보다 보다 더 빠르고, 메모리 공간을 덜 필요로 한다.
사용자가 표시를 위한 데이터 아이템을 선택할 때와 같이, 데이터 아이템(85)이 액세스될 때, 데이터 아이템 부분(87, 88 및 89)이 발견되는 바이트 어레이는 데이터 아이템 레퍼런스(86)에서의 위치를 사용하여 메모리 내에 위치하게 된다. 각각의 암호화된 데이터 블록(87B, 88B 및 89B)에 대해, 적절한 복호화 방식 및 암호화 데이터 블록의 길이가 대응 블록 헤더(87A, 88A 및 89A) 내의 키 식별자 및 길이로부터 결정된다. 각각의 암호화된 데이터 블록(87B, 88B 및 89B)은 바이트 어레이로부터 판독되어 복호화되고, 복호화된 데이터 블록은 이동 장치에 전송된 데이터 아이템에 대응하는 단일 복호화 데이터 아이템으로 결합된다.
본 분야에 숙련된 기술자들은 데이터 아이템 부분(87, 88 및 89)이 바이트 어레이 내에 저장되는 것으로 도 5에 도시되고 설명되었지만, 데이터 아이템 부분은 반드시 연속된 메모리 위치에 저장될 필요는 없다는 것을 알 수 있을 것이다. 메모리 포인터 또는 다른 식별자는 전형적으로 블록을 논리적으로 링크하기 위해 사용된다.
도 5B는 대안적인 데이터 포맷의 블록도이다. 데이터 아이템(90)은 한 데이터 아이템의 논리적 구조를 나타내고, 하나의 데이터 아이템 헤더(92) 및 세개의 암호화된 데이터 블록(94, 96 및 98)을 포함한다. 헤더(92)는 데이터 아이템 식별자, 및 데이터 아이템(90) 내의 각 데이터 블록(94, 96 및 98)에 대한 길이, 위치 및 키 식별자와 같은 정보를 포함한다. 헤더(92) 및 데이터 블록(94, 96 및 98)은 바람직하게 논리적으로 링크되지만, 반드시 연속된 메모리 위치에 저장될 필요는 없다.
도 5A를 참조하여 상술된 예에서와 같이, 데이터 블록1, 2 및 3은 각각 이동 장치가 언로크, 로크 및 언로크되었을 때 수신되었다. 데이터 블록1 및 3은 대칭 키를 사용하여 암호화되었고, 데이터 블록2는 공개 키를 사용하여 암호화되었다. 제1 데이터 블록(94)이 적절하게 검색되어 복호화될 수 있고, 그후 수신된 관련된 데이터 블록이 식별될 수 있도록, 제1 데이터 블록(94)이 이동 장치 상에서 수신되고 암호화되어 저장되었을 때, 헤더(92)는 양호하게 작성되어 저장되었다. 제2 및 제3 암호화된 데이터 블록(96 및 98)을 위한 정보는 이들 데이터 블록이 수신되었을 때 헤더(92)에 추가되었다. 이동 장치가 언로크되고 데이터 아이템(90)이 이동 장치 상에서 액세스될 때, 각각의 블록은 헤더(92) 내의 위치 및 길이를 사용하여 위치하게 되고, 적절한 복호화 방식이 헤더(92) 내의 키 식별자로부터 결정되며, 그 다음에, 각각의 데이터 블록이 검색되고 복호화되며 결합되어, 데이터 아이템을 재구성한다.
도 5A 및 5B에 도시되고 상술된 바와 같이, 단일 데이터 아이템은 상이한 암호화 방식을 사용하여 암호화된 데이터 블록들을 포함할 수 있는데, 이 데이터 블록들은 이동 장치가 상이한 조작 상태에 있을 때 이동 장치에서 수신되었다. 또한, 동일한 데이터 아이템용 데이터 블록들이 수신될 때 이동 장치가 동일한 조작 상태에 있는 것도 가능하다. 예를 들어, 이동 장치가 언로크된 상태에 있을 때 데이터 블록2가 수신되었으면, 그 데이터 블록2는 또한 대칭 키를 사용하여 암호화될 수 있었다. 본 발명의 또 다른 실시양상에 따르면, 수신된 데이터 블록이 암호화되기 전에, 이동 장치의 현재의 조작 상태가, 동일한 데이터 아이템의 이전의 데이 터 블록이 수신되었을 때의 이동 장치의 조작 상태와 동일한 지의 여부가 판정된다. 조작 상태, 따라서 데이터 보호 키가 수신된 데이터, 및 한 데이터 아이템의 이전의 데이터 블록에 대해 동일한 경우, 이전의 블록 및 수신된 데이터는 동일한 방식으로 암호화된다. 이 경우에, 이전의 데이터 블록은 가능하면 복호화되는 것이 바람직하고, 수신된 데이터 블록은 결합된 데이터 블록을 형성하기 위해 복호화된 이전의 데이터 블록에 부가되며, 결합된 데이터 블록은 암호화되어 메모리에 저장된다. 이전의 데이터 블록이 암호화된 결합된 데이터 블록의 부분이기 때문에, 이전의 데이터 블록에 의해 점유된 메모리 공간은 암호화된 결합된 데이터 블록으로 중복기입되거나, 또는 다른 데이터를 저장하도록 이용가능해진다.
이러한 유형의 동작은, 예를 들어 대칭 키가 액세스가능한 동안에 이전의 블록 및 수신된 데이터가 수신될 때 가능하다. 장치가 로크되어 공개 키를 사용하여 암호화될 때 이전의 블록 및 수신된 데이터가 수신되는 경우에, 개인 키는 액세스 불가능하고, 이전의 블록은 복호화될 수 없다. 그러나, 더욱 상세하게 후술되는 바와 같이, 이전의 블록 및 수신된 데이터가 액세스될 때와 같이, 개인 키가 액세스 가능하게 될 때, 유사한 복호화 및 재암호화 프로세스가 가능하다.
이 복호화/재암호화가 하나보다 많은 데이터 블록을 단일의 암호화된 데이터 블록으로의 결합을 제공하지만, 상술된 바와 같은 암호화된 데이터 블록의 부가는 보다 적은 시간, 메모리 및 데이터 프로세싱을 필요로 하므로, 일반적으로 제한된 전력, 메모리 및 프로세싱 자원을 갖는 제한된 이동 장치에서 바람직하다.
도 6은 보호된 데이터를 액세스하는 방법을 도시한 흐름도이다. 단계(102) 에서, 데이터 보호 시스템 또는 이동 장치 시스템 또는 컴포넌트는 데이터 보호 시스템 및 메모리 액세스 방식이 구현되는 방법 여하에 따라, 암호화된 데이터를 검색한다. 데이터 보호 시스템은 그 다음, 키 식별자에 기초하여, 암호화된 데이터가 대칭 키를 사용하여 암호화되었는지 공개 키를 사용하여 암호화되었는지 판정한다. 단계(106)에서, 대응하는 개인 키는 암호화된 데이터를 복호화하기 위해 사용되는데, 이 암호화된 데이터는 공개 키를 사용하여 암호화된 것이다. 단계(108)에서, 대칭 키는 암호화된 데이터를 복호화하기 위해 사용되는데, 이 암호화된 데이터는 대칭 키를 사용하여 암호화된 것이다. 그 다음, 복호화된 데이터는 데이터를 검색하거나 요청한 이동 장치 시스템 또는 컴포넌트로 출력된다. 수신된 데이터가 복수의 데이터 블록을 포함하면, 단계(104 내지 110)는 각 데이터 블록마다 실행된다.
복호화 단계(106 및 108)는 공개 키 또는 대칭 키가 액세스가능하다고 가정한 것이다. 보호된 데이터가 액세스될 때 이동 장치가 언로크되지 않는 한, 이들 키는 메모리로부터 이용가능하거나, 복호화될 수 있다. 키가 액세스 불가능하면, 보호된 데이터는 복호화될 수 없다.
상술된 바와 같이, 공개 키 암호기법은 전형적으로 대칭 키 암호기법보다 느리다. 이동 장치가 로크되는 동안에 수신된 데이터, 또는 그러한 데이터를 포함하는 데이터 아이템이 복호화될 때마다, 공개 키 복호화 동작은 이동 장치 상에서 실행되어야 한다. 그러한 데이터가 단계(106)에서 복호화되면, 복호화된 데이터는 이동 장치 상에서 이용가능하다. 복호화 동작 동안에, 대칭 키가 또한 액세스 가 능하도록, 이동 장치는 언로크된 상태로 있는다. 본 발명의 다른 실시양상에 따르면, 공개 키를 사용하여 사전에 암호화된 복호화된 데이터는 대칭 키를 사용하여 재암호화된다. 필요하다면, 데이터 아이템 헤더가 또한 이에 따라 갱신된다. 대안적으로, 한 데이터 아이템의 소정의 데이터 블록이 공개 키를 사용하여 암호화된 경우, 복호화된 데이터 블록은 단일의 결합된 데이터 블록을 형성하기 위해 연결되는데, 그 다음에, 이 단일의 결합된 데이터 블록은 대칭 키를 사용하여 재암호화된다. 그 다음, 오리지널 데이터 아이템은 재암호화된 데이터 아이템으로 메모리 내에서 대체된다. 이러한 방식으로, 데이터 아이템이 후속적으로 액세스될 때 또 다른 공개 키 복호화 동작이 방지된다.
또한, 그 대신에, 다수-블록 데이터 아이템용의 분리된 암호화된 데이터 블록의 유지가 더 바람직할 수 있다는 것을 알기 바란다. 예를 들어, 다수-블록 데이터 아이템이 이메일 메시지인 경우에, "인박스(Inbox)" 또는 메시지 리스트 내의 메시지 표시는 제1 데이터 블록으로부터의 데이터만을 필요로 한다. 이 경우에, 각각의 전체 메시지 대신에 각 메시지의 제1 데이터 블록만이 복호화되면, 메시지 리스트를 구성하는 것이 훨씬 더 빠르다.
데이터 보호 시스템 및 방법의 특정 구현 및 구성은 데이터 보호가 제공되는 장치의 유형에 따라 다르다. 사용자와 데이터 보호 시스템 사이의 상호작용은 상이한 장치 유형에 대해 서로 다를 수 있다. 도 7-11은 예시적인 한가지 가능한 구현예로서, 데이터 보호 시스템 및 방법이 구현되는 이동 장치 상의 디스플레이의 스크린 샷이다. 도 7-11의 스크린 샷은 보안 특징의 구성 동안의 여러 단계에서 이동 장치 디스플레이 상에서 사용자에게 표시된 스크린을 나타낸다. 도 7-11에서, 데이터 보호는 내용 보호라 칭해진다.
도 7에서, 사용자는 이동 장치 상에서 내용 보호를 인에이블하도록 동작을 선택했다. 그러나, 도 7의 상부에 도시된 바와 같이, 암호 보호는 아직 인에이블되지 않았으며, 사용자에게는 암호 보호를 인에이블하도록 프롬프팅된다. 사용자가 커서를 아니오("No")에서 예("Yes")로 이동하여 예를 선택함으로써 암호 보호를 인에이블하고 나면, 사용자는 이 예에서(도 8) 암호 및 보안 만료 기간인 2분을 설정하고, 암호 보호가 인에이블된다. 암호 보호가 인에이블되지 않고, 데이터 보호 키를 안전하게 보호하는 이용가능한 대안적인 수단이 없으면, 내용 보호는 인에이블될 수 없다. 이들 상기 동작은 도 3의 단계(60, 62 및 64)에 도시된 것과 거의 같다.
일단 암호 보호가 인에이블되었으면, 내용 보호 키가 발생된다. 도 8에서, 내용 보호 키 쌍은 공개/개인 키 쌍이다. 의사-랜덤 데이터는 키패드 또는 키보드 상의 사용자 키 압압 및 이동 장치 상의 썸휠 입력 장치의 이동으로부터 키 생성 동작 동안에 모아진다. PC 상에서, 그러한 데이터는 전형적으로 마우스 이동을 사용하여 모아진다. 그러나, 대부분의 이동 장치는 작은 디스플레이를 갖고있고 마우스가 없으므로, 키보드 키는 키 압압 또는 썸휠 입력을 단독으로 사용하여 모아질 수 있는 것보다 더욱 랜덤화된 데이터를 제공하기 위해 썸휠 입력 장치와 함께 사용된다. 도 9는 의사-랜덤 정보 수집 경과를 나타내는 사용자에게로의 피드백을 제공한 스크린을 도시한 것이다. 양호한 실시예에서, 160 비트 데이터가 수집되어 개인 키로서 사용되고, 이로부터 공개 키가 생성된다. 대칭 키는, 동일한 의사-랜덤 정보 또는 유사한 방식으로 수집된 그 이상의 의사-랜덤 정보를 사용하여, 내용 보호가 인에이블될 때 유사하게 생성된다. 키 압압 및 썸휠 이동의 횟수는 두개의 키 생성 동작동안에 동일한 의사-랜덤 정보를 사용함으로써 양호하게 감소된다. 예를 들어, 데이터 보호 시스템이 160비트 개인 키 및 128비트 대칭 키를 사용하도록 구성되는 경우, 160비트 랜덤 정보가 수집되어 개인 키로서 사용되고, 160비트 중의 128비트가 대칭 키로서 사용된다.
데이터 보호 키가 생성되어 저장되어 있으면, 데이터 보호가 인에이블되고, 보안 옵션 스크린이 도 10에 도시된 바와 같이 나타난다. 이동 장치가 다른 보안 특징을 구현하는 경우, 보안 옵션 스크린은 액세스를 제공하여, 내용 보호뿐만 아니라 이들 특징을 인에이블하거나 디스에이블하거나 구성한다. 도 10에서, 이동 장치가 휴대용 가죽 케이스 내에 놓일 때 이동 장치를 로크하는 보안 특징은 보안 옵션 스크린을 통해 액세스 가능하다.
그 이상의 보안 조치로서, 내용 보호를 위한 소정의 구성 요구사항은 양호하게, 내용 보호가 인에이블되는 동안에 디스에이블될 수 없다. 예를 들어, 암호 보호를 디스에이블하는 것은 개인 키 및 대칭 키의 보안을 포기하는 것이다. 내용 보호가 인에이블되는 동안에 사용자가 암호 보호를 디스에이블하려고 하면, 도 11에 도시된 경보 메시지가 표시된다. 암호 보호는 내용 보호가 디스에이블되지 않으면 디스에이블되지 않는다. 몇가지 이동 장치 유형은 또한, 사용자에 의해 어떤 특징이 인에이블되고 디스에이블될 수 있는지 더욱 제어하기 위해 구성 제어 정보 를 지원한다.
내용 보호가 디스에이블될 때, 몇가지 동작이 가능하다. 한 실시예에서, 저장된 암호화 데이터는 암호화 형태로 유지된다. 데이터 보호 키는 복호된 다음에, 데이터 보호 시스템에 공지되거나 그 시스템에 의해 액세스가능한 선정된 암호로 재암호화된다. 저장된 암호화 데이터가 유지되지만, 데이터 보호 키의 복호화, 따라서 액세스될 때의 암호화 데이터의 복호화는 사용자 암호의 엔트리를 필요로 하지 않는다. 이러한 방식에서, 동일한 데이터 보호 키는 내용 보호가 다시 인에이블되면 사용될 수 있다. 대안적인 실시예에서, 모든 저장된 암호화 데이터는 내용 보호가 디스에이블될 때 복호화되어 메모리 내에 다시 놓인다. 그러면, 저장된 데이터로의 후속적인 액세스를 위해 요구되는 복호화 동작은 하나도 없다. 내용 보호가 다시 인에이블되면, 새로운 데이터 보호 키가 생성되거나 얻어지고, 저장된 데이터는 가능한 경우에 암호화될 수 있으며, 후속적으로 수신된 데이터는 상술된 바와 같이 암호화된다.
도 12는 무선 이동 통신 장치의 블록도이다. 이동 장치(500)는 양호하게, 최소한 음성 및 데이터 통신 능력을 갖고있는 쌍방향 통신 장치이다. 이동 장치(500)는 양호하게, 인터넷 상의 다른 컴퓨터 시스템과 통신할 수 있는 능력을 갖고있다. 이동 장치(500)에 의해 제공된 기능에 따라, 데이터 메시징 장치, 쌍방향 페이저, 데이터 메시징 능력이 있는 이동 전화, 무선 인터넷 기기, 또는 데이터 통신 장치(전화 능력이 있거나 없음)로 칭해질 수 있다. 상술된 바와 같이, 그러한 장치는 일반적으로 여기에서 단순히 이동 장치로 칭해진다.
이동 장치(500)는 송수신기(511), 마이크로프로세서(538), 디스플레이(522), 비휘발성 메모리(524), 랜덤 액세스 메모리(RAM)(526), 보조 입/출력(I/O) 장치(528), 시리얼 포트(530), 키보드(532), 스피커(534), 마이크로폰(536), 단거리 무선 통신 서브시스템(540) 및 기타 장치 서브시스템(542)을 포함한다. 송수신기(511)는 양호하게 송신 및 수신 안테나(516, 518), 수신기(Rx)(512), 송신기(Tx)(514), 하나 이상의 국부 발진기(LOs)(513) 및 디지털 신호 처리기(DSP)(520)를 포함한다. 비휘발성 메모리(524) 내에서, 이동 장치(500)는 마이크로프로세서(538)(및/또는 DSP(520))에 의해 실행될 수 있는 복수의 소프트웨어 모듈(524A-524N): 즉, 음성 통신 모듈(524A), 데이터 통신 모듈(524B), 및 복수의 기타 기능을 실행하는 복수의 기타 동작 모듈(524N)을 포함한다.
이동 장치(500)는 양호하게, 음성 및 데이터 통신 능력을 갖고있는 쌍방향 통신 장치이다. 그러므로, 예를 들어, 이동 장치(500)는 아날로그 또는 디지털 셀룰러 네트워크들 중의 임의의 것과 같은 음성 네트워크를 통해 통신할 수 있고, 또한 데이터 네트워크를 통해 통신할 수 있다. 음성 및 데이터 네트워크는 도 12에서 통신 타워(519)로 표시된다. 이들 음성 데이터 네트워크는 기지국, 네트워크 제어기 등과 같은 분리된 기반구조를 사용하는 분리된 통신 네트워크일 수 있거나, 또는 단일의 무선 네트워크로 통합될 수 있다. 그러므로, 네트워크(519)에 대한 참조는 단일의 음성 및 데이터 네트워크와 분리된 네트워크들 둘다를 포함하는 것으로 해석되어야 한다.
통신 서브시스템(511)은 네트워크(519)와 통신하기 위해 사용된다. DSP(520)는 송신기(514) 및 수신기(512)로/로부터 통신 신호를 송/수신하기 위해 사용되고, 또한 송신기(514) 및 수신기(512)와 제어 정보를 교환한다. 음성 및 데이터 통신이 단일 주파수, 또는 근접한 간격의 주파수 세트에서 발생하면, 단일 LO(513)는 송신기(514) 및 수신기(512)와 함께 사용될 수 있다. 대안적으로, 상이한 주파수들이 음성 통신 대 데이터 통신을 위해 사용되거나, 이동 장치(500)가 하나보다 많은 네트워크(519) 상의 통신을 위해 인에이블되면, 복수의 LO(513)는 네트워크(519) 내에서 사용된 주파수에 대응하는 주파수를 생성하기 위해 사용될 수 있다. 2개의 안테나(516, 518)가 도 12에 도시되었지만, 이동 장치(500)는 단일 안테나 구조로 사용될 수 있다. 음성 및 데이터 정보를 포함하는 정보는 DSP(520)와 마이크로프로세서(538) 사이의 링크를 통해 통신 모듈(511)로/로부터 통신된다.
주파수 대역, 컴포넌트 선택, 전력 레벨 등과 같은 통신 서브시스템(511)의 상세한 설계는 이동 장치(500)가 동작하기로 되어 있는 통신 네트워크(519)에 의존한다. 예를 들어, 북미 시장에서 동작될 예정인 이동 장치(500)는 Mobitex 또는 DataTAC 이동 데이터 통신 네트워크로 동작하도록 설계되고, 또한 AMPS, TDMA, CDMA, PCS 등과 같은 여러가지 음성 통신 네트워크들 중의 임의의 네트워크로 동작하도록 설계된 통신 서브시스템(500)을 포함할 수 있는 반면에, 유럽에서 사용하고자 하는 이동 장치(500)는 GPRS 데이터 통신 네트워크 및 GSM 음성 통신 네트워크로 동작하도록 구성될 수 있다. 분리형 및 통합형인 기타 유형의 데이터 및 음성 네트워크가 또한 이동 장치(500)와 사용될 수 있다.
이동 장치(500)에 대한 통신 네트워크 액세스 요구사항은 또한 네트워크 (519)의 유형에 따라 다르다. 예를 들어, Mobitex 및 DataTAC 데이터 네트워크에서, 이동 장치는 각 장치와 관련된 유일한 식별 번호를 사용하여 네트워크 상에 등록된다. 그러나, GPRS 데이터 네트워크에서, 네트워크 액세스는 이동 장치(500)의 가입자 또는 사용자와 관련된다. GPRS 장치는 전형적으로 이동 장치(500)를 GPRS 네트워크 상에서 동작시키기 위해 요구되는 가입자 식별 모듈("SIM")을 필요로 한다. 로컬 또는 비네트워크 통신 기능(만약 있다면)은 SIM없이 동작될 수 있지만, 이동 장치(500)는 '911' 비상 호출과 같은 소정의 법적으로 요구된 동작 이외의, 네트워크(519)를 통한 통신을 수반하는 기능을 실행할 수 없다.
소정의 요구된 네트워크 등록 또는 활성화 절차가 완료된 후, 이동 장치(500)는 네트워크(519)를 통해 양호하게 음성 및 데이터 신호 둘다를 포함하는 통신 신호를 송수신할 수 있다. 통신 네트워크(519)로부터 안테나에 의해 수신된 신호는 수신기(512)로 보내지고, 수신기(512)는 신호 증폭, 주파수 다운 변환, 필터링, 채널 선택 등 및 아날로그-디지털 변환을 제공한다. 수신된 신호의 아날로그-디지털 변환은 디지털 복조 및 디코딩과 같은 더욱 복잡한 통신 기능이 DSP(520)를 사용하여 실행될 수 있게 한다. 이와 유사한 방식으로, 네트워크(519)로 송신될 신호는 예를 들어 DSP(520)에 의한 변조 및 인코딩을 포함하여 프로세스된 다음에, 디지털-아날로그 변환, 주파수 업 변환, 필터링, 증폭, 및 안테나(518)를 통한 통신 네트워크(519)로의 전송을 위해 송신기(514)에 제공된다. 단일 송신기(511)가 음성 및 데이터 통신 둘다를 위해 도시되었지만, 대안적인 실시예에서, 이동 장치(500)는 음성 신호를 송수신하는 제1 송수신기, 및 데이터 신호를 송수신하는 제2 송수신기, 또는 제1 주파수 대역 내에서 동작하도록 구성된 제1 송수신기, 및 제2 주파수 대역 내에서 동작하도록 구성된 제2 송수신기와 같은 복수의 별개의 송수신기를 포함할 수 있다.
통신 신호를 프로세스하는 것 이외에, DSP(520)는 또한 수신기 및 송신기 제어를 제공한다. 예를 들어, 수신기(512) 및 송신기(514) 내의 통신 신호에 적용된 이득 레벨은 DSP(520) 내에 구현된 자동 이득 제어 알고리즘을 통해 적응가능하게 제어될 수 있다. 그외 다른 송수신기 제어 알고리즘은 또한 송수신기(511)의 더욱 정교한 제어를 제공하도록 DSP(520) 내에 구현될 수 있다.
마이크로프로세서(538)는 양호하게 이동 장치(500)의 전체 동작을 관리하고 제어한다. 많은 유형의 마이크로프로세서 또는 마이크로제어기가 여기에서 사용될 수 있고, 또는 대안적으로, 단일 DSP(520)가 마이크로프로세서(538)의 기능을 실행하기 위해 사용될 수 있다. 최소한 데이터 및 음성 통신을 포함하는 로우-레벨 통신 기능은 송수신기(511) 내의 DSP(520)를 통해 실행된다. 음성 통신 애플리케이션(524A) 및 데이터 통신 애플리케이션(524B)을 포함하는 하이-레벨 통신 애플리케이션은 마이크로프로세서(538)에 의해 실행하기 위해 비휘발성 메모리(524) 내에 저장된다. 예를 들어, 음성 통신 모듈(524A)은 이동 장치(500)와 복수의 기타 음성 장치 사이에서 네트워크(519)를 통해 음성 호를 송수신하도록 동작할 수 있는 하이-레벨 사용자 인터페이스를 제공한다. 이와 유사하게, 데이터 통신 모듈(524B)은 이동 장치(500)와 복수의 기타 데이터 장치 사이에서 네트워크(519)를 통해 이메일 메시지, 파일, 조직자 정보, 짧은 텍스트 메시지 등과 같은 데이터를 송 수신하는 동작을 할 수 있는 하이-레벨 사용자 인터페이스를 제공한다.
마이크로프로세서(538)는 또한 디스플레이(522), RAM(526), 보조 I/O 장치(528), 시리얼 포트(530), 키보드(532), 스피커(534), 마이크로폰(536), 단거리 통신 서브시스템(540) 및 임의의 기타 장치 서브시스템(542)과 같은 그외 다른 장치 서브시스템과 상호작용한다. 예를 들어, 모듈(524A-N)은 마이크로프로세서(538)에 의해 실행되고, 이동 장치의 사용자와 이동 장치 사이에 하이-레벨 인터페이스를 제공할 수 있다. 이 인터페이스는 전형적으로, 디스플레이(522)를 통해 제공된 그래픽 컴포넌트, 및 보조 I/O 장치(528), 키보드(532), 스피커(534) 또는 마이크로폰(536)을 통해 제공된 입/출력 컴포넌트를 포함한다.
도 12의 도시된 서브시스템들 중의 일부는 통신 관련 기능을 수행하는 반면에, 그외 다른 서브시스템은 "상주" 또는 온-디바이스 기능을 제공할 수 있다. 그중에서도 특히, 키보드(532) 및 디스플레이(522)와 같은 일부 서브시스템은 데이터 통신 네트워크를 통해 전송하기 위한 텍스트 메시지의 입력과 같은 통신 관련 기능, 및 계산기 또는 태스크 리스트 또는 기타 PDA형 기능과 같은 장치-상주 기능을 위해 사용될 수 있다.
마이크로프로세서(538)에 의해 사용된 운영 체계 소프트웨어는 양호하게, 비휘발성 메모리(524)와 같은 영구적인 저장부 내에 저장된다. 운영 체계 및 통신 모듈(524A-N) 이외에, 비휘발성 메모리(524)는 데이터를 저장하기 위한 파일 시스템을 포함할 수 있다. 비휘발성 메모리(524)는 또한 상술된 보호된 데이터뿐만 아니라, 최소한 키 저장부를 포함한다. 운영 체계, 특정 장치 애플리케이션 또는 모 듈, 또는 그 일부는 전형적으로, 더 빠른 동작을 위해 RAM(526)과 같은 휘발성 저장부 내로 일시적으로 로드된다. 게다가, 수신된 통신 신호는 또한 비휘발성 메모리(524) 내에 위치한 파일 시스템 내로 영구적으로 기입하기 전에, RAM(526)에 일시적으로 저장될 수 있다. 비휘발성 메모리(524)는, 예를 들어 플래시 메모리, 비휘발성 RAM, 또는 배터리 백업 RAM으로 구현될 수 있다.
이동 장치(500) 상으로 로드될 수 있는 예시적인 애플리케이션 모듈(524N)은 캘린더 이벤트, 예약 및 태스크 아이템과 같은 PDA 기능을 제공하는 PIM 애플리케이션이다. 이 모듈(524N)은 또한 전화 통화, 음성 메일 등을 관리하는 음성 통신 모듈(524A)과 상호작용할 수 있고, 또한 이메일 통신 및 기타 데이터 전송을 관리하는 데이터 통신 모듈(524B)과 상호작용할 수 있다. 대안적으로, 음성 통신 모듈(524A) 및 데이터 통신 모듈(524B)의 모든 기능은 PIM 모듈 내에 통합될 수 있다.
비휘발성 메모리(524)는 양호하게 장치 상의 PIM 데이터 아이템의 저장을 용이하게 하기 위해 파일 시스템을 제공한다. PIM 애플리케이션은 양호하게, 혼자, 또는 음성 및 데이터 통신 모듈(524A, 524B)과 함께, 무선 네트워크(519)를 통해 데이터 아이템을 송수신할 수 있는 능력을 포함한다. PIM 데이터 아이템은 양호하게, 무선 네트워크(519)를 통해, 호스트 컴퓨터와 관련되거나 저장된 대응하는 데이터 아이템 세트와, 끊어짐없이 통합되고 동기화되며 갱신됨으로써, 특정 사용자와 관련된 데이터 아이템용의 미러형 시스템을 만든다.
이동 장치(500)는 이동 장치(500)의 시리얼 포트(530)를 호스트 시스템의 시리얼 포트에 연결하는 인터페이스 받침대 내에 이동 장치(500)를 둠으로써 수동으 로 호스트 시스템과 동기화된다. 시리얼 포트(530)는 또한 이동 장치(500) 상에 설치하기 위한 기타 애플리케이션 모듈(524N)을 다운로드하기 위해 사용될 수 있다. 이 유선 다운로드 경로는 안전한 통신에서의 사용을 위해 이동 장치(500) 상으로 암호화 키를 로드하는데 더욱 사용될 수 있는데, 이것은 무선 네트워크(519)를 통해 암호화 정보를 교환하는 것보다 더욱 안전한 방법이다. 상술된 온-디바이스 데이터 보호 키 생성의 대안으로서, 데이터 보호 키는 이러한 방식으로, 다른 시스템에 의해 생성되어, 이동 장치(500)에 전달될 수 있다.
소프트웨어 애플리케이션 모듈(524N)은 네트워크(519)를 통하거나, 보조 I/O 서브시스템(528)을 통하거나, 단거리 통신 서브시스템(540)을 통하거나, 또는 임의의 기타 적합한 서브시스템(542)을 통해 이동 장치(500) 상으로 로드되어, 비휘발성 메모리(524) 또는 RAM(526) 내에 사용자에 의해 설치될 수 있다. 애플리케이션 설치에 있어서의 그러한 융통성은 이동 장치(500)의 기능을 증가시키고, 향상된 온-디바이스 기능, 통신 관련 기능, 또는 이 둘다를 제공할 수 있다. 예를 들어, 안전한 통신 애플리케이션은 전자 상거래 기능 및 기타 그러한 금융 거래가 이동 장치(500)를 사용하여 실행될 수 있게 한다.
이동 장치(500)가 데이터 통신 모드로 동작하고 있을 때, 텍스트 메시지 또는 웹 페이지 다운로드와 같은 수신된 신호는 송수신기(511)에 의해 프로세스되고, 마이크로프로세서(538)에 제공되며, 이 마이크로프로세서(538)는 양호하게, 디스플레이(522), 또는 보조 I/O 서브시스템(528)으로 출력하기 위해 수신된 신호를 더욱 프로세싱한다. 데이터 보호가 인에이블될 때, 수신된 데이터는 이동 장치(500) 상 에 저장되기 전에 상술된 바와 같이 암호화된다. 이동 장치(500)의 사용자는 또한, 양호하게 QWERTY 배열 방식으로 배치된 완전 문자숫자식 키보드인 키보드(532)를 사용하여 이메일 메시지와 같은 데이터 아이템을 구성할 수 있는데, 공지된 DVORAK 배열 방식과 같은 다른 배열 방식의 완전 문자숫자식 키보드가 또한 사용될 수 있다. 이동 장치(500)로의 사용자 입력은 썸휠 입력 장치, 터치패드, 다양한 스위치, 로커(rocker) 입력 스위치 등을 포함할 수 있는 복수의 보조 I/O 장치(528)로 더욱 향상된다. 사용자에 의해 입력된 구성된 데이터 아이템은 그 다음 송수신기(511)를 경유하여 통신 네트워크(519)를 통해 전송되고, 또한 이동 장치(500) 상에 암호화 형태로 저장될 수 있다.
이동 장치(500)가 음성 통신 모드로 동작하고 있을 때, 이동 장치(500)의 전체 동작은 수신된 신호가 스피커(534)로 출력되고, 전송하기 위한 음성 신호가 마이크로폰(536)으로 생성된다는 점을 제외하고는 데이터 모드와 거의 유사하다. 음성 메시지 레코딩 서브시스템과 같은 대안적인 음성 또는 오디오 I/O 장치는 또한 이동 장치(500) 상에서 구현될 수 있다. 디스플레이(522)는 또한 호출자의 신원 표시, 음성 호의 지속시간, 또는 기타 음성 호 관련 정보를 제공하기 위해 사용될 수 있다. 예를 들어, 마이크로프로세서(538)는 음성 통신 모듈(524A) 및 운영 체계 소프트웨어와 함께, 착신 음성 호의 호출자 식별 정보를 검출하여, 디스플레이(522) 상에 표시할 수 있다. 상술된 데이터 보호 기술은 반드시 음성 통신에 적용될 필요는 없지만, 음성 통신 신호는 전형적으로 저장되지 않기 때문에, 접촉 정보와 같은 소정의 음성 통신 관련 정보가 보호될 수 있다.
단거리 통신 서브시스템(540)이 또한 이동 장치(500) 내에 포함될 수 있다. 예를 들어, 서브시스템(540)은 유사하게 인에이블된 시스템 및 장치와의 통신을 제공하기 위해 적외선 장치 및 관련된 회로 및 컴포넌트, 또는 블르투스 또는 802.11 단거리 무선 통신 모듈을 포함할 수 있다.
상기 설명은 단지 예로서 양호한 실시예에 관련된 것이라는 것을 알 수 있을 것이다. 상술된 시스템 방법에 관한 다양한 변형은 본 분야에 식견이 있는 자들에게 명백할 것이고, 그러한 명백한 변형은 명시적으로 설명되었든 되지 않았든, 설명되고 청구된 바와 같은 본 발명의 범위 내에 속한다.
예를 들어, 상술된 시스템 및 방법이 구현될 수 있는 장치는 도면에 도시된 것보다 더 적거나 많거나 상이한 컴포넌트들을 포함할 수 있다. 데이터 보호는 이동 장치의 특성상 물리적으로 안전하게 보호하기 어려운 이동 장치에 아마도 가장 적절하겠지만, 여기에서 설명된 기술은 전형적으로 고정된 다른 시스템뿐만 아니라 PC에도 적용가능하다.
본 발명은 또한 결코 임의의 특정 통신 특징에 의존하지 않는다. 여기에서 설명된 것과 같은 데이터 보호는 쌍방향 또는 단방향(수신전용) 통신 장치에서 구현될 수 있다.
또한, 데이터 보호는 주로 데이터 보호가 인에이블된 후에 수신된 데이터와 관련하여 상술되었지만, 데이터 보호가 인에이블되기 전에 이동 장치 상에 이미 저장되어 있는 현존하는 데이터도 또한, 저장된 데이터 포맷이 허용하는 경우에 데이터 보호가 인에이블될 때 양호하게 암호화된다.

Claims (50)

  1. 제1 조작 상태 및 제2 조작 상태를 가지며 데이터를 수신하도록 구성된 통신 장치(30) 상의 데이터를 보호하는 통신 시스템에 있어서,
    복수의 암호 키들을 저장하도록 구성된 키 저장부(42);
    데이터를 저장하도록 구성된 메모리(32); 및
    데이터를 수신하고, 통신 장치(30)가 제1 조작 상태에 있는지 제2 조작 상태에 있는 지의 여부를 판정하며, 통신 장치가 제1 조작 상태에 있는 경우에 복수의 암호 키들 중 제1 암호 키를 사용하거나 또는 통신 장치가 제2 조작 상태에 있는 경우에 복수의 암호 키들 중 제2 암호 키를 사용하여 수신된 데이터를 암호화하고, 암호화된 수신 데이터를 메모리(32) 내에 저장하도록 구성된 데이터 보호 시스템
    을 포함하고, 상기 복수의 암호 키들 중 제1 암호 키는 보호되는 것인 데이터 보호 통신 시스템.
  2. 제1항에 있어서, 상기 제1 암호 키는 통신 장치(30)가 제2 조작 상태에 있을 때 액세스할 수 없는 것인 데이터 보호 통신 시스템.
  3. 제2항에 있어서, 상기 제1 조작 상태는 언로크된(unlocked) 상태이고, 상기 제2 조작 상태는 로크된(locked) 상태인 것인 데이터 보호 통신 시스템.
  4. 제2항에 있어서, 상기 제1 암호 키는 대칭 키이고, 상기 제2 암호 키는 공개 키인 것인 데이터 보호 통신 시스템.
  5. 제1항에 있어서, 상기 통신 장치(30)는 무선 송수신기(54)를 포함하고, 상기 데이터 보호 시스템(49)은 상기 무선 송수신기(54)로부터 데이터를 수신하도록 구성되는 것인 데이터 보호 통신 시스템.
  6. 제5항에 있어서, 상기 수신된 데이터는 무선 통신 네트워크(20)를 통해 원격 컴퓨터 네트워크(18)로부터 수신된 기밀 데이터를 포함하는 것인 데이터 보호 통신 시스템.
  7. 제5항에 있어서, 상기 통신 장치(30)는 커넥터(56)를 더 포함하고, 상기 데이터 보호 시스템(49)은 또한 커넥터(56)로부터 데이터를 수신하도록 구성되는 것인 데이터 보호 통신 시스템.
  8. 제7항에 있어서, 상기 커넥터(56)는 시리얼 포트(serial port), 유니버셜 시리얼 버스(Universal Serial Bus: USB) 포트, 안전 디지털(Secure Digital: SD) 슬롯, 및 단거리 무선 통신 모듈로 구성된 그룹에서 선택되는 것인 데이터 보호 통신 시스템.
  9. 제4항에 있어서, 상기 데이터 보호 시스템(49)은 또한 데이터에 대한 요청을 수신하고, 통신 장치(30)가 제1 조작 상태에 있는 지의 여부를 판정하며, 통신 장치(30)가 제1 조작 상태에 있는 경우에 요청된 데이터를 복호화하도록 구성되는 것인 데이터 보호 통신 시스템.
  10. 제9항에 있어서, 상기 요청은 데이터 보호 시스템(49)에 의해 복호화될 암호화된 데이터를 포함하는 것인 데이터 보호 통신 시스템.
  11. 제9항에 있어서, 상기 요청은 요청된 데이터를 식별하고, 상기 데이터 보호 시스템(49)은 요청된 데이터를 검색하고 복호화하는 것인 데이터 보호 통신 시스템.
  12. 제10항에 있어서, 상기 공개 키는 개인 키와 관련되고, 상기 데이터 보호 시스템(49)은 암호화된 데이터가 공개 키를 사용하여 암호화되었는지 또는 대칭 키를 사용하여 암호화되었는지 판정하여, 암호화된 데이터가 공개 키를 사용하여 암호화된 경우에 암호화된 데이터를 개인 키를 사용하여 복호화하고, 암호화된 데이터가 대칭 키를 사용하여 암호화된 경우에 암호화된 데이터를 대칭 키를 사용하여 복호화하도록 추가로 구성되는 것인 데이터 보호 통신 시스템.
  13. 제12항에 있어서, 상기 데이터 보호 시스템(49)은 통신 장치(30) 상에 복호화된 데이터를 저장하고, 통신 장치가 제2 조작 상태에 들어갈 때 상기 복호화된 데이터를 삭제하도록 추가로 구성되는 것인 데이터 보호 통신 시스템.
  14. 제13항에 있어서, 상기 대칭 키 및 상기 개인 키는 통신 장치(30) 상에 암호화된 형태로 저장되고, 상기 데이터 보호 시스템(49)은 요청된 데이터가 공개 키를 사용하여 암호화된 경우에 개인 키를 복호화하여 복호화된 개인 키를 통신 장치(30) 상에 저장하고, 요청된 데이터가 대칭 키를 사용하여 암호화된 경우에 대칭 키를 복호화하여 복호화된 대칭 키를 통신 장치(30) 상에 저장하며, 통신 장치(30)가 제2 조작 상태에 들어갈 때 복호화된 개인 키 및 복호화된 대칭 키를 삭제하도록 추가로 구성되는 것인 데이터 보호 통신 시스템.
  15. 제1항에 있어서, 상기 데이터 보호 시스템(49)은 수신된 데이터가 메모리(32) 내에 저장된 현존하는 데이터에 관련되는 지의 여부를 판정하고, 수신된 데이터가 현존하는 데이터에 관련되는 경우에 암호화된 수신 데이터를 메모리(32) 내의 현존하는 관련 데이터에 부가하도록 추가로 구성되는 것인 데이터 보호 통신 시스템.
  16. 제15항에 있어서, 상기 암호화된 수신 데이터 및 상기 현존하는 데이터는 한 데이터 아이템(85)의 데이터 블록들(87B, 88B, 89B)을 포함하고, 상기 데이터 아이템(85)은 각 데이터 블록이 제1 암호 키를 사용하여 암호화되었는지 제2 암호 키를 사용하여 암호화되었는지를 나타내는 식별자(86)를 더 포함하는 것인 데이터 보호 통신 시스템.
  17. 제1항에 있어서, 상기 통신 장치(30)는 데이터 통신 장치, 데이터 및 음성 통신 기능을 갖는 이동 전화, 음성, 데이터 및 그외 다른 형태의 통신을 할 수 있는 다중-모드 장치, 메시징 장치, 무선 통신이 가능한 퍼스널 디지털 어시스턴트(PDA), 무선 모뎀, 단방향 통신 장치 및 쌍방향 통신 장치로 구성된 그룹에서 선택된 무선 이동 통신 장치를 포함하는 것인 데이터 보호 통신 시스템.
  18. 통신 장치(30)에 의해 수신(72)되는, 통신 장치 상의 데이터를 보호하는 방법에 있어서,
    제1 암호 키 및 제2 암호 키를 통신 장치(30) 상에 저장하는 단계로서, 제1 암호 키는 보호되어 있는 것인 저장 단계(66);
    제1 암호 키가 액세스 가능한 지의 여부를 판정하는 단계(74);
    제1 암호 키가 액세스 가능한 경우에 제1 암호 키를 사용하여 수신된 데이터를 암호화하는 단계(78);
    제1 암호 키가 액세스 불가능한 경우에 제2 암호 키를 사용하여 수신된 데이터를 암호화하는 단계(76); 및
    암호화된 수신 데이터를 통신 장치(30) 상의 메모리(32) 내에 저장하는 단계(82)
    를 포함하는 데이터 보호 방법.
  19. 제18항에 있어서, 상기 통신 장치(30)는 제1 암호 키가 액세스 불가능한 로크된 조작 상태, 및 제1 암호 키가 액세스 가능한 언로크된 조작 상태를 갖고 있으며, 상기 판정 단계(74)는 통신 장치(30)가 로크된 조작 상태에 있는지 언로크된 조작 상태에 있는지 판정하는 단계를 포함하는 것인 데이터 보호 방법.
  20. 제19항에 있어서, 통신 장치(30) 상에 개인 키를 저장하는 단계를 더 포함하며,
    상기 제1 암호 키는 암호화된 형태로 저장되는 대칭 키이고, 상기 제2 암호 키는 개인 키와 관련된 공개 키인 것인 데이터 보호 방법.
  21. 제18항에 있어서, 상기 통신 장치(30)는 무선 이동 통신 장치이고, 상기 수신 단계는 무선 통신 네트워크(20)를 통해 원격 컴퓨터 네트워크(18)로부터 기밀 데이터를 수신하는 단계를 포함하는 것인 데이터 보호 방법.
  22. 제20항에 있어서, 통신 장치(30) 상의 시스템으로부터 데이터에 대한 요청을 수신하는 단계;
    상기 요청된 데이터가 대칭 키를 사용하여 암호화되었는지 공개 키를 사용하여 암호화되었는지 판정하는 단계(104);
    상기 요청된 데이터가 대칭 키를 사용하여 암호화된 경우에 요청된 데이터를 대칭 키를 사용하여 복호화하는 단계(108); 및
    상기 요청된 데이터가 개인 키를 사용하여 암호화된 경우에 요청된 데이터를 개인 키를 사용하여 복호화하는 단계(106)
    를 더 포함하는 데이터 보호 방법.
  23. 제22항에 있어서, 상기 요청은 복호화될 암호화된 데이터를 포함하는 것인 데이터 보호 방법.
  24. 제22항에 있어서, 상기 요청은 요청된 데이터를 식별하고, 상기 방법은 요청된 데이터를 검색하는 단계(102)를 더 포함하는 데이터 보호 방법.
  25. 제22항에 있어서,
    복호화된 데이터를 통신 장치(30) 상에 저장하는 단계; 및
    상기 통신 장치(30)가 로크된 조작 상태에 들어갈 때 복호화된 데이터를 삭제하는 단계
    를 더 포함하는 데이터 보호 방법.
  26. 제25항에 있어서, 상기 제1 암호 키 및 제2 암호 키를 통신(30) 장치 상에 저장하는 단계는 대칭 키를 암호화하고 암호화된 대칭 키를 통신 장치(30) 상에 저장하는 단계를 포함하고;
    상기 개인 키를 통신 장치(30) 상에 저장하는 단계는 개인 키를 암호화하여 암호화된 개인 키를 통신 장치(30) 상에 저장하는 단계를 포함하며;
    상기 대칭 키를 사용하여 요청된 데이터를 복호화하는 단계(108)는 암호화된 대칭 키를 복호화하는 단계를 포함하고;
    상기 개인 키를 사용하여 요청된 데이터를 복호화하는 단계(106)는 암호화된 개인 키를 복호화하는 단계를 포함하는 데이터 보호 방법.
  27. 제26항에 있어서, 상기 대칭 키를 사용하여 요청된 데이터를 복호화하는 단계(108)는 복호화된 대칭 키를 통신 장치(30) 상에 저장하는 단계를 더 포함하고, 상기 개인 키를 사용하여 요청된 데이터를 복호화하는 단계(106)는 복호화된 개인 키를 통신 장치(30) 상에 저장하는 단계를 더 포함하는 것인 데이터 보호 방법.
  28. 제27항에 있어서, 상기 대칭 키를 사용하여 요청된 데이터를 복호화하는 단계(108)는 복호화된 대칭 키가 통신 장치(30) 상에 저장되는 지의 여부를 판정하고, 복호화된 대칭 키가 통신 장치(30)에 저장되는 경우에 복호화된 대칭 키를 검색하는 단계를 더 포함하고;
    상기 개인 키를 사용하여 요청된 데이터를 복호화하는 단계(106)는 복호화된 개인 키가 통신 장치(30) 상에 저장되는 지의 여부를 판정하고, 복호화된 개인 키가 통신 장치에 저장되는 경우에 복호화된 개인 키를 검색하는 단계를 더 포함하는 것인 데이터 보호 방법.
  29. 제27항에 있어서, 상기 통신 장치(30)가 로크된 조작 상태에 들어갈 때 복호화된 대칭 키 및 복호화된 개인 키를 삭제하는 단계를 더 포함하는 데이터 보호 방법.
  30. 제18항에 있어서,
    데이터 아이템 식별자, 및 메모리(32) 내의 암호화된 수신 데이터의 위치를 포함하는 데이터 아이템 레퍼런스(86)를 작성하는 단계; 및
    데이터 아이템 레퍼런스(86)를 메모리(32) 내에 저장하는 단계
    를 더 포함하며,
    상기 수신 데이터는 데이터 아이템 식별자를 갖는 데이터 아이템(85)을 포함하는 것인 데이터 보호 방법.
  31. 제18항에 있어서, 상기 암호화된 수신 데이터를 저장하는 단계(82)는,
    수신된 데이터가 메모리 (32)내에 저장된 현존하는 데이터에 관련되는 지의 여부를 판정하는 단계; 및
    수신된 데이터가 현존하는 데이터에 관련되는 것으로 판정된 경우(80)에 암호화된 수신 데이터를 메모리(32) 내에 저장된 현존하는 관련 데이터에 부가하는 단계(84)를 포함하는 데이터 보호 방법.
  32. 제31항에 있어서, 상기 수신된 데이터 및 상기 현존하는 관련 데이터는 한 데이터 아이템(85)의 데이터 블록들을 포함하고, 상기 데이터 아이템(85)은 데이터 아이템 식별자 및 메모리(32) 내의 현존하는 관련 데이터의 위치를 포함하는 데이터 아이템 레퍼런스(86)와 관련되며, 상기 암호화된 수신 데이터를 부가하는 단계(84)는,
    암호화된 수신 데이터의 길이를 판정하는 단계;
    암호화된 수신 데이터가 제1 암호 키 및 제2 암호 키 중 하나를 사용하여 암호화되었는지를 나타내는 식별자를 생성하는 단계;
    길이 및 식별자를 상기 암호화된 수신 데이터에 추가하는 단계; 및
    상기 길이, 식별자 및 상기 암호화된 수신 데이터를 현존하는 관련 데이터에 부가하는 단계
    를 포함하는 것인 데이터 보호 방법.
  33. 제18항에 있어서, 상기 수신된 데이터는 데이터 아이템 식별자를 갖는 데이터 아이템(85)을 포함하고, 상기 방법은,
    데이터 아이템 식별자, 암호화된 수신 데이터의 블록 길이, 메모리(32) 내의 암호화된 수신 데이터의 위치, 및 암호화된 수신 데이터가 제1 암호 키 및 제2 암호 키 중 하나를 사용하여 암호화되었는지를 나타내는 키 식별자를 포함하는 데이터 아이템 헤더(92)를 작성하는 단계; 및
    데이터 아이템 헤더를 메모리(32) 내에 저장하는 단계
    를 더 포함하며,
    상기 제1 암호 키는 암호화된 형태로 저장되는 대칭 키이고 상기 제2 암호 키는 개인 키와 관련되는 공개 키인 것인 데이터 보호 방법.
  34. 제33항에 있어서, 상기 암호화된 수신 데이터를 저장하는 단계(82)는,
    수신된 데이터가 메모리(32) 내에 저장된 현존하는 데이터 및 현존하는 데이터 헤더에 관련되는 지의 여부를 판정하는 단계(80); 및
    수신된 데이터가 현존하는 데이터 및 현존하는 데이터 헤더에 관련되는 것으로 판정된 경우에,
    암호화된 수신 데이터의 길이를 판정하는 단계;
    암호화된 수신 데이터가 제1 암호 키 및 제2 암호 키 중 하나를 사용하여 암호화되었는지를 나타내는 식별자를 생성하는 단계;
    판정된 길이 및 생성된 식별자를 데이터 아이템 헤더에 추가하는 단계; 및
    암호화된 수신 데이터를 현존하는 관련 데이터에 부가하는 단계(84)
    를 포함하는 것인 데이터 보호 방법.
  35. 제18항에 있어서, 상기 제1 암호 키를 사용하여 수신된 데이터를 암호화하는 단계(76)는,
    수신된 데이터가 메모리 내에 저장된 현존하는 암호화된 데이터에 관련되는 지의 여부를 판정하는 단계;
    수신된 데이터가 메모리 내에 저장된 현존하는 암호화된 데이터에 관련되는 경우에 현존하는 암호화된 데이터가 제1 암호 키를 사용하여 암호화되었는 지의 여부를 판정하는 단계; 및
    현존하는 암호화된 데이터가 제1 암호 키를 사용하여 암호화된 경우에,
    제1 암호 키를 사용하여 현존하는 암호화된 데이터를 복호화하는 단계;
    수신된 데이터를 복호화된 현존하는 데이터에 부가하여 결합된 데이터 블록을 형성하는 단계; 및
    결합된 데이터 블록을 제1 암호 키를 사용하여 암호화하는 단계
    를 포함하는 것인 데이터 보호 방법.
  36. 제32항에 있어서,
    통신 장치(30) 상에 제1 암호 키와 제2 암호 키를 저장하는 단계;
    통신 장치(30) 상의 시스템으로부터 데이터 아이템(85)에 대한 요청을 수신하는 단계;
    데이터 아이템(85) 내의 각 데이터 블록(87B, 88B, 89B)마다,
    데이터 블록이 제1 암호 키 및 제2 암호 키 중 하나를 사용하여 암호화되었는지 판정하는 단계;
    데이터 블록이 제1 암호 키를 사용하여 암호화된 경우에 제1 암호 키를 사용하여 데이터 블록을 복호화하는 단계; 및
    데이터 블록이 개인 키를 사용하여 암호화된 경우에 개인 복호화 키를 사용하여 데이터 블록을 복호화하는 단계; 및
    데이터 아이템(85) 내의 각각의 복호화된 데이터 블록을 통신 장치(30) 상의 시스템에 제공하는 단계
    를 더 포함하며,
    상기 제2 암호 키는 개인 키와 관련되는 공개 키인 것인 데이터 보호 방법.
  37. 제36항에 있어서, 제2 암호 키를 사용하여 암호화된 데이터 아이템(85) 내의 각 데이터 블록마다,
    재암호화된 데이터 블록을 생성하기 위해 제1 암호 키를 사용하여 복호화된 데이터 블록을 암호화하는 단계; 및
    데이터 블록(87B, 88B, 89B)을 재암호화된 데이터 블록으로 메모리(32) 내에서 대체하는 단계
    를 더 포함하는 것인 데이터 보호 방법.
  38. 제36항에 있어서, 재암호화된 데이터 아이템을 생성하기 위해 제1 암호 키를 사용하여 복호화된 데이터 아이템을 암호화하는 단계; 및
    메모리(32) 내의 데이터 아이템(85)을 재암호화된 데이터 아이템으로 대체하는 단계
    를 더 포함하는 데이터 보호 방법.
  39. 제18항에 있어서,
    통신 장치(30) 상에서 데이터 보호를 인에이블하는 단계(60);
    제1 암호 키가 액세스 불가능한 로크된 조작 상태가 통신 장치(30) 상에서 인에이블되는 지의 여부를 판정하는 단계(62);
    로크된 조작 상태가 통신 장치(30) 상에서 인에이블되어 있지 않은 경우에 로크된 조작 상태를 인에이블시키도록 통신 장치의 사용자에게 프롬프팅하는 단계(64); 및
    로크된 조작 상태가 통신 장치(30) 상에서 인에이블되는 경우에, 제1 암호 키, 제2 암호 키, 및 제3 암호 키를 생성하는 단계(66)를 더 포함하는 데이터 보호 방법.
  40. 제39항에 있어서, 제2 암호 키는 공개 키이고, 제3 암호 키는 공개 키와 관련되는 개인 키인 것인 데이터 보호 방법.
  41. 제40항에 있어서, 상기 생성 단계(66)는 통신 장치(30)로의 사용자 입력들로부터 의사-랜덤(pseudo-random) 정보를 수집하는 단계를 포함하는 것인 데이터 보호 방법.
  42. 삭제
  43. 제1항에 있어서, 상기 데이터 보호 시스템(49)은 수신된 데이터가 메모리(32) 내에 저장된 현존하는 데이터에 관련되는 지의 여부를 판정하고, 수신된 데이터가 현존하는 데이터에 관련되는 경우(80)에 암호화된 수신 데이터를 메모리(32) 내의 현존하는 관련 데이터에 부가(84)하도록 추가로 구성되는 것인 데이터 보호 통신 시스템.
  44. 제43항에 있어서, 상기 수신 데이터 및 상기 현존하는 관련 데이터는 한 데이터 아이템(85)의 데이터 블록들을 포함하고, 데이터 아이템(85)은 데이터 아이템 식별자 및 메모리(32) 내의 현존하는 관련 데이터의 위치를 포함하는 데이터 아이템 레퍼런스와 관련되며, 상기 데이터 보호 시스템은,
    암호화된 수신 데이터의 길이를 판정하고,
    암호화된 수신 데이터가 제1 암호 키 및 제2 암호 키 중 하나를 사용하여 암호화되었는지를 나타내는 식별자를 생성하며,
    길이 및 식별자를 암호화된 수신 데이터에 추가하고,
    상기 길이, 식별자 및 암호화된 수신 데이터를 현존하는 관련 데이터에 부가하도록 추가로 구성되는 것인 데이터 보호 통신 시스템.
  45. 제1항에 있어서, 상기 수신된 데이터는 데이터 아이템 식별자를 갖는 데이터 아이템(85)을 포함하고, 상기 데이터 보호 시스템은,
    데이터 아이템 식별자, 암호화된 수신 데이터의 블록 길이, 메모리(32) 내의 암호화된 수신 데이터의 위치, 및 암호화된 수신 데이터가 제1 암호 키 및 제2 암호 키 중 하나를 사용하여 암호화되었는지를 나타내는 키 식별자를 포함하는 데이터 아이템 헤더(92)를 작성하고,
    데이터 아이템 헤더를 메모리(32) 내에 저장하도록 추가로 구성되며,
    상기 제1 암호 키는 암호화된 형태로 저장된 대칭키이며, 제2 암호 키는 개인 키와 관련되는 공개 키인 것인 데이터 보호 통신 시스템.
  46. 제45항에 있어서, 상기 데이터 보호 시스템은,
    수신된 데이터가 메모리(32) 내에 저장된 현존하는 데이터 및 현존하는 데이터 헤더에 관련되는 지의 여부를 판정(80)하고,
    수신된 데이터가 현존하는 데이터 및 현존하는 데이터 헤더에 관련되는 것으로 판정된 경우에,
    암호화된 수신 데이터의 길이를 판정하고,
    암호화된 수신 데이터가 제1 암호 키 및 제2 암호 키 중 하나를 사용하여 암호화되었는지를 나타내는 식별자를 생성하며,
    판정된 길이 및 생성된 식별자를 데이터 아이템 헤더에 추가하고,
    암호화된 수신 데이터를 현존하는 관련 데이터에 부가하여, 암호화된 수신 데이터를 저장(82)하도록 추가로 구성되는 것인 데이터 보호 통신 시스템.
  47. 제1항에 있어서, 상기 데이터 보호 시스템은,
    수신된 데이터가 메모리 내에 저장된 현존하는 암호화된 데이터에 관련되는 지의 여부를 판정하고,
    수신된 데이터가 메모리 내에 저장된 현존하는 암호화된 데이터에 관련되는 경우에 현존하는 암호화된 데이터가 제1 암호 키를 사용하여 암호화되었는 지의 여부를 판정하며,
    현존하는 암호화된 데이터가 제1 암호 키를 사용하여 암호화된 경우에,
    제1 암호 키를 사용하여 현존하는 암호화된 데이터를 복호화하고,
    수신된 데이터를 복호화된 현존하는 데이터에 부가하여 결합된 데이터
    블록을 형성하며,
    결합된 데이터 블록을 제1 암호 키를 사용하여 암호화하여, 제1 암호 키를 이용하여 수신 데이터를 암호화(76)하도록 추가로 구성되는 것인 데이터 보호 통신 시스템.
  48. 제44항에 있어서, 상기 데이터 보호 시스템은,
    통신 장치(30) 상에 제1 암호 키와 제2 암호 키를 저장하고,
    통신 장치(30) 상의 시스템으로부터 데이터 아이템(85)에 대한 요청을 수신하며,
    데이터 아이템(85)의 각 데이터 블록(87B, 88B, 89B) 마다,
    제1 암호 키와 제2 암호 키 중 하나가 데이터 블록을 암호화하는데 사용되었는지를 판정하고,
    데이터 블록이 제1 암호 키를 사용하여 암호화된 경우에 제1 암호 키를 사용하여 데이터 블록을 복호화하며,
    데이터 블록이 제2 암호 키를 사용하여 암호화된 경우에 제2 암호 키를 사용하여 데이터 블록을 복호화하고,
    통신 장치(30) 상의 시스템에 데이터 아이템의 각각의 복호화된 데이터 블록을 제공하도록 추가로 구성되며,
    제2 암호 키는 개인 키와 관련되는 공개 키인 것인 데이터 보호 통신 시스템.
  49. 제48항에 있어서, 상기 데이터 보호 시스템은,
    제2 암호 키를 이용하여 암호화된 데이터 아이템(85) 내의 각 데이터 블록 마다,
    재암호화된 데이터 블록을 생성하기 위해 제1 암호 키를 사용하여 복호화된 데이터 블록을 암호화하고,
    데이터 블록(87B, 88B, 89B)을 재암호화된 데이터 블록으로 메모리(32) 내에서 대체하도록 추가로 구성되는 것인 데이터 보호 통신 시스템.
  50. 제48항에 있어서, 상기 데이터 보호 시스템은,
    재암호화된 데이터 아이템을 생성하기 위해 제1 암호 키를 사용하여 복호화된 데이터 아이템을 암호화하고,
    메모리(32) 내의 데이터 아이템을 재암호화된 데이터 아이템(85)으로 대체하도록 추가로 구성되는 것인 데이터 보호 통신 시스템.
KR1020057015955A 2005-08-26 2003-02-28 통신 장치 상의 데이터를 보호하는 시스템 및 방법 KR100716529B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020057015955A KR100716529B1 (ko) 2005-08-26 2003-02-28 통신 장치 상의 데이터를 보호하는 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020057015955A KR100716529B1 (ko) 2005-08-26 2003-02-28 통신 장치 상의 데이터를 보호하는 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20050113204A KR20050113204A (ko) 2005-12-01
KR100716529B1 true KR100716529B1 (ko) 2007-05-10

Family

ID=37287920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057015955A KR100716529B1 (ko) 2005-08-26 2003-02-28 통신 장치 상의 데이터를 보호하는 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100716529B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078869B2 (en) 2003-02-28 2011-12-13 Research In Motion Limited System and method of protecting data on a communication device
US9825919B2 (en) 2013-11-06 2017-11-21 Blackberry Limited Public key encryption algorithms for hard lock file encryption
US10341102B2 (en) 2016-09-02 2019-07-02 Blackberry Limited Decrypting encrypted data on an electronic device
US10348502B2 (en) 2016-09-02 2019-07-09 Blackberry Limited Encrypting and decrypting data on an electronic device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8190913B2 (en) 2004-04-30 2012-05-29 Research In Motion Limited System and method for content protection on a computing device
KR20070061276A (ko) * 2005-12-08 2007-06-13 한국전자통신연구원 Sdio 인터페이스를 갖는 휴대 단말기용 인증 토큰과이를 이용한 보안 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100284482B1 (ko) 1998-10-10 2001-03-15 구자홍 데이터 암호화 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100284482B1 (ko) 1998-10-10 2001-03-15 구자홍 데이터 암호화 방법

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8078869B2 (en) 2003-02-28 2011-12-13 Research In Motion Limited System and method of protecting data on a communication device
US8386778B2 (en) 2003-02-28 2013-02-26 Research In Motion Limited System and method of protecting data on a communication device
US9154469B2 (en) 2003-02-28 2015-10-06 Blackberry Limited System and method of protecting data on a communication device
US9825919B2 (en) 2013-11-06 2017-11-21 Blackberry Limited Public key encryption algorithms for hard lock file encryption
US10341102B2 (en) 2016-09-02 2019-07-02 Blackberry Limited Decrypting encrypted data on an electronic device
US10348502B2 (en) 2016-09-02 2019-07-09 Blackberry Limited Encrypting and decrypting data on an electronic device

Also Published As

Publication number Publication date
KR20050113204A (ko) 2005-12-01

Similar Documents

Publication Publication Date Title
AU2003208208B2 (en) System and method of protecting data on a communication device
EP1545084B1 (en) System and method for digital rights management
EP2003842B1 (en) A method and devices for providing secure data backup from a mobile communication device to an external computing device
US9053330B2 (en) Method and devices for providing secure data backup from a mobile communication device to an external computing device
EP2234028A1 (en) System and method of handling encrypted backup data
JP2009284505A (ja) 電子装置の所有者管理のシステムおよび方法
US20090150680A1 (en) Data Security in Mobile Devices
KR100846411B1 (ko) 디스플레이 상에 보안 상태 표시자를 생성하는 시스템 및방법
AU2007216818B2 (en) System and method of protecting data on a communication device
KR100716529B1 (ko) 통신 장치 상의 데이터를 보호하는 시스템 및 방법
JP2010104018A (ja) 通信装置上のデータを保護するシステムおよび方法
US7437573B2 (en) Secure unsent message storage pending server connection
JP2008219743A (ja) ファイル暗号管理システムとそのシステムを実施する方法
JP2009151391A (ja) 電子メール表題隠蔽方法、データベース、通信装置及びプログラム
CN100447703C (zh) 储存装置的资料保密方法及装置
JP2006139475A (ja) 既存アプリケーションの機密情報保護システム

Legal Events

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

Payment date: 20130419

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140423

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150424

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160422

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170424

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180424

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190423

Year of fee payment: 13