Sumin

공부하는 중

Lecture/보안프로토콜

중간고사 조사 과제

sum1n52 2026. 4. 17. 22:27

금융 및 결제 시스템 보안 설계 조사

1. 금융 및 결제 시스템에서 필요한 기능

금융 및 결제 시스템을 설계할 때 가장 기본적으로 고려해야 할 것은 사용자와 자산을 안전하게 보호하면서도 원활한 거래가 이루어지도록 하는 것이다. 이를 위해 시스템은 사용자 인증, 계좌 관리, 결제 처리, 거래 기록 관리 등의 핵심 기능을 포함해야 한다.

먼저 사용자 인증 기능은 시스템 보안의 출발점으로, 사용자의 신원을 정확하게 확인하는 과정이다. 일반적인 아이디와 비밀번호 방식뿐만 아니라, 최근에는 OTP나 생체인식과 같은 다중요소 인증(MFA)이 함께 사용된다. 계좌 관리 기능은 사용자의 잔액 조회, 송금, 입출금 등의 작업을 처리하며, 모든 데이터는 무결성과 기밀성을 유지해야 한다.

결제 처리 기능은 실제 금융 거래가 이루어지는 부분으로, 빠르고 정확한 처리뿐만 아니라 중간에서 데이터가 변조되지 않도록 보호하는 것이 중요하다. 마지막으로 거래 기록 관리 기능은 모든 금융 활동을 기록하여 추후 분쟁이나 감사 상황에서 활용될 수 있도록 한다. 이 과정에서 로그 데이터 역시 위·변조 방지 기능이 필요하다.

 

2. 금융 시스템에 대한 공격 방식

금융 시스템은 금전적 가치가 직접적으로 연결되어 있기 때문에 다양한 공격의 대상이 된다. 대표적인 공격 방식으로는 피싱 공격, 중간자 공격, 재전송 공격, SQL 인젝션, 그리고 무차별 대입 공격 등이 있다.

피싱 공격은 사용자를 속여 로그인 정보나 인증 정보를 탈취하는 방식으로, 실제 금융 서비스와 유사한 웹사이트를 만들어 사용자의 정보를 입력하게 유도한다. 중간자 공격은 통신 과정에 공격자가 개입하여 데이터를 가로채거나 변조하는 방식이며, 특히 암호화가 제대로 적용되지 않은 경우 위험성이 크다.

재전송 공격은 정상적인 거래 메시지를 가로챈 후 동일한 메시지를 반복 전송하여 부당한 거래를 유도하는 방식이다. SQL 인젝션은 데이터베이스 질의를 조작하여 인증을 우회하거나 데이터를 탈취하는 공격이며, 무차별 대입 공격은 비밀번호를 반복적으로 시도하여 계정을 탈취하는 방식이다.

이러한 공격들은 각각 다른 취약점을 노리지만, 공통적으로 시스템의 인증, 통신, 입력 검증 등의 취약한 부분을 집중적으로 공격한다는 특징이 있다.

 

 

3. 공격 대응을 위한 보안 기능

이러한 다양한 공격에 대응하기 위해서는 여러 보안 기능을 통합적으로 적용해야 한다. 가장 기본적으로는 암호화를 통한 데이터 보호가 필요하다. 모든 통신 구간에서는 TLS와 같은 암호화 프로토콜을 적용하여 데이터가 외부에 노출되지 않도록 해야 한다.

또한 인증 강화가 중요하다. 단순 비밀번호 기반 인증을 넘어 다중요소 인증을 적용하면 계정 탈취 위험을 크게 줄일 수 있다. 입력값 검증 역시 필수적인 요소로, SQL 인젝션과 같은 공격을 방지하기 위해 모든 사용자 입력에 대해 필터링과 검증을 수행해야 한다.

재전송 공격을 방지하기 위해서는 nonce나 타임스탬프를 사용하여 동일한 요청이 반복 처리되지 않도록 해야 한다. 또한 로그 관리 및 이상 탐지 시스템을 통해 비정상적인 접근이나 거래 패턴을 실시간으로 감지하는 것도 중요하다.

결과적으로 보안은 단일 기술로 해결되는 것이 아니라, 인증, 암호화, 무결성 검증, 접근 제어 등의 요소가 함께 작동해야 효과적으로 구현될 수 있다.

 

 

4. 적용 가능한 암호 및 프로토콜 기술

앞서 제시한 보안 기능들을 실제로 구현하기 위해서는 다양한 암호 기술과 프로토콜이 필요하다. 대표적으로 공개키 암호 방식인 RSA나 ECC는 키 교환과 인증 과정에서 사용되며, 대칭키 암호 방식인 AES는 실제 데이터 암호화에 사용된다.

키 교환 과정에서는 Diffie-Hellman(DH) 또는 Elliptic Curve Diffie-Hellman(ECDH) 알고리즘이 활용되어 안전하게 공유 비밀키를 생성할 수 있다. 이 과정은 중간자 공격을 방지하기 위해 인증서 기반 구조와 함께 사용되는 것이 일반적이다.

통신 보안에서는 TLS 프로토콜이 핵심적인 역할을 한다. TLS는 서버 인증, 키 교환, 데이터 암호화를 통합적으로 제공하여 안전한 통신 채널을 구축한다. 또한 해시 함수(SHA-256 등)는 데이터 무결성을 검증하는 데 사용되며, 디지털 서명 기술은 송신자의 신원을 보장하는 데 활용된다.

최근에는 FIDO와 같은 비밀번호 없는 인증 기술도 점점 확대되고 있으며, 이는 사용자 편의성과 보안을 동시에 강화하는 방향으로 발전하고 있다.

 


 

비밀분산과 문턱암호의 개념 비교

보안 시스템에서 중요한 정보나 암호 키를 안전하게 관리하는 것은 매우 중요한 문제이다. 특히 하나의 키에 모든 권한이 집중되는 경우, 해당 키가 유출되었을 때 전체 시스템이 위험해질 수 있다. 이러한 문제를 해결하기 위해 사용되는 대표적인 기법이 비밀분산과 문턱암호이다.

 

비밀분산은 하나의 비밀 정보를 여러 개의 조각으로 나누어 각각 다른 참여자에게 분배하는 방식이다. 이때 각 조각은 단독으로는 아무 의미를 가지지 않으며, 일정 수 이상의 조각이 모여야만 원래의 비밀을 복원할 수 있다. 예를 들어 5개의 조각 중 3개 이상이 모여야 복원이 가능하도록 설정할 수 있으며, 이를 통해 일부 정보가 유출되더라도 전체 비밀은 보호된다.

 

반면 문턱암호는 비밀분산의 개념을 확장한 기술로, 단순히 비밀을 나누는 것에서 나아가 암호 연산 자체를 분산시키는 방식이다.

 

즉, 암호화, 복호화, 디지털 서명과 같은 연산을 수행할 때도 일정 수 이상의 참여자가 협력해야만 결과를 생성할 수 있다. 이 과정에서 실제 비밀키는 완전한 형태로 존재하지 않으며, 각 참여자가 가진 부분 정보만으로는 연산이 불가능하다.

 

두 기술 모두 보안성을 강화하고 단일 실패 지점을 제거한다는 공통점을 가지지만, 비밀분산은 ‘저장과 복원’에 초점을 두고 있는 반면, 문턱암호는 ‘연산까지 포함한 분산 처리’라는 점에서 차이가 있다. 따라서 보다 높은 수준의 보안을 요구하는 시스템에서는 문턱암호가 활용되며, 특히 금융 시스템이나 블록체인 환경에서 중요한 역할을 한다.

 


 

FIDO 기술과 적용 사례

기존의 인증 방식은 대부분 아이디와 비밀번호에 의존해왔다. 그러나 이러한 방식은 비밀번호 재사용, 피싱, 데이터 유출 등의 문제로 인해 보안에 취약하다는 한계를 가지고 있다. 이러한 문제를 해결하기 위해 등장한 기술이 FIDO(Fast Identity Online)이다.

 

FIDO는 비밀번호를 사용하지 않고 공개키 기반 인증 방식을 이용하는 것이 가장 큰 특징이다. 사용자가 서비스에 처음 등록할 때, 단말기 내부에서 개인키와 공개키 쌍을 생성하고 공개키만 서버에 저장한다. 이후 로그인 과정에서는 서버가 보낸 도전값에 대해 단말기가 개인키로 서명하여 응답함으로써 인증이 이루어진다. 이 과정에서 개인키는 외부로 절대 유출되지 않기 때문에 서버 해킹으로 인한 정보 유출 위험을 크게 줄일 수 있다.

 

또한 FIDO는 생체인식 기술과 결합하여 높은 편의성을 제공한다. 사용자는 지문이나 얼굴 인식을 통해 본인 인증을 수행하고, 내부적으로는 개인키를 활용한 암호학적 인증이 이루어진다. 따라서 사용자는 복잡한 비밀번호를 기억할 필요 없이 빠르고 안전하게 로그인할 수 있다.

 

FIDO는 U2F와 FIDO2와 같은 표준으로 발전해왔다. U2F는 USB 보안키와 같은 물리적 장치를 활용한 2차 인증 방식이며, FIDO2는 웹 환경에서도 비밀번호 없이 인증이 가능하도록 확장된 기술이다. 특히 FIDO2는 WebAuthn과 CTAP 프로토콜을 기반으로 다양한 플랫폼에서 활용되고 있다.

 

실제 적용 사례로는 구글, 애플, 마이크로소프트와 같은 글로벌 기업들이 있으며, 국내 금융 서비스에서도 모바일 뱅킹 앱을 중심으로 FIDO 기반 생체인증이 널리 사용되고 있다. 사용자가 지문이나 얼굴 인식을 통해 로그인하는 기능이 대표적인 예이다.

결론적으로 FIDO는 보안성과 사용자 편의성을 동시에 만족시키는 차세대 인증 기술로, 기존 비밀번호 기반 인증 체계를 대체할 수 있는 핵심 기술로 자리잡고 있다.

'Lecture > 보안프로토콜' 카테고리의 다른 글

기말고사 과제  (0) 2026.05.31
HTTPS 표준 프로토콜 분석 보고서  (0) 2026.05.20
중간고사 프로젝트 과제  (0) 2026.04.21
OTP 구현과 실행결과  (1) 2026.03.20