카테고리 없음

[정보보호이론] Ch.4 암호 (1)

qwerty123 2022. 12. 11. 13:20

정보보호이론 개요 (module 2)


*암호 기초

- 수동적 공격 : 도청에 의한 내용 파악, 트래픽 분석

- 능동적 공격 : 변조 공격, 삽입 공격, 삭제 공격, 재생 공격, 서비스 거부 공격

 

- 정보보호 3대 요소

  1) 기밀성 : Trudy는 Alice가 Bob에게 보낸 메시지를 볼 수 없어야 한다.

  2) 무결성 : Trudy는 Alice가 Bob에게 보낸 메시지를 변조할 수 없어야 한다.

  3) 가용성 : Alice와 Bob은 필요할 때 언제든 메시지 서비스를 이용할 수 있어야 한다.

 

- 정보보호 6대 원칙 중 세가지

  1) 인증성

  2) 책임추적성

  3) 부인방지

 

- 암호학의 분류

 

- 암호 용어 정의

  1) 암호학 : 비밀코드를 만들거나 해독하는 과학

  2) 암호기법 : 비밀코드를 만드는 것

  3) 암호해독 : 비밀코드를 해독하는 것

  4) 암호시스템 : 평문을 암호화하는데 사용하는 암호화 알고리즘, 암호문을 평문으로 복호화하는데 사용하는 복호화 알고리즘

  5) 키 : 평문을 암호문으로 바꾸거나 암호문을 평문으로 바꿀 때 사용하는 비밀 값

 

 

 

* 암호 툴

 - 정의 : 암호 알고리즘 또는 암호 프로토콜을 지원하고 설계하는 데 사용되는 일반적인 도구

 - key point : 안전하지 않거나 오래된 암호화 도구가 많다. 암호화 도구 사용 전 권고 사항을 꼭 살펴야 한다.

 

1) 난수 발생기

더보기

사용사례 : 난수 생성

필요 분야 : 암호화 키(비밀키)의 초기 생성

종류

- TRNG : 진 난수 발생기 

 실제적으로 랜덤한 소스를 입력으로 사용

 키보드 입력 타이밍 패턴 및 마우스 움직임

 디스크의 전기적 활동, 시스템 클럭의 순간 값

 

- PRNG : 의사 난수 발생기

 고정값 seed를 입력받아 결정적 알고리즘을 사용하여 출력 비트열 생성

 제한이 없는 비트열 생성하는데 사용

 알고리즘과 seed를 알고있는 공격자는 비트열 재생성이 가능하다.

 * PRNG 요구사항

  1) 임의성

  2) 비예측성

  3) seed 요구사항 : seed는 예측 불가능해야 한다.

 

 

 

 

2) 해시 함수

더보기

사용 사례 : 데이터 압축

필요 분야 : 임의의 길이 입력 데이터 처리

 

3) 일 방향 해시 함수

더보기

사용 사례 : 일 방향 연산

필요 분야 : 패스워드 저장

 

특징 : 계산하기는 쉽지만 역을 구하는 것은 어려운 함수. 결과값이 주어졌을 때 입력 값을 구하는 것이 어려운 함수이다.

 

 

 

* 암호 알고리즘

 - 정의 : 암호화 알고리즘과 복호화 알고리즘을 합쳐서 암호 알고리즘, 혹은 암호 시스템이라 한다.

 

 - 키 생성

 : 데이터 암호화 또는 데이터 무결성 검증에 사용할 검증 값 생성

 : 데이터 복호화 또는 데이터 무결성 검증 값 검증에 사용

 

- 데이터 암호화

 

- key point

 : 데이터 암호화는 데이터의 기밀성만 보장한다.

 : 데이터 인증은 데이터의 무결성만 보장한다.

 

 

 

* 암호 프로토콜

 - 정의 : 다양한 암호 알고리즘을 사용하여 보안과 관련된 서비스를 제공하는 프로토콜, ex) TLS

           : 암호 알고리즘과 암호 툴을 결합한 대화형 시퀀스, ex) 사용자 인증, 키 교환

 

 - 사용자 인증의 예

 : 클라이언트는 비밀키를 서버로 전송한다.

 : 서버는 수신한 비밀키와 저장된 비밀키를 비교한다.

 

 - 안전한 사용자 인증의 예

 : 서버는 랜덤한 값을 클라이언트에게 전송한다.

 : 클라이언트는 비밀키를 이용하여 응답 값을 만든다.

 : 클라이언트는 응답 값을 서버에게 전송한다.

 : 서버는 응답 값을 검증한다.

 

 

* 암호 기본 원칙

 - Kerckhoff's Principle, 커코프 원리 : The enemy knows the system.

 : 암호 알고리즘은 알고리즘의 모든 내용이 공개되어도 키가 노출되지 않으면 안전해야 한다. 암호 알고리즘의 안전성은 키의 비밀에만

   의존해야 하며 암호 알고리즘의 비밀에 의존하지 않아야 한다.

 : 암호문을 해독할 수 있는 암호 키를 제외한, 다른 모든 내용이 알려지더라도 암호문은 해독되지 않아야 한다.

   여기에는, 중요하게 지켜야 할 비밀 데이터가 적을수록 전체적인 안전성은 높아지게 된다는 의미가 숨어 있다.

 

  *커코프 원리를 따를 경우 장점

  1) 보안성 강화 : 시스템에 비밀이 적을수록 더 쉽게 보호할 수 있다.

  2) 견고성 향상 : 알고리즘 변경보다 키를 변경하는 것이 훨씬 쉽다.

  3) 신뢰성 향상 : 암호 전문가들이 모인 커뮤니티에서 공개된 시스템을 검증할 것이다. 

 

 

 - Sufficient key space principle : 암호 알고리즘에서 사용하는 키의 범위는 충분히 커야 한다.

 : 모든 암호화 시스템에서 작동하는 사소한 공격, 전수조사 공격에 대비해야 한다.

 : 침입자가 평문 - 암호문 쌍을 알고 있다고 가정하자. 공격자는 암호문의 해독을 위해 가능한 모든 키를 대입해본다.