본문 바로가기
용어 및 개념

SSH 작동 원리

by Rainbound-IT 2021. 7. 27.
반응형

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

 

 

 

반응형

댓글