앱에서 안전한 온라인 결제를 만드는 방법
게시 됨: 2021-10-05우리 앱이 악명 높은 해커 공격을 물리치고 있으며, 갑자기 발생하여 모바일 앱 결제 보안에 도전하는 것처럼 보이면서 크고 작은 비즈니스에서 모바일 애플리케이션 보안을 위한 노력이 이미 시작되었습니다. 전자 상거래 상점에서 상위 기관의 금융 시스템에 이르기까지 어디에서나 사람들은 온라인 결제 보안 앱 개발을 요청합니다. 요즘 가장 많이 검색되는 요청은 다음과 같습니다. 더 높은 보호 수준으로 무언가를 구축하는 방법은 무엇입니까? 우리는 여기에서 강조하기 위해 최선을 다할 것입니다.
보안은 새로운 블랙입니다.
최근 우크라이나에서 화염에 휩싸여 전 세계를 휩쓴 사이버 전염병을 기억하십니까? 이와 같은 공격은 우리가 찾는 모든 온라인 거래 보안이 아직 불완전하다는 것을 증명합니다. 어느 날 갑자기 모든 기계가 사기에 굴복할 수 있습니다. 다양한 유형의 사기가 있지만 대부분의 해커가 노리는 것은 금융 데이터 보안, 주로 은행 계좌 및 거래 보안입니다.
불행히도 사이버 공격으로 인한 모바일 뱅킹 애플리케이션 개발을 위한 만병통치약은 없지만 지불 및 거래의 보안을 높이는 것은 분명히 있습니다. 첫째, 모바일 애플리케이션용 보안이 포함된 프로젝트에 포함될 수 있는 3가지 유형의 결제가 있습니다.
들어오는
나가는
시스템 내 트랜잭션
Uber의 강력한 모바일 애플리케이션을 예로 들어 세 가지 범주를 모두 공부해 보겠습니다. 들어오는 지불은 귀하의 응용 프로그램이 수행하는 데 도움이되는 특정 제품 또는 서비스에 대해 클라이언트가 수행하는 지불입니다. Uber 라이드가 끝나면 신용 카드로 요금이 청구됩니다. 나가는 지불은 시스템 자체에서 해당 시스템이 나타내는 직원에게 수행되는 지불입니다. 행복한 고객이 Uber 기사를 통해 목적지까지 배달되면 시스템은 일정 시간 동안 대기한 후 자동으로 기사에게 돈을 이체합니다. 이 대기 기간은 사용자가 자신이 받은 서비스 품질에 대해 불평할 기회를 갖도록 설계되었습니다. 이 옵션은 사용자 측의 특정 수준의 주의가 필요합니다. 이 기간이 끝나면 고객은 더 이상 불만 보고서를 작성할 수 없습니다. 나가는 금융 거래와 들어오는 금융 거래 모두 제3자 결제 제공업체가 시스템에 통합되어야 합니다.
하지만 시스템 내 트랜잭션에서는 상황이 다르게 작동합니다. 예를 들어 시스템 내에서 두 사용자 간의 재무 작업이 그 예입니다. 이 시점에서 언급된 시스템 내에서 발생하는 모든 상호 작용으로 인해 통합 지불 공급자 없이도 거래가 작동할 수 있습니다. 앞에서 설명한 수수료 징수 방법은 다른 기능과 함께 모든 종류의 금융 앱에서 널리 사용됩니다.
모바일 앱을 보호하는 방법은 무엇입니까? 잘,
...그들이 있어야 합니다.
"모든 제작자는 항상 제품의 사용성을 극대화하기 위해 자신의 아이디어에 참여할 수 있습니다!"
기본적으로 핵심에 모바일 뱅킹 앱용 보안 기능이 있는 모든 모바일 지갑은 매력적이고 "사용자가 사용하는" 것으로 만들기 위해 일정량의 기능이 필요합니다. 다음은 필수 기능으로 간주되는 기능의 간단한 목록입니다.
비가 오나 눈이 오나 언제든지 은행 계좌에 액세스할 수 있습니다.
특히 다음과 같은 금융 거래를 할 수 있는 능력:
a) 귀하의 자금을 이 은행 시스템 내의 모든 계좌로 이체하십시오.
b) 전 세계 모든 계좌, 신용카드 또는 직불카드로 자금을 이체합니다.
c) 모든 통신 서비스에 대한 비용 지불 - 휴대폰 충전, 인터넷 공급자에게 지불 등
d) 버스/비행기/철도 티켓, 음식, 미용 제품 및 게임, 영화 및 축구(또는 기타 인기 있는 스포츠) 티켓과 같이 은행 시스템의 비즈니스 로직에 포함된 기타 제3자 서비스에 대한 비용을 지불합니다. 애플리케이션을 통해 수행할 수 있는 다양한 지불의 수는 비즈니스 분석 단계에서 생성된 비즈니스 로직 및 요구 사항에 따라 모두 다를 수 있습니다.
e) 청구서를 지불할 수 있는 기능도 상당한 힌트입니다. 사용자가 전체 범위의 유틸리티(가스, 전기, 수도, 난방 등)를 사용할 수 있는 한 앱 내에서 사용자의 참여를 극대화할 수 있습니다.
카드를 관리하는 기능(차단/차단 해제, 온라인 지불 한도 설정, PIN 또는 CW2 코드 변경, 기존 카드 추가, 주문 또는 폐쇄).
기부 만들기 기능은 은행 앱에 큰 도움이 될 것입니다. 이는 귀하와 귀하의 고객이 모든 종류의 자선 단체에 참여하고 있음을 시사합니다.
사용자의 지리적 위치에 액세스하여 가까운 ATM 및 가장 가까운 은행 지점을 표시하는 기능.
기능의 범위는 위에서 언급한 것으로 끝나지 않습니다. 비즈니스 분석가가 온라인 거래를 보호하는 방법을 고려할 때 생각할 수 있는 기능이지만 모든 제작자는 항상 자신의 아이디어에 참여할 수 있습니다. 제품의 사용성!
언급된 기능의 양과 복잡성으로 인해 뱅킹 모바일 애플리케이션에 대한 이중 보안이 필요합니다. 온라인 금융 거래를 안전하게 만드는 방법은 무엇입니까?
1. 시스템은 사용자의 재정적 자격 증명을 저장할 필요가 없습니다.
입출고 또는 시스템 내 작업이 완료되면 온라인 거래를 보호하면서 사용자의 모든 상업 정보를 결제 서비스 제공업체에 남겨두는 것이 필요합니다. 공급자는 일반적으로 모든 금융 작업을 수행하고 보호하는 금고와 내장된 토큰화 시스템을 가지고 있습니다. 귀하의 웹사이트(또는 귀하의 애플리케이션)에는 아래 이미지와 같이 전체 프로젝트 코드의 일부가 아닌 특정 양식을 삽입해야 합니다.
나중에 수신된 토큰과 양식의 데이터 보안 프로토콜이 우리 서버로 이동하고 이 후에야 애플리케이션이 시스템에 요금을 청구할 수 있습니다. 이 작업 방법은 Stripe 결제 제공업체에서 널리 사용됩니다.
이 방법이 실제로 널리 알려져 있음에도 불구하고 여기에는 특정 함정이 있습니다. 애플리케이션이 카드 데이터를 서버에 바로 결제 서비스로 보낼 때 전송된 정확한 금액은 언급하지 않습니다. 따라서 가상으로 말하면 시스템이 실수나 시스템 버그로 인해 필요한 것보다 더 많은 돈을 인출할 가능성이 있습니다. 이 문제는 아직 해결되지 않았으므로 Stripe는 사용자가 어디에도 리디렉션되지 않는 편리한 솔루션이지만 여전히 안정적인 보안 프로세스가 부족합니다.
널리 알려진 또 다른 시스템은 "PayPal을 통한 지불" 버튼이 있는 PayPal입니다.
PayPal이 작동하는 방식은 "웹 앱 결제 처리"입니다. 사용자가 결제 화면에 도달하면 PayPal 플랫폼으로 사용자 권한이 자동으로 이전됩니다. 클라이언트가 서비스를 통해 추가로 결제하는 경우 모바일 뱅킹 앱은 다음에 PayPal로 전송되는 엔티티를 생성해야 하며, 이는 결제가 수신되었는지 여부를 알려줍니다.
Stripe와 PayPal 모바일 결제 게이트웨이의 차이점은 PayPal에서 실제 송금된 금액을 볼 수 있지만 해당 플랫폼으로 리디렉션된다는 점입니다. 반면에 Stripe는 외부 링크를 따르지 않지만 "정확한 금액" 모바일 결제 보안 문제로 인해 미래 사용자의 주의가 산만해질 수 있습니다.
2. 시스템은 토큰을 안전하고 건전하게 유지해야 합니다.
구독 옵션이 있는 보안 모바일 앱을 구축하는 경우 서비스 데이터베이스에 안전하게 저장해야 합니다. 프로젝트의 구조는 공개 프로필이나 다른 엔터티의 옵션이 제외된 상태에서 해당 토큰만 보관할 수 있도록 허용해야 합니다.
금융 거래를 보호하는 또 다른 방법은 웹사이트 구조에 HTTPS 보호를 암호화하는 것입니다. 웹사이트에 돈이 없는 경우 - 온라인 금융 거래를 보호하기 위해 사용자는 돈을 제3자 리소스로 이체해서는 안 됩니다.
3. "예외, 지불, 반복" 실수를 피하십시오.
지불금(자금 이체, 시스템이 사용자에게 자금을 이체할 때)에 발생할 수 있는 가장 무서운 것은 "무한 루프"입니다. 사용자에 대한 지불은 시스템에서 실행하는 백그라운드 작업 중 하나이며 예외가 발생하면 작업이 다시 실행됩니다. 결과적으로 모든 거래는 한 명의 사용자에게만 계속해서 전송될 수 있습니다.
이를 방지하는 방법:
- 재무 작업이 무한 루프에 빠지지 않도록 백그라운드 작업 관리자를 설정합니다.
- 요소가 편집되거나 생성되는 모든 단계에서 로그 파일에 이를 기록하면 변경 사항이 눈에 띄지 않도록 하는 데 도움이 됩니다. 루프가 발생하더라도 최소한 그 이유와 돈이 어디로 갔는지 알 수 있으므로 사용자에게 다시 돌아갈 수 있습니다.
모든 문제를 간단히 요약하면 보안 뱅킹 앱을 사용하려면 다음 규칙을 따라야 합니다.
저장할 사용자의 금융 자격 증명이 없습니다.
HTTPS 보호 없이 플랫폼으로 송금할 수 없습니다.
모든 서버의 응답 또는 요청, 모든 작업, 웹훅 또는 콜백은 가장 자세하게 기록되어야 합니다.
결제 프로세스를 최대한 단순화하고 결제 서비스 제공자에게 최대한 의존해야 하며 가능한 한 사내 전자 지갑 생성을 피해야 합니다.
테스트 프로세스 동안에만 모든 부정적인 사례를 예측할 수 있으므로 항상 앱이 어떻게 실행되는지 테스트하는 데 시간을 할애하십시오.
웹 후크 및 콜백을 사용하는 것이 좋습니다.
결제 시스템에서 제공하는 보고서를 항상 확인하세요. 바로 그곳에서 문제가 발생하는지 알 수 있습니다.
모든 것의 모바일 솔루션.
오늘날 모든 비즈니스의 가장 일반적인 트렌드 중 하나는 모바일 앱 보안 및 모바일 앱 암호화를 통해 모바일로 전환하는 것입니다. 거대한 금융 회사에서 가장 작은 모퉁이 상점에 이르기까지 이러한 스마트 기기는 세상의 모든 부분을 차지했습니다. 더욱이 Statista의 통찰력을 통한 빠른 요약은 이러한 추세가 향후 7년 이내에만 성장할 것임을 시사합니다.
선택한 플랫폼(iOS 또는 Android 애플리케이션 보안)에 관계없이 온라인 뱅킹을 보호하는 것은 복잡하지만 진정으로 보람 있는 과정입니다. 상상해보십시오. 수백만 명의 사람들이 밤에 평화롭게 쉴 수 있도록 사용자와 사용자의 자금에 대한 보안 감각을 개발할 수 있는 잠재력이 있다고 상상해 보십시오. 삶을 변화시키는 미래가 있지 않습니까?
Alex Averyanov, Oleg Tsarenko 및 Elina Bessarabova가 작성했습니다.