Presentation is loading. Please wait.

Presentation is loading. Please wait.

제7장 관용암호 이용한 기밀성 Confidentiality Using Symmetric Encryption

Similar presentations


Presentation on theme: "제7장 관용암호 이용한 기밀성 Confidentiality Using Symmetric Encryption"— Presentation transcript:

1 제7장 관용암호 이용한 기밀성 Confidentiality Using Symmetric Encryption

2 목 차 7.1 암호화 함수의 배치 (Placement of Encryption Function)
7.2 트래픽 기밀성 (Traffic Confidentially) 7.3 키의 분배 (Key Distribution) 7.4 난수의 생성 (Random Number Generation) 2

3 7.1 암호화 함수의 배치 7.1.1 기밀성 공격의 가능한 위치 7.1.2 링크 암호화/ 단대단(End to End) 암호화
3

4 7.1 암호화 함수의 배치 기밀성 서비스 제공하기 위한 관용 암호화 암호 함수의 위치 결정 암호화 함수 배치의 접근 방법
암호화 대상(What) 암호화 위치(Where) 결정 암호 함수의 위치 결정 공격의 잠재적인 위치 파악 후, 암호 함수를 배치 암호화 함수 배치의 접근 방법 링크 암호화 단대단 암호화 4

5 7.1.1 기밀성 공격의 가능한 위치 5

6 7.1.1 기밀성 공격의 가능한 위치(cont’) 취약 지점 LAN에 접속된 워크스테이션, 호스트, 서버의 경우
LAN이 dial-in 방식을 제공하는 경우 외부의 침입자가 LAN에 접근하여 트래픽 감시 배선함 자체에 대한 공격 배선함은 내부 망과 외부 망과의 회선의 연결 역할 무선 송신기를 부착하여 도청 6

7 7.1.1 기밀성 공격의 가능한 위치(cont’) 공격 유형 적극적인 공격
공격자는 링크의 일부분을 물리적으로 제어하여 전송 내용을 삽입하거나 획득 소극적인 공격 공격자는 단지 전송 내용을 도청 7

8 7.1.1 기밀성 공격의 가능한 위치(cont’) 통신 링크의 유형에 따라 공격의 방법이 다름
전화선 나 동축케이블은 전자기 유도 장치를 이용하여 공격 광섬유는 유도 도청 불가능하고 무단연계 시 신호의 질이 현저히 떨어지므로 탐지 가능 마이크로파 위성 통신은 도청이 쉽고 적극적 공격도 가능 통신 경로상의 처리기에 대한 공격 하드웨어와 소프트웨어의 불법변조 처리기의 메모리에 대한 접근 전자기 방사물 감시 통신 링크에 대한 공격보다 발생는 적으나 위험성 존재 8

9 7.1.2 링크 암호화/단대단 암호화 암호화 : 공격에 대한 가장 강력하고 일반적인 접근 방법 무엇을, 어디에 9

10 7.1.2 링크 암호화/단대단 암호화(cont’) 1) 기본 접근 방법 링크 암호화 암호화 장치를 통신 링크 양단에 모두 설치
장점 모든 통신 링크 상의 모든 트래픽을 보호 단점 패킷 교환기내에서 라우팅을 위하여 복호화가 필요하므로 데이터와 헤더 노출 패킷 교환기에서 메시지 공격 가능 링크간의 많은 암호화 장치 필요 공유해야 할 키의 수 증가 10

11 7.1.2 링크 암호화 대 단대단 암호화(cont’) 단대단 암호화 암호화 과정을 두 종단 시스템에서 수행 장점
전송로와 교환기내에서 암호화 상태로 데이터 전송 발신지와 목적지가 동일한 키를 공유하므로 간단한 인증기능 제공 단점 패킷 헤더는 라우팅을 위하여 암호화하지 않음 트래픽 패턴은 안전하지 않음 11

12 7.1.2 링크 암호화 대 단대단 암호화(cont’) 링크 암호화와 단대단 암호화의 혼용 혼합 방식으로 안전성 향상 호스트
단대단 암호화 키를 이용하여 데이터 부분만을 암호화 : 데이터 보호 링크 암호화 키를 이용하여 패킷 전체를 암호화 패킷 교환기 링크 암호화 키를 이용하여 패킷 헤더를 복호화 다음 전송을 위하여 링크 암호화 키를 이용하여 패킷 전체를 암호화 패킷 교환기 메모리내에서 헤더만 복호화 됨 12

13 7.1.2 링크 암호화 대 단대단 암호화(cont’) Table 7.1 Characteristics of Link and End-to-End Encryption [PFLE97] 13

14 7.1.2 링크 암호화 대 단대단 암호화(cont’) 링크 암호화와 단대단 암호화의 구조 단대단 암호화 링크 암호화
호스트 교환기 단대단 암호화 단대단 및 링크 암호화 링크 암호화 헤더 데이터 14

15 7.1.2 링크 암호화 대 단대단 암호화(cont’) 2) 단대단 암호화 기능의 논리적 위치
링크 암호화 경우는 (물리층, 링크층)에서만 가능 단대단의 경우 여러 가지 선택이 가능 네트워크 계층에서 수행하는 경우 예 : X.25 패킷의 데이터 부분 암호화를 위하여 X.25와 연계 개별적으로 보호될 개체 수와 종단 시스템의 수는 일치 공유한 비밀키로 다른 종단 시스템과 암호 메시지 교환 호스트내의 모든 응용이 동일 키를 이용 FEP에서 암/복호화 처리로 호스트의 부하 경감(그림 7.3) 인터네트워크를 통과하는 트랙픽에 대한 서비스는 불가(그림 7.4) 응용계층 암호화로 해결 가능 응용계층에서 수행하는 경우 15

16 전위 처리기(Front-end Processor:FEP)의 암호화 기능
7.1.2 링크 암호화 대 단대단 암호화(cont’) 전위 처리기(Front-end Processor:FEP)의 암호화 기능 호스트로부터 FEP가 패킷을 접수 Red 프로세서는 패킷의 데이터 부분은 암호화하여 네트워크로 전송 네트워크로부터 도착하는 패킷을 Black 프로세서에서 복호화 복호된 전체 패킷을 호스트로 전달 16

17 7.1.2 링크 암호화 대 단대단 암호화(cont’) 17

18 7.1.2 링크 암호화 대 단대단 암호화(cont’) 응용 계층에서의 단대단 암호화 대안의 모색
전자우편은 단대단 암호화의 방법 응용계층 아래에 단대단 프로토콜은 없음 단일 네트워크에서의 호스트와 게이트웨이, 게이트웨이와 호스트간의 단대단 암호화를 다중 적용함 단점 응용계층 암호화는 고려해야 할 개체의 수가 급증 많은 비밀 키의 생성 및 분배 필요 대안의 모색 통신 계층을 위로 이동함에 따라 암호화 대상 정보는 줄어들고, 보안성은 높아짐(그림 7.5) 18

19 7.1.2 링크 암호화 대 단대단 암호화(cont’) 사용자 데이터와 TCP 헤더를 암호화,
IP헤더는 라우팅을 위하여 암호화되지 않음 게이트웨이에서 TCP 해더와 데이터 복호화 됨 필요할 경우 다음 전송을 위해 다시 암호화 19

20 7.1.2 링크 암호화 대 단대단 암호화(cont’) 링크 헤더와 트레일러를 제외한 전체 데이터의 암호화
데이터는 라우터와 게이트웨이에서 복호화 상태로 존재함 20

21 7.2 트래픽 기밀성 7.2.1 링크 암호화 접근 방법 7.2.2 단대단 암호화 접근 방법 21

22 7.2 트래픽 기밀성 트래픽 분석에 의해 발생 가능한 문제 트래픽 분석 공격으로 정보 획득 파트너들의 신원
파트너들의 통신 빈도 메시지 패턴, 메시지 길이 또는 메시지 양 특정 파트너 사이의 특별한 대화와 관련된 사건들 특정 트래픽 패턴을 이용한 은밀한 채널(Covert Channel)로 비밀통신에 의한 정보획득 보안 정책에 위배되는 방법으로 정보를 전송 22

23 7.2.1 링크 암호화 접근 방법 패킷 헤더를 암호화하여 트래픽 분석 기회를 줄임
공격자는 종단에서 트래픽 양의 관측 가능=>트래픽 패딩으로 해결 트래픽 패딩: 전송할 평문이 없어도 계속해서 암호문 생성 트래픽 양 추론 불가능 23

24 7.2.2 단대단 암호화 접근 방법 암호화 위치 따른 획득 가능한 정보 대응책
응용계층 암호화 : 대화에 참여한 트랜스포트 개체의 정보 트랜스포트계층 암호화: 네트워크 계층 주소, 트래픽 패턴 대응책 전송이나 응용 계층에서 일정한 길이로 데이터 단위를 패딩 패딩되는 스트림에는 의미 없는 널 메시지 삽입 24

25 7.3 키의 분배 7.3.1 키 분배 시나리오 7.3.2 계층 키 제어 7.3.3 세션키의 유효기간
7.3.4 투명성 키 제어 방식 7.3.5 분산 키 제어 7.3.6 키 사용에 대한 제어 25

26 7.3 키의 분배 관용 암호방식에서의 키 관련 요구사항 양측이 동일한 비밀키를 공유할 것 키를 제3자가 모르게 보호할 것
키를 적당 주기로 변경할 것(공격 당한 데이터 범위를 제한) 효과적인 키 전달 기술을 강구할 것 26

27 7.3 키의 분배 키 분배 기술 : 칩입자들이 모르게 키를 전달하는 기술 A가 키를 선택하여 물리적으로 B에게 전달한다.
만약 A와 B가 각각 제 3자 C와 암호화된 연결을 갖고 있으면, C는 키를 그 암호화된 연결을 통하여 A와 B에게 전달한다. 27

28 7.3 키의 분배(cont’) 방법 1과 방법 2 방법 3 키를 수동적으로 전달해야 함 링크 암호화에서 적용 가능
단대단 암호화에서 적용 어려움(광역 분배 불가능) N개의 호스트의 경우 네트워크나 TCP계층에서 필요한 키의 수는 [N(N-1)/2] 응용계층에서 필요한 키의 수는 매우 큼(그림 7.7) 방법 3 링크 암호화나 단대단 암호화 모두에 적용 가능 선행 키의 공격에 의하여 이후의 모든 키가 노출될 수 있음 초기 키에 대한 생성 분배 문제 28

29 7.3 키의 분배(cont’) 그림 7.7 Number of Keys Required to Support Arbitary connection Between Endpoints 29

30 7.3 키의 분배(cont’) 방법 4(키 분배 센터의 이용) 단대단 암호화에서 널리 채택
각 사용자는 키 분배 센터와 유일한 키를 공유 제 3자의 신뢰 문제, 제3자의 공증 효과 키의 계층구조 사용에 기반함(그림 7.8) 적어도 2개 계층으로 키를 사용 세션 키 : 일시적 사용 마스터 키 : 반영구적 사용 30

31 그림 7.8 The Use of a key Hierarchy
7.3 키의 분배(cont’) 그림 7.8 The Use of a key Hierarchy 31

32 7.3 키의 분배(cont’) 세션키(Session key) 마스터키(Master key)
종단 시스템간의 암호화에 사용되는 임시 키 보통 논리적인 연결 동안 사용된 후 폐기됨 키 분배 센터로부터 획득(마스터키로 암호화되어 전송) 개체 수가 N일 경우 필요한 세션키 : N(N-1)/2 마스터키(Master key) 키 분배 센터와 각 사용자가 공유하는 유일한 키 개체 수가 N일 경우 필요한 마스터키 : N개 비암호학적 방법으로 분배 32

33 7.3.1 키 분배 시나리오 33

34 7.3.1 키 분배 시나리오(cont’) 그림 7.9의 해설 각 사용자와 KDC가 유일한 마스터키를 공유한다고 가정 1 단계
세션키 요구 메시지를 보냄 전송 내용 : A와 B의 신원, 유일한 식별자[N1] 2 단계 응답 메시지를 마스터키 Ka로 암호화하여 전송 전송 내용 일회용 세션키 KS, (1)단계에서 전송 받은 메시지 B에게 전송될 메시지를 Kb로 암호화 (EKb[KS, IDA]) 34

35 7.3.1 키 분배 시나리오(cont’) 그림 7.9의 해설 3 단계 세션키를 저장하고, EKb[KS, IDA]를 B에게 전송
A와 B는 세션키 KS를 공유 4 단계 (인증을 위한 추가적인 단계) B는 A에게 임시 비표 N2를 세션키로 암호화하여 전송 5 단계(인증을 위한 추가적인 단계) A는 B에게 f(N2)를 세션키로 암호화하여 전송 응답으로 A를 인증 35

36 7.3.1 키 분배 시나리오(cont’) 전형적 키분배 방식의 평가 재전송에 취약
공격자 C가 과거의 KS를 획득할 수 있다면, C가 과거의 KS가 포함된 단계3를 단순 재전송하여 A로 신분위장 가능 단계 4와 5에서 과거의 KS를 이용하여 인증 성공 36

37 7.3.2 계층 키 제어 KDC를 계층화 단일 KDC는 규모가 큰 네트워크에서 비실용적
37

38 7.3.3 세션키의 유효기간 세션키를 자주 변경할 경우 안전성은 높아지나 부하 증가 연결형 프로토콜
매 세션마다 새로운 세션키를 사용 하나의 논리적 연결이 너무 길 때 공격 위험 증가 주기적으로 변경 비 연결형 프로토콜 세션키 변경 주기 불규칙 각 교환마다 새로운 세션키를 사용 교환 오버헤드 시간 증가 지정된 시간 또는 일정한 개수의 트랜잭션 동안 하나의 세션키를 사용 38

39 7.3.4 투명성 키 제어 방식 39

40 7.3.4 투명성 키 제어 방식(cont’) 단대단 암호화를 종단 사용자에게 투명한 방식으로 제공하는데 유용
FEP의 역할 : 호스트 또는 터미널을 대신하여 세션키를 획득 FEP와 KDC 사이의 통신은 마스터키를 사용하여 암호화 1 단계 : 호스트는 연결 요구 패킷을 전송 2 단계 : FEP는 그 패킷을 보관해 놓고 KDC에 세션키 요구 3 단계 : KDC는 세션키를 생성하여 두 종단간 FEP에 전송 4 단계 : FEP는 보관하였던 패킷을 세션키로 암화하여 전달하면 두 호스트 사이의 연결이 이루어짐 FEP를 호스트와 네트워크 사이의 인터페이스로 활용하여 종단 시스템에 영향을 최소화 40

41 7.3.5 분산 키 제어 KDC의 사용에 따라 KDC의 신뢰성 및 보호가 필요함 -> 키 분배를 분산 시킴으로써 해결
시스템 전체 N(N-1)/2개의 마스터 키 필요 각 노드는 최대(N-1)개의 마스터 키 유지 마스터 키 개수의 증가 41

42 7.3.5 분산 키 제어(cont’) 분산 키 분배 절차 세션키는 키 보호를 위하여 제한된 시간동안만 사용 1 단계
A가 B에게 세션키를 요구하고 임시 비표 N1을 발행 2 단계 B가 마스터키로 암호화된 메시지로 응답(기밀성, 인증) 전송 내용 세션키, B의 식별자, f(N1), 임시 비표 N2 3 단계 A는 N1반환 값을 검증하고 수신한 세션키를 사용하여 f(N2)를 전송(인증, 재전송) 세션키는 키 보호를 위하여 제한된 시간동안만 사용 42

43 7.3.6 키 사용에 대한 제어 키의 계층화와 키 분배의 자동화로 인하여 수동적으로 관리해야 할 키의 수가 감소됨
자동 배분되는 키 사용 방식에 적당한 제어를 필요 여러 가지 유형의 세션키의 예 : 일반적인 통신을 위한 데이터 암호 키 전자자금 이체 등에 이용되는 PIN 암호 키 공개적인 장소에 있는 파일 암호화를 위한 파일 암호 키 키의 사용 목적에 따라 키의 사용방법을 제어방식이 필요 키 태그 방식 제어 벡터 방식 43

44 7.3.6 키 사용에 대한 제어(cont’) 키 태그 이용 방식 단점 DES에 적용
1비트는 키가 세션키인지 마스터키인지 분별 1비트는 키가 암호화에 이용될 수 있음을 표시 1비트는 키가 복호화에 이용될 수 있음을 표시 기타 비트는 예비용 단점 태그가 8 비트로 제한되기 때문에 융통성과 기능의 한계 태그가 키에 포함되므로 키와 함께 암호화되기 때문에 복호화 되어야 키의 용도를 알 수 있어 키 사용 제어 방법이 제한 44

45 7.3.6 키 사용에 대한 제어(cont’) 제어 벡터 이용 방식 각 세션키는 여러 항목으로 구성된 제어 벡터를 가짐 45

46 7.3.6 키 사용에 대한 제어(cont’) 제어 벡터 방식의 특성 제어벡터(CV) 구성항목은 세션키의 사용 및 제한사항 명시
제어 벡터는 세션키의 암호화와 복호화에 이용됨 세션키의 암호화 해쉬 값 : H = h(CV) 키 입력 : Km  H 암호문 : EKm  H[Ks] 세션키의 복호화 Ks = DKm  H[Ekm  H[Ks]] 장점 키의 복잡한 제어구조 가능(제어 벡터 길이에 제한이 없음) 제어벡터는 원형으로 이용(여러 가지 응용이 가능) 46

47 7.4 난수의 생성 7.4.1 난수의 사용 7.4.2 난수의 근원 7.4.3 의사 난수 생성기
7.4.4 암호학적으로 생성된 난수 7.4.5 Blum Blum Shub 생성기 47

48 7.4.1 난수의 사용 암호학에 기초한 다수의 보안 알고리즘들은 난수를 사용 사용 예 : 난수 수열의 조건 상호 인증 방식
임시비표 nonce로 활용 KDC 또는 통신 주체에 의한 세션키 생성 RSA 공개키 알고리즘을 위한 키 생성 난수 수열의 조건 임의성(randomness) 비예측성(unpredictability) 48

49 7.4.1 난수의 사용(cont’) 1) 임의성(Randomness, 무작위성)
균일 분포(Uniform distribution) 각 수의 출현 빈도가 동일해야 함 판정 방법 존재 독립성(Independence) 순서상 어떤 값도 다른 값으로부터 추론 불가능 판정 방법이 존재 하지 않음 (독립성이 존재하지 않음을 보여 주는 통계적인 방법 이용) 2) 비예측성(Unpredictability, 예측 불능성 ) 출현 빈도수가 같고 독립적이어서 예측 불가를 보장 참 난수보다는 단지 연속적인 수의 예측 불가도 유용 의사 난수의 경우 예측이 가능하므로 주의하여야 함 49

50 7.4.2 난수의 근원 물리적인 장치 난수의 집합 사용 난수 생성 알고리즘 사용
설치 어렵고 임의성과 정확도의 문제로 실용적이지 못함 이온화 방사선 추이의 펄스 탐지기(pulse detector of ionizing radiation events) 가스 방출 튜브(gas discharge tubes) 누전 축전기(key capacitors) 난수의 집합 사용 난수의 집합 크기 한계 난수의 집합이 공개된 것이므로 침입자도 입수 가능 난수 생성 알고리즘 사용 일렬의 수 생성 의사 난수(pseudo random number) 50

51 7.4.3 의사 난수 생성기 난수 생성기 평가 기준 완전 생성 주기를 가져야 함
(함수는 0과 m사이의 모든 값을 반복되기 전에 생성) 생성된 순서는 임의적 함수는 32비트 연산을 효율적으로 적용 51

52 7.4.3 의사 난수 생성기(cont’) 선형 합동 방법(Linear congruential method)
Lehmer에 의해 처음 제안된 알고리즘 파라메터 구성 m 법 (modulus) m > 0 a 승수 (multiplier) 0  a < m c 증분 (increment) 0  c < m X0 초기치 (seed) 0  X0 < m 52

53 7.4.3 의사 난수 생성기(cont’) 난수 생성 식 Xn+1 = (aXn + c) mod m
(각 정수의 범위가 0  X0 < m 인 일련의 정수 생성) a=7, c=0, m=31, X0=1 일 때 => 1, 7, 17, 23, 1, 7, 17, …4의 주기 a=5, c=0, m=31, X0=1 일 때 => 1, 5, 25, 29, 17, 21, 9, 13, 1 m의 값을 크게 할 필요: 상이한 난수 개수 증가 53

54 7.4.3 의사 난수 생성기(cont’) 파라미터의 선택 a, c, m을 적당히 선택하면 난수 생성기 평가 기준 통과
⇒ Xn+1 = ( aXn) mod 231-1 54

55 7.4.3 의사 난수 생성기(cont’) 문제점 개선책: 내부 시스템 클럭 사용
초기치 X0 를 선택하는 것 이외의 임의성은 전혀 없음 생성된 연속수 4개만 있으면 파라메터 값 계산 가능 개선책: 내부 시스템 클럭 사용 난수 생성마다 현재의 클럭 값을 새로운 seed로 사용 현재의 클럭 값을 난수에 더하여 사용 55

56 7.4.4 암호학적으로 생성된 난수 순환 암호 방식(Cyclic Encryption) 마스터키로부터 세션키를 생성하는 과정
카운터를 입력으로 사용 56비트 DES 키 생성시 주기가 256인 카운터를 이용 몇 개의 키를 이용하여 마스터키를 추론하는 것은 계산적으로 불가능 56

57 7.4.4 암호학적으로 생성된 난수(cont’) 2) DES의 출력 피드백 모드(DES OFB)
스트림 암호화뿐만 아니라 키 생성에도 사용 가능 연속적인 64비트 출력은 일련의 의사 난수가 됨 3) ANSI X9.17 의사 난수 생성기 금융 보안 응용과 PGP를 포함한 다수의 응용에 사용 구성 요소(그림 7.14) 입력 : 두개의 의사 난수 값이 생성기를 구동 하나는 현재 날짜와 시간 : DTi, 다른 하나는 임의의 seed값 : Vi 핵심: 3 개의 삼중 DES 모듈 사용 (모두 동일한 56 비트 키 사용 : 키는 보안) 출력 : 64 비트 의사 난수 Ri 와 64 비트 seed값 Vi+1 로 구성 노출된 Ri 로부터 Vi+1 추론이 불가능 57

58 7.4.4 암호학적으로 생성된 난수(cont’) 58

59 7.4.5 Blum Blum Shub 생성기 암호학적으로 안전한 의사난수 비트 생성기로 평가됨
안전성은 n의 소인수 분해의 어려움에 근거함 표 7.2 : BBS 생성기의 연산 예제 n = = 383(p) × 503(q), s = 의 경우임 알고리즘 n = p x q n에 서로소인 s를 선택 BBS 생성기는 다음 알고리즘에 따라 비트열 Bi를 생성 X0 = s2 mod n for i = 1 to infinity Xi = (Xi-1)2 mod n Bi = Xi mod 2 59


Download ppt "제7장 관용암호 이용한 기밀성 Confidentiality Using Symmetric Encryption"

Similar presentations


Ads by Google