KR101893504B1 - 리눅스 환경에서 파일 무결성 검증 장치 및 방법 - Google Patents
리눅스 환경에서 파일 무결성 검증 장치 및 방법 Download PDFInfo
- Publication number
- KR101893504B1 KR101893504B1 KR1020170020997A KR20170020997A KR101893504B1 KR 101893504 B1 KR101893504 B1 KR 101893504B1 KR 1020170020997 A KR1020170020997 A KR 1020170020997A KR 20170020997 A KR20170020997 A KR 20170020997A KR 101893504 B1 KR101893504 B1 KR 101893504B1
- Authority
- KR
- South Korea
- Prior art keywords
- template
- hash
- ima
- integrity measurement
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/565—Static detection by checking file integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
본 발명은 리눅스 환경에서 파일 무결성 검증 장치 및 방법에 관한 것이다. 더 상세하게는 컴퓨터 내 저장장치에 존재하는 복수 개의 파일 데이터를 해시하여 복수 개의 데이터해시를 생성하고, 복수 개의 데이터해시로부터 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type) 중 어느 하나의 타입에 해당하는 템플릿해시를 동일하게 생성하고, 템플릿해시를 기 설정된 수만큼 누적하여 이를 변조방지마이크로칩(TPM : Trusted Platform Module) 내의 저장소인 플랫폼구성레지스터(PCR : Platform Configuration Register)로 저장(Extend)하고, 템플릿해시의 데이터해시를 무결성 측정 리스트(IML : Integrity Measurement List)에 추가하여 무결성 측정 리스트(IML : Integrity Measurement List)를 업데이트하는 것을 특징으로 한다. 이를 통해 변조방지마이크로칩(TPM : Trusted Platform Module) 환경에서 무결성 측정 아키텍처(IMA : Integrity Measurement Architecture)의 오버헤드를 개선할 수 있다.
Description
본 발명은 리눅스 환경에서 파일 무결성 검증 장치 및 방법에 관한 것이다. 보다 상세하게는 변조방지마이크로칩(TPM : Trusted Platform Module) 환경에서 무결성 측정 아키텍처(IMA : Integrity Measurement Agent)의 오버헤드를 개선하기 위해 측정할 파일들을 일정 수만큼 모아 해시를 수행하는 무결성 검증 장치 및 방법이다.
최근 컴퓨팅 장치들 간의 네트워크와 휴대가능 장치들의 증가 및 고성능화, 대용량화 등에 따라 각 장치들의 내부 데이터들이 현재 변조되었는지, 신뢰할 수 있는 상태인지를 보장하는 것이 더욱 중요해졌다. 이는 시스템이 의도한대로 동작하기 위해 악성코드(Malicious code)를 감지하거나 실행을 방지하여 변조 또는 신뢰 상태를 보장할 수 있다. 이러한 보안위협의 해결을 위해 티시지(TCG : Trust Computing Group)에서는 하드웨어 기반의 변조 방지 마이크로 칩인 TPM(Trusted Platform Module)을 설계하였고, 이후 이 보조 장치를 활용한 좀 더 강화된 보안 기법들이 등장하였다.
구체적으로 변조방지마이크로칩(TPM : Trusted Platform Module)은 CPU 프로세서와 달리 단순히 키 값이나 패스워드, 디지털 인증서 등을 저장할 수 있는 저장 공간을 제공함과 동시에, 암호화 엔진을 제공한다. 즉 각각의 변조방지마이크로칩(TPM : Trusted Platform Module)은 제조될 때 고유의 키인 EK(Endorsement Key)가 할당되고, 소유권 획득 과정을 통해 SRK(Storage Root Key)가 생성되는데 이 키 값들은 칩 외부로 유출될 수 없도록 되어있다. 따라서 변조방지마이크로칩(TPM : Trusted Platform Module)은 그 특성상 기존의 소프트웨어적인 보안 방식이 가지는 여러 취약점을 보완할 수 있기 때문에 최근에 사용자 및 관계자들에게 각광받고 있는 추세이다.
리눅스에서도 이러한 변조방지마이크로칩(TPM : Trusted Platform Module)의 속성들을 활용한 무결성 측정 아키텍처(IMA : Integrity Measurement Agent)/검증 모듈(EVM : Extended Verification Module)기법을 통해 무결성을 보장한다. 도 1을 참조하면, 일반적으로 SSD(Solid State Drive), HDD(Hard Disk Drive) 등의 저장장치(100)에 저장된 파일(110)은 메모리(600)로 올라가게 됨으로써 프로그램이 실행된다. 이 때 메모리(600)로 프로그램이 올라가기 전 프로그램의 데이터 영역에 대해 해시를 수행하고, 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type)에 따라 파일 이름, 해시 알고리즘 등을 추가로 해시 계산한다. 그리고 이를 변조방지마이크로칩(TPM : Trusted Platform Module)(410) 내의 저장소인 플랫폼구성레지스터(PCR : Platform Configuration Register)(411)로 저장(Extend)하고, 무결성 측정 리스트(IML : Integrity Measurement List)(510)에 추가한다. 이처럼 무결성 측정 아키텍처(IMA : Integrity Measurement Agent)를 통해 장치에 저장된 데이터에 대한 원격검증 및 컴퓨터 내부에서의 자체검증을 보장하고, 검증 모듈(EVM : Extended Verification Module)로 데이터와 관련된 메타데이터 및 무결성 측정 아키텍처(IMA : Integrity Measurement Agent) 정보를 포함한 보안 문맥을 보호한다. 하지만 루트 오브 트러스트(Root of Trust)를 보장하는 변조방지마이크로칩(TPM : Trusted Platform Module) 환경에서 무결성 측정 아키텍처(IMA : Integrity Measurement Agent)를 사용할 때, 시스템의 부팅시간이 무결성 측정 아키텍처(IMA : Integrity Measurement Agent)를 사용하지 않을 때보다 약 8배 늦어지는 것으로 측정되었다. 이는 해당 시스템에 설치된 파일들 및 측정할 파일들에 비례하여 증가하게 된다. 무결성 측정 아키텍처(IMA : Integrity Measurement Agent)의 원격검증, 자체 검증을 위한 과정은 해시 계산, 무결성 측정 리스트(IML : Integrity Measurement List)에 추가, 변조방지마이크로칩(TPM : Trusted Platform Module) 누적(Extend) 연산을 거친다. 이 중 부팅시간 오버헤드의 원인은 변조방지마이크로칩(TPM : Trusted Platform Module) 누적(Extend) 연산으로서, 무결성 측정 리스트(IML : Integrity Measurement List) 저장은 0.0026초로 영향을 주지 못할 정도였다. 이는 1.642초가 걸린 해시 계산 시간에 비해 약 27배인 27.4957초가 걸린 것을 확인할 수 있었다.
이에 본 발명은 상기와 같은 제반 사항을 고려하여 제안된 것으로,
신뢰체인을 형성해야 하는 루트 오브 트러스트(Root of trust)를 제공하기 위한 변조방지마이크로칩(TPM : Trusted Platform Module) 환경에서 무결성 측정 아키텍처(IMA : Integrity Measurement Architecture)의 오버헤드를 개선하고자 한다.
본 발명의 목적들은 이상에서 언급한 목적들로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해할 수 있을 것이다.
상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 리눅스 환경에서 파일 무결성 검증 장치는, 컴퓨터 내 저장장치에 존재하는 복수 개의 파일 데이터를 해시하여 복수 개의 데이터해시를 생성하는 데이터해시생성부, 생성된 복수 개의 데이터해시로부터 컴퓨터 부팅 시 설정된 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type)의 해시 계산 방식에 따라 복수 개의 데이터 해시를 동일한 IMA 타입으로 템플릿해시를 생성하는 템플릿해시 생성 부, 생성된 템플릿해시를 기 설정된 수만큼 누적하여 이를 변조방지마이크로칩(TPM : Trusted Platform Module) 내의 저장소인 플랫폼구성레지스터(PCR : Platform Configuration Register)로 저장(Extend)하는 저장부, 템플릿해시의 데이터해시를 무결성 측정 리스트(IML : Integrity Measurement List)에 추가하여 무결성 측정 리스트(IML : Integrity Measurement List)를 업데이트(Update)하는 업데이트부를 포함하는 것을 특징으로 한다.
이 때 저장부의 템플릿해시는 기 설정된 수만큼 누적될 때마다 저장부 내지 업데이트부를 수행하는 것을 특징으로 한다. 또한 저장부는 플랫폼구성레지스터(PCR : Platform Configuration Register)에 저장되어있는 기존 템플릿해시와 누적된 복수 개의 템플릿해시를 오알(OR) 연산하여 저장(Extend)하는 것을 특징으로 한다.
템플릿해시생성부의 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type)은
(A) 상기 복수 개의 데이터해시로부터 파일 이름을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐(IMA : Integrity Measurement Architecture)
(B) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐(IMA_ng: Integrity Measurement Architecture_ng)
(C) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘, 시그니처를 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 에스아이지(IMA_sig: Integrity Measurement Architecture_sig)
로 분류되는 것을 특징으로 한다.
상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 사상에 의한 리눅스 환경에서 파일 무결성 검증 방법은, 데이터해시생성부에서 컴퓨터 내 저장장치에 존재하는 복수 개의 파일 데이터를 해시하여 복수 개의 데이터해시를 생성하는 단계, 템플릿해시생성부에서 상기 생성된 복수 개의 데이터해시로부터 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type) 중 어느 하나의 타입에 해당하는 템플릿해시를 동일하게 생성하는 단계, 저장부에서 상기 생성된 템플릿해시를 기 설정된 수만큼 누적하여 이를 변조방지마이크로칩(TPM : Trusted Platform Module) 내의 저장소인 플랫폼구성레지스터(PCR : Platform Configuration Register)로 저장(Extend)하는 단계, 업데이트부에서 상기 템플릿해시의 데이터해시를 무결성 측정 리스트(IML : Integrity Measurement List)에 추가하여 무결성 측정 리스트(IML : Integrity Measurement List)를 업데이트(Update)하는 단계를 포함하는 것을 특징으로 한다.
이 때 상기 템플릿해시를 동일하게 생성하는 단계의 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type)은
(A) 상기 복수 개의 데이터해시로부터 파일 이름을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐(IMA : Integrity Measurement Architecture)
(B) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 엔지(IMA_ng: Integrity Measurement Architecture_ng)
(C) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘, 시그니처를 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 에스아이지(IMA_sig: Integrity Measurement Architecture_sig)
로 분류되는 것을 특징으로 한다.
이 때 상기 템플릿해시를 동일하게 생성하는 단계의 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type)은
(A) 상기 복수 개의 데이터해시로부터 파일 이름을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐(IMA : Integrity Measurement Architecture)
(B) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 엔지(IMA_ng: Integrity Measurement Architecture_ng)
(C) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘, 시그니처를 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 에스아이지(IMA_sig: Integrity Measurement Architecture_sig)
로 분류되는 것을 특징으로 한다.
이 때 저장(Extend)하는 단계의 템플릿해시는 기 설정된 수만큼 누적될 때마다 저장(Extend)하는 단계 내지 업데이트하는 단계를 수행하는 것을 특징으로 한다.
저장(Extend)하는 단계는 플랫폼구성레지스터(PCR : Platform Configuration Register)에 저장되어있는 기존 템플릿해시와 누적된 복수 개의 템플릿해시를 오알(OR) 연산하여 저장(Extend)하는 것을 특징으로 한다.
이상에서 설명한 바와 같은 리눅스 환경에서 파일 무결성 검증 장치 및 방법에 따르면,
첫째, 기존 무결성 측정 아키텍처(IMA : Integrity Measurement Architecture)의 동작 방식(모든 파일들에 대해 해시를 수행)을 파일들을 일정 수만큼 모아 해시를 수행하는 동작 방식으로 수정하여 하여 무결성 측정 아키텍처(IMA : Integrity Measurement Architecture)의 오버헤드를 개선하는 효과를 가진다.
둘째, 다양한 사물인터넷 장치들과 시스템에서의 무결성 원격 검증 또는 자체 검증 시 개선된 성능으로 사용할 수 있는 효과를 가진다.
도 1은 종래의 무결성 측정 아키텍처(IMA : Integrity Measurement Architecture)의 동작방식을 도시한 구성도.
도 2는 본 발명의 일 실시예에 따른 무결성 측정 아키텍처(IMA : Integrity Measurement Architecture)의 동작방식을 도시한 구성도.
도 3은 리눅스 환경에서 파일 무결성 검증 장치를 나타낸 구성도.
도 4는 리눅스 환경에서 파일 무결성 검증 장치를 나타낸 상세 구성도.
도 5는 리눅스 환경에서 파일 무결성 검증 방법을 나타낸 순서도.
도 6은 본 발명의 일 실시예에 따른 무결성 측정 아키텍처(IMA : Integrity Measurement Architecture)의 사용 예시도(원격 검증).
도 2는 본 발명의 일 실시예에 따른 무결성 측정 아키텍처(IMA : Integrity Measurement Architecture)의 동작방식을 도시한 구성도.
도 3은 리눅스 환경에서 파일 무결성 검증 장치를 나타낸 구성도.
도 4는 리눅스 환경에서 파일 무결성 검증 장치를 나타낸 상세 구성도.
도 5는 리눅스 환경에서 파일 무결성 검증 방법을 나타낸 순서도.
도 6은 본 발명의 일 실시예에 따른 무결성 측정 아키텍처(IMA : Integrity Measurement Architecture)의 사용 예시도(원격 검증).
첨부한 도면을 참조하여 본 발명의 실시예들에 의한 리눅스 환경에서 파일 무결성 검증 장치 및 방법에 대하여 상세히 설명한다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술범위에 포함되는 모든 영상을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나, 개략적인 구성을 이해하기 위하여 실제보다 축소하여 도시한 것이다.
또한, 제1 및 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 한편, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 2 내지 도 4를 참조하면, 리눅스 환경에서 파일 무결성 검증 장치는 데이터해시생성부(200), 템플릿해시생성부(300), 저장부(400), 업데이트부(500)를 포함하여 구성된다.
데이터해시생성부(200)는 컴퓨터 내 저장장치(100)에 존재하는 복수 개 파일(110)의 데이터를 해시하여 복수 개의 데이터해시(210)를 생성한다. 이 때 컴퓨터 내 저장장치(100)는 하드디스크, SSD 등이 해당되며, 복수 개 파일(110)은 무결성 검증 대상으로서 부트로더(Boot loader), 커널이미지, 공유 라이브러리, 실행파일, 데이터 등으로서 메모리(600)에 매핑되는 모든 파일이 이에 해당된다.
템플릿해시생성부(300)는 생성된 복수 개의 데이터해시(210)로부터 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type) 중 어느 하나의 타입에 해당하는 템플릿해시(310)를 동일하게 생성한다.
템플릿해시생성부의 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type)은,
(A) 상기 복수 개의 데이터해시(210)로부터 파일 이름을 추가로 해시하여 동일한 IMA 타입의 템플릿해시(310)를 생성하는 무결성 측정 아키텍쳐(IMA : Integrity Measurement Architecture)
(B) 상기 복수 개의 데이터해시(210)로부터 파일 이름, 해시 알고리즘을 추가로 해시하여 동일한 IMA 타입의 템플릿해시(310)를 생성하는 무결성 측정 아키텍쳐 엔지(IMA_ng: Integrity Measurement Architecture_ng)
(C) 상기 복수 개의 데이터해시(210)로부터 파일 이름, 해시 알고리즘, 시그니처를 추가로 해시하여 동일한 IMA 타입의 템플릿해시(310)를 생성하는 무결성 측정 아키텍쳐 에스아이지(IMA_sig: Integrity Measurement Architecture_sig)
로 분류되는 것을 특징으로 한다.
예를 들어 무결성 측정 아키텍쳐 엔지(IMA_ng: Integrity Measurement Architecture_ng)라는 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type)일 경우, 파일의 데이터 해시(210)와 파일 이름을 함께 해시를 추가 수행하여 나온 값을 오알(OR) 연산하여 플랫폼구성레지스터(PCR : Platform Configuration Register)(411)로 저장(Extend)한다.
저장부(400)는 생성된 템플릿해시(310)를 기 설정된 수만큼 누적하여 이를 변조방지마이크로칩(TPM : Trusted Platform Module)(410) 내의 저장소인 플랫폼구성레지스터(PCR : Platform Configuration Register)(411)로 저장(Extend)한다. 이 때 상기 기 설정된 수는 무결성 측정 아키텍처(IMA : Integrity Measurement Architecture) 동작 방식을 수정할 때 설정한다. 예를 들어 빠른 무결성 검증 속도를 원할 경우에는 누적하는 템플릿해시(310)의 수(기 설정된 수)를 늘리고, 높은 정확도를 가지는 무결성 검증을 원할 경우에는 누적하는 템플릿해시(310)의 수(기 설정된 수)를 줄이는 것을 특징으로 한다.
변조방지마이크로칩(TPM : Trusted Platform Module)(410)은 하드웨어를 사용한 보안 방식의 대표적인 예이다. 변조방지마이크로칩(TPM : Trusted Platform Module)(410)의 가장 큰 특징은 키(Key)나 패스워드와 같은 중요한 데이터 등을 저장할 수 있는 비휘발성 및 휘발성 저장공간을 제공하고, 이러한 저장공간에 접근할 수 있는 명령어들을 제공하는 것이다. 이러한 변조방지마이크로칩(TPM : Trusted Platform Module)(410)을 사용하여 상대방 플랫폼의 신뢰성 여부를 파악할 수 있는 원격 검증을 수행할 수 있다.
이 때 저장부(400)의 템플릿해시(310)는 기 설정된 수만큼 누적될 때마다 저장부(400) 내지 업데이트부(500)를 수행한다. 또한 저장부(400)는 플랫폼구성레지스터(PCR : Platform Configuration Register)(411)에 저장되어있는 기존 템플릿해시와 누적된 복수 개의 템플릿해시(310)를 오알(OR) 연산하여 저장(Extend)한다.
업데이트부(500)는 템플릿해시의 데이터해시(311)를 무결성 측정 리스트(IML : Integrity Measurement List)(510)에 추가하여 무결성 측정 리스트(IML : Integrity Measurement List)(510)를 업데이트한다.
무결성 측정 아키텍처(IMA : Integrity Measurement Architecture)는 SHA-1 알고리즘을 사용하여 시스템 상에서 실행되는 모든 프로세스와 라이브러리의 코드에 대한 해시 값을 계산하고, 그 결과를 변조방지마이크로칩(TPM : Trusted Platform Module) 내부에 존재하는 특정 플랫폼구성레지스터(PCR : Platform Configuration Register)에 업데이트하는 코드이다. 그리고 수행된 프로세스와 라이브러리 코드의 해시 값은 실행 순서대로, 로그 파일 형태로 저장이 된다. 이 때 로그 파일에 저장되는 각각의 항목을 무결성 측정 리스트(IML : Integrity Measurement List)라고 하며, 프로세스(혹은 라이브러리) 경로, 해시 값, 해시 값이 업데이트 된 PCR 번호로 구성되어있다. 추후에 각 무결성 측정 리스트(IML : Integrity Measurement List)의 해시 값을 저장(Extend)하여 특정 플랫폼구성레지스터(PCR : Platform Configuration Register) 값과 동일한지를 비교하는 무결성 검사를 수행한다.
도 5를 참조하면, 리눅스 환경에서 파일 무결성 검증 방법은 데이터해시를 생성하는 단계(S200), 템플릿해시를 생성하는 단계(S300), 저장(Extend)하는 단계(S400), 업데이트 하는 단계(S500)를 포함하여 구성된다.
데이터해시를 생성하는 단계(S200)는 데이터해시생성부(200)에서 컴퓨터 내 저장장치에 존재하는 복수 개의 파일 데이터를 해시하여 복수 개의 데이터해시를 생성한다.
템플릿해시를 생성하는 단계(S300)는 템플릿해시생성부(300)에서 상기 생성된 복수 개의 데이터해시로부터 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type) 중 어느 하나의 타입에 해당하는 템플릿해시를 동일하게 생성한다.
이 때 템플릿해시를 생성하는 단계(S300)의 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type)은,
(A) 상기 복수 개의 데이터해시로부터 파일 이름을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐(IMA : Integrity Measurement Architecture)
(B) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 엔지(IMA_ng: Integrity Measurement Architecture_ng)
(C) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘, 시그니처를 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 에스아이지(IMA_sig: Integrity Measurement Architecture_sig)로 분류된다.
이 때 템플릿해시를 생성하는 단계(S300)의 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type)은,
(A) 상기 복수 개의 데이터해시로부터 파일 이름을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐(IMA : Integrity Measurement Architecture)
(B) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 엔지(IMA_ng: Integrity Measurement Architecture_ng)
(C) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘, 시그니처를 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 에스아이지(IMA_sig: Integrity Measurement Architecture_sig)로 분류된다.
저장(Extend)하는 단계(S400)는 저장부(400)에서 상기 생성된 템플릿해시를 기 설정된 수만큼 누적하여 이를 변조방지마이크로칩(TPM : Trusted Platform Module) 내의 저장소인 플랫폼구성레지스터(PCR : Platform Configuration Register)로 저장(Extend)한다.
이 때 저장(Extend)하는 단계(S400)의 템플릿해시는 기 설정된 수만큼 누적될 때마다 저장(Extend)하는 단계(S400) 내지 업데이트 하는 단계(S500)를 수행한다. 또한 저장(Extend)하는 단계(S400)는 플랫폼구성레지스터(PCR : Platform Configuration Register)에 저장되어있는 기존 템플릿해시와 누적된 복수 개의 템플릿해시를 오알(OR) 연산하여 저장(Extend)한다.
업데이트 하는 단계(S500)는 업데이트부(500)에서 상기 템플릿해시의 데이터해시를 무결성 측정 리스트(IML : Integrity Measurement List)에 추가하여 무결성 측정 리스트(IML : Integrity Measurement List)를 업데이트한다.
도 6는 본 발명의 일 실시예에 따른 무결성 측정 아키텍처(IMA : Integrity Measurement Architecture)의 사용 예시도(원격 검증)를 나타낸다.
무결성 검증이란 데이터 및 네트워크 보안에 있어서 정보가 인가된 장치 또는 사람에 대한 접근 또는 변경 가능하다는 확실성을 말하는데, 확실성을 위한 무결성 대책은 네트워크 단말기와 서버의 물리적 환경 통제, 데이터 접근 억제 등의 엄격한 인가 관행을 유지하는 것이다. 이러한 무결성 검증을 위해 사용자가 소유한 장치 및 소정 서비스를 제공하는 서버 간의 인증을 수행하는 것으로 해당 장치에 대한 인증은 특정 플랫폼이나 시스템 상의 소프트웨어 또는 하드웨어의 구성 및 설정에 대한 측정값을 제 3의 인증기관으로부터 확인하여 해당 장치들에 대한 무결성을 검증할 수 있다.
검증 요청자(Customer)가 서버(Server)에게 어떠한 서비스(ex. 안전성 검증)를 요청하면 서버(Server)는 서비스를 제공하기 전에 검증 요청자(Customer) 플랫폼의 신뢰성을 검증하기 위한 원격 검증을 수행한다. 서버(Server)는 새롭게 생성한 난수와 함께 원격 검증 요청 메시지를 전송한다. 검증 요청자(Customer)는 수신한 난수와 현재 PCR 값, IML을 자신의 AIK로 서명하고, 이것을 서버(Server)에 전송한다. 서버(Server)는 TTP(Trusted Third Party)로부터 AIK 인증서를 확인하고, AIK로 서명한 값들의 무결성을 검증한다. 그리고 IML의 해시 값들을 차례로 저장(Extend)해서 수신한 PCR 값과 일치하는지 확인한다. 이로써 검증 요청자(Customer)가 신뢰할 수 있는 플랫폼인지 증명한다.
이상에서 본 발명의 바람직한 실시예를 설명하였으나, 본 발명은 다양한 변화와 변경 및 균등물을 사용할 수 있다. 본 발명은 상기 실시예를 적절히 변형하여 동일하게 응용할 수 있음이 명확하다. 따라서 상기 기재 내용은 하기 특허청구범위의 한계에 의해 정해지는 본 발명의 범위를 한정하는 것이 아니다.
100 : 저장장치 110 : 파일
200 : 데이터해시생성부 210 : 데이터 해시
300 : 템플릿해시생성부 310 : 템플릿 해시
311 : 템플릿해시의 데이터 해시
400 : 저장부
410 : 변조방지마이크로칩(TPM : Trusted Platform Module)
411 : 플랫폼구성레지스터(PCR : Platform Configuration Register)
500 : 업데이트부 600 : 메모리
200 : 데이터해시생성부 210 : 데이터 해시
300 : 템플릿해시생성부 310 : 템플릿 해시
311 : 템플릿해시의 데이터 해시
400 : 저장부
410 : 변조방지마이크로칩(TPM : Trusted Platform Module)
411 : 플랫폼구성레지스터(PCR : Platform Configuration Register)
500 : 업데이트부 600 : 메모리
Claims (7)
- 리눅스 환경에서 파일 무결성 검증 장치에 있어서,
컴퓨터 내 저장장치에 존재하는 복수 개의 파일 데이터를 해시하여 복수 개의 데이터해시를 생성하는 데이터해시생성부;
상기 생성된 복수 개의 데이터해시로부터 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type) 중 어느 하나의 타입에 해당하는 템플릿해시를 동일하게 생성하는 템플릿해시생성부;
상기 생성된 템플릿해시를 기 설정된 수만큼 누적하여 이를 변조방지마이크로칩(TPM : Trusted Platform Module) 내의 저장소인 플랫폼구성레지스터(PCR : Platform Configuration Register)로 저장(Extend)하는 저장부; 및
상기 템플릿해시의 데이터해시를 무결성 측정 리스트(IML : Integrity Measurement List)에 추가하여 무결성 측정 리스트(IML : Integrity Measurement List)를 업데이트하는 업데이트부;를 포함하며,
상기 템플릿해시생성부의 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type)은
(A) 상기 복수 개의 데이터해시로부터 파일 이름을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐(IMA : Integrity Measurement Architecture)
(B) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 엔지(IMA_ng: Integrity Measurement Architecture_ng)
(C) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘, 시그니처를 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 에스아이지(IMA_sig: Integrity Measurement Architecture_sig)로 분류되는 것을 특징으로 하는 리눅스 환경에서 파일 무결성 검증 장치. - 제 1항에 있어서,
상기 저장부의 상기 템플릿해시는 기 설정된 수만큼 누적될 때마다 상기 저장부 내지 상기 업데이트부를 수행하는 것을 특징으로 하는 리눅스 환경에서 파일 무결성 검증 장치. - 제1항에 있어서,
상기 저장부는,
상기 플랫폼구성레지스터(PCR : Platform Configuration Register)에 저장되어있는 기존 템플릿해시와 상기 누적된 복수 개의 템플릿해시를 오알(OR) 연산하여 저장(Extend)하는 것을 특징으로 하는 리눅스 환경에서 파일 무결성 검증 장치. - 삭제
- 리눅스 환경에서 파일 무결성 검증 방법에 있어서,
데이터해시생성부에서 컴퓨터 내 저장장치에 존재하는 복수 개의 파일 데이터를 해시하여 복수 개의 데이터해시를 생성하는 단계;
템플릿해시생성부에서 상기 생성된 복수 개의 데이터해시로부터 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type) 중 어느 하나의 타입에 해당하는 템플릿해시를 동일하게 생성하는 단계;
저장부에서 상기 생성된 템플릿해시를 기 설정된 수만큼 누적하여 이를 변조방지마이크로칩(TPM : Trusted Platform Module) 내의 저장소인 플랫폼구성레지스터(PCR : Platform Configuration Register)로 저장(Extend)하는 단계; 및
업데이트부에서 상기 템플릿해시의 데이터해시를 무결성 측정 리스트(IML : Integrity Measurement List)에 추가하여 무결성 측정 리스트(IML : Integrity Measurement List)를 업데이트하는 단계;를 포함하며,
상기 템플릿해시를 동일하게 생성하는 단계의 무결성 측정 아키텍처 타입(IMA type : Integrity Measurement Architecture type)은
(A) 상기 복수 개의 데이터해시로부터 파일 이름을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐(IMA : Integrity Measurement Architecture)
(B) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘을 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 엔지(IMA_ng: Integrity Measurement Architecture_ng)
(C) 상기 복수 개의 데이터해시로부터 파일 이름, 해시 알고리즘, 시그니처를 추가로 해시하여 동일한 IMA 타입의 템플릿해시를 생성하는 무결성 측정 아키텍쳐 에스아이지(IMA_sig: Integrity Measurement Architecture_sig)로 분류되는 것을 특징으로 하는 리눅스 환경에서 파일 무결성 검증 방법. - 제 5항에 있어서,
상기 저장(Extend)하는 단계의 상기 템플릿해시는 기 설정된 수만큼 누적될 때마다 상기 저장(Extend)하는 단계 내지 상기 업데이트하는 단계를 수행하는 것을 특징으로 하는 리눅스 환경에서 파일 무결성 검증 방법. - 제5항에 있어서,
상기 저장(Extend)하는 단계는,
상기 플랫폼구성레지스터(PCR : Platform Configuration Register)에 저장되어있는 기존 템플릿해시와 상기 누적된 복수 개의 템플릿해시를 오알(OR) 연산하여 저장(Extend)하는 것을 특징으로 하는 리눅스 환경에서 파일 무결성 검증 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170020997A KR101893504B1 (ko) | 2017-02-16 | 2017-02-16 | 리눅스 환경에서 파일 무결성 검증 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170020997A KR101893504B1 (ko) | 2017-02-16 | 2017-02-16 | 리눅스 환경에서 파일 무결성 검증 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180094623A KR20180094623A (ko) | 2018-08-24 |
KR101893504B1 true KR101893504B1 (ko) | 2018-08-30 |
Family
ID=63453600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170020997A KR101893504B1 (ko) | 2017-02-16 | 2017-02-16 | 리눅스 환경에서 파일 무결성 검증 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101893504B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102369874B1 (ko) * | 2020-06-29 | 2022-03-03 | 단국대학교 산학협력단 | 무결성 검증 대상 디바이스에 대한 os 및 무결성 정보의 통합 업데이트 방법 및 원격 검증 시스템, os 배포 서버 및 무결성 검증 대상 디바이스 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080112404A1 (en) | 2006-11-15 | 2008-05-15 | Josue Kuri | Overlay multicast network architecture and method to design said network |
-
2017
- 2017-02-16 KR KR1020170020997A patent/KR101893504B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080112404A1 (en) | 2006-11-15 | 2008-05-15 | Josue Kuri | Overlay multicast network architecture and method to design said network |
Also Published As
Publication number | Publication date |
---|---|
KR20180094623A (ko) | 2018-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109313690B (zh) | 自包含的加密引导策略验证 | |
US10771264B2 (en) | Securing firmware | |
CN107111713B (zh) | 软件系统的自动验证 | |
US8874922B2 (en) | Systems and methods for multi-layered authentication/verification of trusted platform updates | |
EP1942431B1 (en) | Software or other information integrity verification using variable block length and selection | |
US20160365978A1 (en) | Making cryptographic claims about stored data using an anchoring system | |
US11860680B2 (en) | Software pipeline and release validation | |
CN107679393B (zh) | 基于可信执行环境的Android完整性验证方法和装置 | |
US9405912B2 (en) | Hardware rooted attestation | |
CN115048652A (zh) | 针对运行已验证软件的硬件的端到端安全性 | |
US20160098555A1 (en) | Program code attestation circuitry, a data processing apparatus including such program code attestation circuitry and a program attestation method | |
US7962952B2 (en) | Information processing apparatus that executes program and program control method for executing program | |
Böck et al. | Towards more trustable log files for digital forensics by means of “trusted computing” | |
KR20180036140A (ko) | 파일 해시 값을 이용한 파일 위변조 검사 방법 및 단말 장치 | |
US10776493B2 (en) | Secure management and execution of computing code including firmware | |
CN109117643B (zh) | 系统处理的方法以及相关设备 | |
CN112511306A (zh) | 一种基于混合信任模型的安全运行环境构建方法 | |
US9860230B1 (en) | Systems and methods for digitally signing executables with reputation information | |
US11232209B2 (en) | Trojan detection in cryptographic hardware adapters | |
KR101893504B1 (ko) | 리눅스 환경에서 파일 무결성 검증 장치 및 방법 | |
JP2009128956A (ja) | データ処理装置及びデータ処理方法及びプログラム | |
CN106372523B (zh) | 一种modem文件安全保护方法及系统 | |
US11290471B2 (en) | Cross-attestation of electronic devices | |
CN109977665B (zh) | 基于tpcm的云服务器启动过程防窃取和防篡改方法 | |
KR100772881B1 (ko) | 자기 수정 코드의 무결성 검증 장치 및 방법 |
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 |