일모도원(日暮途遠) 개발자
SSH가 Password보다 나은 점 본문
SSH란 Secure SHell의 약자로 개인키와 공개키를 만들어서 서버에는 공개키를 저장해두고, 내 컴에는 개인키를 저장해두고 서버에 접속할때는 개인키와 공개키가 일치하는지 여부를 체크하는걸 말한다.
귀찮게 왜 개인키와 서버키를 만드냐고, 어짜피 개인키도 텍스트파일이고 개인키를 잃어버리면 보안의 위험이 있는건 패스워드 방식과 똑 같지 않냐는 말을 들은적이 있다.
왜 SSH가 Password보다 나은 점을 살펴보자.
- 비번은 외울수 있지만 SSH의 Private key는 외우는게 불가능하다. 아래 Private key가 외워지겠는가?
(즉 비번은 한번 힐끗보고 외워서 훔쳐가는게 가능하지만, 개인키는 불가능하다)
- 비번은 여러싸이트에서 가능하면 같은걸 쓸려고 한다. 왜냐하면 각 싸이트마다 다른 비번을 걸어두면 다 기억할수도 없을뿐더러 일일히 다 어딘가에 적어두어야 한다. 이에 반해서 SSH는 키를 생성할때마다 다른 키가 생성되기때문에 유리하다. (물론 한번 생성한 키를 모든 싸이트에 같이 쓴다면 보안에 취약하겠지만, 새로 키를 생성하는게 간단하니 굳이 그렇게 안해도 된다)
- 패스워드는 보통 서버에 저장된다. 그래서 서버가 해킹당하면 난리가 난다. (기억하자 비밀번호는 주로 같은것을 여러싸이트에 사용한다는것을) 하지만 SSH 방식에서는 서버가 털려도 개인키는 내 컴퓨터에 있기 때문에 서버가 털려도 상관없다.
해커가 서버를 털어서 아이디와 비번을 가져가면, 스크립트를 만들어서 수많은 다른 싸이트로 접속을 시도할것이다. 하지만 SSH방식이면 개인키들 개인들의 컴퓨터에서 다 털지 않은 이상 불가능하다. 설령 개인키를 해킹했다고 해도 싸이트별로 다른 개인키를 사용하면 기껏해야 한곳의 서버만 해킹당하는거랑 똑 같다.