2-1. 대칭키 암호화
동일한 키를 사용하여 암호화와 복호화를 하는 방식으로, 서버와 클라이언트 양쪽이 동일한 키(= 대칭키)를 가지도록 한다. 암호화를 할 때는 데이터와 키를 특정 알고리즘에 넣어서 돌리면 되고, 복호화를 할 때는 데이터와 키를 그 알고리즘에 넣어서 거꾸로 돌리면 된다. 즉 대칭키를 서버와 클라이언트만 가지고 있다면 전송 과정의 데이터를 누군가 훔쳐보더라도 그 내용을 알아볼 수 없게 된다. 그러나 이러한 대칭키를 서버와 클라이언트가 서로 공유하기 위해서는 최소 한 번은 그 대칭키를 전송하는 과정이 필요하다는 문제가 있다. 만약 이 과정에서 그 대칭키가 탈취당한다면 암호화가 아무 의미 없어지는 것이다. 이를 보완하기 위해 등장한 방식이 바로 비대칭키(공개키) 암호화 방식이다.
2-2. 비대칭키(공개키) 암호화
암호화와 복호화를 할 때 서로 다른 키를 사용하는 방식으로, 서버는 자신만의 개인키를 가지고 있고 이에 대응되는 공개키는 누구나 가지고 있을 수 있도록 공개한다. 개인키로 암호화된 데이터는 이에 대응되는 공개키로만 복호화가 가능하며, 공개키로 암호화된 데이터는 이에 대응되는 개인키로만 복호화가 가능하다. 따라서 서버에게 데이터를 전송할 때 해당 서버의 공개키로 암호화를 하면 누군가 훔쳐보더라도 해당 서버의 개인키를 가지고 있지 않아서 그 내용을 알아볼 수 없게 된다.
SSH 원리
서버는 .ssh/authorized_keys에 클라이언트의 공개키를
클라이언트는 .ssh/knownhosts에 서버의 공개키를 저장한다.
서로다른 공개키를 교환하여 그 공개키로 암호한후 자신의 prvate key로 복호화하여 서로 확인합니다.
인증이 끝나면 대칭키인 세션키를 교환하여 암호화가 이루어집니다.(이렇게하면 더빠르기 때문이겟죠?)
https://limvo.tistory.com/21
[서버보안] SSH #1 - SSH 원리
SSH(Secure Shell) : 시큐어 셸 기존 Telnet, Rlogin, RSH를 대체하기 위해 만들어졌으며 네트워크 상의 다른 PC나 서버에 로그인, 원격 명령 실행, 파일 전송을 수행할 수 있는 프로토콜이다. 기존의 원격
limvo.tistory.com
위에건 그림이 없어서 좀이해하기 어려웠다.
아래가 그림이 있어서 이해하기 쉬웠다.
https://pilyeooong.tistory.com/entry/SSH%EB%9E%80
SSH란 ?
제가 SSH라는 단어를 접하게 된건 aws를 통해 EC2 인스턴스에 접근할 때, 명령문 젤 앞단에 위치 해있던 모습입니다. 지금까지는 '원격 접속을 위한 것이구나' 하고 넘어 갔지만, 이제는 잘 알고 쓸
pilyeooong.tistory.com
'용어 및 개념' 카테고리의 다른 글
토큰기반 인증 한줄 요약 (0) | 2021.08.13 |
---|---|
Stateful vs Stateless 차이 (0) | 2021.08.13 |
SDS(Software Define Storage) (0) | 2021.07.26 |
VM Disk - thick, thin provisioning / 고정, 동적, 차이점보관 (0) | 2021.07.23 |
NUMA - 불균일 기억 장치 접근 (0) | 2021.07.23 |
댓글