<34C0E5C1A4BAB8BAB8C8A3B7D05FB1E8C8AFB1B82E687770>



Similar documents
본 강의에 들어가기 전

0. 들어가기 전

암호이론과 보안 고전적 암호시스템

05 암호개론 (2)

04 Çмú_±â¼ú±â»ç

Ⅰ. 들어가는 말 2005년 6월에 발생한 인터넷뱅킹 해킹 사건이 2005년 가장 기억에 남는 정보보호 뉴 스로 선정되었다고 한다. 해킹 등으로 인해 개인의 PC가 악의적인 해커에 의해 장악이 된 경우에는 어떤 보안시스템도 제 기능을 다하지 못함에도 불구하고, 해킹 사

회원번호 대표자 공동자 KR000****1 권 * 영 KR000****1 박 * 순 KR000****1 박 * 애 이 * 홍 KR000****2 김 * 근 하 * 희 KR000****2 박 * 순 KR000****3 최 * 정 KR000****4 박 * 희 조 * 제

발신자 목적지 발신자 목적지 발신자 목적지 공격자 발신자 목적지 발신자 목적지 공격자 공격자

PowerPoint Template

1 경영학을 위한 수학 Final Exam 2015/12/12(토) 13:00-15:00 풀이과정을 모두 명시하시오. 정리를 사용할 경우 명시하시오. 1. (각 6점) 다음 적분을 구하시오 Z 1 4 Z 1 (x + 1) dx (a) 1 (x 1)4 dx 1 Solut

공개키 암호 방식

Vector Differential: 벡터 미분 Yonghee Lee October 17, 벡터미분의 표기 스칼라미분 벡터미분(Vector diffrential) 또는 행렬미분(Matrix differential)은 벡터와 행렬의 미분식에 대 한 표

Sequences with Low Correlation

1장 암호의 세계

2013unihangulchar {45380} 2unihangulchar {54617}unihangulchar {44592} unihangulchar {49328}unihangulchar {50629}unihangulchar {51312}unihangulchar {51

Microsoft PowerPoint - chap07.ppt

슬라이드 1

Microsoft PowerPoint - chap06.ppt

hwp

chap06.hwp

A Study on the efficient mutual authentication mechanism using the agent server

RHEV 2.2 인증서 만료 확인 및 갱신

PowerPoint Template

본 강의에 들어가기 전

= ``...(2011), , (.)''

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

KISA-0149.hwp

PowerPoint Template

PowerPoint Template

<B1DDC0B6B1E2B0FCB0FAC0CEC5CDB3DDB0B3C0CEC1A4BAB82E687770>

hwp

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

제1장 군 제1절 소개와 예 제2절 이항연산 2.1 보기. 다음은 정수방정식 a + x = b를 푸는 과정이다. (1) 준식에 a를 더하여 ( a) + (a + x) = ( a) + b. (2) 결합법칙을 사용하면 (( a) + a) + x = ( a) + b. (3)

public key private key Encryption Algorithm Decryption Algorithm 1

- 2 -

<4D F736F F F696E74202D20C1A639C0E55FB9ABB0E1BCBA5FC0AFC1F65FB1E2BCFA2E >


목 차 1. 개요 1 2. 규격의구성및범위 1 3. 관련표준및규격 국외표준및규격 국내표준및규격 기타 2 4. 정의 전자서명법용어정의 용어의정의 용어의효력 2 5. 약어 3 6. 사용자인증 3 7. 전송채널

USC HIPAA AUTHORIZATION FOR

(001~006)개념RPM3-2(부속)

온습도 판넬미터(JTH-05) 사양서V1.0

체의원소를계수로가지는다항식환 Theorem 0.1. ( 나눗셈알고리듬 (Division Algorithm)) F 가체일때 F [x] 의두다항식 f(x) = a 0 + a 1 x + + a n x n, a n 0 F 와 g(x) = b 0 + b 1 x + + b m x

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상


이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

관용 암호 방식

특징 찾아보기 열쇠 없이 문을 열 수 있어요! 비밀번호 및 RF카드로도 문을 열 수 있습니다. 또한 비밀번호가 외부인에게 알려질 위험에 대비, 통제번호까지 입력해 둘 수 있어 더욱 안심하고 사용할 수 있습니다. 나만의 비밀번호 및 RF카드를 가질 수 있어요! 다수의 가

Chapter ...

인증기관간상호연동을위한 CTL 기술규격 CTL Technical Specification for the Interoperability of Certification Authorities 년 월

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

기초 암호화 기법


PowerPoint 프레젠테이션

1. 배경 업무 내용이나 개인정보가 담긴 청구서 등을 메일로 전달 시 중요한 정보가 유출되는 경우가 발생하고 있으며, 이에 따른 메일 암호화 솔루션을 도입하고 있으나 기존 ActiveX를 기반으로 한 플러그인 방식은 여러 가지 제약으로 인해 사용성이 저하되고, 고객 대

Microsoft PowerPoint - note01 [호환 모드]

CR hwp

<5BB0EDB3ADB5B55D B3E2B4EBBAF12DB0ED312D312DC1DFB0A32DC0B6C7D5B0FAC7D02D28312E BAF2B9F0B0FA20BFF8C0DAC0C720C7FCBCBA2D D3135B9AEC7D72E687770>

05 암호개론 (2)

Lecture22

Microsoft PowerPoint - chap05-제어문.pptx

<B3EDB9AEC0DBBCBAB9FD2E687770>

statistics

<C1DF29BCF6C7D020315FB1B3BBE7BFEB20C1F6B5B5BCAD2E706466>

View Licenses and Services (customer)

Microsoft PowerPoint - chap05.ppt

041~084 ¹®È�Çö»óÀбâ

1장 암호의 세계

PowerPoint Template

Windows 8에서 BioStar 1 설치하기

Run 봄 연습 Mar 18 Mar 24, 2018, Week 3 문제 1. 초코바 입력 파일: 출력 파일: 시간 제한: 메모리 제한: standard input standard output 1 seconds 128 megabytes H W 격자 모양의 초콜릿이 있다.

07.기업의 정보보호를 위한 암호 정책 수립 지침_KCS.KO hwp

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

* pb61۲õðÀÚÀ̳ʸ

<333620BCDBC1A6C8A32DBDBAB8B6C6AE20C4ABB5E5BFEB20B3BBC0E5C7FC20C5B020BDBAC4C9C1ECB7AF20BAEDB7CF20BCB3B0E82E687770>

나하나로 5호

Cryptography v3

쓰리 핸드(삼침) 요일 및 2405 요일 시간, 및 요일 설정 1. 용두를 2의 위치로 당기고 반시계방향으로 돌려 전날로 를 설정합니다. 2. 용두를 시계방향으로 돌려 전날로 요일을 설정합니다. 3. 용두를 3의 위치로 당기고 오늘 와 요일이 표시될 때까지 시계방향으로

V. 통신망 기술

Microsoft PowerPoint - note03 [호환 모드]

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

HB/HB+

< B3E220C1A632C8B820C4C4C7BBC5CDBFEEBFEBBBE72041C7FC28C3D6C1BE292E687770>

ThinkVantage Fingerprint Software

<C1DF29B1E2BCFAA1A4B0A1C1A420A8E85FB1B3BBE7BFEB20C1F6B5B5BCAD2E706466>

Microsoft PowerPoint - chap09.ppt

안 산 시 보 차 례 훈 령 안산시 훈령 제 485 호 [안산시 구 사무 전결처리 규정 일부개정 규정] 안산시 훈령 제 486 호 [안산시 동 주민센터 전결사항 규정 일부개정 규

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

exp

ActFax 4.31 Local Privilege Escalation Exploit

내지(교사용) 4-6부

설계란 무엇인가?

H3250_Wi-Fi_E.book

152*220


연구노트

춤추는시민을기록하다_최종본 웹용

4-Ç×°ø¿ìÁÖÀ̾߱â¨ç(30-39)

= " (2014), `` ,'' .." " (2011), `` ,'' (.)"

Transcription:

제 4 장 정보보호론 1. 암호학 1.1 암호 알고리즘 1.1.1 암호 관련 용어 - 암호시스템의 관련 용어와 정보보호 서비스의 개념 이해 (1) 암호시스템의 관련 용어 (가) 평문 송신자와 수신자 사이 주고받고자 하는 내용을 적은 일반적인 문장으로 모든 사람들이 이해할 수 있는 일반 형태의 문장을 말한다. 평문은 암호화의 대상이 되는 문장으로 한글이나 영어 등의 일반 언어로 작성된 문장이다. (나) 암호문 송신자와 수신자 사이에 주고받고자 하는 내용을 제 3자가 이해할 수 없는 형 태로 변형된 문장을 암호문이라 한다. (다) 암호화 평문을 제 3자가 알 수 없도록 암호문으로 변형하는 과정을 말하며 일반적으로 암호화 과정은 송신자가 수행한다. (라) 복호화 암호문을 다시 일반인들이 이해할 수 있는 평문으로 변환하는 과정을 말하며, 일반적으로 복호화 과정은 암호문을 수신한 수신자가 수행한다. (마) 키 평문의 암호화 과정이나 암호문의 복호화 과정에 필요로 하는 파라미터로 암호 화키와 복호화 키로 나누어진다. (바) 암호 알고리즘 암호 알고리즘은 암호화와 복호화에 사용되는 수학적인 함수이며, 암호 알고리 즘은 암호화에 사용되는 암호화 알고리즘, 복호화에 사용되는 복호화 알고리즘이 있다. - 320 -

(사) 암호해독 암호의 목적은 제3자의 도청으로부터 평문을 보호하는 데 있다. 암호해독은 암 호방식의 정당한 사용자가 아닌 제3자가 불법적으로 암호문으로부터 평문을 원복 하는 시도를 말하며, 암호해독은 암호화에 사용된 암호키를 찾거나 부대 정보를 이용하여 암호문으로부터 평문을 찾는 과정을 말하며 암호 공격이라고도 한다. (아) 송신자와 수신자 통신망 상에서 비밀리에 평문을 주고받는 사람들을 말하며, 평문을 암호문으로 변경하여 수신자에게 전달하는 사람이 송신자이며 암호문으로부터 평문을 복호화 하는 사람이 수신자이다. (자) 공격자 암호방식의 정당한 참여자가 아닌 자로 암호문으로부터 평문을 해독하려는 제 3자를 공격자라 한다. 특히, 송/수신자 사이의 암호통신에 직접 관여하지 않고 네 트워크상의 정보를 관찰함으로써 공격을 수행하는 공격자를 도청자라 한다. (차) 암호체계 (암호시스템) 암/복호화 열쇠, 평문, 암호문을 포함한 암/복호 알고리즘을 말한다. (2) 정보보호 서비스 개념 (가) 무결성 메시지전송 중 인가되지 않은 자, 혹은 인가되지 않은 방법으로 정보가 변조되 지 않아야 하는 성질 (나) 기밀성 인가된 자만이 접근하여 취득하여야 하는 성질 (다) 부인봉쇄 송수신자가 송수신 사실에 대한 부인을 할 수 없도록 하는 성질 (라) 인증 인가된 자만이 정보 혹은 정보시스템에 접근하여야 하는 성질 (마) 가용성 컴퓨터 시스템이 인가 당사자가 필요할 때 이용할 수 있게 하는 것 (바) 접근제어 특정 권한을 가진 자만 접근할 수 있도록 하는 것 (사) 전자서명 정보의 송/수신 과정에서 정보의 송신자와 수신자의 인증과 전송되는 정보의 무결성을 보장하는 성질 - 321 -

1.1.2 암호 공격 방식 - 각종 공격방식에 대한 방법의 분류와 이해 - 안전성의 개념 이해 (1) 보안공격 전송되는 메시지에 대한 불법적인 공격자의 위협 (가) 수동적 공격 1) 전송되는 파일을 도청 불법적인 공격자가 전송되는 메시지를 도중에 가로채어 그 내용을 외부로 노 출시키는 공격 (메시지의 내용 공격) 2) 트래픽 분석 전송 메시지의 암호화로 도청을 통한 메시지 내용 파악이 불가능하더라도 메 시지의 송신측과 수신측 신원의 파악 가능 (메시지 존재에 대한 공격 - 익명성 제공으로 방어) (나) 능동적 공격 1) 메시지 변조 전송되는 메시지들의 순서를 바꾸거나 또는 메시지의 일부분을 다른 메시지 로 대체하여 불법적인 효과를 발생시키는 공격 2) 삽입공격 불법적인 공격자가 정당한 송신자로 가장하여 특정 수신자에게 메시지를 보 내어 역시 불법적인 효과를 발생시키는 공격 3) 삭제공격 정상적인 통신시설의 사용, 관리를 방해하는 서비스 거부 공격, 특정 수신자 에게 전송되는 메시지의 전부 또는 일부가 공격자에 의해 삭제되는 것. 4) 재생공격 공격자가 이전에 특정 송신자와 수신자간에 행해졌던 통화내용을 도청하여 보관하고 있다가 나중에 재생하여 전송하는 공격 (2) 암호공격 방식 암호 해독자가 도청한 암호문으로부터 그에 해당하는 평문이나 비밀키를 도출하 는 수동적 공격법 (가) 암호문 단독 공격 (Ciphertext only attack) - 322 -

암호 해독자는 단지 암호문 C만을 갖고 이로부터 평문 P이나 키 K를 찾아내는 방법으로 평문 P의 통계적 성질, 문장의 특성 등을 추정하여 해독하는 방법 (나) 기지 평문 공격 (Known plaintext attack) 암호 해독자는 일정량의 평문 P에 대응하는 암호문 C를 알고 있는 상태에서 해독하는 방법으로 암호문 C와 평문 P의 관계로부터 키 K나 평문 P를 추정하여 해하는 방법 (다) 선택 평문 공격 (Chosen plaintext attack) 암호 해독자가 사용된 암호기에 접근할 수 있어 평문 P를 선택하여 그 평문 P 에 해당하는 암호문 C를 얻어 키 K나 평문 P를 추정하여 암호를 해독하는 방법 (라) 선택 암호문 공격 (Chosen ciphertext attack) 암호 해독자가 암호 복호기에 접근할 수 있어 암호문 C에 대한 평문 P를 얻어 내 암호를 해독하는 방법 (3) 안전성 개념 주어진 암호 시스템의 안전성을 말할 때는 두 가지 관점이 있다. 첫 번째는 암호 시스템을 공격하기 위해 필요한 계산량이 매우 커 현실적으로 공격할 수 없는 경우 를 계산적으로 안전하다고 말한다. 둘째는 무한한 계산능력이 있어도 공격할 수 없는 경우를 무조건적으로 안전하다고 말한다. 암호 알고리즘 사용자가 해야 할 일은 다음 두 기준 중의 하나 또는 전부를 만족하는 알고리즘을 개발하는 것이다. o 암호 해독 비용이 암호화된 정보의 가치 초과 o 암호 해독 시간이 정보의 유효 기간 초과 1.1.3 정보이론 [1급] - 엔트로피의 개념 이해 - 키 결정(판정)거리의 개념 이해 (1) 엔트로피 엔트로피는 1948년 Shannon에 의해 도입된 정보량 또는 정보의 불확실도를 측정 하는 수학적 개념이다. 즉, 유한개의 사건을 가지는 확률변수 X에 대해 확률 분포 p(x)를 알 때 발생하지 않는 사건의 불확실도를 엔트로피라 하며 H(X)로 나타낸다. (가) 엔트로피의 정의 X를 유한 집합 위에서 정의된 확률 변수라 하고 확률 분포를 p(x)라 하자. 이 - 323 -

확률 분포에 대한 엔트로피 H(X)는 다음과 같이 정의된다. 여기서 p i = p(x = x i )이다. H(X)=- n i =1 p i log 2 p i 만약 모든 사건이 발생할 확률이 1 n 이면 H(X) = log 2 n이다. 또한 H(X) 0 이고 H(X)=0이 필요충분조건은 적당한 i에서 p i =1이고 그 외에서는 p j =0인 경 우이다. (2) 키 결정(판정)거리 암호계 (P, C, K, E, D)에서 C = P 이고 열쇠가 같은 확률로 주어졌다고 할 때 충분히 큰 n에 대하여 주어진 길이 n인 암호문 문자열에 대하여 기대되는 의사열쇠 의 개수 는 근한다. S n K P nr L -1 이다. 실제로 n이 증가하면 K P nr L -1 은 0에 접 한편 이 0이 되는 n을 암호계의 키 거리라 하고 n 0 으로 나타낸다. 즉, n 0 은 충분한 계산시간이 주어진 경우에 유일한 열쇠를 찾을 수 있는 암호문의 평균량이 다. 1.1.4 스트림 암호 - 스트림암호의 정의 - 동기식/비동기식 스트림 암호의 특징 및 비교 - 스트림암호의 암호화 방법 [1급] - LFSR의 특징과 비선형 결합논리에 대한 이해 [1급] - 안전성 개념(선형복잡도, 주기, 상관관계 공격, 랜덤 특성, 대수적 공격) [1급] (1) 스트림 암호의 개념 평문과 같은 길이의 키 스트림을 생성하여 평문과 키를 비트단위로 XOR하여 암 호문을 얻는 방법이다. (2) 스트림 암호 종류 (가) 동기식 스트림 암호 - 324 -

1) 암호화와 복호화에서 상호 동기화가 필수 2) 전송도중 변조되어도 후속 암호문에 오류의 영향이 파급되지 않음 3) 의도적인 변조가 복호화 단계에서 검출 불가 (나) 자기 동기식 스트림 암호 1) 암호문이 전송도중 변경되어도 자기 동기화가 가능 2) 변조된 암호문이 후속 암호문 복호화에 사용되지 않아 오류파급이 제한적 (3) 선형 귀환 시프트 레지스터(LFSR) LFSR을 이용하면 유한상태머신으로 달성할 수 있는 최대 주기의 수열을 얻을 수 있으며, 수학적인 분석이 용이하다. 특히 선형 복잡도라는 측도를 사용하면 다음에 출력될 값을 예측하기 위해 필요한 수열의 양을 계산할 수 있는 장점이 있다. LFSR 의 길이가 작으면 쉽게 해독될 수 있다. 따라서 주어진 수열을 표시할 수 있는 LFSR들의 길이 중 최소의 길이를 선형 복잡도라고 정의한다.... ak-1 ak-2 a1 a0... Sk-1 Sk-2 S1 S0 Output (그림 4-1) LFSR의 동작도 o s i = c 1 s i-1 + c 2 s i-2 + + c r s i-r mod 2, i r LFSR의 초기상태가 [s r-1, s r-2,,s 1,s 0 ]이면 LFSR는 다음과 같은 선형 점화식을 만족하는 수열 s 0, s 1, s 2.을 생성한다. o 쉬프트 레지스터의 연속적인 상태는 주기 p를 가진다. (p 2 r ) o r개의 플립플롭으로 구성된 LFSR이 생성하는 수열의 최대 주기는 p = 2 r -1 이다. (가) 비선형 결합논리 LFSR을 단독으로 사용하는 것은 쉽게 해독되기 때문에 출력 수열을 비선형 결 합하여 스트림 암호를 구성한다. LFSR을 이용한 스트림 암호는 크게 두 가지 형 태로 볼 수 있는데 하나는 출력 수열만을 비선형 결합하는 것이고 다른 하나는 LFSR의 동작을 제어함으로써 선형 복잡도가 큰 수열을 얻는 방법이다. 1) 비선형 여과 생성기(Nonlinear Filter Generator) 비선형 여과 생성기는 하나의 LFSR과 비선형 함수로 구성된다. 비선형 함수 - 325 -

는 LFSR의 각 단에 있는 내용을 변수로 하여 출력을 생성한다. 2) 비선형 결합 생성기(Nonlinear Combination Generator) 비선형 결합 생성기는 여러 개의 LFSR과 비선형함수로 구성된다. 동작방식은 LFSR들을 동시에 동작시킨 후 각각의 출력을 비선형 함수의 입력 변수로 하여 최종 출력수열을 얻는다. (나) 시각 제어 논리 하나의 LFSR의 출력에 의해 다른 LFSR의 동작을 제어하는 논리를 통칭하여 시작제어 논리라 한다. 1) Cascade Generator n개의 LFSR로 구성되며 i번째 LFSR의 출력과 그 전단의 출력의 XOR로 i+1 번째 LFSR동작을 제어하는 방식 2) Stop and Go Generator 두개의 LFSR로 구성되는데 하나의 LFSR출력이 0 인 경우에는 다른 LFSR을 동작시키지 않고 1 인 경우에만 LFSR을 동작시키는 방식 3) Alternating Step Generator 세 개의 LFSR을 이용하여 출력이 랜덤하지 않은 문제점을 효과적으로 극복 하였다. LFSR1의 출력수열이 0 이면 LFSR2를 동작시키고, 1 이면 LFSR3를 동 작시켜 LFSR2의 출력과 LFSR3의 출력을 XOR하여 최종출력을 결정한다. 4) Shrinking Generator 기존의 시각 제어 논리는 LFSR의 작동을 제어하였지만 Shrinking Generator 는 출력을 제어한다. LFSR1의 출력이 0 이면 LFSR2의 출력을 내보내지 않고, 1 인 경우에만 LFSR2의 출력을 최종 수열로 한다. (다) 상관관계 공격과 Summation Generator 상관관계 공격과 선형복잡도 문제를 동시에 해결할 수 있는 수단으로 Summation Generator가 제안되었다. Summation Generator는 두개의 LFSR 출 력을 정수로 고려하여 더하고 Carry는 피드백 시키는 형태이다. (4) 키 수열의 안전성 (가) 키 수열 주기의 길이 주기를 가지기 때문에 수열의 일부가 노출되면 위험하다. 안전한 키 수열의 주 기는 스트림 암호가 적용되는 응용분야에 전적으로 의존한다. (나) 유사-난수열의 조건 키 수열은 무작위로 선정된 진정한 난수열이어야 예측이 불가능하다. - 326 -

o Golomb의 공리계 p 1 ( ) = C t i = 0 (2 S i 1)(2 S p i + t 1) = 1 if t = 0, K if 1 t p-1 (그림 4-2) Golomb의 공리계 - 매 주기마다 발생되는 1 의 개수와 0 의 개수의 차이는 기껏해야 1이다. - 매 주기마다 길이가 짧은 연속적인 값들이, 길이가 긴 연속적인 값들보다 더 자주 나타난다. - P의 주기에서 두 가지 값을 가지는 자기상환함수 C(t)가 존재한다. (다) 상관공격 비선형함수에 의하여 출력되는 열쇠이진수열의 주기와 복잡도는 LFSR의 크기 와 비선형함수에 의존된다. 그러나 열쇠이진수열이 어떤 LFSR에 의한 출력수열과 상관관계가 있으면 이 성질을 이용하여 열쇠를 쉽게 찾을 수 있는 해독법이 있 다. 이와 같은 해독법을 상관공격이라 한다. (라) 랜덤 특성 스트림 암호 체계에서 보안을 유지하기 위해서는 적어도 다음 세 조건이 만족 되어야 한다. 1) 키를 선택할 수 있는 방법의 가짓수를 충분히 크게 함으로써 암호해독으로 하여금 키 전부를 시험해 볼 수 없도록 하여야 한다. 2) 보안이 유지되기 위해서는, 생성되는 무한 이진수열들의 주기를 알 수 있어 야 한다. 이 값을 아는 경우에는 이보다 짧은 길이의 평문만을 해독하면 되 기 때문이다. 3) 암호문은 반드시 랜덤' 하여야 한다. 어떤 무한 이진수열이 랜덤하다라는 말은, 이 수열의 유한개의 연이은 항들 만으로는 그 다음 항을 예측할 수 없음을 뜻한다. 물론, finite state machine에 의하여 생성되는 수열은 진정한 의미에서 랜덤하지 않다. 실제로, 이러한 수열 의 항들은 주기적으로 반복되고, 따라서 이 수열의 순환마디로부터 모든 항을 알 수 있다. 그러나, 수열의 주기가 충분히 큰 경우에는 이 수열의 난수성(randomness)을 정의할 수 있다. Golomb은 주기를 갖는 무한 이진수열의 난수성에 관한 공리계 를 설정하였는데, 위의 세 공리 1), 2), 3)를 만족시키는 수열을 흔히 G-random수 열 이라고 한다. - 327 -

앞에서 말한 좋은 난수성을 가진 무한 이진수열을 생성하는 방법에는 여러 가 지가 있으나, 거의 모든 방법이 Shift register를 이용하고 있다. 이와 같이 Shift register를 이용하는 주된 이유는, 비교적 싸고 손쉽게 구입할 수 있고 Shift register에 의하여 생성되는 수열의 성질을 수학적으로 연구할 수 있기 때문이다. (5) FCSR Summation Generator의 정수덧셈을 확장시켜 LFSR의 동작에서 XOR대신에 정수 덧셈을 하는 쉬프트 레지스터가 FCSR이다. FCSR을 스트림 암호의 기본요소로 사용 하면 선형 복잡도 측면 주기의 반 정도가 되는 장점이 있다. (6) 대수적 공격 <최근 동향> [1급] 대수적 공격은 알려진 입출력 쌍을 가지고 내부 알고리즘의 기본 대수 방정식을 이용하는 방법으로, 과포화된 다변수 연립 방정식을 통하여 변수의 값을 얻고 이를 이용하여 키를 복구해내는 방법이다. 대수적 공격은 초기에 공개키 알고리즘인 HFE에 적용되었고, 이후 SERPENT, AES와 같은 대수적 성질을 가지는 블록 암호 의 분석에 적용되었다. 이 공격법은 이후 블록암호 보다 적용이 용이한 LILI-128, E0 등의 여러 스트림 암호의 분석에 사용되었다. (가) 대수적 공격의 특성 1) 주어진 알고리즘에 대한 대수적 방정식들이 과포화(overdefined, 방정식의 개수가 변수의 개수가 많은 경우)라면 대수적 공격은 확률 1로 내부 변수 (초기 상태 혹은 마스터 키)의 값을 찾을 수 있다. 2) 대수적 공격의 복잡도는 오직 내부 변수의 개수에만 의존하고 변수 값을 구 하기 위한 복잡도는 변수 개수의 증가에 따라 지수적으로는 증가하지는 않 는다. (나) 대수적 공격을 효과적으로 적용하기 위한 문제 1) 낮은 차수의 대수적 방정식을 찾는 문제 2) 연립 방정식을 효율적으로 계산하여 해를 찾는 문제 (다) 대수적 공격의 대응책 대수적 공격에 안전하기 위해서는 변수 대 방정식의 비가 높아야 하고, 이를 달성하기 위해서는 내부 변수는 높은 비선형 함수를 이용하여 적절히 갱신되어야 한다. 또한 내부 변수의 갱신 비율이 높으면 높을수록 라운드 수가 증가함에 따 라 변수 대 방정식의 수가 감소하지 않는다. - 328 -

(라) 대수적 공격에 안전한 소프트웨어 구현에 적합한 스트림 암호의 설계 시 고 려해야할 사항 1) 키 스트림의 출력 길이 변수 대 방정식의 비가 출력의 길이가 길면 길수록 감소한다. 라운드 당 출 력 길이가 작을수록 대수적 공격에 보다 안전할 수 있으므로, 라운드 당 출력 길이의 사이즈를 신중히 고려해야 한다. 출력의 길이가 많아지면 많아질수록 방정식 대 변수의 비율이 점점 줄어들어 과포화 상태 혹은 비율 1의 값에 수렴 할 수 있어 대수적 공격에 대한 내성이 작아질 수 있다. 2) 비선형 방정식의 형태 음함수(Implicit Function)형태의 방정식은 높은 차수의 변수를 직접적으로 사 용하지 않기 위해서는 추가적인 변수가 필요한 반면, 양함수(Explicit Function) 의 경우에는 이러한 추가적 변수가 필요하지 않다. 따라서 대수적 차수가 같더 라도 음함수 형태의 방정식이 사용되었다면 양함수에 비해 보다 많은 내부 변 수를 갖게 되어 대수적 공격에 내성을 가지게 되므로, 비선형 함수도 신중히 고려하여 설계되어야 한다. 3) 내부 변수의 위치 및 갱신 과정 내부 변수들이 갱신되어 변하는 위치 등도 대수적 공격의 안전성에 영향을 준다. 구체적으로 설명하자면, 내부 변수를 이용하여 출력 스트림을 생성할 때, 내부 변수의 값을 그대로 출력 할 경우 내부 변수의 값이 그대로 노출되어 대 수적 공격에 대한 내성이 작아질 수 있다. 또한 내부 변수를 통해 출력 스트림 생성시 내부 변수의 위치가 주기적인 간격만을 이용하여 생성하거나 전체 내부 변수 값을 이용하지 않고 특정 부분의 변수만을 이용할 경우, 내부 변수의 주 기적 성질을 이용한 공격 등에 취약할 수 있다. 따라서 알고리즘의 설계시 내 부 변수의 위치 및 갱신 과정을 신중히 선택해야 한다. 1.1.5 블록 암호 - 블록암호의 개요 및 구조 - 블록암호 운영모드의 이해 - 블록암호 알고리즘들의 구조와 특성, 안전성, 암/복호화 과정, 키의 크기, 사용된 연산, 개발된 국가와 개발년도 - 329 -

(1) 블록암호의 개요 암호문을 만들기 위해 평문을 일정한 단위로 나누어서 각 단위마다 암호화 과정 을 수행하여 블록단위로 암호문을 얻는 대칭 암호화 방식이다. [표 4-1] 대칭키 암호방식 암호키 관계 암호화 키 복호화 키 암호 알고리즘 대칭키 암호방식 암호화키 = 복호화키 비밀 비밀 비밀/공개 비밀키 수 n C 2 안전한 인증 곤란 암호화 속도 고속 (2) 블록암호 알고리즘 구조 블록암호 알고리즘은 비밀키를 이용하여 고정된 크기의 입력블록을 고정된 크기 의 출력블록으로 변형하는 암호 알고리즘에 의해 암/복호화 과정을 수행하며, 이때 출력블록의 각 비트는 입력블록과 키의 모든 비트에 영향을 받는다. 블록 암호는 주로 단순한 함수를 반복적으로 적용함으로써 암호학적으로 강한 함 수를 만드는 과정으로 개발된다. 이때 반복되는 함수를 라운드 함수라 하고 라운드 함수에 작용하는 키를 라운드 키라고 한다. 일반적인 경우 키를 입력하여 라운드 키를 발생하여 사용하는데 이러한 과정을 키 스케줄 이라 부른다. 키 스케줄은 입력된 키의 모든 비트를 균등하게 사용하여 라운드 키를 독립인 것처럼 발생시켜야 한다. (가) Feistel 구조 Feistel구조는 3라운드 이상이며, 짝수 라운드로 구성된다. 이러한 Feistel 구조 는 라운드 함수와 관계없이 역변환이 가능하며(즉, 암/복호화 과정이 같음), 두 번의 수행으로 블록간의 완전한 확산(diffusion)이 이루어지며, 알고리즘의 수행속 도가 빠르고, 하드웨어 및 소프트웨어구현이 용이하고, 아직 구조상에 문제점이 발견되고 있지 않다는 장점을 지니고 있다. Feistel 구조는 입력을 좌우 블록으로 분할하여 한 블록을 라운드 함수에 적용 시킨 후의 출력 값을 다른 블록에 적용하는 과정을 좌우블록에 대해 반복적으로 시행하는 방식으로, 라운드 키가 역순으로 작용한다는 점을 제외하면 암/복호화 - 330 -

과정이 동일하고 라운드 함수에 대한 제약 조건이 없어 DES를 비롯한 대부분의 블록암호에 채택되어 사용되고 있다. Feistel 구조는 입력 n비트를 두개의 블록 ( L 0,R 0 )으로 나누어 라운드 함수를 F, 라운드 키를 K i 라 할 때, i번째 라운드 과정이 다음과 같다. o L i = R i o R i = L i-1 F i (R i-1, K i ) (나) SPN 구조 SPN 구조는 라운드 함수가 역변환이 되어야 한다는 등의 제약이 있지만 더 많 은 병렬성(parallelism)을 제공하기 때문에 암/복호화 알고리즘의 고속화가 요구 되고 최근의 컴퓨터 프로세스(CPU)가 더 많은 병렬성을 지원하는 등의 현 추세 에 부응하는 방식이라 할 수 있다. SPN은 입력을 여러 개의 소블록으로 나누고 각 소블록을 S-box로 입력하여 대 치시키고 S-box의 출력을 P-box로 전치하는 과정을 반복한다. (다) Feistel구조와 SPN구조를 사용하는 알고리즘 [표 4-2] Feistel구조와 SPN구조를 사용하는 알고리즘 Feistel 구조를 사용하는 알고리즘 SPN 구조를 사용하는 알고리즘 DES SAFER LOKI IDEA CAST SHARK Blowfish Square MISTY SRYPTON RC5, RC6, Rijndael CAST256 SAFER+ E2 Serpent Twofish * Mars * (3) 블록암호 요소의 특징 블록암호 알고리즘을 특징하는 요소로는 다음과 같은 것이 있으며, 이러한 요소 에 의해 전체 블록암호의 안전성이 결정된다. (가) 블록 크기 입출력 블록의 비트수로, 일반적으로 더 클수록 안전하다고 보지만, 암/복호화 과정에서 시간이 더 걸린다. 주로 64비트가 널리 쓰였지만, 최근에는 128바이트를 채택하고 있다. - 331 -

(나) 키 크기 비밀키의 비트수로, 일반적으로 더 클수록 이 역시 라운드키를 생성할 때 시간 이 더 걸린다. DES는 56비트를 사용하였는데 작은 키의 크기로 인하여 안전성에 큰 문제가 되었고, 최근에는 128비트나 그 이상을 주로 사용한다. (다) 라운드 키 생성 비밀키로부터 각 라운드에 사용할 키를 생성하는 과정으로, 유사시에 라운드 키가 누출되더라도 비밀키는 안전해야 한다. (라) 라운드 함수 암/복호화를 수행하는 핵심함수로 다양한 암호분석을 거쳐 안전하게 만들어 져 야 한다. (마) 라운드 수 한 번의 암/복호화를 위해 반복하는 라운드 함수의 횟수로, 많을수록 더 안전 하다고 보지만 암/복호화 과정에서 시간이 더 걸린다. 근본적으로 한 번의 라운 드 함수로 충분한 안전성을 확보할 수는 없기에 라운드 함수에 대한 다양한 암호 분석을 통해 충분한 안전성을 얻을 수 있도록 라운드 횟수를 결정한다. (4) 블록암호의 사용방식 (가) 전자코드북 모드 (Electronic Code Bool Mode) ECB모드는 가장 단순한 방식으로 각 블록을 독립적으로 암호화 한다. 이 방식 은 동일한 평문블록은 동일한 암호문을 생성하는데 이는 안전성에 있어서 이런 점은 바람직하지 않다. 이러한 이유로 ECB모드는 잘 사용하지 않는다. 1) 암호화 : C i = E k (P i ) 2) 복호화 : P i = D k (C i ) (나) 암호블럭연결 모드 (Cipher Block Chaining Mode) CBC모드는 초기치를 암호화한 값과 평문 블럭을 XOR하여 암호문 블럭을 생성 하고 그 암호문을 초기치로 하여 다시 암호화한 값과 평문 블록을 XOR하여 암호 문블록을 반복하여 생성하는 방식이다. 암호화에서는 특정 입력이후로 영향을 미 치지만, 복호화에서는 특정 암호문의 오류가 계속적으로 이후에 영향을 미치지는 않는다는 특징이 있다. 1) 암호화 : C i = E k (C i -1 P i ) 2) 복호화 : P i = D k (C i ) C i -1 (다) 암호피드백 모드 (Cipher FeedBack Mode) CFB모드는 초기치를 암호화한 값과 평문 블록을 XOR하여 암호문 블럭을 생성 - 332 -

하고 그 암호문을 초기치로 하여 다시 암호화한 값과 평문 블록을 XOR하여 암호 문블록을 반복하여 생성하는 방식이다. 암호화에서는 특정 입력이 이후로 영향을 미치지만, 복호화에서는 특정 암호문의 오류가 계속적으로 이후에 영향을 미치지 는 않는다는 특징이 있다. 1) 암호화 : C i = P i E k (I i )<i...r >, I i +1 =(I i <<r) (0..0 C i ) 2) 복호화 : P i = C i E k (I i )<i...r >, I i +1 =(I i <<r) (0..0 C i ) (라) 출력피드백 모드(Output FeedBack Mode) OFB모드는 초기치 Ⅳ를 암호화 하고 그 값을 다시 암호화하는 과정을 반복함 으로써 생성된 수열과 평문 수열을 XOR하여 암호문을 생성하는 방식으로, 주로 블록암호 시스템을 스트림암호 시스템처럼 사용하고자 할 때 이용된다. 이 방식 에서 암호문의 오류는 복호화 과정에서 대응되는 한 블록에만 영향을 비치므로, 영상이나 음성 같은 디지털 신호화한 아날로그 신호에 많이 사용된다. 1) 암호화 : I i = E k (I i -1 ),C i = P i I i 2) 복호화 : C i = P i E k (I i ),P i = C i I i (마) 카운터 모드(Counter Mode) Counter모드는 초기치 Ⅳ와 Ⅳ+1, Ⅳ+2,...을 암호화하여 생성된 평문수열을 XOR하여 암호문 블록을 생성하고 그 암호문을 기초로 하여 다시 암호화한 값과 평문블록을 XOR하여 암호문블록을 반복하여 생성하는 방식이다. 암호화에서는 특정 입력이 이후로 영향을 미치지만, 복호화 할 때 Ⅳ가 주어지면 미리 계산할 수 있어 평문이 주어지면 바로 암호문을 만들 수 있다는 장점이 있지만, 동일한 비밀키와 Ⅳ를 반복하여 사용할 경우 안전성에 문제가 생긴다는 약점이 있다. 1) 암호화 : C i = P i E k (I i ),P i = I i +1 +1 2) 복호화 : P i = C i E k (I i ),P i = I i +1 +1 (5) 블록암호 알고리즘 종류 - 333 -

[표 4-3] 블록알고리즘 종류와 특징 개발 개발 블록 키의 라운 특징 국가 년도 크기 길이 드수 DES 미국 1972년 NIST에서 표준으로 공표(1977년) 64 56 16 IDEA 유럽 1990년 PGP채택 64 128 8 Rijndael 벨기에 2000년 AES알고리즘으로 선정 128 128,192, 10,12, 256 14 SEED 한국 1999년 한국표준 블록암호 알고리즘 128 128 16 CRYPTON 한국 1998년 128 0-256 12 RC5 미국 1994년 알고리즘이 간단하여 속도가 빠름 64 0-256 16 FEAL 일본 1987년 S/W구현에 적합 64 64 4 MISTY 일본 1996년차분/선형공격에 안전성증명구조 64 128 8 SKIPJACK 미국 1990년 Fortezza카드에 사용 64 80 32 (가) DES의 암/복호화 과정 현재까지 DES는 가장 널리 사용되어 왔지만 열쇠의 길이가 짧고, 컴퓨터 속도 의 개선과 암호해독기술의 발전으로 오늘날 더 이상 DES를 안전하다고만 생각하 지 않게 되었다. 최근 DES를 보완하는 끊임없는 연구로 많은 블록 암호들이 개발 되어 공개되어왔으며 또한 DES가 공모 되었던 것과 같이 새로운 암호 AES를 선 정하였다. DES는 64비트의 평문을 46비트의 암호문으로 만드는 블록 암호 시스템으로 64 비트의 키를 사용한다. 64비트의 키(외부 키) 중 56비트는 실제의 키(내부 키)가 되고 나머지 8비트는 검사용 비트로 사용한다. 또한 DES의 안전성을 증가시키기 위하여 키의 길이를 두 배 즉, 128비트, 십진수 16개를 키로 선택한 변형된 알고 리즘을 일반적으로 사용한다. DES는 16라운드(Round)의 반복적인 암호화 과정을 갖고 있으며, 각 라운드마다 전치(Transposition) 및 대치(Substitution)의 과정을 거친 평문과 56비트의 내부키에서 나온 48비트의 키가 섞여 암호문을 만든다. 복 호화는 암호화 과정과 동일하나 사용되는 키만 역순으로 작용하는 것이다. DES는 컴퓨터 성능의 발달로 인해 보안성이 약화되어 3DES를 사용하고 있다. 1) 암호화 과정 o 64비트의 평문 P에 64비트 대칭키 K가 적용되어 세 단계를 거침 o 64비트 평문은 초기치환을 거쳐 재배열된다. o 대체와 치환의 16회 반복 o 16회 반복으로 생성된 LE 16 과 RE 16 의 위치 교환 후 역초기치환이 적용되어 64비트 암호문이 생성됨 - 334 -

2) 복호화 과정 o 부분키를 역으로 적용 시키는 것을 제외하면 암호화 과정과 동일 o R i -1 = L i o L i -1 = R i f( R i -1,k i )=R i f(l i,k i ) (나) 3DES DES의 56비트라는 짧은 키 길이로 인한 안전성 문제를 해결하기 위한 대안으 로 3개의 키로 DES를 3회 반복하여 사용하는 Triple DES를 사용한다. 3DES는 속 도가 DES보다 3배 정도 느리다는 단점에도 불구하고, 기존의 DES를 이용하여 쉽 게 구현되며 DES의 안전성 문제를 해결하는 장점으로 인하여 여러 표준에서 사 용되었다. 서로 다른 키로 DES 암호 방식을 반복적용하면 외형상으로는 2배의 키 길이지만 메모리 용량이 충분하면 57비트 효과밖에 얻지 못한다. 그러나 두개의 암호키를 사용하여 첫 번째 키 K 1 으로 암호화하고 다시 두 번째 키 K 2 로 복호화 한 다음 또다시 첫 번째 K 1 로 암호화하면 강한 암호를 얻을 수 있다. (다) IDEA 스위스에서 1990년 Xuejia Lai, James Messey에 의해 만들어진 PES(Proposed Encryption Standard)는 이후 1992년 IDEA(International Data Encryption Algorithm)로 이름을 고쳐 제안하였고, 블럭 초당 177Mbit의 처리가 가능한 빠른 암호화 방법이다. IDEA은 128비트 키, 8라운드, 64비트 블록암호이며 주된 세 가 지 연산은 XOR, add mod 216, multiply mod 216+1이다. RSA와 더불어 PGP에 사용되는 방식이기도 하다. IDEA는 블록 암호 알고리즘으로써 64비트의 평문에 대하여 동작하며, 키의 길 이는 128비트이고, 8라운드의 암호 방식을 적용한다. 또한 암호화와 복호화에 동 일한 알고리즘이 사용된다. IDEA 알고리즘은 상이한 대수 그룹으로부터의 세 가 지 연산을 혼합하는 것으로 이들은 모두 하드웨어나 소프트웨어로 쉽게 구현될 수 있다. IDEA는 16비트 단위 연산을 사용하여 16비트 프로세스에 구현이 용이 하도록 설계되었다. 1) 암호화 과정 [1급] 다른 암호화 방식과 마찬가지로 암호화 함수는 암호화될 평문과 키의 두 가 지 입력을 갖는다. 이 경우 평문은 64비트이고, 키는 128비트이다. IDEA알고리 즘은 마지막 변환함수에까지 8개의 라운드 혹은 반복들로 구성된다. 이 알고리 즘은 입력을 4개의 16비트 서브블록으로 분해한다. 각각의 반복과정은 4개의 16비트 서브블록들을 입력받고, 4개의 16비트로 된 결과블록을 생성한다. 최종 변환은 또한 4개의 16비트 블록들을 생성하는데, 이것들은 다시 64비트암호문 - 335 -

을 형성하기 위해 연결된다. 각 반복들은 전체 52개의 서브키에 대하여 6개의 16비트 서브키를 이용하는 반면 최종변환은 4개의 서브키를 사용한다. 2)복호화 과정 [1급] 복호화 과정은 암호화 과정과 본질적으로 같은 작업이다. 복호화는 같은 IDEA구조로서 암호문을 입력으로 사용함으로써 얻어진다. 그러나 서브키의 선 택에 있어서 다르다. 복호화 서브키 U 1,..., U 52 는 암호화 서브키로부터 유도된 다. (라) SEED SEED는 한국 정보보호센터가 1998년 10월에 초안을 개발하여 공개검증과정을 거쳐 안전성과 성능이 개선된 최종수정안을 1998년 12월에 발표하였다. 1999년 2 월 최종결과를 발표하고 128비트 블록암호표준(안)으로 한국통신기술협회에 제안 하였다. SEED알고리즘의 전체 구조는 변형된 Feistel구조로 이루어져 있으며, 128 비트 열쇠로부터 생성된 16개의 64비트 회전열쇠를 사용하여 총 16회전을 거쳐 128비트의 평문 블록을 128비트 암호문 블럭으로 암호화하여 출력한다. 이 알고 리즘의 전체 구조는 블록의 길이만 다를 뿐 DES의 구조와 같으며, 평문 블럭 128 비트를 64비트 블록을 L 0 과 R 0 로 나누어 DES와 같은 단계를 거쳐 16회전을 하여 최종출력비트를 얻는다. 1) 암호화 과정 [1급] o SEED의 평문 128비트는 좌측 64비트 L 0 (64)와 우측 64비트 R 0 (64)로 나뉘어 입력된다. o 우측 64비트 R 0 (64)는 암호화 보조키 64비트 K 1 (64)와 함께 f함수에 입력된 다. o f함수의 출력 64비트 f( R 0 (64),K 1 )은 좌측 64비트 L 0 (64)와 비트별로 XOR 를 거쳐 R 1 (64)가 된다. o 다시 좌측 64비트 L 1 (64)와 암호화 보조키 K 2 가 f함수에 입력된다. o f 함수의 출력 64비트 f( R 1 (64),K 2 )는 좌측 64비트 L 1 (64)와 XOR를 거쳐 R 2 (64)가 된다. (마) AES (Rijndael) 1997년 미국의 NIST는 기존의 DES를 대신할 수 있는 새로운 암호 알고리즘 (AES, Advanced Encryption Standard)을 공모하였다. 기존의 3중 DES보다 안전 하면서 128비트 이하의 키를 사용해야 한다는 조건에도 불구하고, 약 15개의 알 고리즘이 응모하였다. 2000년 안전성분석과 구현 효율성을 검증받은 5개의 후보 가운데 J. Daemen과 V. Rijmen이 제출한 Rijndael이 차세대 AES로 선정되었다. - 336 -

AES의 암호화 과정의 각 라운드는 비 선형성을 갖는 S-Box를 적용하여 바이트 단위로 치환을 수행하는 SubBytes( ) 연산, 행단위로 순환 시프트를 수행하는 ShiftRows( ) 연산, Diffusion을 제공하기 위해 열 단위로 혼합하는 MixColumns( ) 연산과 마지막으로 라운드 키와 State를 XOR하는 AddRoundKey( ) 연산으로 구성된다. [표 4-4] AES의 라운드 수(Nr) 키 길이 (Nk Words) 블록 길이 (Nb words) 라운드 수 (Nr) AES-128 4 4 10 AES-192 6 4 12 AES-256 8 4 14 사용하는 암호화 키의 길이에 따라, 암/복호화 과정에 필요한 라운드 수는 아 래의 표와 같다. 1) 암호화 과정 o AES의 암호화 과정은 DES와 달리, 첫 번째 라운드를 수행하기 전에 먼저 초기 평문과 라운드 키의 XOR연산을 수행하므로, 암호화 과정에 필요한 전 체 라운드 키의 개수는 Nr+1개가 된다. 그리고 암호화의 마지막 라운드에 서는 MixColumns( )연산을 수행하지 않는다는 특징이 있다. 2) 복호화 과정 o AES의 복호화 과정은 암호화 과정을 역변환으로 InvSubBytes( ) 연산, InvShiftRows( ) 연산, InvMixColumns( ) 연산, AddRoundKey( ) 연산으로 구성된다. 암호화 과정에서 마지막 라운드는 이전의 라운드들과 달리 MixColumns( ) 연산을 포함하지 않으므로, 복호화 과정의 첫 번째 라운드 가 이후의 라운드들과 달리 InvMixColumns( ) 연산을 포함하지 않는다. 복호화 과정의 첫 번째 라운드를 제외한 각 라운드는 AddRoundKey( ) 연 산, InvMixColumns( ) 연산, InvShiftRows( ) 연산, InvSubBytes( ) 순서로 연산을 수행하며 라운드 키는 암호화의 역순으로 Nr번째 라운드 키부터 사 용한다. 1.1.6 블록 암호 공격 [1급] - 각 공격법에 대한 기본개념 이해 - 337 -

(1) 차분공격에 대한 기본개념(Differental Crptanalysis) 1990년 Biham과 Shamir에 의하여 개발된 선택된 평문공격법으로, 두개의 평문 블록들의 비트의 차이에 대하여 대응되는 암호문 블록들의 비트의 차이를 이용하여 사용된 암호열쇠를 찾아내는 방법이다. (2) 선형공격에 대한 기본개념(Linear Cryptanalysis) 1993년 Matsui에 의해 개발되어 알려진 평문 공격법으로, 알고리즘 내부의 비선 형 구조를 적당히 선형화시켜 열쇠를 찾는 방법이다. (3) 전수공격법(Exhaustive key search) 1977년 Diffie와 Hellman이 제안한 방법으로 암호화할 때 일어날 수 있는 모든 가능한 경우에 대하여 조사하는 방법으로 경우의 수가 적을 때는 가장 정확한 방법 이지만, 일반적으로 경우의 수가 많은 경우에는 실현 불가능한 방법이다. (4) 통계적 분석(Statistical analysis) 암호문에 대한 평문의 각 단어의 빈도에 관한 자료를 포함하는 지금까지 알려진 모든 통계적인 자료를 이용하여 해독하는 방법이다. (5) 수학적 분석(Mathematical analysis) 통계적인 방법을 포함하며 수학적 이론을 이용하여 해독하는 방법이다. 1.1.7 인수분해 기반 공개키 암호 - 공개키 암호시스템의 장단점 - 공개키 알고리즘들의 암호학적 안전성, 알고리즘 안전성, 변수선정 방법, 암/복호 화 알고리즘의 키 생성 및 구성 - 이차잉여류 문제 [1급] (1) 공개키 알고리즘의 특징 데이터의 암호화에서는 공개키가 사용되고, 복호화에서는 비밀키가 사용되는 암 호시스템으로 이 시스템은 암호화 조작이 용이하고 복호화에는 방대한 조작이 필요 하지만 어떤 복호화 키가 주어지면 용이하게 역변환이 가능하게 되는 일방향성 함 수의 개념이 사용되고 있다. 공개키 암호시스템은 다수의 정보교환자 간의 통신에 - 338 -

적합하고 전자서명을 용이하게 실현할 수 있는 특징이 있다. [표 4-5] 공개키 암호 암호방식 공개키 암호방식 암호키 관계 암호화 키 복호화 키 암호 알고리즘 비밀키 수 안전한 인증 암호화 속도 암호화키 복호화키 공개 비밀 공개 2n 용이 저속 (2) 소인수 분해를 이용한 공개키 암호 (가) 소인수분해 문제 소인수 분해란 하나의 정수를 소인수로 분해하는 것을 말한다. 충분히 큰 두개 의 소수를 곱하는 것은 쉽지만, 이들 결과를 소인수 분해한다는 것은 계산적으로 매우 어렵다. RSA 등과 같은 공개키 암호 알고리즘들은 이렇게 소인수 분해의 어려움에 기반을 두고 설계되었다. (나) RSA 암호 RSA는 1978년 Rivest, Shamir 그리고 Adleman에 의해 설계된 암호로써 Diffie 와 Hellman이 제안한 공개키 암호시스템에 대한 개념을 가장 충실히 반영한 것 으로 소인수 분해의 어려움에 그 기반을 둔 공개키 암호이다. RSA의 암호 방식 의 안전성은 소수 p와 q에 달려 있다. RSA의 암호방식의 안전성을 보장받기 위 한 소수 p와 q의 선택조건과 공개 암호화키와 비밀 복호화키의 조건들이 부가적 으로 필요하다. 1) 암/복호화 과정 o 준비과정 - 수신자 B가 공개되지 않은 홀수인 두 소수 p B, q B 의곱n B = p B q B 를 구 한다. - 수신자 B는 φ(n B )=(p B -1)(q B -1)을 구한다. - 수신자 B는 n B 와 서로서인 e B 를 선택하고 d B e B 1 mod φ (n B )를 만족 하는 d B 를 구한다. - 수신자 B는 위에서 구한 ( n B, e B )를 공개한다. - 339 -

o 암호화 과정 - 송신자 A는 평문 P와 공개키를 이용하여 C P d b mod n B 를 계산하여 암 호문 C를 얻어 수신자 B에게 송신한다. o 복호화 과정 - 수신자 B는 암호문 d B 를 이용하여 C d b P mod n B 를 계산하여 평문 P를 얻는다. o 정리 - 이러한 과정에서 B가 공개한 수 e B 와 n B 를 이 암호방식의 공개키라 한 다. 한편, 두 소수 p B, q B, φ( n b ) 및 d B 는 B만이 가지고 보안을 유지하고 있 어야 한다. 특히, ( n B, d B )는 암호문을 복호화 하는데 필요한 개인키라 한 다. 2) 암호학적 안전성 RSA 암호의 비도가 크게 되려면 n의 소인수 분해가 계산적으로 불가능해야 하므로 소인수 분해 알고리즘 등에 의하여 인수분해 되지 않는 꼴이어야 한다. 따라서 p와 q는 다음과 같은 조건을 만족해야 한다. o p와 q는 같지 않고 거의 같은 크기의 자릿수이어야 한다. o p-1과 q-1은 커다란 소인수를 각각 가져야 한다. o p-1과 q-1의 최대 공약수는 작은 수이어야 한다. 위와 같은 조건은 n = p * q의 소인수 분해를 어렵게 만들므로 이를 이용한 RSA암호 방식의 공격을 어렵게 만든다. RSA알고리즘의 공격으로는 다음과 같 은 가능한 접근 방법이 있다. o 전사적 공격 : 모든 가능한 개인키로서 시도한다. o 수학적인 공격 : 두 소수의 곱을 인수분해하는 몇 가지 접근이 있다. o 시간적인 공격 : 이것은 복호알고리즘의 실행시간에 의존한다. (다) Rabin 암호 Rabin암호 역시 소인수분해 어려움에 안전성의 근거를 두고 있다. 결국 Rabin 암호를 해독하는 어려움과 소인수 분해를 하는 어려움은 같은 것이다. Rabin암호는 RSA와 같은 원리를 이용하지만 암호화 과정이 RSA암호방식보다 빠 른 것이 특징이다. 1) 암/복호화 과정 o 준비과정 - 수신자 B가 공개되지 않은 p B 3 mod 4이고 q B 3 mod 4인 두 소수를 선 - 340 -

택하고 p B, q B 의 곱 n B = p B q B 를 구한다. - 수신자 B는 b를 선택하고 ( n B, b)를 공개한다. o 암호화 과정 - 송신자 A는 평문 P와 공개키 ( n B, b)를 이용하여 암호문 C P(P+b) modn B 를 구하여 A에게 전송한다. o 복호화 과정 - 수신자 B는 암호문 C를 복호하기 위하여 n B = p B q B 임을 이용하여 o 정리 p 1 4 +C- b 2 mod n 을 계산하여 평문 P를 얻는다. B - 암호화 함수 Ek는 m을 법으로 한 2차 합동식이므로 암호화하는 속도가 RSA 암호와 비교하여 상당히 빠르다. 그러나 중국인의 정리에 의하여 이 차 합동식을 만족하는 해가 4가지이므로 주어진 암호문에 대하여 4가지로 복호되므로 이들 중에서 평문을 찾아야 한다. 따라서 평문을 쉽게 찾을 수 있도록 사전에 평문에 관한 정보를 약속하므로 평문을 얻는다. 이를테면, 평문으로 이용되는 수를 적당하게 제약하므로 실제로 1개의 해가 평문이 되도록 한다. (라) 이차 잉여류 문제 [1급] [표 4-6] 이차 잉여와 그 예 이차 잉여 이차 비잉여 이차 잉여 정의 - gcd(a, m) = 1 - x 2 a mod m - x 2 / a mod m 이차 잉여 예 (Z 13 ) - {1, 3, 4, 9, 10, 12} - {2, 5, 6, 7, 8, 11} (3) 효과적인 암호구현 알고리즘 [1급] (가) 연산의 시행회수를 줄이는 알고리즘 1) Karatsuba 방법 2) Barrett 방법 3) Takagi 방법 4) Montgomery 방법 (나) 연산의 횟수를 감소시키는 알고리즘 - 341 -

1) 지수의 이진표현을 이용하는 이진방법 2) 지수의 소인수분해를 이용하는 소인수 분해 방법 3) 지수의 m진 표현을 이용한 m진 이용방법 4) 지수의 가산고리를 이용하는 가산고리방법 1.1.8 확률적 공개키 암호 [1급] - 확률적 공개키 암호의 안전성 개념 이해 - RSA-OAEP의 이해 - BBS, Goldwasser-Micali에 대한 내용 이해 (1) 확률적 공개키 암호의 안전성 개념 (가) 의미론적 안전성(Semantically Security) 의미론적 안전성은 Goldwasser와 Micali에 의해 소개된 개념으로서 공개키 암 호 방식의 증명 가능한 안전성을 제공하기 위한 효시가 된 정의라고 볼 수 있다. 의미론적 안전성은 암호문으로부터 효율적으로 계산 가능한 것은 모두 단지 평문 의 길이만 주어졌을 때에도 효율적으로 계산 가능한 것이라는 사실을 의미한다. 즉, 평문의 길이 이외에 다른 정보가 없다면 암호문은 평문을 유추해 내는 데에 아무런 역할도 하지 못한다는 개념이 의미론적으로 안전하다는 뜻이다. 의미론적 으로 안전한 암호 방식을 사용하는 통신로 상에서 암호문을 도청하는 공격자는 평문에 대해서 아무런 정보도 얻지 못한다. (나) NM-안전성(Non-Malleability) NM-안전성 개념은 Dolev, Dwork, Naor에 의해서 처음 소개된 것으로 이들의 머리글자를 인용하여 DDN-안전성이라 부르기도 한다. NM-안전성을 정의할 때는 공격자의 공격 목표가 낮아진다는 것이 큰 특징이다. 이전의 안전성 개념에서의 공격자의 목표는 주어진 도전 암호문 C로부터 평문 P를 찾아내는 것이었다. 그러 나 NM-안전성 개념 정의에 나타나는 공격자의 목표는 도전 암호문 C의 평문 P 을 찾는 것이 아니고 단지 그것의 평문이 P와 알려진 방법으로 관계 지워진 어떤 암호문을 얻어내는 것이다. 즉 다른 안전성 개념에서 보다 공격 성공의 목표치가 약하기 때문에 NM-안전성에 고려되는 공격자는 그만큼 공격을 쉽게 성공시킬 수 있는 것이다. NM-안전성에 고역 관점의 안전성을 결합한 개념을 NM-CPA, NM-CCA, NM-ACC 등으로 표현한다. - 342 -

(2) RSA-OAEP 공개키 암호화의 경우(서명과 비밀키 전송에 널리 사용되고 있다) 단지 약간의 알 고리즘만이 널리 사용되고 있는데 가장 널리 사용되고 있는 알고리듬 중의 하나는 RSA이다. RSA의 알고리듬은 단지 미국에서만 특허화되어 있으며 2000년 9월에 만 료되어 자유롭게 사용될 수 있다. 공격자가 직접적으로 제공한 원값(raw value) 을 RSA를 사용해 절대로 복호화하거나 서명하지 말아야 한다. RSA는 비밀키를 드러 낼 수 있기 때문에 결과를 들어낸다. (대부분의 프로토콜은 원값이 아닌 사용자가 계산한 해쉬에 서명하는 것을 포함하거나 결과를 드러내지 않기 때문에 이는 실제 문제가 되지는 않는다) 절대로 정확히 동일한 원값을 여러 번 복호화하거나 서명하 지 말아야 한다.(원래 값이 노출될 수 있다) 이러한 두 문제 모두 임의의 패딩 (padding, 아무런 의미가 없는, 고정 길이를 갖는 레코드 또는 블록에 무의미한 문 자로 채우는 기법)을 늘 추가함으로써 해결될 수 있다. 보통의 접근 방법은 Optimal Asymmetric Encryption Padding (OAEP) 라고 불린다. o RSAES-OAEP는 Bellare-Rogaway의 방식에 기초한 인코딩 방법이다. Random oracle model을 바탕으로 plaintext-awareness을 주는 알고리즘이 며 Make Generation Funcion(MGF)이 필요하다. o MGF 주어진 string을 Seed로 하여 주어진 길이만큼의 난수열을 생성하는 의사 난 수 함수이며 RSA 서명 알고리즘 중에 PKCS#1-PSS와 P1363a의 EMSR3 의 안전성은 MGF의 랜덤성에 의존한다. PKCS#1에서는 MGF로 MGF1을 사용 권고하고 있으며 MGF1에서의 해쉬함수는 SHA1을 사용한다. (가) BBS (Blum Blum Shub) 암호적인 강도에 있어서 가장 강력한 것으로 공개적으로 증명되었다. 1) Generation 절차 o 4로 나누었을 때 나머지가 모두 3인 두 개의 큰 소수 p와 q를 선택한다. 즉, p q 3( mod4) n = p q o s가 상대적으로 n에 대해 소수인 난수 s를 선택한다. o 아래의 알고리즘에 따라 B i 비트들의 수열을 생성한다. X 0 = s 2 modn for i = 1 to - 343 -

X i = ( X i -1 ) 2 modn B i = X i mod2 2) BBS는 암호학적으로 안전한 pseudorandom bit 발생기(CSPRBG)라고 한다. o CSPRBG는 정의된 순서에 따라 다음 비트 시험을 통과함으로써 정의된다. => 출력 수열의 첫 번째 k개의 비트들이 입력에서 1/2 보다 월등히 큰 확률로 번째를 예측할 수 있는 다항-시간 알고리즘이 없다면 한 pseudorandom bit 발생기가 다음 비트 시험을 통과했다"고 말한다. (나) Goldwasser-Micali 암호문으로부터 평문의 어떤 부분 정보도 노출되지 않는 암호 방식. 인수분해 문제와 제곱 잉여의 원리를 이용한 확률 암호를 정의. 1) 준비 과정 o 수신자 B는 공개되지 않은 홀수인 두 소수 p B, q B 의 곱 n B = p B q B 를 구하 고 n B 를 법으로 한 제곱비잉여로 b ( n B ) =1 를 만족하는 b를 생성하고 (n B, b)를 공개한다. 2) 암호화 과정 o 송신자 A는 평문 P {0, 1}를 암호화하기 위하여 Z n *의 원소 r을 선택한다. o 송신자 A는 (b, r, n B )를 이용하여 C b P r 2 mod n B 를 계산하여 암호문 C를 B에게 송신한다. 3) 복호 과정 o 수신자 B는 n B =p B q B 를 이용하여 C가 n B 를 법으로 한 이차잉여인가 또는 이 차 비잉여 인가를 판정한다. o 수신자 B는 평문을 C가 이차잉여이면 0으로, 이차 비잉여이면 1로 복호한 다. 이 암호에는 Z n *의 원소인 암호문이 n B 를 법으로 이차잉여와 이차 비잉여일 확 률은 각각 1 인 원리를 추가하였다. 따라서 암호문으로부터 평문의 어떤 정보도 2 노출되지 않으며 암호문의 일부에 대응되는 평문이 노출되어도 이외 평문에 대한 정보가 노출되지 않는 장점이 있다. 그러나 암호화 단위가 1비트이므로 효율적이 아니다. 1.1.9 이산대수 기반 공개키 암호 - 344 -

- 유한체의 이산 대수 문제 이해 - ElGamal 암호체계의 변수 선정법, 암/복호화 순서 및 방법, 사용된 연산, 안전성 - Diffie-Hellman 키 교환체계의 변수 선정법, 암/복호화 순서 및 방법, 사용된 연 산, 안전성 - 타원곡선 이산대수 문제(ECDLP)의 이해 [1급] - 타원곡선 공개키 암호시스템의 변수 선정법, 암/복호화 순서 및 방법, 사용된 연 산, 안전성 [1급] (1) 유한체의 이산대수 (가) 유한체의 이산대수문제 이산대수 문제는 군(group)을 이용한다. 일반적으로 차수가 t인 집합 G의 원소 g와 집합 G의 다른 원소 가 주어졌을 때 x를 구하는 것은 어려우며 이를 이산대수 문제(DLP: Discrete Logarithm Problem)라 한다. 여기서 0 x t-1이다. y는 g를 x번 곱한 결과이다. 원소 g는 전형적으로 G의 모든 원소들을 생성하거 나 또는 적어도 0에서 t-1사이의 모든 정수들을 가지고 누승함으로서(즉, 반복적 으로 그룹 연산을 함으로서)큰 부분집합을 생성할 수 있다. 원소 g가 군 내의 모 든 원소들을 생성할 수 있다면 원소 g를 생성자(generator)라고 한다. 유한체의 이산대수문제는 유한체의 곱셈군에 대한 이산대수문제이다. 소인수분 해 문제와 마찬가지로 이산대수 문제는 일방향 함수의 어려운 문제라 여겨지고 있다. 이러한 이유로 이산대수 문제는 ElGamal 시스템과 DSS를 포함한 여러 공 개키 암호 시스템들의 기초를 이루어 왔다. 이들 시스템들의 안전성은 이산대수 를 계산하기가 어렵다는 가정에 의존하고 있다. 이산대수 문제는 유한체(finite fields)상에서 보다 임의의 군(group)상에서 훨씬 더 어려운 듯하다. 즉, 이것은 타원 곡선(elliptic curve)군에 기초한 암호 시스템 의 동기 부여이다. 일반적으로 임의의 군 내에서 이산대수를 계산하기 위한 동작 시간(running time)은 o( )이다. 여기서 p는 군의 위수(order)이다. (나) ElGamal EIGamal은 1985년 이산 대수 문제에 바탕을 둔 공개키 암호시스템이다. 1) 준비과정 o 소수 q와 체 F a 에서 위수가 큰 임의의 원소 g를 공개한다. o 사용자 A는 자신이 암호문을 전달받기 위하여 임의의 정수 A를 0 < a < q-1 이 되도록 하고 g a mod q를 계산하고 a는 공개하지 않고 g a mod q를 - 345 -

공개한다. 2) 암호문 전달과정 o 사용자 B는 임의의 k를 선택하여 Pg ak mod q를 계산하고 평문 P의 암호문 으로 ( g k,pg ak )을 A에게 보낸다. o 사용자 A는 개인키 a를 이용하여 (g k ) a g ak mod q를 계산하고 P g ak 을 g ak 로 나누어 평문 P를 구한다. (다) Diffie-Hellman 1) 준비과정 o 사용자 A와 사용자 B가 사용할 소수 p와 원시원소 g를 상의하여 결정 2) 개인키 생성 o 사용자 A는 a를 선택하고 g a mod p 를 계산하여 공개하고 사용자 B는 b를 선택하고 g b mod p를 계산하여 공개한다. o 사용자 A는 사용자 B의 공개키 g b mod p와 자신의 개인키 a를 이용하여 (g b ) a mod p를 계산하고, 사용자 B는 사용자 A의 공개키 g a mod p와 자신 의 개인키 b를 이용하여 (g a ) b mod p를 계산하여 공동 비밀키로 사용한다. o 실제로 K (g a ) b (g b ) a mod p 이므로 A와 B는 같은 비밀키를 공유할 수 있다. 또, 이산대수를 구하는 어려움 때문에 g a mod p와 g b mod p로부터 a,b 를 얻을 수 없으므로 g ab mod p를 구할 수 없기 때문에 안전하다. 즉, 만나는 번거로움 없이 K를 비밀키로 결정하여 안전하게 공유하고 이용 할 수 있다. (2) 타원곡선 암호 (Elliptic Curve Cryptosystem) [1급] 타원곡선상의 이산대수 문제를 통해 제안된 암호 시스템으로 RSA 알고리즘보다 작은 비트수를 가지고 동일한 암호의 강도를 지닐 수 있다. 스마트카드나 휴대폰 등 키의 길이가 제한적인 무선 환경이나 작은 메모리를 가지고 있는 시스템에 적합 하다. (가) 타원곡선 이산대수 문제 실수체 위에서 정의된 타원곡선과는 달리 유한체 F q 에서 정의된 타원곡선은 유 한개의 원소들로 이루어지며, 연산에 있어서 실수체 위에서 정의된 타원곡선에서 와 달리 계산오류가 없이 정확한 값을 얻는 장점이 있다. 타원곡선 위에 한 점 P의 위수를 n이라면 집합 H={P, 2P,,nP=O}는 군 E(F q ) 의 순환부분군이다. 즉, 군 H의 임의의 원소 Q에 대하여 적당한 자연수 k가 존재 - 346 -

하여 Q=kP이다. 한편, k와 P를 알면 Q를 구하는 것은 어렵지 않지만, n이 충분 히 클 경우에 점 P와 점 Q가 주어질 때, k를 구하는 것은 쉽지 않다. 이를 타원 곡선 이산대수 문제(ECDLP: Elliptic Curve Discrete Logarithm Problem)라 한다. (나) 타원곡선 Diffie-Helloman 비밀키 교환 시스템 사용자 A와 B는 우선 자기 자신의 개인키와 공개키를 만들기 위해 유한체 F q 와 그 위에서 정의되는 타원곡선 E를 정하여 공개하고 반드시 생성원일 필요는 없지만 위수가 충분히 큰 E 위의 원소 Q를 선택하여 공개한다. 1) 준비 과정 o 두 사용자 A와 B가 사용할 타원곡선 E와 위수가 충분히 큰 E 위의 원소 Q 를 결정한다. 2) 비밀키 생성 과정 o 사용자 A와 B는 각각 임의의 정수 a, b를 선택하여 자신의 개인키로 보관 하고, aq와 bq를 계산하여 공개한다. o 사용자 A와 B가 비밀키를 공유하기 위하여, 사용자 A는 B의 공개키 bq에 자신의 개인키 a를 곱하여 P=abQ를 구하고 사용자 B도 같은 방법으로 P=abQ를 구하여 비밀키를 생성한다. (다) 타원곡선 Massey-Omura 암호방식 1) 준비 과정 o 유한체 F q 에서의 타원곡선 E의 점의 개수 N을 구한다. 2) 암호문 전달 과정 o 사용자 A와 사용자 B는 각각 e A 와 e B 를 선택하고 각각 d A =e -1 A mod N과 d B =e -1 B mod N을 계산하여 각각 (e A, d A )와 (e B, d B )를 개인키로 한다. o 사용자 A는 평문 P와 자신의 키 e A 를 이용하여 e A (P)를 계산하여 사용자 B 에게 보낸다. o 사용자 B는 e A (P)를 수신하고 자신의 키 e B 를 이용하여 e B (e A (P))를 계산하여 사용자 A에게 보낸다. o 사용자 A는 e B (e A (P))를 수신하고 자신의 키 d A 를 이용하여 d A (e B e A (P))=e B (P) 를 계산하여 사용자 B에게 보낸다. o 사용자 B는 e B (P)를 수신하고 자신의 키 d B 를 이용하여 d B (e B (P))=P를 계산 하여 평문 P를 얻는다. (라) 타원곡선 ElGmal 암호방식 1) 준비 과정 o 두 사용자 A와 B가 사용할 타원곡선 E와 위수가 충분히 큰 E의 원소 Q를 - 347 -

결정한다. 2) 암호문 전달 과정 o 사용자 A는 자신이 암호문을 전달받기 위하여 임의의 정수 e A 를 선택하고 개인키로 보관하고 e A (Q)를 계산하여 공개한다. o 사용자 B는 임의로 정수 k를 선택하여 kq를 계산하고, 평문 P의 암호문으 로 순서쌍(kQ, P+k(e A (Q)))를 사용자 A에게 보낸다. o 사용자 A는 kq에 자신의 개인키 e A 를 곱하여 e A (kq)를 구하고 이를 이용하 여 P+k(e A (Q))-e A (kq)를 구하여 평문 P를 얻는다. 1.2 해쉬함수와 전자서명 1.2.1 해쉬함수 일반 - 해쉬함수의 성질 - 해쉬함수의 특성과 그 핵심 논리 - 생일역설과 안전성개념 (1) 해쉬함수의 성질 해쉬함수 h가 가져야 할 기본 성질들로는 다음과 같은 것들이 있다. (가) 역상 저항성 주어진 임의의 출력값 y에 대해, y=h(x)를 만족하는 입력값 x를 찾는 것이 계 산적으로 불가능하다. (나) 두 번째 역상 저항성 주어진 입력값 x에 대해 h(x)=h(x'), x x'을 만족하는 다른 입력값 x'을 찾는 것이 계산적으로 불가능하다. (다) 충돌 저항성 h(x)=h(x')을 만족하는 임의의 두 입력값 x, x'을 찾는 것이 계산적으로 불가능 하다. (2) 전자서명에 이용되는 해쉬 함수의 특성 (가) 해쉬함수의 계산 효율이 양호해야 한다. (나) 약 일방향성 (Weak onewayness) 해쉬값 H로부터 h(m) = H되는 서명문 M을 찾는 것은 계산상 불가능해야 한 - 348 -

다. (다) 강 일방향성 (Strong onewayness) 어떤 서명문 M과 그의 해쉬값 H=h(M)가 주어졌을 때 h(m')=h되는 서명문 M M을 찾는 것이 계산상 불가능해야 한다. (라) 충돌 회피성(collision freeness) h(m)=h(m')되는 서명문 쌍(M, M') (M M')을 찾는 것이 계산상 불가능해야 한 다. 여기서 첫 번째 특성은 해쉬함수의 성능조건이고 두 번째, 세 번째, 네 번째 특성 은 해쉬 함수의 안전성에 관한 제약이다. 두 번째, 세 번째 특성은 해쉬 함수의 역 함수를 계산하는 것을 방지하는 기능을 말하며 네 번째 특성은 서명자가 서명문 M 을 서명하여 전송하고 나중에 M'를 서명하여 전송하였다고 주장하는 이른바 내부 부정을 방지하기 위한 기능이다. (3) 생일역설과 해쉬함수의 안전성 개념 해쉬 함수의 특성 중 충돌 회피성은 서로 다른 서명문 M, M'의 해쉬값 H가 동 일한 값을 갖지 않는다는 조건이나 실제의 경우 서명문 M의 길이가 해쉬값 H보다 훨씬 길기 때문에 충돌은 반드시 발생하기 마련이다. 이러한 충돌 회피성조건을 만 족하기 위해서는 동일한 해쉬값 H를 갖는 서로 다른 서명문 M과 M'를 찾는 것이 어려워야 된다. 동일한 해쉬값 H를 갖는 서명문 M과 M'를 구하는 문제는 흔히 생일 공격으로 설명된다. 생일이 같은 날일 확률이 1 2 과는 23명이다. 이려면 몇 명의 사람이 있어야 하나 그 결 일반적으로 해쉬값 H가 같아질 확률이 1/2이 되려면 서명문 M의 수가 몇 개나 있어야 하는 문제는 K = 1.17 M이다. 따라서 생일 공격을 차단하기 위해서는 적 어도 128비트, 즉 2 64 비트 서명문을 비교해야 하는 경우 이상이어야 한다. 예로 DSS 에서는 160비트로 제한하고 있다. 1.2.2 블록암호 이용 방식 - 각종 해쉬함수 종류 n비트의 블록 암호를 이용하여 만들어진 해쉬함수들은 (n비트)단일 길이의 해쉬 - 349 -

값을 생성하는 것과 (2n비트) 이중 길이의 해쉬값을 생성하는 해쉬함수로 나누어 진다. [표 4-7] n비트 블록 암호에 기초한 해쉬함수의 요약 해쉬함수 (n, k, m) 해쉬 비율 Matyas-Meyer-Oseas (n, k, m) 1 Davies-Meyer (n, k, m) k/n MDC-2(DES) (64, 56, 128) 1/2 MDC-4(DES) (64, 56, 128) 1/4 1.2.3 전용 해쉬 함수 - 전용 해쉬함수들의 핵심 내용과 비교 - 해쉬함수 공격의 이해 전용 해쉬함수란 블록 암호 혹은 모듈 연산과 같은 기존의 시스템 성분들을 다시 이용하지 않고 해쉬만을 목적으로 최적화된 수행을 하도록 디자인된 해쉬함수이다. (1) MD4 MD5의 초기 버전으로서, 입력 데이터(길이에 상관없는 하나의 메시지)로부터 128 비트 메시지 축약을 만듦으로써 데이터 무결성을 검증하는데 사용되는 알고리즘이 다. (가) MD4의 설계 원칙 1) 수학적인 가정 없이 안전한 해쉬함수를 설계한다. 2) 해쉬함수의 수행속도는 가능한 빨라야 한다. 특히, 소프트웨어로 구현 했을 때의 속도를 고려한다. 3) 알고리즘은 단순하며 구현이 용이해야한다. 4) little-endian 구조(word의 최하위 바이트가 low-address 바이트 위치에 있는 구조)를 고려한 알고리즘을 설계한다. (2) MD5-350 -

o 128비트 출력 o 512비트 블록단위로 처리 o 4라운드 64단계로 구성 (가) MD4와 MD5의 차이 1) MD4는 16단계의 3라운드를 사용하나 MD5는 16단계의 4라운드를 사용한다. 2) MD4는 각 라운드에서 한번씩 3개의 기약함수를 사용한다. 그러나 MD5는 각 라운드에서 한번씩 4개의 기약 논리 함수를 사용한다. 3) MD4는 마지막 단계의 부가를 포함하지 않지만, MD5의 각 단계는 이전 단 계의 결과에 부가된다. (3) SHA-1 o 160비트 출력 o 512비트 블록단위로 처리 o 4라운드 80단계로 구성 (4) RIPEMD-160 o 21워드 입력값을 5개의 워드 출력값으로 변환시킨다. 각 입력블록은 동시에 각기 다른 압축 함수에 의해 실행된다. o 임의의 길이의 메시지를 512비트-블록단위 처리 o 160비트 출력 [표 4-8] MD5, SHA-1, RIPEMD-160 비교 (5) 해쉬함수 공격의 종류 및 그 특성 [1급] - 351 -

(가) 일치블록 연쇄공격 새로운 메시지 M'를 사전에 다양하게 만들어 놓았다가 공격하고자 하는 메시 지 M의 해쉬함수값 h(m)과 같은 해쉬함수 값을 갖는 것을 골라 사용하는 공격 (나) 중간자 연쇄공격 전체 해쉬값이 아니라 해쉬 중간의 결과에 대한 충돌쌍을 찾는다. 특정 포인트 를 공격대상으로 한다. (다) 고정점 연쇄공격 압축함수에서 고정점이란 f(h i -1, x i )=H i -1 을 만족하는 쌍 ( H i -1, x i )를 말 한다. 그러한 메시지 블록과 연쇄변수 쌍을 얻게 되면 연쇄변수가 발생하는 특정 한 점에서 임의의 수의 동등한 블록들 x i 를 메시지의 중간에 삽입해도 전체 해 쉬값이 변하지 않는다. (라) 차분 연쇄공격 1) 다중 라운드 블록암호의 공격 다중 라운드 블록암호를 사용하는 해쉬 함수에서, 입력값과 그에 대응하는 출력값의 차이의 통계적 특성을 조사하는 기법을 사용 2) 해쉬함수의 공격 압축함수의 입출력 차이를 조사하여, 0의 충돌쌍을 주로 찾아내는 방법을 사 용. (마) 최근 동향 최근 Wang의 공격으로 표준 해쉬함수 SHA의 안전성에 문제가 발견되어 미국 NIST는 2005년 10월 해쉬함수 워크샵을 개최하여 해쉬함수의 안전성을 강화하는 방안을 논의하는 자리를 마련하였다. 이 워크샵에서 해쉬함수의 정의, 설계 요구 조건, 압축함수의 설계기법 등에 대하여 심도있는 재검토가 필요하다는 공감대가 형성되었으며 장기적으로 용도에 따라 다양한 해쉬함수를 개발해야 한다는 쪽으 로 논의가 진행되었다. 1.2.4 해쉬 함수 설계 원리 [1급] - 압축함수의 정의 - 패딩기법 - MDC 해쉬함수의 안전성 - 일방향 함수의 정의 - MAC 설계방법 - 352 -

(1) 압축함수와 패딩기법 (가) 압축함수란 크기가 고정된 해쉬함수로 압축성, 계산의 용이성에 일방향 성질을 추가시킨 함수이다. 하지만 정의역이 제한되어 있어 고정된 크기의 입력값을 갖는다. 즉, m 비트 크기의 입력을 n비트 크기의 출력값으로 압축시킨다. ( m > n ) (나) 패딩기법 블록 단위로 해쉬하는 방법에서 일반적으로 블록 길이를 맞추기 위해 해쉬하기 전에 메시지에 대한 비트열이 패딩된다. 패딩된 비트는 보내는 사람과 받는 사람 이 동의한다면 전송 또는 저장될 필요가 없다. 1) 패딩방법 1 o 입력 : 비트길이가 n인 데이터 x. o 출력 : 비트 길이가 n의 배수인 패딩된 데이터 x'. o 패딩 : 비트 길이가 n의 배수가 되도록 필요한 만큼 x에 '0'비트들을 패딩 한다. 2) 패딩방법 2 o 입력 : 비트 길이가 n인 데이터 x. o 출력 : 비트 길이가 n의 배수인 패딩된 데이터 x'. o 패딩 : x에 1 비트를 패딩한다. 비트 길이가 n의 배수가 되도록 필요한 만 큼 데이터 x에 0 비트들을 패딩한다. 위의 패딩방법 1은 데이터의 뒤에 붙은 0 비트가 패딩 0 비트와 구별되지 않으 므로 모호하다. 이런 방법은 다른 수단에 의해 수신자에게 데이터의 길이를 알려 줄 수 있다면 좋은 방법이 될 수 있다. 패딩방법2는 패딩되지 않은 데이터 x와 패딩된 데이터 x'사이에 일대일 관계가 있으므로 모호하지 않다. (2) MD-method (가) MDC 해쉬 함수의 안전성 안전하고 효율적인 MDC 해쉬함수 h( )는 다음 조건을 만족하는 함수이다. 1) 함수 h( )는 공개된 함수이고 어떠한 비밀키도 함수계산에 사용되지 않는다. 2) 변수 m의 길이에는 제한이 없고 h(m)의 길이는 l비트로 고정된다. ( l > 64 ) 3) h( )와 m이 주어졌을 때 h(m)의 계산은 용이하여야 한다. 4) m가 h(m)이 주어졌을 때 h(m')=h(m)을 만족하는 m'( m)을 찾는 것은 계 - 353 -

산적으로 불가능해야 한다. [표 4-9] MDC 구분 입력 출력 해쉬율 MDC-2 n 2n 1/2 MDC-4 n 2n 1/4 (3) Universal One-Way Hash Function (가) 일방향성 임의의 해쉬값 h(m)이 주어졌을 때 그것에 대해서 입력 메시지 M를 도출해 내 는 것이 불가능한 조건 (4) 해쉬 함수를 이용하여 MAC을 설계하는 방법 (가) MAC의 안전성 안전하고 효율적인 MAC 해쉬함수 h( )는 다음 조건을 만족하는 함수이다. 1) 함수 h( )는 공개된 함수이고 비밀키 k가 함수 계산에 사용된다. 2) 변수 m의 길이에는 제한이 없고 h(k, m)의 길이는 l비트로 고정된다. (l 64) 3) h( ), m 그리고 k가 주어졌을 때 h(k, m)의 계산은 용이하여야 한다. 4) 여러 쌍의 {mi, h(k, m i )}가 관측되었다고 할지라도 이를 이용하여 비밀키 k 를 도출한다거나 또는 임의의 m'( m i )에 대해서 h(k, m')을 계산해 내는 것 역시 계산적으로 불가능해야 한다. [표 4-10] 해쉬유형 표 해쉬 유형 설계 목적 이상적인 길이 공격자의 목적 OWHF 역상 저항; 두 번째 역상 저항 2n 2n 역상 생성; 같은 상을 갖는 다른 역상 생성 CRHF 충돌 저항 2 n/2 충돌 생성 MAC 키 회복불능; 계산 저항 2t P f =max(2 -t, 2 -n ) MAC키 찾기; 새로운(메시지, MAC) 생성 1.2.5 전자서명 일반 - 354 -

- 전자서명의 조건들 - 수기 서명과 전자서명의 차이점 분석 - 공개키 기반 구조(PKI)의 개념 및 구성객체 종류 - PKI 인증서 관리구조 - 서명위조와 안전성에 대한 개념 - 메시지 복원형과 메시지 부가형의 차이 (1) 전자서명의 조건 (가) 위조 불가 조건 합법적인 서명자만이 전자 문서에 대한 전자 서명을 생성할 수 있어야 한다. (나) 서명자 인증 조건 전자 서명의 서명자를 누구든지 검증할 수 있어야 한다. (다) 부인 불가 조건 서명자는 서명 후에 자신의 서명 사실을 부인할 수 없어야 한다. (라) 변경 불가 조건 서명한 문서의 내용은 변경될 수 없어야 한다. (마) 재사용 불가 조건 전자 문서의 서명은 다른 전자 문서의 서명으로 사용될 수 없어야 한다. (2) 수기 서명과 전자서명의 차이점 (가) 서류에 서명하는 문제 수기서명에서는 서명이 서류의 일부분인 반면에 전자서명은 서명되는 서류의 일부분이 아니며 서류의 전체이다. (나) 서명을 확인하는 인증문제 수기 서명에서는 실제의 서명과 비교함으로써 증명되는 반면, 전자서명은 공개 된 알려진 인증 알고리즘에 의하여 증명될 수 있다. 즉, 수기 서명은 보는 사람에 따라 주관적이므로 위조여부의 식별에 차이가 있지만 전자서명은 모든 사람에게 객관적이므로 위조여부의 식별에 차이가 없다. (다) 복사의 문제 수기 서명에서는 실제의 서명을 복사하기 힘들지만 전자서명에서는 똑같이 복 사될 수 있다. (3) X.509 인증서 - 355 -

(가) X.509인증서의 역사 전자서명을 위한 인증서는 디지털 형태로 표준화가 필요하다. 인증서는 온라인 상에서 배포되고 검증할 수 있어야 하기 때문에 현재 가장 널리 쓰이는 디지털 인증서 형태는 X.509인증서이다. 1988년 ITU(International Telecommunications Union)에 의해 표준으로 개발된 X.509인증서는 1993년 두 번째 버전이 출시되면 서 2개의 인식자가 첨가되었고, 1997년 세 번째 버전에 다시 확장영역이 추가되 면서 표준으로 자리 잡게 되었다. 1988년 처음 등장한 X.509인증서는 강력하고 유 연한 메커니즘으로 다양한 정보를 포함할 수 있으며, ASN.1구조를 채택하여 꾸준 히 발전하고 있다. 특히 IETF(Internet Engineering Task Force)가 인터넷상에서 X.509인증서 사용을 결정함에 따라 X.509인증서의 확장영역에 인터넷 사용에 필 요한 요건을 정하게 되면서 획기적인 발전을 이루었다. (나) X.509 인증서의 ASN.1 구조 X.509 인증서의 ASN.1 구조는 크게 OID(Object Identifiers), AI(Algorithm Identifiers), DS(Directory String), DN(Distinguished Names), GN(General Names)의 5부분으로 나누어진다. 1) OID(Object Identifiers) OID X.509인증서에서 OID(Object Identifiers)는 다양한 정보를 나타내기 위 해 사용된다. 예를 들면 CA가 사용하는 RSA 또는 DSA와 같은 암호 알고리즘, 인증정책 등을 X.509인증서에 기록하기 위해 사용되는 것이다. 2) AI(Algorithm Identifiers) AI(Algorithm Identifiers)는 X.509인증서에서 암호 알고리즘과 키에 대한 정 보를 나타낸다. 예를 들면 X.509인증서가 사용하는 전자서명 알고리즘을 알 수 있고, 공개키와 관련된 알고리즘을 알 수 있는 것이다. 3) DS(Directory String) DS(Directory String)는 X.509인증서에 텍스트(text) 정보를 나타내기 위한 것 이다. DS는 다양한 언어와 문자를 사용할 수 있도록 PrintableString, TeletexString, BMPString, UTF8String, UniversalString 등 여러 형태로 정의된 다. PrintableString은 ASCⅡ를 지원하고, TeletexString은 북유럽 언어를 지원하 며, BMPString은 16비트로 암호화된 다양한 언어를 지원하고, UTF8String과 UniversalString은 디지털로 암호화된 다양한 언어를 지원한다. 4) DN(Distinguished Names) DN(Distinguished Names)은 X.509인증서에 계층적으로 이름을 부여하기 위 한 것이다. 이는 국제적 디렉토리(directory)에서 X.509인증서를 식별해야 하기 - 356 -

때문이다. 5) GN(General Names) GN(General Names)은 X.509인증서의 이름을 암호화하기 위한 것이다. 이를 위해 GN은 7개의 표준이름 형태를 사용한다. (다) X.509인증서의 내용 X.509인증서의 내용은 크게 개인정보와 공개키로 구성된다. 이름과 소속 그리고 연락처(주로 전자우편 주소) 등의 개인정보가 기록되어 있고, 인증서의 발급일과 만료일 그리고 인증서의 고유성을 확보하기 위한 일련번호와 인증서를 발급한 인 증기관의 명칭이 나타나 있다. 또한 인증서에는 인증기관의 전자서명이 첨부되어 있다. 인증기관의 전자서명은 인증서가 진본임을 증명해 준다. (라) X.509인증서 3부분 X.509인증서의 내용 X.509인증서는 크게 3부분으로 나누어진다. 개봉봉투 (Tamper-Evident Envelope)는 인증서의 모든 내용을 담고 있고, 인증서 내용 (Basic Certificate Content)은 모든 인증서가 기본적으로 갖추어야 하는 정보를 담 고 있으며, 확장영역(Certificate Extension)은 인증서에 따라 다양한 선택적 정보 를 담고 있다. 따라서 인증서 내용은 확장영역을 포함하며 개봉봉투는 인증서 내 용을 포함한다. (4) 공개키 기반 구조(PKI)의 개념 (가) 정의 공개키 알고리즘을 통한 암호화 및 전자서명을 제공하는 복합적인 보안시스템 환경이다. 즉, 암호화와 복호화키로 구성된 공개키를 이용하여 송수신 데이터를 암호화하고 디지털 인증서를 통해 사용자를 인증하는 시스템이다. (나) 공개키 기반구조(PKI)의 객체 구성 1) 공개키 인증서를 발급, 폐지하는 인증기관(CA) 2) 공개키와 인증서 소유자 사이의 관계를 확인하는 등록기관(RA) 3) 인증서를 발급받고, 전자문서에 서명하고 암호화를 할 수 있는 공개키 인증 서의 소유자 4) 인증기관의 공개키를 사용하여 인증경로 및 전자서명을 검증하는 사용자 5) 공개키 인증서와 CRL을 저장하는 저장소 (다) 공개키 기반구조(PKI)의 요구사항 1) 비용 및 성능을 고려한 사용자의 편의성 제공 2) 전자상거래에 대한 법적 효력유지 - 357 -

3) 사용자의 보안 정책 및 관리 체계 반영 5) 인증서의 생성, 획득, 취소 및 검증가능 6) PKI 기반의 전자상거래 실체 인증 7) 메시지의 무결성 보장 및 변조 검출 8) 메시지 및 전자상거래 관련자의 기밀성 보장 9) 기타의 정보보호 서비스 제공 (라) PKI 인증서 관리구조 [표 4-11] 인증서 관리구조 1) COI구조 o 자주 거래하는 관심 주제에 따라 그룹을 형성한 인증기관구조 o 인증경로가 거래 사용자간에 특별히 설정되어 저장할 인증서의 수효감소 2) 조직에 따른 구조 o 어떤 기관의 현재 계층적, 또는 부서별 조직 관계를 반영한 구조 o 조직의 계층적 상하 관계가 분명한 기관에서 유리하며 구현용이 3) 보증 단계 따른 구조 o 어떤 등급의 보증 수준을 나타내는 대상자별로 그룹을 형성한 구조 o 신뢰성 보증수준에 따른 효과적 보안정책수립 4) 복합형 인증서 관리 구조 o COI구조, 조직에 따른 구조, 그리고 보증 단계에 따른 구조 3가지의 형태를 각각 하나의 세그먼트로써 허용하는 복합적인 구조 - 358 -

o 한 국가의 종합적인 환경은 정부기관, 일반 상거래 관계의 기업, 또는 특수 한 분야의 서비스 조직 등 다양한 형태별 구성가능 (마) PKI 응용모델 1) SDSI(Simple Distributed Security Infrastructure) o 1996년 X.509의 복잡성에 대응하여 보다 단순화된 방식 제안 o X.509의 기능들 중에서 인증서 정책, 제약조건, 키 생명주기 관리 등의 기능 생략 o 단순한 응용환경에서 운용할 수 있는 X.509 기능의 일부를 정의 o X.509에서 사용된 ASN.1보다 단순한 방식의 구문표현기법 사용 o 특별한 자료구조를 사용하여 단순하게 기능을 제공하는 것이 장점 o 공식적인 정책들이 요구되는 대형 조직에서는 구현하기 어려움 2) SPKI(Simple Public-Key Infrastructure) o X.509 PKI 신뢰모델의 인증서와는 다르게 실체-기반 인증서가 아니라 신용- 기반 인증서를 정의 o 대응되는 개인키의 소유자에게 필요한 실체명을 요구하지 않고 SPKI인증서 가 공개키에 명시된 인가 또는 특권을 인정하는 새로운 기법 o SPLI 인증서의 주요목적이 어떤 동작의 인가를 부여하고 자격을 인정 o 폐쇄된 환경에서 자원들의 접근을 보호하기 위하여 특별히 사용할 수 있는 새로운 가능성 제시 (바) SET(Secure Electronic Transaction) 1) 인터넷 기반 전자쇼핑 또는 서비스 규정의 일부로써 은행카드 지불을 지원 하기 위하여 비자와 마스터 카드사가 개발한 프로토콜 하부구조 2) 공개키 기반구조는 하향식 계층구조 사용 (사) PGP(Preety Good Privacy) 1) 신뢰성의 확인은 각 사람 자신들의 믿음을 통하여 전달 2) PGP의 공개키 링의 각 키 인증서는 믿음의 유효성과 신뢰성 등급표현 3) PGP의 인증체계 기반기술은 PKI표준과 일치하지 않으며, 개별적인 획득 사 용이 쉽지만 대규모의 전자상거래를 지원하기에는 부적합 (아) S/MIME(Secure/Multipurpose Internet Mail Extension) 1) RSA데이터 보안기술 기반하여 MIME 인터넷 전자우편 형식의 표준을 확장 구현 2) PGP가 많은 사용자들에 대하여 개인적 전자우편 보안을 다룬다면, S/MIME 은 상업적인 조직의 산업적 표준을 수행 - 359 -

3) X.509의 버전 3에 일치하는 공개키 인증서를 사용 4) 사용된 키 관리구조는 엄격한 X.509 인증서 계층과 PGP의 신뢰모델에 대한 복합적인 방식을 채택 5) S/MIME 관리자 및 사용자들은 PGP처럼 신뢰하는 키의 목록과 CRL을 갖 고 각 클라이언트를 구성 (5) 서명 위조와 안전성 개념 (가) 위조에 대한 관점 1) 일반적 위조 불가 o 서명의 위조가 불가능한 문서가 존재 2) 선택적 위조 불가 o 어떤 정해진 문서이외에 대해서는 서명의 위조가 불가능 3) 존재적 위조불가 o 어떠한 문서에 대해서도 서명의 위조가 불가능 (나) 공격에 대한 관점 1) 수동공격 o 공개키만을 사용하여 위조 2) 일반 선택문서 공격 o 선택한 문서에 대한 서명문을 얻은 후 그 정보를 통하여 제 3의 문서의 서 명을 위조하는 공격 3) 적응적 선택문서 공격 o 매회 적응적으로 임의로 선택한 문서의 서명문을 얻은 후 그 정보를 통하여 제 3의 문서의 서명을 위조하는 공격 (6) 메시지 복원형과 메시지 부가형 (가) 메시지 복원형 전자서명(Digital Signature Scheme Giving Message Recovery) 이 방식은 RSA와 같이 공개키로 암호화하고 비밀키로 복호화할 때 본래의 메 시지가 환원되고, 비밀키로 암호화하고 공개키로 복호화 하여도 본래의 메시지가 환원되는 방식이다. 즉, 서명자가 자신의 비밀키를 이용하여 메시지를 암호화하여 전송하면 검증자가 서명자의 공개키를 이용하여 서명된 암호문을 복호화하여 그 결과가 일정한 규칙을 만족하는 메시지가 되는지를 확인함으로써 서명을 검증하 는 방식이다. 이처럼 서명 검증 과정에서 원래의 메시지가 복원되는 방식을 메시 - 360 -

지 복원형 전자서명이라고 한다. 메시지 복원형 전자서명은 기존의 암호 시스템 을 이용하기 때문에 별도의 전자서명 프로토콜이 필요하지 않은 장점이 있지만, 메시지를 일정한 크기의 블록으로 나누어 각각의 블록에 대하여 서명을 하여야 하기 때문에 서명의 생성이나 검증과정에서 많은 시간이 소요되는 단점이 있다. (나) 부가형 전자서명(Digital Signature With Appendix) 이 방식은 임의의 길이로 주어진 메시지를 해쉬 알고리즘을 이용하여 일정한 크기로 압축하고, 그 해쉬 알고리즘의 결과와 서명자의 비밀키를 이용하여 전자 서명을 생성해서 메시지를 덧붙여 보낸다. 이렇게 생성된 서명의 검증은 수신된 메시지를 해쉬한 결과와 전자서명 및 공개키를 이용하여 계산된 값을 비교함으로 써 이루어진다. 부가형 전자서명은 메시지 이외에 서명을 별도로 전송해야 하기 때문에 전송량이 조금 늘어나는 반면에 메시지가 아무리 길더라도 단 한 번의 서 명 생성만을 필요로 하기 때문에 효율적이라 할 수 있다. 임의의 길이의 메시지 를 일정한 길이로 압축해 주는 해쉬 알고리즘은 입력메시지가 조금만 변하더라도 그 해쉬 결과가 전혀 다른 값으로 변하기 때문에 서명의 위조나 메시지의 변조를 막을 수 있다. 따라서 안전한 해쉬 알고리즘을 개발하는 것이 필수적이다. 상기의 두 가지 전자서명 방식 중에서 부가형 전자서명의 장점이 비교적 크기 때문에 현 재 세계적인 추세도 부가형 전자서명을 선호하고 있다. 1.2.6 전자서명 예 - RSA 및 ElGamal, Schnorr 전자서명의 이해 - 전자서명 표준(DSS), 국내 표준 전자서명(KCDSA)의 이해 - 타원곡선 전자서명 표준(ECDSA)의 이해 [1급] (1) RSA 전자 서명 - 361 -

(그림 4-3) RSA 암호 방식을 이용한 전자 서명 (2) ElGamal 전자 서명 ElGamal 전자 서명은 이산대수 문제를 기반으로 정보보호 기능 없이 서명만을 위하여 고안된 방식이다. 서명자는 큰 소수 p를 선택하고 Z p 상에서 원시원소 g를 선정한다. 서명자는 비밀 서명키로 X를 선택하고 이산대수 문제 y g X mod p를 계 산하여 p, q, y를 공개 목록에 공개한다. 이 때 X가 비밀 서명키가 되고 y가 공개 검증키가 된다. (3) Schnorr 전자 서명 Schnorr의 이산대수를 이용하는 전자서명의 효율성을 높이기 위하여 인 소수의 p, q의 사용을 처음 제안하였다. ElGamal서명의 길이는 RSA서명 길이의 2 배이며 지수승의 계산량은 거의 4배에 이른다. 이러한 문제를 해결하기 위하여 Schnorr는 위수 p-1을 갖는 원시 원소를 사용하는 대신, p-1의 소인수 q를 위수로 갖는 생성원을 사용하였다. Schnorr서명을 위한 시스템 변수들은 다음과 같다. (가) Schnorr서명을 위한 시스템 변수 1) q는 140비트 (또는 160비트) 소수이고 p는 p q - 1 인 소수이다. 2) g는 위수 q를 갖는 의 원소이다( ). 3) 각 사용자는 비밀키 0 < x < q 와 공개키 를 생성한다. (나) 서명생성과정 1) 난수 0 < x < q을 생성하여 를 계산한다. 2) 서명자는 메시지 M, r의 해쉬값 e=h(m, r)을 계산한다. 3) 을 계산한다. 4) (s, e)을 메시지 M의 서명으로 수신자에게 보낸다. - 362 -

(다) 서명검증과정 1) 를 계산한다. 2) 를 확인하여 만족하면 서명으로 받아들인다. Schnorr 서명에서는 서명 s, e의 사이즈가 소수 q의 비트 사이즈와 같거나 작으며 지수 k의 크기도 q의 크기와 같기 때문에 서명 계산량이 적으므로 ElGamal방식에 비하여 효율적이다. Schnorr 서명이 제안된 이후의 ElGamal형태의 서명 방식들은 p - 1의 소인수 q를 위수로 갖는 생성원을 사용한다. (4) 전자 서명 표준(DSS = DSA) 전자 서명 표준은 미국의 전자 서명 표준으로 ElGamal 전자 서명을 개량한 방식 이다. 전자 서명 표준은 ElGamal 전자 서명 방식과 유사하지만 서명과 검증에 소요 되는 계산량을 획기적으로 줄인 방식이다. (그림 4-4) 전자 서명 표준(DSS = DSA) (가) KCDSA 전자 서명 국내 표준 전자 서명 방식 - 363 -

(그림 4-5) KCDSA 전자 서명 (나) 타원곡선 전자서명 표준(ECDSA) [1급] ECDSA(Elliptic Curve DSA)는 타원곡선(elliptic curve)상에서 군을 정의하고 이 에 대한 이산대수 계산의 어려움에 근거를 두고 있다. 타원 곡선 상에서의 이산 대수문제는 일반적인 군에서 정의되는 이산대수 문제보다 훨씬 어려우며, 이에 따라, 작은 키로도 RSA보다 높은 비도를 유지할 수 있다. ECDSA는 2000년 2월 8일에 발표된 FIPS 186-2 DSS에 새롭게 포함된 내용으로 타원곡선 전자서명 알고 리즘이다. ECDSA(Elliptic Curve DSA)는 DSA를 타원곡선 알고리즘으로 옮긴 것 으로 X9.62로 표준화되었다. 따라서 본질적인 알고리즘은 유한체 위에서의 DSA 와 동일하다. ECDSA는 DSA 전자서명을 타원곡선을 이용한 전자서명 알고리즘 으로 변형한 것으로, 다른 공개키 시스템의 키 길이에 비해서 훨씬 짧은 키를 사 용하여도 동일한 안전도를 제공하므로 스마트카드, 무선 통신 등과 같이 메모리 와 처리능력이 제한된 분야에서 매우 효과적일 수 있다. ECDSA을 구현하기 위해서는 타원곡선과 모듈러 연산이 필요하며 키와 서명생 성 시 난수 알고리즘이 필요하다. 또한 서명생성 및 검증과정에서는 타원곡선의 상수곱 연산이 필요하다. 1) ECDSA 키 생성 o 간단하게 하기 위하여, 소수체 F p 상에서 정의된 타원곡선 E를 사용한다. P 를 E(F p )에 있는 소수위수 q를 갖는 점이라 하자. q가 p보다 훨씬 작아야 하는 DSA에서와는 달리 ECDSA에서는 q는 p와 거의 같은 크기이다. 각 사용자 A 는 1 < x < q-1인 무작위 정수 x를 선택하여 xp = Q를 계산한다. - 364 -

2) ECDSA 서명 생성 메시지 M을 서명하기 위해 A는 다음을 한다. o (1단계) 1 < k < q-1인 무작위 정수 K를 선택한다. o kp=(x 1, y 1 )를 계산하고 r= x 1 mod q를 놓는다. (즉, x 1 {0, 1,, p-1}, r 는 q를 법으로 하는 최소 음이 아닌 잉여류로 택한다.) 만약 r=0 이면 A는 1)단계로 되돌아간다. o A는 k -1 mod q 를 계산한다. o H(M)이 메시지의 해쉬값일 때 A는 s = k -1 (H(M)+x r)를 계산한다. 만약 s=0이면 (1)단계로 되돌아간다. (k를 무작위로 선택할 경우 r=0 또는 s=0일 확률은 지극히 작다) o M에 대한 서명은 (r, s)이다. 3) ECDSA 서명 인증 메시지 M에 대한 A의 서명 (r, s)를 인증하기 위해 다음을 해야만 한다. o A의 공개키 Q의 확실한 복사본을 얻는다. o r과 s가 [1, q-1]에 있는지 조사한다. o w=s -1 mod q와 H(M)을 계산한다. o u 1 = H(M)w mod q와 u 2 = rw mod q를 계산한다. o u 1 P + u 1 Q= (x 0, y 0 )=(u 1 +u 2 )P = s -1 (H(M)+xr)P = kp = (x 0, y 0 )와 u=x 0 mod q를 계산한다. o 서명을 접수한다. r = v. 1.2.7 특수서명 [1급] - 부인방지 전자서명의 이해 - 은닉서명의 이해 - 위임서명의 이해 (1) 부인 방지 전자 서명 부인 방지 서명은 자체 인증 방식을 배제시켜 서명을 검증할 때 반드시 서명자의 도움이 있어야 검증이 가능한 전자 서명 방식이다. 부인 방지 서명 방식은 서명자 가 자신의 서명문을 검증자에게 확인시켜 주는 확인 과정과 추후에 서명자가 자신 의 서명임을 부인하지 못하게 하는 부인과정으로 구성되어 있다. 부인방지 서명은 이산 대수 문제를 기반으로 구성된다. - 365 -

(2) 은닉 서명 은닉 서명 방식은 D.Chaum에 의해서 제안된 서명 방식이다. 서명 용지 위에 묵 지를 놓아 봉투에 넣어 서명자가 서명문 내용을 알지 못하는 상태에서 서명토록 한 방식을 수식으로 표현한 것이 은닉 서명이다. 즉, 서명문의 내용을 숨기는 서명 방 식으로 제공자(provider: 서명을 받는 사람)의 신원과 서명문을 연결시킬 수 없는 익명성을 유지할 수 있다. (3) 위임 서명 위임 서명 방식은 위임 서명자로 하여금 서명자를 대신해서 대리로 서명할 수 있 도록 구성한 서명 방식을 말한다. 따라서 위임 서명 방식은 다음 두 가지 조건을 만족해야 한다. (가) 위임 서명을 생성할 수 있는 사람은 서명자로부터 위임 서명자로 지정된 사 람만 가능해야 하며, 제3자는 위임 서명을 생성할 수 없어야 한다. (나) 위임 서명을 확인하는 검증자는 위임 서명을 위임한 서명자의 동의가 있었 음을 확인할 수 있어야 한다. 위임 서명은 위임 방법에 따라 다음과 같이 세 가지로 나눌 수 있다. 자신의 비밀 서명 정보를 직접 위임 서명자에게 알려주는 완전위임 방식, 위임 서명자의 비밀 서명 정보를 서명자가 자신의 비밀 서명 정보로부터 별도로 만들어 주는 부분 위임방식, 그리고 서명자가 위임 서명자로 지정한 사실 증명을 만들어 위임 서명자에게 제공하는 보증 위임방식이 있다. 세 가지 위임 서명 중 실용성과 응용성이 뛰어난 방식이 두 번째 방식인 부분 위임 방식이다. 이 방식은 서명자가 위임 서명자를 통제할 수 있을 뿐 아니라 안전성이 우수하다. 1.3 인증 및 키분배 1.3.1 사용자 인증 - 패스워드를 이용한 개인식별의 문제점과 관리방법 - 시도-응답 개인 식별 프로토콜의 이해 (영지식 프로토콜의 Fiar-shamir와 Schnorr 에 대한 이해) [1급] 중요한 정보나 자원을 보호하기 위해서 컴퓨터 통신망에 불법 접속을 시도하는 것을 차단하는 방법이 필요, 이러한 정당한 사용자를 확인하는 과정을 사용자 인증 - 366 -

이라고 한다. (1) 패스워드를 이용한 개인 식별 특정 사용자가 자신만이 알고 있는 비밀 정보인 패스워드를 사용자 이름과 함께 서버에 제공함으로써 서버의 서비스를 제공받을 수 있는 가장 전통적인 개인 식별 방법이다. (가) 문제점 o 통신망을 통하여 원격 접속을 시도할 때 주로 공격자에게 노출되는 패스워 드에 대한 불법적인 도청이다. o 일반적으로 패스워드는 사용자가 암기하기 쉬운 문자의 열로 이루어지기 때 문에 공격자가 추측하기 쉽다. o 모든 사용자의 패스워드를 보관하는 시스템 서버의 효율적인 파일 관리의 어려움이다. 1) 패스워드의 추측 패스워드의 추측을 어렵게 만들기 위하여 사용자 자신이 예측하기 어려운 문 자열을 사용하는 경우에도 사용자 자신의 편의성을 고려하면 문자열의 길이에 한계가 있다. 이와 같은 상태에서 만들어진 패스워드는 생일 공격 등에 의하여 어렵지 않게 공격된다. 이와 같은 공격으로부터 안전하게 하려면, 현재까지 패 스워드에서 대부분 숫자만을 사용하고 있는 것을 영문자 또는 한글이 사용되도 록 함으로써 생일 공격에 대응하도록 하는 방법이다. 2) 패스워드 파일 모든 사용자의 패스워드를 보관하고 있는 시스템 파일을 효과적으로 관리하 여야 한다. 이를 위하여 패스워드 자체를 그대로 보관하지 않고 해쉬함수를 이 용하여 암호화한 값을 보관하고 다음과 같은 시스템을 통하여 접근하도록 한 다. 3) 패스워드 관리 방법 사용자 개인이 패스워드를 선택할 때, 시스템 관리자가 일반 사용자에게 패 스워드의 중요성과 패스워드를 선택하는 기준을 교육시키므로 일반 사용자가 추측하기 어려운 패스워드를 선정할 수 있도록 도와주는 방법과 안전한 패스워 드를 선택하도록 유도하는 방법이 있다. 또한 이들과 병행하여 패스워드의 유 효기간을 설정하므로 패스워드를 관리할 수 있다. 4) 일회용 패스워드 유효 기간이 없이 매 세션마다 서로 상이한 패스워드를 사용하면 특별 세션 의 개인 식별 과정에서 해당 패스워드가 노출되어도 다음 세션에 사용될 패스 - 367 -

워드를 예측할 수 없는 장점이 있다. (그림 4-6) Lamport 개인 식별 과정 (2) 시도-응답 개인 식별 프로토콜 대칭형 암호와 공개키 암호에 기반을 둔 시도-응답 프로토콜을 설명한다. 이 프로 토콜은 어떤 실체가 자신의 신분을 다른 실체에게 증명하기 위하여 자기 자신만이 소유하고 있는 어떤 비밀 정보를 자신이 알고 있다는 사실을 간접적으로 보여주는 프로토콜이다. 즉, 신분 증명을 요청하는 서버가 신분을 밝히라는 시도를 클라이언 트에게 보내면 클라이언트는 그 비밀 정보를 이용하여 적당하게 응답함으로써 서버 에게 자신을 증명하는 프로토콜이다. 시도-응답 방식의 개인 식별 프로토콜에서 사 용되는 시도는 그 값이 가변적인 난수, 순번, 시각표 등을 사용해야 한다. (가) 일방향 개인 식별 프로토콜 시스템 서버 또는 클라이언트 중에 어느 한 대상이 다른 대상을 식별하는 프로 토콜을 일방향 개인 식별 프로토콜이라 한다. (그림 4-7) 시도-응답 개인 식별 프로토콜 - 368 -

(나) 상호 개인 식별 프로토콜 일방향 개인 식별 프로토콜처럼 서버가 클라이언트의 신원을 확인할 수 있는 것과 달리 클라이언트 또한 서버를 확인하기를 원하는 경우가 자주 일어난다. 즉, 서버의 입장과 마찬가지로 클라이언트의 입장에서도 신원 확인을 원하는 상호 개 인 식별 프로토콜이 요구된다. (다) 영지식 기반 개인 식별 프로토콜 자신의 비밀 정보를 서버에게 제공하지 않고 자신의 신분을 증명하는 방식을 영지식 개인 식별 프로토콜이라 한다. 영지식 개인 식별 프로토콜에서 클라이언 트는 자신의 신분을 증명해야 하므로 증명자(prover)라 하고 서버는 클라이언트를 확인해야 하므로 검증자(verifier)라고 한다. 1) Fiat-Shamir 개인 식별 프로토콜 Fiat와 Shamir에 의하여 제시된 영지식 개인 식별 프로토콜은 매우 큰 두 소 수의 곱을 법으로 하는 어떤 수에 대한 제곱근 계산의 어려움에 기반을 두고 있다. (그림 4-8) Fiat-Shamir 개인 식별 과정 2) Schnorr 개인 식별 프로토콜 Schnorr에 의하여 제시된 영지식 개인 식별 프로토콜은 매우 큰 소수를 법으 로 하는 이산대수 문제의 어려움에 기반을 두고 있다. (3) 생체인식 <최근 동향> [1급] 생체인식이란 개인의 독특한 생체 정보를 추출하여 정보화시키는 인증방식을 말 한다. 지문, 목소리, 눈동자 등 사람마다 다른 특징을 인식시켜 비밀번호로 활용하 는 것이다. 즉, 인간의 신체적, 행동적 특징을 자동화된 장치로 측정하여 개인식별 - 369 -

의 수단으로 활용하는 모든 것을 가리킨다. 지문, 얼굴, 홍채, 정맥 등 신체 특징과 목소리, 서명 등 행동특징을 활용하는 분야로 나뉜다. 얼굴모양이나 음성 지문 홍채 등과 같은 개인특성은 열쇠나 비밀번호처럼 타인에 게 도용이나 복제될 수 없으며, 변경되거나 분실할 위험성이 없어 보안 분야에 활 용된다. 특히 이용자에 대한 사후 추적이 가능하여 관리 면에서도 안전한 시스템을 구축할 수 있다는 장점이 있다. 현재까지 개발된 생체인식 시스템은 신체 일부의 데이터를 획득하는 방법에 따라 분류된다. 현재까지 가장 많이 사용되는 방법은 신체 일부의 영상를 획득하여 특징 을 추출 비교하는 것으로 지문인식, 얼굴인식, 망막인식, 홍채인식, 정맥인식, 장문 인식 등이 이에 속하며, 음성(화자)인식은 사람의 음성을 이용하는 방법을 사용한다. 생체인식 시스템은 이미지 또는 음성을 획득하는 입력부와 입력된 데이터에서 특징 을 추출하고 이를 데이터베이스에 저장되어 있는 특징들과 비교하여 신원을 확인하 는 처리부로 구성되어 있다. 1.3.2 메시지 인증 - 관용 암호 방식을 이용한 메시지 인증의 이해 - 공개키 암호 방식을 이용한 메시지 인증의 이해 - 해쉬함수 방식의 이해 - MAC의 이해 정보보안 분야에서 중요한 문제 중에 하나인 메시지 인증은 전달되는 메시지의 이상 유무를 확인할 수 있는 기능으로 전송 중 발생할 수 있는 메시지 내용 변경, 메시지 순서 변경, 메시지 삭제 여부를 확인하는 기능이다. 메시지 인증 방식으로 메시지 암호화 방식, MAC(Message Authentication Code)방식, 해쉬함수를 이용하 는 방식 등이 있다. (1) 메시지 암호화 방식 (가) 관용 암호 방식을 이용한 메시지 인증 A가 메시지 M을 인증하여 검증자 B에게 전달하는 경우에 A, B는 관용 암호 방식을 사용하고 있으므로 사전에 동일한 키를 분배해 갖고 있어야 한다. 이 경 우 메시지 인증과 비밀성 서비스가 동시에 제공된다. 사용자 A가 메시지 M을 암호화하여 암호문 C=E k (M)을 전송하면 검증자 B만이 암호문 C에서 메시지 M을 복원할 수 있다. 이 때 복원된 메시지 M이 의미 있는 - 370 -

문장이면 전송 중 메시지 내용 변경, 메시지 순서 변경, 메시지 삭제 등의 공격이 없었음을 확인할 수 있다. (나) 공개키 암호 방식을 이용한 메시지 인증 공개 암호화키와 비밀 복호화키의 기능을 반대로 이용하면 용이하게 메시지 인 증 기능을 실현할 수 있다. 사용자 A는 자신의 비밀 복호화 키 K da 로 암호화하여 암호문 C=E KdB (M)를 검증자 B에게 전달한다. 검증자 B는 사용자 A의 공개 암호 화 키 K ea 로 인증자의 메시지 M = D kea (C)를 복호하여 인증을 확인한다. (다) 해쉬함수 방식 일방향 함수로 메시지 압축 기능을 갖고 있는 해쉬 함수 계산값 H=h(M)를 메 시지 M에 부가시켜 M H를 전송하면 이를 수신한 수신자는 메시지 M으로부터 해쉬값 H를 계산하여 수신한 해쉬값 H를 비교하여 메시지 인증을 할 수 있다. 메시지 인증 기능에 필요한 해쉬함수는 다음 성질을 갖고 있어야 한다. 1) 해쉬함수 h는 임의의 길이의 메시지 M을 입력할 수 있어야 하며 이를 일정 길이의 해쉬값 H로 출력할 수 있어야 한다. 2) 해쉬함수 h는 어떠한 메시지 입력에도 해쉬값 H의 계산이 간단해야하며 하 드웨어 혹은 소프트웨어 구성이 용이해야 한다. 3) 어떠한 해쉬값 H에 대해서도 h(m) = H가 되는 메시지 M을 찾는 것이 계 산상 불가능해야 한다. 4) 어떠한 메시지 M과 그의 해쉬값 H=h(M)이 주어졌을 때 h(m')=h이 되는 메시지 M M'를 찾는 것이 계산상 불가능해야 한다. 5) h(m) = h(m')가 되는 메시지 M M'를 찾는 것이 계산상 불가능해야 한다. 성질 1), 2)는 해쉬함수의 일반적인 성질로 간단하고 효율적인 메시지 인증 구성방법을 제공한다. 성질 3), 4), 5)는 메시지 인증 기능을 의미한다. (라) MAC 관용 암호 방식을 이용하여 메시지 M으로부터 작은 길이의 암호학적 checksum이나 MAC(Message Authentication Code)을 만들어 메시지에 부가시키 는 방법. 관용 암호 방식을 사용하기 때문에 메시지 인증을 하는 사용자와 검증 자는 사전에 관용 암호 방식용 암호키 K를 나누어 갖고 있어야 한다. 사용자 A는 인증할 메시지 M과 암호화 알고리즘에 암호키 K를 적용시켜 메시지 M의 MAC = E k (M)을 계산하여 메시지 M과 함께 검증자 B에게 전송한다. 메시 - 371 -

지 M과 MAC를 수신한 검증자 B는 메시지 M과 자신이 비밀리에 보관하고 있는 암호키 K을 이용하여 사용자 A가 계산한 방법으로 MAC을 계산하여 수신한 MAC을 비교한다. 1.3.3 키 분배 프로토콜 [1급] - 열쇠 사전 분배방법 (Diffie와 Hellman의 열쇠 사전분배 방법)의 이해 - 온라인 열쇠 분배방법 (Kerberos, Diffie-Hellman)의 이해 - 키 로밍 암호 방식에서 키 관리는 키의 생성에서부터 키 분배, 키 설치, 키 갱신, 키 취소, 키 폐기, 키 저장, 키 복구 등을 포함하는 포괄적인 개념이다. 이들 개념 중에 암호 방식을 구현하기 위하여 먼저 요구되는 것이 한 사용자 또는 기관이 비밀키를 설정 하여 다른 사용자에게 전달하는 기술이다. 이 기술을 키 분배라 한다. 한편, 둘 또 는 더 많은 사용자가 공개된 통신로를 통하여 공동으로 비밀키를 설정하는 기술을 키 공유라 한다. 열쇠분배 또는 열쇠공유 프로토콜의 목적은 관련된 사용자들이 같 은 열쇠를 소유하고 열쇠가 신뢰되는 열쇠관리기관(TA, trusted authority)을 제외하 고는 알려지지 않도록 하여 비밀정보를 보호하는 것이다. 이와 같은 프로토콜을 설 계하는 것은 쉬운 일이 아니며, 프로토콜을 설계할 때에 생각할 수 있는 방안으로 TA에 의한 열쇠 사전분배(key predistribution)와 온라인 열쇠분배(on-line key distribution)가 있다. (1) 열쇠 사전분배 열쇠 사전분배란 TA가 사전에 임의의 두 사용자(A, B)에게 비밀 경로를 통하여 임의 열쇠 K A,B =K B,A 를 선택하여 전달하는 방법이다. 이 방법은 일반적으로 TA와 네트워크상의 모든 사용자 사이에 안전한 통로가 필요하며, 소수의 사용자들에게는 무조건적으로 안전할 수 있지만 사용자가 많은 경우에 TA는 물론 사용자들도 많은 열쇠를 관리해아 하는 문제점을 가지고 있다. 즉, n명의 사용자가 있다면 각 사용자 는 n-1개의 열쇠를 관리하여야 하고 TA는 n(n-1)/2개의 열쇠를 관리하여야 하므로 매우 복잡하며 관리비용이 많이 지불되어야 한다. (가) Diffie와 Hellman의 열쇠 사전분배 방법 유한체 Z p 의 원시근 α와 p를 모든 네트워크 사용자에게 공개하고 각 사용자 A 는 자신의 비밀지수 a A 를 정하고 b A α aa mod p 를 계산하여 공개한다. Diffie-Hellman 암호 알고리즘에서와 같이 α aa 과 α ab 을 알고 α aaab 을 구하기 어려 - 372 -

운 점을 이용한 열쇠교환방법이다. [표 4-12] Diffie-Hellman 열쇠 사전분배 방법 1단계 : 소수 p와 원시근 α Z p * 를 공개한다. 2단계 : B는 A의 인증서로부터 공개된 값 b A 와 자신의 비밀열쇠 a B 를 함께 사용하여 K A, B 값을 계산한다. K A, B α aaab mod p b ab A mod p 3단계 : A는 B의 인증서로부터 공개된 값 bb와 자신의 비밀열쇠 aa를 함께 사용하여 KA, B값을 계산한다. K A, B α aaab mod p b aa B mod p (2) 온라인 열쇠분배 TA가 네트워크상의 모든 사용자와 필요할 때마다 열쇠를 공유하는 방법이다. 즉, 사용자 A와 B가 비밀통신을 원할 때 TA에게 작업시간을 포함하는 세션열쇠를 요 구하게 되고 TA는 열쇠를 생성하여 A와 B가 복호할 수 있도록 암호화된 상태로 열쇠 K를 전달하는 방법이다. (가) Kerberos 온라인 분배방법 중 비밀열쇠 암호작성법에 기초를 둔 자주 이용되는 온라인 열쇠 분배방법이 Kerberos이다. - 373 -

[표 4-13] Kerberos를 이용한 세션키의 전송 1단계 : A는 TA에게 B와 통신할 수 있는 세션키를 의뢰한다. 2단계 : TA는 세션키 K와 요청된 시간인 타임스탬프 T와 제작시간인 라이프타임 L을 임의로 선택한다. 3단계 : TA는 m 1 과 m 2 를 아래와 같이 계산하여 A에게 보낸다. m 1 =e KA (K, ID(B), T, L), m 2 =e KB (K, ID(A), T, L) 4단계 : A는 TA로부터 얻은 m 1 을 복호함수 d KA 를 이용하여 계산하여 K, T, L과 ID(B)를 얻고 m 3 =e k (ID(A), T)를 계산하여 TA로부터 얻은 m 2 와 함께 B에게 보낸다. 5단계 : B는 TA로부터 얻은 m 2 를 복호함수 d KB 을 이용하여 계산하여 K, T, L와 ID(A)를 얻고 m 3 로부터 d K 를 이용하여 계산하여 T, ID(A)를 얻어서 두 개의 T와 ID(A)값들을 비교한다. 이 때, 그 값들이 각각 모두 같다면 m 4 =e K (T+1)를 계산하여 A에게 보낸다. 6단계 : A는 d K 를 사용하여 m 4 를 복호한 후, 그 결과가 T+1인지를 확인한다. (나) Diffie-Hellman 열쇠교환 공개키 암호 부분 참조 (다) 키 로밍 키 로밍 기술은 사용자가 별도의 저장매체 없이도 인터넷이 연결되는 모든 단말 기에서 키 로밍 서버로부터 자신의 개인키를 다운받아 암호서비스를 이용할 수 있 는 기술로 저장매체의 손 망실 문제를 해결하고 사용자에게 이동성을 제공한다. 1.3.4 영지식 증명 [1급] - 영지식 증명의 개념과 과정 - 영지식 증명 프로토콜의 예 - 영지식 비대화형 증명의 이해 (1) 영지식 증명의 개념 영지식 증명체계(zero-knowledge proof system)란 한사람이 다른 사람에게 사실 의 증명에 관한 어떤 정보도 보이지 않고, 사실의 증명을 알고 있음을 확신하도록 만드는 방법 즉, 정보를 전혀 주지 않고 상대방에게 정보를 알고 있음을 증명하는 - 374 -

방법. (가) 준비과정 1) 적당한 집합이 정해진다. (나) 증명과정 1) 증명자는 정해진 집합 내에서 임의로 선정된 난수에 대한 증거를 계산하여 검증자에게 제시한다. 여기에서 증거는 정당한 증명자만이 알고 있는 비밀 정보를 알고 있다는 사실을 검증자에게 입증시키는 방법이다. 2) 검증자는 증거를 이용하여 여러 개의 질문을 증명자에게 제시한다. 3) 증명자는 검증자가 제시하는 모든 질문에 대답함으로써 정당한 클라이언트 임을 확인시킨다. 이때 대답의 내용은 증명자의 비밀 정보를 유추할 수 있는 어떤 정보도 포함되지 않아야 한다. (2) 영지식 증명 프로토콜의 예 (가) 대화형 증명 시스템 {0,1}* 상의 언어 L에 대하여, 대화형 프로토콜인 프로토콜 (P, V)가 다음의 두 조건을 만족할 때, 대화형 증명 시스템이라 한다. 1) completeness(완전성) (P, V)에 주어지는 임의의 입력 x L에 대하여 임의의 c > 0인 적어도 1- x -c 의 확률로 중지하고 수리한다. Prob((P, V) accepts x) = 1 - x -c 2) soundness(건전성) 임의의 대화형 튜링 기계인 P*, (P*, V)에 주어지는 임의의 입력 x L에 대하 여, 임의의 c>0인 기껏해야 x -c 의 확률로 중지하고 수리(accept)한다. Prob((P*, V) accepts x) = x -c 쉽게 설명하면, 완전성은 증명이 올바르다면, 검증자 V는 1 또는 1에 아주 가 까운 압도적인 확률로 수리하며, 건전성은 증명이 옳지 않으면, 증명자가 어떠한 능력을 가졌다할지라도 검증자 V는 압도적인 확률로 거부(reject)한다는 것을 의 미한다. 대화형 증명 시스템에서는 완전성면에서 반드시 1이 되는 것은 불가능하 지만, 상호 대화를 계속하여 반복하면 확률 1에 가까워지게 된다. 물론 가까워지 는 속도는 지수 함수적이며 고속으로 근접하게 된다. (나) Quadratic Residue 문제의 영지식 대화 증명 프로토콜 mod n에 대한 x의 quadratic residue 문제에 대한 영지식 증명 시스템 (P, V) 는 다음과 같이 구성한다. - 375 -

1) 증명자 P는 랜덤 수 r을 선택한 후, r 2 mod n을 검증자 V에게 전송한다. 2) 검증자 V는 랜덤 비트 b를 선택한 후, P에게 전송한다. 3) P는 랜덤 비트 b의 값에 따라 아래의 y를 V에게 전송한다. o b=0이면, y= r mod n o b=1이면, y= r x 1/2 mod n 4) V는 다음을 확인한다. o b=0이면, y= r 2 mod n 2 o b=1이면, y 2 = r 2 x mod n (3) 영지식 비대화형 증명 (ZHNIP) 영지식 대화 증명의 비효율성을 개선하기 위한 방법이다. 영지식 비대화 증명은 M.Blum, P.Feldman, S.Micali에 의하여 제안되었으며, DeSantis, Micali, Persiano, Bellare와 Goldwasser 그리고 Naor와 Yung에 의하여 더욱 발전되었다. Blum 등의 제안은 영지식 비대화 증명의 개념을 소개하고 세 개의 소수곱으로부터 2개의 소수 곱을 구별하는 것이 어렵다는 가정 하에 computationally ZKNIP가 존재함을 보였 다. 또한, 적응 선택 암호문 공격에 대하여 안전성 증명 가능한 공개키 암호 시스템 을 만드는데 ZKNIP가 적용될 수 있음도 보였다. 영지식 비대화 증명의 개략적인 정의로, 언어 L 상의 NIP(Non-Interactive Proof) (P, V)는 증명자 P만이 x L이라는 증거만을 검증자 V에게 보내며, 검증자 V는 P 에게 아무것도 요청할 수 없으며 증명 과정 전에 동일하나 랜덤 테이프를 사전 공 유하고 있다고 가정한다. 그리고 언어 L상의 ZKINP(P, V)는 NIP의 정의에 추가하 여, 검증자 V가 x L이라는 정보 이외에는 어떠한 추가적인 정보도 얻지 못하는 영 지식성 프로토콜이다. 1.4 최근동향 [1급] 1.4.1. 워터마킹 전체 파일 크기를 변화시키지 않고 저작권자가 불법복제여부를 파악할 수 있는 정보를 삽입하는 기술을 말한다. 워터마킹은 텍스트, 이미지, 비디오, 오디오 등의 데이터에 원 소유주만이 아는 마크(Mark)를 사람의 육안이나 귀로는 구별할 수 없게 삽입하고 이를 네트워크에서 제공한다. 만약 사용자들이 멀티미디어 디지털 정보를 불법 복제하여 정당한 대가 나 허락 없이 상업용 혹은 기타 용도로 사용되었을 때에는 자신의 '마크'를 추출함 으로써 자신의 소유임을 밝힐 수 있고, 이는 재산권 행사에 결정적인 증거가 된다. - 376 -

워터마크를 나타내는 실제 비트들은 그것들이 식별되거나 조작되지 않도록 파일 전 체에 걸쳐 퍼져 있어야만 한다. 그리고 마지막으로, 디지털 워터마크는 그 파일에 대한 일반적인 변경, 예를 들어 로씨 압축알고리즘에 의한 축소 등에 견딜 수 있도 록 충분히 견고해야만 한다. 워터마킹은 저작권 보호를 위한 영역에서 소유권의 증명정보, 불법복제추적, 복제 방지(기기제어), 방송모니터링, 위변조 적발 및 방지, 데이터 은닉등의 용도로 사용 할 수 있다. 1.4.2. 스테가노그래피(Steganography) 스테가노그래피(steganography)는 전달하려는 기밀 정보를 그래픽, 사진, 영화, 소 리(MP3)파일 등에 암호화해 숨기는 심층암호 기술로써, 정보를 교환하고 있다는 것 을 숨기면서 통신을 하는 기술이다. 스테가노그래피는 암호화 기법과는 달리, 정보를 전송하는데 있어서 많은 양의 오버헤드를 요구한다, 즉 간단한 정보를 전송하기 위해서 보내고자 하는 정보와는 관계가 없는 많은 양의 데이터를 함께 전송해야 한다는 단점이 있는 것이다. 현재 멀티미디어 데이터 중에서 비교적 쉽게 다룰 수 있는 정지 영상 데이터를 이 용한 스테가노그래피 기법이 많이 개발되어 있고 그중에 대표적인 방법 중 하나가 디지털 정지 영상 데이터에 정보를 숨기는 대표적인 방법 중 하나가 LSB(Least Significant) insertion 방법이다. 이 밖에도 변환공간영역(transformed domain)에서 스테가노그래피를 하는 기법도 많이 사용되고 있는데, 대표적인 것이 JPEG 압축 알 고리즘에 사용된 DCT(Discrete Cosine Transform) 영역에서 메시지를 숨기는 방법 이 있다. 스테가노그래피는 암호화를 대신하는 것이 목적이 아니라, 암호화와 함께 스테가 노그래피 기법을 사용해서 보안 수준을 더욱 높이는 것이 목적이다. - 377 -

2. 정보보호 관리 2.1 정보보호 관리 개념 2.1.1 정보보호의 목적 및 특성 - 정보보호의 필요성 이해 - 정보보호의 정의 - 정보보호의 목적 (1) 정보보호의 필요성 산업사회에서 정보화 사회로 바뀌면서 오프라인에서 수행되던 일이 대부분 온라 인으로 수행 가능해 지고 있다. 하지만 정보화의 순기능과 함께 개인정보가 노출, 악용되는 등의 사례가 증가함에 따라 사생활이 침해되거나, 조직 내 중요 정보가 오용과 악의적인 의도에 의해 유출되는 등의 치명적인 정보화의 역기능이 발생하게 되었다. 정보화 역기능의 사례는 지속적으로 증가하고 있으며 사용되고 있는 기술 도 정보기술과 함께 발달하고 있으므로, 정보보호의 필요성이 더욱 중요시되고 있 다. (2) 정보보호의 정의 정보보호(Information Security)란 의도되었건 의도되지 않았건 간에, 인가받지 않 은 노출, 전송, 수정 그리고 파괴로부터 정보를 보호하는 것을 말하는 것으로, 정보 화촉진기본법 제2조에서는 정보의 수집 가공 저장 검색 송신 수신 중에 정보의 훼 손 변조 유출 등을 방지하기 위한 관리적 기술적 수단을 강구하는 것을 말하고 있 다. (3) 정보보호의 목적 (가) 기밀성 서비스 (나) 무결성 서비스 (다) 인증서비스 (라) 접근제어 서비스 (마) 부인방지 서비스 - 378 -

(바) 감사추적 서비스 2.1.2 정보보호와 비즈니스 - 비즈니스에서의 정보보호의 필요성 - 정보보호 모델 (1) 정보보호의 필요성 (가) 전자상거래, 전자정부 등 사이버 공간에서의 활동 증가에 따른 안전성, 신뢰 성 해결 (나) 글로벌화에 따른 국내 정보 유출 우려 (다) 공공기관에서 소유하고 있는 개인의 정보 (라) 회사의 제품개발 및 축적기술 (마) 회사간의 각종 사업계획에 관한 정보교환 및 사업행위 (바) 각종 지적소유권 보호 (2) 정보보호 모델 (가) ISMS (정보보호관리체계) 1) 정보보호관리체계는 정보보호의 목적인 정보자산의 기밀성, 무결성, 가용성 을 실현하기 위한 절차와 과정을 체계적으로 수립 문서화 하고 지속적으로 관리 운영하는 시스템이다. 2) 조직에 적합한 정보보호를 위해 정책 및 조직수립, 위험관리, 대책구현, 사후 관리 등의 정보보호관리과정을 정리하고 이를 통해 구현된 여러 정보보호 대책들이 유기적으로 통합된 체계(정보보호관리체계)를 갖추었는지 제 3자의 인증기관(한국정보보호진흥원)을 통해 객관적이고 독립적으로 평가하여 인증 기준에 대한 적합 여부를 보증해 주는 제도 2.1.3 정보보호 관리의 개념 - 정보보호관리의 개념 이해 조직이 가지고 있는 취약점을 찾아내 이를 보완할 수 있는 다양한 통제 방안을 도입함으로서, 조직의 정보에 대한 다양한 위협들로부터 정보를 보호하기 위한 체 - 379 -

계로서 효율적인 정보보호 관리 체계를 구축하기 위해서는 체계적인 절차가 필요하 다. 각 조직은 자신의 정보보호 요구사항에 따라 필요한 통제들을 적절히 선정하여 효율적인 정보보호 관리 체계(ISMS : Information Security Management System)를 구축한다. 정보보호관리를 이행하기 위해서 조직은 정보보호정책 및 조직수립, 범위설정 및 정보자산 식별, 위험관리, 구현, 사후관리활동으로 구성된 6단계의 논리적이고 체계 적인 정보보호관리 프레임워크를 수립하고, 기획, 관리하여야 한다. 2.1.4 정보보호 관리와 타 관리 기능간의 관계 [1급] (1) 구성관리 (2) 성능관리 (3) 계정관리 (4) 문제관리 (5) 서비스수준관리 등 관리기능과 정보보호관리기능과의 관계 (6) 통합정보보호관리의 의미와 접근방법 정보보호관리는 조직의 자산에 대한 안전성 및 신뢰성을 향상시키기 위해 관리, 운영하여 정보보호의 목표인 비밀성, 무결성, 가용성을 실현한다. 2.2 정보보호 정책 및 조직 2.2.1 정보보호 정책의 의미 및 유형 - 정보보호정책의 상세내용 및 구성 - 정보보호정책의 절차 및 대책수립 정보보호정책은 조직의 정보보호에 대한 방향과 전략 그리고 정보보호 프로그램 의 근거를 제시하는 매우 중요한 문서이다. 따라서 정책의 의미, 유형, 수립과정, 포 함될 내용을 이해하여야 한다. 또한 정보보호 프로그램이 조직 내에서 효과적으로 수행되기 위해서는 정보보호에 대한 책임과 역할이 명확히 구명되어야 하고 이것이 조직 체계로서 구현되어야 한다. 따라서 정보보호를 위한 조직의 유형과 역할, 구성 등에 대한 이해가 필요하다. 정보보호 정책은 어떤 조직의 기술과 정보자산에 접근하려는 사람이 따라야 하는 규칙의 형식적인 진술이다. 또한 정보보호 임무를 관리하기 위한 수단이다. - 380 -

2.2.2 정보보호정책 수립과정 및 내용 [1급] - 정보보호정책의 목표 - 정보보호목표를 선정할 때의 고려 사항 - 정보보호정책의 특징 이해 (1) 정보보호정책의 정의 정보보호정책은 어떤 조직의 기술과 정보자산에 접근하려는 사람이 따라야 하는 규칙의 형식적인 진술이다. (2) 정보보호정책의 목표 조직의 정보보호정책 목표는 조직이 달상하고자하는 목표와 달성방법(전략), 그리 고 목표달성을 위한 정책을 조직의 각 단계 및 사업 단위 또는 부서별로 정의하여 야 하며, 효율적인 정보보호 정책을 위해서 각각의 조직 수준과 사업 단위별로 다 양한 목표, 전략, 정책을 수립하여야 한다. (3) 정보보호정책의 필요성 정보보호와 관련된 결정은 대부분 정보보호 관리자가 네트워크의 안전여부, 제공 기능, 사용하기 쉬운 방법에 대해 결정했을 때에 만들어진다. 정보보호정책의 목표 를 결정하지 않고서는 보안에 관하여 적절한 결정을 할 수 없다. 정보보호목표를 결정할 때까지는 무엇을 점검하고 무엇을 제한할 것인지를 전혀 알지 못하기 때문 에 어떤 보안도구도 효과적으로 사용할 수 없다. (4) 정보보호목표를 선정할 때의 고려 사항 (가) 서비스 제공 사용자에게 제공하는 서비스의 이점이 위험의 비중보다 크다면 정보보호관리자 는 사용자들의 위험으로부터 서비스를 안전하게 사용할 수 있도록 보호대책을 수 립하여야 한다. (나) 용이성 누구나 쉽게 시스템에 접근하여 사용할 수 있다면 사용하기에 편리할지 모르지 만, 각종 위험으로부터 완전히 노출되어 있다고 해도 과언이 아니다. 따라서 정보 보호관리자는 시스템 사용의 용이성이 다소 떨어지더라도 시스템의 안전을 최우 - 381 -

선 과제로 선정해야 한다. (다) 정보보호 비용과 손실위험 정보보호를 하기 위해서는 비용이 많이 소용되므로 사생활에 대한 손실 서비스 에 대한 손실 등으로부터의 각 비용의 형태는 손실의 형태에 따라서 신중하게 결 정해야 한다. 정보보호정책의 영역이 정보기술, 저장된 정보, 기술에 의해 조직된 정보의 모든 형태를 포함한다. 정보보호정책의 내용에는 다음과 같은 최소한의 표준을 포함하여야 한다. 1) 필요한 보호의 수준에 따른 자산의 분류 2) 비인가 된 접근으로부터의 정보 보호 원칙 3) 정보의 기밀성 보장, 무결성 유지 4) 정보 및 정보시스템의 가용성에 관한 사업 요구사항 5) 물리적, 논리적, 환경적 보안 및 통신보안 6) 준수하여야 할 법, 규정 및 계약 요구사항 7) 시스템 개발 및 유지 방법론 8) 비상대책 계획의 수립, 유지, 점검 9) 모든 직원에 대한 정보보호 교육훈련 10) 정보시스템 정책 위반에 대한 징계 또는 처벌 11) 정보시스템 보안사고 보고 및 조사 12) 준수해야 할 표준, 관례 및 절차와 바이러스 방지, 패스워드, 암호화를 포함 하는 정보보호정책 지원 수단의 구현 (5) 정보보호정책의 특징 수용 가능한 지침 또는 다른 적절한 방법을 수립하고 시스템 관리절차를 통해 구 현이 가능해야 하며, 예방이 기술적으로 불가능한 곳에서 인가에 의해 적절한 경우 에 보안도구가 실행 가능해야 한다. 또 사용자, 관리자, 기술요원에 대한 책임 영역 이 명확하게 정의되어야 한다. 2.2.3 조직 체계와 역할/책임 - 조직 체계의 역할과 구성원들의 책임 - 조직의 정보보호 정책요소 정보보호조직은 적합한 정보보호정책을 계획, 구현, 승인, 감독할 수 있는 조직 - 382 -

체계를 수립하여야 하며, 모든 조직은 독자적인 체계를 가지고 이에 적합한 방식으 로 정보보호와 관련된 직무를 할당하여야 한다. (1) 역할 (가) 사고 대응팀/정보보호 위원회의 역할 1) 전략적 보안 계획과 관련하여 IT운영위원회에 조언 2) IT전략적 지원에 관련하여 조직 IT 정보보호정책을 수립하고 IT 운영위원회 로부터 승인 획득. 3) 조직 IT정보보호정책을 IT보안 프로그램으로 전환 4) IT보안 프로그램 실행을 모니터링 5) 조직 IT보안 정책의 유효성 검토 6) IT 보안 문제 인식 촉진 7) 계획 프로세스를 지원 및 IT 보안 프로그램 실행을 지원하는데 필요한 자원 (인력, 예산 등)에 입각하여 조언. (나) 정보시스템 관리 책임자의 주요 임무 1) IT 보안 프로그램 실행을 감독 2) 정보보호 관리팀 및 조직 정보보호 임원에 대한 연락 및 보고 3) 조직 IT 보안 정책과 지침을 유지 4) 사고 조사 조정 5) 조직의 전반적인 보안 인식 프로그램 관리 6) IT 프로젝트 및 시스템 보안 담당의 권한 결정 (다) 프로젝트 보안 담당과 시스템 보안 담당의 주요 임무 1) 정보보호 관리팀 및 조직 IT보안 담당에 대한 연락 및 보고 2) IT 프로젝트 또는 시스템 보안 정책을 수립, 유지 3) 정보보호 계획을 개발, 구현 4) IT 대책의 구현 및 사용을 모니터링 5) 사고 조사의 착수, 지원 (2) 책임 구성원의 역할과 책임 및 권한을 명확히 규정하여 모든 직원이 이를 이해하도록 한다. (가) 최고 경영자 정보보호를 위한 총괄책임이 있다. - 383 -

(나) 정보시스템 정보보호 관리자 조직의 정보보호 정책, 표준, 대책, 실무 절차를 설계, 구현, 관리, 조사할 책임 이 있다. (다) 데이터 관리자 정보시스템에 저장된 데이터의 정확성과 무결성을 유지하고 데이터의 중요성 및 분류를 결정할 책임이 있다. (라) 프로세스 관리자 해당 정보시스템에 대한 조직의 정보보호 정책에 따라 적절한 보안을 보증할 책임이 있다. (마) 기술지원 인력 보안대책의 구현에 대하여 조언할 책임이 있다. (바) 사용자 조직의 정보보호 정책에 따라 수립된 절차를 준수할 책임이 있다. (사) 정보시스템 감사자 보안 목적이 적절하고 정보보호 정책, 표준, 대책, 실무 및 절차가 조직의 보안 목적에 따라 적절하게 이루어지고 있음을 독립적인 입장에서 관리자에게 보증할 책임이 있다. (3) 조직의 정보보호 정책요소 (가) 자산 소유자의 관점에서 본, 기밀성, 무결성, 가용성, 책임 추적성, 신뢰성에 관한 IT 보안 요건 (나) 조직의 기반 구조 및 책임 할당 (다) 시스템 개발, 조달과 보안의 통합 (라) 지침과 절차 (마) 정보 분류 등급 규정 (바) 위험 관리 전략 (사) 비상 계획 (아) 문제(유지보수 인력 및 시스템 관리와 같이 신뢰를 필요로 하는 지위의 인력 에 특별한 주의를 기울여야 한다.) (자) 인식, 훈련 (차) 법과 규제의 준수 (카) 외주 관리 (타) 사고 처리 - 384 -

2.2.4 예산 수립 및 정당화 방법 [1급] - 예산 수립시 고려해야할 사항 - 정보보호 예산/투자에 대한 정당화기법 - ROSI, TCO (1) 정보자산의 식별 조직의 정보자산으로 보호를 받을 가치가 있는 정보자산을 식별하고, 이를 정보 자산의 형태, 소유자, 관리자, 특성 등을 포함하여 목록을 만들어야 한다. 자산 식별 을 통하여 조직의 자산을 파악하고, 자산의 가치 및 중요도를 산출하며, 정보자산과 업무처리와의 관계도 알아낼 수 있다. 자산평가는 위험분석 결과의 정확도를 결정 하는 매우 중요한 과정이다. 자산평가 과정은 자산조사와 자산가치산정의 2가지로 나눌 수 있으며, 자산조사 과정에서는 조사할 자산의 범위를 설정하고, 자산목록을 작성한다. 자산가치산정 과 정에서는 자산을 정량적 또는 정성적으로 산출하는 기준과 절차를 정의한다. (그림 4-9) 자산식별 과정 (2) 자산가치 산정 자산가치 산정은 자산의 중요도를 파악하고 위협이 발생할 경우 있을 수 있는 피 해를 측정하기 위한 정보를 얻기 위해 위험분석 대상 자산의 가치를 정량 또는 정 - 385 -

성적인 방법으로 평가하는 과정이다. 정량적 기준은 자산 도입 비용, 자산 복구비용, 자산 교체 비용이 기준이며, 정성 적인 기준은 업무처리에 대한 자산의 기여도, 자산이 영향을 미치는 조직과 작업의 수, 시간(복구시간), 기타(조직의 특성에 맞는 기타요소)가 기준이 된다. 2.3 위험관리 2.3.1 위험관리 전략 및 계획수립 - 위험관리 전략 및 방법의 이해 - 위험분석의 정의 - 위험분석의 절차와 요소 - 위험관리 용어 (1) 위험의 정의 위험이란 비정상적인 일이 발생할 수 있는 가능성을 말하며, 위험분석은 위험을 분석하고 해석하는 과정으로 조직 자산의 취약성을 식별하고, 위협분석을 통해 발 생 가능한 위험의 내용과 정도를 결정하는 과정이다. (2) 위험관리의 정의 및 목적 위험관리란 위험을 평가하고, 피해자가 수용할 수 있는 수준까지 위험 부담을 줄 이기 위한 조치를 강구하며 그러한 위험을 용인할 수 있는 수준으로 유지하는 것을 말한다. 위험의 측정과 관리를 통하여 다양한 위협요소로 인해 피해를 최소화하거 나 막기 위함이다. (3) 위험관리의 구분 (가) 정보보호정책을 바탕으로 각 조직에 적합한 전반적인 위험관리 전략의 결정 (나) 위험분석 활동의 결과 혹은 기본 통제에 따른 개별 IT 시스템에 대한 대책의 선택 (다) 보안 권고에 의거한 IT 시스템 보안 정책의 정형화, 조직의 정보보호 정책 (라) 승인된 IT시스템 보안 정책을 토대로 하여 대책을 구현하기 위한 IT 보안 계 획의 수립 - 386 -

(4) 위험관리 계획 위험관리는 크게 위험분석, 위험평가, 대책설정 3가지의 과정으로 구분된다. (가) 위험분석 통제되거나 받아들여질 필요가 있는 위험을 확인하는 것이다. 위험분석은 자산 가치평가, 위협, 취약성을 포함하며, 모든 시스템에 대한 간단한 초기분석을 통해 불필요한 시간과 자원의 투자 없이 실행할 수 있다. (나) 위험평가 위험평가의 목적은 적절하고 정당한 보안 대책을 선정하고 식별하기 위하여 시 스템 및 그 자산이 노출된 위험을 평가하고 식별하기 위한 것이다. 위험은 위험 에 처한 자산, 잠재적인 불리한 업무충격을 유발하기 위해 발생하는 위협 가능성, 식별된 위협으로 인한 취약성의 용이한 사용 및 위험을 감소시키는 기존의 혹은 계획된 어떤 대책에 따른 새로운 위협 가능성 등을 포함한다. (다) 대책설정 허용가능 수준으로 평가된 위험을 줄이기 위해 적절하고 정당한 대책을 식별 및 선정한다. 대책은 위협을 방지하고, 취약성을 감소시키고, 원치 않는 사고의 충격을 제한하고, 원치 않은 사고를 감지하고, 복구를 촉진하는 실행, 절차, 메커 니즘이다. 일반적으로 효과적인 보안에는 자산에 대한 보안 계층을 제공하는 다 양한 대책의 조합이 요구된다. (그림 4-10) 위험관리 절차 - 387 -