KR20090066059A - Software integrity verification apparatus of mobile terminal and method thereof - Google Patents

Software integrity verification apparatus of mobile terminal and method thereof Download PDF

Info

Publication number
KR20090066059A
KR20090066059A KR1020070133667A KR20070133667A KR20090066059A KR 20090066059 A KR20090066059 A KR 20090066059A KR 1020070133667 A KR1020070133667 A KR 1020070133667A KR 20070133667 A KR20070133667 A KR 20070133667A KR 20090066059 A KR20090066059 A KR 20090066059A
Authority
KR
South Korea
Prior art keywords
integrity
verification
software
data
rim
Prior art date
Application number
KR1020070133667A
Other languages
Korean (ko)
Other versions
KR100932274B1 (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 KR1020070133667A priority Critical patent/KR100932274B1/en
Publication of KR20090066059A publication Critical patent/KR20090066059A/en
Application granted granted Critical
Publication of KR100932274B1 publication Critical patent/KR100932274B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephone Function (AREA)

Abstract

A software integrity verifying apparatus and a method thereof of a mobile terminal using a subscriber identity module card storing data for verifying the integrity are provided to perform integrity verification of the software installed on the mobile terminal. An MTM(Mobile Trusted Module)(400) for a mobile verifies integrity. An MVA(Measurement and Verification Agent)(300) generates integrity metric information about a plurality of software stored in the mobile terminal. The verification controller provides a comparison result to the security confidence module for the mobile by comparing integrity metric information and received first data about the first software.

Description

이동 단말기의 소프트웨어 무결성 검증 장치 및 그 방법{SOFTWARE INTEGRITY VERIFICATION APPARATUS OF MOBILE TERMINAL AND METHOD THEREOF} Apparatus and method for verifying software integrity of mobile terminal {SOFTWARE INTEGRITY VERIFICATION APPARATUS OF MOBILE TERMINAL AND METHOD THEREOF}

본 발명은 이동 단말기의 소프트웨어 무결성 검증 장치 및 그 방법에 관한 것이다. 특히 본 발명은 무결성을 검증하기 위한 데이터가 저장된 USIM(Universal Subscriber Identity Module)카드를 이용하여 이동 단말기 내의 소프트웨어에 대한 무결성 검증을 수행하는 장치 및 그 방법에 관한 것이다.The present invention relates to an apparatus and method for verifying software integrity of a mobile terminal. In particular, the present invention relates to an apparatus and method for performing integrity verification for software in a mobile terminal using a Universal Subscriber Identity Module (USIM) card in which data for verifying integrity is stored.

본 발명은 정보통신부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2006-S-041-02, 과제명: 차세대 모바일 단말기의 보안 및 신뢰 서비스를 위한 공통 보안 핵심 모듈 개발]The present invention is derived from the research conducted as part of the IT growth engine technology development project of the Ministry of Information and Communication and the Ministry of Information and Telecommunication Research and Development. [Task Management Number: 2006-S-041-02, Title: Security and Reliability of Next Generation Mobile Terminals] Developing Common Security Core Modules for Services]

현재 사용하고 있는 플랫폼이 안전한 상태에 있다는 것을 증명해주는 하드웨어 모듈인 TPM(Trusted Platform Module; 이하, "TPM"이라고 함.)은 현재 노트북을 중심으로 각종 PC(Personal Computer)나 단말기에 장착되고 있다. 이 영역은 점차 휴대폰과 같은 모바일 단말기를 위한 표준까지 확대되었다. TPM (Trusted Platform Module), which is a hardware module that proves that the platform being used is in a safe state, is currently installed in various personal computers (PCs) or terminals, mainly notebooks. This area has gradually expanded to standards for mobile terminals such as cell phones.

휴대폰에서 사용되는 Mobile TPM인 MTM(Mobile Trusted Module)의 경우 RIM(Reference Integrity Metrics; 이하, "RIM"이라 함)과 TIM(Target Integrity Metric; 이하, "TIM"이라 함)이란 소프트웨어(Software)의 이미지에 대한 해쉬(Hash) 값을 사용하여 소프트웨어의 무결성을 검증한다.For Mobile Trusted Modules (MTMs), Mobile TPMs used in mobile phones, RIM (Reference Integrity Metrics) (hereinafter referred to as "RIM") and TIM (Target Integrity Metrics (hereinafter referred to as "TIM") Use hash values for images to verify software integrity.

RIM은 단말기 내의 소프트웨어나 하드웨어가 로드(Road)되거나 실행에서 초기화되기 전에 검증(measurement)의 결과를 인정하는 기준으로 미리 그 값을 생성하여 저장해 두고, TIM은 전원이 켜질 때마다 오브젝트(object)의 검증 에이전트(measurement agent)에 의해 측정된 타겟 오브젝트(target object)나 컴포넌트(component)의 인테그리티 메트릭(integrity metric)을 나타낸다. 이렇게 매번 측정되는 TIM 값과 저장된 RIM 값의 비교를 통해 해당 소프트웨어가 변경되지 않았음을 증명하게 된다. The RIM generates and stores the value in advance in order to acknowledge the result of the measurement before software or hardware in the terminal is loaded or initialized in execution. The TIM stores an object every time the power is turned on. Integrity metric of a target object or a component measured by a measurement agent. This comparison of the measured TIM value with the stored RIM value proves that the software has not changed.

이동 단말기는 RIM 값을 RIM Cert(Certification; 이하, "Cert"라 함) 같은 인증서 형태로 인증 기관(CA; Certificate Authority)로부터 발급받고, 이 RIM 인증서의 서명을 통해 검증을 하게 된다. 따라서 이 RIM data는 인증서를 발급한 인증 기관을 통해 필요 시 검증 가능해야 한다. The mobile terminal receives a RIM value from a Certificate Authority (CA) in the form of a certificate such as a RIM Cert (hereinafter, referred to as a "Cert"), and verifies it by signing the RIM certificate. Therefore, this RIM data should be verifiable if necessary by the certification authority that issued the certificate.

종래에는 한정된 자원을 갖는 MTM이나 휴대 단말기가 소프트웨어의 무결성을 검증하기 위한 RIM 데이터를 저장하여 사용하였기 때문에, 제한된 수의 소프트웨어에 대한 무결성 검증만을 수행하지 못하였다. In the related art, since the MTM or the portable terminal having limited resources store and use RIM data for verifying the integrity of the software, it is not possible to perform only integrity verification for a limited number of software.

또한, 단말기 내에 RIM 데이터가 항상 저장되어 있어 언제든 소프트웨어들을 실행할 수 있기 때문에, 보안에 상당히 취약한 문제점이 있었다. 또한, 단말기 내에 RIM 데이터의 업데이트가 힘든 문제점이 있었다.In addition, since the RIM data is always stored in the terminal so that the software can be executed at any time, there is a problem that the security is quite vulnerable. In addition, there is a problem that the update of the RIM data in the terminal is difficult.

본 발명이 이루고자 하는 기술적 과제는 무결성을 검증하기 위한 데이터가 저장된 USIM 카드을 이용하여 이동 단말기의 소프트웨어에 대한 무결성 검증을 수행하는 이동 단말기의 소프트웨어 무결성 검증 장치 및 그 방법을 제공하는 것이다.An object of the present invention is to provide an apparatus and method for verifying software integrity of a mobile terminal for performing integrity verification on software of a mobile terminal using a USIM card storing data for verifying integrity.

전술한 기술 과제를 해결하기 위한 본 발명의 특징에 따라서, 데이터를 저장하는 스마트 카드와 연결되어 데이터 송수신을 수행하는 이동 단말기의 소프트웨어 무결성 검증 장치는,According to an aspect of the present invention for solving the above technical problem, the software integrity verification apparatus of a mobile terminal connected to a smart card for storing data to perform data transmission and reception,

무결성을 검증하는 모바일용 보안 신뢰모듈; 및 상기 이동 단말기 내 저장된 복수의 소프트웨어들에 대한 무결성 매트릭 정보를 생성하며, 상기 복수의 소프트웨어 중 제1 소프트웨어에 대한 무결성 검증을 요청받는 경우에, 상기 제1 소프트웨어 무결성을 검증하기 위한 제1 데이터를 상기 스마트 카드로부터 수신하고, 상기 제1 소프트웨어에 대한 무결성 매트릭 정보와 상기 수신된 제1 데이터를 비교하여 상기 모바일용 보안 신뢰모듈로 제공하는 검증 제어부를 포함한다.A mobile security trust module for verifying integrity; And generating integrity metric information for a plurality of software stored in the mobile terminal, and when requesting integrity verification for a first software of the plurality of software, first data for verifying the first software integrity. And a verification control unit for receiving from the smart card and comparing the received first data with the integrity metric information for the first software and providing it to the mobile security trust module.

여기서, 상기 검증 제어부는,Here, the verification control unit,

상기 제1 데이터와 상기 제1 소프트웨어에 대한 무결성 매트릭 정보가 일치하는 경우에, 상기 제1 데이터를 상기 모바일용 보안 신뢰모듈로 제공하는 이동 단말기의 소프트웨어 무결성 검증 장치.And providing the first data to the mobile security trust module when the first metric and the integrity metric information on the first software match.

본 발명의 특징에 따라서, 데이터를 저장하는 스마트 카드와 연결되어 데이 터 송수신을 수행하는 이동 단말기의 소프트웨어 무결성 검증 방법은,According to an aspect of the present invention, a software integrity verification method of a mobile terminal connected to a smart card storing data to perform data transmission / reception,

복수의 소프트웨어 중 제1 소프트웨어에 대한 무결성 검증을 위하여 상기 제1 소프트웨어 매칭되는 RIM(Reference Integrity Metrics) 데이터를 상기 스마트 카드로 요청하는 단계; 상기 USIM 카드로부터 상기 이동 단말기 내의 무결성 검증을 제어하는 장치에 대한 무결성 검증 요청을 수신하여 무결성 검증을 수행하는 단계; 상기 무결성 검증을 제어하는 장치의 무결성 검증이 성공한 경우에, 상기 스마트 카드와의 채널을 형성하는 단계; 상기 제1 소프트웨어의 무결성 매트릭 정보를 생성하는 단계; 상기 제1 소프트웨어의 무결성 매트릭 정보에 대한 검증을 상기 스마트 카드에서 수행하도록 상기 생성된 무결성 매트릭 정보를 상기 스마트 카드로 제공하는 단계; 및 상기 스마트 카드로부터 상기 RIM 데이터를 수신하는 단계를 포함한다.Requesting the smart card for the first software matched Reference Integrity Metrics (RIM) data for integrity verification of a first one of a plurality of software; Receiving an integrity verification request for the device that controls the integrity verification in the mobile terminal from the USIM card to perform integrity verification; When the integrity verification of the device controlling the integrity verification is successful, establishing a channel with the smart card; Generating integrity metric information of the first software; Providing the generated smart metric information to the smart card to perform verification of the integrity metric information of the first software on the smart card; And receiving the RIM data from the smart card.

여기서, 소프트웨어 무결성 검증 방법은, Here, the software integrity verification method,

상기 수신된 RIM 데이터와 기 저장되어 있는 상기 제1 소프트웨어에 대한 무결성 매트릭 정보를 비교하는 단계; 및 상기 RIM 데이터와 상기 무결성 매트릭 정보가 일치하는 경우에, 상기 RIM 데이터에 대한 무결성 검증을 수행하는 단계를 더 포함한다.Comparing the received RIM data with integrity metric information for the first software previously stored; And when the RIM data and the integrity metric information match, performing integrity verification on the RIM data.

본 발명에 따르면, USIM 카드만으로 간편하게 이동 단말기에 설치된 소프트웨어의 무결성 검증을 수행할 수 있는 효과를 기대할 수 있다. According to the present invention, it is possible to expect the effect of performing the integrity verification of the software installed in the mobile terminal simply with a USIM card.

또한, USIM 카드에 RIM 관련 데이터를 저장하여 이동 단말기로 제공할 수 있 기 때문에, 이동 단말기의 RIM 데이터 업데이트 등을 보다 효율적으로 할 수 있는 장점이 있다.In addition, since the RIM-related data may be stored in the USIM card and provided to the mobile terminal, the RIM data update of the mobile terminal may be more efficiently performed.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.Throughout the specification, when a part is said to "include" a certain component, it means that it can further include other components, without excluding other components unless specifically stated otherwise. In addition, the terms “… unit”, “… unit”, “module”, etc. described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have.

이제 본 발명의 실시 예에 따른 이동 단말기의 소프트웨어에 대한 무결성 검증 장치 및 그 방법에 대하여 도면을 참고로 상세하게 설명한다.An apparatus and method for verifying integrity of software of a mobile terminal according to an embodiment of the present invention will now be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 이동 단말기의 소프트웨어 무결성 검증 장치를 도시한 블록도이다.1 is a block diagram illustrating an apparatus for verifying software integrity of a mobile terminal according to an exemplary embodiment of the present invention.

도 1에 나타낸 바와 같이, 본 발명의 실시 예에 따른 이동 단말기의 소프트 웨어 무결성 검증 장치는 검증 제어부(300)(MVA; Measurement and Verification Agent), 모바일용 보안 신뢰모듈(400)(MTM; Mobile Trusted Module) 및 프로토콜 변환부(200)를 포함한다.As shown in FIG. 1, the apparatus for verifying software integrity of a mobile terminal according to an exemplary embodiment of the present invention includes a verification control unit 300 (MVA; Measurement and Verification Agent) and a mobile security trust module 400 (MTM). Module) and the protocol conversion unit 200.

검증 제어부(300)는 모바일용 보안 신뢰모듈(400)과 통신하며, 모바일용 보안 신뢰모듈(400)과의 연동을 통해 이동 단말기에 저장되어 있는 소프트웨어들의 인증서에 대한 무결성 검증을 제어한다. 이때, 검증 제어부(300)는 이동 단말기에 저장되어 있는 소프트웨어들을 관리하며, 사용자에 의해 선택된 특정 소프트웨어에 대한 무결성 검증 요청을 입력받는 경우에, 해당 소프트웨어에 대한 무결성 검증을 제어한다.The verification control unit 300 communicates with the mobile security trust module 400 and controls the integrity verification of the certificates of the software stored in the mobile terminal through interworking with the mobile security trust module 400. At this time, the verification control unit 300 manages the software stored in the mobile terminal, and controls the integrity verification for the software when receiving the integrity verification request for the specific software selected by the user.

또한 검증 제어부(300)는 USIM(Universal Subscriber Identity Module; 이하, "스마트 카드"라고도 함) 카드와 통신하며, 검증이 필요한 소프트웨어에 대응되는 RIM(Reference Integrity Metrics; 이하, "RIM"이라 함) 데이터를 USIM 카드(100)로부터 읽어온다. 그리고, 검증 제어부(300)는 검증이 필요한 소프트웨어에 대한TIM(Target Integrity Metric; 이하, "TIM" 또는 "타겟 무결성 매트릭 정보"라 함)값을 생성하고, 읽어온 RIM 데이터의 RIM Cert(Certification; 이하, "RIM 인증서"라고도 함)와 생성된 TIM값을 비교하여 두 값이 일치하면 RIM 데이터를 모바일용 보안 신뢰모듈(400)로 전송한다. 이때, 두 값이 일치하지 않은 경우에, 해당 소프트웨어가 변경된 소프트웨어로 판단하여 실행을 중지시킨다.In addition, the verification control unit 300 communicates with a Universal Subscriber Identity Module (USIM) card (hereinafter, also referred to as a "smart card"), and includes RIM (Reference Integrity Metrics) data corresponding to software that requires verification. Is read from the USIM card 100. In addition, the verification control unit 300 generates a Target Integrity Metric (TIM) value for software that needs verification, hereinafter referred to as "TIM" or "target integrity metric information", and generates a RIM Cert (Certification; Hereinafter, the RIM data is transmitted to the mobile security trust module 400 when the two values match with each other by comparing the generated TIM value with the " RIM certificate. &Quot; At this time, if the two values do not match, the software determines that the changed software and stops execution.

여기서, RIM 데이터는 RIM 인증서와 RIM Auth(RIM_Authorization; 이하, "RIM 어스" 라고도 함)을 포함한다. RIM 어스는 RIM 인증서를 검증하기 위한 공개 키와 이에 대한 서명 값을 포함하고 있다.Here, the RIM data includes a RIM certificate and a RIM Auth (RIM_Authorization; hereinafter also referred to as "RIM Earth"). RIM Earth contains a public key and a signed value for verifying a RIM certificate.

모바일용 보안 신뢰모듈(400)은 검증 제어부(300)로부터 수신된 소프트웨어 또는 USIM 카드(100)의 RIM 데이터에 대한 무결성 검증 기능을 수행하고, USIM 카드(100)로 검증 제어부(300)가 요청한 소프트웨어에 대한 검증 결과를 제공한다.The mobile security trust module 400 performs an integrity verification function on the software received from the verification control unit 300 or RIM data of the USIM card 100, and the software requested by the verification control unit 300 by the USIM card 100. It provides a verification result for.

또한, 모바일용 보안 신뢰모듈(400)은 USIM 카드(100)의 검증 제어부(300) 검증 요청에 대응하여 검증 제어부(300)에 대한 무결성 검증을 수행한다.In addition, the mobile security trust module 400 performs an integrity verification on the verification control unit 300 in response to the verification request of the verification control unit 300 of the USIM card 100.

프로토콜 변환부(200)는 검증 제어부(300) 및 모바일용 보안 신뢰모듈(400)과 USIM 카드(100)간의 데이터 송수신을 중계한다. 구체적으로, 검증 제어부(300) 및 모바일용 보안 신뢰모듈(400)로부터 USIM 카드(100)로 전송되는 명령은 APDU(Application Protocol Data Unit) 명령으로 변경하고, 검증 제어부(300) 및 모바일용 보안 신뢰모듈(400)로 가는 명령은 MVA 명령 포맷 또는 MTM 명령 포맷으로 변환하여 서로간의 통신이 이루어지게 하는 역할을 한다.The protocol converter 200 relays data transmission and reception between the verification controller 300, the mobile security trust module 400, and the USIM card 100. Specifically, the command transmitted from the verification control unit 300 and the mobile security trust module 400 to the USIM card 100 is changed to an APDU (Application Protocol Data Unit) command, and the verification control unit 300 and the mobile security trust. The command to the module 400 converts into the MVA command format or the MTM command format and serves to communicate with each other.

이러한, 본 발명의 실시 예에 따른 이동 단말기는 USIM 카드만으로 간편하게 이동 단말기에 설치된 소프트웨어의 무결성 검증을 수행할 수 있는 장점이 있다. 또한, USIM 카드에 RIM 관련 데이터를 저장하여 이동 단말기로 제공할 수 있기 때문에, 이동 단말기의 RIM 데이터 업데이트 등을 보다 효율적으로 할 수 있는 장점이 있다. Such a mobile terminal according to an embodiment of the present invention has an advantage of performing integrity verification of software installed in the mobile terminal simply by using a USIM card. In addition, since the RIM-related data can be stored in the USIM card and provided to the mobile terminal, the RIM data update of the mobile terminal can be performed more efficiently.

다음은 도 2를 통해 본 발명의 실시 예에 따른 USIM 카드(100)에 대하여 상세히 설명한다.Next, the USIM card 100 according to an embodiment of the present invention will be described in detail with reference to FIG. 2.

도 2는 본 발명의 실시 예에 따른 USIM 카드를 상세히 도시한 블록도이다.Figure 2 is a block diagram showing in detail the USIM card according to an embodiment of the present invention.

도 2에 나타낸 바와 같이, 본 발명의 실시 예에 다른 USIM 카드(100)는 RIM 관리 애플릿(110)과 저장부(120)를 포함한다.As shown in FIG. 2, another USIM card 100 according to an embodiment of the present invention includes a RIM management applet 110 and a storage unit 120.

이러한, USIM 카드(100)는 3세대 이동단말기의 인증을 위해 사용되며, 금융, 통신 관련 애플릿을 설치하여 USIM 카드(100) 하나로 다양한 용도의 서비스를 받을 수 있는 기능을 제공한다.The USIM card 100 is used for authentication of the third generation mobile terminal, and provides a function of receiving a service of various purposes by installing a financial and communication applet.

또한, USIM 카드(100)는 이동 단말기의 소프트웨어에 대한 검증을 위한 RIM 데이터를 저장부(120)에 저장하며, 저장된 RIM 데이터를 관리하는 RIM 관리 애플릿(110)이 USIM 카드(100)에 설치된다. 이때, USIM 카드(100)는 검증 제어부(300) 및 모바일용 보안 신뢰모듈(400)과 모두 통신이 가능하다.In addition, the USIM card 100 stores the RIM data for verifying the software of the mobile terminal in the storage unit 120, and the RIM management applet 110 managing the stored RIM data is installed in the USIM card 100. . In this case, the USIM card 100 can communicate with both the verification control unit 300 and the mobile security trust module 400.

USIM 카드(100)의 저장부(120)에 저장되는 RIM 데이터는 복수의 S/W(Software; 이하, "S/W"라 함) 식별자(112), 다수의 RIM 인증서(114) 및 다수의 RIM 어스(116)를 포함하며, 1개의 S/W에 매칭되는 각각의 RIM 인증서 및 어스가 포함된다.The RIM data stored in the storage unit 120 of the USIM card 100 may include a plurality of software (S / W) identifiers 112, a plurality of RIM certificates 114, and a plurality of software. RIM earth 116 is included, and each RIM certificate and earth that matches one S / W is included.

RIM 관리 애플릿(110)(Applet)은 USIM 카드(100)와 이동 단말기(검증 제어부(300) 및 모바일용 보안 신뢰모듈(400))간의 안전한 채널을 형성하는 기능, 검증 제어부(300)의 요청에 따라 복수의 RIM 인증 정보를 검증하여 중간에 변경되지 않은 검증된 RIM 확인 기능 등을 수행한다. 또한 RIM 관리 애플릿(110)은 OTA(Over The Air)를 통해서 인터넷(internet)이나 오프라인(Offline) 등 다양한 경로로 RIM 인증서를 수신하여 저장부(120)에 저장할 수 있다.RIM management applet 110 (Applet) is a function to form a secure channel between the USIM card 100 and the mobile terminal (validation control unit 300 and the mobile security trust module 400), at the request of the verification control unit 300 Accordingly, a plurality of RIM authentication information is verified to perform a verified RIM verification function that is not changed in the middle. In addition, the RIM management applet 110 may receive the RIM certificate through various paths such as the Internet or offline through OTA (Over The Air) and store the RIM certificate in the storage 120.

또한, RIM 관리 애플릿(110)은 검증 제어부(300)로부터 TIM 값과 해당 소프 트웨어의 정보를 수신하고, TIM 값과 소프트웨어의 정보를 기초로 검색한 RIM 인증서의 RIM값을 비교하는 기능도 수행한다.In addition, the RIM management applet 110 receives a TIM value and information of the corresponding software from the verification control unit 300 and performs a function of comparing the RIM value of the RIM certificate retrieved based on the TIM value and the software information. .

한편, 본 발명의 실시 예에서는 USIM 카드를 이용하였지만, USIM 카드 이외에 데이터를 저장할 수 있는 다양한 종류의 스마트 카드를 이용할 수도 있다.Meanwhile, although the USIM card is used in the embodiment of the present invention, various types of smart cards capable of storing data in addition to the USIM card may be used.

도 3은 본 발명의 실시 예에 따른 이동 단말기의 소프트웨어 무결성 검증 방법을 도시한 데이터 흐름도이다.3 is a data flow diagram illustrating a software integrity verification method of a mobile terminal according to an embodiment of the present invention.

도 3에 나타낸 바와 같이, 본 발명의 실시 예에 따른 이동 단말기의 소프트웨어 무결성 검증 방법은 USIM 카드(100)가 이동 단말기에 삽입되어 이루어진다.As shown in FIG. 3, in the software integrity verification method of the mobile terminal according to an embodiment of the present invention, the USIM card 100 is inserted into the mobile terminal.

이때, USIM 카드(100)는 RIM 데이터를 기 저장하고 있다고 가정한다.In this case, it is assumed that the USIM card 100 pre-stores the RIM data.

여기서, USIM 카드(100)와 이동 단말기간의 통신은 모두 프로토콜 변환부(200)를 거쳐 통신하게 된다.In this case, all of the communication between the USIM card 100 and the mobile terminal is communicated through the protocol conversion unit 200.

먼저, 검증 제어부(300)는 이동 단말기의 특정 소프트웨어에 대한 무결성 검증 요청을 사용자로부터 입력받은 경우에, 해당 소프트웨어에 대한 무결성 측정 값 검증을 위해 USIM 카드(100)에 해당 S/W의 식별자와 함께 RIM 값을 요청한다(S100). First, when the verification controller 300 receives an integrity verification request for a specific software of a mobile terminal from a user, the verification control unit 300 includes an identifier of the corresponding S / W on the USIM card 100 to verify the integrity measurement value for the software. Request a RIM value (S100).

이를 위해 USIM 카드(100)는 모바일용 보안 신뢰모듈(400)와 사전에 약속된 상호인증을 통해 안전한 채널을 형성한다(S102). 그 후 USIM 카드(100)는 모바일용 보안 신뢰모듈(400)로 검증 제어부(300)의 무결성 검증을 요청한다(S104). To this end, the USIM card 100 forms a secure channel through mutual authentication promised in advance with the mobile security trust module 400 (S102). Thereafter, the USIM card 100 requests integrity verification of the verification control unit 300 to the mobile security trust module 400 (S104).

모바일용 보안 신뢰모듈(400)은 USIM 카드(100)의 요청에 대한 검증 제어부(300)의 무결성 검증을 수행한다(S106). 그리고, 모바일용 보안 신뢰모듈(400)은 USIM 카드(100)로 검증 결과를 전송한다(S107).The mobile security trust module 400 performs integrity verification of the verification control unit 300 for the request of the USIM card 100 (S106). Then, the mobile security trust module 400 transmits the verification result to the USIM card 100 (S107).

USIM 카드(100)는 모바일용 보안 신뢰모듈(400)로부터 수신된 검증 결과를 통해 해당 소프트웨어가 변경되지 않은 안전한 모듈임이 검증되면, 검증 제어부(300)와 안전한 채널을 형성한다(S108). 이때, 모바일용 보안 신뢰모듈(400)이 안전한 모듈임이 검증되지 않으면 무결성 검증 방법들을 중단한다.The USIM card 100 forms a secure channel with the verification controller 300 when it is verified that the corresponding software is a secure module that has not been changed through the verification result received from the mobile security trust module 400 (S108). At this time, if it is not verified that the mobile security trust module 400 is a secure module, the integrity verification methods are stopped.

검증 제어부(300)는 해당 소프트웨어에 대한 TIM 값을 생성하고(S109), 생성된 TIM 값과 해당 소프트웨어를 판별할 수 있는 정보와 함께 USIM 카드(100)로 전송한다(S110).The verification controller 300 generates a TIM value for the corresponding software (S109), and transmits the generated TIM value to the USIM card 100 together with information for determining the corresponding software (S110).

USIM 카드(100)는 검증 제어부(300)로부터 해당 소프트웨어 정보와 그에 해당하는 TIM 값을 넘겨 받고 이를 바탕으로 USIM 카드(100) 안에 저장된 해당 소프트웨어의 RIM 인증서와 RIM 어스를 찾는다. 그리고 나서 전송된 TIM 값과 찾은 RIM 인증서 안의 RIM 값을 비교한다(S111). 만약 이 값이 다르면 실패한 결과를 검증 제어부로 보내고 검증 제어부(300)는 소프트웨어가 실행되지 않도록 하고 모든 작업을 중지한다. 만약 이 값이 같으면 RIM 인증서와 RIM 어스를 검증 제어부(300)로 전송한다(S112). The USIM card 100 receives the corresponding software information and the corresponding TIM value from the verification controller 300 and finds the RIM certificate and the RIM earth of the corresponding software stored in the USIM card 100 based on the received software information. Then, the transmitted TIM value is compared with the RIM value in the found RIM certificate (S111). If this value is different, the failed result is sent to the verification controller, and the verification controller 300 stops the software from running and stops all work. If the value is the same, the RIM certificate and the RIM earth are transmitted to the verification controller 300 (S112).

검증 제어부(300)는 전달받은 RIM 인증서를 통해 해당 소프트웨어에 대한 TIM값을 다시 한번 비교한다(S114).The verification control unit 300 compares the TIM value for the corresponding software once again through the received RIM certificate (S114).

상기 S114 단계의 비교에 의해, 두 값이 같다면 모바일용 보안 신뢰모듈(400)로 RIM 인증서와 RIM 어스를 보내 RIM 인증서에 대한 검증을 요청한다(S116).By comparison of the step S114, if the two values are the same, the RIM certificate and the RIM earth are sent to the mobile security trust module 400 to request verification of the RIM certificate (S116).

상기 S114 단계의 비교에 의해, 두 값이 같지 않다면 해당 소프트웨어가 변경된 소프트웨어로 판단하여 소프트웨어가 실행되지 않도록 제어한다.By comparison of the step S114, if the two values are not the same, it is determined that the corresponding software is changed software and controls not to execute the software.

한편, 이동 단말기는 USIM 카드(100)가 삽입되어 있는 상태에서, 사용자로부터 이동 단말기내의 특정 소프트웨어의 무결성 검증을 요청받는 경우에, 상기 S100단계에서 상기 S116단계를 반복 실행한다. On the other hand, when the USIM card 100 is inserted, when the user is requested to verify the integrity of the specific software in the mobile terminal, the mobile terminal repeatedly performs the step S116 in the step S100.

이상에서 설명한 본 발명의 실시 예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있으며, 이러한 구현은 앞서 설명한 실시예의 기재로부터 본 발명이 속하는 기술분야의 전문가라면 쉽게 구현할 수 있는 것이다. The embodiments of the present invention described above are not only implemented through the apparatus and the method, but may also be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention or a recording medium on which the program is recorded. Implementation may be easily implemented by those skilled in the art from the description of the above-described embodiments.

이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improvements of those skilled in the art using the basic concepts of the present invention defined in the following claims are also provided. It belongs to the scope of rights.

도 1은 본 발명의 실시 예에 따른 이동 단말기의 소프트웨어 무결성 검증 장치를 도시한 블록도이다.1 is a block diagram illustrating an apparatus for verifying software integrity of a mobile terminal according to an exemplary embodiment of the present invention.

도 2는 본 발명의 실시 예에 따른 USIM 카드를 상세히 도시한 블록도이다.Figure 2 is a block diagram showing in detail the USIM card according to an embodiment of the present invention.

도 3은 본 발명의 실시 예에 따른 이동 단말기의 소프트웨어 무결성 검증 방법을 도시한 데이터 흐름도이다.3 is a data flow diagram illustrating a software integrity verification method of a mobile terminal according to an embodiment of the present invention.

Claims (9)

데이터를 저장하는 스마트 카드와 연결되어 데이터 송수신을 수행하는 이동 단말기의 소프트웨어 무결성 검증 장치에 있어서,An apparatus for verifying software integrity of a mobile terminal connected to a smart card storing data and performing data transmission / reception, 무결성을 검증하는 모바일용 보안 신뢰모듈; 및A mobile security trust module for verifying integrity; And 상기 이동 단말기 내 저장된 복수의 소프트웨어들에 대한 무결성 매트릭 정보를 생성하며, 상기 복수의 소프트웨어 중 제1 소프트웨어에 대한 무결성 검증을 요청받는 경우에, 상기 제1 소프트웨어 무결성을 검증하기 위한 제1 데이터를 상기 스마트 카드로부터 수신하고, 상기 제1 소프트웨어에 대한 무결성 매트릭 정보와 상기 수신된 제1 데이터를 비교하여 상기 모바일용 보안 신뢰모듈로 제공하는 검증 제어부Integrity metric information for a plurality of software stored in the mobile terminal is generated, and when the integrity verification for the first one of the plurality of software is requested, the first data for verifying the first software integrity is read. A verification control unit which receives from a smart card and compares the integrity metric information for the first software with the received first data and provides it to the mobile security trust module 를 포함하는 이동 단말기의 소프트웨어 무결성 검증 장치.Apparatus for verifying software integrity of a mobile terminal comprising a. 제1항에 있어서,The method of claim 1, 상기 검증 제어부는,The verification control unit, 상기 제1 데이터와 상기 제1 소프트웨어에 대한 무결성 매트릭 정보가 일치하는 경우에, 상기 제1 데이터를 상기 모바일용 보안 신뢰모듈로 제공하는 이동 단말기의 소프트웨어 무결성 검증 장치.And providing the first data to the mobile security trust module when the first metric and the integrity metric information on the first software match. 제2항에 있어서,The method of claim 2, 상기 모바일용 보안 신뢰모듈은, The mobile security trust module, 상기 스마트 카드로부터 상기 검증 제어부에 대한 무결성 검증을 요청받는 경우에, When the integrity verification for the verification controller is requested from the smart card, 상기 검증 제어부에 대한 무결성 검증을 수행하고, 무결성 검증에 성공한 경우에, 검증 결과를 상기 스마트 카드로 전송하는 이동 단말기의 소프트웨어 무결성 검증 장치.And performing verification of the integrity of the verification control unit and transmitting the verification result to the smart card when the verification of the integrity is successful. 제1항 내지 제3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 모바일용 보안 신뢰모듈 및 검증 제어부와 상기 스마트 카드 간과의 연결 설정을 하고, 각각의 기 설정된 포멧에 따른 데이터 송수신을 제어하는 프로토콜 변환부를 더 포함하는 이동 단말기의 소프트웨어 무결성 검증 장치.And a protocol converter configured to establish a connection between the mobile security trust module and the verification controller and the smart card, and to control data transmission and reception according to each preset format. 제1항 내지 제3항 중 어느 한 항에 있어서,The method according to any one of claims 1 to 3, 상기 제1 데이터는 상기 스마트 카드가 기 저장하고 있는 상기 제1 소프트웨어의 RIM(Reference Integrity Metrics) 인증서 및 상기 RIM 인증서를 검증하기 위한 공개키를 포함하는 이동 단말기의 소프트웨어 무결성 검증 장치.And the first data includes a reference integrity index (RIM) certificate of the first software stored in the smart card and a public key for verifying the RIM certificate. 데이터를 저장하는 스마트 카드와 연결되어 데이터 송수신을 수행하는 이동 단말기의 소프트웨어 무결성 검증 방법에 있어서,A software integrity verification method of a mobile terminal connected to a smart card storing data and performing data transmission / reception, 복수의 소프트웨어 중 제1 소프트웨어에 대한 무결성 검증을 위하여 상기 제 1 소프트웨어 매칭되는 RIM(Reference Integrity Metrics) 데이터를 상기 스마트 카드로 요청하는 단계;Requesting the smart card for the first software matched Reference Integrity Metrics (RIM) data for integrity verification of a first one of a plurality of software; 상기 USIM 카드로부터 상기 이동 단말기 내의 무결성 검증을 제어하는 장치에 대한 무결성 검증 요청을 수신하여 무결성 검증을 수행하는 단계;Receiving an integrity verification request for the device that controls the integrity verification in the mobile terminal from the USIM card to perform integrity verification; 상기 무결성 검증을 제어하는 장치의 무결성 검증이 성공한 경우에, 상기 스마트 카드와의 채널을 형성하는 단계;When the integrity verification of the device controlling the integrity verification is successful, establishing a channel with the smart card; 상기 제1 소프트웨어의 무결성 매트릭 정보를 생성하는 단계;Generating integrity metric information of the first software; 상기 제1 소프트웨어의 무결성 매트릭 정보에 대한 검증을 상기 스마트 카드에서 수행하도록 상기 생성된 무결성 매트릭 정보를 상기 스마트 카드로 제공하는 단계; 및Providing the generated smart metric information to the smart card to perform verification of the integrity metric information of the first software on the smart card; And 상기 스마트 카드로부터 상기 RIM 데이터를 수신하는 단계Receiving the RIM data from the smart card 를 포함하는 소프트웨어 무결성 검증 방법.Software integrity verification method comprising a. 제6항에 있어서,The method of claim 6, 상기 수신된 RIM 데이터와 기 저장되어 있는 상기 제1 소프트웨어에 대한 무결성 매트릭 정보를 비교하는 단계; 및Comparing the received RIM data with integrity metric information for the first software previously stored; And 상기 RIM 데이터와 상기 무결성 매트릭 정보가 일치하는 경우에, 상기 RIM 데이터에 대한 무결성 검증을 수행하는 단계Performing integrity verification on the RIM data when the RIM data and the integrity metric information match. 를 더 포함하는 소프트웨어 무결성 검증 방법.Software integrity verification method further comprising. 제7항에 있어서,The method of claim 7, wherein 상기 RIM 데이터와 상기 무결성 매트릭 정보가 일치하지 않는 경우에, 상기 제1 소프트웨어의 실행이 중지되도록 제어하는 단계Controlling the execution of the first software to be stopped if the RIM data and the integrity metric information do not match. 를 더 포함하는 소프트웨어 무결성 검증 방법.Software integrity verification method further comprising. 제6항 내지 제8항 중 어느 한 항에 있어서,The method according to any one of claims 6 to 8, 상기 검증을 제어하는 장치에 대한 무결성 검증을 수행하는 단계는,Performing integrity verification on the device controlling the verification may include: 상기 검증을 제어하는 장치의 무결성 검증을 위한 채널을 형성하는 단계;Establishing a channel for integrity verification of the device controlling the verification; 상기 검증을 제어하는 장치의 무결성 검증을 상기 스마트 카드로부터 수신하는 단계; 및Receiving from the smart card an integrity verification of the device controlling the verification; And 상기 검증을 제어하는 장치의 무결성 검증을 수행하는 단계Performing integrity verification of the device controlling the verification 를 포함하는 소프트웨어 무결성 검증 방법.Software integrity verification method comprising a.
KR1020070133667A 2007-12-18 2007-12-18 Apparatus and method for verifying software integrity of mobile terminals KR100932274B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070133667A KR100932274B1 (en) 2007-12-18 2007-12-18 Apparatus and method for verifying software integrity of mobile terminals

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070133667A KR100932274B1 (en) 2007-12-18 2007-12-18 Apparatus and method for verifying software integrity of mobile terminals

Publications (2)

Publication Number Publication Date
KR20090066059A true KR20090066059A (en) 2009-06-23
KR100932274B1 KR100932274B1 (en) 2009-12-16

Family

ID=40994211

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070133667A KR100932274B1 (en) 2007-12-18 2007-12-18 Apparatus and method for verifying software integrity of mobile terminals

Country Status (1)

Country Link
KR (1) KR100932274B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130097444A (en) * 2012-02-24 2013-09-03 삼성전자주식회사 Method and apparatus for securing integrity of mobile termninal
CN104077216A (en) * 2013-03-28 2014-10-01 腾讯科技(深圳)有限公司 Software test method and test device
KR20150059564A (en) * 2013-11-22 2015-06-01 삼성전자주식회사 Method for integrity verification of electronic device, machine-readable storage medium and electronic device
KR20180063505A (en) * 2016-12-02 2018-06-12 충남대학교산학협력단 Automatic patch installing system and method thereof
KR20190092235A (en) 2018-01-30 2019-08-07 고려대학교 산학협력단 An efficient control-flow integrity vefifing method based on unpredictability

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101759136B1 (en) 2015-11-17 2017-07-31 현대자동차주식회사 Method and apparatus for providing security service for vehicle dedicated data channel in linking between vehicle head unit and external device

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060067584A (en) * 2004-12-15 2006-06-20 삼성전자주식회사 Smart card having hacking prevention function
KR100711722B1 (en) * 2005-10-04 2007-04-25 엘지전자 주식회사 Software authentication apparatus for mobile communication terminal and the method thereof
US8510859B2 (en) * 2006-09-26 2013-08-13 Intel Corporation Methods and arrangements to launch trusted, co-existing environments

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130097444A (en) * 2012-02-24 2013-09-03 삼성전자주식회사 Method and apparatus for securing integrity of mobile termninal
CN104077216A (en) * 2013-03-28 2014-10-01 腾讯科技(深圳)有限公司 Software test method and test device
CN104077216B (en) * 2013-03-28 2018-04-27 腾讯科技(深圳)有限公司 Method for testing software and test device
KR20150059564A (en) * 2013-11-22 2015-06-01 삼성전자주식회사 Method for integrity verification of electronic device, machine-readable storage medium and electronic device
KR20180063505A (en) * 2016-12-02 2018-06-12 충남대학교산학협력단 Automatic patch installing system and method thereof
KR20190092235A (en) 2018-01-30 2019-08-07 고려대학교 산학협력단 An efficient control-flow integrity vefifing method based on unpredictability

Also Published As

Publication number Publication date
KR100932274B1 (en) 2009-12-16

Similar Documents

Publication Publication Date Title
CN111835520B (en) Method for device authentication, method for service access control, device and storage medium
US8064598B2 (en) Apparatus, method and computer program product providing enforcement of operator lock
US7526649B2 (en) Session key exchange
KR101075844B1 (en) Method for remote message attestation in a communication system
US9621540B2 (en) Secure provisioning of computing devices for enterprise connectivity
RU2512118C2 (en) Protocol for device to station association
EP1519536B1 (en) Home network device, home network system and method for automating take ownership process
JP2020523806A (en) Internet of Things (IOT) device management
US20090319793A1 (en) Portable device for use in establishing trust
RU2011153984A (en) TRUSTED AUTHORITY ADMINISTRATOR (TIM)
KR20160127167A (en) Multi-factor certificate authority
KR101210260B1 (en) OTP certification device
KR100932274B1 (en) Apparatus and method for verifying software integrity of mobile terminals
WO2019051839A1 (en) Data processing method and device
CN112468305A (en) Internet of things security authentication method and equipment
CN112513844A (en) Secure element for processing and authenticating digital keys and method of operation thereof
JP2020120173A (en) Electronic signature system, certificate issuing system, certificate issuing method, and program
CN109492371B (en) Digital certificate null sending method and device
US20090210719A1 (en) Communication control method of determining whether communication is permitted/not permitted, and computer-readable recording medium recording communication control program
WO2017076257A1 (en) System and method for app certification
Bolhuis Using an NFC-equipped mobile phone as a token in physical access control
US8949598B2 (en) Method and apparatus for secured embedded device communication
CN115334506A (en) User trusted access system and method for 5G edge computing node
US20220360454A1 (en) Methods and devices for securing a multiple-access peripheral network
CN114329534A (en) Authority determination method and device, computer equipment and computer readable storage medium

Legal Events

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

Payment date: 20121129

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161121

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20181025

Year of fee payment: 10