728x90
반응형
1. 비대칭 암호화
- 공개키/개인키 쌍을 사용해 복잡한 키 배포시스템의 오버헤드 없이 안전한 통신이 가능함.
공개키와 개인키
공개키
- 자신의 공개키를 통신하기 윈하는 이에게 공개.
- 제 3자가 소유하더라도 암호체계에 영향이 없음.
개인키
- 생성한 개인만 소유.
- 절대 공유해서는 안됨.
![](https://blog.kakaocdn.net/dn/du5VhI/btrsMaJgQI4/vQJEcxVkXfNGb6YGk4nfUk/img.png)
RSA
- 창시자의 이름을 따서 명명.
- 큰 소수를 인수분해 하는 과정의 계산 복잡도와 연관.
- 알고리즘
- 2개의 큰 소수 p,q 선택
- n = p x q
- 다음 조건의 숫자 e를 선택
- e < n
- e와 (n-1)(q-1)은 서로소
- (ed-1) mod (p-1)(q-1) = 0 인 d를 찾는다
- e와 n을 공유키로 배포, d는 개인키
C = Pe mod n
P = Cd mod n
엘 가멀
- 디피-헬만 알고리즘의 수학적 배경을 확장한 알고리즘
- 장점: 공개적(특허 없음)
- 단점: 메시지의 길이를 2배로 증폭시킴
타원곡선
- 방정식: y2 = x3 + ax + b
- x, y, a는 실수
- 타원곡선 그룹 내 두점 P, Q => Q = xP
* 키 길이
RSA | 1088비트 |
DSA | 1024비트 |
타원곡선 | 160비트 |
2. 해시함수
- 메시지의 내용을 기반으로 고유의 값(메시지 다이제스트)을 생성
해시함수 목적
- 전체 메시지와 함께 전달되어 메시지 무결성 확인
- 디지털 서명 알고리즘 구현에 사용
해시함수 기본 요구사항(RSA security)
- 입력값의 길이는 제한이 없다
- 출력값의 길이는 고정
- 어떤 입력에든 쉽게 계산 되어야 함
- 일방향 함수여야 한다
- 충돌로 부터 자유로워야 한다 (collision free, 같은 해시가 거의 없어야 함)
SHA (안전한 해시 알고리즘, FIPS180)
SHA1
- 512비트 블록 단위로 처리
- 160비트의 메시지 다이제스트 출력
SHA2
- SHA-256: 512비트 블록크기, 256비트 메시지 다이제스트
- SHA-224: 512비트 블록크기, 224비트 메시지 다이제스트
줄여진 버젼의 SHA-256 해시 - SHA-512: 1024비트 블록크기, 512비트의 메시지 다이제스트
- SHA-384: 1024비트 블록크기, 384비트의 메시지 다이제스트
줄여진 버젼의 SHA-512 해시
MD2 (Message Digest 2)
- 메시지 길이를 16바이트 배수로 만든 뒤, 16바이트 체크섬을 덧붙인 후 128비트 메시지 다이제스트 생성
- 일방향 함수가 아님이 증명이 되어서 더 이상 사용하지 않음.
MD4
- 메시지 길이를 512비트의 배수보다 64비트 짧게 만들어서 128비트 메시지 다이제스트를 생성
- 메시지 다이제스트의 충돌이 있어서 사용되지 않음
MD5
- MD4와 동일한 메시지 길이를 처리하고, 동일한 128비트 메시지 다이제스트를 생성
- MD5가 메시지 무결성 보증을 방해하는 충돌을 유발
3. 디지털 서명
목적
- 정말로 지정된 송신자로 부터 전송 됐다는 것을 수신자에게 보장
- 전송되는 동안 변조되지 않았음을 수신자에게 보장
디지털서명 과정
- 해시 알고리즘으로 메시지로 부터 메시지 다이제스트를 생성
- 송신자의 개인키로 메시지 다이제스트 부분만 암호화 한다. (비대칭키와의 차이, 비대칭키는 수신자의 공개키로 암호화)
이 암호화된 메시지 다이제스트가 디지털 서명이다. - 송신자는 평문 메시지에 디지털 서명을 붙여서 전송한다.
- 수신자는 송신자의 공개키로 디지털 서명을 복호화 한다. (비대칭키는 수신자의 개인키로 복호화)
- 수신자는 평문 메시지를 해시함수로 메시지 다이제스트를 생성
- 두개의 메시지 다이제스트를 비교하여 무결성 검증
HMAC (Hashed Message Authentication Code)
- 부분적인 디지털 서명 구현. 무결성 보장, 부인방지는 없음.
- 공유된 개인키를 사용.
- 암호화 되지 않은 메시지 다이제스트와 공개키 기반 디지털 서명의 중간 위치.
DSS (디지털 서명 표준, Digital Signature Standard)
- 연방정부가 선언한 모든 디지털 서명 알고리즘은 SHA-1, SHA-2 해시함수를 사용해야 한다.
- 승인된 알고리즘
- FIPS 186-3: DSA
- ANSI X9.31: RSA 알고리즘
- ANSI X9.62: 타원곡선 DSA(ECDSA)
4. 공개키 기반 (PKI, Public Key Infrastructure)
- 공개키 암호화는 PKI 계층에 의해 이전에 알지 못 했던 양자사이에 통신을 가능하게 하였다.
인증서(Certificate)
- 디지털 인증서 - 통신 참가자에게 정확한 사람 인지를 증명
- 디지털 서명 - 개인의 공개키로 서명된 복사본
- 인증서가 믿을 수 있는 CA로 부터 서명이 되었음을 확인하여 개인키가 합법적임을 확인 할 수 있다.
X.509 표준
- 만족하는 X.509 버젼
- 인증서 생성자의 시리얼번호
- 서명 알고리즘 식별자
- 발급자 이름
- 유효기간
- 주체자의 이름
- 주체자의 공개키
=> 공식적인 표준은 아니지만 MS와 모질라에서 SSL 표준으로 사용 중
인증기관 (CA, Certificate Authority)
- 중립기관으로 인증서에 대한 공증서비스를 제공
- 목록: VeriSign, Thawte, Geotrust, Comodo Limited, Starfield Technologies, GoDaddy, DigiCert, Network Solutions LCC, Entrust
- RA (Registration Authority): 디지털인증서 발급 전에 사용자들의 신원을 확인 하는 것을 담당해 CA를 돕는다.
인증서 생성과 소멸
등록
- 자신의 신원을 CA에 확인시키는 과정
- 신원 확인 후 자신의 공개키를 CA에 제공
- CA가 공개키 복사본이 담긴 X.509 인증서를 생성
- CA는 CA 개인키로 인증서에 디지털 서명을 하고, 서명된 인증서의 복사본을 발급.
- 배포
검증
- 디지털인증서를 받았을 때, CA의 공개키로 CA의 서명을 확인하여 검증
- 해당 인증서가 인증서 폐기목록(CRL)에 있지 않음을 확인
*공개키가 진본임을 확인하는 조건
- CA의 디지털서명이 진짜다
- CA를 신뢰한다
- 인증서는 CRL에 등록되지 않았다
- 인증서가 신뢰하는 자료를 포함한다(이름,주소,전화번호 등)
폐기-폐기이유
- 인증서가 손상됨(개인키 유출)
- 인증서가 실수로 발급됨
- 인증서의 내용이 변경됨(소유주 이름 등)
- 신분이 변경됨(소유주의 조직변경 등)
인증서 폐기 목록(CRL)
- 여러 인증기관에 의해 유지되고, 인증서의 정보와 폐기된 날짜/시간을 담고 있다.
- 단점: 인증서가 폐기된 시간과 사용자가 아는 시점에 차이가 있다.
온라인 인증서 상태 프로토콜(OCSP)
- 실시간으로 인증서 검증을 제공하기 때문에 CRL의 단점이 해결됨.
5. 비대칭키 관리
보안 유지를 위한 중요한 항목
- 확실히 검증받은 알고리즘을 사용하는 암호화 시스템을 사용.
- 보안 요구사항과 성능 간의 균형이 맞는 키 길이를 사용.
- 키가 실제로 난수 값인지도 확인
- 개인키의 보안을 유지
- 키의 사용이 완료되면 폐기
- 키를 백업
6. 암호학의 응용
이동식기기
- 잃어버리거나 도둑 맞을 경우 심각한 문제를 초래 할 수 있는 민감한 정보들이 담겨 있을 수 있다. 따라서 자료를 보호하기 위해 이동식기기에 암호화를 활성화 시킨다.
각 OS 의 암호화
- 윈도우: BitLocker, EFS
- 맥OS X: File Vault
- 리눅스: TrueCrypt(윈도우,맥OS X, 리눅스 디스크 암호화)
이메일
- 단순하고 비효율적
규칙
- 메시지의 비밀을 지켜야 한다면 메시지를 암호화 한다
- 무결성을 보장해야 한다면 메시지 해시값을 계산 한다
- 인증,무결성,부인방지가 필요하다면 디지털서명을 사용
- 비밀성,무결성,인증,부인방지가 필요하다면 메시지를 암호화하고 디지털서명
PGP
- 상용버젼: 키교환 RSA, 암/복호화 IDEA, 메시지다이제스트 MD5
- 무료버젼: 키교환 디피-헬만, 암/복호화 CAST 128비트, 메시지다이제스트 SHA-1
S/MIME
- 보안이메일의 표준. RSA암호화 알고리즘을 응용
- 적용 제품: 아웃룩, 썬더버드, 맥OS X mail
- X.509 인증서 사용. RSA 공개키 암호화 프로토콜. AES, 3DES 대칭 암호화 알고리즘
웹 애플리케이션
SSL
- 넷스케이프에서 개발.
- HTTPS는 포트 443번을 사용.
- 대칭과 비대칭 암호화의 조합
- 과정
- 웹사이트에 접속, 브라우저가 웹서버에 인증서를 요청하고, 인증서에서 공개키 추출
- 브라우저가 랜덤 대칭키를 생성, 서버의 공개키로 암호화 한 뒤 서버로 전송
- 서버가 개인키로 대칭키를 복호화 하고, 서버와 브라우저는 대칭키를 사용해 통신
스테노가 그래피
- 비밀 메시지를 다른 메시지에 내장하는 예술
- 이미지 파일의 비트의 LSB를 변경해 동작
- 주로 불법적인 행위에 사용되지만 워터마크를 첨가해서 지적재산권을 보호 할 수 있다.
네트워킹
회로 암호화
- 링크 암호화: 양 끝단 사이 터널을 생성해 통신을 보호 (예: VPN)
- 점대점 암호화: 양자사이의 통신을 보호 (예: TLS)
IPSEC
- IETF에서 제정한 표준
- 암호화,접근통제,부인방지,메시지인증을 위해 공개키 암호화를 사용
- VPN에 주로 사용. L2TP/IPSEC으로 불린다.
- SA(보안 연계)
- AH(인증헤더) : 무결성,부인방지 보장. 인증과 접근통제 제공. 재현공격 방지
- ESP(캡슐화 보안 페이로드): 콘텐츠의 기밀과 무결성을 제공. 암호화와 제한된 인증을 제공. 재현공격 방지.
전송모드와 터널모드
- 전송모드: 패킷 페이로드만 암호화(Peer to Peer 통신)
- 터널모드: 헤더를 포함한 전체 패킷이 암호화(gateway to gateway 통신)
ISAKMP (인터넷 보안 연계 및 키 관리 프로토콜)
- IPSEC을 위한 백그라운드 보안을 제공
- 기본 요구사항(RFC 2408)
- 통신 당사자들에 대한 인증
- SA(보안연계)의 생성과 관리
- 키 생성 절차의 제공
- 위협에 대한 보호
무선 네트워킹
- WEP(유선급 프라이버시)
- RC4 사용. 64비트/128비트 암호화 옵션 제공
- WPA(WiFi 보안 연결)
- RC4+TKIP(시간적 키 무결성 프로토콜) 또는 LEAP(Lightweight Extensible Authentication Protocol) 사용
- WPA2
- AES-CCMP암호화 적용
- 인증 옵션으로 PSK(preshared key)/PER(personal) 그리고 IEEE 802.1X/ENT(enterprise)가 정의되었음.
- WPA3
- WPA3-ENT는 192bit AES CCMP 사용.
- WPA3-PER는 128bit AES CCMP 사용. PSK가 SAE(Simultaneous Authentication of Equals)로 대체됨.
- * SAE는 제로지식증명을 사용(디피-헬만 파생)
- IEEE 802.1X/EAP
- WPA, WPA2, WAP3에서는 ENT 인증을 지원(802.1X/EAP)
- IEEE 802.1X - 기존의 인증서비스와 연동이 가능하게 함(RADIUS, TACACS, 인증서, 스마트카드 등)
- EAP(Extensible Authentication Protocol) - 인증 프레임워크. 인증 신기술들을 기존의 무선 또는 Point-to-Point 기술과 호환가능하게 함.
- 유무선 네트워크의 인증과 키 관리를 위한 프레임워크
- 클라이언트는 supplicant라는 sw를 실행 해야함.
7. 암호화 공격
분석공격
- 알고리즘의 논리를 분석하는 공격
구현공격
- 암호화 시스템 구현상의 취약점. 코드, 에러, 실수, 방법론에 초점
통계적공격
- 부동소수점 에러나 실제 난수를 발생 할 수 없는 점과 같은 암호화 시스템의 통계적 취약점을 공략
- HW 또는 OS의 취약점
무작위 대입
- 가능한 모든 조합의 키나 암호를 시도
- 레인보우 테이블 : 해시값을 미리 계산해 제공
- 무작위 대입에 최적화 된 특수한 HW를 사용해 공격
주기분석 공격
- 각 문자가 암호문에 몇번 씩 나타나는지 세어서 추측하는 방법
암호문 단독 공격
- 암호화된 메시지만 가지고 공격
알려진 평문 공격
- 평문 메시지와 암호문을 가지고 암호문을 푸는 것
선택된 암호문 공격
- 공격자가 암호문의 일부를 복호화 할 수 있고, 이를 이용해서 키를 찾는 것
선택된 평문 공격
- 공격자가 평문의 일부를 암호화 할 수 있고, 암호문을 분석 하는 것
Meet in the middle
- 알려진 평문 메시지를 이용해서, 평문은 모든 가능한 키(k1)로 암호화
- 대응되는 각 암호문은 모든 가능한 키(k2)로 복호화
- 평문과 복호화된 평문이 일치하는 키 쌍(k1, k2)은 이중 암호화의 모든 부분을 나타냄.
=> 2DES가 사용되지 않는 이유
중간자 공격
- 통신을 하는 양자 사이에서 통신을 가로채는 것
- 공격자가 송신자의 초기화 요청에 응답하여 보안 세션을 맺고, 공격자가 송신자인 것 처럼 위장하여 수신자와 보안세션을 맺는다.
생일 공격 (충돌공격 또는 역해시 매칭)
- 디지털 서명에서 사용된 메시지다이제스트와 동일한 메시지다이제스트를 생성하는 메시지를 사용해서 디지털 서명의 유효성을 유지
재현 공격
- 양자 사이의 암호화된 인증요청 메시지를 가로채서 나중에 세션을 열기 위해 메시지를 재현 하는 것.
- 메시지에 시간을 표시하거나 만료시간을 설정해서 방지 가능
728x90
반응형
'IT이론 정리노트 > IT보안(CISSP)' 카테고리의 다른 글
CISSP IT보안이론 요약: 보안 구조 취약점, 위협, 대응 방안 (0) | 2022.02.10 |
---|---|
CISSP IT보안이론 요약: 보안 모델의 원칙,설계,기능 (0) | 2022.02.09 |
CISSP IT보안이론 요약: 암호화 기법과 대칭키 알고리즘 (0) | 2022.02.07 |
CISSP IT보안이론 요약: 악성코드와 애플리케이션 공격 (0) | 2022.02.06 |
CISSP IT보안이론 요약: 소프트웨어 개발 보안 (0) | 2022.02.06 |