본 발명의 실시예를 보다 잘 이해하기 위해서, 그리고 이것이 구현될 수 있는 방식을 보다 명확하게 나타내기 위해서, 첨부 도면을 일 예로서 참조한다.
본 발명의 몇몇 실시예는 이동국을 사용한다. 이동국은 다른 컴퓨터 시스템과 통신하는 성능을 갖는 개선된 데이터 통신을 구비한 양방향 통신 장치로서, 여기서는 통상 모바일 장치로 불린다. 또한, 모바일 장치는 음성 통신 성능을 포함할 수 있다. 모바일 장치에 의해 제공되는 기능에 따라, 이는 데이터 메시징 장치, 양방향 호출기, 데이터 메시징 성능을 구비한 셀룰러 폰, 무선 인터넷 기기 또는 데이터 통신 장치(전화 성능을 구비하거나 구비하지 않음)로 불릴 수 있다. 모바일 장치는 트랜시버 스테이션의 네트워크를 통해 다른 장치와 통신한다.
모바일 장치의 구조와 다른 장치와의 통신 방식의 이해를 돕기 위해서, 도 1 내지 도 3을 참조하여 설명한다.
도 1을 우선 참조하면, 일 구현예에서 모바일 장치의 블록도가 100으로 도시되어 있다. 모바일 장치(100)는 다수의 컴포넌트를 포함하되, 제어하는 컴포넌트는 마이크로프로세서(102)이다. 마이크로프로세서(102)는 모바일 장치(100)의 전체 동작을 제어한다. 데이터 및 음성 통신을 포함하는 통신 기능은 통신 서브시스 템(104)을 통해 수행된다. 통신 서브시스템(104)은 무선 네트워크(200)로부터 메시지를 수신하여 이에 메시지를 전송한다. 이러한 모바일 장치(100)의 구현예에서, 통신 서브시스템(104)은 전 지구적 이동 통신 시스템(GSM) 및 범용 패킷 무선 서비스(GPRS) 표준에 따라 구성된다. GSM/GPRS 무선 네트워크는 범세계적으로 사용되고 이들 표준은 개선된 데이터 GSM 환경(EDGE)와 범용 이동 통신 서비스(UMTS)에 의해 결국 대체될 것으로 예측된다. 새로운 표준은 여전히 정의 중이지만, 여기서 설명하는 네트워크 동작과 유사성을 가질 것으로 여겨지며, 본 발명은 추후 개발되는 임의의 다른 적절한 표준을 사용하려는 것임을 당업자에 의해 이해될 것이다. 통신 서브시스템(104)을 네트워크(200)에 접속하는 무선 링크는, 하나 이상의 상이한 무선 주파수(RF) 채널을 나타내며, 이는 GSM/GPRS 통신에 대하여 규정되는 한정된 프로토콜에 따라 동작한다. 보다 새로운 네트워크 프로토콜을 사용하여, 이들 채널은 회선 교환 음성 통신과 패킷 교환 데이터 통신을 모두 지원할 수 있다.
모바일 장치(100)에 관련된 무선 네트워크는 모바일 장치(100)의 일 구현예에서 GSM/GPRS이지만, 다른 무선 네트워크가 변형된 구현예에서 모바일 장치(100)에 관련될 수 있다. 사용될 수 있는 상이한 유형의 무선 네트워크는 예를 들면, 데이터 중심 무선 네트워크, 음성 중심 무선 네트워크 및 음성과 데이터 통신을 동일한 물리적 기지국을 통해 지원할 수 있는 듀얼 모드 네트워크를 포함한다. 결합된 듀얼 모드 네트워크는 코드 분할 다중 접속(CDMA) 또는 CDMA2000 네트워크, (0상술한 바와 같은)GSM/GPRS 네트워크, EDGE 및 UMTS와 같은 추후 3세대(3G) 네트워 크를 포함하지만 이에 한정되지 않는다. 데이터 중심 네트워크의 몇몇 오래된 예는 MobitexTM 무선 네트워크와 DataTACTM 무선 네트워크를 포함한다. 보다 오래된 음성 중심 데이터 네트워크의 예는 GSM과 같은 개인용 통신 시스템(PCS) 네트워크와 시분할 다중 접속(TDMA) 시스템이다.
마이크로프로세서(102)는 또한 랜덤 액세스 메모리(RAM; 106), 플래시 메모리(108), 디스플레이(110), 보조 입출력(I/O) 서브시스템(112), 직렬 포트(114), 키보드(116), 스피커(118), 마이크로폰(120), 단거리 통신(122) 및 다른 장치(124)와 같은 추가 서브시스템과 상호 작용한다.
모바일 장치(100)의 몇몇 서브시스템은 통신 관련 기능을 수행하는 반면, 다른 서브시스템은 "상주(resident)" 또는 온 장치(on-device) 기능을 제공할 수 있다. 예를 들면, 디스플레이(110)와 키보드(116)는 네트워크(200) 상으로 전송하기 위한 텍스트 메시지의 입력과 같은 통신 관련 기능과, 계산기 또는 작업 리스트와 같은 장치 상수 관련 기능 모두에 대하여 사용될 수 있다. 마이크로프로세서(102)에 의해 사용되는 운영 체계 소프트웨어는 플래시 메모리(108) - 다르게는 판독 전용 메모리(ROM) 또는 유사하게 저장 요소(미도시)일 수도 있음 - 와 같은 영구 저장소에 통상 저장된다. 당업자는 운영 체계, 특정 장치 애플리케이션 또는 그 일부가 RAM(106)과 같은 휘발성 저장소에 임시 로딩될 수 있음을 이해할 것이다.
모바일 장치(100)는 필요한 네트워크 등록 또는 활성화 프로시저가 완성된 후에 네트워크(200) 상으로 통신 신호를 송수신할 수 있다. 네트워크 액세스는 모 바일 장치(100)의 가입자 또는 사용자에 관련된다. 가입자를 식별하기 위해서, 모바일 장치(100)는 가입자 아이덴티티 모듈, 즉, "SIM" 카드(126)가 네트워크와 통신하기 위해서 SIM 인터페이스(128) 내에 삽입될 것을 요구한다. SIM(126)은 무엇보다도 모바일 장치(100)의 가입자를 식별하고 모바일 장치(100)를 개별화하는데 사용되는 종래의 "스마트 카드"의 일 유형이다. SIM(126) 없이, 모바일 장치(100)는 네트워크(200)와의 통신을 위해 완전하게 동작하지는 않는다. SIM(126)을 SIM 인터페이스(128)에 삽입함으로써, 가입자는 모든 가입된 서비스를 액세스할 수 있다. 서비스는 다음을 포함한다: 웹 브라우징과 이메일, 음성 메일, 단문 메시지 서비스(SMS) 및 멀티미디어 메시징 서비스(MMS)와 같은 메시징. 보다 개선된 서비스는 판매 시점 관리, 필드 서비스 및 판매력 자동화를 포함할 수 있다. SIM(126)은 정보를 저장하는 메모리와 프로세서를 포함한다. 일단 SIM(126)이 SIM 인터페이스(128)에 삽입되는 경우, 이는 마이크로프로세서(102)에 결합된다. 가입자를 식별하기 위해서, SIM(126)은 국제 모바일 가입자 아이덴티티(IMSI)와 같은 몇몇 사용자 매개변수를 포함한다. SIM(126)을 사용하는 이점은 가입자가 임의의 단일 물리 모바일 장치에 의해 반드시 한정되는 것이 아니라는 점이다. SIM(126)은 메모장(또는 달력) 정보와 최근 통화 정보를 포함하는, 모바일 장치에 대한 추가 가입자 정보를 또한 저장할 수 있다.
모바일 장치(100)는 배터리 급전 장치로서 하나 이상의 충전가능 배터리(130)를 수용하는 배터리 인터페이스(132)를 포함한다. 배터리 인터페이스(132)는 전력 V+를 모바일 장치(100)에 제공할 때 배터리(130)를 지원하는 레귤레이터(미도 시)에 결합된다. 현재의 기술은 배터리를 이용하지만, 마이크로 연로 전지와 같은 장래 기술이 전력을 모바일 장치(100)에 제공할 수 있다.
마이크로프로세서(102)는 운영 체계 기능뿐만 아니라 모바일 장치(100) 상의 소프트웨어 애플리케이션의 실행을 가능하게 한다. 데이터 및 음성 통신 애플리케이션을 포함하는 기본 장치 동작을 제어하는 일련의 애플리케이션은 그 제작 동안 모바일 장치(100) 상에 통상 설치될 수 있다. 모바일 장치(100) 상으로 로딩될 수 있는 다른 애플리케이션은 개인 정보 관리자(PIM)일 수 있다. PIM은 이메일, 달력 이벤트, 음성 메일, 약속 및 작업 항목을 포함하지만 이에 한정되지 않는 가입자의 관심 데이터 항목을 구성 및 관리하는 기능을 갖는다. PIM 애플리케이션은 무선 네트워크(200)를 통해 데이터 항목을 송수신하는 능력을 갖는다. PIM 데이터 항목은 모바일 장치 가입자의 대응 데이터 항목이 호스트 컴퓨터 시스템에 저장되거나 이에 관련되어 무선 네트워크(200)를 통해 무리없이 집적, 동기화, 및 갱신될 수 있다. 이러한 기능은 이러한 항목에 대하여 모바일 장치(100) 상에 미러링된 호스트 컴퓨터를 생성한다. 이는 호스트 컴퓨터 시스템이 모바일 장치 가입자의 사무실 컴퓨터 시스템인 경우에 특히 이점이 있을 수 있다.
또한, 추가 애플리케이션이 네트워크(200), 보조 I/O 서브시스템(112), 직렬 포트(114), 단거리 통신 서브시스템(122) 또는 임의의 다른 적절한 서브시스템(124)을 통해 모바일 장치(100)에 로딩될 수 있다. 애플리케이션 설치에서 이러한 유연성은 모바일 장치(100)의 기능을 증가시키고 개선된 온 장치 기능, 통신 관련 기능 또는 양자 모두를 제공할 수 있다. 예를 들면, 보안 통신 애플리케이션은 전 자 상거래 기능 및 다른 이러한 재무 거래가 모바일 장치(100)를 사용하여 수행될 수 있게 할 수 있다.
직렬 포트(114)는 외장형 장치 또는 소프트웨어 애플리케이션을 통해 가입자가 선호 사항을 설정하게 할 수 있고, 무선 통신 네트워크를 통하지 않고 모바일 통신에 정보 또는 소프트웨어 다운로드를 제공하여 모바일 장치(100)의 성능을 확장한다. 다른 다운로드 경로는, 예를 들면, 직접적이고 이에 따라 신뢰성있는 접속을 통해 모바일 장치(100) 상으로 암호화 키를 로딩하여 보안 장치 통신을 제공하는데 사용될 수 있다.
단거리 통신 서브시스템(122)은 네트워크(200)의 사용없이, 모바일 장치(100)와 상이한 시스템 또는 장치 간의 통신을 제공한다. 예를 들면, 서브시스템(122)은 단거리 통신을 위해 적외선 장치와 관련 회로 및 컴포넌트를 포함할 수 있다. 단거리 통신의 예는 적외선 데이터 협회(IrDA), 블루투스, 및 IEEE에 의해 구현된 802.11 표준군을 포함할 수 있다.
사용 시에, 텍스트 메시지, 이메일 메시지, 또는 웹 페이지 다운로드와 같은 수신 신호가 통신 서브시스템(104)에 의해 처리되고 마이크로프로세서(102)에 입력될 수 있다. 마이크로프로세서(102)는 그 후 디스플레이(110) 또는 다르게는 보조 I/O 서브시스템(112)으로의 출력을 위해 수신 신호를 처리할 수 있다. 또한, 가입자는, 예를 들면, 디스플레이(110)와 가능하게는 보조 I/O 서브시스템(112)과 함께 키보드(116)를 사용하여 이메일 메시지와 같은 데이터 항목을 작성할 수 있다. 보조 서브시스템(112)은 터치 스크린, 마우스, 트랙볼, 적외선 지문 검출기, 또는 동 적 버튼 처리 성능을 구비한 롤러 휠(roller wheel)과 같은 장치를 포함할 수 있다. 키보드(116)는 영숫자 키보드 및/또는 전화기 유형 키패드이다. 작성된 항목은 통신 서브시스템(104)을 통해 네트워크(200) 상으로 전송될 수 있다.
음성 통신에 있어서, 모바일 장치(100)의 전체 동작은 수신된 신호가 스피커(118)에 출력될 수 있고 전송 신호가 마이크로폰(120)에 의해 생성될 수 있다는 점을 제외하면 거의 유사하다. 또한, 음성 메시지 녹음 서브시스템과 같은 다른 음성 또는 오디오 I/O 서브시스템은 모바일 장치(100) 상으로 구현될 수 있다. 음성 또는 오디오 신호 출력은 스피커(118)를 통해 주로 달성되지만, 디스플레이(110)는 발신측의 아이덴티티, 음성 통화의 기간 또는 다른 음성 통화 관련 정보와 같은 추가 정보를 제공하는데 사용될 수 있다.
도 2를 이하 참조하면, 도 1의 통신 서브시스템 컴포넌트(104)의 블록도가 도시되어 있다. 통신 서브시스템(104)은 수신기(150), 송신기(152), 하나 이상의 임베디드 또는 내장형 안테나 요소(154, 156), 로컬 오실레이터(LO; 158), 및 디지털 신호 처리기(DSP; 160)와 같은 프로세싱 모듈을 포함한다.
통신 서브시스템(104)의 특정 설계는 모바일 장치(100)가 동작하려는 네트워크에 의존할 수 있으며, 이에 따라 도 2에 도시한 설계는 단지 일 예임이 이해되어야 한다. 안테나(154)에 의해 네트워크(200)를 통해 수신된 신호는 수신기(150)에 입력되며, 이러한 수신기(150)는 신호 증폭, 주파수 하향 변환, 필터링, 채널 선택, 및 아날로그 디지털(A/D) 변환과 같은 일반 수신기 기능을 수행할 수 있다. 수신 신호의 A/D 변환은 복조와 복호화와 같은 보다 복잡한 통신 기능이 DSP(160) 내에서 수행될 수 있게 한다. 유사한 방식으로, 전송될 신호는 DSP(160)에 의해 변조 및 복호화 등으로 처리된다. 이들 DSP 처리된 신호는 디지털 아날로그(D/A) 변환, 주파수 상향 변환, 필터링, 증폭 및 안테나(156)를 통해 네트워크(200) 상으로 전송하기 위해 송신기(152)에 입력된다. DSP(160)는 통신 신호를 처리할 뿐만 아니라, 수신기 및 송신기 제어를 제공한다. 예를 들면, 수신기(150)와 송신기(152)에서 통신 신호에 적용된 이득은 DSP(160)에 구현된 자동 이득 제어 알고리즘을 통해 적응 제어될 수 있다.
모바일 장치(100)와 네트워크(200) 간의 무선 링크는 하나 이상의 상이한 채널, 통상 상이한 RF 채널, 및 모바일 장치(100)와 네트워크(200) 사이에 사용되는 간련 프로토콜을 포함할 수 있다. RF 채널은, 통상 모바일 장치(100)의 전체 대역폭과 한정된 배터리 전력에서 한계로 인해, 보존되어야 하는 한정된 자원이다.
모바일 장치(100)가 완전하게 동작하는 경우, 송신기(152)는 통상 네트워크(200)에 전송하는 경우에만 키잉되거나 온되고, 다르게는 자원을 보존하도록 오프된다. 유사하게, 수신기(150)는 지정된 구간 동안 신호 또는 정보(있는 경우)를 수신하는데 필요할 때까지 전력을 보전하도록 주기적으로 오프된다.
도 3을 이하 참조하면, 무선 네트워크의 노드의 블록도가 202로서 도시되어 있다. 실제, 네트워크(200)는 하나 이상의 노드(202)를 포함한다. 모바일 장치(100)는 무선 네트워크(200) 내에서 노드(202)와 통신한다. 도 3의 구현예에서, 노드(202)는 일반 패킷 무선 서비스(GPRS) 및 전 지구적 이동 통신 시스템(GSM) 기술에 따라 구성된다. 노드(202)는 관련 타워 스테이션(206)과 함께 기지국 제어기 (BSC; 204), GSM에서 GPRS 지원을 위해 추가되는 패킷 제어부(PCU; 208), 이동 교환 센터(MSC; 210), 홈 위치 레지스터(HLR; 212), 방문자 위치 레지스터(VLR; 214), 서빙 GPRS 지원 노드(SGSN; 216), 게이트웨이 GPRS 지원 노드(GGSN; 218), 및 동적 호스트 구성 프로토콜(DHCP; 220)을 포함한다. 이러한 컴포넌트 리스트는 GSM/GPRS 네트워크 내에서 모든 노드(202)의 컴포넌트의 전체 리스트를 의미하는 것이 아니고, 네트워크(200)를 통해 통신에 통상 사용되는 컴포넌트 리스트를 의미한다.
GSM 네트워크에서, MSC(210)는 일반 전화 교환망(PSTN; 222)과 같은 랜드라인(landline) 네트워크과 BSC(204)에 결합되어 회선 교환 요건을 충족시킨다. PCU(208), SGSN(216) 및 GGSN(218)을 통한 공용 또는 전용 네트워크(인터넷; 224)(또한 여기서는 공유 네트워크 기반구조로서 불림)으로의 접속은 GPRS 가능 모바일 장치에 대한 데이터 경로를 나타낸다. GPRS 성능이 확장된 GSM 네트워크에서, BSC(204)는 또한 SGSN(216)에 접속하여 단편화, 무선 채널 할당을 제어하고 패킷 교환 요건을 충족하는 패킷 제어부(PCU; 208)를 포함한다. 모바일 장치 위치 결정 및 회선 교환 및 패킷 교환 관리 양자에 대한 이용가능성을 추적하기 위해서, HLR(212)은 MSC(210)와 SGSN(216) 사이에 공유된다. VLR(214)로의 액세스는 MSC(210)에 의해 제어된다.
스테이션(206)은 고정 트랜시버 스테이션이다. 스테이션(206)과 BSC(204)는 함께 고정 트랜시버 장치를 형성한다. 고정 트랜시버 장치는 통상 "셀"로 불리는 특정 커버리지 영역에 대한 무선 네트워크 커버리지를 제공한다. 고정 트랜시버 장치는 스테이션(206)을 통해 통신 신호를 그 셀 내의 모바일 장치에 통신 신호를 전송하고 모바일 장치로부터 통신 신호를 수신한다. 고정 트랜시버 장치는 통상 제어기의 제어 하에서, 특정, 통상은 소정의, 통신 프로토콜 및 매개변수에 따라 모바일 장치에 전송된 신호의 변조 및 가능하게는 인코딩 및/또는 암호화와 같은 기능을 수행한다. 고정 트랜시버 장치는 유사하게, 필요시, 그 셀 내의 모바일 장치로부터 수신된 임의의 통신 신호를 복조 및 가능하게는 복호화한다. 통신 프로토콜과 매개변수는 상이한 노드들 사이에서 변할 수 있다. 예를 들면, 하나의 노드는 상이한 변조 방식을 사용하여 다른 노드와는 상이한 주파수에서 동작할 수 있다.
특정 네트워크에 등록된 모든 모바일 장치(100)에 대하여, 사용자 프로파일과 같은 영구 구성 데이터가 HLR(212)에 저장된다. 또한, HLR(212)은 각각의 등록된 모바일 장치에 대한 위치 정보를 포함하고, 모바일 장치의 현재 위치를 결정하도록 조회될 수 있다. MSC(210)는 위치 영역의 그룹을 담당하고 VLR(214)에서 그 담당 영역에 현재 모바일 장치의 데이터를 저장한다. 또한, VLR(214)은 다른 네트워크를 방문하는 모바일 장치에 대한 정보를 포함한다. VLR(214)에서 정보는 보다 빠른 액세스를 위해 HLR(212)로부터 VLR(214)에 전송되는 영구 모바일 장치 데이터의 일부를 포함한다. 원격 HLR(212) 노드로부터 VLR(214)에 추가 정보를 이동함으로써, 이들 노드 간의 트래픽 양은 음성 및 데이터 서비스가 보다 빠른 응답 시간과 동시에 컴퓨팅 자원을 덜 사용하여 제공될 수 있도록 감소될 수 있다.
SGSN(216)과 GGSN(218)은 GPRS 지원, 즉, GSM에서 패킷 교환 데이터 지원을 위해 추가되는 요소이다. SGSN(216)과 MSC(210)는 각 모바일 장치(100)의 위치를 추적함으로써 무선 네트워크(200) 내에서 유사한 책임을 갖는다. 또한, SGSN(216)은 네트워크(200) 상의 데이터 트래픽에 대한 보앙 기능 및 액세스 제어를 수행한다. GGSN(218)은 외부 패킷 교환 네트워크와의 인터네트워킹 접속을 제공하고 네트워크(200) 내에서 동작하는 인터넷 프로토콜(IP) 백본 네트워크를 통해 하나 이상의 SGSN(26)에 접속한다. 정상 동작 동안, 주어진 모바일 장치(100)는 "GPRS 첨부(GPRS Attach)"를 수행하여 IP 주소를 획득하고 데이터 서비스에 액세스하여야 한다. 이러한 요건은 통합 서비스 디지털 네트워크(ISDN) 주소가 인커밍 및 아웃고잉 호를 라우팅하는데 사용됨에 따라 회선 교환 음성 채널에는 존재하지 않는다. 현재, 모든 GPRM 가능 네트워크에서는 전용의, 동적 할당 IP 주소를 사용함으로써, GGSN(218)에 접속된 DHCP 서버(220)를 요구한다. 원격 인증 다이얼 인 사용자 서비스(RADIUS) 서버 및 DHCP 서버의 결합을 사용하는 등, 동적 IP 할당을 위한 다수의 메커니즘이 있다. GPRS 첨부가 완전한 경우, 논리적 접속은 모바일 장치(100)로부터 PCU(208) 및 SGSN(216)을 통해 GGSN(218) 내의 액세스 포인트 노드(APN)에 설정된다. APN은 다이렉트 인터넷 호환 서비스 또는 전용 네트워크 접속에 액세스할 수 있는 IP 터널의 논리 말단(logical end)을 나타낸다. 또한, 각 모바일 장치(100)가 하나 이상의 APN에 할당되어야 하고 모바일 장치(100)가 사용 허용된 APN에 대한 GPRS 첨부를 우선 수행하지 않고 데이터를 교환할 수 없는 경우에는, APN은 네트워크(200)에 대한 보안 메커니즘을 나타낸다. APN은 "myconnection. wireless.com"과 같은 인터넷 도메인 네임과 유사한 것으로 간주될 수 있다.
GPRS 첨부가 완성된 경우, 터널이 생성되고 모든 트래픽은 IP 패킷으로 지원될 수 있는 임의의 프로토콜을 사용하여 표준 IP 패킷 내에서 교환된다. 이는 가상 전용 네트워크(VPN)에서 사용되는 몇몇 IP보안(IPsec)의 경우에서와 같이 IP 상의 IP와 같은 터널링 방법을 포함한다. 또한, 이들 터널은 패킷 데이터 프로토콜(PDP) 컨텍스트로 불리며 네트워크(200)에서 이용가능한 한정된 개수가 있다. PDP 컨텍스트(PDP Context)의 사용을 최대화하기 위해서, 네트워크(200)는 각 PDP 문맥에 대한 휴지 타이머를 실행하여 활성 부족이 있는지를 판정한다. 모바일 장치(100)가 이의 PDP 컨텍스트를 사용하지 않는 경우, PDP 컨텍스트는 할당 해제되고 IP 주소는 DHCP 서버(220)에 의해 관리되는 IP 주소 풀에 복귀한다.
도 4를 이하 참조하면, 일 구성예에서 호스트 시스템의 컴포넌트를 나타내는 블록도가 도시되어 있다. 호스트 시스템(250)은 통상 기업 사무실 또는 다른 근거리 네트워크(LAN)일 수 있지만, 그 대신 다른 구현예에서 홈 사무실 컴퓨터 또는 다른 전용 시스템일 수 있다. 도 4에 도시한 이러한 예에서, 호스트 시스템(250)은 모바일 장치(100)의 사용자가 속하는 기관의 LAN으로서 도시되어 있다.
LAN(250)은 LAN 접속(260)에 의해 서로 접속된 다수의 네트워크 접속을 포함한다. 예를 들면, 사용자의 데스크탑 컴퓨터(262a)는 사용자의 모바일 장치(100)에 대하여 수반하는 크레이들(cradle; 264)과 함께 LAN(250) 상에 위치한다. 모바일 장치(100)에 대한 크레이들(264)은 예를 들면 직렬 또는 범용 직렬 버스(USB) 접속에 의해 컴퓨터(262a)에 결합될 수 있다. 다른 사용자 접속(262a)은 또한 LAN(250) 상에 위치할 수 있으며, 각각은 모바일 장치에 대하여 수반하는 크레이들 (264)을 구비하거나 구비하지 않을 수 있다. 크레이들(264)은 사용자 컴퓨터(262a)로부터 모바일 장치(100)로 정보(예를 들면, 모바일 장치(100)와 LAN(250) 사이의 보안 통신을 용이하게 하는 PIM 데이터, 전용 대칭 암호화 키)의 로딩을 용이하게 하며, 사용을 위해 모바일 장치(100)를 초기화할 때 종종 수행되는 벌크 정보 갱신에 특히 유용할 수 있다. 모바일 장치(100)에 다운로딩되는 정보는 메시지의 교환에 사용되는 인증서를 포함할 수 있다. 사용자 컴퓨터(262a, 262b)가 도 4에 명시적으로 나타내지 않은 통상 다른 주변 장치에 접속될 수 없음을 당업자가 이해할 것이다.
본 발명의 실시예는 이메일 메시지와 같은 메시지의 처리에 관한 것으로서, 몇몇 실시예는 모바일 장치(100)로/로부터의 이러한 메시지의 통신에 관한 것이다. 따라서, 설명의 용이를 위해 LAN(250)의 네트워크 컴포넌트의 단지 일부분만이 도 4에 도시되어 있으며, LAN(250)은 이러한 구성 예에서 도 4에 명시적으로 나타내지 않은 추가 컴포넌트를 포함할 수 있음을 당업자가 이해할 것이다. 보다 일반적으로, LAN(250)은 기관의 보다 큰 네트워크(미도시)의 보다 소형 부분을 나타낼 수 있으며, 상이한 컴포넌트를 포함하거나 및/또는 도 4의 예에 도시한 것과는 상이한 토폴로지로 배치될 수 있다.
이 예에서, 모바일 장치(100)는 서비스 제공자 네트워크 또는 공용 인터넷과 같은 공유 네트워크 기반구조(224)와 무선 네트워크(200)의 노드(202)를 통해 LAN(250)과 통신한다. LAN(250)으로의 액세스는 하나 이상의 라우터(미도시)를 통해 제공될 수 있고, LAN(250)의 컴퓨팅 장치는 방화벽 또는 프록시 서버(266)에서 동작할 수 있다.
변형된 구현예에서, LAN(250)은 LAN(250)과 모바일 장치(100) 간의 데이터 교환을 요이하게 하는 무선 VPN 라우터(미도시)를 포함한다. 무선 VPN 라우터의 개념은 무선 업계에서 새로운 것으로서, VPN 접속이 특정 무선 네트워크를 통해 무선 장치(100)에 직접 설정될 수 있다. 무선 VPN 라우터를 사용하는 가능성은 최근에 이용가능해졌으며, 신규한 인터넷 프로토콜(IP) 버전(IPV6)이 IP 기반 무선 네트워크에 도달하는 경우에 사용될 수 있다. 이러한 신규 프로토콜은 충분한 IP 주소를 제공하여 모든 모바일 장치에 IP 주소를 전용으로 제공할 수 있기 때문에, 정보를 임의의 시점에서 모바일 장치에 푸시할 수 있다. 무선 VPN 라우터의 사용 이점은 기성품의 VPN 컴포넌트일 수 있어, 별도의 무선 게이트웨이와 별도의 무선 기반구조를 요구하지 않는다는 점이다. 바람직하게는, VPN 접속은 이러한 다른 구현예에서 메시지를 모바일 장치(100)에 직접 전달하는 전송 제어 프로토콜(TCP)/IP 또는 사용자 다이어그램 프로토콜(UDP)/IP 접속일 수 있다.
모바일 장치(100)의 사용자에 대하여 의도된 메시지는 LAN(250)의 메시지 서버(268)에 의해 초기 수신된다. 이러한 메시지는 다수의 소수 중 임의의 것으로부터 시작할 수 있다. 예를 들면, 메시지는 LAN(250) 내에서 컴퓨터(262b)로부터 무선 네트워크 또는 상이한 무선 네트워크에 접속된 상이한 모바일 장치(미도시)로부터, 또는 상이한 컴퓨팅 장치 또는 메시지를 전송할 수 있는 다른 장치로부터, 예를 들면, 공유 네트워크 기반구조(224) 및 가능하게는 애플리케이션 서비스 제공자(ASP) 또는 인터넷 서비스 제공자(ISP)를 통해 전송자에 의해 전송된다.
통상, 메시지 서버(268)는 기관 내에서 공유 네트워크 기반구조(224) 내에서 메시지, 특히 이메일 메시지의 교환에 대한 주요 인터페이스로서 동작한다. 메시지를 송수신하도록 구성된 기관 내의 각 사용자는 통상 메시지 서버(268)에 의해 관리되는 사용자 계좌에 관련된다. 메시지 서버(268)의 일 예는 Microsoft ExchangeTM 서버이다. 몇몇 구현예에서, LAN(250)은 다수의 메시지 서버(268)를 포함할 수 있다. 또한, 메시지 서버(268)는 예를 들면 달력과 작업 리스트에 관련된 데이터의 관리를 포함하는 메시지 관리를 능가하는 추가 기능을 제공할 수 있다.
메시지가 메시지 서버(268)에 의해 수신되는 경우, 통상 메시지 저장소(명확하게는 도시하지 않음) 내에 저장되고, 이로부터 메시지가 추후 인출되어 사용자에게 인출된다. 예를 들면, 사용자의 컴퓨터(262a) 상에서 동작하는 이메일 클라이언트 애플리케이션은 메시지 서버(268) 상세서 저장된 사용자의 계좌에 관련되는 이메일 메시지를 요청할 수 있다. 그 후, 이들 메시지는 메시지 서버(268)로부터 통상 인출되어 컴퓨터(262a) 상에 국부 저장될 수 있다.
모바일 장치(100)를 작동시키는 경우, 사용자는 핸드헬드로의 전달을 위해 인출되는 이메일 메시지를 갖기를 원할 수 있다. 모바일 장치(100) 상에서 동작하는 이메일 클라이언트 애플리케이션은 또한 메시지 서버(268)로부터 사용자의 계좌에 관련된 메시지를 요청할 수 있다. 이메일 클라이언트는 사용자의 방향에서 몇몇 소정 시간 간격으로, 또는 몇몇 소정 이벤트의 발생 시에, 이러한 요청을 행하도록 {사용자 또는 관리자에 의해, 가능하게는, 기관의 정보 기술(IT)에 따라}구성 될 수 있다. 몇몇 구현예에서, 모바일 장치(100)는 이메일 주소가 할당되고, 모바일 장치(100)에 구체적으로 어드레싱된 메시지는 메시지 서버(268)에 의해 수신됨에 따라 모바일 장치(100)에 자동으로 리다이렉트된다.
모바일 장치(100)와 LAN(250)의 컴포넌트 간의 메시지와 메시지 관련 정보의 무선 통신을 용이하게 하기 위해서, 다수의 무선 통신 지원 컴포넌트(270)가 제공될 수 있다. 이러한 구현예에서, 무선 통신 지원 컴포넌트(270)는 예를 들면 메시지 관리 서버(272)를 포함한다. 메시지 관리 서버(272)는 모바일 장치에 의해 처리되어야 하는 이메일 메시지와 같은 메시지의 관리에 대한 지원을 구체적으로 제공하는데 사용된다. 통상, 메시지는 메시지 서버(268) 상에 여전히 저장되는 동안, 메시지 관리 서버(272)는 메시지가 모바일 장치(100)에 전송되어야 하는 경우, 여부, 및 방식을 제어하는데 사용될 수 있다. 또한, 메시지 관리 서버(272)는 모바일 장치(100) 상에서 작성된 메시지의 처리를 용이하게 하며, 이는 추후 전달을 위해 메시지 서버(268)에 전송된다.
예를 들면, 메시지 관리 서버(272)는, 새로운 이메일 메시지에 대한 사용자의 우편함{예를 들면, 메시지 서버(268) 상에서 사용자의 계좌에 관련된 메시지 저장소}을 모니터하고, 사용자 정의가능한 필터를 새로운 메시지에 적용하여 메시지가 사용자의 모바일 장치(100)에 중계될 수 있는지 여부 및 방식을 결정하며, {예를 들면, 데이터 암호화 표준(DES) 또는 트리플 DES와 같은 암호화 기술을 사용하여} 새로운 메시지를 압축 및 암호화하여 공유 네트워크 기반구조(224)와 무선 네트워크(200)를 통해 모바일 장치(100)에 이들을 푸시하고, 모바일 장치(100) 상에 서 (예를 들면, 트리플 DES를 사용하여 암호화된)작성된 메시지를 수신하고, 작성된 메시지를 복호화하여 압축해제하며, 원하는 경우 작성된 메시지를 이들이 사용자의 컴퓨터(262a)로부터 시작하는 것으로 나타낼 수 있도록 다시 포맷하며, 작성된 메시지를 메시지 서버(268)로의 전달을 위해 다시 라우팅할 수 있다.
모바일 장치(100)에 의해 송수신될 수 있는 메시지 관련 특정 속성 또는 제한은 (예를 들면, IP 정책에 따라 관리자에 의해)한정되고 메시지 관리 서버(272)에 의해 실행될 수 있다. 이들은 모바일 장치(100)가 암호화되고 및/또는 서명된 메시지, 최소 암호화 키 크기를 수신할 수 있는지, 아웃고잉 메시지가 암호화되고 및/또는 서명되어야 하는지, 모바일 장치(100)로부터 전송된 모든 보안 메시지의 복사본이 예를 들면 소정의 복사본 주소에 전송되어야 하는지 여부를 포함할 수 있다.
메시지 관리 서버(272)는 메시지 서버(268) 상에 저장된 메시지의 소정 부분(예를 들면, "블록") 또는 특정 메시지 정보를 모바일 장치(100)에 푸시만 하는 것과 같은 다른 제어 기능을 제공할 수 있다. 예를 들면, 메시지가 메시지 서버(268)로부터 모바일 장치(100)에 의해 초기 인출되는 경우, 메시지 관리 서버(272)는 소정 크기의 일부(예를 들면, 2KB)를 사용하여 모바일 장치(100)에 메시지의 제1 부준만을 푸시할 수 있다. 이 사용자는 그 후 보다 많은 메시지가 가능하게는 최대 소정 메시지 크기까지 메시지 관리 서버(272)에 의해 유사한 크기의 블록으로 모바일 장치(100)에 전달되도록 요청할 수 있다.
따라서, 메시지 관리 서버(272)는 모바일 장치(100)에 전송되는 데이터양과 데이터의 유형에 대한 보다 양호한 제어를 용이하게 하며, 대역폭 또는 다른 자원의 가능한 낭비를 최소화할 수 있다.
메시지 관리 서버(272)는 LAN(250) 또는 다른 네트워크에서 개별 물리 서버 상에 구현될 필요가 없음을 당업자는 이해할 것이다. 예를 들면, 메시지 관리 서버(272)에 관련된 전부 또는 일부의 기능은 LAN(250)에서 메시지 서버(268) 또는 몇몇 다른 서버와 통합될 수 있다. 더욱이, LAN(250)은 특히 다수의 모바일 장치가 지원될 필요가 없는 다른 구현예에서 다수의 메시지 관리 서버(272)를 포함할 수 있다.
본 발명의 실시예는 암호화되고 및/또는 서명되는 이메일 메시지와 같은 인코딩된 메시지의 처리에 관한 것이다. 단순 메일 전송 프로토콜(SMTP), RFC822 헤더, 및 다중목적 인터넷 메일 확장(MIME) 본문 부분은 인코딩을 요구하지 않는 통상의 이메일 메시지의 포맷을 한정하는데 사용될 수 있는 반면, 보안/MIME(S/MIME), MIME 프로토콜의 버전이 (즉, 보안 메시징 애플리케이션)인코딩된 메시지의 통신에서 사용될 수 있다. S/MIME은 말단간 인증 및 기밀성을 가능하게 하고, 메시지의 발신자가 메시지를 전송하는 때부터 메시지 수신자에 의해 복호화되어 판독될 때까지 데이터 무결성과 프라이버시를 보호한다. Pretty Good PrivacyTM(PGP), OpenPGP, 및 당업계 공지된 기타의 공지된 표준 및 프로토콜이 보안 메시지 통신을 용이하게 하도록 사용될 수 있다.
S/MIME와 같은 보안 메시징 프로토콜은 공개 및 전용 암호화 키에 의존하여 기밀성과 무결성을 제공하며, 공개 키 기반구조(PKI)로 인증과 인가를 제공하는 정보를 전송한다. 전용 키/공개 키 쌍 중 전용 키를 사용하여 암호화된 데이터는 그 쌍의 대응하는 공개 키를 사용해서만 복호화될 수 있고, 그 역도 또한 마찬가지이다. 전용 키 정보는 공용이 절대 되지 않는 반면, 공개 키는 공유된다.
예를 들면, 전송가자 암호화된 형태로 수신자에게 메시지를 전송하기를 원하는 경우, 수신자의 공개 키는 메시지를 암호화하는데 사용되고, 이는 그 후 수신자의 전용 키를 사용해서만 복호화될 수 있다. 다르게는, 몇몇 인코딩 기술에서, 일회 세션 키가 생성되고, 통상 대칭 암호화 기술(예를 들면, 트리플 DES)를 사용하여 메시지의 본문을 암호화하는데 사용된다. 세션 키는 그 후 수신자의 공개 키(예를 들면, RSA와 같은 공개 키 암호화 알고리즘)를 사용하여 암호화될 수 있으며, 이는 그 후 수신자의 전용 키를 사용해서만 복호화될 수 있다. 복호화된 세션 키는 그 후 메시지 본문을 복호화하는데 사용될 수 있다. 메시지 헤더는 메시지를 복호화하는데 사용되어야 하는 특정 암호화 방식을 규정하는데 사용될 수 있다. 공개 키 암호에 기초한 다른 암호화 기술이 다른 구현예에서 사용될 수 있다. 그러나, 이들 각 경우에서, 수신자의 전용 키만이 메시지의 암호화를 용이하게 하는데 사용될 수 있으며, 이러한 방식으로, 메시지의 기밀성이 유지될 수 있다.
다른 예로서, 전송자는 디지털 서명을 사용하여 메시지에 서명할 수 있다. 디지털 서명은 전송자의 전용 키를 사용하여 암호화되는 메시지(예를 들면, 메시지의 해시)의 다이제스트로서, 이는 그 후 아웃고잉 메시지에 첨부될 수 있다. 수신된 경우 메시지의 서명을 확인하기 위해서, 수신자는 전송자와 동일한 기술을 사용 (예를 들면, 동일한 표준 해시 알고리즘을 사용)하여 수신된 메시지의 다이제스트를 획득한다. 수신자는 또한 전송자의 공개 키를 사용하여 수신된 메시지에 대하여 어느 것이 매칭 다이제스트가 되어야 하는지를 획득하기 위해서, 디지털 서명을 복호화한다. 수신된 메시지의 다이제스트가 일치하지 않은 경우, 이는 어느 메시지 내용이 전송 동안 변경되었고 및/또는 이 메시지가 공개 키가 확인을 위해 사용된 전송자로부터 발생하지 않았음을 제시한다. 이러한 방식으로 디지털 서명을 확인함으로써, 전송자의 인증과 메시지 무결성이 유지될 수 있다.
인코딩된 메시지가 암호화되고, 서명되며, 또는 암호화와 서명이 모두 실행될 수 있다. 이들 동작에서 사용되는 공개 기의 인증은 인증서를 사용하여 확인된다. 인증서는 인증서 기관(CA)에 의해 발행되는 디지털 문서이다. 인증서는 사용자와 이들의 공개 키 사이의 관계를 인증하는데 사용되고, 기본적으로, 사용자의 공개 키의 인증에서 신뢰 수준을 제공한다. 인증서는 인증서 소지자에 대한 정보를 포함하며, 이때, 인증서의 내용은 허용된 표준(예를 들면, X.509)에 따라 포맷되는 것이 통상적이다.
인증서 체인(300)의 일 예가 도 5에 도시되어 있다. "존 스미스"에 발행된 인증서(310)는 개인에게 발행된 인증서의 일 예로서, 이는 말단 엔티티 인증서(end entity certificate)로서 불릴 수 있다. 말단 엔티티 인증서(310)는 통상 인증서 소지자(312; 즉 이 예에서 존 스미스)와 인증서(314)의 발행자를 식별하고 발행자의 디지털 서명(316)과 인증서 소지자의 공개 키(318)를 포함한다. 또한, 인증서(310)는 통상 인증서 소지자를 식별하는 다른 정보 및 속성(예를 들면, 이메일 주 소, 기관명, 기관 단위명, 위치 등)을 포함할 수 있다. 개인이 수신자에 전송될 수 있는 메시지를 작성한 경우, 통상 메시지를 갖는 개인의 인증서(300)를 포함한다.
신뢰받는 공개 키에 있어서, 이의 발행 기관이 신뢰받아야 한다. 신뢰받는 CA와 사용자의 공개 키 간의 관계는 인증서 체인으로서 또한 불리는 일련의 관련 인증서로 나타낼 수 있다. 인증서의 유효성을 결정하도록 인증서 체인이 뒤따를 수 있다.
예를 들면, 도 5에 도시한 인증서 체인(300)의 예에서, 존 스미스에 전송되려는 취지의 메시지의 수신자는 수신된 메시지에 첨부된 인증서(310)의 신뢰 상태를 확인하기를 원할 수 있다. 예를 들면, 수신자의 컴퓨팅 장치(예를 들면, 도 4의 컴퓨터(262a) 상에서 인증서의 신뢰 상태를 확인하기 위해서, 발행자 ABC의 인증서(320)가 획득되고, 인증서(310)가 발행자 ABC에 의해 서명됨을 확인하는데 사용된다. 인증서(320)는 컴퓨팅 장치 상의 인증서 저장소에 미리 저장될 수 있거나, 인증서 소스(예를 들면, 도 4의 LDAP 서버(284) 또는 몇몇 다른 공용 또는 정용 LDAP 서버)로부터 인출될 필요가 있을 수 있다. 인증서(320)가 수신자의 컴퓨팅 장치에 이미 저장되고 인증서가 수신자에 의해 신뢰있는 것으로서 지정된 경우, 인증서(310)는 저장되고 신뢰있는 인증서에 연결하기 때문에 신뢰있는 것으로 간주된다.
그러나, 도 5에 도시한 예에서, 인증서(330)는 인증서(310)의 신뢰를 확인하는데 필요하다. 인증서(330)는 자기 서명된 것으로서 "루트 인증서(root certificate)"로 불릴 수 있다. 따라서, 인증서(320)는 인증서 체인(300)에서 "중간 인증서(intermediate certificate)"로 불릴 수 있으며, 루트 인증서에 대한 임의의 주어진 인증서 체인은, 루트 인증서에 대한 체인이 특정 말단 엔티티 인증서에 대하여 결정될 수 있다고 가정하면, 제로, 하나, 또는 다수의 중간 인증서를 포함할 수 있다. 인증서(330)가 신뢰있는 소스에 의해(예를 들면, Verisign 또는 Entrust와 같은 큰 인증서 기관으로부터) 발행된 루트 인증서인 경우, 인증서(310)는 신뢰있는 인증서에 연결되기 때문에 신뢰있는 것으로 간주될 수 있다. 메시지의 전송자와 수신자는 모두 루트 인증서(330)의 소스를 신뢰함을 암시한다. 인증서가 신뢰있는 인증서에 연결될 수 없는 경우, 이 인증서는 "신뢰받지 않음(not trusted)"으로 간주될 수 있다.
인증서 서버는 인증서에 대한 정보를 저장하고 폐기된 인증서를 식별하는 리스트를 저장한다. 이들 인증서 서버는 인증서를 획득하고 인증서 인증 및 폐기 상태를 확인하기 위해 평가될 수 있다. 예를 들면, 경량 디렉토리 액세스 프로토콜(LDAP) 서버가 인증서를 획득하는데 사용될 수 있고, 온라인 인증서 상태 프로토콜(OCSP) 서버가 인증서 폐기 상태를 확인하는데 사용될 수 있다.
통상, 표준 이메일 보안 프로토콜은 통상 비 이동성 컴퓨팅 장치(예를 들면, 도 4의 컴퓨터(262a, 262b; 원격 데스크탑 장치) 간의 보안 메시지 전송을 용이하게 한다. 도 4를 다시 참조하면, 전송자로부터 수신되는 서명된 메시지가 모바일 장치(100)로부터 판독될 수 있고 암호화된 메시지가 이들 전송자에게 전송될 수 있도록 하기 위해서, 모바일 장치(100)는 다른 개인의 인증서와 관련 공개 키를 저장 할 수 있다. 통상, 사용자의 컴퓨터(262a) 상에 저장된 인증서는, 예를 들면, 컴퓨터(262a)로부터 크레이들(264)을 통해 모바일 장치(100)에 다운로딩될 수 있다.
컴퓨터(262a) 상에 저장되고 모바일 장치(100)에 다운로딩되는 인증서는 개인에 관련된 인증서에 한정되지 않고, 예를 들면, CA에 발행된 인증서를 포함할 수 있다. 컴퓨터(262a) 및/또는 모바일 장치(100)에 저장된 특정 인증서는 또한 사용자에 의해 "신뢰있음"으로서 명시적으로 지정될 수 있다. 따라서, 인증서가 모바일 장치(100) 상에서 사용자에 의해 수신되는 경우, 이는 모바일 장치(100)에 저장되고 신뢰있는 것으로 지정되거나 신뢰있는 인증서에 연결되는 것으로 결정되는 것과 인증서를 매칭함으로써 모바일 장치(100) 상에서 확인될 수 있다.
또한, 모바일 장치(100)는 사용자에 관련된 공개 키/전용 키 중 전용 키를 저장할 수 있기 때문에, 모바일 장치(100)의 사용자는 모바일 장치(100) 상에서 작성된 아웃고잉 메시지를 서명하고, 사용자의 공개 키로 암호화되는 사용자에 전송된 메시지를 복호화할 수 있다. 전용 키는 예를 들면 크레이들(264)을 통해 사용자의 컴퓨터(262a)로부터 모바일 장치(100)에 다운로딩될 수 있다. 전용 키는 바람직하게는 컴퓨터(262a)와 모바일 장치(100) 사이에 교환되는 것이 바람직하기 때문에, 사용자는 메시지를 액세스하는 방법과 아이덴티티를 공유할 수 있다.
사용자 컴퓨터(262a, 262b)는 컴퓨터(262a, 262b) 및/또는 모바일 장치{예를 들면, 모바일 장치(100)} 상의 저장을 위해 다수의 소수로부터 인증서를 획득할 수 있다. 이들 인증서 소스는, 예를 들면, 전용(예를 들면, 기관 내에서 전용) 또는 공용일 수 있으며, 국부 또는 원격 상주할 수 있으며, 기관의 전용 네트워크 내에 서로부터 또는 인터넷을 통해 액세스가능할 수 있다. 도 4에 도시한 예에서, 다수의 PKI 서버(280)는 LAN(250) 상에 상주한다. PKI 서버(280)는 인증서를 발행하는 CA 서버(282), (예를 들면, 기관 내의 개인에 대한)다운로딩된 인증서를 탐색하는데 사용되는 LDAP 서버(284), 및 인증서의 폐기 상태를 확인하는데 사용되는 OCSP 서버(286)를 포함한다.
인증서는, 예를 들면, 사용자 컴퓨터(262a)에 의해 LDAP 서버(284)로부터 인출되어 크레이들(264)을 통해 모바일 장치(100)에 다운로딩될 수 있다. 그러나, 다른 구현예에서, LDAP 서버(284)는 모바일 장치(100)에 의해 직접(즉, 이 단락에서 "무선으로") 평가될 수 있고, 모바일 장치(100)는 모바일 데이터 서버(288)를 통해 개별 인증서를 탐색하고 인출할 수 있다. 유사하게, 모바일 데이터 서버(288)는 모바일 장치(100)가 OCSP 서버(286)를 직접 조회하여 인증서의 폐기 상태를 확인할 수 있다.
모바일 데이터 서버(288)는 LAN(250)의 다른 컴포넌트로부터 개별 컴퓨팅 장치 상에 물리적으로 상주할 필요가 없고, 모바일 데이터 서버(288)가 다른 구현예에서 LAN(250)의 다른 컴포넌트와 동일한 컴퓨팅 장치 상에 제공될 수 있음을 당업자가 이해할 것이다. 또한, 모바일 데이터 서버(288)의 기능은 다른 구현예에서 LAN{250; 메시지 관리 서버(272)}에서 다른 컴포넌트의 기능에 통합될 수 있다.
다른 구현예에서, 선택된 PKI 서버(280)만이 모바일 장치에 액세스될 수 있다{예를 들면, 인증서가 사용자의 컴퓨터(262a, 262b)로부터만 다운로딩될 수 있게 하는 반면, 인증서의 폐기 상태를 모바일 장치(100)로부터 확인될 수 있음}.
다른 구현예에서, 어떤 PKI 서버(280)는 예를 들면 IP 관리자에 의해 규정된 바와 같이, 가능하게는, IT 정책에 따라 특정 사용자에 등록된 모바일 장치에만 액세스가능하게 될 수 있다.
인증서(미도시)의 다른 소스는 예를 들면 윈도우즈 인증서 저장소, LAN(250) 상의 또는 그 외부의 다른 보안 인증서, 및 스마트 카드를 포함할 수 있다.
도 6을 이하 참조하면, 메시지 서버{예를 들면, 도 4의 메시지 서버(268)}에 의해 수신될 수 있는 바와 같은, 인코딩된 메시지의 일 예의 컴포넌트를 나타내는 블록도가 350으로서 도시되어 있다. 인코딩된 메시지(350)는 또한 다음 중 하나 이상을 포함한다: 헤더부(352), 인코딩된 본문부(354), 선택적으로 하나 이상의 인코딩된 첨부(356), 하나 이상의 암호화된 세션 키(358), 및 서명과 서명 관련 정보(360). 예를 들면, 헤더부(352)는 "To", "From", "CC" 주소와 같은 정보를 어드레싱하는 것을 통상 포함하며, 또한, 예를 들면 메시지 길이 표시 및 전송자 암호화 및 서명 방식을 포함할 수 있다. 실제 메시지 내용은 메시지 본문 또는 데이터 부분(354)과 가능하게는 하나 이상의 첨부(356)를 통상 포함하며, 이는 세션 키를 사용하여 전송자에 의해 암호화될 수 있다. 세션 키가 사용된 경우, 이는 통상 각 수신자에 대하여 개별 공개 키를 사용하여 각각의 의도한 수신자에 대하여 암호화되고, 358에서 메시지에 포함된다. 메시지가 서명된 경우, 서명 및 서명 관련 정보(360)가 또한 포함된다. 이는 예를 들면 전송자의 인증서를 포함할 수 있다.
도 6에 도시한 바와 같이 인코딩된 메시지에 대한 포맷은 단지 예로서 제공되고, 본 발명의 실시예가 다른 포맷의 인코딩된 메시지에 적용될 수 있음을 당업 자는 이해할 것이다. 사용된 특정 메시징 방식에 따라, 인코딩된 메시지의 컴포넌트는 도 6에 도시한 것과는 상이한 차수로 나타날 수 있고, 인코딩된 메시지는 보다 적고, 추가 또는 상이한 컴포넌트를 포함할 수 있으며, 이는 인코딩된 메시지가 암호화, 서명, 또는 양자 모두 수행되는지 여부에 의존할 수 있다.
본 발명의 실시예는 장치 상의 인증서를 보다 효율적으로 탐색하고 장치 상의 저장을 위해 인증서를 인출하는 시스템 및 방법에 관한 것이다. 일 실시예에서, 이 장치는 모바일 장치{예를 들면, 도 4의 모바일 장치(100)}로서, 모바일 장치에 상주하여 실행하는 인증서 탐색 애플리케이션은 하나 이상의 인증서 서버{예를 들면, 도 4의 LDAP 서버(284)} 상의 인증서의 탐색을 개시하도록 프로그래밍된다. 이러한 실시예에서, 모바일 장치는 중간 컴퓨팅 장치{예를 들면, 도 4의 모바일 데이터 서버(288)}를 통해 인증서 서버로부터 개별 인증서를 탐색하고 인출한다.
도 4를 참조하여, 모바일 장치(100) 상의 특정 탐색 애플리케이션은 모바일 데이터 서버(288)를 통해 LDAP 서버(284)로부터 개별 인증서를 탐색하고 인출하는 구현예를 고려한다. 탐색 요청은 인증서 탐색 애플리케이션에 의해, 통상 사용자가 인증서를 발견하기를 원하는 개인의 성, 이름, 및 이메일 주소를 제공하는 사용자로부터 수신된다. 특정 탐색 요청은 또한 적은 문자 개수의 이름만을 입력하는 것이 접두사로서 이들 문자를 포함하는 이름으로 발행된 모든 인증서를 리턴할 수 있는 탐색 조회를 구성함으로써, 또는 예를 들면 와일드 카드 또는 빈 엔트리를 입력 필드에 사용하여 탐색을 확장함으로써 보다 폭넓어질 수 있다. 이 탐색 요청은 그 후 모바일 장치(100)로부터 모바일 데이터 서버(288)에 전송되며, 그 후 모바일 데이터 서버(288)는 요청된 인증서(들)에 대하여 LDAP 서버(284)를 조회한다. 이 구현예에서, 발견된 인증서는 모바일 데이터 서버(288)에 의해 인출되고, 각 인증서가 발행되는 개인(또는 엔티티)의 성과 이메일 주소와 같은 각각의 인출된 인증서에 관련된 특정 탐색 결과 데이터는 모바일 장치(100)에 전송되어 이 탐색 결과 데이터로부터 디스플레이를 위해 사용자에 리스트가 생성될 수 있다. 사용자는 그 후 이 리스트로부터 모바일 장치(100) 상으로의 다운로딩 및 저장을 위해 특정 인증서를 선택할 수 있다. 그 후, 이 선택은 모바일 데이터 서버(288)에 전송되고, 이로부터 선택된 인증서가 모바일 장치(100)에 다운로딩된다.
제1 인스턴스에서 모바일 장치(100)에 대한 전체 인증서 대신에 발견된 인증서의 리스트를 생성하는데 사용되는 특정 탐색 결과 데이터만을 전송함으로써, 그리고 사용자에 의해 선택된 특정 인증서만을 다운로딩함으로써, 인증서의 인출 및 탐색이 (예를 들면, 시간 및 대역폭의 측면에서)보다 효율적으로 수행될 수 있다. 그러나, 종래 시스템은 용이하게 하도록 모바일 장치(100)에 인증서를 다운로딩하지 않고, 모바일 장치(100)의 인증서 저장소에 리스트 상의 어느 인증서가 이미 저장되어 있는지를 결정하거나 이에 대한 표시를 사용자에게 제공할 수 없다. 이러한 시스템에서, 선택된 인증서는 이들이 인증서 저장소에 아직 저장되어 있지 않음을 확인하기 위해서 다운로딩될 필요가 있다. 이는 시간과 대역폭을 소비하여 잠재적으로 불필요해진다.
따라서, 본 발명의 실시예는 인증서 전체가 장치에 다운로딩될 것을 요구하 지 않고, 장치{예를 들면, 모바일 장치(100) 등} 상에 이미 저장될 수 있는지 여부의 판정을 용이하게 한다.
도 7a를 참조하면, 본 발명의 일 실시예에서 인증서를 탐색 및 인출하는 방법의 단계를 나타내는 흐름도가 400으로서 도시되어 있다.
단계 410에서, 제1 컴퓨팅 장치가 제2 장치로부터의 요청을 수신하여 인증서에 대한 적어도 하나의 인증서 서버를 탐색한다. 일 구현예에서, 제2 장치가 모바일 장치{예를 들면, 도 4의 모바일 장치(100)}인 경우, 제1 컴퓨팅 장치는 제2 장치와, 모바일 데이터 서버{예를 들면, 도 4의 모바일 데이터 서버(288)}와 같은 적어도 하나의 인증 서버 간의 중간 장치로서 동작한다. 일 구현예에서, 탐색될 인증서 서버는 LDAP 서버{예를 들면, 도 4의 LDAP 서버(284)}일 수 있다.
이 요청은 제2 장치 상에서 실행하고 상주하는 인증서 탐색 애플리케이션에 의해 제공되는 데이터를 포함할 수 있다. 이 데이터는 사용자 입력으로부터 인증서 탐색 애플리케이션으로 시작할 수 있거나(예를 들면, 탐색이 사용자에 의해 개시되는 경우), 다른 구현예에서 탐색을 개시하는 애플리케이션에 의해 생성된 데이터로부터 시작할 수 있다. 다양한 탐색 조회가 본 발명의 범위를 벗어나지 않으면서 구성될 수 있음을 당업자가 이해할 수 있지만, 이 데이터는 통상 적어도 하나의 이름 및/또는 이메일 주소를 통상 포함할 수 있다.
편의상, 방법 400의 추가 단계는 제1 컴퓨팅 장치가 모바일 데이터 서버이고 제2 장치가 모바일 장치인 일 구현예를 참조하여 이하 설명한다. 그러나, 도 7b의 방법 400 또는 방법 400b를 참조하여 설명하는 본 발명의 실시예는 제1 컴퓨팅 장 치가 모바일 데이터 서버는 아니지만 몇몇 다른 컴퓨팅 장치는 모바일 데이터 서버이고 및/또는 제2 장치가 모바일 장치가 아니지만 몇몇 다른 컴퓨팅 장치는 모바일 장치인 구현예에 적용될 수 있다. 예를 들면, 제1 및 제2 장치 간의 데이터 전송이 제1 장치와 적어도 하나의 인증서 서버 간의 데이터 전송보다 고가(예를 들면, 시간 및/또는 대역폭의 측면에서)인 경우에, 제1 및 제2 장치와 적어도 하나의 인증서 서버를 포함하는 시스템 아키텍처는 본 발명의 실시예의 애플리케이션으로부터 이점이 될 수 있다.
단계 420에서, 모바일 데이터 서버는 모바일 장치의 인증서 탐색 애플리케이션으로부터 단계 410에서 수신된 탐색 요청에 기초하여 인증서에 대하여 적어도 하나의 인증서 서버를 조회한다. 탐색에서 발견된 인증서는 모바일 데이터 서버에 의해 적어도 하나의 인증서 서버로부터 인출된다.
단계 430에서, 모바일 데이터 서버는 모바일 장치의 인증서 탐색 애플리케이션에 대하여 각각 발견된 인증서에 관한 탐색 결과 데이터를 리턴한다. 리턴되는 탐색 결과 데이터는 통상 각 인증서가 발행되는 개인의 성과 이메일 주소를 통상 포함한다. 그러나, 본 발명의 실시예에 따라, 모바일 데이터 서버는 각각의 인출된 인증서를 파싱하여 탐색 결과 데이터의 일부로서 리턴되는 각 인증서의 일련번호와 발행자를 식별함으로써 각각의 인출된 인증서를 추가 처리한다.
몇몇 구현예에서, 단계 420에서 인출된 인증서는 인출된 인증서가 삭제되는 단계 430에서 탐색 결과 데이터가 모바일 장치에 리턴될 때까지 임시적으로만 저장된다. 다른 구현예에서, 단계 420에서 인출된 인증서는 캐시되거나 (예를 들면, 리턴된 탐색 결과 데이터에 대한 응답이 모바일 장치로부터 인출된 경우, 또는, 소정 기간 동안) 영구적으로 저장될 수 있다.
단계 440에서, 인증서 탐색 애플리케이션은 각각의 발견된 인증서에 관련된 일련번호와 발행자 데이터를 이의 하나 이상의 지정된 인증서 저장소에서 모바일 장치 상에 저장된 인증서에 관련된 일련번호와 발행자 데이터와 비교하여, 각 인증서가 모바일 장치에 이미 저장되어 있는지를 판정한다.
단계 450에서, 발견된 인증서의 리스트가 생성되어 모바일 장치의 사용자에게 디스플레이된다. 이 리스트는 단계 430에서 모바일 장치에 리턴된 탐색 결과 데이터의 적어도 부분집합으로서 생성된다. 예를 들면, 이 리스트는 인증서가 발행된 개인(또는 엔티티)의 성 및/또는 이메일 주소에 의해 각각의 발견된 인증서를 식별할 수 있다. 본 발명의 일 실시예에서, 각각의 발견된 인증서에 대하여 리스트 상의 개별 엔트리를 수반하는 표시는, 단계 440에서 행해진 판정에 기초하여 각 인증서가 모바일 장치에 이미 저장되어 있는지를 이 표시를 나타내는 경우에 제공될 수 있다. 따라서, 사용자는 모바일 장치에 이미 저장된 다운로드용 인증서를 선택할 필요가 없기 때문에, 복제된 인증서가 모바일 장치에 반드시 다운로딩될 필요는 없다. 이 표시는 예를 들면 체크되거나 체크되지 않은 박스를 포함할 수 있다. 다른 예로서, 리스트 상의 각 엔트리는 표시의 상태에 따라 하이라이트되거나 하이라이트되지 않을 수 있다.
단계 460에서, 인증서는 예를 들면 모바일 장치의 사용자에 의해 다운로드를 위해 선택된다.
단계 470에서, 단계 460에서 행해진 선택을 식별하는 데이터는 모바일 장치로부터 모바일 데이터 서버에 의해 수신되고, 선택된 인증서는 통상 모바일 장치 상의 저장을 위해 모바일 장치에 추후 리턴된다. 몇몇 구현예에서, 인증서가 이전 다운로드 이후 모바일 데이터 서버에 의해 유지되지 않은 경우, 인증서가 모바일 장치(미도시한 단계)에 리턴되기 전에 모바일 데이터 서버가 선택된 인증서에 대하여 다시 인증서 서버를 조회할 필요가 있을 수 있다.
도 7b를 이하 참조하면, 본 발명의 다른 실시예에서 인증서를 탐색하고 인출하는 방법의 단계를 나타내는 흐름도가 400b로서 도시되어 있다. 방법 400b는, 제1 컴퓨팅 장치에 의해 제2 장치에 리턴되는 인증서에 관련된 탐색 결과 데이터가 각각의 발견된 인증서의 적어도 일부의 해시를 포함한다는 점을 제외하면, 방법 400과 유사하다.
구체적으로, 단계 430b에서, 모바일 데이터 서버는 모바일 장치의 인증서 탐색 애플리케이션에 각각의 발견된 인증서에 대한 탐색 결과 데이터를 리턴한다. 리턴되는 탐색 결과 데이터는 통상 각 인증서가 발행된 개인(또는 엔티티)의 성과 이메일 주소를 포함한다. 본 발명의 실시예에 따라, 모바일 데이터 서버는 해시 알고리즘을 적용하여 각각의 인출된 인증서를 추가 처리하여 각각의 인출된 인증서의 적어도 일부를 해시한다. 그 후, 이 해시는 탐색 결과 데이터의 일부로서 리턴된다. 일 구현예에서, 전체 인증서는 리턴된 해시를 생성하도록 해싱된다. 그러나, 다른 구현예에서, 동일한 인증서가 해싱된 부분 또는 필드에 따라 감소될 수 있음을 해시가 고유하고 올바르게 식별할 수 있는 가능성이 있지만, 인증서의 하나 이상의 특정 부분 또는 필드가 리턴된 해시를 생성하도록 해싱될 수 있다.
단계 440에서, 인증서 탐색 애플리케이션은 이의 하나 이상의 지정된 인증서 저장소에서 모바일 장치 상에 저장된 각 인증서에 대한 해시를 생성하고, 각 인증서가 모바일 장치 상에 이미 저장되어 있는지를 판정하기 위해서, 각각의 발견된 인증서에 관련된 해시와 각각의 생성된 해시를 비교한다. 단계 430b에서 사용된 동일한 해시 알고리즘은 저장된 인증서의 해시를 생성할 때 이 단계에서(전체 인증서가 해싱되지 않은 경우 저장된 인증서의 동일 부분 또는 필드에) 적용된다. 딸서, 주어진 인증서의 생성된 해시가 단계 430b에서 모바일 데이터 서버로부터 수신된 해시와 일치하는 경우, 일치는 결정된 것으로 간주된다.
방법 400b의 나머지 단계에 대한 세부사항은 도 7a를 참조하여 제공된다.
본 발명의 다른 실시예에서, 인증서를 고유하게 식별하는데 사용될 수 있고 전체 인증서를 전송하는 것보다 (시간 및/또는 대역폭의 측면에서)효율적으로 전송될 수 있는 다른 데이터는 탐색 결과 데이터의 일부로서 제2 장치에 리턴되고, 인증서가 제2 장치에 이미 저장되어 있는지를 판정하는데 사용된다.
상술한 본 발명의 실시예는 비싼 요청을 행하지 않으면서 어느 인증서(들)가 컴퓨팅 장치에 다운로딩될 필요가 있는지를 사용자가 신속하게 판정할 수 있게 한다. 본 발명의 다른 실시예에서, 인증서 탐색 요청은 사용자에 의해 개시되지 않을 수 있지만, 그 대신 제2 장치 상에서 실행하는 애플리케이션에 의해(가능하게는, 인증서 탐색 애플리케이션 또는 몇몇 다른 애플리케이션에 의해) 개시될 수 있다. 이들 실시예에서, (예를 들면, 도 7a 및 도 7b의 단계 450에서)사용자에게의 디스플레이를 위해 리스트가 생성되지 않을 수 있고, (예를 들면, 도 7a 및 도 7b의 단계 440에서)어느 인증서가 제2 장치 상에 이미 저장되어 있는지를 식별한 후에 사용자 중재 없이 인증서가 자동으로 다운로드를 위해 지정될 수 있다.
다른 구현예에서, 본 발명은 또한 인증서를 포함하지 않은 다른 애플리케이션에 적용될 수 있다. 예를 들면, 상술한 기술 중 일부는 특정 컨택 데이터 기록 또는 전자 문서가 예를 들면 컴퓨팅 장치 상에 이미 저장되어 있는지를 판정하는데 사용될 수 있다.
본 발명의 실시예에서 인증서를 탐색하고 인출하는 방법의 단계들은, 전송 유형의 매체를 포함할 수 있는, 컴퓨터 판독가능 매체 상에 저장된 실행가능 소프트웨어 명령으로서 제공될 수 있다.
본 발명은 다수의 실시예에 대하여 설명하였다. 그러나, 당업자는 다른 변형 및 변경이 첨부한 청구항에서 한정된 바와 같이 본 발명의 범위를 벗어나지 않으면서 행해질 수 있음을 이해할 것이다.