Skip to content

Latest commit

 

History

History
281 lines (206 loc) · 19.3 KB

Part2_암호학개요.md

File metadata and controls

281 lines (206 loc) · 19.3 KB

1. 암호학의 기본 개념

1) 암호학이란?

  1. 암호학이란 평문을 다른 사람이 알아볼 수 없는 형태의 암호문을 만들고 특정한 비밀키를 알고 있는 사람만이 다시 평문으로 복원시킬 수 있도록 하는 암호기술과 이를 제3자(도청자)가 해독하는 방법을 분석하는 암호해독에 관하여 연구하는 학문이다.
  2. 암호는 약속된 당사자 또는 집단에서만 암호문에 내포된 내용을 알 수 있게 하는 일종의 문서이다.

2) 암호화 & 복호화

  1. 메일을보낼때 적힌 평문을 암호하는 과정을 암호화라고한다. 이과정은 송신자가 한다.
  • 암호라는 기술은 메일의 기밀성을 유지한다.
  • 암호화는 평문을 암호문으로 바꾸는 과정이다. 이때 키와 알고리즘을 통해서 평문을 암호문으로, 암호문을 평문으로 변경할 수 있다. 이렇게 암호화와 복호화를 수행하는 시스템을 암호시스템이라고 한다.
  1. 암호화된 평문을 해독하는 것을 복호화 라고하며 수신자가 해야한다.

3) 암호화와 복호화의 기호적 표현

  • 평문 : M 또는 P
  • 암호문 : C
  • 암호 알고리즘 : E
  • 복호화 알고리즘 : D
  • 키 : K
    ex) C = E(K,P) 또는 P = D(K,C)

4) 암호화 보안 상식

  1. 비밀 암호 알고리즘을 사용하지 말 것
  2. 약한 암호는 암호화하지 않는 것보다 위험하다.
    - 가장 큰 이유는 사용자가 [암호]라고 하는 말로 인해 [잘못된 안심]을 하기 때문이다.
  3. 어떤 암호라도 언젠가는 해독된다.
  4. 암호는 보안의 아주 작은 부분이다.
    - 요즘은 피싱(Phising), 트로이목마(Trojan Horse), 키로거(Keylogger) 등의 다양한 공격이 있기때문이다.

2. 암호 기법의 분류

1) 치환 암호 & 전치 암호

  • 치환 암호(대치 암호, Substitution Cipher)
  1. 비트, 문자 또는 문자의 블록을 다른 비트, 문자 또는 블록으로 대체한다. (참고 : https://ko.wikipedia.org/wiki/%EC%B9%98%ED%99%98_%EC%95%94%ED%98%B8)
  • 전치 암호(Transposition Cipher)
  1. 원문을 다른 문서로 대체하지 않지만 원문을 여기저기 움직이게 한다. 그것은 비트, 문자 또는 블록이 원래 의미를 감추도록 재배열한다.(참고 : https://m.blog.naver.com/wnrjsxo/221705557143)
  2. 자리를 바꾸는 규칙

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

  • 블록 암호 (Block Cipher)
  1. 평문을 일정한 크기의 블록으로 잘라낸 후 암호화 알고리즘을 적용하여 암호화한다. (참고 : https://www.secmem.org/blog/2019/02/06/block-cipher/)
  • 스트림 암호 (Stream Cipher)
  1. 한번에 1비트 혹은 1바이트 데이터 흐름(스트림)을 순차적으로 처리해가는 암호 알고리즘의 총칭
  2. 암호방식은 평문과 키스트림을 XOR하여 생성
  3. 스트림 암호는 군사 및 외교용으로 널리 사용됨
구분 스트림 암호 블록 암호
장점 암호화 속도가 빠름, 에러 전파현상 없음 높은 확산, 기밀성, 해시함수 등 다양
단점 낮은 확산 느린 암호화, 에러 전달
사례 LSFR, MUX generator DES, IDEA, SEED, RC5, AES
암호화 단위 비트 블록
주요 대상 음성, 오디오/비디오 스트리밍 일반 데이터 전송, 스토리지 저장

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

  • 링크 암호화(Link Encryption)
  • 종단간 암호화(End-to-End Encryption)
구분 링크 암호화 종단간 암호화
특징 유저가 알고리즘을 통제할 수 없으며
모든 데이터를 암호화한다.
사용자가 암호화 하며 사용자가
알고리즘을 통제 할 수 있다.
장점 트래픽 분석 공격을 어렵게 만들고
운영이 간단하다.
높은 수준의 서비스를 제공할 수 있다.
단점 비용이 비싸고 서비스 제공에
한계가 있다.
트래픽 분석 공격에 취약하다.

4) 하드웨어와 소프트웨어 암호시스템

  • 하드웨어 암호시스템
  1. 컴퓨터와 통신기기의 내부버스와 외부 인터페이스에 전용 암호처리용 하드웨어를 설치하여 데이터를 암호화한다.
  2. 전용 하드웨어로 암호화함으로써 컴퓨터 CPU에 부담을 주지 않고 빠른 속도로 암호화가 가능하며, 이는 보안성 확보를 위해 바람직하다.
  • 소프트웨어 암호 시스템
  1. 소프트웨어에 의한 실현은 암호처리용 소프트웨어를 사용한 데이터 암호화로 가능하다.
  2. 소프트웨어에 의한 암호화는 저렴한 비용으로 실현이 가능
  3. 개인용 컴퓨터 CPU의 처리가 무척 빨라져 소프트웨어에 의한 암호화를 행해도 처리속도가 문제되지 않기 때문에 최근에는 소프트웨어에 의한 처리가 주류를 이루고 있다.

3.주요 암호기술에 대한 개괄

1) 대칭키 암호와 비대칭키 암호

  1. 대칭키 암호(symmetric cryptography) : 암호화할 때 사용하는 키와 복호화할 때 사용하는 키가 동일한 암호 알고리즘 방식
  2. 비대칭키 암호(asymmetric cryptography) : 암호화할때 사용하는 키와 복호화할 때 사용하는 키가 서로 다른 암호 알고리즘 방식 (=공개키 암호)

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

  1. 대칭키 암호 + 공개키암호 장점을 조합

3) 일방향 해시함수

  1. 해시값은 일방향 해시함수(one-way hash function)를 사용하여 계산한 값이다.
  2. 일방향 해시함수를 통해 확인할 수 있는 것은 문서의 기밀성이 아니라 무결성(integrity)이다. 무결성이라는 것은 수신한 데이터가 웹 사이트의 원래 데이터와 동일하다는 것을 의미한다. 무결성은 완전성이라고 하기도 한다.

4) 메시지 인증코드

  1. 매시지가 생각했던 통신 상대로부터 온 것임을 확인하기 위해서 메시지 인증코드(message authentication code)라는 기술을 사용한다.
  2. 메시지 인증코드를 사용하면 그 메시지가 전송 도중에 변경이 되지 않았다는 것과 생각했던 통신 상대로부터 왔다는 것을 확인할 수 있다.
  3. 메시지 인증코드는 "무결성"과 "인증"을 제공하는 암호 기술이다.

5) 전자서명

  1. 전자서명이란 오프라인(off-line)세계에서 사용하는 도장이나 종이 위에 하는 서명,날인의 개념을 온라인(on-line)세계에 적용을 한 것이다.
  2. 거짓행세(spoofing ), 변경, 부인이라는 위협을 방지하는 기술이 전자서명이다.
  3. 전자서명은 무결성을 확인하고, 인증과 부인방지를 하기 위한 암호 기술이다.

6) 의사난수 생성기

  1. 의사난수 생성기(PRNG, pseudo random number generator)는 난수열을 생성하는 알고리즘이다.
  2. 난수는 키 생성(key generator)이라는 매우 중요한 역할을 담당하고 있다.

4. 암호 분석(암호 해독)

1) 개요

  1. 암호 방식의 정규 참여자가 아닌 제 3자가 암호문으로부터 평문을 찾으려는 시도를 암호 해독(cryptanalysis) 또는 공격이라 하며 암호 해독에 참여하는 사람들을 암호 해독자, 제 3자 또는 침해자 라고 한다.

2) 암호 분석의 분류

  • 암호문 단독 공격 (COA, Ciphertext Only Attack)
  1. 암호공격할때 공격자가 가장 불리한 공격방식으로 [ 단지 암호문만을 가지고 이걸로 평문이나 키를 찾아내는 것 ]이다. 대다수 사람들이 암호 시스템을 깬다고 얘기할 때 쓰는 의미이기도 하다.
  • 기지 평문 공격(알려진 평문 공격, KPA, Known Plaintext Attack)
  1. 암호문에 대응하는 [ 일부 평문이 사용가능한 상황 ]에서의 공격이다.
  2. 키와 전체평문을 추정하여 해독하는 방법으로 결국에는 복호키를 찾는 공격이다.
  • 선택 평문 공격(CPA, Chosen Plaintext Attack)
  1. [ 평문을 선택하면 대응하는 암호문을 얻을 수 있는 상황 ]에서의 공격이다.
  • 선택 암호문 공격 (CCA, Chosen Ciphertext Attack)
  1. [ 암호문을 선택하면 대응하는 평문을 얻을 수 있는 상황 ]에서의 공격이다.
  2. 선택 암호문 공격에서는 평문 값과 암호문 값 모두를 선택한다.

5. 암호 알고리즘의 안정성 평가

1) 안전성 개념

  1. 주어진 암호 시스템의 안전성을 말할 때는 두 가지 관점이 있다.

  2. 첫 번째는 암호시스템을 공격하기 위해 필요한 계산량이 매우 커 현실적으로 공격할 수 없는 경우를 계산적으로 안전하다고 한다.

  3. 두 번째는 무한한 계산능력이 있어도 공격할 수 없는 경우를 무조건적으로 안전하다고 말한다. 암호 알고리즘 사용자가 해야 할 일은 다음 두 기준 중의 하나 또는 전부를 만족하는 알고리즘을 개발하는 것이다.

    • 암호 해독 비용이 암호화된 정보의 가치를 초과
    • 암호 해독 시간이 암호화된 정보의 유효기간을 초과

2) 암호제품 평가체계

  1. 정보보호제품의 안전한 선택 및 사용을 위한 기본적인 선택기준은 신뢰기관의 안정성평가 결과일 것이다. 이러한 안정성 평가는 현재 세계적으로 공통 평가를 위한 체계를 준비 중에 있으며, 가장 대표적인 것이 CC(Common Criteria) 기반의 정보보호제품 평가이다. (참고 : https://ko.wikipedia.org/wiki/%EA%B3%B5%ED%86%B5%ED%8F%89%EA%B0%80%EA%B8%B0%EC%A4%80)

  2. 그러나 CC기반의 평가기준에서는 정보보호분야의 핵심기술인 암호 알고리즘에 대한 평가기준을 따로 명시하지 않고 각국이 독자적으로 하도록 규정하고 있다. 이를 구현한 암호모듈에 대한 평가 또한 독자적으로 하도록 규정하고 있다.

  3. 암호모듈에 대한 안정성평가로 가장 널리 참조되는 것은 미국의 NIST가 수행하는 CMVP(Cryptographic Module Validation Program)이며, 세계적으로 인정받고 있다.


3) 암호기술 평가

  • 평가 종류
  1. 암호 알고리즘 평가
    • 정보보호제품에 탑재된 암호 알고리즘에 대한 안정성 평가.
    • 알고리즘 자체의이론적 안정성만을 평가
  2. 암호모듈 평가
    • 암호 알고리즘을 이용하여 제공되는 암호서비스(기밀성 기능 모듈, 무결성 기능 모듈)에 대한 안정성 평가.
    • 알고리즘 자체의 이론적 안정성과는 별도로 암호서비스 기능을 제공하는 암호모듈의 안전성에 대한 평가이다.
  3. 정보보호제품 평가
    • 암호모듈을 탑재한 정보보호 제품(예 : 침입차단시스템, 침입탐지시스템)에 대한 안정성을 평가.
  4. 응용시스템 평가
    • 각 제품을 상호 연동하여 구성되는 시스템(예 : 국가기관망의 네트워크에 대한 보안성 평가, 항공관제센터의 안전성 평가)에 대한 안전성 평가.
  • 평가 과정
  1. 안정성 평가는 응용시스템의 안정성을 평가하는 것이 가장 바람직하나 이에 대한 평가 기준, 방법, 체계를 마련하고, 시스템에 탑재된 기술을 개별적으로 평가하기가 상당히 어렵다는 문제가 있다.
  2. 그러므로 응용시스템의 가장 기본이 되는 암호 알고리즘에 대한 안정성 평가가 우선되어야 한다.
  3. 결국 암호 알고리즘에 대한 이론적 안전성 평가 -> 검증된 암호모듈에 탑재한 정보보호 제품의 안정성 평가 -> 각각의 제품으로 구성된 응용시스템의 안전성 평가 순으로 응용시스템의 안전성 평가를 수행하는 것이 바람직하다.

4) 암호모듈의 안전성 평가(CMVP)

  1. 암호모듈의 안전성 평가 CMVP는 1995년 7월 미국 NIST와 캐나다 주정부의 CSE(Communications Security Establishment)가 공동으로 개발한 암호 모듈의 안전성 검증을 위한 프로그램이다.

  2. CMVP에서 요구하는 암호모듈의 안전성 평가는 크게 암호기술의 구현 적합성 평가, 암호키 운용 및 관리, 물리적 보안으로 나눌 수 있으며, 각 항목에 대한 안전성 등급을 설정하여 기준으로 마련하고 이에 대한 평가를 수행한다.


6. 지적 재산권 보호

(1) 디지털 저작권 관리

1) 스테가노그래피 (Steganography)

  1. 최초의 암호 유형은 고대 그리스에서 사용한 방식으로, 암호화라기보다는 스테가노그래피(Steganography)에 가까운 방법이다.
  2. 암호화가 "비밀을 기록" 하는 것을 의미 하는 반면, 스테가노그래피(Steganography)는 "감추어진 기록"을 의미한다. 암호화는 메시지의 내용을 은폐하는 것을 의미하며, 스테가노그래피는 다른 무언가(mp3파일,이미지파일 등)로 감추어 메시지 자체를 은폐하는 것을 말한다.
  3. "일반적으로 사진파일에 인간이 인지하지 못할 정도의 미세한 부분에 변화를 주어 정보를 입력하는 방식"이 많이 사용된다.

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

  1. 워터마킹이란 용어는 지폐의 제조과정에서 위조지폐를 가려내기 위해 물에 젖은 상태에서 특정 그림을 인쇄하고 말린 후 불빛에 비추었을 때 그림이 보이도록 하는 기술에서 유래했다.
  2. 현재는 원본의 내용을 왜곡하지 않는 범위 내에서 혹은 사용자가 인식하지 못하도록 저작권 정보를 디지털 콘텐츠에 삽입하는 기술을 말한다.
  3. 즉, 이미지, 오디오, 또는 비디오의 일부 비트 대신 저작권 정보 등 다른 정보를 추가하더라도 사용자는 원래 미디어의 품질 손상을 인지하지 못하는 성질을 이용한다.
  4. 디지털 워터마킹의 분류
    • 강한(강성) 워터마킹 : 공격을 받아도 쉽게 파괴되거나 손상을 입지 않음.
    • 약한(연성) 워터마킹 : 공격을 받으면 쉽게 파괴되거나 손상을 입음.

3) 핑거프린팅 (Fingerprinting)

  1. 디지털 콘텐츠를 구매할 때 구매자의 정보를 삽입하여 불법 배포 발견 시 최초의 배포자를 추적할 수 있게 하는 기술이다.
  2. 판매되는 콘텐츠마다 구매자의 정보가 들어가므로 불법적으로 재배포된 콘텐츠 내에서 핑거프린팅된 정보를 추출하여 구매자를 식별하고, 법적인 조치를 가할 수 있게 된다.
항목 스테가노그래피 워터마크 핑거프린트
은닉정보 메시지 판매자 정보 구매자 추적정보
관심 은닉메시지 검출 저작권 표시 구매자 추적
트래킹 불가 가능 가능
불법예방 효과
저작권증명 효과
공격 강인성 상대적 약함 상대적 강함 상대적 강함

(참고 : https://m.blog.naver.com/mmee2/221956553392)


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

  • (가) 개요
  1. DRM은 디지털 콘텐츠 소유자가 자신의 콘텐츠에 대한 접근을 자신 또는 자신의 위임자가 지정하는 다양한 방식으로 제어할 수 있게 하는 기술적인 방법 또는 방법의 집합을 의미한다.

  2. DRM이 제어하는 콘텐츠 접근은 실행(executing), 보기(viewing), 복제(copying), 출력(printing), 변경(altering) 등을 포함

  3. 디지털 콘텐츠는 오디오, 비디오, 이미지, 텍스트, 멀티미디어, 컴퓨터 소프트웨어 등을 포함

  • (나) DRM 구성요소
  1. 메타데이터(Metadata) : 콘텐츠 생명주기 범위 내에서 관리되어야 할 각종 데이터의 구조 및 정보이다.
  2. 패키저(Packager) : 보호 대상인 콘텐츠를 메타데이터와 함께 Secure Container 포맷으로 패키징 하는 모듈이다.
  3. 시큐어 컨테이너(Secure Container) : DRM의 보호 범위 내에서 유통되는 콘텐츠의 배포 단위이다.
  4. 식별자(Identifier) : 콘텐츠를 식별하기 위한 식별자이다.
  5. DRM 제어기(DRM Controller) : 콘텐츠를 이용하는 사용자의 PC 또는 디바이스 플랫폼에서 콘텐츠가 라이선스에 명시된 범위 내에서 지속적으로 보호될 수 있도록 프로세스를 제어한다.
  • (다)DRM 모델
  1. DRM의 사용자를 그룹으로 분류하면 콘텐츠 제공자(Content Provider), 콘텐츠 배포자(Distributer), 콘텐츠 소비자(Content Consumer) 그리고 클리어링하우스(ClearingHouse)로 나눌 수 있고, 이들 간의
  2. 콘텐츠 제공자 (Content Provider)
    • 콘텐츠에 대한 디지털 권리를 가지고 권리 보호를 원하는 DRM 사용자이다.
    • 콘텐츠 사용 규칙을 표현하는 언어를 권리 표현 언어(REL, Rights Expression Language)라 하고, 대표적인 REL은 ODRL(Open Digital Rights Language)과 MPEG(Moving Picture Expert Group) REL 이다.
  3. 콘텐츠 배포자(Distributer)
    • 온라인 쇼핑몰과 같은 콘텐츠 유통 채널을 제공하는 DRM 사용자이다.
    • 정당한 콘텐츠 소비자에게 안전하게 콘텐츠를 전달하고, 클리어링하우스로 부터 합당한 대금을 분배 받는다.
  4. 콘텐츠 소비자(Content Consumer)
    • 클리어링하우스를 통해 콘텐츠에 대한 권리를 요청하고 합당한 대금을 지불한다.
  5. 클리어링하우스(Clearinghouse)
    • 디지털 허가를 소비자에게 발급해주고 콘텐츠 제공자에게 로열티 수수료를 지불하며 배급자에게 해당되는 배급 수수료를 지불하는 재정적 거래를 취급한다. 또한 클리어링하우스는 모든 소비자에게 허가된 사용을 기록하는 책임을 진다.
암호학 핵심요약정리 : https://beatsloth.tistory.com/1247
암호학 핵심요약정리2 : https://www.pentasecurity.co.kr/encryption/