[정보보안기사 PART 02] 암호학 - 전자서명과 PKI


Section 06 전자서명과 PKI

 

1. 전자서명

 

(1) 전자서명의 개요

 

1) 전자서명의 형식

 

- 암호방식에 따라 공개키 서명방식과 관용 암호방식을 이용한 중재서명방식으로 나눌 수 있다.

 

- 공개키 서명방식 : 서명자의 검증정보를 공개하여 누구나 검증할 수 있는 서명방식

   (서명 생성 및 검증이 간편)

 

- 중재서명방식 : 관용 암호방식의 성질상 서명 생성과 검증을 제3자가 중재하는 방식

   (서명할 때마다 제3자의 참여가 있어야 하는 불편함 존재)

 

2) 전자서명 과정

 

   1. 송신자는 서명 알고리즘(signing algorithm)을 이용해서 메시지에 서명

   2. 메시지와 서명은 수신자에게 전송

   3. 수신자는 메시지와 서명을 받고, 검증 알고리즘(verifying algorithm)을 적용한다

 

3) 전자서명 서비스

 

   (가) 메시지 인증

   (나) 메시지 무결성

   (다) 부인 방지

    (라) 기밀성

 

4) 전자서명의 주요 기능

 

   1. 위조 불가(Unforgeable) : 합법적인 서명자만이 전자서명을 생성할 수 있어야 한다.

   2. 서명자 인증(User authentication) : 전자서명의 서명자를 누구든지 검증할 수 있어야 한다.

   3. 부인방지(Non-repudiation) : 서명자는 서명행위 이후에 서명한 사실을 부인할 수 없어야 한다.

   4. 변경 불가(Unalterable) : 서명한 문서의 내용을 변경할 수 없어야 한다.

   5. 재사용 불가(Not reusable) : 전자문서의 서명을 다른 전자문서의 서명으로 사용할 수 없어야 한다.

 

 

(2) 전자서명 구조

 

1) RSA 전자서명 구조 (RSA digital signature scheme)

 RSA의 소인수분해의 어려움을 기반으로 한 전자서명

 

2) ElGamal 전자서명 구조

- EIGmal 암호시스템과 동일한 키를 사용하지만 알고리즘은 다르다.

   (이산대수 문제를 이용한 최초의 서명 방식)

- EIGmal 서명 알고리즘은 거의 사용하지 않지만 대신 DSA이란 변형을 많이 사용한다.

 

3) Schnorr 전자서명 구조

 서명의 크기를 줄이기 위해서 EIGmal에 기반을 두고 있지만 서명의 크기는 작은 새로운 구조를 제안

 

4) 전자서명 표준(DSS, Digital Signature Standard)

- DSS은 EIGamal 전자서명을 개량한 방식

- 서명과 검증에 소요되는 계산량을 획기적으로 줄인 방식

- 이산대수 문제를 기반, 오직 전자서명 기능만을 제공

- 암호화나 키 교환에 사용 되지 않지만, 공개키 기술이다.

 

5) 타원곡선 전자서명 구조

- 타원곡선에 기반을 둔 DSA

- ECC보다 짧은 비트 길이로 인해 짧은 처리시간에 짧은 서명 생성이 가능

 

 

(3) 전자서명 방식

 

1) 메시지 복원한 전자서명

 

- 서명자가 자신의 개인키를 이용해 메시지 암호화

- 검증자가 서명자의 공개키를 이용하여 서명된 암호문 복호화

- 그 결과가 일정한 규칙을 만족하는 의미 있는 메시지가 되는지 확인함으로써 서명 검증

 

2) 부가형 전자서명

 

- 임의의 길이로 주어진 메시지를 해시 알고리즘을 이용하여 일정한 길이로 압축

- 해시한 결과에 서명자에 개인키 이용하여 전자서명한 후 메시지를 덧붙여 전송

 

 

(4) 특수 전자서명

 

1) 개요

 

- 누구나 서명의 진위를 검증할 수 있으나 전자 서명을 제한적으로 사용하려는 경우가 제한하기 어려움

- 서명자의 동의가 있어야 검증이 가능하거나 서명문의 내용을 알지 못하게 하고 서명해야하는 경우 등 다양한 형태의 전자 서명 필요

 

2) 부인방지 전자서명

 자체 인증 방식을 배제시켜 서명을 검증할 때 반드시 서명자의 도움이 있어야 검증이 가능

 

3) 의뢰 부인방지 서명

 부인 방지 서명의 거짓말 탐지 기능 문제를 해결하기 위해서 임의의 검증자가 부인 과정을 수행

 

4) 수신자 지정 서명

 서명의 검증 시 특정 검증자만이 서명을 확인할 수 있도록 함

 

5) 은닉 서명 (블라인드 서명, Blind Digital Signature)

 서명문의 내용을 숨기는 서면 방식으로 제공자의 신원과 서명문을 연결시킬 수 없는 익명성을 유지

 

6) 위임 서명 (proxy digital signature)

 자신을 대리해서 서명할 수 있는 위임 서명

 

7) 다중서명 (multisignature)

 여러 사람이 서명하는 것

 

 

(5) 전자서명의 응용

 

1) 전자투표 (Electronic Voting)

 

- 선거인 명부를 DB로 구축한 중앙 시스템과 직접 연결한 단말에 자신이 정당한 투표자임을 증명하면, 단말이 있는 전국 어디서나 쉽게 컴퓨터 망을 통하여 무기명 투표를 할 수 있는 방식

- 투표율 향상, 투표 결과 신속히 알 수 있음

- 개인의 인증, 투표 내용의 기밀서 유지 등의 문제점 있음

 

전자투표 시스템 구현을 위한 요구사항

   1. 완전성 : 모든 투표가 정확하게 집계되어야 한다.

   2. 익명성 : 투표결과로부터 투표자를 구별할 수 없어야 한다.

   3. 건정성 : 부정한 투표자에 의해 선거가 방해되는 일이 없어야 한다.

   4. 이중투표방지 : 정당한 투표자가 두 번 이상 투표할 수 없다.

   5. 정당성 : 투표에 영향을 미치는 것이 없어야 한다.

   6. 적임성(투표자격제한 선거권) : 투표권한을 가진 자만이 투표 할 수 있다.

   7. 검증 가능 : 누구라도 투표 결과를 확인하여 검증해 볼 수 있어야 한다.

 

전자투표 방식

구분 투표장치 선거관리정도 기술정책점정도 특징
PSEV 방식 전자투표기

이미 정해져있는 기존 투표소에서 투표기를 이용하여 투표를 실시한 후 전자식 투표기록장치를 개표소로 옮겨와 컴퓨터로 결과를 집계

키오스크 방식
(Kiosk)
전자투표기 정해지지 않은*비지정) 임의 투표소에서 잔자투표, 투표소와 개표소를 온라인으로 연결하여 투표결과를 자동적으로 개표소로 전송되어 자동적으로 집계
REV방식 모바일, 디지털TV, PC 가정이나 직장에서 인터넷을 통하여 투표, 투표 결과가 개표소나 중앙관리센터로 보내져 자동적으로 집계

 

2) 전자입찰 시스템

 다수의 공급자가 응찰하여 오면 이 중에서 가장 싼 가격을 제시한 응찰자와 계약을 맺는 입찰방식

 

전자입찰 시스템의 요구사항

 독립성

 비밀성

 무결성

 공평성

 안전성

 

 

 

2. PKI (공개키 기반 구조)

 

(1) PKI (Public-key Infrastructure)의 개요

 

1) 기본 개념

 

 - 공개키 알고리즘을 위한 키 관리 구조

 - 인증서 발급, 사용 및 취소와 관련 서비스를 통하여 기밀성, 무결성, 접근제어, 인증, 부인방지의 보안서비스를 제공하며, 인증기관, 등록기관, 사용자, 신뢰 당사자, 저장소 등의 요소로 구성 

 

(2) PKI의 주요 구성요소

1) 인증기관 (CA, Certification Authority)

2) 검증기관 (VA, Validation Authority)

3) 사용자와 최종 개체 (subjects and end entities)

4) 등록 기관 (RA, Registration Authority)

5) 저장소 (Repository, Directory)

 

(3) PKI의 형태

1) 계층 구조

2) 네트워크 구조

3) 혼합형 구조

 

(4) PKI의 주요 관리 대상

 

1) 인증서 (PKC, Public-Key Certificate)

 

 - 한 쌍의 공개키/개인키와 특정 사람/기관을 연결시켜 주는, 즉 해당키가 특정인의 것이라는 것을 보증

 - 표준화된 양식에 의거하여 믿을 수 있는 제3자(인증기관)가 발행하며 PKI의 근간을 이룸

 - 공개키 인증서엔 이름, 소속, 메일 주소 등의 개인종보 및 그 사람의 공개키 기재

 - 인증기관(CA)의 개인키로 전자서명 되어있음

 

인증서 표준 규격 X.509

- 인증서 작성, 교환을 수행할 때의 표준 구격으로 많은 애플리케이션에서 지원

- IP 보안, 안전한 소켓 계층, 안전한 전자거래, S/MIME 같은 네트워크 보안 응용에서 널리 사용

 

2) X.509 인증서 폐지 목록 프로파일

 

인증서 폐지 사유

- 인증서의 유효기간이 끝나기 전에 폐지

 

CRL (Certificate Revocation List)

- 폐지된 인증서들에 대한 목록을 인증서 폐지 목록(CRL)이라고 한다.

- 저장소 또는 디렉터리 시스템 등에 등재하여 신뢰 당사자가 언제든지 이 목록을 검색할 수 있도록 하여야 한다.

- 인증서 폐지 목록에는 인증서 폐지 목록의 버전, 서명 알고리즘 및 발급 기관의 이름, 인증서 발급일, 다음 번 갱신일, 취소된 인증서에 대한 정보(인증서 일련 번호, 폐지일자, 폐지 사유 등) 포함

 

 

3) 인증서 운영 프로토콜

 

온라인 인증서 상태 검증 프로토콜(OCSP, Online Certificate Status Protocol)

 - CA에 의해 관리되고 있는 CRL을 검사한다.

 - CRL은 여전히 사용되고 있지만, 인증서 검증 과정에서 CRL을 확인할 수 있는 프로토콜을 가진 것

 - 실시간으로 인증서 상태를 확인할 수 있는 효율적인 방법

 

 

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[정보보안기사 PART 02] 암호학 - 해시함수와 응용


Section 05 해시함수와 응용

 

1. 일방향 해시함수

 

(1) 일방향 해시함수의 개요

 

1) 기본 개념

- 임의의 길이를 갖는 메시지를 입력으로 하여 고정된 길이의 해시값 또는 해시 코드라 불리는 값을 출력하는 함수이다.

- 해시함수 h는 임의의 길이의 문자열을 고정된 길이를 갖는 n비트 문자열로 대응시킨다.

- 정의역을 D, 치역을 R이라 할 때 해시함수 h : D -> R (|D| > |R|)는 다대일 대응 함수이다.

(충돌이 반드시 존재함을 의미)

 

2) 일발향 해시함수의 특징

1. 임의 길이의 메시지로부터 고정 길이의 해시값을 계산

- 어떤 길이의 메시지를 입력으로 주더라도 항상 짧은 해시값을 생성하지 않으면 의미가 없다.

 

2. 해시값을 고속으로 계산할 수 있다.

- 해시값을 구하기 위해 시간이 너무 오래 걸리면 안된다.

 

3. 일방향성을 갖는다.

- 일방향 해시함수는 일발향성(one-way)을 가질 필요가 있다. 이것은 해시값으로부터 메시지를 더 메시지를 역산할 수 없다는 성질이다.

 

4. 메시지가 다르면 해시값도 다르다.

- 무결성을 확인하기 위해 사용한다. 메시지가 1비트라도 변환하면 해시값은 매우 높은 확률로 다른 값이 되어야 하기 때문이다.

- 2개의 다른 메시지가 같은 해시값을 갖는 것을 충돌이라고 한다. 일방향 해시함수를 무결성 확인에 사용하기 위해서는 충돌이 발견되어서는 안 된다.

- 충돌이 발견하는 것이 어려운 성질을 가리켜 충돌 내성(collision resistance)이라고 부른다. 암호기술에서 사용되는 일방향 해시함수는 충돌내성을 가질 필요가 있다.

 

 

 

(2) 해시함수의 분류와 보안 요구사항

 

1) 해시함수의 보안 요구사항

(가) 개요

암호학적 해시함수는 프리이미지 저항성(preimage resistance), 제2프리이미지 저항성(second preimage resistance), 충돌 저항성(collision resistance)의 3가지 기준을 충족해야 한다.

 

(나) 프리이미지 저항성(역상 저항성)

- 해시 값 h = H(x)에 대하여, x는 h의 선 이미지(preimage)라 한다.

(x는 함수 H를 사용한 해시함수 결과가 h인 데이터 블록 H가 다대일 대응이므로, 주어진 해시 값 h에 대하여 여러개의 선 이미지가 존재하게 된다.)

- 해시함수 h와 y = h(M)에 대해서 Eve가 y = h(M)를 만족하는 메시지 M를 찾아낸다는 것이 매우 힘들어야 한다는 성질이다. 

(프리 이미지 저항성은 일발향성임)

 

(다) 제2프리이미지 저항성(두 번째 역상 저항성, 약한 충돌 내성)

- 메시지를 쉽게 위조할 수 없도록 하는 성질이다.

- Eve는 메시지 M가 다이제스트 h(M)을 가로챈다. Eve는 h(M) = h(M)를 만족하는 다른 메시지(M')를 생성한다. Eve는 M'와 h(M)를 Bob에게 보낸다. Eve는 이렇게 해서 메시지를 위조할 수 있는 것이다.

- 이런 충돌이 발생할 확률은 충돌저항성(강한 충돌 내성)보다 상대적으로 낮기 때문에 약한 충돌 내성이라 한다.

 

(라) 충돌 저항성(충돌 회피성, 강한 충돌 내성)

- Eve로 하여금 동일한 다이제스트를 가지는 2개의 메시지를 구하지 못하도록 하는 것이다. 여기서 공격자는 어떤 정보도 없는 상태에서 동일한 다이제스트를 갖는 두 개의 메시지를 생성할 수 있다.

- 충돌이 발생할 확률은 약한 내성의 경우보다 상대적으로 높기 때문에 강한 충돌 내성이라 한다.

 

2) 전자서명에 이용되는 해시 함수의 특성

- 해시값을 고속으로 계산할 수 있다.       // 해시함수의 성능조건

- 약 일방향성 (Weak onewayness)         // 해시함수의 안전성에 대한 제약, 해시 함수의 역함수 계산 방지

- 강 일방향성 (Strong onewayness)       // 해시함수의 안전성에 대한 제약, 해시 함수의 역함수 계산 방지

- 충돌 회피성 (collision freeness)          // 해시함수의 성능조건, 내부부정을 방지하는 기능

 

3) 해시함수의 성질들 사이 관계

- 충돌 저항성은 두 번째 역상 저항성을 보장한다.

- 두 번째 역상 저항이 역상 저항을 보장하지 못하며, 역상 저항이 두 번째 역상 저항을 보장하지 못한다.

- 충돌 저항성은 역상 저항성을 보장하지 않는다.

 

 

 

(3) 키가 없는 해시함수와 키를 사용하는 해시함수

 

1) 키가 없는 해시함수

(가) 기본 개념

- 블록 암호를 기초로 한 해시함수

- 전용 해시함수(처음부터 새로 만드는 것)

- 모듈 연산을 기초로 한 해시함수

 

(나) 전용 해시함수

항목 MD5 SHA-1 RIPEMD-160
다이제스트 길이 128비트 160비트 160비트
처리 단위 512비트 512비트 512비트
단계수 64(16번의 4라운드) 80(20번의 4라운드) 160(16번의 5병행 라운드)
최대 메시지 크기 무한 2^64 - 1 비트 2^64 - 1 비트
앤디언 Little-endian Big-endian Little-endian

 

(다) 블록암호 기반 해시함수

- 반복 암호학적 해시함수 안에 사용되는 압축함수 자리에 대칭키 블록암호를 사용할 수도 있다.

 

(라) 모듈 연산에 기반을 둔 해시함수

- 압축 함수의 기반을 모듈 연산의 반복적인 수행에 두고 있는 해시함수를 말한다.

- SW 자체에 내장된 모듈 연산을 사용할 수 있다는 장점,

- 속도 빠르지 않고, 안전성 연구에 대한 역사 짧음.

 

2) 키를 사용하는 해시함수

(가) 기본 개념

- 메시지 인증 기능을 가진 함수

- 함수 자체의 안전성키의 비밀성에 안전성을 두고 있다.

 

(나) 블록 암호에 기반을 둔 메시지 인증 알고리즘

- CBC(Cipher Block Chaining) 모드를 이용하는 방법

 

 

 

(4) 암호학적 해시함수의 응용

 

1) 무결성 점검

- 생성된 새로운 메시지 다이제스트와 이전의 메시지 다이제스트를 비교

 

2) 소프트웨어 변경 검출

 

3) 메시지 인증코드 (MAC, Message Authentication Code)

- 상호 간에 교환되는 정보를 인증하기 위해, 비밀키를 공유하는 두 통신 상대자 간에 사용된다.

- SSL/TLS 이용

 

4) 전자서명

 

 

 

(5) 랜덤 오라클 모델과 해시함수에 대한 공격

 

1) 랜덤 오라클 모델

(가) 개요

- 임의의 길이를 갖는 메시지에 오라클은 0과 1로 이루어진 난수 스트링인 고저오딘 길이의 메시지 다이제스틀르 생성해서 제공

- 이미 다이제스트가 존재하는 메시지가 주어지면 오라클은 저장되어 있는 다이제스트를 제공

- 새로운 메시지에 대한 다이제스트는 다른 모든 다이제스트와는 독립적으로 선택될 필요가 있다.

 

(나) 비둘기집 원리

(다) 생일 문제 (생일 공격)

 

2) 일방향 해시함수에 대한 공격

(가) 무차별 공격

(나) 기타 해시함수 공격의 종류 및 특성

- 일치블록 연쇄공격

- 중간자 연쇄공격

- 고정점 연쇄공격

- 차분 연쇄공격

 

 

 

(6) 일방향 해시함수로 해결할 수 없는 문제

 

1) 개요

- 「조작과 변경」 검출 가능

- 거짓행세」 검출 불가능

- 메시지 인증코드, 전자서명

 

 

 

 

2. 암호화적 해시함수의 예

 

(1) SHA-512

(2) SHA-3

 

 

 

3. 메시지 인증코드 (MAC)

(1) 개요

 

1) 기본 개념

- 무결성 확인하고, 메시지에 대한 인증하는 기술

(변경과 거짓행세 검출 가능)

- 임의 길이의 메시지와 송신자 및 수신자가 공유하는 키라는 2개의 입력을 기초로 해서 고정 비트 길이의 출력을 계산하는 함수

- 블록 암호나 해시 함수에 기반 두기 때문에 전자 서명보다 빠르다.

 

2) 변경 감지 코드 (MDC, Modification Detection Code)

- 무결성 보장

- 수신한 메시지로부터 새로운 MDC 생성 후 받은 MDC와 비교

 

3) 메시지 인증 코드 (MAC)

- 송신자와 수신자가 공유하는 키 사용

- 키에 의존하는 일방향 해시함수

- 사용하는 해시 알고리즘의 안전성에 의해 안전성이 좌우된다.

 

4) MAC의 키 배송 문제

- 송신자와 수신자 키 공유할 필요 있다.

- 키 배송 문제 발생

 

(2) MAC의 구현 사례

 

1) 축소 MAC

2) HMAC

3) CBC-MAC, CMAC

4) CCM(Counter with CBC-MAC)

5) GCM 모드

 

(3) MAC에 대한 공격

1) 재전송 공격

 

(4) MAC으로 해결할 수 없는 문제

1) 제 3자에 대한 증명

2) 부인 방지

 

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[정보보안기사 PART 02] 암호학 - 비대칭키 암호


Section 04 비대칭키 암호

 

1. 비대칭키 암호

 

(1) 키 배송 문제

 

1) 개요

- 대칭키 암호를 사용하려고 하면 키 배송 문제(key distribution problem)가 발생

- 키를 보내지 않으면 수신자 밥은 수신한 암호문을 복호화할 수 없다. 키를 보내면 도청자 이브복화화할 수 있다

- 키를 보내서도 안 되는데, 키를 보내서도 안 된다.

- 해결 방안

   1. 키의 사전 공유에 의한 해결

   2. 키배포 센터에 의한 해결 (온라인 키 분배)

   3. Diffle-Hellman 키 교환에 의한 해결

   4. 공개키 암호에 의한 해결

 

2) 키의 사전 공유에 의한 해결

- 키 관리기관(TA, trusted authority)이 사전에 임의의 두 사용자(a, b)에게 비밀 경로를 통하여 임의 키 Ka.b = Kb,a 를 선택하여 전달하는 방법이다.

- 일반적으로 TA와 네트워크 상의 모든 사용자 사이에 안전한 통로가 필요

- 사용자가 많은 경우 많은 키를 관리해야 하는 문제점 발생, 매우 복잡하고 비용이 많이 지불됨

- n명의 사용자, 각 사용자는 n -1 가지 키 관리, TA는 n(n-1)/2 키 관리

 

3) 키배포 센터에 의한 해결(온라인 키 분배)

 - 암호 통신이 필요해질 때마다 통신용 키를 키배포 센터(KDC, key distribution center)라는 신뢰받은 제 3자에 의뢰해서 개인과 키배포 센터 사이에서만 키를 사전에 공유하는 것.

(TA가 네트워크 상의 모든 사용자와 필요할 때마다 키를 공유하는 방법)

 - 회사 안에 키배포 센터의 역할을 지정한다. n명의 사원이 있다면 n개의 키를 DB에 저장한다. 

 

4) Diffile - Hellman 키 교환에 의한 해결

 - Diffle-Hellman 키 교환(Diffle-Hellman key exchange)은 1976년에 공개키 암호방식을 최초로 제안한 휘트필드 디피(Whitfield Diffie)와 미틴 헬먼(Martin Hellman)이 발명한 알고리즘

- 양쪽 통신주체가 KDC없이 대칭 세션키를 생성

- 대칭키를 만들기 전에 양쪽은 두 개의 수 pq를 선택해야한다.

- 여기서 p는 매우 큰 소수로서 300자리가 넘는 십진수(1024비트)이다.

- 키 교환이 아니라 공유할 키를 계산하여 만들어 내는 것이다.

- 유한체상의 이산대수 문제(DLP, Discrete Logarithm Problem)를 풀기 어렵다는 사실을 뒷받침하고 있다.

 

Diffile-Hellman의 안전성

1. 이산대수 공격

2. 서비스 거부 공격(DoS, Denial of Service)

3. 중간자 공격(man-in-the-middle attack)

 

5) 공개키 암호에 의한 해결

- 대칭키 암호에서 암호화키와 「복호화키」는 같은 것이다. 하지만 공개키 암호에서는 다르다.

- 수신자는 미리 「암호화키」를 송신자에게 알려 준다.「암호화키」는 도청자에게 알려져도 괜찮다. 송신자는 「암호화키」로 암호화하여 수신자에게 보낸다.

- 복호화할 수 있는 것은 「복호화키」를 가지고 있는 사람(수신자)뿐이다. 이렇게 하면 「복호화키」를 수신자에게 배송할 필요가 없다.

 

(2) 공개키 암호 

 

1) 개요

- 대칭키 암호는 평문을 복잡한 형태로 변환해서 기밀성을 유지한다. 공개키 암호는 수학적으로 해결하기 곤란한 문제를 토대로 해서 기밀성을 유지한다.

- 공개키 암호에서는 「암호화키」와 「복호화키」가 분리되어 있다. 송신자는 「암호화키」를 사용하여 메시지를 암호화하고, 수신자는 「복호화키」를 사용하여 암호문을 복호화한다.

- 키쌍을 이루고 있는 2개의 키는 서로 밀접한 관계(수학적 관계)가 있다. 이 때문에 공개키와 개인키를 각각 별개로 만들 수 없다.

 

2) 대칭키 vs 비대칭키

- 비대칭키는 수학적인 함수를 사용해서 암,복호화를 하기 떄문에 대칭키보다 처리속도가 느리다.

- 하지만, 비대칭키는 인증이나 전자서명대칭키 교환에 유용하게 사용되고 있다.

 

(3) RSA 암호 시스템

 

1) 개요

- 공개키 암호 알고리즘의 중의 하나이며, 세계적으로 사실상의(de facto) 표준이다.

- Rivest-Shamir-Adleman의 첫 글자를 따서 붙여졌다.

- 인수분해 문제 해결의 높은 난이도를 이용한 가장 대표적인 공개키 암호 알고리즘으로 암호화뿐만 아니라 전자서명의 용도로도 사용된다.

- SSL 프로토콜을 가진 많은 웹 브라우저, PGP 그리고 공개키 암호시스템을 사용하는 정부시스템 등이 RSA를 사용한다.

 

 

2) RSA에 대한 공격

- 수학적 공격 (소인수분해 공격)

- 타이밍 공격 (시간 공격)

- 선택 암호문 공격 (CCA, Chosen Ciphertext Attack)과 OAEP

 

3) 최적 비대칭키 암호 패딩(OAEP)

- RSA-OAEP(Optimal Asymmetric Encryption Padding)은 RSA를 개량한 알고리즘이다.

- 복호화에서는 평문 해시값과 정해진 개수의 '0' 등으로 만들어진 「인증 정보」를 평문의 앞에 추가하고 RSA로 암호화한다. (패당)

- RSA-OAEP의 복호화에서는 RSA로 복호화한 후 올바른 「인증 정보」가 나타나지 않으면 「평문을 아고 있는 사람이 만든 암호문이 아니다.」라고 판단해서 오류로서 "decryption error"이라는 일종의 오류 메시지를 회신한다.

 

(4) Rabin 암호시스템(Rabin cryptosystem)

 

1) 개요

- 함성수 모듈러에 관하여 제곱근을 찾기 어렵다는 사실로부터 안전성을 얻는다.

 

2) 암호화 복호화

- 오직 한 번의 곱셈으로 이루어져 있고 이 연산은 빠르게 수행된다.

- 성능이 낮은 플랫폼에서 잘 활용될 수 있다. ex) tmakxm zkem

 

3) Rabin 시스템의 보안

- p와 q가 충분히 크기만 한다면 안전하다.

- 시스템 복잡도는 큰 수 n을 두 개의 소수의 곱으로 소인수분해하는 수준의 복잡도와 동일하다.

 

(5) ElGamal 방식

 

1) 개요

- 이산대수 문제에 근거해서 만든 시스템

(오픈 소스를 기초로 하여 키 분배 방식 및 공개키 암호 방식을 실현)

- 디지털 서명, 암호화, 키 교환에 사용될 수 있는 공개키 알고리즘

(ElGamal은 실제로 Diffile-Hellman 알고리즘의 확장이다.)

- 다른 알고리즘과 비교할 때 가장 느리다.

 

2) 특징

- 평문이 암호문으로 될 때 순서쌍으로 표현되므로 이 암호계에서 암호문의 길이는 평문의 약 2배가 된다.

- 많은 메모리 공간이 필요, 전송 속도 느림.

 

3) 응용

- RSA를 활용할 수 있는 곳에는 어디에나 사용할 수 있다.

- 키 교환, 인증, 짧은 메시지

 

(6) 타원 곡선 암호(ECC, Elliptic Curve Cryptosystem)

 

1) 특징

- 타원곡선 군에서의 이산대수의 문제에 기초한 공개키 암호 알고리즘

- RSA보다 키의 비트수를 적게 하면서도 동일한 성능을 제공하는 것이 가장 큰 특징

- 다양한 암호방식 설계 용이.

 

(7) 대칭키 방식과 비대칭키 방식의 비교

항목 대칭키 공개키
키의 상호관계 암호화키 = 복호화키 암호화키 ≠ 복호화키
안전한 키길이 128비트 이상 2048비트 이상
암호화키 비밀 공개
복호화키 비밀 비밀
비밀키 전송 필요 불필요
키 개수 N(N-1)/2 2N
암호화 속도 고속 저속
경제성 높다 낮다
제공 서비스 기밀성 기밀성, 부인방지, 인증
목적 데이터(파일) 암호화 대칭키 교환
전자서명 복잡 간단
단점 키 교환 원리가 없다. 중간자 공격에 취약
해당 알고리즘 DES, 3DES, AES, IDEA RSA, ECC, DSA

 

2. 하이브리드 암호시스템

 

1) 대칭키 암호와 공개키 암호

- 대칭키 암호를 사용하면 기밀성 유지 가능, 하지만 키 배송 문제 해결할 필요 있다.

- 공개키 암호를 사용하면 복호화에 사용할 키를 배송할 필요가 없어지기 때문에, 대칭키 문제를 해결

- 하지만 공개키 암호는 대칭키 암호에 비해 처리속도가 느리고, 중간자 공격에 약하다.

 

2) 하이브리드 암호 시스템(hybrid cryptosystem)

- 대칭키 장점 + 공개키 장점

 

1. 메시지를 고속의 대칭키 암호로 암호화

2. 대칭키 암호의 키 기밀성을 지키기 위해서 이 부분은 공개키 암호 사용

 

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[정보보안기사 PART 02] 암호학 - 대칭키 암호


Section 03 대칭키 암호

 

1. 현대 대칭키 암호

 

(1) 현대 블록 암호

 

1) 현대 블록 암호의 구성요소

   확산과 혼돈과 같은 성질을 만족시키기 위하여 전치, 치환, 외의 구성 요소를 결합하여 설계

   이동요소(shift), 교환요소(swap), 분할요소(split), 조합요소, 전치장치(P-box), 치환장치(S-box), XOR연산

 

확산(Diffusion)  암호문과 평문 사이의 관계를 숨김
혼돈(Confusion)  암호문과 의 상관관계를 숨김

 

2) P-박스

   문자 단위로 암호화를 수행하였던 고전 전치 암호를 병렬적으로 수행

   단순(straight) P-박스, 확장(expansion) P-박스, 축소(compression) P-박스

 

3) S-박스

   치환 암호의 축소 모형

   Substitution, XOR, Shift, Swap, Split, Combine

 

4) 합성 암호(Product Ciphers)

   치환 + 전치 + 그 밖의 구성요소 결합한 복합적인 암호

   주된 개념은 확산, 혼돈을 갖도록 하는 것

   라운드(Round) : S-박스, P-박스 그리고 기타 구성 요소의 결합을 의미하는 반복적 합성 암호 사용

 

5) 두 가지 종류의 합성 암호

   Feistel 암호   // 다시 공부.....

 

6) 블록 암호에 대한 공격

   차분 분석

   선형 분석

   전수공격법

   통계적 분석

   수학적 분석

 

(2) 현대 스트림 암호

 

1) 동기식 스트림 암호

   키 스트림은 평문 혹은 암호문 스트림과 독립적

   One-Time Pad

   귀환 시프트 레지스터(Feedback Shift Register)

   선형 귀환 시프트 레지스터(LFSR, linear feedback shift register)

   비선형 귀환 시프트 레지스터(NLFSR, Nonlinear Feedback Shift Register)

 

2) 비동기식 스트림 암호

   키스트림의 각 비트는 이전의 평문이나 암호문에 종속적

 

2. DES(Data Encryption Standard) // 다시 공부

 

(1) DES의 구조

 

 

(2) DES 분석

 

 

(3) 다중 DES

 

 

 

3. AES

 

(1) 개요

 

 

(2) 암호(Cipher)

 

 

 

4. 기타 대칭키 암호 알고리즘

1) IDEA(International Data Encryption Algorithm)

2) RC5

3) SEED

4) ARIA(Academy Research Institute Agency)

5) HIGHT(HIGh security and light weigHT)

6) LEA(Lightweight Encryption Algorithm)

 

5. 현대 대칭키 암호를 이용한 암호화 기법

(1) 블록 암호의 사용 방식

1) 개요

2) Electronic CodeBook(ECB) 모드

3) Cipher Block Chaining(CBC) 모드

4) Cipher FeedBack(CFB) 모드

5) Output FeedBack(OFB) 모드

6) CounTeR(CTR) 모드

 

 

 

 

 

*출처:[알기사] 2019 정보보안기사&산업기사

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

[정보보안기사 PART 01]  정보보호 개요


Section 01 정보보호관리의 개념

 

1. 정보화 사회의 정보보호

 

(1) 정보사회의 특성과 정보화 역기능

1) 정보사회의 특성

 정보사회는 인터넷의 확산전자상거래를 통해 시, 분, 초를 다투는 단일 생활권으로 압축되고 있다. 즉, 전자메일 및 인터넷을 통해 신속하게 정보교환이 이루어짐으로써 재택근무 증가, 홈뱅킹이나 사이버 주식 거래를 나가서 할 필요가 없어졌다.

 

사이버 환경의 특징

-> 비대면성

-> 익명성

-> 시간 및 공간적 운영의 무제한성

-> 무제한적인 정보 및 신속한 전송

-> 미래의 범죄 및 전쟁 공간

 

2) 정보화 역기능

 정보화의 순기능은 편리하고 풍요로운 삶 보장하지만, 역기능은 심각한 사회문제 및 국가 안위까지 위협을 준다.

- 개인의 프라이버시 침해

- 해커와 바이러스의 기승

- 불법적인 위,변조를 통한 각종 컴퓨터 범죄행위

- 정보시스템의 파괴에 의한 사회 마비

 

(2) 정보보호(Information Security)

1) 정의

사전적 의미는 "정보의 수집, 가공, 저장, 검색, 송시, 수신 중에 발생하는 정보의 훼손, 변조, 유출 등을 방지하기 위한 관리적, 기술적 수단, 또는 그러한 수단을 이루어지는 행위"

다른 말로 하면 "기밀성, 무결성, 가용성, 인증성 및 부인방지보장하기 위하여 기술적, 물리적, 관리적 보호대책을 강구하는 것"

 

2) 정보의 가용성과 안정성(보안성)

 정보의 활용(가용성을 의미)과 정보의 통제(안정성을 의미) 사이에서 균형감각을 갖는 행위

 

3) 정보보호의 목표

(가) 기밀성(Confidentiality)

오직 인가된 사람, 인가된 프로세스, 인가된 시스템만이 알 필요성에 근거하여 시스템에 접근해야 한다는 원칙

보안 기술 : 접근제어, 암호화 등

 

(나) 무결성(Integrity)

네트워크를 통하여 송수신되는 정보의 내용이 불법적으로 생성 또는 변경되거나 삭제 되지 않도록 보호되어야 하는 성질

보안 기술 : 접근 제어, 메시지 인증     // 무결성 보장 기술

                 침임 탐지, 백업              // 정보가 변경되었거나 복구할때

 

(다) 가용성(Availability)

시스템이 지체 없이 동작하도록 하고, 합법적 사용자서비스 사용을 거절당하지 않도록 하는 것

보안 기술 : 데이터의 백업, 중복성의 유지, 물리적 위협요소로부터의 보호

 

(라) 인증성(인증, Authenticity)

진짜라는 성질을 확인할 수 있고, 확인신뢰할 수 있다는 것

즉, 정보의 출처를 확인할 수 있는 의미

 

(마) 책임추적성(책임성, Accountability)

정보의 사용 출처를 찾아낼 수 있는 것

-> 개체의 행동을 유일하게 추적해서 찾아낼 수 있어야 한다는 보안 목적이 있다.

보안 기술 : 부인 봉쇄, 억제, 결함 분리, 침입 탐지 예방, 사후 복구, 법적인 조치

 

 

2. 정보보호관리

 

1) 정보보호 관리(Information Security Management)의 개념

 정보는 기업이나 공공기관의 중요한 자산!

 정보가 의도하지 않은 비인가자에게 노출되거나 갈취당하게 되면 위험 초래되기 때문에 관리해야 한다.

 

2) 정보보호 관리와 정보보호 대책

(가) 개요

 정보보호관리는 기술적 보호대책, 물리적 보호대책, 관리적 보호대책으로 구분

 

(나) 기술적 보호대책

- 정보 시스템, 통신망, 정보(데이터)를 보호하기 위한 가장 기본적인 대책

- 보안 대책 : 접근통제, 암호기술, 백업 체제, 정보시스템 자체에 보안성이 강화된 시스템 소프트웨어를 사용하

 

(다) 물리적 보호대책

- 화재, 수해, 지진, 태풍 등과 같은 자연재해로부터 보호하기 위한 대책

- 보안 대책 : 출입통제, 시간 장치

 

(라) 관리적 보호대책

- 법·제도·규정·교육 등을 확립하고, 보안계획 수립하여 이를 운영하며, 위험분석보안감사를 시행해 정보시스템의 안정성과 신뢰성을 확보 위한 대책

- 보안 대책 : 다양한 기술적 보호대책, 계획, 설계, 관리하기 위한 제도·정책·절차 등의 관리적 보호대책, 내부자들 교육

  

3. OSI 보안 구조

(1) 개요

- ITU-T 권고안 X.800, OSI 보안 구조는 관리자가 효과적으로 보안 문제를 조직화할 수 있는 유용한 방법 제공

- OSI 보안 구조 핵심은 보안 공격, 보안 메커니즘, 보안 서비스

   보안 공격(Security attack) : 정보의 안정성 침해하는 제반 행위

   보안 메커니즘(Security mechanism) : 보안 공격 탐지, 예방, 침해 복구하는 절차

   보안 서비스(Security service) : 보안을 강화하기 위한 처리 또는 통신 서비스

 

(2) 보안 공격(Security attack)

(가) 기밀성 위협하는 공격

- 스누핑(Snooping) : 데이터에 대한 비인가 접근 또는 탈취

- 트래픽분석(Traffic Analysis) : 암호화된 데이터를 공격자가 트래픽을 분석함으로써 다른 형태의 정보 얻는 것 

 

(나) 무결성 위협하는 공격

- 변경(메시지 수정, Modification) : 메시지의 일부를 불법으로 수정하거나 전송을 지연

- 가장(Masquerading) : 한 개체가 다른 개체의 행세를 하는 것

- 재연(재전송, Replaying) : 획득한 데이터 단위를 보관하고 있다가 시간이 경과한 후에 재전송

- 부인(Repudiation) : 메시지 송신자는 차후 자신이 메시지를 보냈다는 것을 부인할 수 있고, 메시지의 수신자는 차후에 메시지를 받았다는 것을 부인할 수 있다.

부인에 대한 보안대책 : 부인방지(부인 봉쇄, Nonrepudiation)

 

(다) 가용성을 위협하는 공격

- 서비스 거부(Denial of Service) 

 

(라) 소극적 공격과 적극적 공격

소극적 공격이란?
수동적 공격이라고도 하고, Passive Attack이라고 불린다.
단지 정보를 획득하는 것이다. 데이터를 변경하거나 시스템에 해를 끼치지 않는다.
탐지보다는 예방에 더 많은 신경을 써야 한다.

 

적극적 공격이란?
능동적 공격이라고도 하고, Active Attack이라고 불린다.
데이터를 바꾸거나 시스템에 해를 입힐 수 있다.
방지보다는 탐지가 더 쉽다.

 

Attack Passive/Active Threatening
Snooping, Traffic analysis Passive Confidentiality
Modification, Masquerading, Replaying, Repudiation Active Integrity
Denial of Service Active Availability

 

4. 기본 보안 용어 정의

1) 자산(Asset)

 조직이 보호해야 할 대상으로 데어터 혹은 자산 소유자가 가지를 부여한 실체

 

2) 취약점(취약성, Vulnerability)

 위협의 이용대상으로 관리적, 물리적, 기술적 약점

컴퓨터나 네트워크에 침입하여 화경 내의 리소스에 대한 허가되지 않은 접근을 시도하려는 공격자에게 열린 문을 제공할 수 있는 소프트웨어, 하드웨어, 절차 혹은 인력상의 약점

 

3) 위협(Threat)

 손실이나 손상의 원인이 될 가능성을 제공하는 환경의 집합

 보안에 해를 끼치는 행동이나 사건

 

임의의 위험 4가지

가로채기(interception) : 비인가자가 자산에 접근                 // 기밀성 영향

가로막음(interruption) : 자산 손실, 사용 불가능                  // 가용성 영향

변조(modification) : 비인가가 내용 변경                           // 무결성 영향

위조(fabrication) : 비인가자가 불법 객체의 위조 정보 생성   // 무결성 영향

 

4) 위협 주체(위협원, Threat agents)

 취약점을 이용하는 존재

 

5) 위험(Risk)

 위협 주체가 취약점을 이용하여 위협이라는 행동을 통해 자산에 악영향을 미치는 결과를 가져올 가능성

 

6) 노출(Exposure)

 위협 주체로 인해서 손실이 발생할 수 있는 경우

 

7) 대책/안전장치 (Countermeasure / Safeguard)

 잠재적 위험을 완화시키기 위해 존재

 

8) 다계층 보안/심층 방어(Defense in Depth)

 여러 계층의 보안대책이나 대응수단을 구성

 

 

 

 

 

*출처: [알기사] 2019 정보보안기사&산업기사 

*해당 블로그는 개인적인 공부와 정보 공유를 위해 만들었습니다.

+ Recent posts