1. RSA란?
- Rivest, Shamir, Adleman 세 사람의 이름 앞 글자를 딴 것.
- 핵심은 공개키와 비밀키를 쌍으로 사용한다는 점.
- 공개키(Public Key): 누구나 볼 수 있음
- 비밀키(Private Key): 나만 가지고 있어야 함
2. 데이터 암호화 원리

- 데이터를 보낼 때 → 상대방의 공개키로 암호화.
- 데이터 받는 쪽은 → 자신만이 가진 비밀키로만 해독 가능.
👉 이렇게 하면 데이터 기밀성(Confidentiality)이 보장된다.
3. 인증(누가 보냈는가?)

- 내가 진짜 ‘나’임을 증명하려면 → 내 비밀키로 서명한다.
- 상대방은 미리 알고 있는 내 공개키로 확인 가능.
👉 이 과정을 통해 무결성(Integrity) + 인증(Authentication) 이 보장된다.
4. AWS EC2와 RSA의 연결
- AWS에서 EC2 인스턴스를 임대할 때, 22번 포트(SSH) 를 열어준다.
- 하지만 보안을 위해 “아무나” 들어올 수는 없다.
접속 절차
- 내 로컬 컴퓨터의
.ssh
폴더 안에는 비밀키(Private Key) 가 있다.
- EC2 서버에는 내 공개키(Public Key) 가 미리 등록돼 있다. (
~/.ssh/authorized_keys
)
- 접속 요청 시:
- 클라이언트(내 PC)는 비밀키로 인증을 시도.
- 서버(EC2)는 등록된 공개키와 매칭.
- 인증이 일치하면 → 세션(Session) 생성 성공.

세션이 열렸다는 것 :
클라이언트(내 PC)와 서버(EC2) 사이에 신뢰할 수 있는 통신通路가 만들어졌다는 뜻이다
즉, RSA 키 검증이 끝나서 이제부터는 암호화된 상태로 명령을 주고받을 수 있는 안전한 연결(SSH 터널)이 성립된 거다.
5. 정리
- RSA = 공개키 + 비밀키 쌍을 활용한 암호화 기법
- 공개키로는 암호화 / 검증, 비밀키로는 복호화 / 서명
- AWS EC2 SSH 접속 시:
- 내 컴퓨터 = 비밀키
- EC2 서버 = 공개키 (authorized_keys)
- 둘이 맞아야만 세션이 열리고 원격 접속이 가능하다.
Share article