암호화
사람이 인식할 수 있는 문자를 읽기 힘든 기호나 다른 뜻을 가진 문자 형태로 변환하여 내용을 보호화는것
애나그램
시저(Gaius Julius Caesar)
스키테일
비즈네르(Vigenere Cipher)
커크호프의 원칙
대칭키(비밀키)
암호화하는 키와 복호화하는 키가 동일
사전에 비밀키를 서로 공유하여 사용하는 방식
통신속도가 빠름
리소스 소모량이 적음
비밀키가 유출되면 무용지물
키교환이 어렵다.(물리적으로 옮겨야만 안전하다.)
Stream Cipher
비트나 바이트 단위로 입력되는 순서대로 암호화
block Cipher방식보다 빠르다.
Block Cipher
일정 크기로 자른 후 Block 단위로 암호화
난수 발생으로 초기화 벡터를 평문의 첫 Block에 조합 후 암호화된 Block을 다음 Block에 조합시켜 나간다.
DES, 3DES, AES
비대칭키(공개키)
수학적 알고리즘을 통해 암호화를 위한 키와 복호화를 위한 키를 따로 가지는 암호 알고리즘
서로 각자 공개키 하나 개인키 하나씩 만들고 / 공개키를 교환
상대방의 공개키를 가지고 데이터를 암호화하여 보낸다.
키교환에 위험이 없다.
리소스 소모량이 크다.
RSA(Rivest, Shamir, Adleman)
키교환 알고리즘
안전하게 키를 교환하기 위한 방법
대칭키/비대칭키 알고리즘을 함께 사용하는 Key wrapping 방식과, Diffie_Helleman 알고리즘이 있다.
key wrapping
클라이언트가 대칭키를 생성
서버의 공개키로 대칭키를 암호화하고 서버로 전송
이후에는 대칭키를 이용하여 빠르게 데이터 주고받음
ssh-tls 구조에서 사용
Diffie-Helleman
함수를 사용해 실제 키값은 전송하지 않고 키를 생ㅇ성하는데 필요한 값만 전송한다.
인증 및 전자서명과 같은 기능은 제공할 수 없고, 비밀키 교환용도로만 사용할 수 있다.
hash 알고리즘
복호화가 되지않아 무결성을 위해 사용한다.
평문 길이에 상관없이 동일한 길이의 출력 값을 생성한다.
hash 알고리즘으로 암호화를 하면 항상 같은 값이 나와야 한다.
암호화는 가능하지만 복호화가 불가능하다.
따라서 데이터 전송에는 절대 사용하지 않는다.
ssl & tls
secure socket layer의 준말로, 넷스케이프사에서 전자상거래 등의 보안을 위해 개발한 프로토콜이다.
ssl 3.0버전을 기초로 IETF에서 표준화하며 TLS(Transprot Layer Security)라는 이름으로 명명 되었다.
기능
사이트 인증
서버는 인증기관에서 암호화한 인증서를 구매해서 발급받아야한다.
데이터 보호
통신 노드가 핸드셰이크를 해서 공유 비밀 키를 구성
양 노드의 연결이 설정되고 비밀 키를 공유하면 이 둘 사이에서 교환되는 모든 데이터는 암호화된다.
무결성 체크
이후 핸드셰이크 통신을 할 때 신뢰할 수 있는 CA목록과 인증서 서명이 자동으로 대조된다.
'[IT_note]' 카테고리의 다른 글
인바운드, 아웃바운드 규칙 (0) | 2023.05.13 |
---|---|
방화벽이란 (0) | 2023.04.16 |
[git/github 입문] git 설치하기 (0) | 2022.05.28 |