KR20080100171A - 컴퓨터 시스템의 애플리케이션을 인증하는 방법 - Google Patents

컴퓨터 시스템의 애플리케이션을 인증하는 방법

Info

Publication number
KR20080100171A
KR20080100171A KR1020087018064A KR20087018064A KR20080100171A KR 20080100171 A KR20080100171 A KR 20080100171A KR 1020087018064 A KR1020087018064 A KR 1020087018064A KR 20087018064 A KR20087018064 A KR 20087018064A KR 20080100171 A KR20080100171 A KR 20080100171A
Authority
KR
South Korea
Prior art keywords
application
trusted environment
operating system
driver
abbreviated
Prior art date
Application number
KR1020087018064A
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 KR20080100171A publication Critical patent/KR20080100171A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6281Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database at program execution time, where the protection is within the operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은, 마이크로프로세서; 복수의 애플리케이션; 상기 애플리케이션을 실행 및 관리할 수 있고, 특히 애플리케이션을 실행시키는데 필요한 정보인 식별 정보를 각각의 애플리케이션 식별자(3)에 관련시킬 수 있는 범용 운영 시스템(OS2); 및 상기 애플리케이션에 서비스를 제공하는 신뢰 환경(EC);을 포함하는 컴퓨터 시스템의 애플리케이션을 인증하는 방법에 관한 것이다. 본 발명에 따르면, 애플리케이션이 상기 신뢰 환경(EC)의 서비스에 액세스하기 전에, 애플리케이션의 식별 정보에서 해싱 연산이 실행되고 상기 신뢰 환경(EC)이 해싱 연산 결과의 진정성을 검증한다.

Description

컴퓨터 시스템의 애플리케이션을 인증하는 방법{METHOD FOR AUTHENTICATING APPLICATIONS OF A COMPUTER SYSTEM}
본 발명은 컴퓨터 시스템의 애플리케이션을 인증하는 방법에 관한 것이다.
컴퓨터 시스템에는 일정 수의 "신뢰" 서비스("trusted" service)가 보안 로컬 환경(신뢰 환경)에서 실행되고 있는 것으로 여겨진다. 이러한 서비스는 신뢰 환경(Trusted Environment) 외부로부터 액세스될 수 있는 기능들을 제공한다. 따라서, 누가(그리고 어떤 애플리케이션이) 각각의 기능에 액세스할 권리를 갖는지 제어할 수 있어야 한다.
예컨대 신뢰 환경에서 실행되는 디지털 저작권 관리(DRM) 에이전트의 경우를 예로 들 수 있다. 이러한 DRM 에이전트는 DRM 라이센스에 의해 보호되는 MP3 파일을 읽기 위한 인가(authorisation)를 관리한다. 이 라이센스는 예컨대 MP3 파일을 제한된 날짜까지 읽을 수 있는 권리를 포함하고 있다. DRM 에이전트는 라이센스 조건이 지켜지는지 검증(verify)하는 역할을 한다. 신뢰 환경에서의 실행은 DRM 에이전트의 임무에 도움이 되는데, 즉 예컨대 이는 로컬 시스템의 시간 및 날짜에 대해 보장한다. 조건이 지켜진다면, DRM 에이전트는 MP3 파일의 읽기를 인가한다. 이를 위해, DRM 에이전트는 표준 MP3 플레이어 애플리케이션(표준 영역, 즉 신뢰 환경의 외부에서 실행됨)에게 MP3 파일을 디코드하는 키를 제공해야 한다. 물론, DRM 에이전트는 이 키를 알려지지 않은 MP3 플레이어 애플리케이션에게 제공해서는 안 된다(예컨대, 이를 인터넷 등에 공표할 수 있음). 이러한 예로부터 보안 서비스(DRM 에이전트)가 MP3 파일의 읽기를 호출하는 표준 애플리케이션(MP3 플레이어)을 인증해야함을 알 수 있다.
또한, 로컬 서비스가 폐쇄된 환경에서 또 다른 로컬 애플리케이션을 인증하는 것은, 폐쇄된 환경이 폐쇄형 운영 시스템(즉, 모든 애플리케이션이 관리자 또는 승인된 사용자의 감시하에 초기에 설치되어 있음)이든 실행 환경이든 용이하다. 실제로, 폐쇄형 운영 시스템(closed operating system)이라면, 애플리케이션의 설치 자체만으로도 애플리케이션의 진정성(authenticity)이 보장되는데, 이는 오직 인가된 사람만이 이러한 동작을 수행할 수 있기 때문이다. 실행 환경(가상 머신)이라면 문제가 약간 더 복잡해지는데, 이는 애플리케이션의 포맷이 가상 머신(virtual machine)에게 애플리케이션의 진정성 또는 무결성(integrity)을 검증하는 수단(애플리케이션의 구성에 의해, 가상 머신은 애플리케이션을 실행시키는 코드를 다룬다)을 제공하도록 구성되어야 하기 때문이다.
새로운 애플리케이션이 자유롭게 다운로드되어 설치될 수 있으며 애플리케이션을 개발, 변경, 디버그, 및 추적하는 많은 툴이 있는 개방형 시스템(open system)의 경우에는, 문제가 훨씬 더 복잡해진다. 그러나, 휴대전화, 휴대용 멀티미디어 플레이어, 또는 PDA(개인 휴대 정보 단말기)와 같은 내장형 컴퓨팅(또는 매설형) 시스템 분야를 포함하는 개방형 시스템은 점점 더 많이 사용되고 있으므로, 해결책을 찾아야할 필요성은 훨씬 더 중대하다.
이에 따라, 특정 시스템은 운영 시스템 내에 진보된 보안 메카니즘을 통합하도록 구성한다. 이는 예컨대 리눅스, 특히 SE리눅스(등록상표)와 같은 특정 운영 시스템에서 발견되는 기능으로, 여기에서 운영 시스템은 인가의 개념을 통합하고 있다(인가의 예로서, "정당한 MP3 플레이어 애플리케이션은 DRM 에이전트의 서비스를 사용하도록 인가됨"). 이러한 해결책은 아래와 같은 몇몇 단점을 갖는다.
- 이는 간섭적이다(intrusive). 즉 운영 시스템 전체가 이러한 개념을 기초로 하고 있어야 하며, 또한 이러한 개념을 포함하도록 재기록되어야 한다. 따라서, 이와 같이 프로그램되지 않은 운영 시스템은 이를 포함하기 위해 상당한 변경을 겪어야 한다.
- 일반적인 경우에 대해 많은 예외들이 이루어져야 하므로, 인가의 구성이 시스템 관리자에게 지속적으로 문제되며, 또한 인가가 제때에 바뀌어져야 한다.
- 애플리케이션의 인증이 운영 시스템에 위임되는데, 이는 운영 시스템 본래의 역할이 아니다. 운영 시스템의 역할은 보안 연산을 실행하는 것이 아니라, 서로에 대한 태스크를 관리하는 것이다. 보안 프로세싱을 범용 엔티티(generalist entity)에 위임하는 것은 좋지못한 관습이라고 알려져 있다. 오히려, 이들은 제한된 전용 모듈에 모여있어야 한다.
"신뢰 컴퓨팅" 모델("Trusted Computing" model)과 같은 다른 해결책은 특정한 보안 하드웨어(신뢰 플랫폼 모듈 - TPM) 및 암호화 인증(cryptographic certification) 메카니즘을 기초로 하고 있다. 이 경우, TPM은 외부 엔티티에 로컬 시스템의 진정성에 대한 보장을 제공하는 역할을 한다. 그러나, 암호화 인증은 주어진 애플리케이션이 아닌 글로벌 시스템에 대한 보장을 제공하도록 구성되며(로컬 애플리케이션을 인증하기 위해 TPM을 사용하는 시스템이 없음), 또한 전용 하드웨어를 추가하는 것이 모든 상황에서 반드시 가능한 것은 아니다(기술 및/또는 상업적 이유에서).
도 1은 본 발명에 따른 인증 시스템의 구조를 개략적으로 도시한 도면이다.
따라서, 본 발명의 목적은 이러한 단점을 제거하는 것이며, 이러한 목적은, 개방형 운영 시스템을 변경하지 않으면서 개방형 운영 시스템에서 보안 서비스(신뢰 환경 내에서 실행됨)에 대한 "표준" 애플리케이션(신뢰 환경의 외부에서 실행됨)의 진정성을 보장하는 방법에 의해 달성되며, 상기 방법은 아래와 같은 3가지 상이한 신뢰 수준을 얻을 수 있다.
- 표준 애플리케이션(비보안),
- 운영 시스템(일정 수준의 권한(privilege)을 가짐), 및
- 신뢰 애플리케이션.
이러한 방법은,
- 복수의 애플리케이션,
- 상기 애플리케이션을 실행 및 관리할 수 있고, 특히 애플리케이션을 실행시키는데 필요한 정보인 "식별 정보"를 각각의 애플리케이션 식별자에 관련시킬 수 있는 범용 운영 시스템,
- 상기 애플리케이션에 서비스를 제공하는 신뢰 환경;을 포함하는 운영 시스템의 애플리케이션을 인증할 수 있도록 한다.
본 발명에 따르면, 이러한 방법은 애플리케이션이 상기 신뢰 환경의 서비스에 액세스하기 전에,
- 상기 애플리케이션의 식별 정보에서 "해싱" 연산을 실행하는 단계;
- 상기 신뢰 환경에 의해, 상기 "해싱" 연산에 의한 축약된 결과의 진정성을 검증하는 단계;를 포함한다.
바람직하게는, 상기 방법은 운영 시스템으로부터 신뢰 환경으로의 액세스를 허가하는 소프트웨어 요소인 "드라이버"를 추가로 포함할 수 있고, 상기 드라이버는,
- 상기 드라이버가 운영 시스템으로 상기 애플리케이션의 식별자를 제공하는 단계;
- 상기 운영 시스템이 드라이버로 상기 식별 정보를 제공하는 단계;
- 상기 드라이버가 상기 식별 정보에서 "해싱" 연산을 실행하고, 축약된 결과를 상기 신뢰 환경으로 전송하는 단계;를 실행할 수 있다.
바람직하게는,
- 상술한 식별 정보는 상기 애플리케이션의 실행 코드를 포함할 수 있고, 또한 애플리케이션에 의해 사용되는 특정 파일 및 파일 이름을 포함할 수도 있다.
- 상기 신뢰 환경에 의해 축약된 결과의 진정성을 검증하는 단계는 허용가능한 축약된 결과의 리스트를 검색함으로써 수행될 수 있다.
- 이러한 인증 연산은 애플리케이션이 상기 신뢰 환경의 서비스에 대한 액세스를 요청할 때 수행될 수 있다.
- 이러한 인증 연산은, 상기 신뢰 환경의 서비스에 대한 액세스 요청에 앞서 상기 애플리케이션이 인증될 수 있도록 하는 선행 단계인 "로그-인" 단계에서 수행될 수 있다.
- 상기 축약된 결과의 검증 결과에 따라, 상기 신뢰 환경은 상기 애플리케이션에게 신뢰 환경의 서비스에 대한 상이한 액세스 권리를 제공할 수 있다.
- 상기 신뢰 환경에 의해 제공되는 서비스는 적어도 컴퓨터 시스템의 특정 리소스에 대한 액세스를 포함할 수 있다.
- 상기 신뢰 환경에 의해 제어되는 상기 컴퓨터 시스템의 리소스는 암호화 엔코딩 수단을 포함할 수 있다.
- 상기 신뢰 환경에 의해 제어되는 상기 컴퓨터 시스템의 리소스는 특정 콘텐츠를 사용할 권리(DRM)를 포함할 수 있다.
바람직하게는, 상기 신뢰 환경은 개선된 보안성을 보장하는 보안 마이크로프로세서 모드에서 실행될 수 있다.
또한, 본 발명은 위에서 정의된 방법을 사용하는 애플리케이션을 인증하는 시스템과 관련되어 있으며, 또한 휴대전화, 오디오 플레이어, 비디오 플레이어, 또는 PDA 등과 같은 휴대용 장치에서 실행될 수 있다.
이하, 비한정적인 예시로서 본 발명의 일 실시예를 첨부 도면을 참조하여 기술한다.
이 예에서, 단말기(1)는 아래의 구성들을 사용한다.
- 개방형 운영 시스템(OS2)(리눅스, 윈도우, 솔라리스(등록상표) 등). 물론, 이 운영 시스템(OS2)은 인증되어야할 애플리케이션을 관리할 수 있어야 한다. "표준"(비보안) 애플리케이션은 이 운영 시스템에서 직접 실행된다. 이 운영 시스템은 두 개의 포괄적 수준의 권한(사용자 모드/커널 모드)을 갖는다.
- 보안 서비스(4)를 실행하는 신뢰 환경(EC).
운영 시스템(OS2)으로부터 신뢰 환경(EC)으로의 스위치는 드라이버(5), 즉 운영 시스템(OS2)의 커널에서 실행되는 작은 모듈(또는 플러그인)에 의해 제어된다.
상기 드라이버는 (운영 시스템(OS2)에서 실행되는) 비보안 애플리케이션으로부터 (신뢰 환경(EC)에서 실행되는) 보안 서비스(4)로의 액세스 요청을 인터셉트하도록 구성된다.
액세스 요청의 인터셉트에 이어, 드라이버(5)는 운영 시스템(OS2)으로 애플리케이션의 식별자(identifier)를 전송하고 애플리케이션의 실행 코드(executable code)를 포함하는 파일을 요청한다. 운영 시스템은 보통 이러한 정보를 프로세스 제어 블록(PCB)라 불리는 데이터 구조에 보유하고 있다.
드라이버(5)는 운영 시스템(OS2)에 의해 제공되는 파일에서 "해싱" 연산(예컨대 SHA-1)을 실행한다.
운영 시스템(OS2)은 파일 디렉토리에서, 애플리케이션이 사용하는 모든 중요한 파일(예컨대, 구성 파일, 공유 라이브러리 등)의 절대 이름(absolute name)을 포함하고 있는 "매니페스트" 파일("manifest" file)을 추가로 검색할 수 있고, 이러한 정보를 상기 드라이버(5)에 제공한다. 이후, 드라이버(5)는 실행가능한 매니페스트 파일과 매니페스트 파일에서 참조된 모든 파일(또는 이들 중 일부) 모두에서 "해싱" 연산을 수행한다.
모든 경우에, 축약된 결과(Condensed result)는 비보안 애플리케이션의 고유한 식별(unique identification)을 제공한다("해싱" 함수가 충돌이 회피될 수 있도록 한다면). 이후, 축약된 결과는 진정성을 검증하기 위해 신뢰 환경으로 전송된다. 예로서, 상기 축약된 결과는 허용가능한(acceptable) 축약된 결과의 리스트와 비교될 수 있다. 축약된 결과가 발견된다면, 보안 서비스(4)에 의해 제공되는 서비스에 대한 액세스가 인가될 것이다.
상술한 예에서, 상기 운영 시스템(OS2)은 신뢰 환경(EC)의 서비스에 대한 액세스 요청에 대응하는 파일을 식별하기 위해, 또한 전적으로 운영 시스템 분야에 해당하는 관련 정보를 검색하기 위해서만 개입할 뿐, 축약된 결과를 계산하거나 인증 검사를 수행하지는 않는다.
또한, 신뢰 환경(EC) 인증은 운영 시스템(OS2)에 기초하지 않을 수도 있고 상기 운영 시스템과 독립적일 수 있으며, 도 1은 단지 가능한 하나의 실시예일 뿐이다.
리눅스(등록상표) 운영 시스템에서, 드라이버(5)는 연결 요청과 관련된 파일의 리스트를 아래의 동작 시퀀스에 따라 획득할 수 있는데, 이러한 동작 시퀀스는 각각의 프로세스가 리눅스(등록상표) 커널 내에서는 태스크로 보여진다는 사실에 기초한다("struct task_struct").
- 프로세스에 대응하는 태스크로부터, 이 태스크가 메모리에서 매핑(map)한 페이지들이 획득된다("get_task_mm(task)"). 따라서 "struct_mm_struct"가 획득된다.
- 이 페이지들은 각각 실행가능으로 표시된 페이지를 위해 검색된다(mm->mmap&VM_EXECUTABLE). 여기서, 이 페이지는 상기 프로세스에 대응하는 실행가능 파일에 속한다는 (합리적인)가정이 이루어진다.
- 이 페이지와 관련된 파일이 발견된다(mm->mmap->vm_file). 리눅스(등록상표) 운영 시스템에서, 이는 "struct_file"이다.
- 발견된 파일의 콘텐츠에서 "해싱" 연산이 수행된다.
매니페스트 파일이 사용된다면, 아래의 과정이 추가로 요구된다.
- 이 파일의 경로를 획득, 즉 상기 파일과 관련된 다양한 "디렉토리 엔트리(Dentrys)"가 반복적으로(recursively) 브라우즈됨(vm_file->dentry),
- 이 디렉토리에서 상기 매니페스트 파일의 위치를 탐지(locate),
- 상기 매니페스트 파일에서 참조된 각 파일의 위치를 탐지,
- 상기 매니페스트 파일을 포함한 모든 파일을 해싱.

Claims (12)

  1. 마이크로프로세서; 복수의 애플리케이션; 상기 애플리케이션을 실행 및 관리할 수 있고, 특히 애플리케이션을 실행시키는데 필요한 정보인 "식별 정보"를 각각의 애플리케이션 식별자(3)에 관련시킬 수 있는 개방형 범용 운영 시스템(OS2); 상기 애플리케이션에 서비스를 제공하는 신뢰 환경(EC); 상기 운영 시스템(OS2)로부터 신뢰 환경(EC)으로의 액세스를 허가하는 소프트웨어 요소인 드라이버(5);를 포함하는 컴퓨터 시스템의 애플리케이션을 인증하는 방법에 있어서,
    애플리케이션이 상기 신뢰 환경의 서비스에 액세스하기 전에 실행되는 방법으로서,
    - 상기 드라이버(5)가 운영 시스템으로 상기 애플리케이션의 식별자를 제공하는 단계;
    - 상기 운영 시스템이 상기 애플리케이션을 실행하는데 필요한 특정 정보인 식별 정보를 상기 드라이버로 반환하는 단계;
    - 암호화 해싱 함수를 사용하는 "해싱" 드라이버에 의해 상기 애플리케이션의 식별 정보에서 축약 "해싱" 연산을 실행하고, 축약된 결과를 상기 신뢰 환경으로 전송하는 단계;
    - 상기 신뢰 환경에 의해, 상기 축약 "해싱" 연산에 의한 축약된 결과의 진정성을 검증하는 단계;를 포함하고,
    상기 운영 시스템(OS2)로부터 상기 신뢰 환경으로의 스위치를 제어하는 소프트웨어 요소 또는 드라이버(5)를 사용하며, 상기 소프트웨어 요소 또는 드라이버는,
    - 비보안 애플리케이션으로부터 상기 신뢰 환경(EC)에서 실행되는 보안 서비스로의 액세스 요청을 인터셉트하는 동작;
    - 상기 액세스 요청의 인터셉트에 이어, 상기 애플리케이션의 식별자를 상기 운영 시스템으로 전송하고, 애플리케이션의 실행 코드에 대응하는 파일을 상기 운영 시스템에게 요청하는 동작;
    - 상기 운영 시스템에 의해 제공되는 파일에서 해싱 연산을 수행하는 동작; 및
    - 상기 검증하는 단계를 위해 이러한 "해싱" 연산에 의한 축약된 결과를 상기 신뢰 환경으로 전송하는 동작;을 수행하는, 애플리케이션을 인증하는 방법.
  2. 제1항에 있어서,
    상기 식별 정보는 적어도 상기 애플리케이션의 실행 코드를 포함하는 것을 특징으로 하는 애플리케이션을 인증하는 방법.
  3. 제2항에 있어서,
    상기 식별 정보는 적어도 상기 애플리케이션에 의해 사용되는 특정 파일 및 특정 파일 이름을 더 포함하는 것을 특징으로 하는 애플리케이션을 인증하는 방법.
  4. 제1항에 있어서,
    상기 신뢰 환경(EC)에 의해 축약된 결과의 진정성을 검증하는 단계는 허용가능한 축약된 결과의 리스트를 검색함으로써 수행되는 것을 특징으로 하는 애플리케이션을 인증하는 방법.
  5. 제1항에 있어서,
    상기 진정성을 검증하는 단계는, 상기 신뢰 환경(EC)의 서비스에 대한 액세스 요청에 앞서 상기 애플리케이션이 인증될 수 있도록 하는, 선행 단계인 "로그-인"(또는 등록) 단계에서 수행되는 것을 특징으로 하는 애플리케이션을 인증하는 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 축약된 결과의 검증 결과에 따라, 상기 신뢰 환경(EC)이 상기 애플리케이션에게 신뢰 환경의 서비스에 대한 상이한 액세스 권리를 부여하는 것을 특징으로 하는 애플리케이션을 인증하는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 신뢰 환경(EC)에 의해 제공되는 서비스는 적어도 컴퓨터 운영 시스템(OS2)의 특정 리소스에 대한 액세스를 포함하는 것을 특징으로 하는 애플리케이션을 인증하는 방법.
  8. 제7항에 있어서,
    상기 신뢰 환경(EC)에 의해 액세스가 제어되는 상기 컴퓨터 운영 시스템의 리소스는 암호화 엔코딩 수단을 포함하는 것을 특징으로 하는 애플리케이션을 인증하는 방법.
  9. 제8항에 있어서,
    상기 신뢰 환경(EC)에 의해 액세스가 제어되는 상기 컴퓨터 운영 시스템의 리소스는 콘텐츠를 사용할 권리(DRM)를 포함하는 것을 특징으로 하는 애플리케이션을 인증하는 방법.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 신뢰 환경(EC)은 보안 마이크로프로세서 모드에서 실행되는 것을 특징으로 하는 애플리케이션을 인증하는 방법.
  11. 복수의 애플리케이션; 상기 애플리케이션을 실행 및 관리할 수 있고, 특히 애플리케이션을 실행시키는데 필요한 정보를 각각의 애플리케이션 식별자(3)에 관련시킬 수 있는 개방형 범용 운영 시스템(OS2); 상기 애플리케이션에 서비스를 제공하는 신뢰 환경(EC); 상기 운영 시스템(OS2)로부터 신뢰 환경(EC)으로의 액세스를 관리하는 소프트웨어 요소인 드라이버(5);를 포함하는 컴퓨터 시스템의 애플리케이션을 인증하는 시스템에 있어서,
    - 상기 드라이버(5)에 의해, 비보안 애플리케이션으로부터 상기 신뢰 환경(EC)에서 실행되는 보안 서비스로의 액세스 요청을 인터셉트하는 수단,
    - 상기 드라이버(5)에 의해, 인터셉트된 애플리케이션의 식별자를 상기 운영 시스템(OS2)으로 제공하는 수단;
    - 상기 운영 시스템에 의해, 상기 애플리케이션을 실행하는데 필요한 특정 정보인 식별 정보를 상기 드라이버로 반환하는 수단;
    - 상기 드라이버(5)에 의한 축약에 의해, 암호화 해싱 함수를 사용하여 상기 식별 정보에서 "해싱" 연산을 실행하고, 그 결과인 "축약된" 결과를 상기 신뢰 환경으로 전송하는 수단;
    - 상기 신뢰 환경에 의해 상기 축약된 결과의 진정성을 검증하는 수단;을 포함하는 애플리케이션을 인증하는 시스템.
  12. 제11항에 있어서,
    상기 애플리케이션을 인증하는 시스템이 휴대전화, 오디오 플레이어, 비디오 플레이어, 또는 PDA와 같은 휴대용 장치에서 실행되는 것을 특징으로 하는 애플리케이션을 인증하는 시스템.
KR1020087018064A 2005-12-23 2006-12-22 컴퓨터 시스템의 애플리케이션을 인증하는 방법 KR20080100171A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0513247 2005-12-23
FR0513247A FR2895545B1 (fr) 2005-12-23 2005-12-23 Procede d'authentification d'applications d'un systeme informatique

Publications (1)

Publication Number Publication Date
KR20080100171A true KR20080100171A (ko) 2008-11-14

Family

ID=36764469

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087018064A KR20080100171A (ko) 2005-12-23 2006-12-22 컴퓨터 시스템의 애플리케이션을 인증하는 방법

Country Status (7)

Country Link
US (1) US20090165148A1 (ko)
EP (1) EP1964018A2 (ko)
JP (1) JP2009521033A (ko)
KR (1) KR20080100171A (ko)
CN (1) CN101379503A (ko)
FR (1) FR2895545B1 (ko)
WO (1) WO2007077362A2 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
EP1999883A4 (en) 2006-03-14 2013-03-06 Divx Llc FEDERATED DIGITAL RIGHTS MANAGEMENT SYSTEM COMPRISING CONFIDENCE SYSTEMS
KR20100106327A (ko) 2007-11-16 2010-10-01 디브이엑스, 인크. 멀티미디어 파일을 위한 계층적 및 감소된 인덱스 구조
KR101635876B1 (ko) 2009-01-07 2016-07-04 쏘닉 아이피, 아이엔씨. 온라인 콘텐츠를 위한 미디어 가이드의 단일, 공동 및 자동 생성
US8869289B2 (en) 2009-01-28 2014-10-21 Microsoft Corporation Software application verification
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8799647B2 (en) 2011-08-31 2014-08-05 Sonic Ip, Inc. Systems and methods for application identification
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
JP5841467B2 (ja) * 2012-03-15 2016-01-13 株式会社日立ソリューションズ 携帯型情報端末及びプログラム
CN103378971B (zh) * 2012-04-27 2017-10-13 厦门雅迅网络股份有限公司 一种数据加密系统及方法
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9152798B1 (en) * 2013-02-04 2015-10-06 Google Inc. Securely enabling content protection across a sandboxed application boundary
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9342331B2 (en) 2013-10-21 2016-05-17 International Business Machines Corporation Secure virtualized mobile cellular device
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US9942240B2 (en) 2015-07-21 2018-04-10 Citrix Systems, Inc. Anonymous application wrapping
US10846373B2 (en) 2015-12-03 2020-11-24 Orca Interactive Ltd Method and system for securing a client's access to a DRM agent's services for a video player
US11244077B2 (en) * 2020-01-31 2022-02-08 Fortanix, Inc. Securing data integrity for an application

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5919257A (en) * 1997-08-08 1999-07-06 Novell, Inc. Networked workstation intrusion detection system
US7225333B2 (en) * 1999-03-27 2007-05-29 Microsoft Corporation Secure processor architecture for use with a digital rights management (DRM) system on a computing device
AU6614600A (en) * 1999-07-29 2001-02-19 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US7243236B1 (en) * 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US7117371B1 (en) * 2000-06-28 2006-10-03 Microsoft Corporation Shared names
US6979266B2 (en) * 2001-03-30 2005-12-27 Igt Method and apparatus for downloading peripheral code
EP1331539B1 (en) * 2002-01-16 2016-09-28 Texas Instruments France Secure mode for processors supporting MMU and interrupts
US20040086120A1 (en) * 2002-11-06 2004-05-06 Akins Glendon L. Selecting and downloading content to a portable player

Also Published As

Publication number Publication date
CN101379503A (zh) 2009-03-04
WO2007077362A2 (fr) 2007-07-12
FR2895545B1 (fr) 2008-05-30
US20090165148A1 (en) 2009-06-25
WO2007077362A3 (fr) 2007-08-23
EP1964018A2 (fr) 2008-09-03
JP2009521033A (ja) 2009-05-28
FR2895545A1 (fr) 2007-06-29

Similar Documents

Publication Publication Date Title
KR20080100171A (ko) 컴퓨터 시스템의 애플리케이션을 인증하는 방법
US9989043B2 (en) System and method for processor-based security
Sufatrio et al. Securing android: a survey, taxonomy, and challenges
RU2390836C2 (ru) Отображение достоверности из высоконадежной среды на незащищенную среду
US8213618B2 (en) Protecting content on client platforms
US7546587B2 (en) Run-time call stack verification
AU2007252841B2 (en) Method and system for defending security application in a user's computer
RU2637878C2 (ru) Аутентификация процессов и разрешения на ресурсы
JP5249399B2 (ja) 安全なメモリ区分を使用した安全な実行のための方法および装置
KR101009126B1 (ko) 대응하는 구성요소를 인증하기 위한 디지탈 인증서 및 디지탈 인증서 인증 방법
US7181603B2 (en) Method of secure function loading
CN110851231A (zh) 使用扩展分页和存储器完整性的安全公用云
Zhao et al. A private user data protection mechanism in trustzone architecture based on identity authentication
US20140181527A1 (en) Unsecure network socket communication
Iannillo et al. An REE-independent Approach to Identify Callers of TEEs in TrustZone-enabled Cortex-M Devices
Song et al. TZ-IMA: Supporting Integrity Measurement for Applications with ARM TrustZone
Verma A security analysis of smartphones
Suciu et al. AppBastion: Protection from Untrusted Apps and OSes on ARM
Chauhan et al. Security Risk Associated with Android Applications
Ciravegna Detecting compromise in TEE applications at runtime
Priebe Protecting Applications Using Trusted Execution Environments
Markin et al. Security threat level estimation for untrusted software based on trustzone technology
Sommerhalder Trusted Execution Environment
Καράμπορος File system security and protection from software-based fault injection attacks
Gregor et al. SinClave: Hardware-assisted Singletons for TEEs

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