Proses penandatanganan kode app di iOS dan iPadOS
Di iOS dan iPadOS, Apple menawarkan keamanan app melalui hal seperti penandatanganan wajib untuk kode, proses masuk yang ketat bagi pengembang, dan lainnya.
Penandatanganan kode wajib
Setelah dimulai, kernel iOS dan iPadOS akan mengontrol proses dan app pengguna mana yang dapat dijalankan. Untuk membantu memastikan bahwa semua app berasal dari sumber yang diketahui dan disetujui dan belum dirusak, iOS dan iPadOS mengharuskan semua kode yang dapat dijalankan untuk ditandatangani menggunakan sertifikat dari Apple. App yang menyertai perangkat, seperti Mail dan Safari, ditandatangani oleh Apple. App pihak ketiga juga harus divalidasi dan ditandatangani menggunakan sertifikat dari Apple. Penandatanganan kode yang wajib memperluas konsep rantai kepercayaan dari sistem operasi ke app dan membantu mencegah app pihak ketiga untuk memuat sumber kode yang tidak bertanda tangan atau menggunakan kode yang berubah sendiri.
Cara pengembang menandatangani app mereka
Pengembang dapat menandatangani app mereka melalui validasi sertifikat (melalui Apple Developer Program). Pengembang juga dapat menanamkan kerangka di dalam app mereka dan membuat agar kode tersebut divalidasi dengan sertifikat yang diterbitkan oleh Apple (melalui string pengenal tim).
Validasi sertifikat: Untuk mengembangkan dan menginstal app di perangkat iPhone atau iPad, pengembang harus mendaftar di Apple dan bergabung dengan Apple Developer Program. Identitas sebenarnya dari setiap pengembang, baik perorangan maupun bisnis, diverifikasi oleh Apple sebelum sertifikatnya diterbitkan. Sertifikat ini memungkinkan pengembang untuk menandatangani app dan mengirimkannya ke App Store untuk diedarkan. Oleh karena itu, semua app di App Store telah dikirimkan oleh orang atau organisasi yang dapat dikenali, sehingga dapat mencegah pembuatan app yang berbahaya. App juga telah ditinjau oleh Apple untuk membantu memastikan bahwa app biasanya beroperasi sebagaimana dijelaskan dan tidak berisi bug yang kentara atau masalah penting lainnya. Selain teknologi yang telah dibahas, proses kurasi ini meyakinkan pengguna akan kualitas app yang mereka beli.
Validasi tanda tangan kode: iOS dan iPadOS memungkinkan pengembang untuk menanamkan kerangka di dalam app mereka, yang dapat digunakan oleh app itu sendiri atau oleh ekstensi yang ditanamkan di dalam app. Untuk melindungi sistem dan app lainnya dari kode pihak ketiga yang dimuat di dalam ruang alamat mereka, sistem akan melakukan validasi tanda tangan kode pada semua perpustakaan dinamis yang ditautkan proses saat diluncurkan. Verifikasi ini diselesaikan melalui pengenal tim (ID Tim), yang diekstrak dari sertifikat yang diterbitkan Apple. Pengenal tim adalah string alfanumerik 10 karakter—misalnya, 1A2B3C4D5F. Program dapat menautkan perpustakaan platform yang disertakan pada sistem atau perpustakaan dengan pengenal tim yang sama di tanda tangan kodenya sebagai file utama yang dapat dieksekusi. Karena penyertaan file yang dapat dieksekusi sebagai bagian dari sistem tidak memiliki pengenal tim, file hanya dapat ditautkan dengan perpustakaan yang disertakan pada sistem itu sendiri.
Memverifikasi app in-house khusus
Bisnis yang memenuhi syarat memiliki kemampuan untuk menulis app in-house khusus untuk digunakan di dalam organisasi mereka dan mengedarkannya ke karyawan mereka. Bisnis dan organisasi dapat mengirimkan permohonan ke Apple Developer Enterprise Program (ADEP). Untuk informasi lainnya dan untuk meninjau persyaratan, lihat situs web Apple Developer Enterprise Program. Setelah menjadi anggota ADEP, organisasi dapat mendaftar untuk mendapatkan profil penyedia yang mengizinkan app in-house khusus untuk dijalankan di perangkat yang disahkan.
Pengguna harus menginstal profil penyedia untuk menjalankan app ini. Ini membantu memastikan bahwa hanya pengguna yang ditargetkan organisasi yang dapat memuat app ke iPhone atau iPad mereka. App yang diinstal melalui mobile device management (MDM) dipercaya secara implisit karena hubungan antara organisasi dan perangkat telah terbangun. Jika tidak, pengguna harus menyetujui profil penyedia di Pengaturan. Organisasi juga dapat membatasi pengguna agar tidak menyetujui app dari pengembang yang tidak diketahui. Saat app in-house khusus pertama kali diluncurkan, perangkat harus menerima konfirmasi positif dari Apple bahwa app diizinkan untuk dijalankan.