Use of a broken or risky cryptographic algorithm
This presentation is the property of its rightful owner.
Sponsored Links
1 / 11

Use of a Broken or Risky Cryptographic Algorithm PowerPoint PPT Presentation


  • 74 Views
  • Uploaded on
  • Presentation posted in: General

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 전수조사공격에 취약 .

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


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

Table of Contents

  • 소개

  • 암호알고리즘

  • 코드예제

  • 보안대책

  • Q&A


Introduction

Introduction


Use of a broken or risky cryptographic algorithm

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로 대체될 전망.

암호 알고리즘


Use of a broken or risky cryptographic algorithm

AES

2001년 미국 NIST에 의해 Rijndeal알고리즘이 채택.

30년간 미국 표준 암호.

블록길이 128bit, 키 128bit, 192bit, 256bit 가능.

DES와 비교하여 전수조사 시 2^72배 향상(키 128bit일때)

DES가 하루면, AES는 2^72일 .

앞으로 AES가 계속 세계적 표준으로 널리 사용될 것으로 보임.

암호 알고리즘


Use of a broken or risky cryptographic algorithm

해쉬함수

임의의 메시지 x를 입력받아 고정된 길이 n 비트를 출력하는 함수.

안전성을 위해 256bit이상 사용을 권고.

주로 전자서명알고리즘과 결합하여 사용.

암호응용분야에 중요.

무결성 검사에 사용

MD5

128bit 출력길이

1996년 설계상결함 발견.

SHA-1사용을 권장.

2006년 노트북 컴퓨터 한대의 계산 능력으로 1분내에 해시 충돌을 찾을수있음.

2008년 SSL 인증서 변조가능 하다는 것이 발표됨.

MD5알고리즘은 보안관련 용도로 쓰는 것은 권장하지 않음.

암호 알고리즘


Use of a broken or risky cryptographic algorithm

해쉬함수

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

암호 알고리즘


Use of a broken or risky cryptographic algorithm

코드예제 - 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){..}


Use of a broken or risky cryptographic algorithm

코드예제 - 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(),….);


Use of a broken or risky cryptographic algorithm

보안대책

  • 자체적인 암호화 알고리즘을 개발 및 사용하지 않는다.

  • 암호화 알고리즘을 쉽게 바꿀 수 있도록 소프트웨어를 설계해야 한다.

  • MD5,SHA1,DES와 같은 알고리즘의 사용여부 체크.

  • 암호모듈의 정확한 사용방법을 알고있어야 함.


Use of a broken or risky cryptographic algorithm

Q&A

감사합니다.


  • Login