피어나는 열정 2022. 7. 25. 19:39

 

시큐어 셀(Secure SHell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해주는 응용 프로그램 또는 그 프로토콜을 가리킨다.

 

  • 대표적인 사용 :
    1. 데이터 전송
    2. 원격 제어
  • 데이터 전송의 예 :
    • 깃 허브
    • 원격 저장소, 소스 코드를 원격 저장소인 깃헙에 푸쉬할 때 SSH를 활용해 파일을 전송하게 된다.
  • 원격 제어의 예 :
    • AWS와 같은 클라우드 서비스는 인스턴스 서버에 접속하여 해당 머신에 명령을 내리기 위해서 SSH을 통한 접속을 해야한다.
  • 사용이유 :
    • 보안때문에 FTP나 Telnet과 같은 다른 컴퓨터 통신을 사용하지 않는다.
    • SSH는 보안적으로 훨씬 안전한 채널을 구성한 뒤 정보를 교환하기 때문에 보다 보안적인 면에서 뛰어나다.

SSH 작동 원리

SSH 프로토콜은 클라이언트-서버 모델로 동작하며 대칭키 방식, 비대칭키 방식, 해시 알고리즘을 사용하여 인증 및 암호화를 수행한다.

대칭키 방식은 클라이언트-서버 간 전체 연결을 암호화에 사용되며,

비대칭키 방식은 키 교환, 클라이언트 인증, 서버 인증에 사용되고,

해시 알고리즘은 패킷의 무결성을 확인하기 위해 사용된다. (HMAC : Hash based Message Authenticated Codes)

 

 

대칭키

비대칭키

대표적인 알고리즘으로는 Diffie-Hellman, RSA, DSA, ECC, 등이 있다.

 

A가 B에게 데이터를 보낸다고 할 때, A는 B의 공개키로 데이터를 암호화해서 보내고 B는 본인의 개인키로 해당 암호화된 데이터를 복호화해서 보게 된다.

  • 암호화된 데이터는 B의 공개키에 대응되는 개인키를 갖고 있는 B만이 볼수 있게 된다.

공개키는 키가 공개되어 있기 때문에 따로 키 교환이나 분배를 할 필요가 없게 된다. 중간 공격자가 B의 공개키를 얻는다고 해도 B의 개인키로만 복호화가 가능하다.

 

-> 키 전달 문제를 해결하여 더 안전하지만, 암호화와 복호화를 위해 복잡한 수학 연산을 수행하기 때문에 대칭키 알고리즘에 비해 속도가 느리다는 단점이 있다.