KR20090086577A - Rf 신호 프로세싱 방법 - Google Patents

Rf 신호 프로세싱 방법 Download PDF

Info

Publication number
KR20090086577A
KR20090086577A KR1020097011507A KR20097011507A KR20090086577A KR 20090086577 A KR20090086577 A KR 20090086577A KR 1020097011507 A KR1020097011507 A KR 1020097011507A KR 20097011507 A KR20097011507 A KR 20097011507A KR 20090086577 A KR20090086577 A KR 20090086577A
Authority
KR
South Korea
Prior art keywords
identification code
signal
end receiver
receiver
software
Prior art date
Application number
KR1020097011507A
Other languages
English (en)
Inventor
앤드류 티. 율
이안 사이먼즈
Original Assignee
지오테이트 비.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 지오테이트 비.브이. filed Critical 지오테이트 비.브이.
Publication of KR20090086577A publication Critical patent/KR20090086577A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • G01S19/36Constructional details or hardware or software details of the signal processing chain relating to the receiver frond end
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/35Constructional details or hardware or software details of the signal processing chain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/42User authentication using separate channels for security data
    • G06F21/43User authentication using separate channels for security data wireless channels
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0018Transmission from mobile station to base station
    • G01S5/0036Transmission from mobile station to base station of measured values, i.e. measurement on mobile and position calculation on base station
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2111Location-sensitive, e.g. geographical location, GPS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10TTECHNICAL SUBJECTS COVERED BY FORMER US CLASSIFICATION
    • Y10T29/00Metal working
    • Y10T29/49Method of mechanical manufacture
    • Y10T29/49002Electrical device making
    • Y10T29/49016Antenna or wave energy "plumbing" making

Abstract

RF 신호를 수신하여 프로세싱하는 방법은, (5) RF 신호를 수신하는 단계; 상기 신호를 아날로그 프로세싱하고 디지털 신호 프로세서에 디지털 출력을 제공하는 단계를 포함하고, 여기서 그 디지털 출력은 RF 프론트 엔드 수신기 하드웨어에 고유한 부가 식별 코드를 포함한다. 그 디지털 신호 프로세서 내에서, 그 식별 코드를 기결정된 식별 코드나 코드들의 집합과 비교하여 일치하는 것이 존재하는지 여부를 결정한다. 만약 (10) 일치하는 것이 존재하면, 그 디지털 출력은 사용자에게 데이터를 제공하기 위해 프로세싱되고, 만약 일치하는 것이 존재하지 않으면, 에러 기능이 구현된다. 이 방법은 소프트웨어 개발자로 하여금 하드웨어와 소프트웨어 간에 일치가 될 때에만 그 시스템을 기능하게 하는 것을 가능하게 한다. 이것은 (15) 복사된 소프트웨어가 틀린 하드웨어 배치(batch)와는 함께 작동하지 않을 것이기 때문에, 하드웨어를 복사하는 만큼 소프트웨어를 복사하는 것을 곤란하게 한다.

Description

RF 신호 프로세싱 방법{A method of processing an RF signal}
본 발명은 RF(radio frequency) 신호, 예를 들어 GPS(global positioning system) 신호를 프로세싱하는 방법에 관한 것이다.
Akos 등의 게재문 "Real-time software radio architectures for GPS receivers" (GPS World, 2001.07)에서는, 프로그래머블 마이크로프로세서(programmable micro-processor) 또는 아날로그와 대조되는 디지털 신호 프로세서 또는 개별 하드웨어 콤포넌트들에 의해 GPS 신호 프로세싱이 이루어지는 GPS 소프트웨어 수신기들을 개시하고 있다. 간략화된 "GPS 소프트웨어 수신기"는 GPS 신호 전처리(pre-processing)(이는 필터링, 증폭 및 주파수 하향변환(down-conversion)을 포함) 및 아날로그대디지털(analogue to digital) 변환을 위한 GPS RF 프론트 엔드(front end) 수신기 및 GPS 안테나로 이루어져 있는 것으로서 제공된다.
그 GPS RF 프론트 엔드 수신기로부터 출력된 GPS 신호 샘플(sample)들은 포지션 픽스(position fix)를 결정하기 위해 적절한 GPS 신호 프로세싱 소프트웨어를 실행시키는 최신형 PC 내에 피드(feed)될 수 있다. 이 게재문의 저자들은 "플러그-인"(plug-in) 모듈 형태, 즉 "동글"(dongle) 타입 기기 형태의 GPS 소프트웨어 수 신기를 계획하였고, 이는 그것의 단순한 구조 때문에 값싸게 제조될 수 있었고, 그에 의해 광범위한 채택을 촉진시켰다.
물론, 그 PC 상에 상주할 GPS 신호 프로세싱 소프트웨어는 본래부터 복제하는데 드는 비용이 저렴하다.
먼저 GPS 신호 샘플들을 암호화하고 그리고 나서 그 암호화된 GPS 신호 샘플들을 외부 기기에 전송하도록 그 GPS 수신기 내 프로세서를 구성하는 것이 제안되었다. 이것은 상기에서 기술된 플러그-인 타입의 기존 GPS 수신기 기기들에 관련하여 불이익한 점을 처리하기 위해 의도된다. 일단 이러한 GPS 수신기 기기가 광범위하게 퍼져 있고 그 GPS 수신기 기기가 GPS 신호 샘플들을 제공하는 데이터 포맷이 알려져 있는 경우에, 사용자는 자유롭게 다른 GPS 신호 프로세싱 소프트웨어를 활용하여 포지션 픽스를 결정할 수 있고 반드시 그 GPS 수신기 기기의 제공자의 것이나 또는 그 제공자에 의해 인증된 것을 활용하여야만 하는 것은 아니다. 암호화는, 이러한 GPS 수신기 기기가, 포지션 픽스를 결정하도록 GPS 신호 샘플들을 복호화할 수 있는 인증된 GPS 신호 프로세싱 소프트웨어와만 사용될 수 있음을, 보증한다.
이러한 접근법은 WO 2004/059337에 기술되어 있고, 그것은 특정 소프트웨어는 특정한 수신기와 사용되어야 함을 의미한다.
그러나, 소프트웨어 "도용"(piracy)은 대체적으로 소프트웨어 산업계에서 잘 알려진 문제이고, GPS 소프트웨어를 개발하고 제공하는 기업 생존력을 손상시키는 소프트웨어 도용을 방지할 필요는 여전히 남아 있다.
특히, 소프트웨어 GPS 수신기들을 팔거나 라이센싱(licensing)하기를 희망하 는 회사들이 마주치는 문제는, 제3자들이 적절한 요금을 지불하지 않고 그 소프트웨어를 복사(복제)할 수 있다는 점이다. 이는 완전히 권한부여받지 않은 자에 의한 단순한 절도 또는 더 미묘한 "제3자 교체 문제"(3rd shift problem)일 수 있고, 이에 의해 그 소프트웨어에 관한 권한부여받은 면허소지자는 자신이 자격을 가지고 있는 것보다 더 많은 그 소프트웨어의 사본들을 배포하고 따라서 일부에 대해서만 지불하고 있다.
이는 기존의 하드웨어 GPS 납품업체들에 의해 공통적으로 마주치는 문제가 아닌데, 왜냐하면 물리적 칩 (또는 칩들)을 복사하는 것은 본래 훨씬 더 어렵기 때문이다. 따라서 본 발명은 상기에서 기술된 소위 소프트웨어 GPS 시스템들에 특별하게 관심을 가진다.
본 발명은 소프트웨어 GPS 제품의 권한없는 복사를 방지하는 메커니즘을 제공하는 것을 목표로 하고, 이에 따라 오너(owner)/개발자의 사업 이윤 또는 이득을 보호한다.
본 발명에 따라, 모바일 수신기를 가진 사용자에게 데이터를 제공하는 RF 신호를 수신하여 프로세싱하는 방법이 제공되고, 상기 방법은,
상기 모바일 수신기의 RF 프론트 엔드 수신기 내에서,
RF 신호를 수신하고;
상기 신호를 아날로그 프로세싱(analogue processing)하며; 그리고
RF 프론트 엔드 수신기 하드웨어에 고유한 부가 식별 코드(added identification code)를 포함하는 디지털 출력을 제공하고,
상기 디지털 출력을 디지털 신호 프로세서에 제공하며; 그리고
상기 디지털 신호 프로세서 내에서, 상기 식별 코드를 기결정된 식별 코드나 코드들의 집합과 비교하여 일치(match)하는 것이 존재하는지 여부를 결정하고, 만약 일치하는 것이 존재하면, 상기 사용자에게 상기 데이터를 제공하기 위해 상기 디지털 출력을 프로세싱하고, 만약 일치하는 것이 존재하지 않으면, 에러 기능(error function)을 구현하는 것을 포함한다.
이 방법은 소프트웨어 개발자가 하드웨어 및 소프트웨어 간에 일치가 될 때에만 그 시스템을 기능하게 하는 것을 가능하게 한다. 이는, 복사된 소프트웨어가 틀린 하드웨어와는 작동하지 않을 것이기 때문에, 하드웨어를 복사하는 것만큼 소프트웨어를 복사하는 것을 어렵게 만든다.
상기 신호를 아날로그 프로세싱하는 것은 중간 주파수(intermediate frequency)로 하향 변환하는 것을 포함할 수 있다. 상기 신호는 디지털 신호로 변환되고, 고유 식별자가 부가된다.
식별 코드를 부가하는 것은 RF 프론트 엔드 수신기의 반도체 IC(integrated circuit)의 웨이퍼(wafer) 위치로부터 유래된 코드를 부가하는 것을 포함할 수도 있다. 각 IC는 (예를 들어 웨이퍼/배치(batch) 번호 및 웨이퍼 위치에 기반하는) 고유 코드를 가질 수 있다. 그러므로 이론상으로, 소프트웨어와 하드웨어의 일대일 일치가 이루어지는 것이 가능하다.
그렇지만, 그것은 소프트웨어가 RF 프론트 엔드 수신기 IC의 특정 변형물(variant)에 대해서만 동작가능하기에, 그리고 에러 메시지가 다른 변형물들에 관해 발생하기에 충분하다. 그래서 상기 IC의 이러한 변형물이, 팔린 소프트웨어 라이센스들의 수와 비교하여, 얼마나 많이 제조되었고 판매되었는지를 비교하는 것이 용이하다.
상기 에러 기능을 구현하는 것은 에러 메시지를 제공하는 것, 축소된 기능(reduced functionality)으로 동작하는 것, 또는 상기 디지털 출력을 프로세싱하지 않는 것을 포함할 수 있다.
상기 RF 신호는 바람직하게는 위성 기반 내비게이션 시스템(예컨대 GPS)으로부터 수신된 확산 스펙트럼 신호(spread spectrum signal)를 포함하고, 상기 디지털 출력을 프로세싱하는 것은 내비게이션 정보를 제공하기 위한 것이다.
본 발명은 또한 RF 프론트 엔드 수신기를 제조하는 방법을 제공하고, 그 방법은 다음을 포함한다:
RF 프론트 엔드 수신기 하드웨어에 고유한 엠베디드된(embedded) 식별 코드를 가지는 RF 프론트 엔드 수신기를 만드는 것 [여기서 상기 RF 프론트 엔드 수신기는 상기 식별 코드를 자신의 디지털 출력의 일부로서 디지털 신호 프로세서에 제공하도록 구성되고, 그리고 상기 엠베디드된 식별 코드는 상기 디지털 출력을 프로세싱하기 위해 상기 디지털 신호 프로세서에 구현되는 소프트웨어의 소프트웨어 제공자와 합치되는 것임].
상기 RF 프론트 엔드 수신기 하드웨어의 식별 코드를 상기 소프트웨어 제공자와 일치시킴으로써, 상기 하드웨어의 판매로써 소프트웨어 라이센스들의 판매를 추적하는 것이 가능하게 된다.
따라서, RF 프론트 엔드 수신기를 제조하고 모니터링하는 방법은, 이러한 방법을 이용하여 상기 RF 프론트 엔드 수신기를 제조하고, 상기 RF 프론트 엔드 수신기를 판매하며, 그리고 상기 RF 프론트 엔드 수신기의 구매자의 신원(identity)에 관해 상기 소프트웨어 제공자에게 통지하는 것을 포함한다.
본 발명은 또한, RF 프론트 엔드 수신기의 하드웨어에 고유한 식별 코드가 부가된 것으로, 사용자에게 데이터를 제공하기 위한 RF 신호에 대응되는 디지털 샘플링된 신호(digitally sampled signal)를 포함하는 디지털 신호를 분석하도록 구성된 컴퓨터 프로그램 코드 수단들을 포함하는 컴퓨터 프로그램을 제공하고, 여기서 상기 분석은, 상기 식별 코드를 기결정된 식별 코드나 코드들의 집합과 비교하여 일치하는 것이 존재하는지 여부를 결정하고, 만약 일치하는 것이 존재하면, 상기 사용자에게 상기 데이터를 제공하기 위해 상기 디지털 출력을 프로세싱하고, 만약 일치하는 것이 존재하지 않으면, 에러 기능을 구현하는 것을 포함하는, 컴퓨터 프로그램을 제공한다.
본 발명은 또한,
RF 신호를 수신하는 안테나;
RF 프론트 엔드 수신기 하드웨어에 고유한 식별 코드를 부가하여 디지털 출력을 제공하도록 구성된 RF 프론트 엔드 수신기;
상기 디지털 출력을 수신하는 디지털 신호 프로세서; 및
상기 디지털 신호 프로세서 내에 구현되어, 상기 식별 코드를 기결정된 식별 코드나 코드들의 집합과 비교하여 일치하는 것이 존재하는지 여부를 결정하고, 만약 일치하는 것이 존재하면 상기 사용자에게 상기 데이터를 제공하기 위해 상기 디지털 출력을 프로세싱하고, 만약 일치하는 것이 존재하지 않으면 에러 기능을 구현하도록 구성된 소프트웨어를 포함하는 RF 신호 수신기를 제공한다.
도 1은 기존의 GPS 수신기 구조를 도식적인 형태로 보여주는 도면이고;
도 2는 RF 프론트 엔드 수신기를 더 상세하게 보여주는 도면이며; 그리고
도 3은 본 발명의 방법을 설명하기 위해 사용되는 도면이다.
이제 본 발명은, 첨부된 도식적인 도면들을 참조하여, 예시적인 방식으로만, 기술될 것이다.
본 발명은 대체적으로 RF 신호 수신기들에 관한 것이지만, 특히 소위 "소프트웨어 GPS", 말하자면 수신된 데이터가 메모리 버퍼에 저장되며 모든 데이터 프로세싱이 소프트웨어로 구현되는 GPS 시스템에 대하여 관심을 두고 있다. 이는 그 수신기의 실시간 링크가 끊어지는 것을 허용하고, 요구되는 전용 하드웨어(예컨대 상관기(correlator)들)의 양을 감소시킨다.
소프트웨어 GPS 수신기(30)의 기본 구조는 도 1에 나타나 있다.
그 수신기는 수신기 프론트 엔드(32)를 포함하고, 그 수신기 프론트 엔드(32)는 안테나(34)를 이용하여 무선 신호들을 수신한다. 수신기 프론트 엔드(32) 는 하나 이상의 위성들로부터 변조된 RF 신호들을 수신한다.
그 수신된 신호는 수신기 프론트 엔드(32)에 의해 증폭되고, 필터링되고, 하향변환되며, 그리고 디지털화되어, 그 수신된 신호로부터 유래된 기저대역 신호(33)를 산출하며, 이는 디지털화된 샘플들의 형태를 갖는다.
그 디지털화된 샘플들은 메모리 버퍼(36)에 제공되고, 그 메모리(36)에 저장된 데이터는 범용 CPU 즉 디지털 신호 프로세서(digital signal processor; DSP, 38)에 의해 프로세싱된다. 사용자 인터페이스는 입력/출력 시스템(40)에 의해 제공된다. 그 디지털화된 샘플들은 위성 신호들로부터 정보 및 데이터를 추출하기 위해 프로세싱된다. 그 데이터 샘플들은 전형적으로 1 또는 2 비트 데이터의 형태이고, 위성들로부터 수신된 신호들의 데이터율(data rate)보다 훨씬 더 높은 아날로그대디지털 샘플링율(sampling rate)을 가진다.
DSP(38)는 더 기존의 전용 하드웨어 시스템들의 기능들, 상관(correlation), 다중화(multiplexing) 및 푸리에 변환 기능들을 알려진 방식으로 구현한다.
도 2는 RF 프론트 엔드 수신기(32)를 더 상세하게 보여준다.
안테나로부터 수신된 신호들은 저잡음 증폭기(low noise amplifier; LNA, 52)에 의한 증폭 전에 탄성 표면파(surface acoustic wave; SAW) 필터(50)에 의해 필터링된다. 그 신호들은 믹서(mixer, 54)에서 전압 제어 오실레이터(voltage controlled oscillator; VCO, 56)의 출력과 함께 믹싱된다. 이것은 그 신호들을 기저대역으로 하향 변환하고, 그 기저대역에서는 그 신호들은 필터(60)에 의한 필터링 및 증폭기(62)에서의 자동 이득 제어(automatic gain control; AGC)에 관한 증 폭을 더 겪는다. 아날로그대디지털 변환은 변환기(63)에서 일어나는데, 그 변환기(63)는 또한 AGC 세팅(setting)에 대해 피드백 제어(feedback control)를 제공한다. 그 RF 프론트 엔드 수신기는 또한 보이는 바와 같이 오실레이터(64) 및 주파수 합성기(frequency synthesizer, 66)를 포함하고, 그 주파수 합성기는 클록 신호(CLK)를 생성하기 위해 클록 드라이버(clock driver, 68)를 제어한다.
본 발명은 특히, 도 1의 화살표(33)에 의해 나타난 바와 같은, 그 RF 프론트 엔드 수신기 및 그 DSP 간의 링크 및 그 DSP(38)에 구현된 프로세싱에 관심을 가진다.
본 발명은 이 인터페이스에 그 RF 프론트 엔드 수신기 하드웨어에 고유한 식별 코드를 제공하고, 이 코드는 그 DSP 내 소프트웨어에서 유효성이 확인될 수 있다(validated). 따라서, 그 소프트웨어는 특정 하드웨어에 결합될 수 있다. 이는, 복사된 소프트웨어가 다른 RF 프론트 엔드 수신기 하드웨어와 일치되지 않을 것이기 때문에 (또는 일치될 가망이 없을 것이기 때문에), 소프트웨어를 복사하는 것의 용이성이 기능 시스템이 구현되는 것을 가능하게 하지 않는다는 것을 의미한다. (그 소프트웨어는 RF 프론트 엔드 수신기 칩들의 배치(batch)에만 신경을 쓰기 때문에) 비록 일치가 있을지라도 그때 하드웨어 판매 및 소프트웨어 판매 간의 불일치가 탐지될 수 있다.
도 2는, 데이터 결합기(data combiner, 67)에서, 아날로그대디지털 변환기(63)의 출력에서의 데이터에 부가된 UID를 보여주고 있고, 그 데이터 결합기(67)는 유닛(69)으로부터 그 UID를 공급받는다.
제1 측면에서, 본 발명은 소프트웨어 GPS 수신기에서 사용되는 RF 프론트 엔드 칩의 제조자들이 소프트웨어 GPS 코드의 개발자들과 협력하도록 준비됨을 가정한다.
특히, 본 발명의 이 측면은 프론트 엔드 칩 제조자들이 특히 소프트웨어 GPS 개발자에 대해 그 RF 프론트 엔드의 맞춤형 변형물(custom variant)을 생성할 것을 요구한다. 이는 그 제조자가 소프트웨어 개발자에게 반드시 그 변형물을 공급할 것임을 의미하는 것은 아니고, 그들은 소프트웨어 개발자에게 그 변형물의 모든 오더(order)들의 구매자 및 오더 크기(order size)를 제공할 것을 의미한다.
모든 RF 프론트 엔드 칩들은, (그 칩의 어떠한 변형물의) 어떠한 다른 프론트 엔드도 동일한 고유 식별자("UID")를 포함하지 않는 식으로, 고유 식별자("UID")를 포함할 것이다. 그 경우 그 RF 프론트 엔드는, 정상 동작 동안에 그 UID가 알려진 방식으로 그 칩에 의해 출력된 중간 주파수(intermediate frequency; "IF") 데이터 스트림으로 엠베디드되는 방식으로 설계된다.
따라서 소프트웨어 개발자는, 동작 동안에 그 IF 데이터 스트림으로부터 UID를 추출하여 그것이 유효한지를 체크하고 유효하지 않으면 동작하길 거부하는 식으로 그 소프트웨어 GPS 코드를 작성할 수 있다. 이는, 소프트웨어 개발자가 임의의 부가적인 칩 판매에 관해 RF 프론트 엔드 납품업자로부터 들을 수 있기 때문에, 권한없이 복사하는 것을 무익하게 만든다.
본 발명의 가장 단순한 형태는 소프트웨어 GPS 개발자("당해 소프트웨어 개발자")가 특정 제조업자인 "당해 제조업자"에 의해 만들어진 특정 RF 프론트 엔드 모델 수 "RF Model N"에서 자신의 소프트웨어가 실행되도록 설계하는 것을 수반할 것이다.
그 RF Model N의 설계는, 그것이, 예를 들어 생산 라인 상에서 레이저에 의해 "새겨지는"(burnt in) 64 비트 UID를 포함하도록 된다.
이 UID는 다음을 포함하는 필드(field)들로 이루어질 수 있다:
- 웨이퍼 상에서의 칩의 위치;
- 웨이퍼 번호(wafer number); 및
- 변형물 번호(variant number) (예를 들어 8비트).
그러므로, UID는 고유하고 그리고 어떠한 두 개의 칩들도 동일한 번호를 포함하지 않을 것이다.
제1 변형물은 모든 칩들에 대하여 0으로 설정된 변형물 번호를 가질 수 있다. 그러면 당해 소프트웨어 개발자는 당해 제조업자와, "RF Model N version 2"로 불리는 RF Model N의 변형물을 만들 것과 모든 이러한 변형물들은 8비트 변형물 필드가 항상 1일 것이라는 점을 제외하고 Model N과 동일할 것임에 합의할 수 있다. 그러면 당해 제조업자는 그 변형물 필드가 또한 1인 어떠한 다른 변형물들도 만들지 않을 것임에 동의할 수 있다.
RF 프론트 엔드 수신기는 그것이 동작하고 있을 때 그것이 출력하는 IF 데이터 스트림 내로 그 UID를 주기적으로 엠베딩(embedding)하도록 설계된다.
당해 제조업자는 또한 당해 소프트웨어 개발자에게 구매자의 신원 및 오더 크기를 포함하는, "RF Model N version 2" 변형물에 대한 모든 오더들의 상세를 제 공하는 것에 동의한다.
그러면 당해 소프트웨어 개발자는 소프트웨어 GPS 제품을 개발하고 그것을 제3자 개발자에게 라이센싱할 수 있다. 그때 당해 소프트웨어 개발자는 그 제3자 개발자에게, 설계시에 "RF Model N version 2"를 사용할 필요가 있고, 실행 시간에 그 소프트웨어는 그것이 프로세싱하는 IF 데이터 스트림으로부터 UID를 추출하도록 쓰여진다는 것을 말해준다.
만약 UID가 적절한 값(이 경우에서는 1)을 가진 변형물 필드를 포함하지 않는다면, 그 경우 그 소프트웨어는 정확하게 동작하지 않을 것이다.
이 예에서, 단지 변형물 번호만이 DSP에 의해 분석될 필요가 있다. 물론, 특정 변형물 번호가 UID 코드들의 집합과 같다고 고려될 수 있다.
이 구현은 칩 모델 번호로 맵핑되는 소프트웨어 또는 변형물을 제공하고, 이것은 수천개의 칩들을 포함할 수도 있다. 더 정교한 콘트롤을 갖는 것이 동등하게 가능하다. 예를 들어, 소프트웨어는 수천 개의 칩들의 배치에 대하여 하나의 UID (즉 하나의 맞춤 소프트웨어를 단일의 하드웨어에 매칭시키는 것)로부터 임의의 개수의 UID들과 일치되는 것들을 찾을 수 있다.
UID가 IF 데이터 스트림에 엠베디드되는 방법은, 그렇지 않으면 출력되었을 IF 데이터 샘플들을 겹쳐씀으로써, 아니면 인접한 IF 샘플들 간에 그 코드를 실제로 삽입함으로써, 예를 들어 매 1024 비트마다 최대 코드(full code)(예: 64비트)를 삽입하는 만큼 단순한 것일 수 있다. 그러나, 그 UID는 또한 IF 데이터 스트림 내에 확산될 수 있다 - 한 번에 한 비트의 한계로, 예를 들어 32비트의 간격으로 삽입될 수 있다.
그 방법론은 도 3에 나타나 있다.
당해 제조업자는 엠베디드 UID를 가진 칩을 제조하는 단계들 (70단계)을 실행하고, 그 엠베디드 UID는 당해 소프트웨어 개발자와 합치되어 있다. 이와 병행하여, GPS 코드가, 합치된 UID들 배치(batch)를 가진 특정 변형물에 대해 개발된다 (72단계). 그 하드웨어의 판매 후에, 당해 제조업자는 계속하여 당해 소프트웨어 개발자에게 그 변형물의 판매에 관해 통고하고 (74단계) 당해 소프트웨어 개발자는 칩 판매와 일치되어야 할 그 GPS 코드의 판매 또는 라이센스를 모니터링한다 (76단계).
상기에서 언급한 바와 같이, 당해 제조업자는 당해 소프트웨어 개발자에게 "RF Model N version 2"를 주문하는 각 소비자에게 공급되는 정확한 UID들에 관한 상세한 정보를 제공할 수 있고, 따라서 당해 소프트웨어 개발자가 그 UID들에 특정하게 연결된 그 소프트웨어의 변형물들을 특정 소비자나 소비자들에 의해 구매되게 만들 수 있게 해 준다.
그 소프트웨어에 의해 무효(invalid) UID가 탐지되거나 또는 어떠한 UID도 탐지되지 않은 경우에, 다수의 일어날 수 있는 것들이 가능하다:
- 단순하게 중지하는 것;
- 그 사용자에게 에러 메시지를 보고하는 것; 및
- (사용자에 대한 메시지를 구비하거나 또는 구비하지 않으면서) 저하된(degrade) 성능으로 동작하는 것.
UID는 소정 형태의 순환 중복 검사(cyclic redundancy check) 또는 사실상 그것을 위조하기 더 어렵게 만드는 암호화를 포함할 수 있다.
UID가 엠베디드되는 방식은 소프트웨어에 의해 (그 프론트 엔드에 적절한 제어 신호들을 송신함으로써) 제어될 수 있다. 이는 한 회에서의 비트들의 수, 그 주기를 변화시키는 것, 완전히 끄는 것(turning off), 올바른 삽입 또는 겹쳐쓰기가 이용되는지 여부를, 요청 시에만 한 번 삽입하는 것을 포함할 수 있다. 이 모두는 제3자가 그 방식을 "깨뜨리는" 것을 더 어렵게 만들 것이다.
그 칩들은 또한, 그 IF 스트림에 엠베디드되는 코드가, 그 프론트 엔드 내로 실행시간(run-time)에 업로드되는 코드에 의해 증대되거나(augmented) 또는 대체되는 것을 허용할 EEPROM을 포함할 수 있다. 이러한 특징은, UID가 제출되고 그것이 유효하면, 그 UID에 기반한 암호화된 코드가 반환(return)되는 (예를 들어 당해 소프트웨어 개발자에 의해 실행되는 온라인 서버를 이용한) 소정 형태의 "등록"(registration)과 연관되어 사용될 수 있다.
이 경우에, 그 소프트웨어 GPS 코드는, 합법적인 UID 및 일치하는 암호화된 코드 양쪽 모두가 보일 때에만, 충분하게 기능하도록 쓰여질 수 있을 것이다. 이러한 옵션은 당해 제조업자가 구매된 칩들의 충분한 상세 또는 맞춤형 변형체 중 어느 하나도 제공할 수 없거나 제공하지 않을 경우에만 특히 적절한데, 왜냐하면 그것은 당해 소프트웨어 개발자로 하여금 그 UID에 관한 어떠한 사전 지식 없이도 그 UID에 근거하여 자신의 소프트웨어를 방비하는 것을, 즉 그 소프트웨어의 보안을 확보하는 것을 허용하기 때문이다.
본 발명의 시스템은, 소프트웨어 GPS 코드를 형성하는 소프트웨어, 예를 들어 내비게이션 어플리케이션들 및 사용 맵들과 연결된 소프트웨어에 대한 보호를 허용한다.
알려진 소프트웨어 GPS 시스템들의 이점들은 본 발명의 시스템에서 모두 얻어질 수 있다. 예를 들어, 본 발명의 시스템은, 샘플링된 GPS 데이터가 메모리 버퍼로부터 이용가능하자마자 그 샘플링된 GPS 데이터의 라이브(live) 프로세싱에 사용될 수 있고, 또는 그 프로세싱은 나중에 그리고 또한 가능하면 다른 위치에서 일어날 수도 있다. 따라서, 수신기는 그 GPS 데이터를 해석하기 위한 프로세싱 성능 모두를 포함하지 않을 수도 있다.
본 발명은 소프트웨어 GPS와 관련하여 상기에서 기술되었지만, 그것은 다른 내비게이션 시스템들 및/또는 다른 소프트웨어 무선통신들에 마찬가지로 적용할 수 있다. 따라서 본 발명은 또한 현재 개발 중인 갈릴레오 내비게이션 시스템(Galileo navigation system)에 마찬가지로 적용가능하다.
고유 ID들(UID들)을 포함하는 칩들의 제조 및 판매는 예를 들어 EEPROM 칩의 경우에 잘 알려져 있고, 따라서 UID를 제공하는 것은 관련 기술분야에서 숙련된 자들에게 자명할 것임이 유념된다.
본 개시물의 내용을 파악한 경우, 다른 변형예들이 그 숙련자, 즉 당업자에게는 명백할 것이고, 그리고 이 문서에서 이미 기술된 특징들 대신에 또는 그 특징들에 부가하여 사용될 수도 있는 특징들로서, GPS 수신기 및 그것의 콤포넌트 부품들의 설계, 제조 및 사용에 있어서 이미 알려져 있는 다른 특징들을 포함할 수도 있다.

Claims (16)

  1. 모바일 수신기를 가진 사용자에게 데이터를 제공하는 RF(radio frequency) 신호를 수신하여 프로세싱하는 방법에 있어서,
    상기 모바일 수신기의 RF 프론트 엔드(front end) 수신기 내에서,
    상기 RF 신호를 수신하고;
    상기 신호를 아날로그 프로세싱(analogue processing)하며; 그리고
    RF 프론트 엔드 수신기 하드웨어에 고유한 부가 식별 코드(identification code)를 포함하는 디지털 출력을 제공하고;
    상기 디지털 출력을 디지털 신호 프로세서(digital signal processor)에 제공하며; 그리고
    상기 디지털 신호 프로세서 내에서, 상기 식별 코드를 기결정된 식별 코드나 코드들의 집합과 비교하여 일치(match)하는 것이 존재하는지 여부를 결정하고, 만약 일치하는 것이 존재하면, 상기 사용자에게 상기 데이터를 제공하기 위해 상기 디지털 출력을 프로세싱하고, 만약 일치하는 것이 존재하지 않으면, 에러 기능(error function)을 구현하는 것을 포함하는 RF 신호 프로세싱 방법.
  2. 제1항에 있어서,
    상기 신호를 아날로그 프로세싱하는 것은 중간 주파수(intermediate frequency)로 하향 변환(down converting)하는 것을 포함하는, RF 신호 프로세싱 방법.
  3. 제1항 또는 제2항에 있어서,
    식별 코드를 부가하는 것은 상기 RF 프론트 엔드 수신기의 반도체 IC(integrated circuit)의 웨이퍼(wafer) 위치로부터 유래된 코드를 부가하는 것을 포함하는, RF 신호 프로세싱 방법.
  4. 제3항에 있어서,
    식별 코드를 부가하는 것은 상기 반도체 IC의 배치 번호(batch number)로부터 유래된 코드를 부가하는 것을 포함하는, RF 신호 프로세싱 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 에러 기능을 구현하는 것은 에러 메시지를 제공하는 것, 축소된 기능(reduced functionality)으로 동작하는 것, 또는 상기 디지털 출력을 프로세싱하지 않는 것을 포함하는, RF 신호 프로세싱 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 RF 신호는 위성 기반 포지셔닝 시스템(satellite based positioning system)으로부터 수신된 확산 스펙트럼 신호(spread spectrum signal)을 포함하고,
    상기 디지털 출력을 프로세싱하는 것은 내비게이션 정보를 제공하기 위한 것 인, RF 신호 프로세싱 방법.
  7. RF(radio frequency) 프론트 엔드(front end) 수신기를 제조하는 방법에 있어서,
    RF 프론트 엔드 수신기 하드웨어에 고유한 엠베디드된 식별 코드(embedded identification code)를 가진 RF 프론트 엔드 수신기(32)를 제조하는 것을 포함하고, 상기 RF 프론트 엔드 수신기는 상기 식별 코드를 자신의 디지털 출력의 일부로서 디지털 신호 프로세서(digital signal processor)에 제공하도록 구성되며, 상기 엠베디드된 식별 코드는 상기 디지털 출력을 프로세싱하기 위해 상기 디지털 신호 프로세서에 구현되는 소프트웨어의 소프트웨어 제공자와 합치되는 것인, RF 프론트 엔드 수신기 제조 방법.
  8. 제7항에 있어서, 상기 RF 프론트 엔드 수신기는
    위성 기반 포지셔닝 시스템(satellite based positioning system)으로부터 확산 스펙트럼 신호(spread spectrum signal)를 수신하기 위한 것인, RF 프론트 엔드 수신기 제조 방법.
  9. RF(radio frequency) 프론트 엔드(front end) 수신기를 제조하고 모니터링하는 방법에 있어서,
    제7항 또는 제8항의 방법을 이용하여 상기 RF 프론트 엔드 수신기(32)를 제 조하고;
    상기 RF 프론트 엔드 수신기를 판매하며; 그리고
    소프트웨어 제공자에게 상기 RF 프론트 엔드 수신기의 구매자의 신원에 관해 통지하는 것을 포함하는 RF 프론트 엔드 수신기 제조 및 모니터링 방법.
  10. RF(radio frequency) 프론트 엔드(front end) 수신기의 하드웨어에 고유한 식별 코드(identification code)가 부가된 것으로, 사용자에게 데이터를 제공하기 위한 RF 신호에 대응되는 디지털 샘플링된 신호(digitally sampled signal)를 포함하는 디지털 신호를 분석하도록 구성된 컴퓨터 프로그램 코드 수단들을 포함하는 컴퓨터 프로그램으로서,
    상기 분석은, 상기 식별 코드를 기결정된 식별 코드나 코드들의 집합과 비교하여 일치(match)하는 것이 존재하는지 여부를 결정하고, 만약 일치하는 것이 존재하면, 상기 사용자에게 상기 데이터를 제공하기 위해 상기 디지털 출력을 프로세싱하고, 만약 일치하는 것이 존재하지 않으면, 에러 기능(error function)을 구현하는 것을 포함하는, 컴퓨터 프로그램.
  11. RF(radio frequency) 신호 수신기에 있어서,
    RF 신호를 수신하는 안테나;
    RF 프론트 엔드(front end) 수신기 하드웨어에 고유한 식별 코드(identification code)를 부가하여 디지털 출력을 제공하도록 구성된 RF 프론트 엔드 수신기(32);
    상기 디지털 출력을 수신하는 디지털 신호 프로세서(digital signal processor, 38); 및
    상기 디지털 신호 프로세서 내에 구현되어, 상기 식별 코드를 기결정된 식별 코드나 코드들의 집합과 비교하여 일치(match)하는 것이 존재하는지 여부를 결정하고, 만약 일치하는 것이 존재하면 사용자에게 데이터를 제공하기 위해 상기 디지털 출력을 프로세싱하고, 만약 일치하는 것이 존재하지 않으면 에러 기능(error function)을 구현하도록 구성된 소프트웨어를 포함하는 RF 신호 수신기.
  12. 제11항에 있어서,
    상기 RF 프론트 엔드 수신기는 상기 RF 신호를 중간 주파수(intermediate frequency)로 하향 변환(down converting)하도록 구성되는, RF 신호 수신기.
  13. 제11항 또는 제12항에 있어서,
    상기 식별 코드는 상기 RF 프론트 엔드 수신기의 반도체 IC(integrated circuit)의 웨이퍼(wafer) 위치로부터 유래된 코드를 포함하는, RF 신호 수신기.
  14. 제13항에 있어서,
    상기 식별 코드는 상기 반도체 IC의 웨이퍼 배치 번호(wafer batch number)로부터 유래된 코드를 포함하는, RF 신호 수신기.
  15. 제11항 내지 제14항 중 어느 한 항에 있어서,
    상기 에러 기능은, 에러 메시지, 축소된 기능(reduced functionality)을 갖는 동작 모드, 또는 상기 디지털 출력을 프로세싱하지 않는 기능을 포함하는, RF 신호 수신기.
  16. 제11항 내지 제15항 중 어느 한 항에 있어서,
    상기 수신기는 위성 기반 내비게이션 시스템(satellite based navigation system)으로부터 수신된 확산 스펙트럼 신호(spread spectrum signal)를 수신하고,
    상기 데이터는 내비게이션 정보를 포함하는, RF 신호 수신기.
KR1020097011507A 2006-12-04 2007-12-03 Rf 신호 프로세싱 방법 KR20090086577A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP06125357 2006-12-04
EP06125357.1 2006-12-04

Publications (1)

Publication Number Publication Date
KR20090086577A true KR20090086577A (ko) 2009-08-13

Family

ID=39327411

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097011507A KR20090086577A (ko) 2006-12-04 2007-12-03 Rf 신호 프로세싱 방법

Country Status (6)

Country Link
US (1) US20100142594A1 (ko)
EP (1) EP2102677B1 (ko)
JP (1) JP5415278B2 (ko)
KR (1) KR20090086577A (ko)
CN (1) CN101627318B (ko)
WO (1) WO2008068704A2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087219B2 (en) 2008-06-16 2015-07-21 Infineon Technologies Ag Circuit with a plurality of modes of operation
EP2339378B1 (en) 2009-12-17 2013-03-20 u-blox AG Hybrid satellite positioning receiver
KR20200133062A (ko) * 2019-05-15 2020-11-26 삼성디스플레이 주식회사 디스플레이 구동 집적 회로 및 이를 포함하는 디스플레이 시스템

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0084441A3 (en) * 1982-01-19 1984-08-22 Tabs Limited Method and apparatus for the protection of proprietary computer software
US5499295A (en) * 1993-08-31 1996-03-12 Ericsson Inc. Method and apparatus for feature authorization and software copy protection in RF communications devices
US7313828B2 (en) * 2001-09-04 2007-12-25 Nokia Corporation Method and apparatus for protecting software against unauthorized use
US7228567B2 (en) * 2002-08-30 2007-06-05 Avaya Technology Corp. License file serial number tracking
GB0230133D0 (en) 2002-12-24 2003-01-29 Koninkl Philips Electronics Nv GPS receiver device and related method and apparatus
US20040223614A1 (en) * 2003-05-08 2004-11-11 Seaman Philip Jeffrey Secure video receiver
US7409563B2 (en) * 2003-07-22 2008-08-05 Lockheed Martin Corporation Method and apparatus for preventing un-authorized attachment of computer peripherals
US7272500B1 (en) * 2004-03-25 2007-09-18 Avaya Technology Corp. Global positioning system hardware key for software licenses
GB0418357D0 (en) * 2004-08-18 2004-09-22 Koninkl Philips Electronics Nv Gps receiver and related method and apparatus
JP2007199000A (ja) * 2006-01-30 2007-08-09 Mitsubishi Electric Corp Gps端末システム、gpsモジュール、及び本体装置
US8219710B2 (en) * 2006-10-28 2012-07-10 General Motors Llc Method of establishing a data connection with a telematics-equipped vehicle

Also Published As

Publication number Publication date
JP5415278B2 (ja) 2014-02-12
JP2010511884A (ja) 2010-04-15
CN101627318A (zh) 2010-01-13
WO2008068704A2 (en) 2008-06-12
EP2102677A2 (en) 2009-09-23
EP2102677B1 (en) 2014-08-20
CN101627318B (zh) 2013-01-16
WO2008068704A3 (en) 2008-08-21
US20100142594A1 (en) 2010-06-10

Similar Documents

Publication Publication Date Title
US7272500B1 (en) Global positioning system hardware key for software licenses
US6728880B1 (en) Secure time on computers with insecure clocks
KR101219819B1 (ko) 디지털 어플리케이션을 라이센싱하기 위한 유연한 라이센싱 아키텍처
US10659187B2 (en) Securely providing a receiver unit with a replica pseudo-random noise code
US9069936B2 (en) Licensing verification for application use
CN103038775B (zh) 电子证书管理
US7831517B1 (en) Single binary software license distribution
TW475103B (en) Public cryptographic control unit and system therefor
CN102737200B (zh) 使用数字许可证的软件激活
US20050086391A1 (en) Location sensitive software download
US20110210829A1 (en) Method of Actively Tagging Electronic Designs and Intellectual Property Cores
JP2008532174A (ja) デジタル著作権管理におけるコンテンツ利用制限方法
US20060015465A1 (en) Apparatus, method and program for license information ascertainment
KR20060135868A (ko) 위치 보증 서버, 위치 보증 시스템 및 위치 보증 방법
US9152749B2 (en) Management system, method and apparatus for licensed delivery and accounting of electronic circuits
JP2010282322A (ja) 認証システム及び認証方法
KR20090086577A (ko) Rf 신호 프로세싱 방법
EP1579236B1 (en) Gps receiver with encrypted data transmission
EP1747504B1 (en) Preventing cloning of high value software using embedded hardware and software functionality
JP2013171346A (ja) 制御システム、制御装置及びプログラム実行制御方法
US7898409B2 (en) Circuit for exclusion zone compliance
JP2008276603A (ja) 認証システムおよび判定方法
WO2022148149A1 (zh) 一种许可证文件的管理方法、装置和设备
JP2002341956A (ja) 情報処理半導体装置、デバッグ許可鍵装置および情報処理半導体システム
WO2024070001A1 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid