Module1
보안 용어 정의
- 보안 자산 : 조직에서 보유하는 가치가 있는 모든 것 ex) 유형자산: 하드웨어 | 무형자산: 소프트웨어
- 취약점 : 시스템을 위협의 영향에 노출시키는 시스템의 약점
- 약점 : 공격에 활용될 여지가 있는 오류
- 보안 약점 : 실제 보안사고에 악용될 수 있는 근본원인 ex) 오류, 버그
- 보안 취약점 : 위협원이 보안 약점을 악용하여 발생하는 실제적인 위협
- 위협원 : 어떤 목적을 가지고 위협을 행하거나 지원하는 사람이나 조직
- 위협 : 자산에 손실을 초래할 수 있는 잠재적 원인이나 행위
- 위협 행동 : 피해를 입힐 의도로 목표 대상에 취한 모든 행위
- 위험 : 외부의 위협이 내부의 취약성을 이용하여 각종 자산에 피해를 입힐 수 있는 가능성
Key Point : 보안 조치를 통해 취약점을 제거하고 보안 위험을 줄일 수 있다
- 보안 목적 : 정보 보호 시스템을 통하여 달성하고자 하는 최종 보안 요구사항
*보안의 3요소 *(보안 요구 사항 3가지)
- 기밀성 : 인가된 사용자만 자산에 접근할 수 있는것 ex)방화벽, 패스워드
- 무결성 : 권한을 가진 사용자가 인가한 방법으로만 정보를 변경하는 것
- 가용성 : 필요한 시점에 정보 자산에 대한 접근이 가능하도록 하는것
Key Point : 보안 목적 정의는 보호 대상에 적용하려는 보안 개념의 기초를 설정하는 매우 중요한 단계
- 보안 요구 사항 : 보안 목적을 달성하기 위한 기능적/비 기능적 사양
- 보안 조치 : 기밀성 ,무결성, 가용성의 손실을 예방, 탐지 하는 조직적인 대책
정보보호 기술 개발 프로세스 4단계
- 보안 목적 식별
- 보안 요구 사항 도출
- 보안 조치 정의
- (1)-(3) 필요시 반복
Module 2
정보보호 6대 원칙 -(보안의 3요소 포함)
- 인증성 : 서비스 제공자는 사용자가 서비스에 로그인 할때, 본인이 맞음을 확인할 수 있어야 한다.
- 책임추적성 : 언제, 어떤 방식으로 사용자가 메시지를 보냈는지 추적 가능해야 한다.
- 부인방지 : 자신이 보내지 않았다고 부인할 수 없어야 한다.
** 암호 용어 정의**
- 암호학 : '비밀코드'를 만들거나 해독하는 과학
- 암호기법 : '비밀코드'를 만드는 것
- 암호해독 : '비밀코드'를 해독하는 것
- 암호시스템 : 평문을 암호문으로 암호화 알고리즘 or 암호문을 평문으로 복호화하는 복호화 알고리즘
- 암호 프로토콜 : 다양한 암호 알고리즘을 사용하여 보안과 관련된 서비스를 제공하는 프로토콜 ex) TLS(Transport Layer Security)
- 암호 툴 : 암호 알고리즘 또는 암호 프로토콜을 지원하고 설계하는 데 사용되는 일반적인 도구
- 암호 알고리즘(암호 시스템) : 암호화 알고리즘 + 복호화 알고리즘
암호 툴(Cryptographic tools)
사용 툴 : 난수 발생기
사용 사례 : 난수 생성
1. TRNG : 진 난수 발생기
랜덤한 소스를 입력하여 랜덤 비트 스트림 생성
2. PRNG : 의사 난수 발생기
고정값 seed를 입력받아 결정적 알고리즘을 사용 -> 출력 비트 열 생성
PRNG 요구사항 3가지
- 임의성 : 생성된 비트 스트림은 랜덤하게 보여야 한다.
- 비예측성 : 다음 수의 순서와 다음 출력 비트를 예측할 수 없어야 한다.
- seed 요구 사항 : seed는 예측 불가능해야 한다.
3. HPRNG (Hybrid pseudo random number generator)
(TRNG의 장점인 ouput이 매우 랜덤하다는 것 + PRNG의 장점인 속도가 빠르다는것 = HPRNG)
TRNG가 생성한 짧은 길이의 random value를 seed로 사용하여 필요한 길이의 pseudo random number을 생성
사용 툴 : 해시 함수
사용 사례 : 데이터 압축
사용 툴 : 일 방향 해시 함수
사용 사례 : 일 방향 연산
암호 툴 Key Point : 안전하지 않거나 오래된 암호화 도구가 많아 암호화 도구를 사용 전 권고 사항을 꼭 확인해야 한다.
암호 알고리즘
- 키 생성 : 암호 키 생성에 사용
- 암호 키
- 데이터 암호화 또는 데이터 무결성 검증에 사용할 검증 값 생성
- 데이터 복호화 또는 데이터 무결성 검증 값의 검증에 사용
- 암호 키
- 데이터 암호화 : 데이터 기밀성 보장을 위한 암호화에 사용
- 메시지 인증 : 데이터 무결성 보장을 위한 메시지 인증 코드 생성에 사용
- 송신자와 수신자가 공유한 키를 사용 -> 메시지 인증
암호 알고리즘 Key Point : 데이터 암호화는 데이터의 기밀성 만 보장하고 데이터 인증은 데이터의 무결성 만 보장한다
암호 프로토콜
사용 사례 : 사용자 인증, 키 교환
앨리스는 서버에 비밀키를 전송하면 서버는 수신한 비밀키와 저장된 비밀키를 비교한다. 이때 어떤 문제가 발생하며 어떻게 해결할 수 있을까?
문제발생
- 공격자는 도청하여 키를 획득할 수 있다.
- 공격자는 획득한 키를 재사용할 수 있다.
- Q 그렇다면 키를 암호화 하여 전송하면 Trudy는 공격할 수 없나?
- A 데이터 암호화는 데이터 인증 기능(무결성)을 제공하지 않으므로 공격자는 재사용하여 공격가능
- Q 그렇다면 키를 암호화 하여 전송하면 Trudy는 공격할 수 없나?
해결방안
- 서버는 랜덤한 값을 클라이언트에게 전송
- 클라이언트는 비밀키를 이용하여 응답 값을 생성
- 클라이언트는 응답 값을 서버에 전송
- 서버는 응답 값을 검증
암호 프로토콜 Key Point : 독자적인 암호 알고리즘과 암호 프로토콜 구축은 위험하다. 따라서 안정성이 검증된 표준 암호 알고리즘과 암호 프로토콜을 사용해야 한다.
암호 기본 원칙
- Kerckoff's principle : 암호 알고리즘의 구조가 공개되어도 키가 노출되지 않으면 안전해야 한다. 즉, 암호의 안정성은 오직 키 값의 비밀성에만 의존해야 한다.
- 커코프 원리의 장점
- 보안성 강화 : 시스템에 비밀이 적을수록 더 쉽게 보호 할 수 있다.
- 견고성 향상 : 알고리즘 변경보다 키를 변경하는 것이 훨씬 쉽다.
- 신뢰성 향상 : 암호 시스템을 공개하여 검증 받을수 있다.
- 커코프 원리의 장점
- Sufficient key space principle : 암호 알고리즘에서 사용하는 키의 범위는 충분히 커야 한다.
- 모든 암호화 시스템은 사소한 공격, 전수조사 공격 등 공격에 대비해야 한다.
Module 3
** 대칭키 암호 VS 공개키 암호**
1. 대칭키 암호
특징
- 대칭키 암호는 암호화에 사용하는 키와 복호화에 사용하는 키가 동일하다.
- 송신자와 수신자 모두 동일한 키를 공유해야 한다.
- 비밀키는 송신자와 수신자 이외에는 알지 못하도록 해야 한다.
- 대규모 데이터의 빠른 암호화에 활용된다.
- 대칭키 암호를 사용하려면 송수신자가 사전에 비밀키를 공유해야 하는 문제가 발생한다.
- n명이 서로 비밀 통신하려면 n(n-1)/2개의 키가 필요하다.
- 송수신자의 부인 방지를 제공하지 못한다.
** 2. 공개키 암호**
)
특징
- 암호화용 키와 복호화용 키가 다르다.
- 대칭키 암호기법에 비해 속도가 느리다.(약 1,000배)
- 긴 문서의 암호보다는 대칭키 암호기법의 비밀키 암호에 사용한다.
댓글