개발야옹

[정보보안기사/필기] PART2. 암호학 (1) 본문

자격증/정보보안기사

[정보보안기사/필기] PART2. 암호학 (1)

kitez 2024. 9. 29. 11:42

✅ 암호학기법의 분류

  • 치환 암호(대치 암호): 비트, 문자 또는 문자의 블록을 다른 비트, 문자 또는 블록으로 대체
  • 전치 암호: 비트, 문자 또는 블록이 원래 의미를 감추도록 재배열
  • 블록 암호: 특정 비트 수의 집합을 한 번에 처리하는 암호 알고리즘을 총칭
  • 스트림 암호: 한번에 1비트 혹은 1바이트의 데이터 흐름(스트림)을 순차적으로 처리해가는 암호 알고리즘의 총칭
  • 링크 암호화: 모든 정보는 암호화되고, 패킷은 라우터나 다른 중간에 있는 장비가 이 패킷을 다음에 어디로 보내야 하는지 알아야 하기 때문에 각 홉(hop)에서 해독됨
  • 종단간 암호화: 종단간 암호화에서는 헤더와 트레일러가 암호화되지 않기 때문에 패킷을 각 홉에서 해독하고 암호화할 필요가 없음
  • 하드웨어 암호: 하드웨어로 실현하기 위해 컴퓨터와 통신기기의 내부버스와 외부 인터페이스에 전용 암호처리용 하드웨어를 설치하여 데이터를 암호화
  • 소프트웨어 암호화: 소프트웨어에 의한 실현은 암호처리용 소프트웨어를 사용한 데이터 암호화

 

✅ 블록 암호와 스트림 암호

  • 스트림 암호:
    • 장점: 암호화 속도가 빠름, 에러 전파현상 없음
    • 단점: 낮은 확산
    • 사례: LFSR, MUX generator
    • 암호화 단위: 비트
    • 주요 대상: 음성, 오디오/비디오 스트리밍
  • 블록 암호:
    • 장점: 높은 확산, 기밀성, 해시함수 등 다양
    • 단점: 느린 암호화, 에러 전달
    • 사례: DES, IDEA, SEED, RC5, AES
    • 암호화 단위: 블록
    • 주요 대상: 일반 데이터 전송, 스토리지 저장

✅ 링크 암호화와 종단간 암호화

  • 링크 암호화
    • 특징: 
      • ISP나 통신업자가 암호화
      • 헤더를 포함한 모든 데이터를 암호화
      • 유저가 알고리즘 통제 불가
    • 장점: 
      • User-transparent하게 암호화되므로 운영이 간단
      • 트래픽분석을 어렵게 함
      • 온라인으로 암호화
    • 단점:
      • 중간 노드에서 데이터가 평문으로 노출
      • 다양한 보안서비스를 제공하는데 한계
      • 모든 노드가 암호화 장비를 갖추어야 하므로 네트워크가 커지면 비용 과다
  • 종단간 암호화
    • 특징:
      • 사용자가 암호화
      • 헤더(라우팅정보)는 암호화하지 않음
      • 알고리즘에 대한 통제는 사용자가 함
    • 장점:
      • 사용자 인증 등 높은 수준의 보안 서비스를 제공 가능
      • 중간노드에서도 데이터가 암호문으로 존재
    • 단점:
      • 트래픽분석이 취약
      • 오프라인으로 암호화

 

✅  스테가노그래피, 워터마크, 핑거프린팅

  1. 스테가노그래피:: 데이터 은폐 기술 중 하나이며, 데이터를 다른 데이터에 삽입하는 기술 혹은 그 연구
    • 은닉정보: 메시지
    • 관심: 은닉메시지 검출
    • 트래킹: 불가
    • 불법예방 효과: 하
    • 저작권증명 효과: 하
    • 공격 강인성: 상대적 약함
  2. 워터마크:  워터마크란 문서나 이미지 파일 위에 삽입하는 로고나 텍스트로, 저작권 보호와 디지털 작품 홍보에 중요한 역할
    • 은닉정보: 판매자 정보
    • 관심: 저작권 표시
    • 트래킹: 가능
    • 불법예방 효과: 중
    • 저작권증명 효과: 중
    • 공격 강인성: 상대적 강함
  3. 핑거프린팅: 사용자의 브라우저 및 운영체제의 고유한 특성을 수집하여 특정 사용자를 식별하는 온라인 추적 기술
    • 은닉정보: 구매자 추적정보
    • 관심: 구매자 추적
    • 트래킹: 가능
    • 불법예방 효과: 상
    • 저작권증명 효과: 상
    • 공격 강인성: 상대적 강함

✅  DRM 구성 요소 (DRM: Digital Right Management:: 디지털 콘텐츠의 저작권을 보호 및 관리하는 기술)

  • 메타데이터(Metadata): 콘텐츠 생명주기 범위 내에서 관리되어야 할 각종 데이터의 구조 및 정보
  • 패키저(Packager): 보호 대상인 콘텐츠를 메타데이터와 함께 Secure Container 포맷으로 패키징 하는 모듈
  • 시큐어 컨테이너(Secure Container): DRM의 보호 범위 내에서 유통되는 콘텐츠의 배포 단위
  • 식별자(Identifier): 콘텐츠를 식별하기 위한 식별자
  • DRM 제어기(DRM Controller): 콘텐츠를 이용하는 사용자의  PC 또는 디바이스 플랫폼에서 콘텐츠가 라이선스에 명시된 범위 내에서 지속적으로 보호될 수 있도록 프로세스를 제어
  • 클리어링하우스(Clearinghouse): 디지털 허가를 소비자에게 발급해주고 콘텐츠 제공자에게 로열티 수수료를 지불하고, 배금자에게 해당되는 배급 수수료를 지불하는 재정적 거래를 취급 (사용자에게 콘텐츠 라이센스를 발급하고 권한을 부여해 주는 시스템)

 

✅  암호분석의 분류

  • 암호문 단독 공격(COA:: Ciphertext Only Attack)
    • 개념: 단지 암호문 C만을 갖고 이로부터 평문 P이나 키 K를 찾아내는 방법으로 평문 P의 통계적 성질, 문장의 특성 등을 추정해서 해독하는 방법
    • 비고: 암호해독자에게는 가장 불리한 방법
  • 기지 평문 공경(KPA:: Known Plaintext Attack)
    • 개념: 암호문 C와 평문 P의 관계로부터 키 K나 평문 P를 추정하여 해독하는 방법
    • 비고: 암호문에 대응하는 일부 평문이 사용가능한 상황에서의 공격
  • 선택 평문 공격(CPA:: Choosen Plaintext Attack)
    • 개념: 암호기에 접근할 수 있어 평문 P를 선택하여 그 평문 P에 해당하는 암호문 C를 얻어 키K나 평문P를 추정하여 암호를 해독하는 방법
    • 비고: 평문을 선택하면 대응하는 암호문을 얻을 수 있는 상황에서의 공격
  • 선택 암호문 공격(CCA:: Choosen Ciphertext Attack)
    • 개념: 암호 복호기에 접근할 수 있어 암호문 C에 대한 평문 P를 얻어내 암호를 해독하는 방법
    • 비고: 암호문을 선택하면 대응하는 평문을 얻을 수 있는 상황에서의 공격

✅  암호 기술 평가

  • 암호 알고리즘 평가
    • 정보보호제품에 탐재된 암호 알고리즘에 대한 안정성 평가
  • 암호모듈 평가
    • 알고리즘 자체의 이론적 안정성과는 별도로 암호서비스 기능을 제공하는 암호모듈의 안정성에 대한 평가(CMVP, KCMVP)
  • 정보보호제품평가
    • 암호모듈을 탑재한 정보보호 제품(예: 침입차단시스템)에 대한 안정성을 평가
  • 응용시스템 평가
    • 각 제품을 상호 연동하여 구성되는 시스템(예: 항공관제센터의 안전성 평가)에 대한 안전성 평가

 

✅  P 박스

  • 입력(n), 출력(m)
  • 단순(straight):
    • m = n
    • 역함수 O
  • 축소(compression)
    • n > m 
    • 역함수 X
    • 비트수 줄이고자
  • 확장(expansion)
    • n < m 
    • 역함수 X
    • 비트수 증가시키고자

 

✅  확산(Diffusion)과 혼돈(Conclusion)

  • 확산(Diffusion)
    • 암호문과 평문 사이의 관계를 숨기는 것
    • 암호문에 대한 통계 테스트를 통해서 평문을 찾고자 하는 공격자를 좌절시킴
  • 혼돈(Conclusion)
    • 암호문과 키의 관계를 숨기는 것
    • 암호문을 이용하여 키를 찾고자하는 공격자를 좌절시킴
    • 키의 단일 비트가 변하면 암호문의 거의 모든 비트가 변함

 

✅  페이스텔(Feistel)과 SPN 구조

  • Feistel
    • 입력을 좌우 블록으로 분할하여 한 블록을 라운드 함수에 적용시키 ㄴ후의 출력 값을 다른 블록에 적용하는 과정을 좌우블록에 대해 반복적으로 시행하는 방식
    • 강도를 결정짓는 요소는 평문 블록의 길이, 키의 길이, 라운드의 수
    • 복호화 과정은 암호화 과정과 동일
    • 3라운드 이상이먀, 짝수 라운드로 구성
    • 종류:
      • DES, LCKI, CAST, Blowfish, MISTY, RC5, RC6, CAST256, E2, Twoifsih, Mars
  • SPN
    • Substitution Chipher와 Permutation Cipher를 중첩하는 형태로 개발한 암호
    • S-box의 출력을 P-box로 전치(permutation)하는 과정을 반복하는 방식
    • 병렬성을 제공
    • 종류:
      • SAFER, SHARK, Square, CRYPTON, Rijndael, SAFER+, Serpent, PRESENT

✅  스트림 암호

  • 동기식
    • 키는 평문 or 암호문 독립적
    • 종류
      • One time pad
      • FSR(Feedback Shift Register)
      • LFSR
      • NLFSR
      • OFB모드
  • 비동기식
    • 키는 평문 or 암호문 종속적
    • 종류
      • CFB모드

✅  블록 알고리즘 종류와 특징

  • DES
    • 미국
    • 1972년 
    • NIST에서 표준으로 공표
    • 블록크기 64
    • 키의길이 56
    • 라운드수 16
  • IDEA
    • 유럽
    • 1990년
    • PGP채택
    • 블록크기 64
    • 키의 길이 128
    • 라운드수 8
  • Rijndael
    • 벨기에
    • 1998년
    • 2000년 AES알고리즘으로 선정
    • 블록크기 128
    • 키의 길이 128, 192, 256
    • 라운드수 10, 12, 14
  • SEED
    • 한국
    • 1999년
    • 한국표준 블록암호 알고리즘
    • 블록크기 128
    • 키의 길이 128, 256
    • 라운드 수 16, 24
  • CRYPTON
    • 한국
    • 1998년
    • AES후보 중 하나
    • 블록 크기 128
    • 키의 길이 128, 192, 256
    • 라운드수 12
  • RC5
    • 미국
    • 1994년
    • 알고리즘이 간단, 속도가 빠름
    • 블록크기 32, 64, 128
    • 키의 길이 0-2040
    • 라운드수 1-255
  • FEAL
    • 일본
    • 1987년
    • S/W구현에 적합
    • 블록크기 64, 128
    • 키의 길이 64
    • 라운드수 4, 8,32
  • MISTY
    • 일본
    • 1996년
    • 차분/선형공격에 안전성증명구조
    • 블록크기 64
    • 키의길이 128
    • 라운드수 8
  • SKIPJACK
    • 미국
    • 1990년
    • Fortezza카드에 사용
    • 블록크기 64
    • 키의 길이 80
    • 라운드수 32
728x90