암호-3장. 대칭키 암호 ㅎㅎ 정보보호 기능의 가장 핵심적 기술인 암호를 다룬다. 흥미로운 암호의 역사를 소개하고, 고전적인 암호체계로부터 현대적인 디지털 암호체계에 이르는 기술의 발전을 살펴보고 현대의 고급 암호분석 기법을 소개한다. 한빛미디어(주)

Slides:



Advertisements
Similar presentations
Chapter | 4 암호화 기술 Ⅱ암호화. ❖ 암호  통신문의 내용을 제 3자가 판 독할 수 없는 글자 · 숫 자 · 부호 등으로 변경 시킨 것 2/16 암호? 철수 영희 Plaintext attack attack ? ? Cryptography 개방통신로 모레 3.
Advertisements

8. 현대 대칭키 암호를 이용한 암호화 기법 경일대학교 사이버보안학과 김현성 교수.
1 정보보안 경일대학교컴퓨터공학과 김 현 성 2 강의구성  교과목 소개 (1 주 )  산업체 전문가 특강실시 (2 주 )  소프트웨어 공학 (3 주 ~7 주 : 5 주 )  산업체 전문가 특강실시 (8 주 )  팀 프로젝트 (9 주.
1 산학공동과제도출 범용 3D 프린터를 위한 3D 스캐너 개발 특허법률사무소에서 3D 프린터의 필요성 특허출원자가 자신의 아이디어를 설명하고, 시작품을 구 현해 보기 위한 급속 조형 방법 필요 이를 지원하기 위해 본 특허법률사무소에서는 국내최초로 3D 프린트 제작사업 시작.
5장. 현대 대칭키 암호 소개 경일대학교 사이버보안학과 김현성 교수.
제 3 장 블록암호 및 DES 단순 DES의 동작 원리 블록 암호방식의 개념 Feistel 암호구조
컴퓨터와 인터넷.
목차 Contents 무선인터넷용 비밀번호 설정방법 Windows 7 Windows 8 Windows XP MAC OS.
119 신고요령 경기도 남양주 소방서 1. 휴대전화보다 유선전화로 신고 2. 낯 선 거리에서는 상가 전화번호
제3장 관용암호: 현대적 암호기법
I부 암호.
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++로 프로그래밍한다는 것의 의미 세상에서 가장 간단한 C++ 프로그램
ㅎㅎ C++ 프로그래밍의 첫 걸음 C++ 프로그래밍 기초 : 객체지향의 시작 C++로 프로그래밍한다는 것의 의미
Entity Relationship Diagram
신호처리 실험 (Signal Processing Lab)
암호-4장. 공개키 암호 ㅎㅎ 정보보호 기능의 가장 핵심적 기술인 암호를 다룬다. 흥미로운 암호의 역사를 소개하고, 고전적인 암호체계로부터 현대적인 디지털 암호체계에 이르는 기술의 발전을 살펴보고 현대의 고급 암호분석 기법을 소개한다. 한빛미디어(주)
Chapter 3 Symmetric Key Crypto
Chap 4. 관용 암호 방식 알고리즘.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
3장 대칭 암호 공통키 암호.
10장 랜덤 디지털 신호처리 1.
데이터베이스 및 설계 금오공과대학교 컴퓨터공학부 이 이섭.
Chapter 3 Symmetric Key Crypto
5장 Mysql 데이터베이스 한빛미디어(주).
Chapter 3 Symmetric Key Crypto
교과목 소개 정보보호.
오브젝트 조합 회로 IT CookBook, VHDL을 이용한 디지털 회로 입문.
SSL (Secure Sockets Layers Protocol)
File Depender 중간 발표.
공개키 암호화 프로그래밍 전자상거래보안.
2009년 3월 30일 (5주차) 유 승 상용 관용 암호 방식 2009년 3월 30일 (5주차) 유 승
23 장 OSI 상위계층 23.1 세션(session)층 23.2 표현(presentation)층
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
전자상거래 보안 (암호학과 네트워크보안) Chul Ho Rhee
Error Detection and Correction
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
정보화 사회와 컴퓨터 보안.
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
Chapter 6 Contemporary Symmetric Ciphers
TCP/IP Socket Programming…
5장 Mysql 데이터베이스 한빛미디어(주).
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
순천향대학교 정보보호연구회 민성의 AES 순천향대학교 정보보호연구회 민성의
전자상거래 보안 (암호학과 네트워크보안) ) Chul Ho Rhee
이미지 포렌식 작성자: liberte97.
자바 5.0 프로그래밍.
프로그래밍 개요
2015학년도 PHP 기말 레포트 로그인 홈페이지 제작.
CHAP 5. 레이아웃.
전자서명의 형태 수기서명 디지털서명. 전자서명의 형태 수기서명 디지털서명 전자서명의 필요성.
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
8장 쿠키와 세션 한빛미디어(주).
웹디자인
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
비대칭 암호화 알고리즘 공개키 암호화 알고리즘 소속 : 한세사이버보안고등학교 조장 : 안도현
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
SSL, Secure Socket Layer
알고리즘 알고리즘이란 무엇인가?.
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
오라클 11g 보안.
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
제 4 장 Record.
암호 시스템 (Crypto system) 신효철
CCIT 네트워크 발표 정보보호학과 평문 사이트와 SSL 사이트, SSL strip과 데이터 변조를 이용한 로그인 취약점
 6장. SQL 쿼리.
아날로그 신호를 디지털 신호로 변환하는 A/D 변환기 A/D 변환 시 고려하여 할 샘플링 주파수 D/A 변환기
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
C++ Espresso 제15장 STL 알고리즘.
6 객체.
Presentation transcript:

암호-3장. 대칭키 암호 ㅎㅎ 정보보호 기능의 가장 핵심적 기술인 암호를 다룬다. 흥미로운 암호의 역사를 소개하고, 고전적인 암호체계로부터 현대적인 디지털 암호체계에 이르는 기술의 발전을 살펴보고 현대의 고급 암호분석 기법을 소개한다. 한빛미디어(주)

학습목표 3장. 대칭키 암호 현대 대칭키 암호체계를 다룬다. 스트림암호로 A5/1, RC4를, 블록암호로 DES를 설명하면서 취약점을 제시한다. 블록암호를 사용해 데이터 무결성을 보장하는 방법을 보여준다.

대칭키 암호 분류 Section 01 개요 스트림 암호-일회성 암호 형태 블록 암호-코드북 개념 형태 키가 상대적으로 짧다. 키가 긴 키 스트림으로 쭉 뻗는다. 키스트림은 일회성 암호 키 같이 사용된다. 블록 암호-코드북 개념 형태 블록암호 키가 한 권의 코드북을 결정한다. 각 키가 다른 코드북을 결정한다. 혼돈과 확산 모두가 적용된다.

스트림 암호는 과거에 많이 활용 스트림 암호의 미래? 스트림 암호 H/W에서 효율적 음성 암호화 위해서 속도 요구 등. 프로세스의 속도 증가로 S/W 기반 암호도 충분한 속도 가능 스트림 암호의 미래? 샤미르: “스트림 암호의 사망”

Section 03 블록 암호-(반복되는) 블록 암호 평문과 암호문이 고정된 크기의 블록으로 구성 암호문은 평문의 반복되는 회전 함수로 생산 회전 함수 입력은 전번 회전 출력과 키로 구성 통상적으로 S/W로 구축

Data Encryption Standard DES: 1970년대 개발 IBM Lucifer 암호를 기반 미 정부 표준 DES 개발은 논쟁이 있었음 NSA가 비밀리에 관련되었음 설계과정이 비공개 키 길이가 줄었음 Lucifer 알고리즘의 교묘한 변경

DES는 페이스텔 암호 각 회전은 단순 안전성은 주로 “S-box들”에 의존 DES 수비학(數秘學) 64 비트 블록 길이 56 비트 키 길이 16 회전 각 회전에서 48 비트의 보조키 사용 각 회전은 단순 안전성은 주로 “S-box들”에 의존 각 S-boxe들은 6 비트를 4비트 로 매핑

DES의 한 회전 L R expand shift key S-boxes compress 28 48 32 Ki P box 

DES 확장 순열 입력 32 비트 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 출력 48 비트 31 0 1 2 3 4 3 4 5 6 7 8 7 8 9 10 11 12 11 12 13 14 15 16 15 16 17 18 19 20 19 20 21 22 23 24 23 24 25 26 27 28 27 28 29 30 31 0

8 “교환 박스” 또는 S-박스 각 S-박스는 6 비트를 4 비트로 매핑 1번 S-박스 DES S-box 입력 비트(0, 5)  입력 비트 (1, 2, 3, 4) | 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 ------------------------------------------------------------------------------------ 00 | 1110 0100 1101 0001 0010 1111 1011 1000 0011 1010 0110 1100 0101 1001 0000 0111 01 | 0000 1111 0111 0100 1110 0010 1101 0001 1010 0110 1100 1011 1001 0101 0011 1000 10 | 0100 0001 1110 1000 1101 0110 0010 1011 1111 1100 1001 0111 0011 1010 0101 0000 11 | 1111 1100 1000 0010 0100 1001 0001 0111 0101 1011 0011 1110 1010 0000 0110 1101

30년간의 강도 높은 분석으로 “백도어”가 없음을 밝혀 냈음 오늘날 공격은 전수키 조사를 사용 피할 수 없는 결론 DES의 안전성 DES의 안전성은 다수의 S-box에 의존 DES의 나머지는 모두 선형 30년간의 강도 높은 분석으로 “백도어”가 없음을 밝혀 냈음 오늘날 공격은 전수키 조사를 사용 피할 수 없는 결론 DES 설계자들은 그들이 무엇을 하고 있는지를 알고 있었다. DES 설계자들은 그들의 시대를 앞서가고 있었다.

P = 평문 블록 C = 암호문 블록 암호문 C를 얻기 위해 키 K로 P를 암호화 평문 P를 얻기 위해 키 K로 C를 복호화 블록 암호 표기 P = 평문 블록 C = 암호문 블록 암호문 C를 얻기 위해 키 K로 P를 암호화 C = E(P, K) 평문 P를 얻기 위해 키 K로 C를 복호화 P = D(C, K) 아래 사항을 주의 P = D(E(P, K), K) 그리고 C = E(D(C, K), K)

하지만 DES가 도처에서 사용중: 어떻게 해야 하나? 삼중 DES 또는 3DES (112 비트 키) 블록 암호 표기 현재, 56 비트DES 키는 너무 작다 하지만 DES가 도처에서 사용중: 어떻게 해야 하나? 삼중 DES 또는 3DES (112 비트 키) C = E(D(E(P,K1),K2),K1) P = D(E(D(C,K1),K2),K1) 왜 2개 키로 암호화-복호화-암호화(EDE) 하는가? 단독 DES와 호환성: E(D(E(P,K),K),K) = E(P,K) 그리고 112 비트면 안전성을 위해 충분

왜 C = E(E(P,K),K)가 아닌가 ? 왜 C = E(E(P,K1),K2)가 아닌가 ? 3DES 여전히 56 비트 키 현실성이 있는 알려진 평문 공격 모든 가능한 키 K1 에 대해 E(P,K1) 의 선계산 테이블을 작성 (결과 테이블은 256 입력) 그러면 각 가능한 K2 에 대해 D(C,K2)가 테이블 내에 일치하는 요소가 발견될 때까지 계산 일치되는 요소가 발견되면, E(P,K1) = D(C,K2) 결과적으로 키는 C = E(E(P,K1),K2)

Advanced Encryption Standard DES를 대치 AES 경쟁 (90년대 후반) NSA 가 공개적으로 관여 투명한 진행 많은 강력한 알고리즘들이 제안 라인댈(Rijndael) 알고리즘이 선정 “Rain Doll” 또는 “Rhine Doll”로 발음 반복되는 블록 암호 (DES와 동일) 페이스텔 암호가 아님 (DES와 상이)

블록 크기: 128, 192 또는 256 비트 키 길이: 128, 192 또는 256 비트 (블록크기와는 독립적) AES 개요 블록 크기: 128, 192 또는 256 비트 키 길이: 128, 192 또는 256 비트 (블록크기와는 독립적) 10 에서 14 회전 (키 길이에 따라) 각 회전은 4개의 함수들을 사용 (3개 “계층”) ByteSub (비선형 계층) ShiftRow (선형혼합 계층) MixColumn (비선형 계층) AddRoundKey (키추가 계층)

두 수학적 연산의 비선형 합성 (그러나 역은 존재) 192 비트 블록으로 가정: 4x6 바이트 AES ByteSub ByteSub는 AES의 “S-box” 두 수학적 연산의 비선형 합성 (그러나 역은 존재) 192 비트 블록으로 가정: 4x6 바이트

AES “S-box” 입력 뒤의 4 비트 입력 앞의 4비트

AES ShiftRow 회전 이동

AES MixColumn (거대한) 룩업 테이블로 구축 각 행에 비선형, 역산 연산자 적용

회전키(보조키)는 키 스케줄 알고리즘에 의해 결정 블록과 보조키의 XOR AES AddRoundKey 회전키(보조키)는 키 스케줄 알고리즘에 의해 결정 블록과 보조키의 XOR 블록 보조키

복호화를 위해서, 진행 과정은 역산이 가능해야만 함  는 그 자체가 역산이므로 MixAddRoundKey의 역산 가능 AES 복호화 복호화를 위해서, 진행 과정은 역산이 가능해야만 함  는 그 자체가 역산이므로 MixAddRoundKey의 역산 가능 MixColumn은 역산 가능 (역산은 룩업 테이블로 구축됨) ShiftRow의 역산은 쉽게 됨 (cyclic shift 의 다른 방향) ByteSub는 역산 가능 (역산은 룩업 테이블로 구축됨)

무결성  인가되지 않은 데이터의 수정을 방지 하거나 적어도 탐지 하는 것 예제: 인터넷 은행에서 자금 이동 Section 05 무결성 -데이터 무결성 무결성  인가되지 않은 데이터의 수정을 방지 하거나 적어도 탐지 하는 것 예제: 인터넷 은행에서 자금 이동 비밀성은 제공이 용이하나 무결성은 심각 암호화는 비밀성을 제공 암호화 자체만으로 무결성을 확신할 수 없음.