Identity
Mobil Tehdit

Mobil Tehdit

Mobil Tehdit, Identity Intelligence'ın ayrı bir native yüzeyidir. Web snapshot bir tarayıcı oturumunu parmak izler; Mobil Tehdit ise bir native mobil uygulamayı değerlendirir: donanım-destekli attestation'ı, uygulama-klon tespitini ve araya-girme (MITM) zekâsını aynı risk snapshot'ında, mobile* alanları üzerinden birleştirir. Bu sinyaller özel bir native mobil SDK ile üretilir — web SDK bunları üretmez.

Mobil Tehdit bir kanıt sağlayıcıdır (evidence provider). Her değerlendirme bir sınıflandırma, bir güven değeri ve bir dizi bulgu döndürür — kendi başına bloklamaz. Verdict'i kendi mantığınıza besler, kararı siz verirsiniz.

⚠️

Native mobil SDK gerekir. Attestation ve araya-girme sinyalleri, yalnız bir native uygulamanın erişebildiği cihaz-düzeyi API'lerinden gelir. Beyan edilmiş ama doğrulanabilir token'ı olmayan bir attestation asla güvenilir sayılmaz — açık bir "doğrulanamaz" sonucu döner, geçiş değil.

Nasıl çalışır

Native SDK'yı gömün

Lunixi mobil SDK'sını Android ve/veya iOS uygulamanıza entegre edin. SDK, sunucu değerlendirmesinin ihtiyaç duyduğu donanım attestation'ını ve cihaz-bütünlüğü telemetrisini toplar.

Uygulamayı kaydedin (bir kez)

Uygulama ID'lerini, minimum SDK/uygulama sürümlerini ve attestation gereksinimlerini mobil uygulama kayıt defterinde tanımlayın. Ham bir attestation'ı bir güven kararına dönüştüren şey bu kayıttır — kayıtlı olmayan bir uygulama raporlanır, güvenilir sayılmaz.

Bir oturumu değerlendirin (sunucu)

Backend'inizden POST /identity/mobile-threat/evaluate çağırın; SDK'nın sağladığı attestation'ı ve iş bağlamını gönderin. mobile* sınıflandırma alanlarını taşıyan bir snapshot alırsınız.

Hassas bir aksiyonu bağlayın (opsiyonel)

Yüksek-güvenceli bir aksiyon için — para transferi, alıcı ekleme — geçen bir değerlendirmenin ardından tek kullanımlık bir trusted action token üretin ve aksiyon endpoint'inde tüketin; böylece aksiyonun değerlendirilen risk duruşu altında çalıştığını kanıtlarsınız.

Attestation kapsamı

PlatformMekanizmaDurum
AndroidPlay Integrity — gerçek, değiştirilmemiş bir uygulama ve cihaza dair donanım-destekli attestationCanlı
iOSApp Attest — Apple tarafından tasdik edilen bir uygulama anahtarıUygulama başına enrollment gerektirir (App Attest anahtarını kaydedin)
iOSDeviceCheck — Apple cihaz-düzeyi bit deposuOrtamda DeviceCheck kimlik bilgileri gerektirir

Play Integrity, Android uygulaması kaydedilir kaydedilmez çalışır. iOS mekanizmaları yapılandırılabilir: App Attest, uygulamanın attestation anahtarının app-attest/register-key ile kaydedilmesini; DeviceCheck ise Apple kimlik bilgilerinin sunucu tarafında yapılandırılmasını ister. O ana dek iOS attestation, sizin adına fail-closed olmadan "doğrulanamaz" olarak raporlanır.

App Attest enrollment (iOS)

App Attest, Apple'ın kefil olduğu uygulama-başına kriptografik bir anahtarı bağlar. Backend'inizden iki adımda kaydedin:

  1. POST /identity/mobile-threat/app-attest/bootstrap-challenge — SDK'ya verilecek tek kullanımlık bir challenge alın.
  2. POST /identity/mobile-threat/app-attest/register-key — SDK'nın ürettiği, Apple-tasdikli anahtarı uygulamanıza karşı kaydedin.

Bir anahtar kaydedildikten sonra, o uygulama için sonraki evaluate çağrıları App Attest assertion'larını doğrulayabilir.

Klon & araya-girme zekâsı

Attestation'ın ötesinde, değerlendirme uygulamanın nasıl çalıştırıldığını ve trafiğinin nasıl taşındığını raporlar:

AlanNe tespit eder
Klon zekâsıUygulamanın dual-space / uygulama-klonlama araçları altında ya da bir Android work profile içinde çalışması — tek cihazda tek uygulamanın birden çok örneği
MITM zekâsıTrafiğin manuel proxy veya VPN transport üzerinden taşınması ya da özel bir private DNS ile çözülmesi — araya-girmeyi önceleyen transport şekilleri

İstek

POST /identity/mobile-threat/evaluate — sunucu tarafı, Authorization: Bearer <secret key>.

curl https://api-gateway.lunixi.com/api/v1/identity/mobile-threat/evaluate \
  -H "Authorization: Bearer at_live_5f3e2b1a..." \
  -H "Content-Type: application/json" \
  -d '{
    "subjectType": "customer",
    "subjectId": "cus_8f2a9c",
    "productContext": "money_transfer",
    "action": {
      "actionType": "transfer_submit",
      "beneficiaryHash": "bnf_abc",
      "challenge": "nonce_123"
    },
    "issueTrustedActionToken": true,
    "device": { "...": "native SDK attestation + bütünlük telemetrisi" }
  }'

POST /identity/mobile-threat/simulate aynı değerlendirme hattını varsayımsal bir girdiye karşı çalıştırır; böylece belirli bir attestation durumunun hangi sınıflandırmaya karşılık geldiğini — canlı bir karar kaydetmeden — prova edebilirsiniz. Yaşam-döngüsü bağlamını POST /identity/mobile-threat/timeline-event ile akıtın.

Snapshot

Değerlendirme aynı gateway zarfını döndürür ({ success, message, code, data, meta }); data, paylaşılan identity alanlarının üstüne mobil alanları taşıyan risk snapshot'ıdır.

{
  "identityRiskLevel": "medium",
  "riskScore": 58,
  "confidenceScore": 0.88,
 
  "mobilePlatform": "android",
  "mobileAppId": "io.example.app",
  "mobileAppTrusted": true,
  "mobileIntegrityClassification": "genuine",
  "mobileIntegrityConfidence": 0.93,
  "mobilePolicyStatus": "pass",
 
  "reasonCodes": ["private_dns_detected"],
  "findings": [
    { "code": "private_dns_detected", "severity": "medium", "scoreDelta": 14, "source": "mobile" }
  ]
}

Sinyaller

AlanSize ne söyler
mobileIntegrityClassificationUygulama/cihaz için bütünlük verdict'i (ör. genuine vs tampered vs doğrulanamaz)
mobileIntegrityConfidenceO sınıflandırmaya duyulan güven
mobilePolicyStatusDeğerlendirmenin, kayıt defterinde bu uygulama için tanımlanan policy'yi karşılayıp karşılamadığı
mobileAppTrustedUygulamanın kayıtlı, güvenilir bir uygulama girdisine çözülüp çözülmediği
mobilePlatformandroid ya da ios
mobileAppId / mobileAppVersionBeyan edilen uygulama tanımlayıcısı ve sürümü

Kanonik verdict identityRiskLevel'dır (clean | low | medium | high | critical) — Identity'nin kendi kanıt-derece değerlendirmesi, bir ödeme ya da fraud aksiyonu değil. Bkz. Risk Snapshot.

Trusted action token

Geçen bir değerlendirmeyi tek bir hassas aksiyona bağlayın; böylece aksiyon farklı, doğrulanmamış bir duruş altında çalışamaz:

Üretin

Geçen bir evaluate sonrası POST /identity/mobile-threat/trusted-action-token çağırın ve aksiyona kapsamlanmış tek kullanımlık bir token basın.

Tüketin

Aksiyon endpoint'inde POST /identity/mobile-threat/trusted-action-token/consume ile token'ı gönderin. Tek kullanımlıktır — tüketmek, aksiyonun değerlendirilen risk duruşu altında çalıştığını kanıtlar.

Kararları okuma

Her değerlendirme kaydedilir, merchant-scoped'tur ve sorgulanabilir:

  • GET /identity/mobile-threat/decisions — son mobil değerlendirmeler.
  • GET /identity/mobile-threat/decisions/:id — tek bir değerlendirmenin tamamı.
  • GET /identity/mobile-threat/trace/:traceId/decisions — belirli bir trace'e bağlı mobil kararlar.

Mobil uygulama kayıt defteri

Attestation'ı anlamlı kılan şey kayıt defteridir — hangi uygulamalara ve hangi standarda güvendiğinizi tanımlar:

  • GET /identity/mobile-apps — kayıtlı uygulamalarınızı listeleyin.
  • POST /identity/mobile-apps — bir uygulama ID'si, minimum SDK/uygulama sürümü ve attestation gereksinimi tanımlayın.
  • PATCH /identity/mobile-apps/:id — bir uygulama girdisini güncelleyin.

Kayıtlı olmayan bir uygulama yine de değerlendirilebilir ama mobileAppTrusted: false olarak çözülür — attestation raporlanır, güvenilir sayılmaz.

Notlar

  • Native SDK gerekir. Bu sinyaller yalnız native mobil SDK üzerinden vardır — bir web oturumunda beklemeyin.
  • Beyan ≠ doğrulanmış. Eksik ya da geçersiz bir attestation token'ı "doğrulanamaz" sonucu verir, asla örtük geçiş değil.
  • Platform başına yapılandırılabilir. Android Play Integrity kayıt sonrası canlıdır; iOS App Attest anahtar enrollment'ı, DeviceCheck ise ortam kimlik bilgileri gerektirir.

Sonraki adımlar