Tirai privasi kamera dan pemutus daya

Artikel ini menyediakan panduan desain perangkat untuk rana privasi atau mematikan sakelar, pertimbangan untuk sensor status rana, dan bagaimana rana diharapkan berinteraksi dengan persyaratan HLK yang ada untuk LED indikator.

Persyaratan LED umum

Tanpa memandang rana atau sakelar pemutus, HLK mengharuskan LED indikator yang terlihat harus menyala saat ISP menangkap data sensor. Untuk kamera RGB, jika kamera aktif, LED panjang gelombang tunggal yang terlihat (misalnya, putih, hijau, biru, dan sebagainya) harus AKTIF:

kamera RGB di

Untuk kamera dengan sensor RGB+IR, ini bisa lebih kompleks karena kamera IR memerlukan LED iluminator, dan LED iluminator dapat menggunakan panjang gelombang yang terlihat (850 nm) atau panjang gelombang yang tidak terlihat (940 nm). Selain itu, aplikasi dapat melakukan streaming dari sensor IR tersendiri, sensor RGB tersendiri, atau keduanya secara bersamaan.

Desain yang menggunakan iluminator IR dengan panjang gelombang yang terlihat dapat memilih untuk menggunakan LED iluminator IR sebagai LED indikator yang terlihat. Ini berarti bahwa jika kamera IR menyala dengan sendirinya, persyaratan HLK terpenuhi ketika LED iluminator infra merah menyala.

lampu LED iluminator IR menyala

Desain yang menggunakan iluminator IR panjang gelombang yang tidak terlihat harus menggunakan LED panjang gelombang yang terlihat untuk menunjukkan kapan kamera IR aktif, untuk memenuhi persyaratan HLK. Kami merekomendasikan berbagi LED indikator penggunaan kamera, sehingga LED dengan panjang gelombang yang terlihat yang sama menyala ketika sensor IR dan/atau sensor RGB diaktifkan.

sensor IR dan atau sensor RGB ada di

Sebaiknya semua desain menyalakan LED indikator penggunaan normal ketika kamera IR atau RGB digunakan, terlepas dari apakah LED iluminator IR menggunakan panjang gelombang terlihat atau tidak. Berikut adalah tabel lengkap persyaratan LED inti:

Status aliran LED IR terlihat (850 nm) LED IR tak terlihat (940 nm)
Kamera mati LED MATI LED MATI
Hanya kamera RGB aktif Indikator yang digunakan ON, iluminator IR OFF Indikator yang digunakan ON, iluminator IR OFF
Hanya kamera IR aktif Indikator penggunaan tidak diperlukan tetapi direkomendasikan ON Indikator yang digunakan ON, iluminator IR ON
Kamera RGB dan IR aktif Indikator yang digunakan ON, iluminator IR ON Indikator yang digunakan ON, iluminator IR ON

Nota

Persyaratan LED dapat berbeda untuk desain dengan rana privasi kamera atau sakelar mati kamera. Lihat persyaratan LED rana privasi kamera untuk informasi mengenai rana privasi kamera dan persyaratan LED HLK untuk sakelar pemutus kamera.

Pengalaman AI yang selalu aktif (misalnya kehadiran manusia berbasis kamera)

Untuk perangkat yang mendukung fitur AI berbasis Kamera yang selalu aktif, di mana silikon AI berbagi sensor kamera utama, persyaratan LED berbeda ketika silikon kehadiran khusus secara eksklusif mengakses kamera. Lihat Whitepaper Presence Sensing di Pusat Mitra Microsoft untuk informasi lebih lanjut.

Kontrol privasi perangkat keras

Ketika desain kamera mencakup kontrol privasi perangkat keras, ada dua tenet kunci dari panduan desain kami:

  1. Perangkat dengan kontrol privasi harus memberikan pengalaman dan keyakinan pengguna yang konsisten dalam status privasi:

    • Setelah pelanggan mempelajari tampilan dan perilaku rana pada perangkat mereka, pengetahuan tersebut harus berlaku untuk perangkat apa pun yang mereka gunakan yang memiliki rana.
  2. Dalam keadaan apa pun, kontrol privasi kamera dapat memberikan kesan privasi yang salah:

    • Perangkat tidak boleh gagal memberikan privasi ketika yang paling penting bagi pelanggan. Jika rana privasi kamera ditutup, atau sakelar mati kamera mati, pelanggan mengharapkan bahwa tidak ada gambar yang dapat diambil sampai mereka berinteraksi dengan kontrol fisik untuk menonaktifkan fitur privasi.

Jenis kontrol

Dua bentuk kontrol privasi ditentukan, rana privasi kamera (mekanis dan elektromekanis) dan sakelar mati kamera. Tergantung pada faktor bentuk perangkat, target biaya BOM, dan titik harga perangkat, OEM dapat memilih untuk mengimplementasikan rana dalam salah satu bentuk ini. Konstanta penting di ketiganya adalah bahwa mereka harus bertindak di tingkat fisik atau perangkat keras, yang berarti tidak ada perangkat lunak yang terlibat, karena perangkat lunak dapat disusupi.

Penutup privasi kamera mekanis

Penutup mekanis merupakan desain yang paling sederhana, ini adalah penutup lensa geser sederhana yang dioperasikan pengguna secara manual untuk memblokir atau membuka kamera. Mereka dirancang menggunakan bahan buram yang sepenuhnya memblokir lensa saat ditutup. Desain ini secara inheren tahan kesalahan dalam arti bahwa desain ini secara fisik tidak dapat dikompromikan untuk dibuka dengan cara apa pun kecuali dengan menggesernya oleh pengguna.

Penutup privasi kamera elektromekanis

Rana elektromagnetis adalah rana mekanis yang dikontrol secara elektromagnet. Alih-alih pengguna membuka atau menutup rana secara manual, rana terintegrasi terbuka/ditutup sebagai respons terhadap tekan tombol fisik pada perangkat.

Nota

Meskipun solusi ini umumnya akan memerlukan firmware, solusi ini harus diisolasi dari komponen lain. Dengan kata lain, pengontrol rana dan tombol tidak boleh memiliki vektor serangan seperti bus komunikasi atau kemampuan firmware untuk diprogram ulang. Desain harus memerlukan interaksi perangkat keras dan tidak dapat dikontrol dari perangkat lunak.

Sakelar untuk mematikan kamera

Beberapa perangkat saat ini dikirim dengan fitur sakelar mati kamera, yang secara fisik memutuskan sambungan perangkat kamera dari sistem ketika dimatikan, menyediakan kontrol perangkat keras untuk memblokir akses kamera tanpa memerlukan rana fisik untuk menutup lensa/sensor. Meskipun ini kuat terhadap serangan, ini menciptakan pengalaman pengguna yang buruk. Dengan menghapus perangkat saat sakelar dimatikan, sistem tidak dapat mengetahui bahwa sasis masih memiliki kamera di dalamnya tetapi dimatikan. Ini bermasalah dari perspektif UX jika kamera tidak sengaja dimatikan oleh pengguna yang tidak menyadari sakelar, karena aplikasi melaporkan bahwa tidak ada kamera yang terhubung. Ini juga dapat menyebabkan aplikasi tertentu mengalami crash atau salah tingkah jika kamera dihapus selama penggunaan atau muncul saat aplikasi berjalan.

Oleh karena itu, Microsoft tidak merekomendasikan atau mendukung penggunaan sakelar matikan kamera yang menghapus seluruh kamera dari sistem. Sebagai gantinya, kami merekomendasikan salah satu dari dua solusi:

  1. Penutup fisik, seperti yang dijelaskan dalam penutup privasi kamera mekanis dan penutup privasi kamera elektromekanis.

  2. Sakelar darurat yang memutuskan sensor, bukan ISP, dan menyebabkan ISP mensintesis bingkai hitam.

Untuk solusi kedua, kamera masih muncul di sistem, dan aplikasi dapat terus menggunakannya. ISP merespons semua perintah (streaming mulai/berhenti, DDI seperti kecerahan atau kontras, perubahan jenis media, dan sebagainya) secara normal, terlepas dari apakah sakelar matikan aktif atau tidak. Namun, ketika tombol matikan diaktifkan, ISP berhenti menangkap data nyata dari sensor dan sebagai gantinya mensintesis dan mengalirkan bingkai hitam, semuanya transparan dari perspektif aplikasi.

Bidai dengan beberapa kamera pada panel

Saat pelanggan menggunakan perangkat dengan rana (misalnya, rana dengan beberapa kamera IR dan RGB pada panel) mereka mengharapkan bahwa jika rana ditutup, privasi dilindungi terhadap akses kamera yang tidak terduga. Ketika sistem memiliki dua kamera pada panel yang sama, seperti kamera RGB dan IR untuk mendukung Windows Hello, penting untuk memastikan bahwa rana tidak memberikan rasa keamanan yang salah. Pelanggan tidak diharapkan memahami bahwa mungkin ada sensor kamera kedua untuk Windows Hello, dan beberapa perangkat menggunakan sensor tunggal untuk RGB+IR. Karena ini, rana harus menutupi semua kamera pada panel.

Memastikan rana dan tombol mati berlaku untuk kamera IR sangat penting karena kamera IR dapat diakses oleh aplikasi dan menghasilkan gambar adegan dengan keakuratan yang cukup tinggi, seperti yang ditunjukkan di bawah ini. Gagal menutupi sensor inframerah akan mewakili rasa keamanan yang salah dan pelanggaran kepercayaan pengguna terhadap manfaat privasi penutup.

gambar inframerah dari sensor acuan Microsoft

Nota

Windows Hello Face memerlukan kamera RGB dan IR. Jika kamera RGB terhalang, Windows Hello tidak akan berfungsi sebagaimana mestinya. Aliran RGB dan IR digunakan untuk memungkinkan langkah-langkah penanggulangan anti-spoofing.

Panduan desain rana fisik (mekanis atau elektromekanis)

Ketika pelanggan menggunakan perangkat dengan rana fisik, kehadiran rana memberikan harapan tersirat yang kuat tentang tingkat privasi yang disediakannya. Sederhananya, harapan pengguna tersebut adalah bahwa jika perangkat memiliki rana, dan rana ditutup, mereka dilindungi terhadap akses kamera yang tidak terduga. Sangat penting bahwa implementasi fitur memenuhi harapan tersirat, jika tidak, akan kehilangan kepercayaan sepenuhnya.

Selain itu, keseluruhan konsep rana privasi adalah untuk memberikan lapisan keamanan yang tahan terhadap serangan perangkat lunak praktis. Dengan kata lain, jika perangkat memiliki penutup lensa dan sistem mengalami kompromi total oleh perangkat lunak berbahaya, akan tetapi perangkat lunak tersebut tidak dapat membahayakan privasi pengguna. Sekali lagi, sederhananya, harapannya adalah bahwa tutup hanya dapat mengubah status jika pengguna berinteraksi langsung dengan kontrol tutup perangkat keras pada perangkat.

Pertimbangan desain mekanis

Penutup fisik, baik dioperasikan secara manual atau elektromekanis, diharapkan dibuat dari bahan buram yang sepenuhnya memblokir sensor ketika tertutup dan terlihat oleh mata telanjang.

material buram menghalangi sensor ketika tertutup dapat terlihat oleh mata telanjang

Seperti yang dijelaskan dalam Shutters dengan beberapa kamera pada panel, perangkat dengan kamera IR dan RGB terpisah pada panel yang sama harus diblokir kedua sensornya secara bersamaan ketika rana ditutup. Asumsikan desain sensor ganda seperti berikut:

desain sensor ganda

Saat rana ditutup, rana harus menutupi sensor RGB, sementara sensor IR bersifat opsional untuk ditutupi.

saat rana tertutup harus menutup kedua sensor

Nota

Saat ini kami mendukung pengecualian untuk kamera yang desain rana mekanisnya tidak mencakup kamera inframerah. Ketika rana fisik menutupi kamera RGB, dapat diterima jika firmware ISP membuang output gambar dari kamera IR dan menggantinya dengan gambar hitam sintetis. Namun, jika sensor IR digunakan untuk Presence Sensing, disarankan untuk tidak menutupi sensor IR dan memastikan sensor Kehadiran berfungsi. Lihat Whitepaper Presence Sensing di Pusat Mitra Microsoft untuk informasi lebih lanjut. Pembaruan HLK di masa mendatang akan mengadopsi pengecualian ini dan hanya memerlukan rana fisik untuk menghalangi RGB secara fisik, untuk memastikan ketahanan solusi ini dan perlindungan privasi pelanggan yang lebih ditingkatkan.

Pertimbangan perilaku kamera

Ketika kamera dilengkapi dengan rana fisik, kamera harus terus beroperasi secara normal terlepas dari status rana. Jika sebuah aplikasi melakukan streaming dari kamera, aplikasi tersebut terus mengambil dan mengirimkan data sensor nyata meskipun rana ditutup. Oklusi penuh sensor oleh rana tertutup diharapkan menghasilkan gambar berwarna hitam atau sangat dekat dengannya.

Para OEM dapat memilih untuk mengganti gambar dengan gambar statis saat rana ditutup (misalnya, gambar kamera dengan garis miring di atasnya). Gambar ini harus statis dan tidak dapat diubah dari perangkat lunak untuk melindungi dari eksploitasi. Untuk perangkat dengan Privacy Shutters, penggantian gambar dapat terjadi dalam lingkup ISP atau dalam driver, meskipun penggantian dalam ISP disarankan untuk mengurangi kebutuhan DMFT dan menambah beban pada perangkat host.

Persyaratan LED untuk rana privasi kamera

Persyaratan LED harus mengikuti persyaratan yang ditentukan persyaratan LED Umum. Ini berarti bahwa jika ada kamera pada panel yang menyala, LED indikator penggunaan kamera panjang gelombang yang terlihat harus tetap menyala terlepas dari apakah rana terbuka atau tertutup. Namun, desain fisik rana dapat diterima untuk menutupi LED saat rana ditutup. Diagram di bawah ini mengilustrasikan skenario saat kamera secara aktif melakukan streaming:

kamera secara aktif melakukan streaming

Untuk desain yang memiliki kamera IR dan RGB, beberapa produsen mungkin ingin mematikan LED iluminator IR jika kamera IR digunakan saat rana ditutup. Kami tidak merekomendasikan ini karena menambahkan kompleksitas tambahan dengan nilai yang sedikit; kamera IR hanya akan aktif jika Windows Hello berjalan, dan Windows Hello menampilkan pesan selama waktu tersebut bahwa ia mencoba untuk masuk ke akun Anda, tetapi rana ditutup. Lihat implementasi kill switch untuk detail lebih lanjut.

Namun, jika LED iluminator IR 840 nm (terlihat) bukan satu-satunya LED indikator yang digunakan untuk kamera IR (misalnya, LED putih/hijau/biru yang terlihat normal diterangi saat kamera IR aktif), maka desain dapat mematikan LED iluminator IR saat rana ditutup.

Mekanisme peralihan status penutup

Perangkat yang menerapkan rana privasi tidak boleh mengizinkan bentuk kontrol perangkat lunak apa pun dari rana, dan hanya boleh membuka atau menutup rana sebagai respons terhadap pengguna yang berinteraksi secara eksplisit dengan kontrol rana. Kontrol rana ini mungkin penggeser mekanis, atau tombol fisik yang mengoperasikan rana elektromekanis. Tidak ada perangkat lunak yang dapat mengubah status rana, bahkan jika kontrol perangkat keras dapat mengambil alih perangkat lunak dan menjaga rana tetap tertutup, karena rana tertutup tidak akan selalu berarti bahwa kontrol privasi diaktifkan. Demikian juga, rana mungkin tidak terbuka atau ditutup pada aplikasi menggunakan kamera, karena alasan yang sama. Singkatnya, jika pengguna melirik perangkat dan melihat rana ditutup, mereka harus dapat dengan tegas menyimpulkan bahwa privasi mereka dilindungi sampai mereka mengambil tindakan fisik untuk membuka rana.

Penginderaan dan pelaporan status rangkaian shutter

Banyak masalah dengan desain privasi kamera di pasar berasal dari situasi di mana pengguna secara tidak sengaja menutup rana dan tidak dapat mengetahui mengapa kamera mereka menghasilkan gambar kosong atau tidak berfungsi. Oleh karena itu, bagian kunci dari fitur rana privasi Windows bergantung pada kamera yang dapat dengan andal melaporkan status rananya. Dengan informasi ini, aplikasi dapat memberi tahu pengguna bahwa rana tertutup, sehingga mereka bisa merespons dengan tepat. Perubahan status rana harus dideteksi dan dilaporkan sesegera mungkin setelah peristiwa terjadi.

Dua metode diusulkan untuk merasakan status rana, Sensor fisik, dan deteksi berbasis Firmware. Kedua metode melaporkan status rana yang terdeteksi melalui CT_PRIVACY_CONTROL jika berasal dari perangkat UVC, atau KSPROPERTY_CAMERACONTROL_PRIVACY jika berasal dari driver AVStream atau DMFT.

Lihat pemberitahuan rana privasi untuk detail selengkapnya.

Sensor deteksi kondisi fisik

Status rana dapat terdeteksi dengan sensor fisik yang dapat mendeteksi apakah rana dibuka atau ditutup. Sensor fisik dapat secara deterministik melaporkan status rana dan dapat memberikan pengalaman yang lebih andal. Microsoft tidak memiliki panduan khusus yang tersedia pada desain sensor, atau rekomendasi khusus untuk teknologi sensor.

Deteksi status berbasis firmware ISP

Beberapa desain dapat memilih untuk melewati penggunaan rana fisik dan sebaliknya menggunakan firmware dalam Pengolah Sinyal Gambar (ISP) untuk memproses gambar serta melaporkan status rana yang dihasilkan. Solusi seperti itu akan menganalisis gambar yang diambil di dalam firmware dan membandingkannya terhadap nilai ambang untuk menentukan apakah rana tampak tertutup. Ini adalah solusi berbilai rendah karena tidak memerlukan bagian baru dan juga mampu mendeteksi hal-hal seperti pita melalui sensor. Namun, ada dua pertimbangan penting ketika memilih untuk menggunakan desain seperti itu:

  1. Desain ini berisiko melaporkan penutupan rana secara keliru di lingkungan gelap. Namun, ini diharapkan menjadi risiko/masalah minimal, karena kamera tidak akan dapat digunakan di lingkungan dengan cahaya rendah seperti itu.

  2. Kecuali ISP mampu mengambil sampel secara berkala dari sensor setiap kali keluar dari D3, metode ini mencegah aplikasi untuk dapat mengkueri data status sensor yang akurat sampai mereka mulai streaming dari kamera.

Pertimbangan kedua di atas menciptakan tantangan. Jika kamera gagal melaporkan status rana saat tidak streaming, tetapi aplikasi ditulis untuk memeriksa dan bereaksi terhadap status rana sebelum streaming, hal-hal buruk dapat terjadi. Sebagai tanggapan atas umpan balik yang telah kami terima dari mitra, persyaratan ini telah dilonggarkan. Kami juga memperbarui dokumentasi API untuk menyarankan pengembang perangkat lunak agar tidak membuat keputusan berdasarkan status rana yang dilaporkan saat tidak melakukan streaming. Misalnya, kami akan secara eksplisit menyarankan pengembang aplikasi agar tidak melarang kamera diaktifkan jika rana melaporkan bahwa kamera ditutup.

Untuk menghindari risiko masalah kompatibilitas dengan aplikasi yang tidak mematuhi saran ini, kamera yang tidak dapat merasakan status rana ketika tidak streaming diharapkan untuk melaporkan bahwa rana TERBUKA setiap kali tidak streaming. Atau jika kamera dapat mendeteksi status rana saat tidak streaming, diharapkan untuk mendeteksi dan melaporkan status rana kapan saja tidak berada di D3.

Nota

Algoritma deteksi rana berbasis analisis gambar harus selalu diimplementasikan dalam firmware dibandingkan dengan driver, untuk menghindari peningkatan beban CPU dan untuk ketahanan maksimum.

Berikut adalah diagram yang mengilustrasikan perilaku yang diharapkan untuk perangkat dengan rana privasi kamera:

perilaku yang diharapkan untuk perangkat dengan rana privasi kamera

Tabel ringkasan perilaku rana privasi pada kamera

Tabel berikut ini meringkas perilaku kamera yang diharapkan dengan rana privasi kamera (manual atau elektromekanis):

Status ISP Status rana Indikator LED yang terlihat Gambar dialirkan ke PC Status CT_PRIVACY_CONTROL yang dilaporkan
Menganggur/D3 Dibuka Off* N/A Dibuka
Menganggur/D3 Tertutup Off* N/A Terbuka**
Streaming (aplikasi apa pun) Dibuka Di atas* Gambar sensor yang diambil Dibuka
Streaming (aplikasi apa pun) Tertutup Di atas* Gambar sensor yang diambil Tertutup

(*) Lihat Persyaratan LED rana privasi kamera dan mekanisme pengalihan status rana untuk detail mengenai persyaratan LED indikator.

(**) Lihat Sensor status rana dan pelaporan untuk detailnya, dalam beberapa skenario status rana masih akan diperbarui saat tidak streaming.

Panduan desain sakelar darurat

Ketika pelanggan menggunakan perangkat dengan kill switch, mereka menaruh kepercayaan pada sakelar perangkat keras untuk melindungi secara kuat dari aplikasi apa pun yang mencoba menangkap gambar mereka. Sederhananya, harapan pengguna itu adalah bahwa jika perangkat saya memiliki tombol matikan, dan tombol matikan diaktifkan, privasi saya terlindungi dari akses kamera yang tidak terduga. Sangat penting bahwa implementasi fitur memenuhi harapan tersirat, jika tidak, akan kehilangan kepercayaan sepenuhnya.

Selain itu, seluruh konsep dari sebuah kill switch adalah untuk memberikan lapisan keamanan yang diperkuat melawan serangan perangkat lunak yang nyata. Jika perangkat memiliki sakelar kill dan sistem sepenuhnya disusupi oleh perangkat lunak berbahaya, perangkat lunak tersebut tidak dapat mengambil alih sakelar kill dan membahayakan privasi pengguna. Sederhananya, harapannya adalah bahwa *tombol matikan hanya dapat diaktifkan/dinonaktifkan oleh pengguna yang berinteraksi secara fisik dengan perangkat.

Dibandingkan dengan desain rana privasi, sakelar pemutus lebih kompleks dan menghadirkan lebih banyak tantangan untuk memberikan kepercayaan. Ini karena mereka membawa tingkat harapan yang sama akan ketahanan (sakelar fisik diharapkan bekerja dengan sempurna dalam semua skenario), tetapi mereka tidak memberikan jaminan yang sama seperti yang diberikan rana fisik di depan lensa. Ini berarti bahwa perangkat yang menawarkan sakelar mati harus menghasilkan pengalaman yang konsisten, jelas, dan andal.

Fungsionalitas pemutus darurat

Sakelar pemutus beroperasi dengan memberi tahu firmware ISP untuk berhenti menangkap dari sensor dan sebagai gantinya menghasilkan gambar hitam. Dengan cara ini, kamera masih tersedia dan berfungsi dari perspektif aplikasi, tetapi tidak ada data sensor nyata yang ditransmisikan ke OS host ketika tombol matikan aktif. Desain yang kuat akan beroperasi sebagai berikut:

  1. Sinyal fisik dari sakelar tersambung ke GPIO pada ISP, untuk menunjukkan apakah sakelar aktif atau tidak

  2. Saat tombol matikan aktif, ISP:

    1. Memutus sambungan sensor secara elektrik

    2. Mulai mensintesis bingkai hitam untuk menggantikan bingkai nyata dari sensor yang terputus

    3. Melaporkan bahwa rana ditutup melalui fitur pemberitahuan rana privasi

Dalam praktiknya, chip ISP yang mendukung pengalaman penuh ini, termasuk pemutusan listrik sensor ketika sakelar pemutus GPIO aktif, saat ini belum tersedia di pasaran. Oleh karena itu, desain saat ini memerlukan modifikasi langkah 2a di atas menjadi "Menghentikan sensor atau membuang data sensor dalam firmware". Kami berencana untuk bekerja sama dengan vendor ISP untuk mengurangi kebutuhan akan akomodasi ini di silikon mendatang.

Nota

Sangat penting bahwa fungsionalitas kill switch diimplementasikan di firmware ISP, dan bukan dalam driver yang berjalan pada OS host. Data gambar nyata dari sensor tidak boleh ditransfer ke OS ketika sakelar pemutus dalam status "mati".

Seperti halnya dengan Shutter Privasi, OEM dapat mengganti gambar dengan gambar statis ketika Kill Switch berada dalam keadaan "kill". Penggantian gambar dapat terjadi dalam ISP atau dalam driver, meskipun penggantian dalam ISP disarankan untuk mengurangi kebutuhan DMFTs dan menambahkan beban ke perangkat host. Jika penggantian gambar dilakukan di driver, perhatikan persyaratan bahwa data gambar nyata tidak ditransfer ke OS ketika tombol matikan dalam status "matikan" masih berlaku.

Implementasi sakelar penghenti

Status sakelar pemutus tidak boleh dikontrol oleh perangkat lunak, jika tidak, aplikasi berbahaya dapat memprogram kontrol untuk mengaktifkan atau menonaktifkan sakelar pemutus. Mereka harus dikontrol oleh sakelar yang terhubung ke GPIO pada ISP.

Penting bahwa ketika sakelar mematikan kamera dimatikan, kamera masih muncul di sistem dan aplikasi masih dapat melakukan streaming darinya, hanya gambarnya saja yang menjadi hitam. Bingkai terus dikirimkan ke OS, dan kamera terus merespons kontrol; aplikasi tidak menyadari bahwa sakelar dalam status "matikan" kecuali aplikasi menggunakan CameraOcclusionInfo API. Ini memungkinkan kamera dinonaktifkan melalui kontrol perangkat keras tanpa memberikan pesan "kamera tidak ditemukan" yang membingungkan atau terjadinya crash pada aplikasi tertentu saat mengaktifkan sakelar.

Seperti yang dijelaskan dalam Shutters dengan beberapa kamera pada panel, perangkat dengan kamera IR dan RGB terpisah pada panel yang sama harus menonaktifkan kedua sensor secara bersamaan ketika sakelar mati diaktifkan.

Persyaratan HLK LED

HLK mengharuskan LED indikator menyala saat ISP menangkap data sensor. Mengaktifkan sakelar pemutus berarti ISP harus berhenti mengambil data nyata dari sensor, sehingga LED diharapkan juga mati dengan sakelar pemutus. Ini menghindari kebingungan atau pelanggaran kepercayaan, jika pelanggan melihat indikator menyala atau LED penerangan IR, mereka tahu bahwa perangkat lunak saat ini menangkap gambar mereka, dan jika mereka tidak melihat LED yang menyala, mereka tahu bahwa mereka tidak ditangkap.

Pelaporan status sistem pemutus darurat

Status tombol matikan harus dilaporkan melalui CT_PRIVACY_CONTROL (jika berasal dari perangkat UVC), atau KSPROPERTY_CAMERACONTROL_PRIVACY (jika berasal dari driver AVStream atau DMFT). Status Camera Kill Switch harus dilaporkan setiap kali ISP tidak lagi dalam mode D3.

Lihat pemberitahuan rana/penutup privasi untuk detail selengkapnya.

pelaporan status tombol pemutus darurat

Tabel ringkasan perilaku pemutus darurat

Tabel berikut ini meringkas perilaku kamera yang diharapkan dengan sakelar matikan kamera:

Status ISP Matikan status sakelar Indikator LED yang terlihat Gambar dialirkan ke PC Status CT_PRIVACY_CONTROL yang dilaporkan
Menganggur/D3 Lari Off* N/A Buka
Menganggur/D3 Bunuh Off* N/A Tutup
Streaming (aplikasi apa pun) Lari Di atas* Gambar sensor yang diambil Buka
Streaming (aplikasi apa pun) Bunuh Off* Bingkai kosong hasil sintesis Tutup

(*) Lihat Persyaratan LED rana privasi kamera dan mekanisme pengalihan status rana untuk detail mengenai persyaratan LED indikator.

Panduan ISV untuk peristiwa rana/pengalihan

Saat kamera dengan rana privasi atau sakelar mati mengikuti panduan dalam dokumentasi ini, status rana/sakelar dilaporkan ke OS saat kamera sedang streaming. Aplikasi yang menggunakan kamera kemudian dapat memantau peristiwa perubahan status rana dan merespons dengan sesuai, seperti dengan menghasilkan pemberitahuan bermanfaat bahwa kamera diblokir oleh rana atau sakelar.

Lihat API berikut untuk informasi selengkapnya:

Kelas CameraOcclusionInfo

Kelas CameraOcclusionState

Properti VideoDeviceController.CameraOcclusionInfo