정보보호이론 개요 (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 : 암호 알고리즘에서 사용하는 키의 범위는 충분히 커야 한다.
: 모든 암호화 시스템에서 작동하는 사소한 공격, 전수조사 공격에 대비해야 한다.
: 침입자가 평문 - 암호문 쌍을 알고 있다고 가정하자. 공격자는 암호문의 해독을 위해 가능한 모든 키를 대입해본다.