Bir lisans sattınız. Bir hafta sonra aynı anahtar, biri bir grup sohbetinde paylaştığı için otuz bilgisayarda çalışıyor. Anahtar paylaşımı, ücretli masaüstü yazılımların sessizce gelir kaybetmesinin en yaygın yoludur ve buna karşı en yaygın savunma, bir HWID kilidi kullanmaktır.
Bu rehber, HWID kilidinin ne olduğunu, bir donanım kimliğinin nasıl üretilip kontrol edildiğini, basit uygulamaların nerede bozulduğunu ve meşru donanım değişikliklerini, parasını ödemiş müşterileri cezalandırmadan nasıl yöneteceğinizi anlatıyor.
HWID kilidi nedir?
HWID, hardware ID (donanım kimliği) anlamına gelir: bir programın çalıştığı makinenin özelliklerinden türetilmiş bir parmak izi. Donanım bağlama ya da düğüm kilitleme (node locking) olarak da bilinen HWID kilidi, bir lisans anahtarının onu ilk etkinleştiren cihazın donanım kimliğine bağlanması anlamına gelir. Bundan sonra anahtar yalnızca o cihazda çalışır.
Amaç, paylaşımı teoride imkânsız kılmak değil. Paylaşılan bir anahtarın pratikte çalışmasını durdurmak; parayı ödeyen kişinin ise kilidin varlığını hiç fark etmemesini sağlamaktır.
HWID kilidi adım adım nasıl çalışır?
- 01
İlk etkinleştirme
Müşteri anahtarını girer. Uygulamanız bir donanım parmak izi hesaplar ve bunu anahtarla birlikte lisans sunucusuna gönderir.
- 02
Bağlama
Sunucu kullanılmamış bir anahtar görür, parmak izini bu anahtara kaydeder ve anahtarı bağlı olarak işaretler.
- 03
Sonraki her açılış
Uygulama anahtarı ve parmak izini yeniden gönderir. Kayıtlı bağlamayla eşleşirse oturuma izin verilir.
- 04
Farklı bir makine
Aynı anahtar farklı bir parmak iziyle gelir. Sunucu reddeder ve girişim kaydedilir; böylece paylaşımı olduğu anda görebilirsiniz.
01Anahtar + donanım parmak izi
Şifreli, imzalı bir kanal üzerinden gönderilir
02İlk kullanım: parmak izini anahtara bağla
Sunucuda saklanır, asla PC'de değil
03Sonraki açılış: anahtar + parmak izi
04Eşleşme → oturum ve sunucu tarafı veriler
Uyuşmazlık → reddedilir ve kaydedilir
Kontrol neden sunucuda yapılmalı?
En zayıf HWID kilitleri bağlamayı müşterinin makinesinde tutar; bir dosyada ya da kayıt defteri girdisinde saklar ve karşılaştırmayı yerelde yapar. Yerelde saklanan ve yerelde karşılaştırılan her şey düzenlenebilir, kopyalanabilir ya da tek bir atlama komutuyla yamalanabilir. Anlamlı bir HWID kilidi üç şeye ihtiyaç duyar.
- Bağlama sunucuda yaşar. İstemci parmak izini bildirir; doğru makine olup olmadığına asla kendisi karar vermez.
- Kanal korunur. İstekler ve yanıtlar şifrelenir ve imzalanır; böylece saldırgan “geçerli” bir yanıtı taklit edemez ya da eski bir yanıtı yeniden oynatamaz.
- Değerli bir şey sonuca bağlıdır. Başarısız bir kontrol yalnızca bir hatırlatma ekranı gösteriyorsa, yamalanıp kaldırılır. Yapılandırma, string'ler veya dosyalar yalnızca başarılı bir kontrolden sonra teslim ediliyorsa, kontrol olmadan çalıştırılacak yararlı bir şey kalmaz.
Bağlama PC'de saklanır
- Lisans dosyası veya kayıt defteri girdisi
- Karşılaştırma istemcide çalışır
- Tek bir yamalı atlama bunu atlar
- Dosyayı kopyalamak lisansı kopyalar
Bağlama sunucuda saklanır
- Parmak izi sunucuda kontrol edilir
- Şifreli, imzalı yanıtlar
- String'ler ve dosyalar yalnızca eşleşmeden sonra serbest bırakılır
- Her uyuşmazlık kaydedilir
qPapel Auth bu şekilde kuruludur. Her oturum bir anahtar değişimiyle başlar, trafik şifrelenir ve imzalanır, anahtar ve cihaz sunucuda kontrol edilir; sunucu tarafı string'ler ve dosyalar ise yalnızca kimliği doğrulanmış bir lisansa serbest bırakılır.
İyi bir donanım parmak izini ne oluşturur?
Parmak izi, birbirine ters yönde çeken iki hedefi dengelemelidir. İki makinenin birbirine benzememesi için yeterince benzersiz, sıradan bakım işlemlerinin onu değiştirmemesi için ise yeterince kararlı olmalıdır.
| Hedef | Fazla yaparsanız |
|---|---|
| Makine başına benzersiz | Yeni bir USB aygıtı ya da sürücü güncellemesi gibi küçük değişiklikler bağlamayı bozar |
| Zamanla kararlı | Girdi çok azsa, farklı makineler aynı parmak izini üretir |
İyi parmak izleri nadiren değişen bileşenlere dayanır ve bunlardan birkaçını birleştirir; böylece tek bir parçayı değiştirmek müşteriyi hemen dışarıda bırakmaz. Gelip giden ağ bağdaştırıcıları, çıkarılabilir sürücüler ya da ekran ayarları gibi oynak sinyaller ise dışarıda bırakılmalıdır.
Güvenilir bir donanım kimliğini hangi bileşenler oluşturur?
Çoğu parmak izi, işletim sisteminin sunduğu bir avuç tanımlayıcıya dayanır. Her birinin, ne kadar benzersiz olduğu ile normal kullanımda ne sıklıkla değiştiği arasında farklı bir dengesi vardır.
| Bileşen | Kararlılık | Notlar |
|---|---|---|
| Anakart ve BIOS tanımlayıcıları | Yüksek | Yalnızca kart değiştirildiğinde değişir |
| İşlemci tanımlayıcıları | Yüksek | Aynı CPU modelleri arasında paylaşılır, bu yüzden diğerleriyle birleştirilmesi en iyisidir |
| Sistem sürücüsü tanımlayıcıları | Orta | Sistem diski değiştirildiğinde ya da biçimlendirildiğinde değişir |
| İşletim sistemi kurulum kimliği | Orta | Temiz bir yeniden kurulumda değişir |
| Ağ bağdaştırıcısı (MAC) adresi | Düşük | Bağdaştırıcılar gelip gider ve adresler yazılımla değiştirilebilir |
Akıllıca bir parmak izi, kararlı bileşenlerden ikisini ya da üçünü birleştirir ve oynak olanları dışarıda bırakır. Bazı uygulamalar bir adım öteye gider ve kısmi eşleşmeye tolerans gösterir; böylece yalnızca yeni bir sistem sürücüsü, yeni bir makine sayılmaz. Hangisini seçerseniz seçin tutarlı tutun: uygulamanızın parmak izini oluşturma biçimini değiştirmek, tüm müşteriler için aynı anda bir sıfırlama yapmak demektir.
HWID kilidi uygularken sık yapılan hatalar
Çoğu bozuk HWID kilidi, birkaç öngörülebilir biçimden birinde başarısız olur. Mevcut bir uygulamayı gözden geçiriyorsanız, önce bunlara bakın.
- İstemcinin cevabına güvenmek. Uygulama “bu doğru makine” kararını verip sunucuya yalnızca bildiriyorsa, karar yamalanabilir. Sunucunun parmak iziyi kendisinin karşılaştırması gerekir.
- Bağlamayı yerelde saklamak. Bir lisans dosyası ya da kayıt defteri anahtarı, içindeki bağlamayla birlikte başka bir PC'ye kopyalanabilir ya da düzenlenebilir.
- Tek bir oynak bileşene dayanmak. Yalnızca bir MAC adresinden oluşturulan bir parmak izi, müşteri her yeni bir bağdaştırıcı taktığında onları dışarıda bırakır ve kolayca taklit edilir.
- Sıfırlama yolu bırakmamak. Sıfırlama yolu olmadan her donanım yükseltmesi bir destek talebine ve kızgın bir müşteriye dönüşür.
- Ham tanımlayıcıları göndermek. İhtiyacınız olmayan seri numaralarını toplamak, istemediğiniz gizlilik sorularını doğurur. Karmayı cihazda alın.
- Önemli hiçbir şeyi kontrole bağlamamak. Uygulama başarılı bir kontrol olmadan tamamen çalışıyorsa, saldırganların kontrolü yenmesi değil, atlaması yeterlidir.
HWID kilidini mevcut müşterilere nasıl yaygınlaştırırsınız?
Zaten ödeme yapan kullanıcıları olan bir yazılıma donanım kilidi eklemek biraz dikkat ister. Değişiklikten önce satın alan müşteriler bunun için cezalandırılmış hissetmemelidir.
- 01
Bir sonraki açılışta bağlayın
Mevcut anahtarları bağlı değilmiş gibi değerlendirin. Güncellemeden sonraki ilk açılış, anahtarı müşterinin kullandığı makineye bağlar; böylece ilk gün kimse dışarıda kalmaz.
- 02
Göndermeden önce müşterilere haber verin
Neyin değiştiğini ve sıfırlamanın nasıl isteneceğini anlatan kısa bir not, changelog'unuzda ya da Discord'da yayınlandığında destek taleplerinin çoğunu önler.
- 03
Sıfırlama yolunu aynı anda açın
Güncelleme çıkmadan önce self-servis sıfırlamaların çalıştığından emin olun; ilk şikâyetler geldikten sonra değil.
- 04
İlk haftaları yakından izleyin
Aniden birçok makinede görünen anahtarlar paylaşılan anahtarlarınızdır. Politikanıza göre asıl alıcıyla iletişime geçin ya da anahtarı yasaklayın.
Sıfırlamaları dürüst müşterileri üzmeden yönetin
Dürüst müşteriler donanım değiştirir. Anakart yükseltir, Windows'u yeniden kurar ya da yeni bir dizüstü bilgisayara geçer. Bu anı nasıl yönettiğiniz, HWID kilidinin adil mi yoksa düşmanca mı hissettirdiğini belirler.
- 01
Sıfırlamaları self-servis yapın
Müşterilerin bir destek talebi açıp beklemek yerine müşteri panelinden sıfırlama talep etmesine izin verin.
- 02
Makul bir bekleme süresi belirleyin
Anahtar başına bir sıfırlama bekleme süresi, gerçek müşterilerin makine değiştirmesine izin verirken bir anahtarın her gün PC'den PC'ye atlamasını engeller.
- 03
Bir şeyi değiştirdiğinizde toplu sıfırlama kullanın
Büyük bir Windows güncellemesinden ya da kendi uygulamanızın parmak izi oluşturma biçimindeki bir değişiklikten sonra etkilenen anahtarları bir kerede sıfırlayın.
- 04
Örüntüleri izleyin
Yılda bir sıfırlama normaldir. Aynı anahtarda haftalık sıfırlamalar genellikle paylaşım demektir ve anahtarı yasaklamanın tam zamanıdır.
qPapel Auth'ta donanım kilidi, kullanıcı başına sıfırlama bekleme süreleriyle birlikte gelir; müşteri paneli de alıcıların anahtar ayrıntılarını görmesine ve talepleri kendilerinin göndermesine olanak tanır. Bu tek özellik, çoğu yazılım satıcısı için destek talebinin büyük bir bölümünü ortadan kaldırır.
Çoklu cihaz lisansları
Her lisans tam olarak tek bir makineye kilitlenmek zorunda değildir. Bir tasarımcı masaüstünde ve dizüstünde çalışabilir; bir stüdyo küçük bir ekip için tek bir lisans satın alabilir. Cihaz limitleri teknik değil, ürünle ilgili bir karardır: aynı mekanizma bir anahtarı tek bir parmak izine ya da birkaçına bağlar ve limit dolduğunda bir sonraki cihazı reddeder.
- Tek cihaz, düşük fiyatlı araçlar ve yaygın olarak paylaşılan her şey için uygundur.
- İki ya da üç cihaz, masaüstü ve dizüstü bilgisayarı olan bireysel profesyoneller için uygundur.
- Koltuk bazlı lisanslar, ekipler için çalışır; genellikle bayiler aracılığıyla satılır.
HWID kilidi, birçok katmandan biri olduğunda en iyi çalışır
Donanım bağlama tek bir soruyu iyi yanıtlar. Bir anahtarı paylaşamayan saldırganlar başka bir yol deneyecektir; bu yüzden bağlama, daha geniş bir kontrol kümesinin içinde yer almalıdır.
HWID bağlama
Hangi makine bu anahtarı kullanabilir
Anahtar yasakları
Sızmış bir anahtarı her yerde bir kerede durdurun
Cihaz yönetimi
Hangi bilgisayarların hangi anahtarları kullandığını görün ve bir cihazı yasaklayın
Süreç ve pencere kara listeleri
Uygulamanız çalışırken bilinen crack ve hata ayıklama araçlarını engelleyin
qPAnalyzer
Uygulamanızı incelemeye çalışan bilinmeyen araçları işaretleyin
Statik kara listeler yalnızca zaten bildiğiniz araçları yakalar; bu yüzden son katman önemlidir. Daha fazlası için tersine mühendislik karşıtı önlemlerin neden statik kara listelerin ötesine geçmesi gerektiği yazısına bakın.
Sıkça sorulan sorular
Dürüst alıcıları incitmeden anahtar paylaşımını durdurun
Sunucuda kontrol edilen, aktarımda korunan ve adil sıfırlamalarla eşleştirilen bir HWID kilidi, bir yazılım satıcısının ekleyebileceği en yüksek getirili korumalardan biridir. Entegrasyonu bir öğleden sonra sürer ve paylaşılan bir anahtarı kayıp bir gelirden bir günlük kaydına çevirir.
qPapel Security Team
Lisanslama ve yazılım koruması