Masaüstü Yazılımlarda Lisans Koruma Neden Önemlidir?
Web uygulamalarından (SaaS) farklı olarak masaüstü yazılımlar kullanıcının kendi donanımında yerel olarak çalışır. Bu durum, lisans anahtarlarının kontrolsüz dağıtılması ve tek bir satın alımla onlarca bilgisayarda uygulamanın çalıştırılması riskini doğurur.
Modern masaüstü lisanslama mimarilerinde en güvenilir yaklaşım, Donanım Tabanlı Cihaz Parmak İzi (Hardware ID - HWID) ile OAuth 2.0 Device Authorization Flow (RFC 8628) protokolünün birleştirilmesidir.
1. Güvenilir HWID (Donanım Parmak İzi) Nasıl Üretilir?
Kullanıcının donanım kimliğini üretirken tek bir bileşene (örneğin yalnızca MAC adresine) bağımlı kalmak risklidir; çünkü ağ kartı değiştiğinde veya VPN açıldığında lisans düşebilir. En sağlam yöntem birden fazla donanım özniteliğini birleştirmektir:
- CPU ID / İşlemci Seri Numarası: Değişme olasılığı son derece düşüktür.
- Anakart UUID (BaseBoard Serial): Sistemin omurgasını temsil eder.
- Birincil Disk Seri No (PhysicalDrive0): Windows kurulumunun bulunduğu disk.
# Örnek Güvenli HWID Üretim Fonksiyonu (Python)
import hashlib
import platform
import subprocess
def get_system_hwid():
components = []
# CPU Serial & Model
components.append(platform.processor())
# Windows WMIC Bios UUID
try:
uuid = subprocess.check_output("wmic csproduct get uuid", shell=True).decode().split()[-1]
components.append(uuid)
except Exception:
pass
raw_fingerprint = ":".join(components)
return hashlib.sha256(raw_fingerprint.encode('utf-8')).hexdigest()
2. RFC 8628 Browser Device Login (Tarayıcı Girişi)
Masaüstü uygulamanın kullanıcıdan doğrudan şifre talep etmesi güvenlik ve parola saklama riskleri doğurur. Bunun yerine Spotify ve Discord'un kullandığı Tarayıcı Üzerinden Cihaz Eşleme (Device Flow) kullanılır:
- Uygulama sunucuya istek atar ve
user_codeileverification_urlalır. - Kullanıcının varsayılan tarayıcısı açılarak
berathallac.dev/cihaz-esle?kod=XXXXsayfasına yönlendirilir. - Kullanıcı sitede oturum açıp "Yetkilendir" butonuna bastığında masaüstü uygulaması token ve lisansını otomatik olarak teslim alır.