일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 국가기록원
- 12기
- suninatas
- HTML
- 경기팀
- 국가정보원
- webhacking
- Los
- nurisec
- 도구모음
- 화학물질안전원
- 정보보안
- 화학물질
- 웹 해킹 입문
- 불법유통
- codeup
- 기타정보
- UKPT level
- 불법유통근절
- 국정원
- PHP
- 프로젝트
- 화학물질불법유통온라인감시단
- UKPT
- 여행
- 연구모임
- 파이썬
- MITRE ATT&CK
- 대외활동
- Service
- Today
- Total
agencies
암호학 기초 본문
정보시스템 보안의 3가지 기본 목표
- 기밀성 (confidentiality)
- 무결성 (integrity)
- 가용성 (availability)
security mechanisms
- 암호화
- 데이터 무결성
- 디지털 서명
- 출처 인증
- 통신 트래픽 은닉성 보장
- 안전한 경로 통제
- 데이터 내용의 익명성
- 접근 통제
* 시큐리티 매커니즘은 시큐리티의 목표를 달성하기 위한 것!
안전하게 데이터를 주고 받는 보안 통신을 하려면?
- 데이터 기밀성 : 인가 받은 사용자만 메시지를 읽을 수 있다.
데이터 무결성
- 메시지가 수정되지 않았음을 확인할 수 있다.
데이터 출처 인증
- 메시지의 출처와 내용이 수정되지 않았음을 확인할 수 있다.
데이터 부인방지
- 송신자가 메시지를 보낸 사실 그 내용을 부정할 수 없다.
접근 통제
- 승인된 사용자만 데이터/단말기에 접근해야 한다.
암호기술
통신 당사자 간 메시지 전달 과정을 보호하고 컴퓨터에 저장된 메시지를 보호하기 위한 수학적 기술
암호학 : 비밀코드를 만들거나 해독하는 학문
암호기술 : 비밀코드를 만드는 것
암호분석 : 비밀코드를 해독하는 것
암호 : 가장 포괄적인 용어
케르크호프스의 원리
* 실용적인 암호 설계의 6가지 원칙
1. 시스템은 수학적으로는 아니더라도 실질적으로 해독할 수 없어야 한다.
2. 비밀을 요구하지 않아야 하며 적의 손에 넘어가도 문제가 되지 않아야 한다.
3. 키를 전달하고 기억할 수 있어야 하며 통신원이 마음대로 키를 변경하거나 수정할 수 있어야 한다.
4. 전신 통신에 적용 가능해야 한다.
5. 휴대할 수 있어야 하며 여러 사람이 취급하거나 조작할 필요가 없어야한다.
6. 시스템은 사용하기 쉬워야 하며 사용자가 긴 규칙 목록을 알고 준수하도록 요구해서는 안된다.
보안강도란? 암호 알고리즘이나 시스템의 암호키 또는 해시함수의 취약섬을 찾아내는데 소요되는 작업량을 수치화 한 것!
(예) 112비트 : 2의 112승번의 계산을 해야 암호키 또는 암호 알고리즘의 취약섬을 알아낼 수 있음을 의미
암호기술의 분류
일방향 암호기술
해시함수 : 무결성 (MD5, SHA-2,3) / 무결성&인증 (Key-Hashed MAC)
양방향 암호기술
- 대칭키
스트림 암호기술 : 기밀성 (RC4)
블록 암호기술 : 기밀성&인증 (AES, SEED)
- 비대칭키
공개키 암호기술 : 기밀성&인증&부인방지 (DH, RSA, ECC, ELGamal)
해시(Hash)는 데이터의 무결성을 확인하는데 사용된다.
물리공간에서는?
- 문서에 직접 서명
- 문서와 서명이 물리적으로 결합
사이버공간에서는?
- 암호 기술을 사용 : 메시지 다이제스트
- 메시지와 메시지 다이제스트는 디지털 정보이므로 전자적으로 분리 가능
- 메시지 다이제스트는 변경되어서는 안된다
해시 함수는 다양한 길이의 메시지를 입력 받아
일정한 고정 길이 값으로 출력한다.
해시는 일방향(one-way) 수학 함수에 기반한다.
- 해시 값을 만드는 것은 쉽지만, 해시 값으로 원래의 값을 찾는 것은 매우 어렵다.
- 출력값 (메시지 다이제스트, 디지털 지문)
안전한 암호 해시함수란?
- 서로 다른 두 개의 메시지가 같은 해시 값을 만들 확률이 매우 낮다.
- 메시지의 내용이 변경되면 해시 값도 변경된다.
암호 해시함수의 3가지 기준 요건
- 프리이미지 저항성 (어떤 메시지 다이제스트가 주어졌을때 메시지 내용은 모르지만 같은 메시지 다이제스트를 갖는 메시지를 만들 수 있다)
- 제2 프리이미지 저항성 (어떤 메시지와 이것의 메시지다이제스트가 주어졌을때 같은 메시지 다이제스트를 갖도록 메시지를 변조할 수 있다)
※ 1번과 2번 차이 : 1번은 메시지의 내용은 모르나 다이제스트는 앎, 2번은 메시지의 내용과 다이제스트를 앎
충돌 저항성 : 공격자는 하나의 메시지 다이제스트에 대해 서로 다른 메시지를 선택할 수 있다.
비둘기 집 원리 (충돌 관련 설명)
- 만약에 n+1 마리의 비둘기가 n개의 비둘기 집에 들어가 있다면 적어도 한 비둘기 집에는 두마리의 비둘기가 들어있다는 뜻이다.
해시 함수 자체에는 송신자에 대한 유일한 식별 정보가 사용되지 않는다.
- 누구나 해시 함수를 이용해 해시 값을 만들 수 있다.
- 따라서 해시 값을 만드는 과정은 중간자 공격(man-in-the-middle attack)에 취약하다.
출처 인증 (origin authentication)
출처 인증과 무결성을 모두 보장하려면 비밀키 해시 메시지 인증 코드(HMAC)를 사용한다.
keyed-hash (비밀키를 메시지 입력에 함께 사용한다. SSL, IPsec, SSH에 사용됨)
HMAC은 메시지 인증에 사용된다.
- HMAC 값이 일치하면 상대방이 비밀키를 정당하게 갖고 있다고 생각할 수 있다.
- 송신자와 수신자만 비밀키를 알고 있어야 한다.
- 비밀키는 안전하게 사전에 공유되어야 한다.
잘 알려진 해시함수
해시 함수는 조작 또는 변경을 검출할 수 있지만, 거짓행세(인증/부인방지)는 검출하지 못한다.
그래서 인증과 부인방지 기술이 필요하다.
- 인증 : 메시지가 올바른 송신자로부터 온 것인지를 확인하는 것
- 부인방지 : 이 파일이 정말로 해당 사용자가 작성한 것인지를 확인하는 것
메시지 인증 코드로 해결 할 수 없는 문제
- 제 3자에게 증명하기
· A로부터 메시지를 받은 B가 이 메시지는 A가 보낸 것이다 라는 것을 제 3자인 C에게 증명할 수 있는가?
C가 검증을 하기 위해서는 B가 갖고 있는 키를 C에게 알려줘야 한다.
그런데 그 키는 A와 B 모두가 동일한 키를 가지고 있으므로 둘 중 누가 작성했는지 말할 수 없다.
- 부인방지
B가 MAC 값이 포함된 메시지를 받음으로써 이 메시지의 출처가 A임을 확신할 수 있다.
하지만 A가 전송 자체를 부정할 경우 제 3자에게 이 사실을 증명할 수 있을까?
메시지 인증 코드로는 부인 방지 불가
* 공개키 암호기술을 이용하는 디지털 서명 필요!
디지털 서명 : 해시함수와 공개키 암호기술을 이용
'Ⅲ. 정보보안' 카테고리의 다른 글
정보보호 솔루션 제품 개요 (0) | 2024.03.15 |
---|---|
정보보안 기초 지식 (0) | 2024.03.15 |
정보보안 윤리에 대하여 (0) | 2024.03.14 |
사이버안보의 출발점, 최신 업데이트! (0) | 2024.03.14 |
MITRE ATT&CK 기초 학습 (6) (2) | 2024.03.13 |