Dongle virtual adalah program perangkat lunak yang dirancang untuk meniru dongle atau kunci perangkat keras. Digunakan dalam perlindungan salinan perangkat lunak, dongle virtual memungkinkan pengguna untuk mengakses beberapa program yang bergantung pada dongle tanpa memerlukan kunci perangkat keras fisik untuk setiap program perangkat lunak. Jika dongle diperlukan untuk menjalankan perangkat lunak, itu berarti perangkat portabel yang dilengkapi dengan informasi membuka kunci perlu dicolokkan ke komputer agar perangkat lunak dapat berjalan. Karena dongle biasanya hanya diperlukan pada program khusus kelas atas, sebagian besar pengguna komputer tidak mungkin menemukan program yang membutuhkan dongle.
Dongle digunakan untuk mengontrol pembajakan perangkat lunak. Pembajakan perangkat lunak terjadi ketika sebuah program didistribusikan tanpa persetujuan dari perusahaan yang memegang hak cipta perangkat lunak. Program perangkat lunak yang digunakan untuk merancang dan membuat media mahal dan rentan terhadap pencurian dan penyalinan, dan perusahaan tidak dibayar untuk pekerjaannya ketika program didistribusikan tanpa sepengetahuan mereka. Dongle melindungi program perangkat lunak dari pembajakan dengan memblokir penggunaannya saat dongle tidak ada di komputer.
Program yang membutuhkan dongle biasanya merupakan program desain atau produksi kelas atas. Dongle muncul dalam perangkat lunak yang digunakan dalam membuat video, merancang produksi teater, merekam dan mengedit audio, dan merancang bangunan. Contoh program yang memerlukan dongle termasuk Pro Tools® dan Vectorworks®.
Membuat dongle virtual memerlukan penggunaan program perangkat lunak yang disebut emulator. Program-program ini menggunakan perangkat lunak untuk meniru fungsi perangkat atau sistem perangkat lunak lain. Emulator meniru fungsi dongle portabel, yang pada dasarnya menipu komputer agar mengira bahwa kunci perangkat keras dicolokkan ke port komputer.
Dongle virtual dapat bekerja tanpa menggunakan colokan, yang membebaskan port Universal Serial Bus (USB) untuk perangkat lain. Pengguna komputer yang bepergian dapat menghindari kekacauan membawa beberapa dongle portabel untuk beberapa program perangkat lunak. Menggunakan dongle virtual juga membantu melindungi dongle asli dari kerusakan, pencurian, atau kehilangan.
Dongle virtual dan sistem kunci perangkat keras fisik mengalami masalah ketidakcocokan. Sementara banyak dongle memiliki colokan internal yang memungkinkan pengguna untuk menumpuk banyak dongle dalam satu port USB, masalah konflik dapat menyebabkan satu atau lebih dongle tidak berfungsi. Saat menghadapi masalah kompatibilitas dengan dongle perangkat keras, mengalihkan beberapa kunci perangkat keras Anda ke dongle virtual yang ditiru dapat memperbaiki malfungsi. Demikian juga, ketika dongle yang diemulasi tidak berfungsi, beralih kembali ke kunci perangkat keras mungkin diperlukan.