1 / 11

Use of a Broken or Risky Cryptographic Algorithm

Use of a Broken or Risky Cryptographic Algorithm. System & Network Security Lab 석사 25 기 유창훈 2013.5.16. Table of Contents. 소개 암호알고리 즘 코드예제 보안대책 Q&A. Introduction. DES 대칭키 방식 , 블럭암호 . 1960 년대말 IBM 개발 .1997 년 미국에서 표준으로 채택 . 평문 64bit , 키 56bit 전수조사공격에 취약 .

aubrey-cash
Download Presentation

Use of a Broken or Risky Cryptographic Algorithm

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Use of a Broken or Risky Cryptographic Algorithm System & Network Security Lab 석사 25기 유창훈 2013.5.16

  2. Table of Contents • 소개 • 암호알고리즘 • 코드예제 • 보안대책 • Q&A

  3. Introduction

  4. DES 대칭키 방식, 블럭암호. 1960년대말IBM개발.1997년 미국에서 표준으로 채택. 평문64bit , 키 56bit 전수조사공격에 취약. 2^56 번의 연산이 필요 개발당시 몇 억년이상 예상 1993년 DES안전성 평가에 문제가 있다고 판단 1999년 DES전용칩을 사용하여 DES Challenge 3 프로젝트  22시간 3DES DES를 3회 반복 키 168 bit AES가 발표되기 전 임시로 3DES사용을 권고 DES를 그대로 사용하므로 쉽게 구현가능하지만DES보다 3배 느림 점차 AES로 대체될 전망. 암호 알고리즘

  5. AES 2001년 미국 NIST에 의해 Rijndeal알고리즘이 채택. 30년간 미국 표준 암호. 블록길이 128bit, 키 128bit, 192bit, 256bit 가능. DES와 비교하여 전수조사 시 2^72배 향상(키 128bit일때) DES가 하루면, AES는 2^72일 . 앞으로 AES가 계속 세계적 표준으로 널리 사용될 것으로 보임. 암호 알고리즘

  6. 해쉬함수 임의의 메시지 x를 입력받아 고정된 길이 n 비트를 출력하는 함수. 안전성을 위해 256bit이상 사용을 권고. 주로 전자서명알고리즘과 결합하여 사용. 암호응용분야에 중요. 무결성 검사에 사용 MD5 128bit 출력길이 1996년 설계상결함 발견. SHA-1사용을 권장. 2006년 노트북 컴퓨터 한대의 계산 능력으로 1분내에 해시 충돌을 찾을수있음. 2008년 SSL 인증서 변조가능 하다는 것이 발표됨. MD5알고리즘은 보안관련 용도로 쓰는 것은 권장하지 않음. 암호 알고리즘

  7. 해쉬함수 SHA 미국 국가 안전 보장국이 1993년 SHA-0(160bit) 발표. 충돌발견 2년후SHA-0의 변형인 SHA-1(160bit)이 발표됨. 공격법만 존재 2001년 SHA-224/256/384/512 SHA-2 발표. 256bit 이상을 권고. 중국 암호학자 Wang에 의해 취약성이 발견, 2^63 의 복잡도로 공격가능. 1초에 2^21  1년 에 2^46번 계산 약 13만대 컴퓨터로 1년 2012년 10월 1일 SHA-3 선정 : Keccak 암호 알고리즘

  8. 코드예제 - java • 취약한 코드 • 안전한 코드 Try{ Cipher c = Cipher.getInstance(“DES”); c.init(Cipher.ENCRYPT_MODE, k); rslt = c.update(msg); } catch (InvalidKeyException e){..} Try{ Cipher c = Cipher.getInstance(“AES/CBC/PKCS5Padding”); c.init(Cipher.ENCRYPT_MODE, k); rslt = c.update(msg); } catch (InvalidKeyException e){..}

  9. 코드예제 - C • 취약한 코드 • 안전한 코드 * 정리자료 EVP_CIPHER_CTX ctx; EVP_CIPHER_CTX_init(&ctx); EVP_EncryptInit(&ctx, EVP_des_ecb(), …); … EVP_CIPHER_CTX ctx; EVP_CIPHER_CTX_init(&ctx); EVP_EncryptInit(&ctx, EVP_aes_128_ecb(),….); …

  10. 보안대책 • 자체적인 암호화 알고리즘을 개발 및 사용하지 않는다. • 암호화 알고리즘을 쉽게 바꿀 수 있도록 소프트웨어를 설계해야 한다. • MD5,SHA1,DES와 같은 알고리즘의 사용여부 체크. • 암호모듈의 정확한 사용방법을 알고있어야 함.

  11. Q&A 감사합니다.

More Related