시험에 나오는 암호학 – 전체 요약, 이걸로 끝 !!

-

암호학 개요

기본용어

암호화 알고리즘 : 암호화 방법

키 : 암호화 알고리즘에 사용되는 것

평문(P, Plain text) : 암호화 하기 전 메시지

암호문(C, Cyper text) : 암호화 하기 전 메시지

암호화 : 암호화 알고리즘을 통해 평문을 암호문으로 만드는 것

복호화 : 복호화 알고리즘을 통해 암호문을 평문으로 만드는 것.

암호 상식

1) 비밀 암호알고리즘을 사용하지 말 것.

독자적으로 만들어낸 암호 알고리즘은 구조가 폭로되면 끝이고, 오히려 공개하고 검증받아 검증된 알고리즘을 사용하는 것이 안전

2) 약한 암호는 암호화하지 않는것보다 위험하다

약하게 암호화 하고 잘못된 안심하는 것이 더 위험

3) 어떤 암호라도 언젠가는 해독된다.

다만 시간이 걸릴 뿐, 걸리는 시간과 정보의 가치를 비교해보자. 1년걸려서 100원짜리 정보를 얻을 필요가 있는가? 10년걸려도 100억짜리 정보라면?

4) 암호는 보안의 아주 작은 부분이다.

암호화 한다고 해서 안전한게 아니라는 것!

암호화 구분

링크 암호화 : 네트워크 에서 전달되는 과정을 암호화 하는 것으로, 모든 정보가 암호화 되며, 홉(전달해주는 장비)에서 해독된다.

종단간 암호화 : 수신지와 도착지에서만 암호화가 이루어지는 방식, 트래픽 분석에는 취약할 수 있음

암호화 기법

고전암호, 전치 (Permutation)

평문 내에서 문자열의 위치를 바꾸는 것. ex) aabbccde >> babadcec , 기존 문자열은 동일하나 순서만 바꿈

실질적인 암호화라고 보기는 어렵고, 암호문을 위치만 바꿔놓은 것으로, 스테가노그래피에 가까움. ex) 3행시, 5행시 등등

고전암호. 치환 (Substitution)

평문 내 문자열을 다른 문자여롤 바꾸는 것. ex) aabbccde >> bbccddef , 순서느 동일하나, 정해놓은 문자열로 바꿈.

단점 : 특정 문자열이 많이 등장하여 빈도분석을 통해 해독가능. ex) 알파벳은 e,a,i,o,u가 많이쓰이고 한글은 은는이가 가 많이쓰임

치환암호 종류

시저암호 : 알파벳 26글자를 3칸 또는 4칸을 오른쪽으로 이동

모노 알파베틱 암호 : a~e까지 정해놓은 치환 표를 만들고 그에 맞게 치환

비즈네르 암호화 : a~e까지 쌍을 가진 표를 만들고 그에 맞게 치환. 한 글자가 여러개로 바뀌기 때문에 빈도분석 불가

플레이페어 암호화 : 2개의 문자쌍을 다른 문자 쌍으로 대체

블록암호 / 대칭키 암호

평문을 일정 크기 단위로 자른 블록으로 만들어 이를 단위로 암호화 하는 방식

암호화 할때와 복호화 할때 사용하는 키가 같으며, 비대칭키 암호 방식보다 속도가 빠르다.

단점 : 키를 전달하기가 어렵다. 관리할 키 개수가 많아지낟(사용하는 사람이 많아지고, 각각의 통신을 암호화 하면..)

섀넌의 암호 이론 : 암호는 혼돈과 확산을 만족하는 것

혼돈 : 암호문에서 키를 알아내기 어렵게 만드는 성질. 암호문과 평문의 통계적 성질의 관계를 난해하게 만드는 성질

확산 : 암호문에서 원본을 알아내기 어렵게 만드는 성질. 각각의 평문 비트와 키 비트가 암호문의 모든 비트에 영향을 줌

블록암호는 혼돈을 달성하기 위한 방법으로 치환, 확산을 달성하기 위한 방법으로 확산을 반복 사용합니다.

DES (Data Encryption Standard)

블록크기는 64비트, 암호화키는 56비트이다. 총 16라운드이며, 복호화는 암호화의 반대, feistel

수행과정 : 블록크기를 각각 32비트(L1,왼쪽) 32비트(R1,오른쪽) 으로 나눈 뒤, R1은 S-BOX를 통해 f함수를 만들어 치환한 후, L1과 논리합, L2와 R2의 위치를 바꾸는 전치를 통해 이루어진다.

트리플 DES : DES알고리즘과 같으나, 2개의 암호화 키 사용. AES로 대체됨

DES는 현재는 잘 사용되지 않음

AES (Advanced Encryption Standard)

블록크기는 128비트, 키 길이 : 128/196.256비트, SPN구조

SEED

국내 알고리즘, 블록크기는 128비트, 128비트 키 길이 SEED 128, 256비트 키 길이 SEED 256 등 있으며 전자상거래, 금융, 무선통신 등에 사용

ARIA

국내 알고리즘, 128비트 블록, 키 길이는 128/192/256

RC5

하드웨어에 적합하며, 키는 32/64/128비트이며 속도는 DES의 10배

스트림 암호

블록이 64비트 등 모아서 처리한다면, 스트림은 한 번에 1비트나 1바이트 단위로 들어오는 데이터를 순차적으로 암호화 하는 방식이다.

순차적으로 처리되기 때문에, 중간에 통신이 끊겨도 받은 메시지까지는 알 수 있으며, 속도가 빠르고 통신에 적합하여 군사 및 외교용에서 많이 쓰인다.

단점은 확산의 암호강도가 낮다. (아무래도 순차적으로 처리되어서 각 데이터마다 영향을 끼치지 않기 때문에)

디피 헬만 알고리즘

키를 공유하기 위한 알고리즘으로 이산대수의 어려움을 이용

철수와 영희가 공개키를 서로 보내고, 디피헬만 알고리즘을 이용하여 비밀키를 생성한다. 수학적으로 두 비밀키는 같아진다.

단점 : 인증과정이 없어, 다른사람이 공개키를 이용하여 비밀키를 알아낼 수 있음. 재전송 공격에 취약

비대칭 암호

암호화 키와 복호화 키가 다른 암호 알고리즘이다. 자신만 보유하는 비밀키(개인키)와 다른 사람들에게도 공유하는 공유키가 있다.

대칭 암호알고리즘이 혼돈과 확산에 근거했다면, 비대칭 암호 알고리즘은 수학적으로 계산 불가능하다는 것을 바탕으로 한다.

비대칭 암호의 특징 : 기밀성, 부인방지(발뺌방지)

RSA

소인수 분해에 근거하며, N = p x q (p,q는 소수) 일때, N만으로 p, q를 구하지 못한다는 점에서 근거한다.

ex) N=175,828,273 일 때, p와 q는? p는 17,159 이고 q는 10,247이다

해시

해시는 암호화와 다르게 복호화 과정 자체가 없는 것이 가장 큰 특징이며, 특정 데이터를 신속하게 못알아차릴만한 값으로 변경하는게 목적이다.

특징 : 입력길이와 관계없이 결과값의 길이가 같으며, 평문이 1만 달라져도 결과값의 차이는 크다(확산이 좋다)

종류 : MD5, SHA,

암호 분석

케르히호프의 원리 : 암호 해독자는 현재 사용되고 있는 암호 방식을 알고 있다는 전제하에 암호 해독을 시도하는 것으로 간주

암호문 단독 공격 : 암호문만 가지고 평문과 키를 찾아내는 것

기지 평문 공격 : 암호문과 평문 쌍 예시들을 가지고 암호문으로부터 평문을 찾아내는 것.

선택 평문 공격 : 암호화가 가능한 상황. 내가 원하는 평문을 선택하여 암호화 할 수 있는 상태에서 공격

선택 암호문 공격 : 복호화가 가능한 상황.

암호의 활용

전자서명과 전자봉투

전자서명

서명자가 서명한 정보가 정확한지 확인하기 위한 방법이다.

  1. 송신자는 원본값을 해시한다. (데이터에 대한 무결성)
  2. 송신자의 개인키로 암호화 한다. (개인키로 암호화했다는건 송신자만이 암호화 할 수 있다는 증거)
  3. 원본 메시지와 함께 보낸다. (수신자가 비교해볼 데이터를 전송)

수신자는

  1. 공개키로 암호화된 데이터를 복호화 한다. (공개키로 복호화 했기 때문에, 송신
  2. 원본 데이터를 해시한다
  3. 해시된 데이터와 맞는지 비교해본다

전자서명의 특징

전자서명을 이용한 문서는 누구나 읽을 수 있으므로 기밀성은 만족하지 않지만, 아래 사항들을 만족한다

  • 위조불가 : 서명자만 서명문을 생성할 수 있다
  • 인증 : 서명문의 서명자를 확인할 수 있다
  • 재사용 불가 : 서명문의 해시값을 이용하므로, 다른 문서의 서명으로는 이용하지 못한다
  • 변경 불가 : 서명된 문서의 내용을 변경할 수 없다
  • 부인 방지 : 서명자가 나중에 서명한 사실을 부인할 수 없다.

전자봉투

전자봉투는 전자서명의 단점인 기밀성을 극복한 알고리즘으로 기밀성, 무결성, 부인방지를 모두 만족한다.

기밀성을 극복하기 위해 전자서명과 인증서를 비밀키로 암호화 한다. (기밀성 확보)

(원본길이가 길면 속도 영향이 커지며, 이를 위해 속도가 빠른 대칭키 알고리즘을 이용)

이후 비밀키를 전달하기 위해 수신자의 공개키를 이용하여 암호화 하여 전달한다.

공인인증서

사이버 공간에서 본인인증을 위해 필요한 일종의 전자 신분증

공개키 기반 구조

공인인증서는 공개키와 공개키의 소유자를 연결시켜주는 전자문서로, 신뢰할 수 있는 인증기관이 전자서명하여 생성하며 인증기관이 공개키를 공증해 준다

  • PAA(Policy Approval Authorities, 정책승인기관) : 공인인증서에 대한 정책 결정, 하위 기관 정책 승인. 미래창조과학부가 담당
  • PCA(Pilicy Certification Authorities, 정책인증기관) : PAA의 하위기관으로, RootCA를 발급하고 기본 정책을 수립한다. KISA(한국정보보호진흥원)이 해당되며, 인증서에 포함된 공개키에 대응되는 개인키로 생성한 자체 서명 인증서를 사용한다.
  • CA(Certification Authority, 인증기관) : PCA의 하위 기관으로 인증서 발급과 취소 등 실직적인 업무를 수행하며, 금융결제원(yessign), NCA(한국 전산원이 이에 해당
  • RA(Registration Authority, 등록기관) : 사용자의 신분을 확인하고 CA간 인터페이스를 제공하는 기관

공인인증서에 포함되어야 할 사항

인증서는

  • 가입자의 이름(법인인 경우 법인명)
  • 가입자의 전자서명검증정보
  • 가입자와 공인인증기관이 이용하는 전자서명 방식
  • 공인인증서의 일련번호
  • 공인인증서의 유효기간
  • 공인인증기관의 명칭 등 공인인증기관임을 확인할 수 있는 정보
  • 공인인증서의 이용범위 또는 용도를 제한하는 경우 이에 관한 사항
  • 가입자가 제3자를 위한 대리권 등을 갖는 경우 또는 직업상 자격등의 표시를 요청한 경우 이에 관한 사항
  • 공인인증서임을 나타내는 표시

공인인증서의 효력 소멸

  • 공인인증서의 유효기간이 경과한 경우
  • 공인인증기관의 지정이 취소된 경우
  • 공인인증서의 효력이 정지된 경우
  • 공인인증서가 폐지된 경우

공인인증서의 폐지

인증서는 한 번 폐기되면 더이상 사용 불가하다.

인증시 인증서 폐기 목록을 확인한 후 유효한 인증서인지 확인해야 한다.

인증기관은 CRI(Certification Revocation List, 인증서 폐기 목록)을 주기적으로 발급하며, 이 역시 전자서명을 하여 발급한다.

  • 가입자 또는 그 대리인이 공인인증서의 폐지를 신청한 경우
  • 가입자가 부정한 방법으로 공인인증서를 발급받은 경우
  • 가입자가 사망, 실종선고 또는 해산된 경우
  • 가입자의 전자서명생성정보가 분실/훼손/도난/유출된 경우

전자상거래

전자상거래의 보안 공격 유형

  • 인증에 대한 공격 : 네트워크를 통해 접근한 사용자가 적절하지 못한 인증을 통해 다른 사용자로 위장하는 것
  • 송수신 부인 공격 : 네트워크를 통해 수행한 인증 및 거래 내역에 대해 부인하는 것
  • 기밀성에 대한 공격 : 네트워크를 통해 전달되는 인증 정보 및 주요 거래 정보가 유출되는 것
  • 무결성에 대한 공격 : 네트워크의 도중에 거래 정보 등이 변조되는 것

전자상거래보안 요건

  • 상대방과 자신에 대한 신분 확인 수단이 필요
  • 거래 내역의 공증을 보장할 수 있는 신뢰할 만한 제 3자의 중재
  • 전자지불 방식의 안정성을 보장하기 위한 방법

전자결재

SET 알고리즘

스마트카드

암호화 통신

전자우편

PGP : 개인의 정보보안을 위해 나온 이메일 프로토콜로, 수평적인 구조가 특징. 내가 신뢰하는 사람이 신뢰하는 다른 누군가를 나 또한 신뢰한다는 Web of Trust 라는 독자적인 프로토콜을 도입하여 사용한다. 수직적인 인증서 구조와 달리 수평적인 프로토콜인게 특징이다.

S/MIME (Secure / Multipurpose Internet Mail Extensions) : 인증서를 통해 암호화한 메일 서비스를 제공한다. SMTP라는 이메일 전송 프로토콜이 7바이트의 아스키 문자만 전송하는데, 다른 미디어 파일들도 호환 가능하도록 MIME를 쓰고, 이를 보안적으로 보완한것이 S/MIME이다.

PEM : IETF에서 채택한 표준으로 높은 보안성을 가지지만, 구현의 복잡성 등의 이유로 널리 사용되지는 않는다. X.509 인증서를 기반으로 한다.

네트워크 암호화

2계층 데이터링크

PPTP : MS가 제안하였으며, PPP 프로토콜에 기초한다. 두 대의 컴퓨터가 직렬 인터페이스를 이용할때 사용

L2TP : 시스코가 제안한 L2F와 PPTP가 결합된 프로토콜이다.

PPTPL2TP
네트워크
터널링
압축 및 인증0
공통점

3계층 네트워크 계층

IPSec

4계층 전송계층

SSL

컨텐츠 보안

스테가노 그래피 : 암호화와는 다르게 데이터를 연산해서 찾는 것이 아니라, 어딘가 숨겨놓은 것. 인간의 눈으로 보기 힘든 곳에 표시를 한다든지 등

워터마킹 : 원본 내용을 왜곡하지 않는 범위 내에서 저작권 정보를 삽입하는 기술

핑거프린팅: 구매자의 정보를 삽입하여 추적할 수 있게 하는 기술

DRM (Digital Rights Management, 디지털 저작권 관리)

자신의 콘텐츠에 대한 접근을 자신 또는 자신의 위임자가 지정하는 다양한 방식으로 제어할 수 있게 하는 기술적인 방법 또는 방법의 집합

DRM 구성요소

메타데이터 : 콘텐츠 생명주기 범위 내에서 관리되어야 할 각종 데이터의 구조 및 정보

시큐어 컨테이너 : DRM의 보호 범위 내에서 유통되는 컨텐츠의 배포 단위

패키저 : 보호 대상인 콘텐츠를 메타데이터와 함께 Secure Container 포맷으로 패키징 하는 모듈

DRM 제어기 : 콘텐츠를 이용하는 사용자의 PC 또는 디바이스 플랫폼에서 컨텐츠가 라이센스에 명시된 범위 내에서 지속적으로 보호될 수 있도록 프로세스를 제어

DRM 모델

콘텐츠 제공자 : 콘텐츠에 대한 디지털 권리를 가지고 권리 보호를 원하는 자.

콘텐츠 배포자 : 콘텐츠 유통 채널을 제공하는 자. 소비자에게 정당한 콘텐츠를 전달하고 클리어링 하우스로부터 합당한 대금을 분배 받는다.

콘텐츠 소비자 : 클리어링 하우스를 통해 콘텐츠에 대한 권리를 요청하고 합당한 대금을 지불한다

클리어링 하우스 : 디지털 허가를 소비자에게 발급해주고, 콘텐츠 제공자에게 로열티 수수료를 지불한다. 모든 소비자에게 허가된 사용을 기록한다

콘텐츠 사용 규칙을 표현하는 언어를 REL(Rights Expression Language, 권리 표현 언어) 라고 하며, ODRL과 MPEG REL 이 있음

Share this article

Recent posts

컴퓨터 구조 암기노트

데이터베이스

Google search engine

Popular categories

Recent comments