[5편] 비밀번호는 어떻게 지켜지는가 — 내 정보를 감싸는 암호화의 기초 원리
비밀번호를 입력하는 순간, 무슨 일이 벌어질까요
인터넷 쇼핑몰에 로그인합니다.
비밀번호를 입력하고 '확인’을 누릅니다. 1초도 안 되어 로그인이 완료됩니다. 이 짧은 순간에, 내가 입력한 비밀번호는 그대로 서버까지 전달되는 걸까요?
그렇지 않습니다. 만약 비밀번호가 입력한 그대로 인터넷을 타고 이동한다면, 중간에 누군가 엿볼 수 있습니다. 편지를 봉투 없이 보내는 것과 같습니다. 그래서 비밀번호는 입력되는 순간 전혀 다른 형태로 변환됩니다. 이 변환 과정이 바로 '암호화’입니다.
한국인터넷진흥원(KISA)의 2024년 정보보호 실태조사에 따르면, 국내 인터넷 이용자의 약 90% 이상이 온라인 서비스에서 비밀번호 기반 인증을 사용하고 있습니다. 4편에서 클라우드에 저장된 데이터의 보안이 계정 비밀번호에 달려 있다고 언급했습니다. 그 비밀번호가 어떤 원리로 보호되는지, 이번 편에서 그 구조를 풀어봅니다.
암호화 — 읽을 수 있는 정보를 읽을 수 없는 형태로 바꾸는 기술
암호화(Encryption)는 원래의 정보를 특정 규칙(알고리즘)에 따라 전혀 다른 형태로 변환하여, 허가되지 않은 사람이 내용을 알 수 없도록 만드는 기술입니다. 복호화(Decryption)는 그 반대 과정, 즉 암호화된 정보를 원래대로 되돌리는 것입니다.
비유하면 이렇습니다. 친구에게 쪽지를 보내는데, 혹시 다른 사람이 볼까 봐 둘만 아는 규칙으로 글자를 바꿔 씁니다. 'ㄱ’을 'ㅎ’으로, 'ㄴ’을 'ㅍ’으로 바꾸는 식입니다. 쪽지를 중간에 누가 주워도 의미를 알 수 없습니다. 규칙을 아는 친구만 원래 내용을 복원할 수 있습니다. 암호화의 핵심 원리가 이것입니다.
암호화 작동 원리 = 원본 데이터(평문) → 암호화 알고리즘 + 키(열쇠) 적용 → 변환된 데이터(암호문) → 정당한 수신자만 키로 복호화
예를 들어, 내가 쇼핑몰에 비밀번호 "mypass123"을 입력하면, 이 문자열은 즉시 암호화되어 "a7f3c9e2b1d8…"과 같은 의미 없는 문자열로 변환됩니다. 이 암호문이 인터넷을 통해 서버로 전달됩니다. 설령 전송 중에 누군가 이 데이터를 가로채더라도, 원래 비밀번호를 알아낼 수 없습니다.
비밀번호를 지키는 3가지 기술 계층
암호화는 하나의 기술이 아니라, 여러 계층의 기술이 겹겹이 보호하는 구조입니다.
첫 번째 계층은 해시(Hash)입니다. 대부분의 서비스는 비밀번호를 원본 그대로 저장하지 않습니다. 비밀번호를 '해시 함수’라는 일방통행 변환기에 통과시킵니다. "mypass123"이 해시 함수를 거치면 "e4d909c290d0fb1ca068ffaddf22cbd0"같은 고정 길이 문자열로 바뀝니다. 핵심은 이 과정이 되돌릴 수 없다는 것입니다. 해시값에서 원래 비밀번호를 역산하는 것은 계란 프라이에서 날달걀을 복원하는 것만큼 어렵습니다. 로그인할 때 서버는 내가 입력한 비밀번호를 같은 방식으로 해시 변환한 뒤, 저장된 해시값과 일치하는지만 비교합니다.
두 번째 계층은 전송 암호화(SSL/TLS)입니다. 내 기기와 서버 사이에 데이터가 이동하는 동안에도 보호가 필요합니다. 인터넷 주소창에 'https’로 시작하는 사이트는 SSL/TLS라는 전송 암호화 기술이 적용된 상태입니다. 국제인터넷표준화기구(IETF)가 관리하는 이 프로토콜은, 전송 중인 데이터를 암호화하여 중간에서 가로채더라도 내용을 읽을 수 없도록 만듭니다.
세 번째 계층은 2단계 인증(2FA)입니다. 비밀번호가 아무리 강력해도, 유출될 가능성은 항상 존재합니다. 2단계 인증은 비밀번호 외에 한 가지 인증 수단을 더 요구합니다. 문자 메시지로 전송되는 일회용 코드, 인증 앱의 시간 기반 코드, 지문이나 얼굴 인식 등이 여기에 해당합니다. 비밀번호가 뚫려도 두 번째 열쇠가 없으면 문이 열리지 않는 구조입니다.
이것만 알면 달라지는 비밀번호 관리 포인트 3가지
암호화 기술이 아무리 강력해도, 비밀번호 자체가 허술하면 보호의 의미가 줄어듭니다. 원리를 이해한 위에서 실천할 수 있는 포인트가 있습니다.
첫째, 같은 비밀번호를 여러 사이트에 쓰지 않는 것입니다. 한 사이트에서 비밀번호가 유출되면, 같은 비밀번호를 쓰는 모든 계정이 위험해집니다. 이것을 '크리덴셜 스터핑(Credential Stuffing)'이라고 합니다. KISA의 보고에 따르면, 개인정보 침해 사고의 상당수가 이미 유출된 비밀번호를 다른 사이트에 대입하는 방식으로 발생합니다.
둘째, 2단계 인증을 켜두는 것입니다. 4편에서 클라우드 보안을 위해 2단계 인증을 언급했습니다. 이메일, 클라우드, 금융 앱 등 중요한 계정에 2단계 인증을 설정해 두면, 비밀번호 유출만으로는 계정이 뚫리지 않습니다. 설정은 대부분 계정의 ‘보안’ 메뉴에서 몇 분 안에 완료됩니다.
셋째, 주소창의 'https’를 확인하는 습관입니다. 개인정보를 입력하거나 결제를 진행하는 페이지에서 주소가 'http’로 시작한다면, 전송 암호화가 적용되지 않은 상태입니다. 'https’의 's’는 Secure, 즉 보안을 의미합니다. 이 한 글자가 내 데이터가 암호화되어 전송되는지 여부를 알려주는 가장 간단한 신호입니다.
정리하며: 보이지 않는 잠금장치들
비밀번호를 입력하는 1초 사이에, 해시 변환, 전송 암호화, 인증 확인이 겹겹이 작동합니다. 이 보이지 않는 잠금장치들이 내 정보를 지키고 있습니다. 다만 이 장치들의 첫 번째 열쇠는 결국 내가 만든 비밀번호입니다.
오늘 하나만 확인해 보세요. 가장 자주 쓰는 이메일이나 클라우드 계정의 보안 설정을 열어, 2단계 인증이 켜져 있는지 확인하는 것입니다. 켜져 있지 않다면 지금 설정하는 데 3분이면 됩니다. 그 3분이 계정 전체를 지키는 두 번째 잠금장치가 됩니다.
5편 핵심 요약
-
암호화는 원본 데이터를 알고리즘과 키를 이용해 읽을 수 없는 형태로 변환하는 기술이며, 정당한 수신자만 복호화하여 원본을 확인할 수 있습니다.
-
비밀번호는 해시 변환(되돌릴 수 없는 일방통행 변환), 전송 암호화(https/SSL/TLS), 2단계 인증(2FA) 세 겹의 계층으로 보호됩니다.
-
암호화 기술이 강력해도 같은 비밀번호 재사용, 2단계 인증 미설정, http 사이트 사용이 보안의 취약점이 되므로, 사용자 측의 기본 관리가 중요합니다.
다음 편 안내
6편: GPS는 어떻게 내 위치를 미터 단위로 알아낼까? — 머리 위 위성이 하는 계산
내비게이션을 켜면 내 차의 위치가 지도 위에 정확히 찍힙니다. 배달앱은 라이더의 위치를 실시간으로 보여줍니다. 이 위치 정보를 제공하는 GPS, 머리 위 2만 킬로미터 상공의 위성이 어떤 계산을 하고 있는지 풀어봅니다.
댓글
댓글 쓰기