대칭 암호 원리
대칭 암호는 관용 암호, 비밀-키 암호 또는 단일-키 암호라고 알려져 있다.
대칭 암호의 보안은 키의 비밀성에 의해 지켜진다. 알고리즘을 모르게해서 지켜지는 것이 아니다
즉 공격자가 암호/복호 알고리즘을 알고 암호문을 가지고 있더라도 그 암호문을 해독할 수 없어야 한다(알고리즘은 공개 되어 있다고 생각하자)
- 대칭 암호의 필수 요건
- 강한 알고리즘
- 안전한 비밀키 공유
대칭 암호 구조의 5가지 요소
- 평문
- 원문이나 데이터로서 알고리즘의 입력으로 이용된다
- 암호 알고리즘
- 입력으로 들어온 원문을 다양한 방법으로 치환하고 변환한다
- 비밀 키
- 알고리즘의 한 입력으로 사용 된다
- 이 키를 이용하는 알고리즘에 의해 정확한 대체와 전환이 이루어진다
- 암호문
- 출력으로 나오는 암호화 된 메시지
- 평문과 비밀 키에 따라서 달라진다
- 복호화 알고리즘
- 근복적으로 암호 알고리즘을 역으로 수행하는 것과 같다
- 암호문에 알고리즘과 암호에 사용했던 동일한 키를 적용하여 원문을 복구한다
암호 시스템 (암호화 방식)
- 평문을 암호문으로 전환하는데 사용 되는 연산 유형
- 핵심 : 어떤 정보도 손실 되지 않아야 한다 (모든 연산은 역으로 수행 할 수 있어야 한다)
- 대체
- 평문의 각 요소(비트,문자,비트 블록,문자 블록)을 다른 요소로 대체
- 치환
- 평문의 각 요소의 순서를 재조정
- 사용되는 키의 수
- 대칭 : 송신자/수신자가 동일한 키를 사용한다.
- 이러한 방식을 단일 키 암호, 비밀 키 암호, 관용 암호라고도 부른다
- 비대칭 : 송신자/수신자가 다른 키를 사용한다
- 대칭 : 송신자/수신자가 동일한 키를 사용한다.
- 평문 처리 방법
- [[Notes/Major/블록 암호|블록 암호]] : 한 번에 한 블록씩 입력하여 처리하고, 한 블럭씩 출력
- 스트림 암호 : 입력 요소를 연속적으로 처리하여 입력된 요소가 끝날 때까지 한 번에 한 요소씩 출력
암호 해독
- 평문이나 키를 찾으려는 시도를 암호 해독이라고 한다.
암호 해독 공격 유형에 따라 아래 5가지로 분류 된다
- 암호문만 알고 있는 공격
- 오직 암호문만 알고 있는 경우에 실행한다
- 브루트 포스 공격 가능
- 통계적인 테스트를 하기도 하지만, 이 때 공격자는 평문이 무엇으로 작성 되었는지를 알아야 한다
- 알려진 평문 공격
- 평문을 조금 알고 있을 때 공격하는 경우
- 메세지의 특정 유형 정보 즉 메시지 일부를 알고 공격한다
- 선택 평문 공격
- 공격자가 발신지 시스템에 접근 할 수 있고, 선택한 메시지를 입력 할 수 있는 경우
- 송신자의 암호화 모듈을 이용해서 결과물을 계속 만들며 알고리즘 추측이 가능하다
- 선택 암호문 공격
- 공격자가 목적을 갖고, 선택한 암호문과 비밀키로 암호문을 복호화한다
- 선택문 공격
- 공격자가 목적을 갖고, 선택 암호문과 비밀 키로 암호문을 복호화화한다
계산적으로 안전하다의 의미
암호문이 다음 두 조건을 만족하는 것을 말한다
- 암호문을 깨는데 드는 비용이 암호화 된 정보의 가치보다 더 크다
- 암호문을 깨는데 걸리는 시간이 해당 정보의 수명 보다 더 길다
하지만, 암호를 깨는데 드는 노력을 정량화하는 것은 어렵다
알고리즘이 수학적으로 문제가 없다면 브루트 포스 공격을 기반으로 유효한 비용과 시간을 측정 가능하다
보통 브루트 포스 공격을 할 경우 평균적으로 x 개의 키 중 절반 정도는 시도하면 성공 가능하다 (birthday 법칙)
728x90
'Computer Science > Security' 카테고리의 다른 글
페이스텔 암호 구조 with 대칭 블록 암호 (1) | 2023.03.28 |
---|---|
대칭/비대칭 키와 해쉬 함수를 이용한 Digital Signiture 만드는 방법 (0) | 2023.03.28 |
보안 서비스란 무엇인가 (0) | 2023.03.27 |
보안 공격 (0) | 2023.03.27 |
컴퓨터 보안 개념 - CIA Triad(정보 시스템의 3대 보안 목적) (0) | 2023.03.27 |