본문 바로가기
정보보안기사 필기/1. 정보보안 일반

정보보안기사 필기 1-2. 암호학

by kkmin93 2021. 1. 1.
반응형

정보보안기사 필기 1-2. 암호학

목 차
1. 암호화와 복호화
2. 암호기법의 분류
3. 지적 재산권 보호

 

1. 암호화와 복호화

  • 암호 알고리즘 안에는 "변경가능한 부분"이 반드시 포함되어 있으며, 이 "변경가능한 부분"은 키에 해당한다.
  • 암호화(Encrypt) : 키와 암호 알고리즘을 이용하여 평문을 암호문으로 바꾸는 과정
  • 복호화(Decrypt) : 키와 암호 알고리즘을 이용하여 암호문을 평문으로 바꾸는 과정
암호화를 이용하여 메시지의 "기밀성"을 보장해 줄 수 있으며, 암/복호화는 쉽고 빠르지만 해독은 어려운 시스템일수록 좋은 암호 방식이라고 할 수 있다.

 

2. 암호기법의 분류

1) 치환암호와 전치암호

 

 ■ 치환암호(대치암호, Substitution Cipher)

  • 원문에 있는 문자 또는 문자의 집합을 다른 문자나 문자의 집합으로 대체한다.
  • 평문의 문자를 다른 문자로 교환하는 규칙(다중문자 암호)이다.

 ■ 전치암호(Transposition Cipher, P-box)

  • 평문에 있는 문자 또는 문자의 집합의 위치를 재배열하는 기법이다.
  • 평문의 문자를 원문안에서 자리를 바꾸는 규칙(단일문자 암호)이다.

 

2) 블록암호와 스트림암호

 

 ■ 블록암호(Block Cipher)

  • 어느 특정 비트 수의 집합을 한 번에 처리하는 암호 알고리즘
  • 평문을 일정한 크기의 블록으로 잘라낸 후 블록을 한 번에 암호 알고리즘을 적용하는 암호 알고리즘의 총칭이다.
  • 이런 암호화 과정(Round)을 반복적으로 수행하여 암호화 강도를 높혀준다.
  • 높은 확산과 해시함수 등 다양하게 사용되지만, 느린 암호화와 에러 전파가 될 수 있는 단점이다.
  • Feistel, SPN 등이 있다.

 ■ 스트림 암호(Stream Cipher)

  • 대칭키 암호의 구조 중 하나로, 한 번에 1비트 혹은 1바이트의 데이터 흐름(스트림)을 순차적으로 처리해가는 암호 알고리즘의 총칭이다.
  • 암호문을 평문과 키 스트림을 XOR 연산하여 생성하며, 긴 주기와 높은 선형복잡도가 요구된다.
  • 스트림 암호는 블록암호와 다르게 데이터 흐름을 순차적으로 처리하기 때문에 암호화/복호화의 진행정도를 파악 할 수 있어야 하기 때문에 내부상태를 가지고 있다.
  • 1비트씩 암호화 하기 때문에 하드웨어적인 Shift Register 방식을 많이 쓰고 수학적 분석이 가능하다.
  • 암호화 속도가 빠르며, 에러 전파현상이 없어 음성, 비디오/오디오 스트리밍에 유용하지만, 낮은 확산이 단점이다.

 

3) 동기식 스트림암호와 비동기식(자기 동기식)스트림 암호

 

 ■ 동기식 스트림 암호(Synchronous Stream Cipher)

  • 키 스트림과 평문/암호문이 아무런 관계가 없기 때문에 암호화와 복호화시 상호 동기화가 필요하다.
  • 의도적인 변조를 복호화 단계에서 검출해 낼 수 없다.
  • 암호화 문자열을 전송할 시에 특정 비트가 다른 값으로 손상되었어도 복호화 시 다른 비트에는 영향을 미치지 않아, 전송 도중에 변조가 되어도 후속 암호문에 오류의 영향이 파급되지 않는다.
  • 하지만, 전송 오류에서 비트가 사라지거나 잘못된 비트가 추가되는 경우 오류가 난 시점 이후의 복호화가 실패하게 되어, 전송 시에 동기화가 필요하다.

 ■ 비동기식 스트림 암호(Self-Synchronizing Stream Cipher)

  • 키 스트림 생성 시 이전의 평문이나 암호문에 종속되어 결정이되어 상호 동기화가 필요없다. 즉, 입력값이 키 스트림 생성에 영향을 미치며 이전 내부 상태에 의존하지 않는다.
  • 변조된 암호문이 후속 암호문 복호화에 사용되지 않아 오류 파급이 제한적이다.
  • 암호화 문자열을 전송할 시에 일부 비트가 값이 바뀌거나, 오류가 발생하여도, 일부분만이 복호화에 실패하며 그 이후에는 다시 정상적인 복호화 값을 얻을 수 있는 자기 동기성을 가진다. 즉, 암호문이 전송도중 변경되어도 자기 동기화가 가능하다.
  • 대표적으로 LFSR(Liner Feedback Shift Register)가 있으며, 레지스터에 입력되는 값이 이전 상태의 값들의 선형함수로 계산되는 구조이다. 

 

동기화란 여기서 암호화나 복호화 시 "키 스트림을 생성"을 이야기 한다고 생각하면 될 거 같다. 
※ LFSR(Liner Feedback Shift Register)의 특징
 ① 4비트 단위 상태 값 사용하며 길이가 작으면 쉽게 해독될 수 있다.
 ② 초기 값을 Seed라고 한다.
 ③ 선형함수는 XOR 연산을 사용한다.
 ④ 레지스터가 가질 수 있는 값은 유한적이며, 특정 주기에 의해 반복된다.
 ⑤ LFSR의 길이 중 최소의 길이를 선형복잡도라고 한다.
 ⑥ 비교적 작은 비트로 아주 긴 무작위 암호키를 만드는 장점이 있으며, 알려진 평문공격에 취약하다.

 

4) 위치에 따른 암호화의 구분

 

■ 링크 암호화(Link Encryption, L1~L2)

  • 물리적 계층 또는 데이터링크 계층에서 일어나며 헤더 정보를 포함한 모든 정보가 암호화되기 때문에, 라우터는 패킷의 헤더 부분을 해독하고, 해더 내의 라우팅과 주소 정보를 읽고, 다시 암호화를 하여 진행 방향으로 보낸다.
  • 장점 : 투명성(Transparent)있는 암호화 운영이되며, 트래픽 분석이 어렵고 온라인으로 암호화가 가능하다.
  • 단점 : 중간 노드에서 데이터가 평문으로 노출되며, 모든 노드가 암호화 장비를 갖춰야하며 중계노드에 키를 전달해줘야 하기때문에 키 관리가 어렵다.

■ 종단간 암호화(End-to-End Encryption, L7)

  • 애플리케이션 계층에서 암호화가 이루어지며 헤더와 트레일러가 암호화되지 않기 때문에 각 노드에서 암/복호화할 필요가 없이 출발지와 목적지 정보만 읽고 패킷을 진행 방향으로 보낸다.
  • 장점 : 사용자가 암호화하여 보다 나는 유연성을 제공하며, 사용자 인증 등 높은 보안 서비스를 제공한다.
  • 단점 : 트래픽 분석에 취약, 오프라인으로 암호화

 

5) 암호 분석(암호 해독)

암호해독과 복호화의 차이는 『복호화』는 정상적으로 복호화키를 사용하여 암호문을 평문으로 복원하는 과정이고, 『해독』은 복호화키를 모르는 상태에서 암호문을 평문으로 복원하는 비정상적인 과정을 말한다.

 

 ■ 암호문 단독 공격(COA, Ciphertext Only Attack)

  • 공격자가 암호문만을 가지고 대응되는 평문과 키를 찾는아 평문을 얻어내는(스니핑) 공격이다. 단, 공격자는 암호 알고리즘을 알고 있고, 암호문을 가로챌 수 있다고 가정한다.
  • 암호문 단독 공격은 가장 쉽게 적용될 수 있는 공격이며, 공격자에게는 가장 불리한 방법이다.
  • 통계적 성질, 문장의 특성을 추정하여 해독하는 방법이다.

 

 ■ 기지 평문 공격(알려진 평문 공격, KPA, Known Plaintext Attack)

  • 공격자는 암호문 외 추가로 암호문에 대응하는 일부 평문이 사용가능한 상황에서 평문을 얻어내는 공격이다.
  • 암호문과 평문의 관계로부터 키나 다른 평문을 추정하여 해독하는 방법이다.

 ■ 선택 평문 공격(CPA, Chosen Plaintext Attack)

  • 기지 평문 공격과 유사하지만 공격자에게 주어지는 평문/암호문 쌍을 공격자가 선택하는 공격이다. 즉, 평문을 선택하면 대응하는 암호문을 얻을 수 있는 상황에서의 공격으로 공격자는 암호기에 접근 할 수 있다는 가정을 둔다.

 ■ 선택 암호문 공격(CCA, Chosen Ciphertext Attack)

  • 공격자가 암호문을 선택하면 그에 대응되는 평문을 얻을 수 있는 상황에서 공격으로 공격자는 복호기에 접근 할 수 있다는 가정을 둔다.
  • 선택 암호문 공격에 견딜 수 있는 암호 알고리즘이 강한 알고리즘이라고 말할 수 있다.

 

3. 지적 재산권 보호

 ■ 스테가노그래피(Steganography)

  • 암호화는 메시지의 내용을 은폐하는 것을 의미하며, 스테가노그래피는 다른 무언가로 감추어 메시지 자체를 은폐하는 것을 의미한다.

 ■ 디지털 워터마킹(Digital Watermarking)

  • 원본의 내용을 왜곡하지 않는 범위 내에서 혹은 사용자가 인식하지 못하도록 저작권 정보를 디지털 콘텐츠에 삽입하는 기술을 말한다.
  • 이미지, 오디오, 비디오 등 일부 비트 대신 저작권 정보 등 다른 정보를 추가하더라도 사용자는 인지하지 못하는 성질을 이용한다.
  • 약한(연성) 워터마킹은 고의로 내성이 약한 워터마크를 삽입해 잘 소멸되도록 만들어 워터마크가 검출되지 않거나 변조된 부분에 대하여 원본의 훼손 여부를 알아내는 방법으로 원본 콘텐츠의 무결성을 보장한다.
  • 강한(강성) 워터마킹은 저작권자(판매자)만이 추출할 수 있는 저작자의 정보를 시각과 청각으로는 구분할 수 없게 삽입하는 기술로 콘텐츠의 저작권을 보호하는 기술이다.

 ■ 핑거프린팅(Fingerprinting)

  • 디지털 콘텐츠를 구매할 때 구매자의 정보를 삽입하여 불법 배포 발견 시 최초의 배포자를 추적할 수 있게 하는 기술이다.
  • 핑거프린팅이 삽입된 콘텐츠는 삽입되는 내용이 구매자마다 다르므로, 다수의 구매자들이 서로 공모하여 핑거프린팅이 삽입된 콘텐츠를 서로 비교하여 핑거프린팅을 제거하여 콘텐츠를 재구성하여 배포하는 공모공격(Collusion attack)에 매우 취약한다.

 ■ DRM(Digital Rights Management)

  • 디지털 콘텐츠 소유자가 배포한 디지털 콘텐츠를 자신이 의도한 용도로만 사용되도록 콘텐츠의 생성, 유통, 이용까지의 전 과정에 걸쳐 사용되는 디지털 콘텐츠 관리 및 보호기술이다.
반응형