Qu’est-ce que la protection des logiciels ?
La protection des logiciels fait référence aux mesures que peut prendre un développeur de logiciels pour empêcher l’utilisation non autorisée de son logiciel, en faisant respecter son contrat de licence et en utilisant des techniques d’anti-débogage et d’anti-ingénierie inverse pour protéger sa propriété intellectuelle (PI) contre le vol.
Selon la BSA, au moins 37 % des logiciels utilisés dans le monde sont piratés. Ce chiffre est nettement plus élevé en Asie, en Amérique latine et dans les pays BRIC. Cela représente un énorme manque à gagner pour les développeurs de logiciels.
Le piratage de logiciels peut prendre de nombreuses formes. Les logiciels sans licence peuvent facilement être distribués gratuitement en ligne ou via des réseaux pair à pair. Parfois, des copies illégales sont fabriquées de sorte à ressembler au produit authentique et vendues contre rémunération. Cependant, le piratage peut souvent se produire lorsque vos clients dépassent les termes de leur accord de licence en installant des copies supplémentaires ou en permettant à de nombreux utilisateurs d’utiliser une seule licence sur un réseau.
Prévention du piratage des logiciels
Le piratage est évité grâce à un mélange de cryptage fort et de techniques visant à empêcher le débogage, l’analyse, l’altération, le vidage et la décompilation du logiciel du développeur. La stratégie centrale de la protection contre la copie est réalisée en liant fortement le logiciel protégé à un jeton de sécurité. Il peut s’agir d’un dispositif matériel tel qu’un dongle de sécurité USB ou une clé ou d’un verrou logiciel existant sur l’ordinateur. Si le jeton de sécurité n’est pas présent, ou s’il est compromis, le logiciel ne fonctionnera pas.
En général, un cryptage asymétrique tel que RSA est utilisé pour que le logiciel protégé puisse communiquer en toute sécurité avec le jeton de sécurité. La clé publique est stockée dans l’application protégée et la clé privée est stockée dans le jeton de sécurité. Les jetons sont dotés d’un très haut niveau de sécurité qui peut empêcher l’extraction et la modification du contenu du jeton et le clonage du jeton lui-même.
Parfois, les développeurs tentent de mettre en œuvre leurs propres systèmes primitifs de protection contre la copie en se basant sur certains éléments uniques de l’ordinateur. Cependant, la plupart d’entre eux, si ce n’est tous, découvrent que cela nécessite énormément de travail et qu’il est très difficile d’écrire de tels systèmes de manière fiable et suffisamment souple pour une utilisation générale. Sans parler de la prévention du débogage et de l’ingénierie inverse de leurs logiciels, qui sont des sujets avancés qu’il vaut mieux laisser aux experts. Microcosm a passé plus de 30 ans à perfectionner ses systèmes de protection contre la copie et propose deux solutions : Dinkey Pro, une solution matérielle basée sur un dongle et CopyMinder, un système de protection purement logiciel.
Solutions de protection des logiciels par Microcosm
Nos deux solutions de protection logicielle prennent en charge deux méthodes pour intégrer la protection :
La méthode Shell ajoute automatiquement une enveloppe sécurisée (une enveloppe protectrice) à votre application, l’obligeant à confirmer l’existence et l’état du jeton de sécurité avant que l’application ne soit autorisée à s’exécuter. La méthode Shell permet également de chiffrer le code et les données de votre logiciel afin d’empêcher la rétro-ingénierie. Avec cette méthode de protection, vous pouvez appliquer une protection logicielle sans modifier votre code source.
L’autre approche consiste à appeler notre API de protection. Vous disposez ainsi d’une certaine souplesse pour savoir quand déclencher un contrôle de protection et quelles actions entreprendre en fonction de la présence du jeton ou de la valeur des paramètres stockés en toute sécurité dans le jeton. Par exemple, vous pouvez choisir d’interrompre votre programme ou de l’exécuter en mode démo si le jeton est introuvable. Vous pouvez également décider quelles fonctionnalités de votre programme sont activées en fonction des données stockées dans le jeton.
Tous les détails de la licence contenus dans le jeton peuvent être mis à jour de manière sécurisée et à distance. Par exemple, vous pouvez l’utiliser pour prolonger une date d’expiration ou modifier les fonctions de votre logiciel qu’un client peut utiliser.
Vous pouvez utiliser nos solutions de protection des logiciels pour mettre en œuvre toutes sortes de modèles de licence, notamment :
- Achat unique
- Abonnement/location
- Essais/démos sécurisés
- Licence de réseau (y compris le contrôle du nombre d’utilisateurs sur un réseau utilisant votre logiciel en même temps)
- Par ordinateur/par dongle
- Basé sur les caractéristiques
- Paiement à l’utilisation : contrôle du nombre d’exécutions de votre logiciel ou d’une commande dans votre logiciel.