본문 바로가기

암호화 기초: 인터넷 뱅킹 정보가 중간에서 훔쳐지지 않는 이유

📑 목차

    인터넷 뱅킹을 써도 정말 안전한가

    많은 사람이 인터넷 뱅킹이나 모바일 뱅킹을 일상적으로 사용한다. 계좌 조회, 이체, 공과금 납부까지 대부분의 금융 업무를 온라인으로 처리한다. 그 과정에서 계좌번호, 비밀번호, 공인인증서 대체 수단, 일회용 비밀번호(OTP) 같은 민감한 정보가 인터넷을 통해 계속 오간다.

    문제는 인터넷이 “누구나 지나갈 수 있는 길”과 비슷하다는 점이다.
    중간 어딘가에서 누군가가 데이터를 훔쳐보거나, 바꿔치기하면 어떻게 될까. 그럼에도 불구하고 지금까지 대규모로 인터넷 뱅킹 정보가 통째로 털리는 일은 거의 없다.

    그 이유는 인터넷 뱅킹이 암호화(encryption)와 HTTPS, SSL/TLS 통신을 이용해 데이터를 보호하기 때문이다. 이 글에서는 암호화, 인터넷 뱅킹, 공개키 암호, 대칭키 암호, HTTPS를 핵심 키워드로 삼아,

    • 암호화가 무엇인지,
    • 인터넷 뱅킹에서 어떤 암호화 기술이 쓰이는지,
    • 중간에서 엿보는 공격이 왜 성공하기 어려운지,
    • 사용자가 실제로 신경 써야 할 보안 포인트는 무엇인지

    를 전산학 입문 수준에서 차근차근 설명한다.


    암호화의 기본 개념과 인터넷 뱅킹에 쓰이는 핵심 기술

    1. 암호화란 무엇인가: 평문을 읽을 수 없는 형태로 바꾸는 기술

    암호화(encryption)는 쉽게 말해 원래 내용을 모르는 사람이 이해하지 못하도록, 수학적 규칙을 이용해 내용을 변형하는 기술이다.

    • 사람이 읽을 수 있는 원래 데이터를 평문(plaintext)라고 부른다.
    • 암호화된 뒤의 읽을 수 없는 데이터를 암호문(ciphertext)라고 부른다.
    • 이 변환 과정에 사용되는 비밀 값이 키(key)이다.

    암호화의 핵심 아이디어는 다음과 같다.

    1. 평문 + 키 + 암호 알고리즘 → 암호문
    2. 암호문 + 키 + 복호 알고리즘 → 평문

    중간에서 누군가가 암호문을 훔쳐가더라도,

    • 키를 모르면
    • 수학적으로 거의 불가능할 정도의 계산을 하지 않는 이상
    • 원래 평문을 알아낼 수 없다.

    인터넷 뱅킹에서는 사용자의 브라우저(또는 앱)와 은행 서버가

    • 서로 약속된 방식으로 암호화·복호화를 수행하여
    • 계좌정보, 인증정보, 거래내역을 전송 중에 보호한다.

    2. 대칭키 암호: 같은 키로 잠그고 같은 키로 여는 방식

    대칭키 암호(symmetric key encryption)는

    • 암호화와 복호화에 같은 키를 사용하는 방식이다.

    문을 잠그는 열쇠를 예로 들면 이해하기 쉽다.

    • 같은 열쇠로 문을 잠그고,
    • 같은 열쇠로 문을 연다.

    대표적인 대칭키 알고리즘으로는 AES(Advanced Encryption Standard) 등이 있다.

    대칭키 암호의 장점은 다음과 같다.

    1. 속도가 빠르다.
      • 큰 데이터를 암호화하기에 적합하다.
    2. 구현이 상대적으로 단순하다.

    하지만 단점도 있다.

    1. 키 전달 문제가 있다.
      • 같은 키를 공유해야 하는데, 그 키를 어떻게 안전하게 전달할 것인가.
      • 만약 키가 중간에서 유출되면, 그 키로 암호화된 모든 데이터가 위험해진다.

    인터넷 뱅킹에서는 실제 데이터 전송 시에는 대부분 대칭키 암호(AES 등)를 사용한다.
    다만, 대칭키 자체를 어떻게 안전하게 공유할지에 대한 문제가 남는다.

    3. 공개키 암호: 잠그는 키와 여는 키를 분리하는 방식

    공개키 암호(public key encryption)는

    • 공개키(public key)와 개인키(private key)라는 서로 다른 두 개의 키를 사용하는 방식이다.

    특징은 다음과 같다.

    1. 공개키
      • 누구에게나 공개해도 되는 키이다.
      • 이 키로는 “잠그기(암호화)”만 가능하고, “열기(복호화)”는 할 수 없다.
    2. 개인키
      • 오직 소유자만 알고 있어야 하는 비밀 키이다.
      • 공개키로 잠근 데이터를 다시 열 수 있는 키이다.

    중요한 점은,

    • 공개키로 암호화한 내용은 해당 개인키를 가진 사람만 복호화할 수 있다는 것이다.

    인터넷 뱅킹에서 은행 서버는 보통 다음과 같은 구조를 가진다.

    • 은행 서버: 공개키 + 개인키 한 쌍 보유
    • 사용자 브라우저: 서버의 공개키만 전달받아 사용

    이 구조를 이용하면,

    • 사용자의 브라우저가 은행의 공개키로 어떤 내용을 암호화해 전달하면,
    • 이 내용을 열 수 있는 존재는 은행 서버(개인키 보유)뿐이다.

    4. HTTPS와 SSL/TLS: 암호화를 실제 웹 통신에 적용한 표준

    인터넷 주소창을 보면, 은행 사이트는 대부분 https://로 시작한다.
    이때 사용되는 기술이 바로 HTTPS, SSL/TLS이다.

    • HTTPS(HyperText Transfer Protocol Secure)는
      • 웹 통신 규칙(HTTP)에
      • SSL/TLS라는 암호화 계층을 덧씌운 방식이다.
    • SSL/TLS
      • 브라우저와 서버 사이의 데이터를 암호화하고,
      • 서버가 진짜인지 인증서를 통해 확인해 주는 프로토콜이다.

    인터넷 뱅킹에서 실제로는 다음과 같은 순서로 통신이 진행된다(간략화).

    1. 사용자가 은행 사이트 https://은행주소에 접속한다.
    2. 서버는 브라우저에게 인증서(certificate)를 보낸다.
      • 여기에는 서버의 공개키, 도메인 정보, 인증기관(CA) 서명이 들어 있다.
    3. 브라우저는 인증서를 확인하고,
      • 신뢰할 수 있는 인증기관이 서명했는지,
      • 주소창 도메인과 인증서 도메인이 일치하는지 검사한다.
    4. 브라우저는 임시로 사용할 대칭키(세션 키)를 하나 만든다.
    5. 이 세션 키를 서버의 공개키로 암호화해 서버로 보낸다.
    6. 서버는 자신의 개인키로 그 세션 키를 복호화하여 얻는다.
    7. 이후 실제 데이터(계좌정보, 이체 금액 등)는
      • 브라우저와 서버가 같은 세션 키(AES 등 대칭키 암호)로 암호화해 주고받는다.

    이 과정 덕분에,

    • 인터넷 뱅킹 데이터는 전송 중에는 항상 암호화된 형태로만 이동한다.

    암호화 기초: 인터넷 뱅킹 정보가 중간에서 훔쳐지지 않는 이유
    인터넷 뱅킹에서 HTTPS로 암호화된 통신 흐름

     


    중간에서 훔쳐보는 공격을 막는 원리와 사용자가 지켜야 할 보안 수칙

    1. 중간자 공격(Man-in-the-Middle)을 막는 두 가지 축

    전송 중 데이터를 훔쳐보려는 대표적인 방식이 중간자 공격(Man-in-the-Middle, MITM)이다.
    공격자는 사용자의 브라우저와 은행 서버 사이에 몰래 끼어들어

    • 사용자가 서버에게 보내는 데이터를 엿보거나,
    • 서버가 사용자에게 보내는 데이터를 바꿔치기하려고 한다.

    그러나 제대로 설정된 암호화와 인증 절차가 있다면 이 공격은 매우 어렵다.
    핵심 요소는 두 가지이다.

    1. 암호화된 데이터(대칭키 암호) 자체는 해독하기 매우 어렵다.
      • 중간자가 패킷을 가로채더라도,
      • 안에 들어 있는 것은 AES 같은 강력한 알고리즘으로 암호화된 암호문이다.
      • 세션 키를 모르면 현실적인 시간 안에 해독하는 것은 불가능에 가깝다.
    2. 공개키 기반 인증서로 서버의 “진짜 정체”를 확인한다.
      • 브라우저는 은행 서버가 보내 준 인증서를 보고,
      • 신뢰할 수 있는 인증기관이 발급했는지,
      • 주소창 도메인과 일치하는지 검증한다.
      • 이 과정이 통과되면 사용자는 정상적인 서버와 직접 통신하고 있다는 보장을 얻는다.

    만약 공격자가 가짜 은행 서버를 세우고,

    • 사용자를 그쪽으로 유도하려 해도,
    • 브라우저는 인증서 검증에서 이상을 감지하고
      • “이 웹사이트는 안전하지 않다”는 경고를 띄운다.

    정리하면,

    • 공개키 암호 + 인증서 → “내가 진짜 은행 서버와 통신하고 있다”는 것을 보장
    • 대칭키 암호(세션 키) → 실제 데이터 내용이 중간에서 보이지 않도록 보호

    이 두 축이 함께 작동하므로,

    • 인터넷 뱅킹 정보가 전송 중에 몰래 훔쳐지는 것은 매우 어려워진다.

    2. “훔쳐볼 수 있어도 알아볼 수 없다”는 구조

    현실의 인터넷은 완전히 안전한 공간이 아니다.
    네트워크 장비, 공유기, 통신사 구간 등에서 패킷 자체를 훔쳐보는 것은 이론적으로 가능하다.

    하지만 HTTPS 기반 암호화 구조에서는 다음과 같은 상황이 된다.

    1. 중간자가 보게 되는 것은 암호문(ciphertext)뿐이다.
    2. 이 암호문을 해독하려면
      • 세션 키(대칭키)를 알아야 하고,
      • 세션 키를 얻으려면
        • 서버의 개인키가 필요하거나,
        • 세션 키 자체를 가로채야 한다.
    3. 서버의 개인키는 은행 내부에서 강하게 보호된다.
    4. 세션 키는
      • 브라우저에서 생성된 뒤
      • 서버의 공개키로 암호화되어 전송되므로,
      • 중간에서 가로채더라도 개인키가 없으면 내용(세션 키)을 알 수 없다.

    결국 현실적인 공격자는 암호화를 수학적으로 깨는 것보다는

    • 사용자를 속이는 피싱 사이트를 만들거나,
    • 악성코드를 설치해 사용자의 브라우저나 키보드 입력을 직접 훔쳐보는 방법을 더 선호한다.

    즉,

    • 제대로 설정된 암호화 통신 자체를 깨는 것은 매우 어렵기 때문에,
    • 공격자는 보통 사용자 주변(기기, 브라우저, 이메일, 문자)을 노린다.

    암호화된 HTTPS 통신에서 중간자가 패킷을 가로채더라도 암호문만 보이고 내용을 이해할 수 없는 구조를 보여 주는 다이어그램
    암호화된 통신과 중간자 공격의 한계 개념도

    3. 사용자가 지켜야 할 기본 보안 수칙

    암호화와 HTTPS 덕분에 인터넷 뱅킹 데이터는 전송 중에 안전하게 보호된다.
    그러나 사용자가 기본적인 보안 수칙을 지키지 않으면 암호화만으로는 충분하지 않을 수 있다.
    대표적인 주의사항은 다음과 같다.

    1. 주소창의 HTTPS와 자물쇠 아이콘 확인
      • 인터넷 뱅킹을 사용할 때는 반드시 https://로 시작하는 주소인지 확인해야 한다.
      • 브라우저 주소창 왼쪽의 자물쇠 아이콘을 클릭하면 인증서 정보를 볼 수 있다.
    2. 브라우저의 보안 경고를 무시하지 않기
      • “이 사이트는 인증서에 문제가 있습니다”라는 경고가 뜨면
        • 즉시 중단하는 것이 안전하다.
      • 무시하고 진행하면, 중간자 공격에 노출될 가능성이 커진다.
    3. 공유 PC, 공용 와이파이 사용 시 주의
      • PC방, 카페 와이파이 등에서는
        • 키보드 보안이나 악성코드 감염 위험이 있다.
      • 가급적 개인 기기, 신뢰할 수 있는 네트워크 환경에서 인터넷 뱅킹을 사용하는 것이 좋다.
    4. 피싱 사이트 구분하기
      • 문자나 이메일 링크를 눌러 접속하기보다는
        • 직접 은행 주소를 입력하거나,
        • 즐겨찾기에 등록해 둔 주소로 접속하는 것이 안전하다.
      • 주소가 비슷하게 보이지만 미묘하게 다른 도메인을 사용하는 피싱 사이트에 주의해야 한다.
    5. 기기·브라우저 업데이트 유지
      • 운영체제와 브라우저는 정기적으로 보안 업데이트가 제공된다.
      • 오래된 버전에서는 최신 암호화 방식이나 보안 패치가 적용되지 않았을 수 있다.

    이러한 기본 수칙을 지키면,

    • 암호화 통신의 안전성과
    • 사용자의 보안 습관이 결합되어
    • 인터넷 뱅킹을 훨씬 더 안전하게 사용할 수 있다.

    암호화 구조를 이해하면 인터넷 뱅킹 보안이 보인다

    이 글에서는 암호화 기초를 중심으로, 인터넷 뱅킹 정보가 전송 중에 쉽게 훔쳐지지 않는 이유를 살펴보았다. 핵심 내용을 정리하면 다음과 같다.

    1. 암호화는 평문을 키와 알고리즘을 이용해 읽을 수 없는 암호문으로 바꾸는 기술이다.
      • 키를 모르면 암호문만으로는 내용을 해독하기 매우 어렵다.
    2. 대칭키 암호와 공개키 암호는 서로 보완적인 역할을 한다.
      • 대칭키 암호(AES 등)는 빠르게 데이터를 암호화하는 데 사용된다.
      • 공개키 암호는 대칭키(세션 키)를 안전하게 교환하고, 서버의 정체를 확인하는 데 사용된다.
    3. HTTPS와 SSL/TLS는 암호화를 실제 웹 통신에 적용한 표준이다.
      • 브라우저와 서버가 인증서, 공개키, 세션 키를 교환하여
      • 인터넷 뱅킹 데이터를 전송 중에도 암호화된 상태로 유지한다.
    4. 중간자 공격은 암호화와 인증 덕분에 성공하기 어렵다.
      • 중간자가 패킷을 가로채더라도 암호문만 보일 뿐이다.
      • 서버의 개인키나 세션 키를 모르면 내용을 알 수 없다.
    5. 다만, 사용자의 부주의는 여전히 큰 위험 요소이다.
      • 피싱 사이트, 악성코드, 공용 PC 등은
        • 암호화 통신과 별개로 사용자를 직접 노리기 때문이다.
      • HTTPS 확인, 보안 경고 무시 금지, 기기 관리 등 기본 수칙이 중요하다.

    이제 “인터넷 뱅킹 정보가 중간에서 훔쳐지지 않는 이유”에 대해

    • 암호화, 공개키·대칭키, HTTPS, 인증서, 중간자 공격 방어라는 관점에서 설명할 수 있을 것이다.

    다음 단계에서 함께 살펴볼 만한 주제로는 예를 들어 다음과 같은 것들이 있다.

    • “대칭키 암호와 공개키 암호의 차이를 더 깊게 이해하기: RSA, AES, 하이브리드 암호화 구조”
    • “디지털 서명과 인증서: 전자 문서의 ‘진짜 작성자’를 확인하는 기술 원리”

    이러한 주제들을 이어서 학습하면, 인터넷 뱅킹을 넘어 전자상거래, 전자계약, 전자서명 등 더 넓은 영역의 정보 보안과 암호화 기술을 이해하는 데 도움이 된다.