자주 사용해 왔지만 좀더 정확하게 이해하고 사용하고 싶어 간략하게 정리한다.
ssh 는 secure shell 을 의미하며 주로 원격 컴퓨터에 로그인하고 명령을 실행하거나 파일을 전송하는등등에 사용된다. ssh 는 secure가 붙은 것 처럼, 이 과정에서 데이터를 암호화하여 네트워크를 통해 정보가 노출되는 것을 방지한다.
ssh 과정을 간략하게 요약해보면 아래와 같다
- 접속되는 서버는 접속하는 사용자의 공개키를 가지고 있는 상태를 가정한다
- 접속하는 사용자는 접속시 본인의 공개키를 전송한다.
- 접속되는 서버는 챌린지를 보내고, 접속하는 사용자는 이것을 비밀키를 통해 응답한 후, 접속되는 서버에서 이를 공개키로 검증하여 개인키가 유효한지 확인한다.
- 개인키가 유효한 것으로 확인되면, 연결이 허용된다
- 이제 데이터를 서로 암호화해서 주고받기위해 대칭키를 공유해야한다. 이는 Diffie-Hellman 알고리즘을 통해 공동의 세션키를 공유하는 방식이 사용된다
- 위에서 공유한 공동의 세션키(대칭키)로 데이터를 암호화하여 주고받는다
'tech > 보안&인증' 카테고리의 다른 글
[보안&인증] aws imds(Instance Metadata Service) 에 관하여 (0) | 2024.06.24 |
---|---|
[보안&인증] openID와 SSO 비교 정리 (0) | 2024.06.23 |