To top
Solutions Solutions
cloud security

Cloud Computing

Share:

Qu'est-ce-que le Cloud Computing ?

L'environnement du « cloud computing » est un environnement abstrait et virtuel où les logiciels et les données sont stockées en dehors du PC de l'utilisateur. Il y a trois types de « cloud computing »:

  • L'application (SaaS):  des vendeurs de logiciels indépendants (ISV) postent leurs applications sur un serveur cloud auquel les utilisateurs peuvent accéder.
  • La plateforme (PaaS): les ISV postent leurs applications sur un serveur cloud mais, contrairement au SaaS, laissent les utilisateurs décider de leur propre logiciel d'application.
  • L'infrastructure (laaS): les utilisateurs louent l'infrastructure (un ordinateur virtuel) sur lequel ils hébergent et exécutent leurs programmes dans l'espace de travail.

Implications pour les licences et la protection des données

Identification de l'utilisateur

Dans la plupart des cas, SaaS et Paas sont licenciés sur la base d'un utilisateur. Le nombre d'utilisateurs connectés en même temps sur le serveur est compté. L'ISV est responsable du serveur sur lequel la sécurité est garantie. CodeMeter offre des services à la fois pour le ISV et pour l'utilisateur. CodeMeter est une combinaison unique pour l'accès par dongle ou accès concurrent. Il n'enregistre non seulement des droits d'accès en forme de licence d'entrées mais également des clés privées qui peuvent être utilisées pour authentifier les utilisateurs au lieu de combinaisons nom d'utilisateur / mot de passe. Contrairement à un mot de passe, la clé publique ne doit pas forcément rester secrète. Elle doit juste être protégée contre des manipulations.

CodeMeter® models
CodeMeter® Solutions
(flexible deployment)

Mobile solution where access rights and keys are stored in separate hardware, i.e. CmDongle (as a USB stick).

CodeMeter® PC-specific solution using CmActLicense                           
The PC-specific solution stores access rights and keys in a licence file which contains details about the client PC.

Pour l'ISV, cela signifie une sécurité de licence accrue puisque le partage de mots de passe n'est désormais plus possible, et l'utilisateur bénéficie d'une sécurité accrue des données puisque le « sniffing » de mots de passe n'est plus possible

Le chiffrement des données

Un sujet essentiel de l'acceptation de solutions basées sur SaaS et PaaS est la sécurité des données. Aucun utilisateur concerné par des questions de sécurité de données ne sauvegarde ses données sur le cloud, bien en sachant qu'un hacker est capable d'y accéder simplement en exécutant une requête SQL – comme ce fut le cas pour Sony en juillet 2011.

Vous pouvez bien sûr écrire un script de programme pour empêcher des intrusions de codes SQL. Cela va sans doute vous protéger de la prochaine attaque – si vous savez quand celle-ci doit arriver. Cependant, une bien meilleure solution est l'encryptage des données car c'est une solution générique. Les données sont encryptées sur la machine client, aussi bien pendant la transmission et lors de l'enregistrement sur le cloud. Seul le client possédant la licence correspondante, soit une clé adéquate, peut localement décrypter les données. La clé réside dans le PC de l'utilisateur et n'est pas exécutée dans le logiciel stocké sur le cloud.

Si vous voulez implémenter une application SaaS ou PaaS pour vos clients, l'équipe de WIBU Consulting Services sera heureuse de vous aider.

Protéger votre exploitation informatique par le PaaS

Protéger l'exploitation informatique d'une société sur le cloud est aussi important que la protection des données. Ici aussi, les solutions CodeMeter utilisent l'encryptage pour assurer que l'accès et les modifications du code source sont bien protégés.

En tant qu'ISV d'une application PaaS, vous pouvez compter sur les services de WIBU Consulting Services pour vous assister dans le développement d'une solution individualisée.

Exploitation par un partenaire

Si vous voulez que les solution SaaS ou PaaS soient exploitées par un partenaire, vous devez vous poser deux questions:

  • Comment protéger ma propriété intellectuelle contre la rétro-ingénierie ?
  • Comment gérer le système de licence des logiciels ?

CodeMeter® répond à vos deux questions. Le partenaire reçoit le nombre de licences requis – comme Dongle et CmActLicense. En encryptant les données ou le code exécutable, le logiciel est protégé contre le Reverse engineering. Sans licence correspondante, le logiciel ne peut pas être analysé ou utilisé de façon illégale.

La licence (par dongle ou par fichier de licence) est localisée sur un serveur de licence dédié. Le serveur associe la licence correspondante comme une licence temporaire pour chaque partie de l'application. Des licences à « froid» ou « à chaud » et des solutions « 2 vers 3 » peuvent être utilisées pour des solutions de haute disponibilité.

Protection de solutions laaS

La protection de solutions laaS présentent un grand défi pour les ISV. Le fait que le cloud ne soit pas un serveur dédié signifie qu'une CmActLicense ne peut lui être attachée, tout comme un CmDongle ne peut y être connecté.

CodeMeter® fournit la solution pour la protection et la licence. Cette solution se compose de deux parties:

  • une version spéciale de la licence de CodeMeterAct non attachée (CodeMeter® NoneBind) qui ne protège votre ordinateur que contre la rétro-ingénierie. Le logiciel peut toujours être exécuté.
  • Un contrôle des données à traiter doit être compilé dans votre logiciel. Votre application doit par conséquent juste accepter les données assignées.

L'utilisateur peut maintenant télécharger la version laaS de votre logiciel  comme le cloud le demande. Les données peuvent seulement être signées et donc exécutées par un utilisateur possédant la machine adéquate. Votre logiciel est donc inutilisable sans ces données signées.

CodeMeter® vous fournit le portefeuille complet de modèles licenciés pour la signature de données:

Les licences individuelles: soit un CmDongle est connecté au PC local ou un CmActLicense est rattaché à un PC local. Les données doivent être signées sur le PC local avant d'être téléchargées sur le clouda CmDongle is connected to a local PC or a CmActLicense is tied to a local PC. Data has to be signed on the local PC before being uploaded to the cloud.

Les licences réseau: un CmDongle ou un CmActLicense réside sur le serveur de licence du réseau.

Les licences temporaires: CodeMeter® vous offre trois options : vous pouvez choisir de fixer une date d'expiration, fixer une période de temps ou une période d'utilisation. Chaque CmDongle et CmActLicense contient une horloge interne pour empêcher la manipulation de la date et de l'heure.

Les licences pay-per-use: un modèle  du système Wibu spécialement développé pour les solutions laaS. L'utilisateur achète des unités qui sont déduites de son compte dès que les données sont signées et téléchargées sur le cloud. Vous pouvez décider sur quelle base vous voulez que les unités soient déduites. Elles peuvent être déduites par exemple par opération ou par volume de données. Des  unités supplémentaires peuvent être achetées facilement en ligne sur le site CodeMeter licence Central. Plus d'informations sur CodeMeter License Central.

La protection par modules de logiciel: chaque fonctionnalité a sa propre clé qui est utilisée pour la signature et le contrôlé du logiciel. Cela permet à des fonctions d'être activées et licenciées individuellement. L'activation peut avoir lieu à n'importe quel moment par Interneteach functionality is assigned its own key which is used for the signature and checked in the software. This allows features to be individually activated and licensed. Activation can take place at any time via the Internet.

Cloud Licenses for Local Applications

In this scenario, your software is a classic desktop application, which you sell to your users either on a traditional CD or as a download. Your user receives not only the software itself, but also an activation code in the form of a ticket that you create with CodeMeter License Central. When creating that ticket, you can determine how many devices the software can operate on at the same time and for how long it can be used without a permanent connection to the Internet.

Your user installs the software on a PC. When it is started for the first time, he or she is asked to enter the ticket. The software contacts CodeMeter License Central and sends the ticket and a fingerprint of the computer (in the form of a WibuCmRaC file) up to the cloud. CodeMeter License Central checks whether the ticket is valid and, if it is, creates a temporary license for an offline cache. The license is returned to the user (by WibuCmRaU file) and imported locally into the CodeMeter Runtime. The ticket is also stored locally, e.g. in the license. Your software then launches and works perfectly without any need for a permanent Internet connection.

Shortly before the temporary license expires in the offline cache, the application phones home to CodeMeter License Central and renews the license.

Should the user install the software on another device, he or she would enter the ticket again. Depending on your choices and settings, your software could react to this in three ways:

  1. The license is moved into a local cache as a temporary offline license, and the software is launched.
  2. The user selects the “old” license, which is automatically flagged as “deactivated” in CodeMeter License Central. A temporary offline license is then created, and the software starts.
  3. The user is notified that the number of licenses has been exceeded and that he or she would either have to deactivate the old license manually or wait for the temporary license to end its set duration.

The second option has proven itself as the best practice: It is flexible enough for the user who can continue to work with the software even after reaching the maximum number of devices, and transparent enough for you as the developer to uncover fraudulent use and take the necessary countermeasures.

Cloud Licenses for SaaS Applications

You can offer your users a SaaS application with unrestricted or temporary licenses for different features. CodeMeter Cloud Lite offers you a simple and lean way of reconciling the online and offline worlds, especially when you are already using CodeMeter for on-premise software and have integrated the license creation processes with your SAP, Salesforce, or any other ERP, CRM or e-commerce system.

The licenses for SaaS applications are created in the same manner that is used for on-premise licenses; they only differ in the binding scheme, using CodeMeter Cloud Lite in the place of CodeMeter SmartBind or CmDongles. A license is created and assigned to a user in a process that does not differ from the activation of a local license – you can even combine both forms. You can integrate your user admin processes with Single-Sign-On solutions like OAuth2 or SAML.

CodeMeter Cloud Lite comes with a simple API to check active licenses, which would access the SaaS applications, verify the available licenses, and determine which functions are available for how long.

Authentication for SaaS Applications

On top of its comprehensive licensing and powerful software protection capabilities, CodeMeter comes equipped with a third star trait: The private keys used for authentication can be stored securely on a CmDongle or a computer-bound CmActLicense. This makes CodeMeter the right choice for user authentication in SaaS scenarios.

The solution can be integrated via the CodeMeter API, specifically when you supply your users with a dedicated local application that works in tandem with a SaaS application in the cloud. The SaaS software creates a challenge that the local application responds to by signing it with the private key kept in the local license. Up in the cloud, the SaaS application uses the public key to verify the identity of the user, with the users’ identities managed and recorded in the cloud according to your specific needs.

For browser applications, client certificates have established themselves as the standard solution. A middleware is used to transfer standard x.509 certificates on a CmDongle. Two standardized interfaces (PKCS#11 and Microsoft CSP) are available for applications like Internet Explorer, Firefox, Chrome, Safari, Outlook, or VPN clients to use these certificates. Some applications might only need a valid certificate to allow access to the SaaS application. Others can extract more granular data like user names, organizations, or other attributes to identify named users or user groups. If you wish to control access to your SaaS application with this level of certainty, you need to create, manage, and always keep track of the necessary client certificates, which need to be known to the SaaS application. Vice versa, the certificate with which the SaaS application identifies itself to the user should be a server certificate created by a trusted certification authority (e.g. VersiSign or GlobalSign).

Standard Applications in Private Clouds

A private cloud would typically be a farm of virtual machines operated in a company’s own data center or at a specialized provider on other hardware known neither to you nor to the user. It might not even have USB interfaces to connect to. Again, CodeMeter has the capabilities needed to handle this scenario and protect your rights as the developer of the software. You have several options at your disposal:

  1. CodeMeter connected to the SEH Dongle ServerUSBoverEthernet: Your user is given a license in the form of a CmDongle. Common USBoverEthernet products can now be used to connect that CmDongle to the virtual machine in question – many data centers have this technology as standard practice. You do not have to make any changes to your software or to your established distribution methods.
  2. Network Server: Your user operates a network server in the data center. CodeMeter connected to a Rasberry PiCodeMeter offers a special lean CodeMeter Runtime for such servers, designed to operate even on Raspberry Pis. The CmDongle is hooked up by USB to that server. Your software only has to support the CodeMeter networking protocol (CmLAN), which implies only a minor change in the configurations for your software. You still deliver your software in the standard manner.
  3. Server in the Cloud: A CmWAN server can be operated by you directly or by your users. The licenses can then be kept in the LAN, WLAN, or the cloud, using CmDongles or CmActLicenses on the CmWAN server. As with the network server, your software needs to support the right protocols, and the distribution processes still remain unchanged.
  4. SmartBind with VM Move: You create a SmartBind license with a “loose” level of tolerance. This makes sure that the license remains intact when the virtual machine it is kept on is relocated in the cloud. It would be invalidated when the virtual machine is copied. Alternatively, you could define the machine SID as the binding property. You do not need to change anything in how you integrate the system in your application; all you need to do is create special licenses for the users who will run your software in their private clouds.
  5. Licensing with CodeMeter Cloud Lite: You can leave the licensing of your software to CodeMeter Cloud Lite. Your application would be given a Protection Only License to prevent reverse engineering and regularly check the Wibu cloud to see whether the license is still valid or whether it is being used elsewhere. This type of licensing requires some changes to your software and a permanent Internet connection between the user’s private cloud and the Wibu cloud. The creation of the license itself is not made more difficult: all it needs is the addition of CodeMeter Cloud Lite as another binding property.