KR100678918B1 - 자동 업데이트 장치 및 방법 - Google Patents

자동 업데이트 장치 및 방법 Download PDF

Info

Publication number
KR100678918B1
KR100678918B1 KR1020050101966A KR20050101966A KR100678918B1 KR 100678918 B1 KR100678918 B1 KR 100678918B1 KR 1020050101966 A KR1020050101966 A KR 1020050101966A KR 20050101966 A KR20050101966 A KR 20050101966A KR 100678918 B1 KR100678918 B1 KR 100678918B1
Authority
KR
South Korea
Prior art keywords
data
authentication information
transmitted
authentication
hash value
Prior art date
Application number
KR1020050101966A
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 삼성전자주식회사
Priority to KR1020050101966A priority Critical patent/KR100678918B1/ko
Priority to US11/582,420 priority patent/US8522359B2/en
Application granted granted Critical
Publication of KR100678918B1 publication Critical patent/KR100678918B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data

Abstract

본 발명은 자동 업데이트 장치 및 방법에 관한 것으로서, 더욱 상세하게는 클라이언트가 네트워크로 연결된 서버로부터 수신된 데이터를 통해 업데이트를 수행하는 자동 업데이트 장치 및 방법에 관한 것이다.
본 발명의 실시예에 따른 자동 업데이트 장치는, 소정 기기로부터 수신할 제 1데이터 및 제 2데이터로 이루어진 데이터에 대한 인증 정보를 저장하는 단계, 상기 기기로부터 상기 데이터 중 상기 제 1데이터를 수신하는 단계, 및 상기 인증 정보를 통해 상기 수신된 제 1데이터에 대한 인증을 수행하고, 상기 인증 결과에 따라 상기 데이터의 수신 여부를 결정하는 단계를 포함한다.
서버, 클라이언트, 업데이트, 인증

Description

자동 업데이트 장치 및 방법{Apparatus and method for auto updating}
도 1은 본 발명의 실시예에 자동 업데이트 장치가 도시된 도면.
도 2는 본 발명의 실시예에 따른 서버가 도시된 도면.
도 3은 본 발명의 실시예에 따른 클라이언트가 도시된 도면.
도 4는 본 발명의 실시예에 따른 서버의 동작 방법이 도시된 도면.
도 5는 본 발명의 실시예에 따른 클라이언트의 동작 방법이 도시된 도면.
도 6은 본 발명의 실시예에 따른 서버와 클라이언트간의 업데이트 과정이 도시된 도면.
<도면의 주요 부분에 관한 부호의 설명>
210: 인증 정보 저장부 220: 수신부
230: 제어부 240: 응답 전송부
250: 복호부
본 발명은 자동 업데이트 장치 및 방법에 관한 것으로서, 더욱 상세하게는 클라이언트가 네트워크로 연결된 서버로부터 수신된 데이터를 통해 업데이트를 수 행하는 자동 업데이트 장치 및 방법에 관한 것이다.
일반적으로, 네트워크를 통해 업데이트할 데이터를 수신하고, 수신된 데이터를 통해 업데이트를 수행하는 경우에는 업데이트할 데이터를 모두 수신한 후 수신된 데이터에 대한 인증을 수행하게 된다. 예를 들어, 클라이언트는 네트워크를 통해 연결된 서버로 업데이트할 데이터를 요청하고, 서버는 클라이언트의 요청에 따라 업데이트할 데이터를 클라이언트로 전송하게 된다.
이때, 수신된 데이터에 대한 인증이란, 수신된 데이터에 대한 안정성 및 무결성 등을 검사하는 것으로서 이와 같은 인증이 정상적으로 이루어지지 않은 경우, 클라이언트에서는 정상적인 동작이 수행되지 않게 된다. 또한, 클라이언트는 업데이트할 데이터를 수신하기 위해 업데이트할 데이터에 대응하는 저장 공간을 확보해야만 업데이트 할 데이터를 완전히 수신하고, 수신된 데이터에 대한 인증을 수행하게 된다.
그러나, 클라이언트에 업데이트할 데이터를 저장할 수 있는 충분한 저장 공간이 확보되지 않을 경우, 클라이언트는 업데이트할 데이터의 수신과 동시에 수신된 데이터를 통한 업데이트를 수행하게 된다. 이때, 클라이언트에서는 저장 공간의 부족으로 업데이트할 데이터에 대한 정상적인 인증을 수행하지 못하게 되고, 이로 인해 수신된 데이터의 안정성 및 무결성 등을 검사할 수 없어 비정상적인 업데이트가 이루어질 수 있는 문제점이 있다. 따라서, 클라이언트에서 업데이트할 데이터를 저장할 수 있는 저장 공간이 확보되지 않은 상태에서도 데이터에 대한 인증을 수행할 수 있는 방안이 요구되고 있다.
한국 공개 특허 2004-0089112는 헤더 데이터를 포함하는 헤더 메시지를 이동 단말기에 의해 로딩 스테이션으로 수신하고, 수신된 헤더 데이터를 이동 단말기를 이용하여 검증하여, 성공적으로 검증될 경우 페이로드 메시지를 수신하는 방법 및 시스템을 개시하고 있으나, 이는 기존의 소프트웨어 또는 그 밖의 페이로드를 차별적으로 업데이트할 수 있고, 다운로드를 실제 필요한 패치로 제한하는 것에 관한 것으로, 클라이언트에서 업데이트할 데이터를 위한 충분한 저장 공간이 확보되지 않은 경우 정상적인 인증을 수행하는 방법은 제시되고 있지 않다.
본 발명은 업데이트를 위한 충분한 저장 공간이 확보되지 않은 경우에도 업데이트할 데이터에 대한 인증을 수행할 수 있는 자동 업데이트 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 자동 업데이트 장치는, 소정 기기로부터 수신할 제 1데이터 및 제 2데이터로 이루어진 데이터에 대한 인증 정보를 저장하는 인증 정보 저장부, 상기 기기로부터 상기 제 1데이터를 수신하는 데이터 수신부, 및 상기 인증 정보를 통해 상기 수신된 제 1데이터에 대한 인증을 수행하고, 상기 인증 결과에 따라 상기 데이터의 수신 여부를 결정하는 제어 부를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 자동 업데이트 장치는, 제 1데이터 및 제 2데이터로 구분되는 데이터 중 상기 제 1데이터를 소정 기기로 전송하는 전송부, 및 상기 전송된 제 1데이터에 따라 수신되는 응답을 통해 상기 데이터의 전송 여부를 결정하는 제어부를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 자동 업데이트 방법은, 소정 기기로부터 수신할 제 1데이터 및 제 2데이터로 이루어진 데이터에 대한 인증 정보를 저장하는 단계, 상기 기기로부터 상기 데이터 중 상기 제 1데이터를 수신하는 단계, 및 상기 인증 정보를 통해 상기 수신된 제 1데이터에 대한 인증을 수행하고, 상기 인증 결과에 따라 상기 데이터의 수신 여부를 결정하는 단계를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 자동 업데이트 방법은, 제 1데이터 및 제 2데이터로 구분되는 데이터 중 상기 제 1데이터를 소정 기기로 전송하는 단계, 및 상기 전송된 제 1데이터에 따라 수신되는 응답을 통해 상기 데이터의 전송 여부를 결정하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태 로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범수를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시예들에 의하여 자동 업데이트 장치 및 방법을 설명하기 위한 블록도 또는 처리 흐름도에 대한 도면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
도 1은 본 발명의 실시예에 따른 자동 업데이트 장치가 도시된 도면이다.
도시된 바와 같이, 본 발명의 실시예에 따른 자동 업데이트 장치는 업데이트될 데이터를 제공하는 서버(100) 및 제공되는 데이터를 수신하여 업데이트를 수행하는 클라이언트(200)를 포함할 수 있다. 이때, 업데이트 되는 데이터는 소프트웨어 및 펌웨어 등을 포함할 수 있으나, 이에 한정되지 않는다.
도 2는 본 발명의 실시예에 따른 서버가 도시된 도면이다.
도시된 바와 같이, 서버(100)는 클라이언트(200)에게 제공되고 제 1영역에 해당하는 데이터(이하, 제 1데이터라 함) 및 제 2영역에 해당하는 데이터(이하, 제 2데이터라 함)으로 구분된 데이터를 저장하는 데이터 저장부(110), 저장된 데이터 중 제 1데이터를 클라이언트(200)로 전송하는 전송부(120), 전송된 제 1데이터에 따른 응답을 수신하는 응답 수신부(130) 및 수신된 응답에 따라 저장된 데이터의 전송 여부를 결정하는 제어부(140)를 포함할 수 있다.
이때, 본 발명의 실시예에서 사용되는 용어 중 제 1영역 및 제 2영역은 데이터 저장부(110)에 저장된 데이터가 소정 크기로 나뉘어진 영역을 의미하는 것으로, 각 영역에 저장된 제 1데이터 및 제 2데이터의 크기를 합치면 데이터 저장부(110)에 저장된 데이터의 크기가 된다. 또한, 본 발명의 실시예에서는 제 1영역의 크기가 제 2영역의 크기보다 작은 경우, 다시 말해서 제 1데이터의 크기가 제 2데이터의 크기에 비하여 작은 경우를 예를 들어 설명하기로 한다.
한편, 제 1영역 및 제 2영역의 크기는 클라이언트(200)가 서버(100)로부터 업데이트할 데이터를 수신하기 위하여 보유한 메모리 용량에 따라 결정될 수 있다. 이때, 클라이언트(200)의 메모리는 서버(100)로부터 제공되는 데이터를 수신하여 저장하기 위한 장치로서, 캐시, ROM, PROM, EPROM, EEPROM, 플래시, SRAM 및 SRAM 등과 같은 형태의 장치들이 사용될 수 있으나, 이에 한정되지 않는다.
데이터 저장부(110)에 저장된 데이터 중 제 1데이터의 크기는 클라이언트(200)가 보유한 메모리 용량에 따라 달라질 수 있다. 다시 말해서, 클라이언트(200)가 데이터 저장부(100)에 저장된 데이터를 수신한 후, 수신된 데이터에 대한 인증을 수행하기에 부족한 메모리 용량을 보유한 경우 서버(100)는 데이터 저장부(110)에 저장된 데이터 중 제 1데이터만을 클라이언트(200)로 전송하는 것이다. 따라서, 클라이언트(200)는 전송된 제 1데이터를 통해 인증을 수행하게 하고, 인증이 성공하면 다시 데이터 저장부(110) 저장된 전체 데이터를 요청하는 것이다. 이때, 제 1데이터에 대한 인증은 후술할 클라이언트(200)에서 상세하게 살펴보기로 한다.
전송부(120)는 클라이언트(200)의 데이터 요청시 데이터 저장부(110)에 저장된 데이터 중 제 1데이터만을 클라이언트(200)로 전송하게 된다. 또한, 응답 수신부(130)는 클라이언트(200)로부터 전송된 제 1데이터에 대한 응답을 수신하게 된다. 이때, 수신되는 응답은 클라이언트(200)로 전송된 제 1데이터에 대한 인증 수행 결과에 따라 데이터 저장부(110)에 저장된 데이터 요청이나 제 1데이터에 대한 인증 실패로 인한 제 1데이터의 재요청 등을 포함할 수 있다.
제어부(140)는 클라이언트(200)로부터 수신된 응답에 따라 데이터 저장부(110)에 저장된 데이터의 전송 및 제 1데이터의 재전송 등을 결정할 수 있다.
도 3은 본 발명의 실시예에 따른 클라이언트가 도시된 도면이다.
도시된 바와 같이, 한편, 클라이언트(200)는 서버(100)로부터 전송되는 제 1데이터의 인증을 위한 인증 정보를 저장하는 인증 정보 저장부(210), 서버(100)로부터 전송되는 제 1데이터를 수신하는 수신부(220), 인증 정보 저장부(210)에 저장된 인증 정보를 통해 수신된 제 1데이터에 대한 인증을 수행하고, 인증 수행 결과에 따라 데이터의 수신 여부를 결정하는 제어부(230) 및 결정된 데이터 수신 여부에 따른 응답을 서버(100)로 전송하는 응답 전송부(240)를 포함할 수 있다.
인증 정보 저장부(210)에 저장되는 인증 정보는 클라이언트(200)에서 데이터를 업데이트하기 이전에 미리 서버(100)로부터 제공받게 된다. 또한, 저장되는 인증 정보는 서버(100)에 의해 암호화될 수 있다. 예를 들어, 서버(100)는 제공할 데이터에 대한 인증 정보를 전자 서명을 통해 암호화하여 클라이언트(200)에게 제공할 수 있다. 이때, 서버(100)는 전자 서명된 인증 정보를 복호하기 위한 공개키를 전자 서명된 인증 정보와 함께 클라이언트(200)에게 제공할 수 있다. 따라서, 클라이언트(200)는 전자 서명된 인증 정보를 통해 인증 정보에 대한 안정성을 보장받을 수 있고 서버(100)가 제 1데이터를 전송한 사실을 확인할 수 있다. 이때, 클라이언트(200)는 암호화된 인증 정보를 복호하기 위한 복호부(250)를 포함할 수 있으며, 인증 정보가 전자 서명된 경우 복호부(250)는 인증 정보와 함께 제공된 공개키를 통해 전자 서명된 인증 정보를 복호하게 된다.
제어부(230)는 인증 정보를 통해 수신된 제 1데이터의 인증을 수행하게 되는데, 본 발명의 실시예에서는 제어부(230)가 인증 정보에 포함된 해쉬값과 수신된 제 1영역에서 계산된 해쉬값의 동일 여부를 통해 인증을 수행하는 경우를 예를 들어 설명하기로 한다.
따라서, 제어부(230)는 인증 정보 저장부(210)에 저장된 인증 정보로부터 해쉬값을 추출하고, 수신된 제 1데이터에 대한 해쉬값을 계산하여 각 해쉬값이 동일한 경우 인증이 성공한 것으로 판단할 수 있다. 이때, 인증 정보 저장부(210)에 저장된 인증 정보가 암호화된 경우, 제어부(230)는 복호부(250)를 통해 암호화된 인증 정보를 복호하고, 복호된 인증 정보로부터 해쉬값을 추출할 수 있다. 예를 들어, 인증 정보 저장부(210)에 전자 서명된 인증 정보가 저장된 경우, 제어부(230)는 복호부(250)를 통해 서버(100)의 이미 제공받은 공개키로 전자 서명된 인증 정보를 복호한 후, 복호된 인증 정보로부터 해쉬값을 추출할 수 있다.
또한, 제어부(230)는 인증 결과에 따른 응답을 응답 전송부(240)를 통해 서버로 전송할 수 있다. 이때, 전송되는 응답은 각 해쉬값이 동일하여 인증에 성공한 경우에는 서버(100)로 전체 데이터를 요청하게 되고, 인증 실패시에는 제 1데이터를 재요청하게 된다.
한편, 인증이 성공하여 전체 데이터를 수신하는 경우, 제어부(230)는 전체 데이터의 수신이 완료된 후, 수신된 데이터에 대한 인증을 수행할 수 있다. 이때 수신된 데이터에 대한 인증은 전체 데이터에 대한 전자 서명 등을 통해 이루어질 수 있으나, 이에 한정되지 않는다. 또한, 수신된 데이터에 대한 인증 실패시 제어부(230)는 전체 데이터를 재요청할 수 있다.
도 4는 본 발명의 실시예에 따른 서버의 동작 방법이 도시된 도면이다.
도시된 바와 같이, 먼저 서버(100)는 클라이언트(200)가 업데이트할 데이터를 요청하면(S110), 데이터 저장부(110)에 저장된 데이터 중 제 1데이터를 클라이언트(200)로 전송한다(S120).
이후, 서버(100)는 전송된 제 1데이터에 따른 응답을 수신한다(S130). 이때, 수신되는 응답은 전송된 제 1데이터에 대한 인증 실패로 인한 제 1데이터에 대한 재요청 및 전송된 제 1영역에 대한 인증 성공으로 인한 데이터 요청 등을 포함할 수 있다.
수신된 응답이 제 1데이터를 재요청하는 경우(S140), 서버(100)는 클라이언트(200)로 제 1데이터를 재전송한다(S150). 만일, 수신된 응답이 전송된 제 1데이터의 인증에 성공하여 데이터를 요청하는 경우(S160), 서버(100)는 클라이언트(200)로 데이터 저장부(110)에 저장된 데이터를 전송한다(S170).
도 5는 본 발명의 실시예에 따른 클라이언트의 동작 방법이 도시된 도면이 다. 이때, 본 발명의 실시예에서 클라이언트(200)는 업데이트할 데이터를 요청하기 이전에 서버(100)로부터 업데이트할 데이터에 대한 인증을 위한 인증 정보를 저장하고 있는 경우를 예를 들어 설명하기로 하며, 저장된 인증 정보는 전자 서명 등과 같이 암호화되어 저장될 수 있다.
도시된 바와 같이, 먼저 클라이언트(200)는 서버(100)로 업데이트할 데이터를 요청한다(S210). 클라이언트(200)는 서버(100)로부터 업데이트할 데이터 중 제 1데이터를 수신한다(S220).
구체적으로, 서버(100)에서 클라이언트(200)로 제공하는 데이터는 제 1데이터 및 제 2데이터로 이루어져 있으며, 클라이언트(200)가 업데이트할 데이터를 요청하면 서버(100)는 제 1데이터만을 우선 전송한다. 이는 클라이언트(200)에서 업데이터할 데이터를 모두 수신한 후 수신된 데이터에 대한 인증을 수행하게 되는데, 클라이언트(200)에서 업데이트할 데이터를 모두 수신하는 경우, 수신된 데이터를 위한 메모리 용량이 확보되어야 할 뿐만 아니라, 인증을 위해 소요되는 시간이 증가하게 된다. 따라서, 클라이언트(200)는 업데이트할 데이터 중 제 1데이터만을 수신하여 인증을 수행한 후 인증이 성공하게 되면 업데이트할 데이터를 요청하기 때문에 클라이언트(200)에 요구되는 메모리 용량이 감소될 수 있고, 메모리 용량이 부족한 경우에도 인증을 수행할 수 있게 된다.
클라이언트(200)는 수신된 제 1데이터에 대한 인증을 수행한다(S230). 구체적으로, 제어부(230)는 인증 정보 저장부(210)에 저장된 인증 정보를 통해 수신된 제 1데이터에 대한 인증을 수행하게 된다. 예를 들어, 인증 정보가 해쉬값인 경우, 제어부(230)는 인증 정보로부터 추출된 해쉬값과 수신된 제 1데이터에 대한 해쉬값을 비교하여 동일한 경우 인증이 성공한 것으로 판단하고, 그렇지 않은 경우 인증이 실패한 것으로 판단한다. 또한, 인증 정보 저장부(210)에 저장된 인증 정보가 암호화된 경우, 제어부(230)는 복호부(250)를 통해 암호화된 인증 정보를 복호 후 복호된 인증 정보로부터 추출된 해쉬값과 수신된 제 1데이터에 대한 해쉬값을 비교하여 인증을 수행하게 된다.
제 1데이터에 대한 인증이 성공하게 되면(S240), 클라이언트(200)는 서버(100)로 업데이트할 데이터를 요청하게 되고(S250), 그렇지 않은 경우 클라이언트(200)는 서버(100)로 제 1데이터를 재요청하게 된다(S260).
클라이언트(200)는 인증 성공시 서버(100)로 데이터를 요청하게 되고, 요청한 데이터를 수신하게 된다(S270).
이후, 클라이언트(200)는 수신된 데이터에 대한 인증을 수행하게 되고(S280), 수신된 데이터의 인증이 성공하면(S290), 수신된 데이터를 통해 업데이트를 수행하게 된다(S300). 만일, 수신된 데이터의 인증이 실패하면 클라이언트(200)는 서버(100)로 데이터를 재요청하게 된다.
도 6은 본 발명의 실시예에 따른 서버와 클라이언트간의 데이터 자동 업데이트 동작 방법이 도시된 도면이다.
도시된 바와 같이, 먼저 클라이언트(200)가 업데이트를 위해 서버(100)로 업데이트할 데이터를 요청하게 된다(S410). 서버(100)는 클라이언트(200)의 요청에 따라 요청된 데이터 중 제 1데이터를 클라이언트(200)로 전송한다(S420).
이때, 클라이언트(200)는 수신된 제 1데이터를 인증 정보 저장부(210)에 저장된 인증 정보를 통해 인증을 수행하고(S430), 인증이 성공한 경우 서버(100)로 업데이트할 데이터를 요청한다(S440). 만일, 수신된 제 1데이터에 대한 인증이 실패할 경우, 클라이언트(200)는 서버(100)로 제 1데이터를 재요청하게 된다.
서버(100)는 클라이언트(200)의 요청에 따라 업데이트할 데이터를 클라이언트(200)로 전송한다(S450).
클라이언트(200)는 서버(100)로부터 전송된 데이터에 대한 인증을 수행하고(S460), 인증이 성공한 경우 전송된 데이터를 통해 업데이트를 수행한다(S470). 만일, 수신된 데이터에 대한 인증이 실패할 경우, 클라이언트(200)는 서버(100)로 데이터를 재요청하게 된다.
이와 같은 본 발명의 실시예에서 '부'는 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)과 같은 하드웨어 구성요소를 의미하며, 부는 어떤 역할들을 수행한다. 그렇지만 부는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 부는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 부는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한 다. 구성요소들과 부들에서 제공되는 기능은 더 작은 수의 구성요소들 및 부들로 결합되거나 추가적인 구성요소들과 부들로 더 분리될 수 있다.
이상과 같이 본 발명에 따른 자동 업데이트 장치 및 방법을 예시된 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않으며 그 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.
상기한 바와 같은 본 발명의 자동 업데이트 장치 및 방법에 따르면, 업데이트틀 위한 충분한 용량이 확보되지 않은 상태에서도 업데이트할 데이터의 인증을 수행할 수 있어 업데이트할 데이트의 안정성 및 무결성을 판단하여 정상적인 인증을 수행할 수 있는 효과가 있다.

Claims (26)

  1. 소정 기기로부터 수신할 제 1데이터 및 제2데이터로 이루어진 데이터에 대한 인증 정보를 저장하는 인증 정보 저장부;
    상기 기기로부터 상기 제 1데이터를 수신하는 데이터 수신부; 및
    상기 인증 정보를 통해 상기 제 1데이터에 대한 인증을 수행하고, 상기 인증 결과에 따라 상기 데이터의 수신 여부를 결정하는 제어부를 포함하는 자동 업데이트 장치.
  2. 제 1 항에 있어서,
    상기 인증 정보는 상기 수신된 제 1데이터에 대한 해쉬값을 포함하는 자동 업데이트 장치.
  3. 제 2 항에 있어서,
    상기 제어부는 상기 수신된 제 1데이터에 대한 해쉬값을 계산하고, 상기 계산된 해쉬값과 상기 인증 정보에 포함된 해쉬값을 비교하여 상기 데이터의 수신 여부를 결정하는 자동 업데이트 장치.
  4. 제 3 항에 있어서,
    상기 제어부는 상기 비교 결과 각 해쉬값이 동일한 경우 상기 기기로 상기 데이터를 요청하는 자동 업데이트 장치.
  5. 제 1 항에 있어서,
    상기 인증 결과에 따라 수신되는 데이터는, 기저장된 데이터에 대한 업데이트된 데이터이며,
    상기 제어부는, 상기 업데이트된 데이터로 상기 기저장된 데이터를 업데이트하는 자동 업데이트 장치.
  6. 제 1 항에 있어서,
    상기 인증 정보는 상기 기기에 의해 암호화되는 자동 업데이트 장치.
  7. 제 6 항에 있어서,
    상기 암호화된 인증 정보를 복호하는 복호부를 더 포함하는 자동 업데이트 장치.
  8. 제 1데이터 및 제 2데이터로 구분되는 데이터 중 상기 제 1데이터를 소정 기기로 전송하는 전송부; 및
    상기 전송된 제 1데이터에 따라 수신되는 응답을 통해 상기 데이터의 전송 여부를 결정하는 제어부를 포함하는 자동 업데이트 장치.
  9. 제 8 항에 있어서,
    상기 제 1데이터가 전송되는 기기는 상기 제 1데이터에 대한 인증 정보를 보유하는 자동 업데이트 장치.
  10. 제 9 항에 있어서,
    상기 인증 정보는 암호화되는 자동 업데이트 장치.
  11. 제 8 항에 있어서,
    상기 제 1데이터가 전송되는 기기는 상기 인증 정보에 포함된 해쉬값과 상기 전송된 제 1데이터에 대한 해쉬값을 비교하고, 상기 비교 결과 각 해쉬값이 동일한 경우 상기 데이터를 요청하는 자동 업데이트 장치.
  12. 제 11 항에 있어서,
    상기 제어부는 상기 제 1데이터가 전송되는 기기가 상기 데이터를 요청할 경우, 상기 데이터를 상기 제 1데이터가 전송되는 기기로 전송하는 자동 업데이트 장치.
  13. 제 12 항에 있어서,
    상기 제 1데이터가 전송되는 기기로 전송되는 데이터는, 상기 제 1데이터가 전송되는 기기에 기저장된 데이터의 업데이트된 데이터이며,
    상기 제 1데이터가 전송되는 기기는, 상기 업데이트된 데이터로 상기 기저장된 데이터를 업데이트하는 자동 업데이트 장치.
  14. 소정 기기로부터 수신할 제 1데이터 및 제 2데이터로 이루어진 데이터에 대한 인증 정보를 저장하는 단계;
    상기 기기로부터 상기 제 1데이터를 수신하는 단계; 및
    상기 인증 정보를 통해 상기 제 1데이터에 대한 인증을 수행하고, 상기 인증 결과에 따라 상기 데이터의 수신 여부를 결정하는 단계를 포함하는 자동 업데이트 방법.
  15. 제 14 항에 있어서,
    상기 인증 정보는 상기 수신된 제 1데이터에 대한 해쉬값을 포함하는 자동 업데이트 방법.
  16. 제 15 항에 있어서,
    상기 데이터의 수신 여부를 결정하는 단계는 상기 수신된 제 1데이터에 대한 해쉬값을 계산하는 단계; 및
    상기 계산된 해쉬값과 상기 인증 정보에 포함된 해쉬값을 비교하여 상기 데이터의 수신 여부를 결정하는 자동 업데이트 방법.
  17. 제 16 항에 있어서,
    상기 데이터의 수신 여부를 결정하는 단계는 상기 비교 결과 각 해쉬값이 동일한 경우 상기 기기로 상기 데이터를 요청하는 단계를 포함하는 자동 업데이트 방법.
  18. 제 14 항에 있어서,
    상기 인증 결과에 따라 수신되는 데이터는, 기저장된 데이터의 업데이트된 데이터이며,
    상기 데이터의 수신 여부를 결정하는 단계는, 상기 업데이트된 데이터로 상기 기저장된 데이터를 업데이트하는 단계를 포함하는 자동 업데이트 방법.
  19. 제 14 항에 있어서,
    상기 인증 정보는 상기 기기에 의해 암호화되는 자동 업데이트 방법.
  20. 제 19 항에 있어서,
    상기 암호화된 인증 정보를 복호하는 단계를 더 포함하는 자동 업데이트 방법.
  21. 제 1데이터 및 제 2데이터로 구분되는 데이터 중 상기 제 1데이터를 소정 기기로 전송하는 단계; 및
    상기 전송된 제 1데이터에 따라 수신되는 응답을 통해 상기 데이터의 전송 여부를 결정하는 단계를 포함하는 자동 업데이트 방법.
  22. 제 21 항에 있어서,
    상기 제 1데이터가 전송되는 기기는 상기 제 1데이터에 대한 인증 정보를 보유하는 자동 업데이트 방법.
  23. 제 22 항에 있어서,
    상기 인증 정보는 암호화되는 자동 업데이트 방법.
  24. 제 21 항에 있어서,
    상기 제 1데이터가 전송되는 기기는 상기 인증 정보에 포함된 해쉬값과 상기 전송된 제 1데이터에 대한 해쉬값을 비교하고, 상기 비교 결과 각 해쉬값이 동일한 경우 상기 데이터를 요청하는 자동 업데이트 방법.
  25. 제 24 항에 있어서,
    상기 제 1데이터가 전송되는 기기가 상기 데이터를 요청할 경우, 상기 데이터를 상기 제 1데이터가 전송되는 기기로 전송하는 단계를 더 포함하는 자동 업데이트 방법.
  26. 제 25 항에 있어서,
    상기 제 1데이터가 전송되는 기기로 전송되는 데이터는, 상기 제 1데이터가 전송되는 기기에 기저장된 데이터의 업데이트된 데이터이며,
    상기 제 1데이터가 전송되는 기기는, 상기 업데이트된 데이터로 상기 기저장된 데이터를 업데이트하는 자동 업데이트 방법.
KR1020050101966A 2005-10-27 2005-10-27 자동 업데이트 장치 및 방법 KR100678918B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020050101966A KR100678918B1 (ko) 2005-10-27 2005-10-27 자동 업데이트 장치 및 방법
US11/582,420 US8522359B2 (en) 2005-10-27 2006-10-18 Apparatus and method for automatic update

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050101966A KR100678918B1 (ko) 2005-10-27 2005-10-27 자동 업데이트 장치 및 방법

Publications (1)

Publication Number Publication Date
KR100678918B1 true KR100678918B1 (ko) 2007-02-06

Family

ID=37998182

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050101966A KR100678918B1 (ko) 2005-10-27 2005-10-27 자동 업데이트 장치 및 방법

Country Status (2)

Country Link
US (1) US8522359B2 (ko)
KR (1) KR100678918B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8544053B2 (en) 2007-12-17 2013-09-24 Broadcom Corporation System and method for upgrading a multiprocessor set-top box device with a monolithilic firmware image
CN102110003A (zh) * 2009-12-29 2011-06-29 宏碁股份有限公司 自动更新检查系统及其自动更新检查方法
CN105306505A (zh) * 2014-07-11 2016-02-03 腾讯科技(深圳)有限公司 数据更新方法、终端及服务器

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7213152B1 (en) 2000-02-14 2007-05-01 Intel Corporation Modular bios update mechanism
KR100458515B1 (ko) 2001-12-21 2004-12-03 한국전자통신연구원 무선 인터넷을 통한 이동 단말용 응용프로그램 설치시스템 및 그 방법
US20030147369A1 (en) * 2001-12-24 2003-08-07 Singh Ram Naresh Secure wireless transfer of data between different computing devices
ATE302441T1 (de) 2002-01-18 2005-09-15 Ericsson Telefon Ab L M Laden von daten in ein mobiles gerät
AU2002367036A1 (en) * 2002-01-18 2003-07-30 Telefonaktiebolaget L M Ericsson (Publ) Loading data into a mobile terminal
DE60335221D1 (de) * 2003-02-28 2011-01-13 Research In Motion Ltd System und Verfahren zum Schutz von Daten in einem Kommunikationsgerät
JP2005063207A (ja) 2003-08-14 2005-03-10 Easy Systems Japan Kk アップデートプログラム及びアップデート方法

Also Published As

Publication number Publication date
US20070101417A1 (en) 2007-05-03
US8522359B2 (en) 2013-08-27

Similar Documents

Publication Publication Date Title
CN106464499B (zh) 通信网络系统、发送节点、接收节点、消息检查方法、发送方法及接收方法
US8856536B2 (en) Method and apparatus for secure firmware download using diagnostic link connector (DLC) and OnStar system
US10565380B2 (en) Apparatus and associated method for authenticating firmware
US10812261B2 (en) Vehicle system and key distribution method
US9602487B2 (en) Method for the protected transmission of data
JP6967449B2 (ja) セキュリティチェックのための方法、デバイス、端末およびサーバ
US20080301793A1 (en) Apparatus and method of verifying online certificate for offline device
US20060031685A1 (en) System and method for secure code downloading
WO2023109240A1 (zh) 智能门锁的绑定方法和装置、存储介质及电子装置
WO2014206170A1 (zh) 一种验证方法及设备
US20140317408A1 (en) Data backup and service encryption key management
CN104836835B (zh) 用于检索配置相关数据的网络系统
KR100678918B1 (ko) 자동 업데이트 장치 및 방법
US20180212977A1 (en) In-vehicle network system
JP2021145205A (ja) 認証システム
US8990221B2 (en) Device and method for updating a certificate
JP2021511583A (ja) 衛星装置を遠隔的に更新するための方法及び装置
CN110708311A (zh) 下载权限授权方法、装置和服务器
US20220209946A1 (en) Key revocation for edge devices
CN112818329B (zh) 认证方法及装置、用户端、设备端及存储介质
CN113453209A (zh) 蓝牙通信协议认证部分的实现方法及系统和通信终端
US11190351B2 (en) Key generation method and acquisition method, private key update method, chip, and server
JP2016152438A (ja) ソフトウェア更新装置、携帯端末及びソフトウェア更新システム
US11537717B2 (en) Information processing apparatus
JP7067508B2 (ja) ネットワークシステム

Legal Events

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

Payment date: 20121228

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20131230

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20141223

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151229

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20161228

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee