410 likes | 637 Views
유비쿼터스와 보안 . 장 혜 영. 보안 서비스 유비쿼터스의 보안 : RFID Obfuscation. 보안 서비스. 기밀성 (confidentiality) 네트워크 위험요소로부터 데이터를 보호하는 것 무결성 (integrity) 제 3 자에 의한 불법적인 메시지 변조 방지 가용성 (availability) 사용자가 원할 때 서비스가 제공되는 것 인증성 (authenticity) 정당한 사용자가 접근하는 것을 확인 부인방지 (non-repudiation)
E N D
유비쿼터스와 보안 장 혜 영 Computer Security & System Software Lab, Div. of Information & Computer Science, Dankook Univ.
보안 서비스 유비쿼터스의 보안 : RFID Obfuscation Computer Security & System Software Lab, Div. of Information & Computer Science, Dankook Univ.
보안 서비스 • 기밀성 (confidentiality) • 네트워크 위험요소로부터 데이터를 보호하는 것 • 무결성 (integrity) • 제 3자에 의한 불법적인 메시지 변조 방지 • 가용성 (availability) • 사용자가 원할 때 서비스가 제공되는 것 • 인증성 (authenticity) • 정당한 사용자가 접근하는 것을 확인 • 부인방지 (non-repudiation) • 송신자와 수신자 사이에 전송된 메시지에 대한 분쟁을 해결
기밀성 • 위협 요소 : 메시지 도청 대칭키 암호 알고리즘 사용
무결성 • 위협 요소 : 메시지 변조 • 메시지 인증코드 생성 • HMAC-MD5, HMAC-SHA-1 …
인증 • 위협요소 : 메시지 위조 신분위장 • 1. 패스워드 2. 인증서 (공개키 인증서 방식을 이용)
인증 – 공개키 방식 공개키 개인키
부인방지 • 위협요소 : 메시지 송신 및 수신 부인 • 전자서명 • 전자서명 생성키 (개인키) • 전자서명 검증키 : 공인인증기간으로부터 인증서를 발행받아 상대방에게 배포
부인방지 - 전자서명 공개키 개인키
보안 서비스 • 유비쿼터스의 보안 : RFID • Obfuscation Computer Security & System Software Lab, Div. of Information & Computer Science, Dankook Univ.
유비쿼터스의 장점 • 유통업체 • 재고관리 비용 1회당 5% 감소 • 인건비 연간 약 7.5% 감소 • 재고관리, 제품안내, 물품관리 및 진열, 계산, 도난방지등 25~30% 감소 • 제조업 • 제조 공정의 전 단계를 완전하게 감시 및 관리 • 생산성 향상에 따른 생산비용 절감 • 불량률의 획기적 감소 및 품질 향상 • 의류, 음식물 • 지능화된 기능
Security Issues • What woman wants her dress size to be publicly readable by any nearby scanner? • Who wants the medications and other contents of a purse to be scannable? • Who wants the amount of money in a wallet to be easily determinable by a scanner? • Who wants his or her location to be tracked and recorded based on the unique ID number in shoes or other clothing?
Security Issues 사용자 소지품에 대한 정보 유출
Privacy Protect – Kill Switch The most straightforward approach for the protection of consumer privacy is to “kill” RFID tags before they are placed in the hands of consumers. A killed tag is truly dead, and can never be re-activated.
Privacy Protect - The Faraday Cage A Faraday Cage a container made of metal mesh or foil that is impenetrable by radio signals (of certain frequencies)
Privacy Protect - Active Jamming The consumer could carry a device that actively broadcasts radio signals so as to block and/or disrupt the operation of any nearby RFID readers
1 query 2 metaID 5 key 4 metaID= hash(key)? 3 Store (key,metaID) EPC 6 Privacy Protect - Hash-Lock A tag may be “locked” so that it refuses to reveal its ID until it is “unlocked” • y : metaID • x : key • h() : one-way hash function • y = h(x) S.A. Weis. Radio-frequency identication security and privacy. Master's thesis, M.I.T. June 2003
Privacy Protect - Re-encryption • 태그가 전송하는 ID에 대한 암호문의 형태를 계속적으로 변경함으로써 사용자 추적을 방지 • ElGamal 암호기술 이용 • 많은 연산량으로 인하여 태그에서의 연산처리가 아닌 리더에 의해 수행됨 • ElGamal의 많은 공개키 암호알고리즘 연산량으로 인해 태그에서 구현하는데 비용이 비쌈 • 유럽은행(ECB)에서는 2005년까지 Euro 지폐에 RFID 태그를 부착하려는 계획을 진행 중(히타치의뮤칩) • RFID 태그가 부착된 지폐 이용 시 발생할 수 있는 Privacy 위험을 해결 • 태그가 노출할 수 있는 정보를 보호하면서 법집행 기관이 지폐를 추적할 수 있는 기술. A. Juels and R. Pappu. Squealing Euros: Privacy protection in RFID-enabled banknotes. In R. Wright, editor, Financial Cryptography '03. Springer-Verlag, 2003. To appear
The capabilities of basic RFID tags • No power • Receives power from reader • Range a few meters • Little memory • Static 64-to-128-bit identifier in current ultra-cheapgeneration (five cents / unit) • Hundreds of bits soon • Little computational power • A few thousand gates • No cryptographic functions available • Static keys for read/write permission
sniffing • spoofing • scannig • DoS 유비쿼터스 공격방법의 예
Obfuscation 보안 서비스 유비쿼터스의 보안 : RFID Obfuscation Computer Security & System Software Lab, Div. of Information & Computer Science, Dankook Univ.
Obfuscation • Obfuscation 이란? • Obfuscation • 기존코드의 기능은 그대로 유지 • 역공학분석이 어렵도록 코드를 재구성(Scramble) • 분석에 필요한 비용과 시간을 증가 • Obfuscation 이 필요한 이유 • 프로그램의 취약성을 숨길 수 있다. • Program Tempering 막을 수 있다.
본 연구의 특징 • Obfuscation 대상 • Visual C++ 6.0으로 생성된 C/C++ 소스코드(MFC 포함) • Visual C++ Source code obfuscator의 특징 • Visual C++ 소스코드를 대상으로 한 연구 미흡 • 소스코드를 Obfuscation 수행 후 소스코드로 재생성 • 가독성 약화(주석 제거) • 컴파일된 기계어 실행 파일의 복잡도 증가 역공학 분석 약화
소스코드 대 소스코드 변환 일반적인 컴파일 과정 Obfuscation을 적용한 소스 코드 변환 과정
구현 알고리즘 (2) • Split variable • 기본타입 변수들을 여러 개의 변수로 분할하고 변수의 사용자 정의 구조체 또는 값을 반환하는 함수로 대체하여 복잡도 증가
구현 알고리즘 (3) • Fold Array • Restructure Array 기법 • 하나의 배열을 두 개의 하위 배열로 분할 • 몇 개의 배열을 하나의 단일 배열로 결합 • 배열의 차원을 변경 Fold Array void main() { int a[10]; for(int i = 0; i < 10 ; i++) { a[i] = i+1; } } void main ( ) { int a [ 5 ][ 2 ] ; for ( int i = 0 ; i < 10 ; i ++ ) { a [ i%5 ][ i/5 ] = i + 1 ; } }
구현 알고리즘 (4) • Insert Class • Modify Inheritance Relations 기법 • 객체지향언어의 상속 개념을 이용한 변환 • 부모 클래스와 자식 클래스 사이에 더미클래스를 삽입
구현 알고리즘 (5) • Extend loop condition • 반복문 또는 조건문에 조건식을 추가하여 종료 조건을 복잡하게 만드는 기법
구현 알고리즘 (6) • Add Redundant Operand • 연산 식에 결과에는 전혀 영향이 없는 operand를 추가하여 복잡도 증가
Potency • Potency 평가 조건식
Potency 측정 결과 • Potency측정 결과 • Potency 계산 결과 : 0.595
1 2 3 4 5 Resilience • 평가 기준 • Programmer effort • Deobfuscator를 작성하는 프로그래머의 노력 • 역변환을 위해 고려해야할 영역을 기준으로 구분 • Deobfuscator effort • 제작된 Deobfuscator가 역변환을 수행하는데 필요한 시간 • Resilience 측정 등급
Resilience 평가 결과 • 각 알고리즘을 대상으로 1~5의 점수 부여
비용 • 적용 전후 실행 속도 측정 • 적용 전후 파일 크기 비교