KR20030080095A - Method and apparatus for providing secure processing and data storage for a wireless communication device - Google Patents

Method and apparatus for providing secure processing and data storage for a wireless communication device Download PDF

Info

Publication number
KR20030080095A
KR20030080095A KR10-2003-7012011A KR20037012011A KR20030080095A KR 20030080095 A KR20030080095 A KR 20030080095A KR 20037012011 A KR20037012011 A KR 20037012011A KR 20030080095 A KR20030080095 A KR 20030080095A
Authority
KR
South Korea
Prior art keywords
secure
remote terminal
security
data
processor
Prior art date
Application number
KR10-2003-7012011A
Other languages
Korean (ko)
Other versions
KR100910432B1 (en
Inventor
안토니 마우로
Original Assignee
콸콤 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/826,742 external-priority patent/US7047405B2/en
Application filed by 콸콤 인코포레이티드 filed Critical 콸콤 인코포레이티드
Publication of KR20030080095A publication Critical patent/KR20030080095A/en
Application granted granted Critical
Publication of KR100910432B1 publication Critical patent/KR100910432B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/02Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/069Authentication using certificates or pre-shared keys

Abstract

본 발명은 무선 통신 장치용 보안 처리 및 데이터 스토리지를 제공하는 기술에 관한 것이다. 특정 설계에서, 원격 단말기(110)는 데이터 처리 유닛(210, 224), 메인 프로세서(230) 및 보안 유닛(240)을 포함한다. 데이터 처리 유닛은 무선 링크를 통한 통신을 위해 데이터를 처리한다. 메인 프로세서는 원격 단말기에 대한 제어를 제공한다. 보안 유닛은 원격 단말기에 대한 보안 처리(예를 들면, 공개 키 암호화를 사용하여)를 수행하는 보안 프로세서(250) 및 데이터의 안전 저장(예를 들면, 전자 자금, 개인 데이터, 인증서, 등)을 수행하는 메모리(254)를 포함한다. 보안 프로세서는 보안 처리에 사용되는 프로그램 명령 및 파라미터를 저장하는 내장형 ROM(252)을 포함한다. 강화된 보안을 위해, 보안 프로세서와 메모리는 단일 집적회로내에 구현된다. 메시징과 데이터는 버스(262)에 의해 제공된 단일 엔트리 포인트를 통해 보안 유닛과 상호교환된다.The present invention relates to a technique for providing secure processing and data storage for a wireless communication device. In a particular design, remote terminal 110 includes data processing units 210, 224, main processor 230, and security unit 240. The data processing unit processes the data for communication over the wireless link. The main processor provides control for the remote terminal. The security unit is responsible for secure processing (eg electronic funds, personal data, certificates, etc.) and secure storage of data (e.g., electronic funds, personal data, certificates, etc.) for performing secure processing (e.g., using public key encryption) for remote terminals. Memory 254 to perform. The secure processor includes an embedded ROM 252 that stores program instructions and parameters used for secure processing. For enhanced security, the secure processor and memory are implemented in a single integrated circuit. Messaging and data are interchanged with the security unit via a single entry point provided by bus 262.

Description

무선 통신 장치용 보안 처리 및 데이터 스토리지를 제공하는 방법 및 장치 {METHOD AND APPARATUS FOR PROVIDING SECURE PROCESSING AND DATA STORAGE FOR A WIRELESS COMMUNICATION DEVICE}Method and apparatus for providing secure processing and data storage for wireless communication devices {METHOD AND APPARATUS FOR PROVIDING SECURE PROCESSING AND DATA STORAGE FOR A WIRELESS COMMUNICATION DEVICE}

무선 통신 시스템은 여러 형태의 통신을 제공하는데 널리 사용되어왔다. 이들 시스템은 코드분할 다중접속(CDMA), 시분할 다중접속(TDMA) 또는 몇몇 다른 변조 기술에 기초한다. CDMA 시스템은 증가된 시스템 커패시티를 포함하여 다른 형태의 시스템에 대해 특정 장점을 제공한다.Wireless communication systems have been widely used to provide various forms of communication. These systems are based on code division multiple access (CDMA), time division multiple access (TDMA), or some other modulation technique. CDMA systems offer certain advantages over other types of systems, including increased system capacity.

통상적인 무선 통신 시스템은 전형적으로 음성 및 데이터 패킷 서비스를 제공하도록 설계되었다. 이들 서비스에 대해, 전송될 데이터는 처리(예를 들면, 인코딩, 커버링 및 확산)되고 컨디셔닝(예를 들면, 증폭, 필터링 및 업컨버팅)되어 무선 링크를 통한 전송에 적합한 변조 신호를 발생시킨다. 전송의 보안 레벨을 제공하고 도청을 방지하기 위해, 데이터는 또한 전송을 시작하거나 수신하는 사용자 단말기에 할당된 고유의 긴 의사-난수(PN) 시퀀스로 스크램블링된다.Conventional wireless communication systems are typically designed to provide voice and data packet services. For these services, the data to be transmitted is processed (e.g., encoded, covered and spread) and conditioned (e.g., amplified, filtered and upconverted) to generate a modulated signal suitable for transmission over the wireless link. In order to provide a security level of transmission and to prevent eavesdropping, the data is also scrambled into a unique long pseudo-random number (PN) sequence assigned to the user terminal initiating or receiving the transmission.

인터넷과 같은 컴퓨터 네트워크의 폭발적인 성장으로, 원격 단말기를 가진사용자는 다수의 엔티티(예를 들면, 웹사이트)로부터 데이터 및 서비스를 접속할 수 있다. 무선 링크와 컴퓨터 네트워크를 통해, 원격 단말기는 데이터를 검색하고 송신할 수 있으며, 상품과 서비스를 구매하고, 다른 상거래를 수행할 수 있다. 많은 애플리케이션에 대해, 보안은 필요하지 않으며 데이터는 클리어하게(암호화없이) 전송된다. 하지만, 특정 다른 애플리케이션에 대해, "민감성" 데이터는 상호교환된다. 이러한 민감성 데이터의 예는 개인 정보, 신용카드 정보, 회계 정보 등을 포함한다. 민감성 데이터와 관련된 애플리케이션에 대해, 긴 PN 시퀀스로 스크램블링하는 것은 전송의 무선 부분에 대해 한정된 보호만을 제공한다. 이러한 스크램블링은 전형적으로 통신에 대해 충분한 보안을 제공하지 못한다.With the explosive growth of computer networks such as the Internet, users with remote terminals can access data and services from multiple entities (eg, websites). Through wireless links and computer networks, remote terminals can retrieve and transmit data, purchase goods and services, and conduct other transactions. For many applications, no security is required and data is sent clear (without encryption). However, for certain other applications, "sensitive" data are interchanged. Examples of such sensitive data include personal information, credit card information, accounting information, and the like. For applications related to sensitive data, scrambling with a long PN sequence provides only limited protection for the radio portion of the transmission. Such scrambling typically does not provide sufficient security for communication.

특정 보안 상거래에 대해, 상거래에 참여한 엔티티의 실제 식별 번호(예를 들면, 원격 단말기)를 확인하는 것이 중요하다. 통상적으로, 셀룰러 시스템은 자신의 이동국식별번호(MIN)와 장치일련번호(ESN)에 의해 원격 단말기를 식별한다. 이러한 식별 프로세스의 단점은 MIN/ESN이 보안되지 않은 제어 채널을 통해 무선으로 전송된다는 것이다. 이들 채널은 활성화된 원격 단말기의 MIN/ESN 정보를 얻기 위해 쉽게 모니터링된다. 일단 MIS/ESN 정보가 알려지면, 다른 원격 단말기를 최초의 (합법적인) 유닛의 불법 복제품으로 재프로그램하는데 사용될 수 있다. 따라서, MIN/ESN은 원격 단말기의 인증에 사용되기에 충분한 보안을 가지지 않는다.For certain secure commerce, it is important to identify the actual identification number (eg, remote terminal) of the entity participating in the commerce. Typically, a cellular system identifies a remote terminal by its mobile station identification number (MIN) and device serial number (ESN). The disadvantage of this identification process is that the MIN / ESN is transmitted over the air over an unsecured control channel. These channels are easily monitored to obtain MIN / ESN information of the active remote terminal. Once the MIS / ESN information is known, it can be used to reprogram another remote terminal into an illegal copy of the original (legal) unit. Thus, MIN / ESN does not have sufficient security to be used for authentication of remote terminals.

그러므로, 무선 통신 장치에 대한 보안 거래를 지원할 수 있는 기술이 필요하다.Therefore, a need exists for a technology that can support secure transactions for wireless communication devices.

본 발명은 전반적으로 데이터 통신 특히, 무선 통신 장치용 보안 처리 및 데이터 스토리지를 제공하는 기술에 관한 것이다.The present invention relates generally to techniques for providing secure processing and data storage for data communications, in particular for wireless communication devices.

도 1은 본 발명의 특징에 따른 무선 링크를 통한 보안 통신을 지원할 수 있는 시스템의 블록도.1 is a block diagram of a system capable of supporting secure communication over a wireless link in accordance with aspects of the present invention.

도 2는 본 발명의 여러 특징을 구현할 수 있는 원격 단말기의 실시예의 블록도.2 is a block diagram of an embodiment of a remote terminal that may implement various aspects of the present invention.

도 3은 원격 단말기내 보안 유닛의 특정 실시예의 도면.3 is an illustration of a particular embodiment of a security unit in a remote terminal.

도 4A와 도 4B는 각각 메시지를 인증하고 암호화/암호해독하기 위한 처리의 간략도.4A and 4B are simplified diagrams of processes for authenticating and encrypting / decrypting messages, respectively.

도 5A는 인증에 사용된 ITU X.509 인증서의 도면.5A is a diagram of an ITU X.509 certificate used for authentication.

도 5B는 보안 유닛내 메모리의 특정 실시예의 도면.5B is a diagram of a particular embodiment of the memory in the security unit.

도 6A 내지 도 6C는 본 발명의 실시예에 따른 보안 유닛내로의 인증서의 초기 로딩, 성공적인 후속 로딩, 및 실패한 후속 로딩을 각각 도시하는 도면.6A-6C illustrate initial loading, successful subsequent loading, and failed subsequent loading, respectively, of a certificate into a secure unit in accordance with an embodiment of the present invention.

도 7은 클라이언트와 서버 사이의 SSL 거래를 도시하는 도면.7 illustrates an SSL transaction between a client and a server.

본 발명의 특징은 무선 통신 장치용 보안 처리 및 데이터 스토리지를 제공하는 기술을 제공한다. 보안 처리 및 데이터 스토리지는 여러 설계에 기초한 여러 방식으로 여러 암호화 기술을 사용하여 달성될 수 있다. 하나의 설계로, 보안은 모든 보안 처리를 수행하고 모든 민감성 데이터를 저장하기 위한 보안 유닛을 설계함으로써 달성된다.A feature of the present invention provides a technique for providing secure processing and data storage for a wireless communication device. Secure processing and data storage can be achieved using different encryption techniques in different ways based on different designs. In one design, security is achieved by designing a security unit to perform all security processing and store all sensitive data.

본 발명의 소정 특징은 보안 처리 및 데이터 스토리지를 제공할 수 있는 무선 통신 시스템내 원격 단말기를 제공한다. 원력 단말기는 데이터 프로세싱 유닛, 메인 프로세서 및 데이터 스토리지 유닛을 포함한다. 데이터 프로세싱 유닛은 무선 링크를 통한 통신을 위한 데이터를 처리한다. 메인 프로세서는 원격 단말기의 제어(예를 들면, 데이터 프로세싱 유닛의 제어)를 제공한다. 보안 유닛은 원격 단말기에 대한 보안 처리를 수행하는 보안 프로세서 및 데이터(전자 자금, 개인 데이터, 인증에 사용된 인증서 등)의 보안 스토리지를 제공하는 메모리를 포함한다.Certain aspects of the present invention provide a remote terminal in a wireless communication system capable of providing secure processing and data storage. The power terminal includes a data processing unit, a main processor and a data storage unit. The data processing unit processes the data for communication over the wireless link. The main processor provides control of the remote terminal (eg, control of the data processing unit). The security unit includes a secure processor that performs secure processing for the remote terminal and a memory that provides secure storage of data (electronic funds, personal data, certificates used for authentication, etc.).

보안 프로세서는 보안 처리에 사용된 프로그램 명령 및 파라미터를 저장하는 (내장형) 판독전용메모리(ROM)를 포함하도록 설계될 수 있다. 증가된 보안을 위해, 메모리는 단일 집적회로(IC)내에 구현될 수 있고, 이러한 집적회로는 메인 프로세서를 포함한다. 메시징과 데이터는 버스에 의해 제공되는 단일 입력 포인트를 통해 보안 유닛과 상호교환된다.The secure processor may be designed to include a (built-in) read-only memory (ROM) that stores program instructions and parameters used for secure processing. For increased security, the memory can be implemented in a single integrated circuit (IC), which includes the main processor. Messaging and data are interchanged with the security unit through a single entry point provided by the bus.

보안 유닛은 보안 처리를 위해 공개 키 암호화를 구현하도록 설계될 수 있다. 이 경우, 보안 처리에 사용된 개인 및 공개 키는 여러 설계에 기초하여 생성되고 이하에서 설명될 바와 같이 여러 방식으로 보안 유닛에 저장된다.The security unit can be designed to implement public key cryptography for secure processing. In this case, the private and public keys used for the security processing are generated based on various designs and stored in the security unit in various ways as will be described below.

보안 프로세서는 예를 들면, 보안 소켓 레이어(SSL) 프로토콜, 전송 레이어 보안(TLS) 프로토콜, 인터넷 프로토콜 보안(IPSec), 및 무선 애플리케이션 프로토콜(WAP)과 같은 하나 이상의 보안 프로토콜을 구현할 수 있는 능력을 가지도록 설계된다. 외부 엔티티와의 각각의 보안 거래를 위해, 보안 유닛은 클라이언트 또는 서버의 역할을 하도록 구성될 수 있다.Secure processors have the ability to implement one or more security protocols, such as, for example, Secure Socket Layer (SSL) protocol, Transport Layer Security (TLS) protocol, Internet Protocol Security (IPSec), and Wireless Application Protocol (WAP). It is designed to be. For each secure transaction with an external entity, the security unit can be configured to act as a client or server.

본 발명은 이하에서 상세히 설명될 바와 같이, 본 발명의 여러 특징, 실시예 및 특징을 구현하는 방법, 장치 및 엘리먼트를 제공한다.The present invention provides various features, embodiments, and methods, apparatus, and elements for implementing the features, as will be described in detail below.

본 발명의 특징, 특성 및 장점은 전체적으로 상응하게 식별되는 유사 참조부호를 가진 도면과 관련하여 이하의 상세한 설명을 통해 명확해 질 것이다.The features, features and advantages of the present invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings, wherein like reference numerals identify correspondingly throughout.

도 1은 본 발명의 소정 특징에 따라, 무선 링크를 통해 보안 통신을 지원할 수 있는 시스템(100)의 블록도이다. 시스템(100)에서, 각각의 원격 단말기(110)는 원격 단말기가 활성화되었는지의 여부 및 소프트 핸드오프인지의 여부에 따라 임의의 특정 순간에 무선 링크를 통해 하나 이상의 기지국(120)과 통신한다. 각각의 기지국(120)은 기지국 제어기(BSC)(130)에 연결되어 통신하고, 이러한 제어기는 기지국에 대한 협력과 제어를 제공한다. BSC(130)는 BSC(130)에 연결된 기지국과 통신하여 원격 단말기에 대한 호출의 라우팅을 제어한다.1 is a block diagram of a system 100 capable of supporting secure communications over a wireless link, in accordance with certain aspects of the present invention. In system 100, each remote terminal 110 communicates with one or more base stations 120 over a wireless link at any particular moment, depending on whether the remote terminal is activated and whether it is soft handoff. Each base station 120 is connected to and communicates with a base station controller (BSC) 130, which provides coordination and control for the base station. The BSC 130 communicates with a base station connected to the BSC 130 to control the routing of calls to remote terminals.

데이터 서비스를 위해, BSC(130)는 데이터 패킷 서비스 노드(PDSN)(140)에 연결되고, 이러한 PDSN은 패킷 데이터 서비스를 지원하기 위한 여러 기능을 수행한다. PDSN(140)은 다수의 서버(160)에 연결된 (예를 들면, 인터넷과 같은 인터넷 프로토콜(IP) 네트워크인) 네트워크(150)에 연결된다. 각각의 서버(160)는 데이터 및/또는 서비스를 제공하도록 동작한다.For data services, the BSC 130 is connected to a data packet service node (PDSN) 140, which performs several functions to support packet data services. PDSN 140 is coupled to network 150 (eg, an Internet Protocol (IP) network such as the Internet) coupled to multiple servers 160. Each server 160 operates to provide data and / or services.

음성 서비스를 위해, BSC(130)는 공중전화교환망(PS수)(152)에 연결된 이동전환국(MSC)(142)에 연결된다. MSC(142)는 BSC(130)와 기지국(120)을 통해 원격 단말기(110)와 PSTN(152)(예를 들면, 일반적인 전화)에 연결된 사용자 사이의 전화 호출의 라우팅을 제어한다.For voice service, the BSC 130 is connected to a mobile switching station (MSC) 142 connected to a public switched telephone network (PS number) 152. The MSC 142 controls the routing of telephone calls between the remote terminal 110 and the user connected to the PSTN 152 (eg, a regular telephone) via the BSC 130 and the base station 120.

시스템(100)의 무선 부분은 IS-95, IS-98,cdma2000, W-CDMA 또는 몇몇 다른CDMA 표준 또는 이들의 조합과 같은 하나 이상의 CDMA 표준을 지원하도록 설계될 수 있다. 이들 CDMA 표준은 당업자에게 공지되어 있으며 여기서는 참조를 위해 인용된다.The wireless portion of system 100 may be designed to support one or more CDMA standards, such as IS-95, IS-98, cdma2000, W-CDMA or some other CDMA standard or combinations thereof. These CDMA standards are known to those skilled in the art and are hereby incorporated by reference.

도 2는 원격 단말기(110)의 실시예의 블록도이고, 이러한 원격 단말기는 본 발명의 여러 특징을 구현할 수 있다. 원격 단말기(110)는 하나 이상의 기지국과 순방향 및 역방향 링크를 통해 통신하기 위해 데이터를 처리하는데 사용된 데이터 프로세싱 유닛, 원격 단말기의 제어를 제공하는데 사용된 메인 프로세서 및 보안 처리와 데이터 스토리지를 제공하는데 사용된 보안 유닛을 포함한다.2 is a block diagram of an embodiment of a remote terminal 110, which may implement various aspects of the present invention. Remote terminal 110 is used to provide data processing units used to process data to communicate with one or more base stations via forward and reverse links, main processors used to provide control of remote terminals, and secure processing and data storage. Secured unit.

역방향 링크에 대해, 데이터는 데이터 소스로부터 송신(TX) 데이터 프로세서(210)로 (전형적으로 블록 또는 패킷으로) 제공되며, 이러한 프로세서는 인코딩된 데이터를 제공하기 위해 데이터를 포맷팅하고 인코딩한다. 변조기/송신기 유닛(MOD/TMTR)(212)은 변조된 데이터를 수신하여 처리(예를 들면, 커버링, 확산, 스크램블링, 필터링, 증폭, 변조 및 업컨버팅)하여 무선 링크를 통해 전송하기에 적합한 변조 신호를 생성한다. 변조 신호는 듀플렉서(214)를 통해 라우팅되며, 안테나(216)를 통해 하나 이상의 기지국(120)으로 전송된다. 원격 단말기(110)에서의 인코딩 및 처리는 구현될 CDMA 표준 또는 시스템에 의존한다. 수신 기지국에서의 역방향 링크 신호의 처리는 원격 단말기(110)에서 수행된 것과 상보적이다.For the reverse link, data is provided (typically in blocks or packets) from the data source to the transmit (TX) data processor 210, which formats and encodes the data to provide encoded data. Modulator / transmitter unit (MOD / TMTR) 212 receives modulation, modulates data suitable for transmission over a wireless link for processing (e.g., covering, spreading, scrambling, filtering, amplifying, modulating and upconverting). Generate a signal. The modulated signal is routed through duplexer 214 and transmitted via antenna 216 to one or more base stations 120. The encoding and processing at the remote terminal 110 depends on the CDMA standard or system to be implemented. The processing of the reverse link signal at the receiving base station is complementary to that performed at the remote terminal 110.

역방향 링크에 대해, 하나 이상의 기지국(120)으로부터 전송된 순방향 링크 신호는 안테나(216)에 의해 수신되고, 듀플렉서(214)를 통해 라우팅되어 수신기/복조기(RCVFR/DEMOD)(222)에 제공된다. 수신기/복조기(222)내에서, 수신된 신호는콘디셔닝(예를 들면, 증폭, 필터링, 다운컨버팅, 4위상 복조 및 디지털화)되고 처리(예를 들면, 디스크램블링, 디스프레딩 및 디코딩)되어 심볼을 제공한다. 수신(RX) 데이터 프로세서(224)가 전송된 데이터를 리커버링하기 위해 심볼을 디코딩하고, 이는 데이터 싱크(예를 들면, 시스템 메모리(236))에 제공된다. 순방향 링크 신호를 위한 처리 및 디코딩은 전송하는 기지국에서 수행된 처리 및 코딩과 상보적으로 수행된다.For the reverse link, the forward link signal transmitted from one or more base stations 120 is received by antenna 216, routed through duplexer 214 and provided to receiver / demodulator (RCVFR / DEMOD) 222. Within receiver / demodulator 222, the received signal is conditioned (e.g., amplified, filtered, downconverted, quadrature demodulated, and digitized) and processed (e.g., descrambled, despread, and decoded). Provide a symbol. A receive (RX) data processor 224 decodes the symbol to recover the transmitted data, which is provided to a data sink (eg, system memory 236). Processing and decoding for the forward link signal is performed complementary to the processing and coding performed at the transmitting base station.

도 2의 실시예에서, 원격 단말기(110)는 원격 단말기에 대해 중앙처리 유닛과 같은 역할을 하는 메인 프로세서(230)를 더 포함한다. 메인 프로세서(230)는 여러 처리 기능을 수행하고 추가로 원하는 기능성을 달성하기 위해 원격 단말기(110)내 여러 엘리먼트의 동작을 협력하고 제어한다. 예를 들면, 메인 프로세서(230)는 전형적으로 각각 순방향 및 역방향 링크로 데이터를 처리하기 위해 TX 및 RX 데이터 프로세서(210, 224)의 동작을 지시한다.In the embodiment of FIG. 2, the remote terminal 110 further includes a main processor 230 that acts as a central processing unit for the remote terminal. The main processor 230 cooperates and controls the operation of the various elements in the remote terminal 110 to perform various processing functions and further achieve desired functionality. For example, main processor 230 typically directs the operation of TX and RX data processors 210 and 224 to process data on the forward and reverse links, respectively.

메인 프로세서(230)는 입력/출력(I/O) 인터페이스(234), 시스템 메모리(236) 및 보안 유닛(240)과 같은 다수의 다른 엘리먼트를 상호연결시키는 버스(232)에 연결된다. I/O 인터페이스(234)는 사용자와의 인터페이스를 제공하고 키패드, 디스플레이 유닛, 스피커, 마이크로폰, 및 가능한 다른 것들을 포함한다. 시스템 메모리(236)는 프로그램 명령(예를 들면, 메인 프로세서(230)용)과 데이터를 저장하는데 사용되는 임의접근 메모리(RAM)와 판독전용 메모리(ROM)를 포함한다. 보안 유닛(240)은 보안 처리를 제공하고 보안 스토리지를 제공하며, 이들은 이하에서 상세히 설명된다.Main processor 230 is coupled to a bus 232 that interconnects a number of other elements, such as input / output (I / O) interface 234, system memory 236, and security unit 240. I / O interface 234 provides an interface with a user and includes a keypad, display unit, speaker, microphone, and others as possible. System memory 236 includes random access memory (RAM) and read-only memory (ROM) used to store program instructions (e.g., for main processor 230) and data. Security unit 240 provides secure processing and provides secure storage, which are described in detail below.

메인 프로세서(230)는 시스템 메모리(236)(예를 들면, 메모리(236)의 일부인 플래시 메모리)상에 다운로딩된 프로그램 명령에 기초하여 동작하도록 설계된다. 다운로드는 외부 I/O 라인 또는 무선 통신을 통해 달성된다. 이들의 손쉬운 접속성으로 인해, 메인 프로세서(230)는 외부 I/O 라인뿐만 아니라 무선 교섭으로 인한 공격에 의해 영향을 받는다.Main processor 230 is designed to operate based on program instructions downloaded onto system memory 236 (eg, flash memory that is part of memory 236). Downloading is accomplished via external I / O lines or wireless communication. Due to their easy connectivity, the main processor 230 is affected by attacks due to radio negotiation as well as external I / O lines.

보안 처리 및 데이터 스토리지는 여러 설계에 기초하여 그리고 여러 암호화 기술을 사용하는 여러 방식으로 달성된다. 하나의 설계에서, 보안은 보안 유닛(240)이 모든 보안 처리를 수행하고 모든 "민감성" 데이터를 저장하도록 설계함으로써 달성된다. 일반적으로, 민감성 데이터는 인증되지 않은 접속으로부터 보호될 것을 필요로 하는 데이터를 포함한다. 다른 설계에서, 보안은 모든 보안 처리(예를 들면, 보안 유닛내에 저장된 암호화 키에 기초하여)를 수행하도록 보안 유닛(240)을 설계함으로써 달성되지만, 민감성 데이터는 보안처리되고 보안 유닛(240) 외부에(예를 들면, 시스템 메모리(236)내에) 저장된다. 이들 설계중 몇몇은 이하에서 설명되고, 다른 것들도 가능하며 본 발명의 범위내에 있다.Secure processing and data storage are achieved based on different designs and in different ways using different encryption technologies. In one design, security is achieved by designing the security unit 240 to perform all security processing and store all "sensitive" data. In general, sensitive data includes data that needs to be protected from unauthorized access. In another design, security is achieved by designing the security unit 240 to perform all security processing (eg, based on an encryption key stored within the security unit), while sensitive data is secured and external to the security unit 240. (Eg, in system memory 236). Some of these designs are described below, others are possible and are within the scope of the present invention.

도 3은 보안 유닛(240)의 특정 실시예의 도면이다. 이러한 실시예에서, 보안 유닛(240)은 비휘발성 메모리(254)에 접속하기 위해 보안 프로세서(250)를 사용하는 보안 디지털 "볼트"를 효율적으로 구현하고, 비휘발성 메모리는 다른 신뢰되지 않는 유닛들(예를 들면, 메인 프로세서(230))로부터 격리된다. 일 실시예에서, 강화된 보안을 제공하기 위해, 보안 유닛(240)은 보안 프로세서(250)에 직접 연결된 버스(262)를 통해 제공된 단일 엔트리 포인트를 통해 원격 단말기(110)(예를 들면, 메인 프로세서(230), 시스템 메모리(236))내 다른 엘리먼트와 인터페이싱한다. 이러한 설계는 보안 유닛(240)과의 모든 통신 및 데이터 교환이 하나의 신뢰성있는 프로세서(250)를 통해 채널링되도록 하며, 이러한 프로세서는 보안 데이터를 검색하기 위해 보안 유닛에 침투하려고 하는 보안 공격 및 불법 엔티티(예를 들면, 해커, 바이러스 등)에 대한 안전장치(safeguard)로서 지정되고 설계된다.3 is a diagram of a particular embodiment of a security unit 240. In such an embodiment, the security unit 240 effectively implements a secure digital “bolt” using the security processor 250 to connect to the nonvolatile memory 254, where the nonvolatile memory has other untrusted units. (Eg, main processor 230). In one embodiment, to provide enhanced security, the security unit 240 is connected to the remote terminal 110 (eg, main) via a single entry point provided via a bus 262 directly connected to the security processor 250. The processor 230 interfaces with other elements in the system memory 236. This design allows all communication and data exchanges with security unit 240 to be channeled through one trusted processor 250, which is a security attack and illegal entity that attempts to penetrate the security unit to retrieve secure data. Designated and designed as a safeguard against (e.g., hackers, viruses, etc.).

보안 프로세서(250)는 원격 단말기(110)에 대한 보안 처리를 수행하는 신뢰할만한 처리 유닛이다. 보안 처리는 ROM(252)내에 저장된 프로그램 명령 및 파라미터 값(예를 들면, 암호화 키)에 기초하여 달성된다. 보안 프로세서(250)는 버스(262)를 통해 외부 메시지와 데이터를 수신하고 수신된 메시지와 데이터를 인증 및/또는 처리하며, 데이터를 메모리에 저장한다. 요구되고 지시될 때, 보안 프로세서(250)는 메모리(254)내에 저장된 데이터를 검색하고, 수신된 데이터를 처리 및/또는 암호화하여, 버스(262)를 통해 외부 엘리먼트(예를 들면, 메인 프로세서(230))에 데이터를 전송한다.Secure processor 250 is a reliable processing unit that performs secure processing for remote terminal 110. Security processing is accomplished based on program instructions and parameter values (eg, encryption keys) stored in ROM 252. The security processor 250 receives external messages and data via the bus 262, authenticates and / or processes the received messages and data, and stores the data in memory. When required and instructed, secure processor 250 retrieves data stored in memory 254, processes and / or encrypts the received data, and transmits an external element (eg, a main processor (eg. 230)).

메모리(254)는 민감성 데이터와 (가능하게는) 프로그램 명령을 저장하는데 사용되는 비휘발성 메모리이다. 보안 프로세서(250) 이후의 자신의 위치로 인해, 메모리(254)는 다른 보안되지 않은 엘리먼트로부터 물리적으로 격리되는데, 이러한 보안되지 않은 엘리먼트는 메모리(254)에 직접 접속할 수 없다. 메모리(254)는 배터리로 보충되고 플래시 메모리로서 구현된다.Memory 254 is a nonvolatile memory used to store sensitive data and (possibly) program instructions. Due to its location after secure processor 250, memory 254 is physically isolated from other unsecured elements, which cannot be directly connected to memory 254. Memory 254 is supplemented with a battery and implemented as flash memory.

도 3에 도시된 실시예에서, ROM(252)은 보안 프로세서(250)내에 구현되고 보안 처리를 수행하는데 사용된 프로그램 명령 및 보안 파라미터를 저장한다. 이러한 설계는 보안 프로세서(250)가 다른 외부 엘리먼트에 대한 의존함없이 동작하도록 하는데, 이러한 의존성은 보안을 상쇄시킨다. 프로그램 명령과 파라미터는 보안 동작을 통해(예를 들면, 제조 단계 동안) ROM(252)으로 로딩되고 이후의 사용에 대해 사용 가능한 상태가 된다.In the embodiment shown in FIG. 3, ROM 252 stores program instructions and security parameters that are implemented within security processor 250 and used to perform security processing. This design allows the security processor 250 to operate without dependence on other external elements, which dependence cancels out security. Program instructions and parameters are loaded into ROM 252 via a secure operation (eg, during the manufacturing phase) and made available for later use.

메모리(254)에 대한 인증되지 않은 접속을 방지하는 여러 메커니즘이 사용된다. 일 실시예에서, 보안 프로세서(250)와 메모리(254)는 단일 집적회로(IC)내에 구현된다. 이는 메모리(254)가 보안 프로세서(250)와 물리적으로 보안되도록 하며 메모리(254)로의 기록변경(tampering)이 방지되도록 한다. IC는 원력 단말기(110)(예를 들면, 메인 프로세서(230))의 다른 엘리먼트를 포함할 수도 있고 포함하지 않을 수도 있다. 다른 실시예에서, 보안 프로세서(250)와 메모리(254)는 보안 및/또는 기록변경이 방지되는/기록변경이 있는(tamper resistant/evident) 유닛내에 밀봉된 두 개의 분리 유닛으로서 구현될 수 있다. 메모리(254)에 대한 인증되지 않은 접속을 방지하는 다른 메커니즘이 구현될 수 있으며 본 발명의 범위내이다.Several mechanisms are used to prevent unauthorized access to the memory 254. In one embodiment, secure processor 250 and memory 254 are implemented within a single integrated circuit (IC). This allows the memory 254 to be physically secured with the secure processor 250 and to prevent tampering with the memory 254. The IC may or may not include other elements of the power terminal 110 (eg, main processor 230). In another embodiment, security processor 250 and memory 254 may be implemented as two separate units sealed within a tamper resistant / evident unit that is secure and / or tamper resistant. Other mechanisms for preventing unauthorized access to the memory 254 may be implemented and are within the scope of the present invention.

보안 유닛(240)은 원격 단말기(110)에 대한 다수의 보안 기능을 구현하도록 설계되고, 이러한 단말기는 여러 애플리케이션에 사용될 수 있다. 이러한 보안 기능은 이하의 조합중 하나를 포함한다: 인증, 암호화, 데이터 스토리지/조작, 및 가능한 다른 것. 인증은 엔티티의 실제 식별번호를 검증하는데 필요한 처리를 포함하며, 원격 단말기(110)가 외부 엔티티(예를 들면, 서버(160))의 식별번호를 검증하도록 하거나 또는 외부 엔티티가 원격 단말기의 식별번호를 검증하도록 한다.암호화는 인증되지 않은 엔티티가 데이터를 차단하고 리커버링할 수 없도록 데이터를 보안하기 위한 처리를 포함한다. 보안 데이터 스토리지/조작은 인증되지 않은 접속에 대한 안전성을 수반하며, 적절할 때 요구에 의해서만 업데이팅된다. 이들 보안 기능은 이하에서 상세히 설명될 것이다.The security unit 240 is designed to implement a number of security functions for the remote terminal 110, which terminal can be used for various applications. Such security functions include one of the following combinations: authentication, encryption, data storage / manipulation, and possibly others. The authentication includes the processing necessary to verify the actual identification number of the entity, such that the remote terminal 110 verifies the identification number of the external entity (eg, server 160) or the external entity identifies the identification number of the remote terminal. Encryption includes processing to secure the data such that unauthorized entities cannot block and recover the data. Secure data storage / operation entails the safety of unauthorized connections and is only updated on demand when appropriate. These security functions will be described in detail below.

인증 및/또는 암호화를 구현하는데 여러 체계가 사용된다. 하나의 대중적인 체계는 공개 키 암호화에 기초한 것으로, 한 쌍의 키-개인 키와 공개 키를 사용한다. 개인 키는 비밀로 유지되고 공개 키는 필요에 따라 제공된다(예를 들면, 인증, 암호화 또는 암호해제). 비밀 키는 개인 키에 기초하여 특정 보안 거래를 위해 생성된다. 키의 생성 및 관리는 이하에서 상세히 설명된다. 다른 보안 기능(즉, 인증 또는 암호화 또는 이들 둘 모두)은 키가 데이터를 처리하는 방식에 기초하여 달성된다.Several schemes are used to implement authentication and / or encryption. One popular scheme is based on public key cryptography, which uses a pair of key-private keys and a public key. The private key is kept secret and the public key is provided as needed (e.g., authenticated, encrypted or decrypted). The secret key is generated for a specific secure transaction based on the private key. Generation and management of keys is described in detail below. Other security functions (ie, authentication or encryption or both) are achieved based on how the key handles the data.

다른 체계는 인증 및/또는 암호화를 위해 사용되고 본 발명의 범위내이다. 예를 들면, DES(데이터 암호화 표준)에 기초한 비밀 키가 사용된다. 비밀 키 암호화(대칭적 암호화라고도 불림)를 위해, 두 거래 엔티티 모두 비밀 키를 선험적으로 알고 있으며 이들 키를 다른 엔티티에 대해 비밀로 간직한다.Other schemes are used for authentication and / or encryption and are within the scope of the present invention. For example, a secret key based on DES (data encryption standard) is used. For secret key encryption (also called symmetric encryption), both trading entities a priori know the secret keys and keep these keys secret to other entities.

도 4A는 메시지를 인증하기 위한 처리의 간략도이다. 인증은 메시지의 원천인 소스가 무엇을 요구하는지를 검증하기 위해 원격 단말기(110) 또는 외부 엔티티(예를 들면, 서버(160)) 또는 이들 둘 다에 의해 사용된다. 전송하는 엔티티(A)에서, 전송될 메시지(M)는 해시 함수에 의해 해싱되어(블럭 414) 메시지 다이제스트(D)를 제공한다. 해시 함수는 SHA-1(보안 해시 알고리즘), MD-4(메시지 다이제스트), MD-5 또는 당업자에게 공지된 몇몇 다른 해시 알고리듬일 수 있다.4A is a simplified diagram of a process for authenticating a message. Authentication is used by remote terminal 110 or an external entity (eg, server 160) or both to verify what the source of the message requires. At the transmitting entity A, the message M to be transmitted is hashed by a hash function (block 414) to provide a message digest D. The hash function can be SHA-1 (Secure Hash Algorithm), MD-4 (Message Digest), MD-5, or some other hash algorithm known to those skilled in the art.

메시지 다이제스트는 전송하는 엔티티의 개인 키와 암호화 또는 사인(블럭 416)되어 서명(S)을 생성한다. 암호화는 RSA(Rivest, Shamir, Adleman), Diffle-Hellman, DES(데이터 암호화 표준), IDEA(국제 데이터 암호화 알고리듬), CAVE(셀룰러 인증 및 음성 암호화, IS-95로 정의됨), 또는 당업자에게 공지된 몇몇 다른 암호화 알고리듬에 기초할 수 있다. "시그널링"은 DSS(디지털 서명 표준) 또는 몇몇 다른 알고리듬에서 정의된 DSA(디지털 서명 알고리듬)에 기초할 수 있다. 개인 키는 비밀로 유지되며 전송하는 엔티티에게만 공지된다. 메시지와 서명 모두 수신하는 엔티티(B)에게 전송된다.The message digest is encrypted or signed (block 416) with the private key of the transmitting entity to generate a signature (S). Encryption is known to RSA (Rivest, Shamir, Adleman), Diffle-Hellman, DES (Data Encryption Standard), IDEA (International Data Encryption Algorithm), CAVE (Cellular Authentication and Voice Encryption, defined as IS-95), or to those skilled in the art. It can be based on several different encryption algorithms. "Signaling" may be based on the Digital Signature Algorithm (DSA) as defined in DSS (Digital Signature Standard) or some other algorithm. The private key is kept secret and only known to the transmitting entity. Both the message and the signature are sent to the receiving entity B.

수신하는 엔티티에서, 전송된 메시지와 서명이 수신되며, 수신된 메시지(M')는 전송하는 엔티티에서 사용된 것과 동일한 해시 함수로 해싱되어(블럭 424) 리커버링된 메시지 다이제스트(D')를 생성한다. 수신된 서명(S')은 전송하는 엔티티의 공개 키와 함께 암호해제 또는 처리/검증되어(블럭 426) 값을 생성한다. 사용된 알고리듬에 따라, 암호해제/검증은 전송하는 엔티티에서 사용된 것과 동일한 또는 상보적인 알고리듬에 기초할 수 있다. 생성된 값은 리커버링된 메시지 다이제스트와 비교되고(블럭 428) 전송하는 엔티티는 두 값이 일치한다면 인증된다.At the receiving entity, the transmitted message and signature are received and the received message M 'is hashed (block 424) with the same hash function as used at the transmitting entity (block 424) to generate a recovered message digest D'. do. The received signature S 'is decrypted or processed / verified with the public key of the transmitting entity (block 426) to produce a value. Depending on the algorithm used, the decryption / verification may be based on the same or complementary algorithm used at the transmitting entity. The generated value is compared with the recovered message digest (block 428) and the sending entity is authenticated if the two values match.

도 4B는 메시지를 암호화하는 처리의 간략도이다. 암호화는 전송 이전에 원격 단말기 또는 외부 엔티티 또는 이들 둘 모두에 의해 사용된다. 전송하는 엔티티(A)에서, 전송될 메시지(M)는 수신하는 엔티티의 공개 키(또는 비밀 키)와 암호화되어(블럭 434) 수신하는 엔티티만이 리커버링할 수 있는 암호화된 메시지를 생성한다. 암호화는 RSA, Diffle-Hellman, DES, IDEA 또는 몇몇 다른 암호화 알고리듬에 기초한다. 암호화된 메시지는 수신하는 엔티티(B)로 전송된다. 비밀 키는 Diffle-Hellman 또는 RSA 알고리듬에 기초하여 통신(또는 거래)을 위해 생성된다.4B is a simplified diagram of a process of encrypting a message. Encryption is used by the remote terminal or an external entity or both prior to transmission. At the transmitting entity A, the message M to be transmitted is encrypted with the public key (or secret key) of the receiving entity (block 434) to produce an encrypted message that only the receiving entity can recover. Encryption is based on RSA, Diffle-Hellman, DES, IDEA or some other encryption algorithm. The encrypted message is sent to the receiving entity B. Secret keys are generated for communication (or transactions) based on Diffle-Hellman or RSA algorithms.

수신하는 엔티티에서, 전송된 메시지가 수신되고 전송하는 엔티티에서 사용된 것과 동일한 또는 상보적인 알고리듬으로 암호화된다(블럭 444). 암호해제는 수신하는 엔티티의 개인 키(또는 상보적 비밀 키)로 수행된다. 따라서, 오로지 수신하는 엔티티는 메시지를 암호화하는데 사용된 공개 키에 상응하는 개인 키(또는 비밀 키)만을 가지기 때문에 암호화된 매시지를 리커버링할 수 있다.At the receiving entity, the transmitted message is encrypted with the same or complementary algorithm as used at the receiving and transmitting entity (block 444). Decryption is performed with the private key (or complementary secret key) of the receiving entity. Thus, the receiving entity can recover the encrypted message because it only has a private key (or secret key) corresponding to the public key used to encrypt the message.

인증과 암호화를 위한 상기한 설명에 기초하여, 키의 생성 및 관리는 보안 시스템의 중요한 특징이다. 공개 키 시스템에서, 개인 키와 공개 키는 보안 처리를 위해 필요하다. 이들 키는 여러 체계에 기초하여 생성되고 보안 방식으로 원격 단말기에 제공된다.Based on the above description for authentication and encryption, the generation and management of keys is an important feature of a security system. In a public key system, a private key and a public key are needed for secure processing. These keys are generated based on various schemes and provided to the remote terminal in a secure manner.

하나의 키 관리 체계에서, 개인 및 공개 키는 원격 단말기를 위해 (예를 들면, 인증기관에 의해) 생성되고, 개인 키는 원격 단말기내에 영구 저장된다. 영구 스토리지는 예를 들면, 제조 프로세스 동안 보안 프로세서(250)의 금속 층내에 개인 키를 에칭함으로써 달성된다. 이는 각각의 원격 단말기가 자신만의 영구적인 개인 키를 가지도록 효율적으로 "스탬핑"하며, 이는 개인 키가 도단, 침투 및 변경에 대해 안전하도록 한다.In one key management scheme, private and public keys are generated for the remote terminal (eg by a certificate authority) and the private key is stored permanently in the remote terminal. Persistent storage is achieved, for example, by etching the private key in the metal layer of the secure processor 250 during the manufacturing process. This effectively "stamps" each remote terminal to have its own permanent private key, which makes the private key safe from tampering, penetration and alteration.

다른 체계에서, 개인 및 공개 키는 원격 단말기를 위해 생성되고, 개인 키는 보안 프로세서(250)내 보안 스토리지(예를 들면, ROM(252) 또는 메모리(254)로 로딩된다. 개인 키의 로딩은 예를 들면, 제조 프로세스 동안 또는 보안이 상쇄되는 것으로 검출되는 이후 시간에 보안 환경내에서 달성된다. 예를 들면, 개인 키는 퓨즈가 끊어지는 것(예를 들면, 전자적으로 또는 레이저로)에 의해 ROM(252)에 저장된다. 이러한 체계는 키를 업데이팅하는데 있어 융통성을 제공한다. 보안 스토리지가 외부 엘리먼트에 의해 접속불가능하기 때문에, 개인 키는 안전하다.In another scheme, a private and public key are generated for the remote terminal, and the private key is loaded into secure storage (eg, ROM 252 or memory 254) in secure processor 250. Loading of the private key is For example, it is achieved in a secure environment during the manufacturing process or at a time after the security is detected to be offset, for example, a private key by a blown fuse (e.g., electronically or with a laser). Stored in ROM 252. This scheme provides flexibility in updating the key, since the private key is secure because secure storage is inaccessible by external elements.

또다른 체계에서, 개인 및 공개 키는 요구하는대로 또는 원하는대로 보안 프로세서(250)에 의해 생성된다. 이러한 키들은 원격 단말기에 의해 전체적으로 생성될 수도 있고, 외부 소스(예를 들면, 인증기관)에 의해 제공된 파라미터에 기초하여 생성될 수도 있다. 이러한 체계는 키를 업데이팅하는데 융통성을 제공한다. 개인 키는 보안 스토리지(예를 들면, ROM(252) 또는 메모리(254))에 저장될 수 있다.In another scheme, the private and public keys are generated by security processor 250 as required or desired. Such keys may be generated entirely by the remote terminal, or may be generated based on parameters provided by an external source (eg, a certification authority). This scheme provides flexibility in updating keys. The private key may be stored in secure storage (eg, ROM 252 or memory 254).

상술된 체계들에 대해, 개인 키는 전형적으로 보안 메모리에 저장된다(예를 들면, 메모리(254)내에 저장된다). 그 후, 공개 키는 필요로 할 때면 언제든지 다른 엔티티에 제공된다. 공개 키는 신뢰할 수 있는 인증기관에 의해 인증되고 인증서에 캡슐화되며, 이는 이하에서 설명될 바와 같이 보안 스토리지내에 저장된다.For the schemes described above, the private key is typically stored in secure memory (eg, stored in memory 254). The public key is then provided to another entity whenever needed. The public key is authenticated by a trusted certificate authority and encapsulated in a certificate, which is stored in secure storage as described below.

공개 키 암호화를 통해, 엔티티는 보안 프로세싱을 수행하는데 사용된 키를 협상할 수 있다. 많은 예에서(예를 들면, e-상거래), 키를 미리 아는 것은 실제적이지 않다. 공개 키 암호화에서, 두 거래하는 엔티티는 다른 개인 키를 사용할 수 있고 공개 키 또는 비밀 키 필요에 따라 상호교환할 수 있다. 비밀 키(예를 들면, 특정 거래에 대해)는 Diffle-Hellman 또는 RSA 알고리듬에 기초하여 생성되고 필요에 따라 상호교환된다.Public key cryptography allows an entity to negotiate the key used to perform secure processing. In many instances (e.g. e-commerce), knowing the key in advance is not practical. In public key cryptography, two transacting entities can use different private keys and exchange them according to their public key or secret key needs. Secret keys (eg, for a particular transaction) are generated based on Diffle-Hellman or RSA algorithms and interchanged as needed.

공개 키는 인증서내에 캡슐화되고, 이러한 인증서는 인증 및/또는 암호화를 위해 전송되어 사용된다. 초기에, 원격 단말기는 공개 키(예를 들면, 상술된 기술중 하나에 기초하여)를 가진다. ITU DX.509에 의해 정의된 바와 RKIX은 인증서는 원격 단말기에 의해 발행된다. 인증서는 원력 단말기의 공개 키, 서명, 및 서명을 생성하는데 사용되는 고유 알고리듬과 파라미터와 같은 여러 형태의 정보를 포함한다. 인증서는 원격 단말기에 의해 저장되어 이후 인증에 사용될 수 있으며, 이러한 인증은 여러 체계에 기초하여 달성된다.The public key is encapsulated in a certificate, which certificate is sent and used for authentication and / or encryption. Initially, the remote terminal has a public key (eg, based on one of the techniques described above). As defined by ITU DX.509, RKIX certificates are issued by remote terminals. The certificate contains various types of information such as the public key, signature, and unique algorithms and parameters used to generate the signature of the remote terminal. The certificate can be stored by the remote terminal and used for later authentication, which is accomplished based on several schemes.

하나의 인증 체계에서, 인증서는 원격 단말기의 식별번호를 인증하는 신뢰할만한 인증기관에 의해 발행되고 사인된다. 원격 단말기의 인증은 그 후 다음과 같이 달성된다. 원격 단말기가 원격 단말기에 의해 사인된 메시지를 인증서와 함께 외부 엔티티(예를 들면, 서버(160))에 전송하고, 이러한 인증서는 원격 단말기의 공개 키와 인증기관의 서명을 포함한다. 외부 엔티티는 원격 단말기 인증서를 수신하여, 인증기관의 서명을 인증하고, 원격 단말기의 공개 키를 사인된 메시지를 인증하는데 사용한다. 따라서, 외부 엔티티는 신뢰할만한 인증기관에 의해 인증된 바와 같이, 원격 단말기의 식별번호를 검증할 수 있다.In one authentication scheme, a certificate is issued and signed by a trusted certificate authority that authenticates the identification number of the remote terminal. Authentication of the remote terminal is then achieved as follows. The remote terminal sends a message signed by the remote terminal with a certificate to an external entity (eg, server 160), which includes the public key of the remote terminal and the signature of the certificate authority. The external entity receives the remote terminal certificate, authenticates the signature of the certificate authority, and uses the remote terminal's public key to authenticate the signed message. Thus, the external entity can verify the identification number of the remote terminal, as authenticated by a trusted certificate authority.

다른 인증 체계에서, 인증서는 원격 단말기에 의해 생성되고 사인된다. 원격 단말기의 인증은 다음과 같이 달성된다. 원격 단말기가 원격 단말기에 의해 사인된 메시지를 인증서와 함께 외부 엔티티로 전송한고, 이러한 인증서는 원격 단말기의 공개 키와 원격 단말기의 서명을 포함한다. 외부 엔티티는 원격 단말기 인증서를 수신하고, 원격 단말기의 서명을 인증하며, 사인된 메시지를 인증하기 위해 원격 단말기의 공개 키를 사용한다. 외부 엔티티는 원격 단말기의 서명에 기초하여 원격 단말기의 식별번호를 검증한다.In another authentication scheme, a certificate is generated and signed by a remote terminal. Authentication of the remote terminal is accomplished as follows. The remote terminal sends a message signed by the remote terminal with a certificate to an external entity, which includes the public key of the remote terminal and the signature of the remote terminal. The external entity receives the remote terminal certificate, authenticates the remote terminal's signature, and uses the remote terminal's public key to authenticate the signed message. The external entity verifies the identification number of the remote terminal based on the signature of the remote terminal.

다른 체계가 인증을 위해 사용될 수 있으며 본 발명의 범위내에 있다. 다른 레벨의 인증은 예를 들면, 인증서의 다른 사용에 기초하여 달성된다. 보안 거래를 위해 사용된 특정 인증 체계는 수행된 거래 형태에 의존한다.Other schemes can be used for authentication and are within the scope of the present invention. Different levels of authentication are achieved, for example, based on different uses of the certificate. The specific authentication scheme used for secure transactions depends on the type of transaction performed.

도 5A는 공개 키를 암호화하는데 사용된 ITU X.509 인증서(510)의 도면이다. 인증서(510)는 키와 관련된 여러 형태의 정보를 제공하기 위해 사용된 다수의 필드를 포함한다. 버전 필드(512)는 인증서의 포맷(예를 들면, X.509 버전 3)을 식별한다. 인증서 일련번호 필드(514)는 (인증서 발행자 즉, 인증기관에 의해) 이러한 인증서에 할당된 고유 일련번호를 포함한다. 서명 알고리듬 식별 필드(516)는 인증서를 사인하기 위해 인증서 발행자에 의해 사용된 고유 알고리듬(예를 들면, MD-5 해시, RSA 서명, 또는 몇몇 다른 것)을 식별한다. 이는 인증서를 수신하는 엔티티가 인증서를 처리하고 인증하도록 한다. 발행자명 필드(518)는 있다면 인증서를 발행하는 고유 신뢰할만한 인증기관(예를 들면, Verisign, Belsign, American Express 등)을 식별한다.5A is a diagram of an ITU X.509 certificate 510 used to encrypt a public key. Certificate 510 includes a number of fields used to provide various types of information associated with a key. The version field 512 identifies the format of the certificate (eg, X.509 version 3). The certificate serial number field 514 contains the unique serial number assigned to this certificate (by the certificate issuer, i.e. the certificate authority). Signature algorithm identification field 516 identifies the unique algorithm (eg, MD-5 hash, RSA signature, or some other) used by the certificate issuer to sign the certificate. This allows the entity receiving the certificate to process and authenticate the certificate. The issuer name field 518 identifies the unique trusted certificate authority (eg Verisign, Belsign, American Express, etc.) that issues the certificate, if any.

유효기간 필드(520)는 인증서가 유효한 시간 주기를 식별한다. 이러한 주기는 전형적으로 발행자에 의해 결정된다. 객체명 필드(522)는 인증서가 생성되는 엔티티("객체")의 이름을 포함한다. 객체 공개 키 필드(524)는 객체 공개 키(예를 들면, RSA, 0xabcdef, 0x12345)를 포함한다. 발행자 고유 ID 필드(526)와 객체 고유 ID 필드(528)는 각각 발행자와 객체에 할당된 ID를 포함한다. 확장 필드(530)는 키, 정책 정보, 속성, 제약요인, 및 다른 관련 정보를 포함한다. 서명 필드(532)는 해싱 필드(512 내지 530)에 의해 생성된 서명을 포함하고 발행자의 공개 키로 해시 다이제스트를 암호화/사인한다.The validity field 520 identifies the time period during which the certificate is valid. This period is typically determined by the publisher. The object name field 522 contains the name of the entity for which the certificate is generated (“object”). The object public key field 524 includes an object public key (eg, RSA, 0xabcdef, 0x12345). Issuer unique ID field 526 and object unique ID field 528 each contain an ID assigned to the issuer and the object. Extension field 530 includes keys, policy information, attributes, constraints, and other related information. Signature field 532 includes the signature generated by hashing fields 512 through 530 and encrypts / signs the hash digest with the issuer's public key.

도 5B는 메모리(254)의 특정 실시예의 도면이다. 메모리(254)의 구현은 전형적으로 보안 유닛(240)의 전체 설계에 의존한다. 더욱이, 메모리(254)내에 저장될 데이터의 형태는 보안 처리에 사용된 체계에 의존한다. 도 5B의 실시예에서, 메모리(254)는 플래그 필드(552), 인증 필드(554) 및 다수의 데이터 필드(556a 내지 556n)를 포함한다. 추가의 및/또는 다른 필드가 지원될 수 있고 본 발명의 범위내이다.5B is a diagram of a particular embodiment of the memory 254. The implementation of the memory 254 typically depends on the overall design of the security unit 240. Moreover, the type of data to be stored in memory 254 depends on the scheme used for security processing. In the embodiment of FIG. 5B, memory 254 includes a flag field 552, an authentication field 554, and a number of data fields 556a-556n. Additional and / or other fields may be supported and are within the scope of the present invention.

플래그 필드(552)는 메모리(254)의 상태와 저장된 데이터의 상태를 지시하는 하나 이상의 플래그를 포함한다. 필드(552)내의 플래그는 이하에서 설명될 바와 같이 보안 유닛(240)이 승인된 메모리 접속, 파라미터와 데이터 업데이트, 알람 등을 트래킹하는 것을 유지하도록 한다. 예를 들면, 플래그는 인증서가 메모리(254)내에 저장되었는지의 여부를 지시하기 위해 제공된다. 인증 필드(254)는 하나 이상의 인증서를 저장하고, 이들 인증서는 원격 단말기(110) 및/또는 다른 엔티티를 인증하는데 사용된다. 인증서는 전형적으로 (이하에서 설명될 바와 같이) 보안 거래를 통해 메모리(254)내에 로딩되고, 전형적으로 (상술된 바와 같이) 보안 처리를 수행하는데 사용된 파라미터(예를 들면, 암호화 키)를 포함한다. 데이터 필드(556)는 민감성 데이터와 가능하게는 보안 프로세서(250)의 동작에 필요한 데이터를 저장한다.The flag field 552 includes one or more flags indicating the state of the memory 254 and the state of the stored data. Flags in field 552 allow the security unit 240 to keep track of authorized memory connections, parameter and data updates, alarms, and the like, as described below. For example, a flag is provided to indicate whether a certificate has been stored in memory 254. Authentication field 254 stores one or more certificates, which are used to authenticate remote terminal 110 and / or other entities. Certificates are typically loaded into memory 254 via secure transactions (as described below) and typically include parameters (e.g., encryption keys) used to perform secure processing (as described above). do. Data field 556 stores sensitive data and possibly data necessary for operation of secure processor 250.

여러 형태의 민감성 데이터가 보안 유닛(240)내에 저장된다. 이러한 민감성 데이터는 예를 들면, 개인 정보, 재정 정보(예를 들면, 신용카드번호, 전자 자금 수지, 회계 정보 등), 인증 정보 및 다른 정보를 포함한다. 이들 데이터중 몇몇 형태가 이하에서 설명된다. 일반적으로, 인증되지 않은 접속으로부터 보호되어야할 필요가 있는 임의의 데이터는 민감성 데이터로 간주되고 보안 유닛(240)내에 저장된다.Various types of sensitivity data are stored in the security unit 240. Such sensitivity data includes, for example, personal information, financial information (eg, credit card numbers, electronic money balances, accounting information, etc.), authentication information, and other information. Some forms of these data are described below. In general, any data that needs to be protected from unauthorized access is considered sensitive data and stored in secure unit 240.

인증서.원격 단말기(예를 들면, 셀룰러 전화)가 전자-상거래 장치의 중요부분이 되어감에 따라, 불가피하게 "서버"로서의 역할을 할 필요가 있다. 예를 들면, 민감성 데이터로 신뢰되기 전에 또는 거래가 시작되기 전에, 원격 단말기의 실제 식별번호가 확인되어야 할 필요가 있다. 이 경우, 원격 단말기는 외부 엔티티에 의해 인증되고 외부 엔티티를 충족시킨다. 이러한 인증은 원격 단말기에 대한 식별번호 검증 정보를 포함하는 인증서에 기초하여 달성된다. 만일 원격 단말기 인증서가 신뢰성 있는 인증기관으로부터 분포되고 이와 같이 검증된다면, 원격 단말기의 식별번호는 인증기관에 의해 검증된 것으로 인증될 수 있다. 볼트는 하나 이상의 원격 단말기 인증서를 저장하는데 사용된다. 예를 들면, 가족 또는 팀의 모든 구성원에 대한 인증서가 저장되고, 각각의 구성원은 접속용 다른 핀들내에 저장된 개별 "개인 회계" 정보를 가진다. certification. As remote terminals (eg, cellular telephones) become an integral part of e-commerce devices, they inevitably need to act as "servers". For example, before being trusted with sensitive data or before a transaction is started, the actual identification number of the remote terminal needs to be verified. In this case, the remote terminal is authenticated by the external entity and satisfies the external entity. This authentication is accomplished based on a certificate containing identification number verification information for the remote terminal. If the remote terminal certificate is distributed from a trusted certificate authority and thus verified, the identification number of the remote terminal can be authenticated as verified by the certificate authority. The vault is used to store one or more remote terminal certificates. For example, certificates for all members of a family or team are stored, and each member has individual "personal accounting" information stored in other pins for access.

전자 지갑.원격 단말기는 "지갑"으로서의 역할을 하며 보안 디지털 볼트(예를 들면, 메모리(254)내)내 전자 화폐를 저장한다. 예를 들면, 사용자는 은행과통신하여 볼트내에 자금을 다운로딩한다. 자금은 그 후 상품 또는 웹사이트로부터 상품 및 서비스를 구매하여 대금을 지불하는데 사용되거나 다른 장치 또는 엔티티에 전송된다. 사용자는 또한 원하는 대오 추가의 자금을 볼트에 보충할 수 있다. 각각의 거래에 대해, 적정량이 경상수지로부터 공제되거나 대변에 기입된다. 거래는 무선 통신(예를 들면, 적절하게 장착된 캐시 레지스터와의 블루투스 접속을 통해, 무선으로 웹사이트에 접속을 통해, 등등)을 통해 달성된다. Electronic wallet. The remote terminal acts as a “wallet” and stores electronic money in a secure digital vault (eg, in memory 254). For example, a user communicates with a bank to download funds in a vault. The funds are then used to pay for the purchase of goods and services from the goods or websites or transferred to other devices or entities. The user can also replenish the vault with additional funds of interest. For each transaction, the appropriate amount is deducted or credited from the current account. The transaction is accomplished via wireless communication (e.g., via a Bluetooth connection with a suitably equipped cache register, via a wireless connection to a website, etc.).

암호화 정보.원격 단말기는 암호화 파라미터와 보안 처리에 사용되는 키를 저장한다. 이들 파라미터는 예를 들면, 원격 단말기를 인증하기 위해 IS-95에 의해 정의된 CAVE 알고리듬에 사용되는 것을 포함한다. 원격 단말기는 웹사이트와의 보안 세션을 지원하는데 사용된 세션 키를 저장하도록 설계된다. 세션 키는 세션의 시작에 제공되고 세션의 끝에서 버려진다. 원격 단말기는 메시지의 사인과 검증, 데이터의 암호화와 암호해제 등을 위해 사용된 암호화 키를 저장한다. Encryption Information. The remote terminal stores encryption parameters and keys used for security processing. These parameters include, for example, those used in the CAVE algorithm defined by IS-95 to authenticate remote terminals. The remote terminal is designed to store a session key used to support a secure session with the website. The session key is provided at the beginning of the session and discarded at the end of the session. The remote terminal stores the encryption key used for signing and verifying messages, encrypting and decrypting data.

도 6A는 본 발명의 실시예에 따라, 보안 유닛(240)내에 인증서의 초기 로딩을 도시하는 도면이다. 일 실시예에서, 인증서 로딩을 위해 실행되어야할 보안 레벨은 보안 스토리지(예를 들면, 메모리(254))의 상태에 의존한다. 만일 보안 스토리지가 비어있다면(예를 들면, 플래그에 의해 지시된 바와 같이), 인증서는 감소된 보안 검사를 가지고 로딩된다. 그렇지 않을 경우, 만일 보안 스토리지가 이미 인증서를 포함한다면, 많은 보안 검사와 관련된 복잡한 거래가 수행된다. 도 6A에 도시된 프로세스는 보안 프로세서내에 미리 내장되지 않을 경우 원격 단말기용 개인 키를 로딩하는데 사용된다. 프로세스는 1차 및 2차 사용자 인증서를메모리(254)내로 로딩하는데 사용된다.6A is a diagram illustrating the initial loading of a certificate into security unit 240, in accordance with an embodiment of the present invention. In one embodiment, the level of security that should be implemented for certificate loading depends on the state of secure storage (eg, memory 254). If the secure storage is empty (eg, as indicated by the flag), the certificate is loaded with reduced security checks. Otherwise, if the secure storage already contains a certificate, complex transactions involving many security checks are performed. The process shown in FIG. 6A is used to load a private key for a remote terminal if not already embedded in the secure processor. The process is used to load primary and secondary user certificates into memory 254.

인증서는 원격 단말기의 공개 키를 포함한다. 사용된 특정 체계에 따라, 인증기관은 (1) 원격 단말기의 개인 및 공개 키를 생성하여 이들을 원격 단말기에 제공하거나, (2) 원격 단말기에 의해 생성된 공개 키가 제공된다. 다음으로, 공개 키는 도 5A에 도시된 바와 같이 인증서로 캡슐화된다. 만일 캡슐화가 인증기관에 의해 수행된다면, 인증기관의 서명이 인증서내에 포함되고 원격 단말기의 검증과 인증기관에 의한 공개 키의 유효성이 검증된다.The certificate contains the public key of the remote terminal. Depending on the particular scheme used, the certification authority may either (1) generate a private and public key of the remote terminal and provide them to the remote terminal, or (2) a public key generated by the remote terminal. Next, the public key is encapsulated in a certificate as shown in FIG. 5A. If encapsulation is performed by a certificate authority, the signature of the certificate authority is included in the certificate and the verification of the remote terminal and the validity of the public key by the certificate authority are verified.

초기 인증서 로딩은 제조 과정 동안 또는 이후에 수행된다. 도 6A에 도시된 바와 같이, 인증서는 메인 프로세서(230)를 통해 신뢰성있는 인증기관(600)과 보안 프로세서(250) 사이의 거래를 통해 로딩된다. 초기에, 인증기관(600)은 인증서 로딩을 요청하는 메시지(612)를 전송한다. 메인 프로세서(230)는 메시지를 수신하여 처리하고, 이에 응답하여 보안 스토리지(예를 들면, 메모리(254))의 상태를 검사할 것을 요구하는 요청(614)을 전송한다. 보안 프로세서(250)는 요청을 수신하여 예를 들면, 메모리내 인증서 필드가 채워졌는지 또는 비워졌는지의 여부를 나타내는 특정 플래그를 검사함으로써 보안 스토리지의 상태를 결정한다. 만일 보안 스토리지가 비워졌다면(즉, 인증서를 포함하지 않는다면), 보안 프로세서(250)는 이러한 상태를 지시하는 메시지(616)를 전송한다. 메인 프로세서(230)는 메시지(616)를 수신하고 메시지(618)를 통해 인증기관(600)으로 보안 스토리지의 상태를 보고한다.Initial certificate loading is performed during or after the manufacturing process. As shown in FIG. 6A, the certificate is loaded via a transaction between the trusted certification authority 600 and the secure processor 250 via the main processor 230. Initially, the certification authority 600 sends a message 612 requesting the certificate to be loaded. The main processor 230 receives and processes the message and, in response, sends a request 614 requesting to check the state of the secure storage (eg, memory 254). The secure processor 250 receives the request and determines the state of the secure storage, for example, by examining a specific flag indicating whether the in-memory certificate field has been filled or emptied. If secure storage has been emptied (ie does not include a certificate), secure processor 250 sends a message 616 indicating this status. Main processor 230 receives message 616 and reports the status of secure storage to certificate authority 600 via message 618.

메시지(618)에 응답하여, 인증기관(600)은 로드 인증서 메시지(620)를 통해인증서를 전송한다. 메인 프로세서(230)는 메시지(620)를 수신하여 보안 프로세서(250)로 포워딩하며, 이러한 프로세서는 인증서(예를 들면, 메시지내에 포함된)를 보안 스토리지에 로딩하고 추가로 플래그가 채워지도록 설정한다. 보안 프로세서(250)는 승인 메시지(624)를 전송하고, 이러한 메시지는 메인 프로세서(230)에 의해 수신되고 인증기관(600)에 포워딩된다.In response to the message 618, the certification authority 600 transmits the certificate via the load certificate message 620. The main processor 230 receives the message 620 and forwards it to the secure processor 250, which loads the certificate (eg, contained in the message) into the secure storage and sets it to be further flagged. . The secure processor 250 sends an acknowledgment message 624, which is received by the main processor 230 and forwarded to the certificate authority 600.

도 6B는 본 발명의 실시예에 따라, 보안 유닛(240)으로의 인증서의 후속 로딩을 도시하는 도면이다. 인증서는 사용자 정보가 변했거나, 키가 상쇄되었거나 또는 다른 이유들에 의해 변경되었다고 결정될 때 후속 인증서 로딩을 통해 업데이팅될 필요가 있다. 초기에, 인증기관(600)은 인증서 로딩을 요청하는 메시지(612)를 전송한다. 메인 프로세서(230)는 메시지를 수신하여 처리하고, 이에 응답하여 보안 스토리지의 상태를 검사할 것을 요구하는 요청(612)을 전송한다. 보안 프로세서(230)는 요청을 수신하여 보안 스토리지의 상태를 결정한다. 만일 보안 스토리지가 채워졌다면(즉, 이미 인증서를 포함한다면), 보안 프로세서(250)는 이러한 상태를 지시하는 메시지(636)를 전송한다. 메인 프로세서(230)는 메시지(636)를 수신하고 인증서가 이미 메모리(254)내에 존재하는 것을 지시하는 제 1 메시지(638)와 인증기관(600)의 인증을 요청하는 제 2 메시지(640)를 인증기관(600)에 전송한다.6B is a diagram illustrating subsequent loading of a certificate into security unit 240, in accordance with an embodiment of the present invention. The certificate needs to be updated through subsequent certificate loading when it is determined that the user information has changed, the key has been canceled or changed for other reasons. Initially, the certification authority 600 sends a message 612 requesting the certificate to be loaded. The main processor 230 receives and processes the message and in response sends a request 612 requesting to check the state of the secure storage. The secure processor 230 receives the request to determine the state of the secure storage. If secure storage has been filled (ie, already contains a certificate), secure processor 250 sends a message 636 indicating this status. The main processor 230 receives the message 636 and sends a first message 638 indicating that the certificate already exists in the memory 254 and a second message 640 requesting authentication of the certificate authority 600. Send to the certification authority (600).

메시지(640)에 응답하여, 인증기관(600)은 사인된 메시지(642)를 전송한다. 메인 프로세서(230)는 메시지(642)를 수신하여 처리하고, 사인된 메시지를 인증할 것을 요청하는 메시지(644)를 보안 프로세서(250)에 전송한다. 보안프로세서(250)는 사인된 메시지를 (예를 들면, 인증기관(600)의 공개 키를 사용하여) 검증하고, 인증될 경우 보안 스토리지의 상태를 비워진 것으로 설정하고 인증이 통과되었음을 지시하는 승인 메시지(646)를 전송한다. 메인 프로세서(230)는 이러한 승인을 수신하여 인증기관(600)에 포워딩한다.In response to the message 640, the certification authority 600 sends a signed message 642. The main processor 230 receives and processes the message 642 and sends a message 644 to the secure processor 250 requesting to authenticate the signed message. The secure processor 250 verifies the signed message (e.g., using the public key of the certification authority 600), sets the status of the secure storage to empty when authenticated, and an acknowledgment message indicating that authentication has passed. Send 646. The main processor 230 receives this approval and forwards it to the certification authority 600.

메시지(646)에 응답하여, 인증기관(600)은 로드 인증서 메시지(620)를 통해 인증서를 전송하고, 이러한 메시지는 메인 프로세서(230)에 의해 수신되어 보안 프로세서(250)로 포워딩된다. 보안 프로세서(250)는 메모리(254)에 인증서를 로딩하고, 플래그를 채워진 것을 설정하며, 승인 메시지(624)를 다시 인증기관(600)에 전송한다.In response to the message 646, the certification authority 600 sends the certificate via the load certificate message 620, which is received by the main processor 230 and forwarded to the secure processor 250. The secure processor 250 loads the certificate into the memory 254, sets the flag to be filled in, and sends an authorization message 624 back to the certificate authority 600.

도 6C는 인증서를 보안 유닛(240)에 로딩하려고 할 때의 성공하지 못한 시도를 도시하는 도면이다. 초기에, 인증기관(600)은 인증서 로드 요청 메시지(612)를 전송한다. 메인 프로세서(230)는 메시지를 수신하여 처리하고, 이에 응답하여 보안 스토리지의 상태를 검사할 것을 요구하는 요청(614)을 전송한다. 보안 프로세서(250)는 요청을 수신하고 보안 스토리지의 상태(이 경우는 채워짐)를 결정하고, 이러한 상태를 지시하는 메시지(636)를 전송한다. 보안 스토리지가 채워졌기 때문에, 메인 프로세서(230)는 보안 스토리지내에 이미 인증서가 존재하는 것을 지시하는 제 1 메시지(638)와 인증기관(600)의 인증을 요청하는 제 2 메시지(640)를 전송한다.6C illustrates an unsuccessful attempt when attempting to load a certificate into security unit 240. Initially, the certification authority 600 sends a certificate load request message 612. The main processor 230 receives and processes the message and in response sends a request 614 requesting to check the state of the secure storage. The secure processor 250 receives the request and determines the state of the secure storage (in this case, filled) and sends a message 636 indicating this state. Since the secure storage has been filled, the main processor 230 sends a first message 638 indicating that a certificate already exists in the secure storage and a second message 640 requesting authentication of the certificate authority 600. .

메시지(640)에 응답하여, 인증기관(600)은 사인된 메시지(642)를 전송한다. 메인 프로세서(230)는 메시지(642)를 수신하여 처리하고 사인된 메시지를 인증할것을 요청하는 메시지(644)를 보안 프로세서(250)에 전송한다. 보안 프로세서(250)는 사인된 메시지를 검증하고, 인증되지 않았을 경우 인증 실패를 지시하는 에러 메시지(645)를 전송한다. 메인 프로세서(250)는 에러 메시지를 수신하여 인증기관(600)으로 포워딩한다. 에러 메시지는 거래를 종결한다.In response to the message 640, the certification authority 600 sends a signed message 642. The main processor 230 receives and processes the message 642 and sends a message 644 to the secure processor 250 requesting to authenticate the signed message. The security processor 250 verifies the signed message and, if not authenticated, transmits an error message 645 indicating an authentication failure. The main processor 250 receives the error message and forwards it to the certification authority 600. An error message closes the transaction.

보안 프로세서(250)는 보안 처리 및 데이터 스토리지를 지원하는 여러 기능을 수행하도록 설계될 수 있다. 이들 기능은 이하의 기능들의 임의 조합을 포함한다: 서명 생성 및 검증, 암호화와 암호해제, 데이터베이스 관리, 보안 스토리지내 보안 데이터의 업데이트 승인, 회계, 에러 메시지 처리 및 가능한 다른 기능.일 실시예에서, 지원된 기능중 몇몇 또는 모두에 대한 프로그램 명령은 보안 유닛(254)(예를 들면, ROM(252) 또는 메모리(254))내에 저장된다. 이는 보안 프로세서(250)가 신뢰성있는 것으로 알려진 명령에 기초하여 기능을 수행하도록 한다. 이는 또한 외부 엘리먼트(예를 들면, 메인 프로세서(230))가 보안 프로세서(250)를 사칭하는 것을 방지하고 보안 스토리지에 악의로 접근하는 것을 방지한다. 안전하게 저장된 프로그램 명령은 해시 함수, 암호화, 암호해제 및 서명 알고리듬, 회계 기능, 데이터 관리 기능 등을 구현하는 것을 포함한다.The secure processor 250 may be designed to perform various functions that support secure processing and data storage. These functions include any combination of the following functions: signature generation and verification, encryption and decryption, database management, update approval of secure data in secure storage, accounting, error message processing, and other possible functions. Program instructions for some or all of the supported functions are stored in security unit 254 (eg, ROM 252 or memory 254). This allows the security processor 250 to perform a function based on instructions known to be reliable. It also prevents external elements (eg, main processor 230) from impersonating secure processor 250 and prevents malicious access to secure storage. Securely stored program instructions include implementing hash functions, encryption, decryption and signature algorithms, accounting functions, data management functions, and the like.

인증을 위해, 보안 프로세서(250)는 공개 키를 사용하여 메시지를 생성 및 사인하고 메인 프로세서(230)에 사인된 메시지를 제공하도록 요청되고, 이러한 프로세서는 원하는 수신 엔티티에 사인된 메시지를 전송한다. 서명 생성은 언급된 디지털 서명 및 암호화 알고리듬중 임의의 것에 기초하여 수행될 수 있다. 보안 프로세서(250)는 원격 단말기의 공개 키를 포함하는 인증서를 제공하며, 이러한 공개 키는 원격 단말기를 인증하기 위해 수신 엔티티에 의해 사용된다.For authentication, secure processor 250 is requested to generate and sign a message using the public key and provide a signed message to main processor 230, which sends the signed message to the desired receiving entity. Signature generation can be performed based on any of the digital signature and encryption algorithms mentioned. Secure processor 250 provides a certificate that includes the public key of the remote terminal, which is used by the receiving entity to authenticate the remote terminal.

보안 프로세서(250)는 보안 스토리지내에 저장된 데이터를 검색, 로딩 또는 업데이팅할 것을 요청하는 각각의 엔티티를 인증하도록 설계된다. 일반적으로, 보안 프로세서(250)는 보안 스토리지내 저장된 데이터로의 접속을 원하는 각각의 엔티티를 인증한다. 인증은 요청하는 엔티티로부터 (예를 들면, 요청하는 엔티티의 인증서 또는 요청하는 엔티티의 공개 키중 하나에 기초하여, 이들은 이미 보안 스토리지내에 저장된 인증서에 포함되어 있음) 사인된 메시지를 검증함으로써 달성된다. 서명 검증은 서명을 생성하는데 사용된 것과 동일한 또는 상보적인 알고리듬에 기초하여 수행된다.Secure processor 250 is designed to authenticate each entity requesting to retrieve, load, or update data stored in secure storage. In general, secure processor 250 authenticates each entity that wishes to access data stored in secure storage. Authentication is accomplished by verifying a signed message from the requesting entity (eg, based on one of the requesting entity's certificate or the requesting entity's public key, which are already included in the certificate already stored in secure storage). Signature verification is performed based on the same or complementary algorithm used to generate the signature.

메시지는 서명을 생성하는데 사용되고, 서명은 수신 엔티티(예를 들면, 원격 단말기 또는 외부 엔티티)에 의해 인증된다. 따라서, 메시지내 데이터는 서명이 검사되었을 경우 검증된다. 하지만, 메시지는 투명하게 전송되고 도청에 대한 어떠한 보호도 제공되지 않는다. 많은 애플리케이션에 대해, 엔티티의 실제 식별번호를 확인하는 것만이 중요하며, 디지털 서명을 통한 인증으로도 충분하다.The message is used to generate a signature, which is authenticated by the receiving entity (eg, remote terminal or external entity). Thus, the data in the message is verified if the signature is checked. However, the message is sent transparently and no protection against eavesdropping is provided. For many applications, it is only important to verify the actual identification number of the entity, and authentication through digital signatures is sufficient.

암호화는 도청자로부터 민감성 데이터를 보호하는데 사용된다. 암호화를 위해, 보안 프로세서(250)는 비밀 키를 사용하여 데이터를 암호화할 것을 요청받는다. 암호화된 데이터는 메인 프로세서(230)에 제공되고, 이러한 프로세서는 암호화된 데이터를 원하는 수신 엔티티에 전송한다. 비밀 키는 예를 들면, Diffle-Hellman 또는 RSA 알고리듬을 사용하여 수신 엔티티의 개인 키에 기초하여 생성된다. 보안 프로세서(250)는 원격 단말기의 개인 키를 사용하여 암호화된 데이터를암호해제할 것을 요청받는다. 트래픽의 암호화 및 암호해제는 언급된 암호화 알고리듬(예를 들면, DES, IDEA 등)중 임의의 하나에 기초하여 수행된다. 키 상호교환과 트래픽 암호화/암호해제 알고리듬은 개인 키 암호화 사용과는 무관하다.Encryption is used to protect sensitive data from eavesdroppers. For encryption, secure processor 250 is asked to encrypt data using a secret key. The encrypted data is provided to the main processor 230, which sends the encrypted data to the desired receiving entity. The secret key is generated based on the receiving entity's private key using, for example, the Diffle-Hellman or RSA algorithm. The security processor 250 is asked to decrypt the encrypted data using the private key of the remote terminal. Encryption and decryption of traffic is performed based on any one of the ciphering algorithms (eg, DES, IDEA, etc.) mentioned. The key interchange and traffic encryption / decryption algorithms are independent of the use of private key encryption.

보안 프로세서(250)를 통한 각각의 보안 거래에 대해, 외부 엔티티는 언급된 바와 같이 인증될 수 있다. 일단 외부 엔티티가 인증되면, 보안 프로세서(250)는 수신 메시지를 처리할 수 있다. 거래에 의존하여, 데이터는 수신된 메시지로부터 추출되고 보안 스토리지에 저장되거나 또는 보안 스토리지로부터 검색되어 사인되거나 암호화된 메시지를 통해 제공된다. 거래는 선택적으로 보안 스토리지내 데이터의 업데이트를 요청한다. 예를 들면, 보안 스토리지내 저장된 자금은 구매 또는 몇몇 다른 거래를 위해 공제되거나 보충을 위해 증가된다.For each secure transaction through secure processor 250, an external entity may be authenticated as mentioned. Once the external entity is authenticated, the secure processor 250 can process the received message. Depending on the transaction, data may be extracted from received messages and stored in secure storage or retrieved from secure storage and provided via signed or encrypted messages. The transaction optionally requests an update of the data in the secure storage. For example, funds stored in secure storage are deducted for purchases or some other transaction or increased for replenishment.

민감성 데이터는 여러 체계에 기초하여 안전하게 저장 및/또는 업데이팅된다. 하나의 체계에서, 민감성 데이터는 보안 유닛(240)(예를 들면, 메모리(254)내에 또는 가능하게는 ROM(252)내에)내에 저장된다. 이러한 체계에서, 데이터는 보안 스토리지에 저장되기 전에 수신되면 검증된다. 이러한 체계를 위해, 데이터는 플래인(plain) 형태(즉, 암호화되지 않은 형태)로 저장된다. 후속 데이터 조작과 데이터의 업데이트는 보안 유닛(240)내에서 수행된다. 보안 유닛(240)은 항상 보안 유닛의 제어하에서 보안 유닛내에 저장되기 때문에 데이터의 보전이 보장된다.Sensitivity data is securely stored and / or updated based on various schemes. In one scheme, sensitive data is stored in security unit 240 (eg, in memory 254 or possibly in ROM 252). In this scheme, data is verified once received before being stored in secure storage. For this scheme, data is stored in plain form (ie, unencrypted form). Subsequent data manipulation and updating of data are performed in the security unit 240. Since the security unit 240 is always stored in the security unit under the control of the security unit, the integrity of the data is guaranteed.

다른 체계에서, 민감성 데이터는 보안 형태로 보안 유닛 외부에(예를 들면, 시스템 메모리(236)내에) 저장된다. 다시, 보안 유닛(240)은 외부 엘리먼트(예를 들면, 메인 프로세서(230))로부터 수신될 때 데이터를 검증한다. 데이터 저장 이전에, 보안 유닛(240)은 원하는 구현에 따라 보안 유닛내에 저장된 개인 키를 사용하여 데이터를 사인 또는 암호화한다. 보안 데이터는 보안 유닛(240) 외부에 저장된다. 후속 접속, 조작 및/또는 업데이트를 위해, 보안된 데이터는 외부 스토리지로부터 검색되고, 검증 또는 암호해제되며 보안 유닛(240)에 의해 처리된다. 보안 유닛(240)은 저장 이전에 보안되고 각각의 사용 이전에 검증되기 때문에 데이터의 보전이 보장된다.In another scheme, sensitive data is stored outside the secure unit (eg, in system memory 236) in secure form. Again, security unit 240 verifies data when received from an external element (eg, main processor 230). Prior to data storage, security unit 240 signs or encrypts the data using the private key stored within the security unit, depending on the desired implementation. The security data is stored outside the security unit 240. For subsequent connection, manipulation and / or update, the secured data is retrieved from external storage, verified or decrypted and processed by security unit 240. The security unit 240 is secured prior to storage and the integrity of the data is guaranteed since it is verified prior to each use.

보전성을 보장하기 위해 데이터를 저장하고 조작하는 다른 체계 또한 본 발명의 범위내에서 사용될 수 있다.Other schemes for storing and manipulating data to ensure integrity may also be used within the scope of the present invention.

보안 프로세서(250)는 보안 데이터를 접속하고자 하는 인증되지 않은 시도에 응답하여 불완전 거래(예를 들면, 인증 실패시)에 대한 에러 메시지 또는 알람을 발생하도록 설계된다. 에러 메시지는 실패 레벨(예를 들면, 경고 또는 치명적 에러), 에러의 원인(예를 들면, 원치 않는 메시지 수신, 열악한 리코드 해시, 서명이 체크되지 않음, 상쇄 실패, 주고받기 실패, 불법적인 파라미터, 인증서 에러, 거래에 불충분한 자금, 인증되지 않은 접속하고자 하는 엔티티 등) 및 가능한 다른 정보를 지시한다.The secure processor 250 is designed to generate an error message or alarm for an incomplete transaction (eg, upon authentication failure) in response to an unauthorized attempt to access secure data. Error messages can include the failure level (e.g. warning or fatal error), the cause of the error (e.g. unwanted message reception, poor record hash, signature not checked, offset failure, send and receive failure, illegal parameter , Certificate errors, insufficient funds in the transaction, entities to be authenticated, etc.) and other possible information.

보안 프로세서(250)가 보안 소켓 레이어(SSL) 프로토콜, 전송 레이어 보안(TLS) 프로토콜 및 다른 프로토콜과 같은 임의 수의 보안 프로토콜을 지원하도록 설계된다. 당업자에게 공지된 이러한 프로토콜은 여기서는 설명되지는 않는다. 각각의 프로토콜은 보안 가능성, 상호교환 키 및 인증서를 설정하는데 사용된 보안 통신과 메시지 프로토콜을 설정하는데 사용된 주고받기 프로토콜을 설정하며, 보안데이터를 전송한다.Security processor 250 is designed to support any number of security protocols, such as secure socket layer (SSL) protocols, transport layer security (TLS) protocols, and other protocols. Such protocols known to those skilled in the art are not described herein. Each protocol establishes a secure communication used to establish security possibilities, interchange keys and certificates, and a send and receive protocol used to set message protocols, and transmits secure data.

각각의 보안 거래에 대해, 원격 단말기는 서버 또는 클라이언트의 커패시티를 나타낸다. 서버와 같이, 원격 단말기는 보안 데이터를 제공하기 위해 다른 엔티티에 의해 요청된다. 요청된 데이터를 제공하기 전에, 원격 단말기는 전형적으로 요청하는 엔티티를 인증한다. 클라이언트로서, 원격 단말기는 다른 엔티티로부터 보안 데이터를 요청하며 원격 단말기를 인증하기 위해 다른 엔티티에 의해 요구된 정보를 제공하도록 요청받는다.For each secure transaction, the remote terminal represents the capacity of the server or client. Like a server, a remote terminal is requested by another entity to provide secure data. Before providing the requested data, the remote terminal typically authenticates the requesting entity. As a client, the remote terminal requests security data from another entity and is asked to provide the information required by the other entity to authenticate the remote terminal.

전형적인 SSL 거래에서, 서버는 암호화 프로토콜을 통해 클라이언트를 인증하지 않는다. 하지만, 서버는 신용카드 인증과 같은 다른 수단을 통해 인증한다. 일 실시예에서, 서버는 각각의 보안 거래(예를 들면, 보안 프로세서에 의해 구현된 전자지갑으로부터 현금을 꺼낼 것을 시도하는 캐시 레지스터)에 대한 클라이언트를 인증한다. 전형적인 SSL 거래에서, 클라이언트는 항상 서버를 인증한다. 일 실시예에서, 서버는 보안 거래를 위해 클라이언트를 인증한다(예를 들면, 의료 기록 검색 등).In a typical SSL transaction, the server does not authenticate the client via an encryption protocol. However, the server authenticates via other means, such as credit card authentication. In one embodiment, the server authenticates the client for each secure transaction (eg, a cache register attempting to withdraw cash from the wallet implemented by the secure processor). In a typical SSL transaction, the client always authenticates the server. In one embodiment, the server authenticates the client for secure transactions (eg, medical record retrieval, etc.).

도 7은 클라이언트와 서버 사이의 보안 거래를 도시하는 도면이다. 원격 단말기는 이러한 거래에 대한 커패시티와 같은 역할을 하고, 이러한 거래는 4단계로 분할된다. 제 1 단계에서, 헬로우 메시지(712a, 712b)가 클라이언트와 서버 사이에 상호교환되고 보안 통신을 설정한다. 제 2 단계에서, 서버가 서버 인증서를 전송하고, 서버 공개 키를 상호교환하며, 각각 메시지(722, 724, 726)를 통해 클라이언트 인증서를 요청한다. 서버는 서버 헬로우 종결 메시지(728)로 종결한다.7 is a diagram illustrating a secure transaction between a client and a server. The remote terminal acts like a capacity for these transactions, and these transactions are divided into four stages. In a first step, hello messages 712a and 712b are interchanged between the client and server and establish a secure communication. In a second step, the server sends a server certificate, exchanges the server public key, and requests a client certificate via messages 722, 724, and 726, respectively. The server terminates with a server hello terminate message 728.

서버 메시지에 응답하여, 클라이언트는 클라이언트 인증서를 전송하고, 클라이언트 공개 키를 상호교환하며, 각각 메시지(732, 734, 736)를 통해 인증서의 검증을 요청한다. 제 4 단계에서, 인증서가 인증되면, 클라이언트와 서버는 암호화 슈트를 가능케 하고 메시지(742, 744)를 통해 주고받기를 종결한다. 인에이블링 암호화 슈트는 간단히 적시에 그 포인트를 포워드로부터 암호를 '인에이블'하는 것을 의미한다. 각각의 엔티티는 수신된 스트림이 암호화될 때를 알고 있다. 데이터는 그 후 상호교환된 키를 통해 클라이언트와 서버 사이에서 안전하게 상호교환된다.In response to the server message, the client sends the client certificate, exchanges the client public key, and requests verification of the certificate via messages 732, 734, and 736, respectively. In the fourth step, once the certificate is authenticated, the client and server enable the encryption suite and terminate the exchange via messages 742 and 744. Enabling encryption suite simply means 'enable' the cipher from the time forward to that point. Each entity knows when the received stream is encrypted. The data is then securely exchanged between the client and server through an interchanged key.

보안 프로세서(250)와 메인 프로세서(230)는 각각 여기서 설명된 기능을 수행하도록 설계된 디지털 신호 처리기(DSP), 응용주문형 집적회로(ASIC), 프로세서, 마이크로프로세서, 제어기, 마이크로콘트롤러, 현장주문형 게이트 어레이(FPGA), 프로그램가능 논리소자, 다른 전자 유닛 또는 이들의 임의의 조합으로 구현될 수 있다. 보안 프로세서(250)를 구현하는 집적회로는 예를 들면, 메인 프로세서(230), TX 및 RX 데이터 프로세서(210, 224) 등과 같은 원격 단말기(110)의 다른 엘리먼트를 더 포함할 수 있다.The security processor 250 and the main processor 230 are each a digital signal processor (DSP), an application specific integrated circuit (ASIC), a processor, a microprocessor, a controller, a microcontroller, an on-demand gate array, each designed to perform the functions described herein. (FPGA), programmable logic devices, other electronic units, or any combination thereof. The integrated circuit implementing the secure processor 250 may further include other elements of the remote terminal 110, such as, for example, the main processor 230, the TX and RX data processors 210, 224, and the like.

비휘발성 메모리(예를 들면, 메모리(254) 및 ROM(252))는 플래시 메모리, 프로그램가능 ROM(PROM), 삭제가능 PROM(EPROM), 전자삭제가능 PROM(EEPRROM), 배터리 보충 RAM, 몇몇 다른 메모리 기술 또는 이들의 조합으로 구현된다. 휘발성 메모리(예를 들면, 메모리(256)의 일부)는 임의접속 메모리(RAM), 플래시 메모리, 몇몇 다른 메모리 기술 또는 이들의 조합으로 구현된다.Non-volatile memory (e.g., memory 254 and ROM 252) may include flash memory, programmable ROM (PROM), erasable PROM (EPROM), electronically erasable PROM (EEPRROM), battery supplemental RAM, some other Memory technology or a combination thereof. Volatile memory (eg, portion of memory 256) is implemented in random access memory (RAM), flash memory, some other memory technology, or a combination thereof.

설명된 실시예의 이상의 설명은 당업자로 하여금 본 발명의 제조 또는 사용을 가능케 하기 위해 제공된 것이다. 당업자라면 이러한 실시예에 대한 여러 변경이 가능하며, 설명된 일반적인 원리가 본 발명의 정신 또는 범위를 벗어남없이 가능하다는 것을 알 수 있을 것이다. 따라서, 본 발명은 여기서 설명된 실시예에 한정되는 것이 아니고 여기서 설명된 원리와 새로운 특징에 부합하는 가장 광범위한 범위에 따른다.The previous description of the described embodiments is provided to enable any person skilled in the art to make or use the present invention. Those skilled in the art will recognize that many modifications to these embodiments are possible and that the general principles described are possible without departing from the spirit or scope of the invention. Thus, the present invention is not limited to the embodiments described herein but is to be accorded the widest scope consistent with the principles and novel features described herein.

Claims (26)

무선 통신 시스템내 원격 단말기로서,As a remote terminal in a wireless communication system, 무선 링크를 통한 통신을 위해 데이터를 처리하도록 구성된 데이터 처리 유닛;A data processing unit configured to process data for communication over a wireless link; 상기 데이터 처리 유닛에 연결되며, 상기 원격 단말기에 대한 제어를 제공하도록 구성되는 메인 프로세서를 포함하는데, 상기 데이터 처리 유닛과 상기 메인 프로세서는 외부 엔티티에 의한 불법적 행위에 의해 손상될 수 있는 보안되지 않은 유닛이며; 및A main processor coupled to the data processing unit and configured to provide control to the remote terminal, the data processing unit and the main processor being an unsecured unit that may be compromised by illegal activity by an external entity. Is; And 상기 메인 프로세서에 동작적으로 연결되는 보안 유닛을 포함하며, 상기 보안 유닛은:A security unit operatively connected to the main processor, the security unit comprising: 상기 원격 단말기에 대한 보안 처리를 수행하도록 구성된 보안 프로세서; 및A security processor configured to perform security processing for the remote terminal; And 데이터의 보안 스토리지를 제공하도록 구성된 보안 메모리를 포함하며,Includes secure memory configured to provide secure storage of data, 상기 보안 유닛은 보안 모듈내에 물리적으로 캡슐화되며 하드코딩된 프로토콜을 통한 상기 보안 메모리로의 인증되지 않은 접속을 방지하도록 구성된 원격 단말기.The security unit is physically encapsulated within a security module and configured to prevent unauthorized access to the secure memory via a hardcoded protocol. 제1항에 있어서, 상기 보안 유닛은 상기 보안 처리를 위해 사용되는 프로그램 명령 및 파라미터를 저장하도록 구성된 판독전용 메모리(ROM)인 원격 단말기.The remote terminal of claim 1, wherein the security unit is a read-only memory (ROM) configured to store program instructions and parameters used for the security processing. 제2항에 있어서, 상기 ROM은 상기 보안 프로세서내에 내장되는 원격 단말기.3. The remote terminal of claim 2, wherein the ROM is embedded within the secure processor. 제1항에 있어서, 상기 보안 프로세서와 상기 보안 메모리는 단일 집적회로(IC)내에 구현되며 물리적으로 캡슐화된 원격 단말기.The remote terminal of claim 1, wherein the secure processor and the secure memory are implemented within a single integrated circuit and physically encapsulated. 제1항에 있어서, 상기 보안 프로세서와 상기 보안 메모리는 기록변경이 방지되거나 또는 기록변경이 있는 유닛내에 물리적으로 캡슐화된 원격 단말기.The remote terminal of claim 1, wherein the secure processor and the secure memory are physically encapsulated within a unit in which a write change is prevented or there is a write change. 제1항에 있어서, 상기 보안 프로세서와 상기 보안 메모리는 상기 원격 단말기내에 영구 고정된 원격 단말기.The remote terminal of claim 1, wherein the secure processor and the secure memory are permanently fixed within the remote terminal. 제1항에 있어서, 메시징과 데이터가 버스에 의해 제공된 단일 엔트리 포인트를 통해 상기 보안 유닛과 상호교환된 원격 단말기.The remote terminal of claim 1 wherein messaging and data are interchanged with the security unit via a single entry point provided by a bus. 제1항에 있어서, 상기 보안 유닛은 상기 보안 처리를 위한 공개 키 암호화를 구현하도록 구성된 원격 단말기.The remote terminal of claim 1, wherein the security unit is configured to implement public key encryption for the security processing. 제8항에 있어서, 상기 원격 단말기에 할당된 개인 키가 상기 보안 프로세서내에 내장된 원격 단말기.9. The remote terminal of claim 8, wherein a private key assigned to the remote terminal is embedded in the security processor. 제9항에 있어서, 상기 개인 키는 상기 보안 프로세서내에 영구적으로 에칭된 원격 단말기.10. The remote terminal of claim 9, wherein the private key is permanently etched into the secure processor. 제9항에 있어서, 상기 원격 단말기에 할당된 상기 개인 키는 상기 보안 프로세서내 ROM에 저장된 원격 단말기.10. The remote terminal of claim 9, wherein the private key assigned to the remote terminal is stored in a ROM in the secure processor. 제1항에 있어서, 상기 보안 프로세서는 하나 이상의 보안 프로토콜을 구현하도록 구성된 원격 단말기.The remote terminal of claim 1, wherein the secure processor is configured to implement one or more security protocols. 제12항에 있어서, 상기 하나 이상의 보안 프로토콜은 보안 소켓 레이어(SSL) 프로토콜 또는 전송 레이어 보안(TLS) 프로토콜 또는 이들 둘 모두를 포함하는 원격 단말기.13. The remote terminal of claim 12, wherein the one or more security protocols include a secure socket layer (SSL) protocol or a transport layer security (TLS) protocol or both. 제1항에 있어서, 상기 보안 유닛은 외부 엔티티와의 각각의 보안 거래를 위해 클라이언트 또는 서버로서의 역할을 하도록 구성된 원격 단말기.The remote terminal of claim 1, wherein the security unit is configured to act as a client or server for each secure transaction with an external entity. 제1항에 있어서, 상기 보안 메모리는 전자 자금을 저장하도록 구성된 원격 단말기.The remote terminal of claim 1, wherein the secure memory is configured to store electronic funds. 제1항에 있어서, 상기 보안 메모리는 상기 보안 처리를 위해 사용된 암호화 파라미터를 저장하도록 구성된 원격 단말기.2. The remote terminal of claim 1, wherein the secure memory is configured to store encryption parameters used for the secure processing. 제1항에 있어서, 상기 보안 메모리는 인증을 위해 사용된 하나 이상의 인증서를 저장하도록 구성된 원격 단말기.The remote terminal of claim 1, wherein the secure memory is configured to store one or more certificates used for authentication. 제17항에 있어서, 상기 인증서는 인증기관과의 보안 거래를 통해 상기 보안 메모리로 로딩된 원격 단말기.18. The remote terminal of claim 17, wherein the certificate is loaded into the secure memory through a secure transaction with a certificate authority. 제18항에 있어서, 다른 레벨의 보안이 인증서가 상기 원격 단말기에 이미 로딩되었는지의 여부에 따라 인증서 로딩 거래를 위해 구현된 원격 단말기.19. The remote terminal of claim 18, wherein different levels of security are implemented for certificate loading transactions depending on whether a certificate has already been loaded on the remote terminal. 무선 통신 시스템내 원격 단말기로서,As a remote terminal in a wireless communication system, 무선 링크를 통한 통신을 위해 데이터를 처리하도록 구성된 데이터 처리 유닛;A data processing unit configured to process data for communication over a wireless link; 상기 데이터 처리 유닛에 연결되며 상기 원격 단말기에 대한 제어를 제공하도록 구성된 메인 프로세서를 포함하는데, 상기 데이터 처리 유닛과 상기 메인 프로세서는 외부 엔티티에 의한 불법적 행위에 의해 손상될 수 있는 보안되지 않은 유닛이며; 및A main processor coupled to the data processing unit and configured to provide control for the remote terminal, the data processing unit and the main processor being an unsecured unit that may be compromised by illegal activity by an external entity; And 상기 메인 프로세서내에 내장되며 상기 원격 단말기에 대한 보안 처리를 수행하고 데이터의 보안 저장을 제공하도록 구성된 보안 유닛을 포함하며, 상기 보안 유닛은 보안 처리를 위해 공개 키 암호화를 구현하도록 구성되며, 상기 보안 유닛은 하드코딩된 프로토콜을 통한 안전하게 저장된 데이터로의 인증되지 않은 접속을 방지하도록 구성된 원격 단말기.A security unit embedded within the main processor and configured to perform secure processing for the remote terminal and provide secure storage of data, wherein the security unit is configured to implement public key encryption for secure processing; Is a remote terminal configured to prevent unauthorized access to securely stored data via a hardcoded protocol. 무선 통신 장치용 보안 처리 및 데이터 스토리지를 제공하는 방법으로서,A method of providing secure processing and data storage for a wireless communication device, 보안 처리를 수행하기 위해 상기 통신 장치내 보안 프로세서를 한정하는 단계;Defining a secure processor in the communication device to perform secure processing; 보안 데이터 스토리지를 제공하기 위해 상기 통신 장치내 보안 스토리지를 한정하는 단계;Defining secure storage in the communication device to provide secure data storage; 보안 프로세서 또는 보안 스토리지내 보안 처리를 위해 사용된 프로그램 명령 및 파라미터를 저장하는 단계를 포함하는데, 상기 저장된 프로그램 명령은 하드코딩된 프로토콜을 구현하며; 및Storing program instructions and parameters used for secure processing in a secure processor or secure storage, the stored program instructions implementing a hardcoded protocol; And 보안 유닛내 상기 보안 프로세서와 보안 스토리지를 물리적으로 캡슐화하는 단계를 포함하는 무선 통신 장치용 보안 처리 및 데이터 스토리지 제공 방법.And physically encapsulating the secure processor and secure storage in a secure unit. 제21항에 있어서, 상기 보안 프로세서와 상기 보안 스토리지는 단일 집적회로(IC)내에 물리적으로 캡슐화되는 무선 통신 장치용 보안 처리 및 데이터 스토리지 제공 방법.22. The method of claim 21, wherein the secure processor and the secure storage are physically encapsulated within a single integrated circuit (IC). 제21항에 있어서,The method of claim 21, 상기 통신 장치내 상기 캡슐화된 보안 프로세서와 보안 스토리지를 영구적으로 고정하는 단계를 더 포함하는 무선 통신 장치용 보안 처리 및 데이터 스토리지 제공 방법.Permanently securing the encapsulated security processor and secure storage in the communication device. 무선 통신 장치용 보안 처리 및 데이터 스토리지를 제공하는 방법으로서,A method of providing secure processing and data storage for a wireless communication device, 외부 엔티티와 보안 거래를 시작하는 제 1 메시지를 수신하는 단계;Receiving a first message initiating a secure transaction with an external entity; 상기 통신 장치내에 위치한 보안 프로세서를 통해 상기 외부 엔티티를 인증하는 단계; 및Authenticating the external entity via a secure processor located within the communication device; And 상기 외부 엔티티가 인증되면, 상기 보안 프로세서를 통한 보안 거래를 위해 보안 처리를 수행하는 단계를 포함하며,If the external entity is authenticated, performing a secure process for a secure transaction with the secure processor, 상기 보안 유닛은 보안 모듈내에 물리적으로 캡슐화되며 하드코딩된 프로토콜을 통해 상기 보안 메모리로의 인증되지 않은 접속을 방지하도록 구성된 무선 통신 장치용 보안 처리 및 데이터 스토리지 제공 방법.And the security unit is physically encapsulated within a security module and configured to prevent unauthorized access to the secure memory via a hardcoded protocol. 제24항에 있어서, 상기 보안 처리는 상기 보안 프로세서내에 저장된 프로그램 명령에 기초하여 수행되는 무선 통신 장치용 보안 처리 및 데이터 스토리지 제공 방법.25. The method of claim 24, wherein said secure processing is performed based on program instructions stored within said secure processor. 제24항에 있어서, 상기 인증은 인증서 상호교환을 통해 달성되는 무선 통신 장치용 보안 처리 및 데이터 스토리지 제공 방법.25. The method of claim 24, wherein said authentication is achieved through certificate interchange.
KR1020037012011A 2001-03-16 2002-03-15 Method and apparatus for providing secure processing and data storage for a wireless communication device KR100910432B1 (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US27638001P 2001-03-16 2001-03-16
US60/276,380 2001-03-16
US09/826,742 2001-04-05
US09/826,742 US7047405B2 (en) 2001-04-05 2001-04-05 Method and apparatus for providing secure processing and data storage for a wireless communication device
PCT/US2002/007693 WO2002076127A1 (en) 2001-03-16 2002-03-15 Method and apparatus for providing secure processing and data storage for a wireless communication device

Publications (2)

Publication Number Publication Date
KR20030080095A true KR20030080095A (en) 2003-10-10
KR100910432B1 KR100910432B1 (en) 2009-08-04

Family

ID=26957947

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037012011A KR100910432B1 (en) 2001-03-16 2002-03-15 Method and apparatus for providing secure processing and data storage for a wireless communication device

Country Status (4)

Country Link
KR (1) KR100910432B1 (en)
CN (1) CN1504057A (en)
CA (1) CA2441010A1 (en)
WO (1) WO2002076127A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100712835B1 (en) * 2005-03-11 2007-04-30 케이비 테크놀러지 (주) A secure storage apparatus

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004017592A1 (en) * 2002-08-19 2004-02-26 Research In Motion Limited System and method for secure control of resources of wireless mobile communication device
AU2002368304A1 (en) 2002-10-28 2004-05-13 Nokia Corporation Device keys
US11063766B2 (en) 2003-06-13 2021-07-13 Ward Participations B.V. Method and system for performing a transaction and for performing a verification of legitimate access to, or use of digital data
WO2004111751A2 (en) 2003-06-13 2004-12-23 Orbid Limited Method and system for performing a transaction and for performing a verification of legitimate use of digital data
CN101859361B (en) * 2004-01-06 2014-02-19 汤姆逊许可证公司 Safety information transplantation between equipments
KR100947213B1 (en) * 2005-04-06 2010-03-11 브로드콤 코포레이션 Secure conditional access and digital rights management in a multimedia processor
KR100749868B1 (en) * 2005-04-27 2007-08-16 노키아 코포레이션 Device Keys
WO2007091824A1 (en) 2006-02-06 2007-08-16 Lg Electronics Inc. Mbms dual receiver
WO2007108651A1 (en) * 2006-03-22 2007-09-27 Lg Electronics Inc. Security considerations for the lte of umts
DE102006056420B4 (en) * 2006-11-28 2012-11-29 Wago Verwaltungsgesellschaft Mbh Security module and automation system
US8364975B2 (en) 2006-12-29 2013-01-29 Intel Corporation Methods and apparatus for protecting data
CN101526895B (en) * 2009-01-22 2011-01-05 杭州中天微系统有限公司 High-performance low-power-consumption embedded processor based on command dual-transmission
WO2013115773A1 (en) 2012-01-30 2013-08-08 Hewlett-Packard Development Company Secure information access over network
US9398448B2 (en) * 2012-12-14 2016-07-19 Intel Corporation Enhanced wireless communication security
CN103369148B (en) * 2013-07-30 2016-10-05 东莞宇龙通信科技有限公司 Terminal and data processing method
CN103390142B (en) * 2013-07-30 2016-09-21 东莞宇龙通信科技有限公司 A kind of terminal
CN103955653A (en) * 2014-04-17 2014-07-30 福建鼎恩协创电子科技有限公司 Anti-cracking security system, POS (Point Of Sale) machine and method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224160A (en) * 1987-02-23 1993-06-29 Siemens Nixdorf Informationssysteme Ag Process for securing and for checking the integrity of the secured programs
US6026293A (en) * 1996-09-05 2000-02-15 Ericsson Inc. System for preventing electronic memory tampering
GB9626241D0 (en) * 1996-12-18 1997-02-05 Ncr Int Inc Secure data processing method and system
US6084968A (en) * 1997-10-29 2000-07-04 Motorola, Inc. Security token and method for wireless applications
US6201871B1 (en) * 1998-08-19 2001-03-13 Qualcomm Incorporated Secure processing for authentication of a wireless communications device
US6820203B1 (en) * 1999-04-07 2004-11-16 Sony Corporation Security unit for use in memory card
KR20010004791A (en) * 1999-06-29 2001-01-15 윤종용 Apparatus for securing user's informaton and method thereof in mobile communication system connecting with internet
SE515327C2 (en) * 1999-08-27 2001-07-16 Ericsson Telefon Ab L M Device for carrying out secure transactions in a communication device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100712835B1 (en) * 2005-03-11 2007-04-30 케이비 테크놀러지 (주) A secure storage apparatus

Also Published As

Publication number Publication date
KR100910432B1 (en) 2009-08-04
CA2441010A1 (en) 2002-09-26
WO2002076127A1 (en) 2002-09-26
CN1504057A (en) 2004-06-09

Similar Documents

Publication Publication Date Title
US7047405B2 (en) Method and apparatus for providing secure processing and data storage for a wireless communication device
US10595201B2 (en) Secure short message service (SMS) communications
CN109728909B (en) Identity authentication method and system based on USBKey
KR100910432B1 (en) Method and apparatus for providing secure processing and data storage for a wireless communication device
ES2644739T3 (en) Request for digital certificates
Hickman et al. The SSL protocol
EP1512307B1 (en) Method and system for challenge-response user authentication
US9118668B1 (en) Authenticated remote pin unblock
US7979707B2 (en) Secure seed generation protocol
ES2388216T3 (en) Secure universal messaging for remote security witnesses
CN101272616B (en) Safety access method of wireless metropolitan area network
US20150350894A1 (en) Method and System for Establishing a Secure Communication Channel
US20030210789A1 (en) Data transmission links
US20070083766A1 (en) Data transmission links
US20040117623A1 (en) Methods and apparatus for secure data communication links
JP2010259074A (en) Secure session set up based on wireless application protocol
US20150128243A1 (en) Method of authenticating a device and encrypting data transmitted between the device and a server
JP2005515701A6 (en) Data transmission link
US20080065777A1 (en) Method and system for establishing a secure over-the-air (ota) device connection
CN1977559B (en) Method and system for protecting information exchanged during communication between users
JP4213664B2 (en) Non-repudiation of service agreement
Rongyu et al. A PK-SIM card based end-to-end security framework for SMS
TW200537959A (en) Method and apparatus for authentication in wireless communications
Chikomo et al. Security of mobile banking
CN112367329B (en) Communication connection authentication method, device, computer equipment and storage medium

Legal Events

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

Payment date: 20130628

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190624

Year of fee payment: 11