Zabezpečenie zariadenia
Zistite, ako Tapaya Accept SDK zabezpečuje transakcie pomocou kontrol integrity zariadenia a ochrany údajov a ako ho integrovať a nasadiť v konfigurácii pripravenej na produkčné prostredie.
Tapaya Accept SDK mení bežné spotrebiteľské zariadenia (COTS, consumer off-the-shelf) na zabezpečené platobné terminály. Keďže tieto zariadenia nie sú špecializovaným platobným hardvérom, SDK uplatňuje prísne bezpečnostné opatrenia, ktoré zmierňujú hrozby a zaisťujú súlad so štandardmi PCI.
Atestácia zariadenia
Aby bolo platobné prostredie bezpečné, SDK priebežne kontroluje stav hostiteľského zariadenia. Ak zistí akékoľvek porušenie zabezpečenia, odmietne sa inicializovať alebo spracúvať transakcie.
Detekcia rootu a jailbreaku
SDK sleduje v prostredí známky eskalácie oprávnení. Zahŕňa to detekciu binárnych súborov rootu alebo frameworkov na správu oprávnení, ako sú Magisk alebo SuperSU. Kontroluje tiež neoprávnený prístup na čítanie alebo zápis do chránených systémových adresárov. Okrem toho rozpoznáva neštandardné zostavenia operačného systému vrátane vlastných ROM alebo upravených podpisov jadra.
Detekcia ladenia
Aby zabránilo reverznému inžinierstvu a neoprávnenému testovaniu, SDK zisťuje, či je k aplikácii pripojený debugger, a overuje, že beží na fyzickom zariadení. Beh v emulátore alebo vo virtuálnom prostredí je obmedzený.
Google Play Integrity API
Na Androide SDK využíva Play Integrity API na overenie, že Google binárny súbor zariadenia rozpoznáva a že s ním nebolo manipulované.
Zabezpečenie aplikácie
Obfuskácia kódu
Tapaya Accept SDK používa pokročilé obfuskačné techniky, ktoré znižujú riziko reverzného inžinierstva. Symboly v kóde sú premenované na nič nehovoriace identifikátory, logika programu je zámerne zahmlená a citlivé reťazce alebo vložené kľúče sú šifrované.
Ochrana proti manipulácii
SDK za behu overuje vlastnú integritu. Kontroluje digitálny podpis aplikácie a knižníc SDK. Ak APK upravila alebo znova zabalila tretia strana, SDK sa nespustí.
Ochrana údajov
End-to-end šifrovanie (E2EE)
Údaje o karte sú zašifrované hneď po načítaní z NFC radiča. Používa sa silné šifrovanie podľa odvetvových štandardov a dešifrovacie kľúče sú uložené iba v zabezpečených HSM. Mobilné zariadenie nikdy nemá prístup k nezašifrovaným údajom o karte.
Zabezpečené zadávanie
Pri transakciách s PIN zaisťuje SDK bezpečné zadávanie. Obrazovka na PIN je chránená proti útokom prekrytím, rozloženie klávesnice je náhodné a pri každom dotykovom vstupe sa overuje, že pochádza z fyzického zariadenia.
Monitorovanie prostredia
Zamedzenie záznamu obrazovky
Na ochranu citlivých údajov SDK blokuje snímky obrazovky, záznam obrazovky a zdieľanie obrazovky tým, že na zariadení vynucuje zabezpečené zobrazenie.
Služby dostupnosti
Škodlivé aplikácie často zneužívajú služby dostupnosti na čítanie obsahu obrazovky alebo na vkladanie vstupov. SDK deteguje aktívne služby dostupnosti. Štandardné služby pre zrakovo postihnutých používateľov (napríklad TalkBack) povoľuje, ale neznáme alebo podozrivé služby môže počas platobného procesu zablokovať.
Atestácia a monitorovanie vo vašej aplikácii
Atestácia a monitorovanie nie sú komponentom, ktorý by ste inštalovali. Sú súčasťou Tapaya Accept SDK aj pluginovej
aplikácie Tapaya Terminal, spúšťajú sa volaním Accept.initialize() a bežia počas celej doby, keď je SDK aktívne.
Neexistuje žiadny konfiguračný príznak, žiadna možnosť ich vypnúť a žiadny režim, ktorý by ich zmiernil.
Obe časti musia prejsť nezávisle od seba. Vaša aplikácia hostí SDK a SDK odovzdáva každú platbu kartou aplikácii Tapaya Terminal, ktorá vykonáva vlastnú atestáciu samostatne. Zariadenie, ktoré splní podmienky jednej časti, ale nie druhej, nemôže prijímať platby.
Integrácia atestácie do vašej aplikácie
| Povinnosť | Ako to vyzerá v kóde |
|---|---|
| Inicializujte raz a včas | Accept.initialize(context, isProduction = true) vo vašej triede Application. |
| Deklarujte skutočné prostredie | isProduction sa riadi typom zostavenia; nikdy nejde o hodnotu zadanú napevno pre pohodlie. |
| Udržiavajte Tapaya Terminal nainštalovaný a aktivovaný | Pred prijatím platby skontrolujte Accept.plugin.isInstalled() a potom zavolajte Accept.plugin.activateTerminal(). |
| Považujte odmietnutie za konečné | Oznámte ho obchodníkovi a skončite. Neskúšajte to znova a neprechádzajte na inú cestu v kóde. |
Kompletné API, ktoré stojí za každým z týchto bodov, nájdete v časti Integrácia mobilného SDK.
Nasadenie v konfigurácii pripravenej na produkčné prostredie
Produkčné zostavenie nesmie byť laditeľné, nesmie logovať a nesmie oslabovať zabezpečenie prenosu. SDK väčšinu z toho vynucuje samo: laditeľné zostavenie alebo pripojený debugger úplne zabráni jeho inicializácii.
| Nastavenie | Vývoj | Produkcia |
|---|---|---|
android:debuggable | true | false |
Accept.initialize(isProduction = …) | false | true |
Accept.setDebugLoggingEnabled(…) | true | false |
| Podpisový kľúč | ladiace úložisko kľúčov (debug keystore) | produkčné úložisko kľúčov (release keystore) |
| R8 / ProGuard | vypnuté | zapnuté, s nedotknutými consumer pravidlami SDK |
| Konfigurácia zabezpečenia siete | môže dôverovať certifikačným autoritám nainštalovaným používateľom | žiadna dôvera v používateľské certifikačné autority, žiadne obchádzanie pinningu |
| Ladenie cez USB na zariadení | zapnuté | vypnuté |
Prostredie riaďte zo zostavenia namiesto toho, aby ste ho pred vydaním ručne upravovali:
Accept.initialize(context = this, isProduction = !BuildConfig.DEBUG)
Accept.setDebugLoggingEnabled(BuildConfig.DEBUG)Súlad s predpismi
Zostavenie vydané so zapnutým ladením, s ponechaným ladiacim logovaním alebo s obídeným certificate pinningom je mimo konfigurácie, pre ktorú je Tapaya Accept certifikovaný, bez ohľadu na to, či stále spracúva platby. Pred každým produkčným vydaním overte každý riadok vyššie uvedenej tabuľky.
Predpoklady platformy
Každá z vyššie uvedených kontrol závisí od schopnosti hostiteľského zariadenia. Stránka Podporované zariadenia uvádza každú požiadavku, prečo ju atestácia potrebuje a čo sa stane, keď chýba. Dve z nich ovplyvňujú výber hardvéru:
- Android 11 je pevná spodná hranica. Na zariadeniach so staršou verziou Androidu SDK vôbec nepobeží. Niekoľko špecializovaných modelov SoftPOS sa stále dodáva s Androidom 7 až 9 bez možnosti aktualizácie, preto overte verziu OS konkrétneho kusu, nie celého modelového radu.
- Google Mobile Services sú voliteľné. Ak sú GMS k dispozícii, SDK k svojim vlastným kontrolám pridá verdikt Play Integrity API. Špecializované terminály dodávané bez GMS, bežné u výrobcov ako Sunmi a iMin, sú plne podporované.
Keď kontrola zlyhá
Neúspešná kontrola je pre dané zariadenie konečná, nejde o prechodnú chybu, ktorú možno skúsiť znova. SDK sa odmietne inicializovať, alebo odmietne spracovať transakciu, ak sa porušenie objaví počas relácie. Nič vo vašej integrácii to nemôže zmeniť a akýkoľvek pokus o obídenie tohto správania vyradí vaše nasadenie z certifikovanej konfigurácie.
Postupujte rovnako ako pri neopraviteľnej poruche zariadenia: oznámte obchodníkovi, že zariadenie nemôže prijímať platby, a nasmerujte ho na podporu. Neopakujte pokusy v slučke a neprechádzajte na inú platobnú cestu.
Zodpovednosti vývojára
Väčšinu práce síce odvedie SDK, vy ako integrátor však musíte zabezpečiť:
- Nevypínajte bezpečnostné varovania: V produkčných zostaveniach sa nepokúšajte obísť SSL pinning ani detekciu rootu.
- Udržiavajte SDK aktuálne: Bezpečnostné opravy vychádzajú pravidelne. Zabezpečte, aby vaša aplikácia používala najnovšiu verziu Tapaya Accept SDK.
- Obfuskujte svoju aplikáciu: Na vlastný kód aplikácie použite ProGuard alebo R8, aby ste zabránili odhaleniu API kľúčov alebo logiky, ktorá komunikuje so SDK.
# The Tapaya Accept SDK includes its own consumer rules, but ensure you do not strip them
-keep class com.tapaya.** { *; }Nahlásenie bezpečnostného incidentu
Ak objavíte bezpečnostnú zraniteľnosť alebo máte podozrenie na bezpečnostný incident týkajúci sa Tapaya Accept SDK alebo vašej integrácie, nahláste ho neverejne podľa postupu v časti Kontakty. Ak je to relevantné, uveďte dotknutú verziu SDK a informácie o zariadení.
Chýba vám niečo na tejto stránke?Navrhnite funkciu. Pripojíme túto stránku, aby tím videl súvislosti.