Інтеграція Samsung Knox для корпоративного Android-додатку

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Інтеграція Samsung Knox для корпоративного Android-додатку
Складний
~2-3 дні
Часті запитання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Інтеграція Samsung Knox для корпоративного Android-додатка

Samsung Knox—стек security-технологій, вбудованих у залізо та прошивку Samsung-пристроїв. Не EMM-платформа, а набір API поверх Android, які доступні лише на Samsung. Для корпоративного додатка Knox відкриває можливості, недоступні через стандартний Android Enterprise: апаратно-ізольований Keystore (Knox Vault), Dual Persona (особисто + робочий режим без Work Profile), TIMA KeyStore, управління SIM-картами та NetworkPolicy на рівні нижче ОС.

Knox Vault: апаратна захист ключів

Knox Vault—ізольований security processor, фізично відділений від основного ARM-процесора на Galaxy S21+ та Knox-certified пристроях. Приватні ключі, створені в Knox Vault, неможливо витягти навіть при повній компрометації Android OS або фізичному аналізі флеш-пам'яті.

Доступ через стандартний Android Keystore API з додатковим флагом:

val keyPairGenerator = KeyPairGenerator.getInstance(
    KeyProperties.KEY_ALGORITHM_EC,
    "AndroidKeyStore"
)

val parameterSpec = KeyGenParameterSpec.Builder(
    "corporate_signing_key",
    KeyProperties.PURPOSE_SIGN or KeyProperties.PURPOSE_VERIFY
).apply {
    setDigests(KeyProperties.DIGEST_SHA256)
    setUserAuthenticationRequired(true)
    setUserAuthenticationParameters(0, KeyProperties.AUTH_BIOMETRIC_STRONG)
    // Knox Vault використовується автоматично, якщо пристрій підтримує StrongBox
    setIsStrongBoxBacked(true)
}.build()

keyPairGenerator.initialize(parameterSpec)
val keyPair = keyPairGenerator.generateKeyPair()

setIsStrongBoxBacked(true)—флаг потребує StrongBox-сумісного HSM. На Samsung Galaxy S21+ це Knox Vault. Якщо пристрій не підтримує StrongBox—выброс StrongBoxUnavailableException. Обробка: fallback на звичайний Android Keystore з логуванням в MDM.

Knox SDK: розширені політики управління

Knox SDK (окремо від стандартного DevicePolicyManager) надає API для:

  • Управління APN та SIM-політиками—корпоративний трафік через конкретний APN.
  • Firewall rules на рівні пристрою—блокування конкретних IP/доменів для додатка.
  • Kiosk Mode (Enhanced Kiosk)—Single App Mode з кастомною заглушкою, без можливості вийти навіть через notification shade.
  • Factory Reset Protection (FRP) bypass для корпоративного редеплою.
  • Управління Knox Container (Dual Persona)—окремий екземпляр Android у контейнері.

Knox SDK потребує ліцензії Samsung Knox:

// Ініціалізація Knox із Enterprise лицензійним ключем
val licenseManager = KnoxEnterpriseLicenseManager.getInstance(context)
licenseManager.activateLicense(KNOX_LICENSE_KEY)

// Слухач результату активації
val receiver = object : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        val status = intent.getIntExtra(KnoxEnterpriseLicenseManager.EXTRA_LICENSE_STATUS, -1)
        if (status == KnoxEnterpriseLicenseManager.ERROR_NONE) {
            initKnoxPolicies()
        }
    }
}
registerReceiver(receiver, IntentFilter(KnoxEnterpriseLicenseManager.ACTION_LICENSE_STATUS))

Ліцензія Knox per-device активується через Samsung Knox License Management Service (KLMS). Для enterprise-деплою ліцензії видаються оптом через Samsung Knox Reseller Portal.

Per-app VPN через Knox VPN Framework

Knox VPN Framework дозволяє налаштувати per-app VPN без MDM-профіля—прямо з додатка з Device Owner правами:

val vpnManager = EnterpriseDeviceManager.getInstance(context).vpnManager
val vpnProfile = KnoxVpnProfile().apply {
    profileName = "CorporateVPN"
    vpnType = KnoxVpnProfile.VpnType.IPSEC_HYBRID_RSA
    gatewayAddress = "vpn.corp.example.com"
    packageNames = listOf("com.company.app") // лише наш додаток
}
vpnManager.addVpnProfile(vpnProfile)
vpnManager.enableVpnProfile("CorporateVPN")

Відмінність від стандартного VpnService: Knox VPN встановлюється на рівні SIM-стека, трафік туннелюється до того, як проходить через Android networking stack. Складніше обійти зі сторони вредоносного ПО на пристрої.

Samsung Knox Platform for Enterprise (KPE): наслідок Knox SDK

З 2021 року Samsung рекомендує KPE замість застарілого Knox SDK. KPE—єдиний API, який об'єднує функції Knox EMM, Knox Customize та управління пристроєм:

// Отримання менеджера політик через KPE
val enterpriseDeviceManager = EnterpriseDeviceManager.getInstance(context)
val applicationPolicy = enterpriseDeviceManager.applicationPolicy

// Блокування конкретного додатка
applicationPolicy.addPackageToBlacklist("com.example.gaming_app")

// Принудова дозвіл
applicationPolicy.addPackageToWhitelistForPermission(
    "com.company.app",
    Manifest.permission.CAMERA
)

Knox Attestation: перевірка цілісності пристрою на сервері

Knox Attestation дозволяє серверу убедиться, що пристрій не рутований та Knox-статус не нарушен. Клієнт запитує nonce-based аттестаційний отчет:

val attestationManager = KnoxAttestationManager.getInstance(context)
attestationManager.getAttestation(serverNonce) { report ->
    // Відправити report на сервер
    // Сервер верифікує підпис через Samsung Knox Attestation API
    sendAttestationToServer(report)
}

Сервер перевіряє отчет через Samsung Knox Attestation REST API—убеждается, что boot chain не нарушена, knox_state = "ACTIVE", нема ознак root або FRP bypass.

Етапи інтеграції

Отримання Knox ліцензії → реєстрація додатка у Samsung Knox Portal → інтеграція Knox SDK / KPE → Knox Vault для критичних ключів → настройка політик (VPN, Kiosk, App Whitelist) → Knox Attestation для серверної верифікації → тестування на Knox-certified пристроях → деплой через Samsung Knox Mobile Enrollment.

Терміни: базова інтеграція Knox Keystore—2–3 тижні. Повний проект з KPE політиками, VPN, Attestation—6–10 тижнів. Вартість розраховується індивідуально.