매일 사용하는 웹사이트나 앱에서 '로그인' 버튼을 누를 때,
여러분의 정보는 어떻게 보호되고 있을까요?
단순히 아이디와 비밀번호를 입력하는 것 같지만, 그 뒤에는
복잡하고 정교한 보안 절차가 숨어 있습니다.
오늘은 개발자가 아니더라도 꼭 알아두면 좋은, 내 소중한 정보를 지키는
IT 보안의 핵심 기술을 아주 쉽게 풀어드리려 합니다.
특히 요즘 가장 많이 쓰이는 OAuth 2.0과
JWT가 무엇인지, 마치 놀이공원 입장권처럼 쉽게 설명해
드릴게요.
💡 오늘의 핵심 질문
"구글 아이디로 로그인하기는 왜 편리하면서도 안전할까?"
"로그인 후에는 왜 비밀번호를 계속 입력하지 않아도 될까?"
🔑 1. OAuth 2.0: 디지털 세계의 '발렛파킹' 키
먼저 OAuth 2.0이라는 용어부터 알아볼까요?
어렵게 들리지만, 사실 우리가 매일 쓰는
'카카오톡으로 로그인',
'네이버로 로그인'이 바로 이 기술입니다.
쉽게 말해, 내 비밀번호를 직접 사이트에 넘겨주는 것이 아니라,
검증된 대리인(구글, 카카오 등)을 통해 신분을 증명하는
방식입니다.
🚗 발렛파킹 비유로 이해하기
-
✅
진짜 열쇠(비밀번호): 차의 모든 문을 열고 시동도 걸 수
있는 마스터키입니다.
남에게 함부로 주면 절대 안 되겠죠?
-
✅
발렛 키(OAuth 토큰): 차 문만 열거나, 시동만 걸 수
있게 권한이 제한된 키입니다.
트렁크나 글러브 박스는 열 수 없도록 설정되어 있어 안전합니다.
즉, OAuth 2.0은 여러분의 진짜 비밀번호를 공유하지 않고도, 서비스 이용에
필요한
최소한의 권한만 빌려주는 안전한 보안 표준입니다.
🎫 2. JWT: 위변조가 불가능한 '디지털 입장권'
로그인을 성공했다면, 이제 웹사이트를 자유롭게 이용해야겠죠?
이때 사용되는 것이 바로 JWT(Json Web Token)입니다.
서버는 로그인에 성공한 사용자에게
JWT라는 암호화된 토큰(입장권)을 발급해 줍니다.
놀이공원 입구에서 명부에 이름을 적고, 탈 때마다 직원이 명부를 확인하는
방식.
사람이 많아지면 확인하는 시간이 오래 걸립니다.
손목에 자유이용권 띠(JWT)를 두르는 방식.
직원은 띠만 확인하면 되므로 처리가 매우 빠르고 간편합니다.
JWT는 단순한 문자열처럼 보이지만, 그 안에는
사용자 정보(누구인지)와
유효 기간(언제까지인지), 그리고
위조 방지 도장(서명)이 찍혀 있습니다.
누군가 이 토큰을 조작하려고 하면, 위조 방지 도장이 깨지기 때문에 서버가
즉시 알아챌 수 있습니다.
🛡️ 3. 내 정보는 어디에 저장해야 안전할까?
이 중요한 디지털 입장권(JWT)을 브라우저 어디에 보관해야
할까요?
이것이 바로 프론트엔드 보안 전략의 핵심입니다.
일반적으로 두 가지 장소가 거론되는데, 각각 장단점이 뚜렷합니다.
| 저장 장소 | 특징 (비유) | 보안 수준 |
|---|---|---|
|
로컬 스토리지 (LocalStorage) |
내 주머니 속 지갑 (꺼내기 쉽지만 소매치기 위험) |
위험 (XSS 공격 취약) |
|
쿠키 (HttpOnly Cookie) |
은행 개인금고 (직접 못 꺼내고 은행원만 접근 가능) |
안전 (자바스크립트 접근 불가) |
개발자들은 보통 'HttpOnly 쿠키'라는 방식을 선호합니다.
이 방식은 브라우저가 자동으로 서버에 토큰을 보여주지만,
해커가 자바스크립트 코드로 토큰을 훔쳐가는 것을 원천적으로 차단하기 때문입니다.
여러분이 안전한 사이트를 이용할 때, 알게 모르게 이 기술이 여러분의 정보를
지키고 있는 셈이죠.
🎓 마치며: 편리함 뒤에 숨겨진 견고한 방패
오늘 우리는 OAuth 2.0과 JWT라는 보안
기술을 통해, 웹사이트가 어떻게 우리의 정보를 안전하게 다루는지
알아보았습니다.
어렵게만 느껴졌던 IT 보안 용어들이 조금은 친숙해지셨나요?
-
OAuth 2.0: 비밀번호 대신 권한만 빌려주는 '발렛 키'
방식입니다.
-
JWT: 위조가 불가능한 디지털 '자유이용권'입니다.
-
보안 전략: 소중한 토큰은 해커가 건들지 못하도록
'HttpOnly 쿠키'에 보관하는 것이 안전합니다.
앞으로 "구글로 로그인" 버튼을 볼 때마다,
'아, 내 비밀번호 대신 안전한 토큰이 오고 가겠구나'라고
생각하시면 됩니다.
보안은 멀리 있는 것이 아니라, 우리 일상의 클릭 한 번에 모두 담겨
있으니까요.


.png)
.png)
댓글 쓰기