To top
Solutions Solutions

クラウドコンピューティング

Share:

クラウドとは何か?

クラウドはソフトウェアやデータをユーザーPC上の代わりに保存する抽象的な仮想環境で、3つのタイプが存在します。

  • アプリケーション (SaaS): ISV (independent software vendors) によるアプリケーションのホスティング
  • プラットフォーム (PaaS): ISV によるアプリケーションのホスティング。ただし、SaaSとは異なり独自のビジネスロジックを構築する。
  • インフラストラクチャ (IaaS): インフラストラクチャ(仮想コンピュータ)をリースしプログラムを展開しホスティングする。

ライセンシングとデータプロテクション

ユーザー認証

ほとんどのケースでは、SaaSやPaaSはユーザベースでライセンスが割り当てられます。現在ログオンしているユーザ数やサーバ上で作成されたユーザ数がカウントされます。ISV はサーバの安全性を確保する責任があり、 CodeMeter® はISVとユーザの両者にセキュリティを提供します。CodeMeter® はドングルとトークンとのユニークな組み合わせです。ライセンスエントリにアクセス権を保存するだけでなく、ユーザ名とパスワードの代わりにユーザ認証を行うプライベートキーを保存します。パスワードやパスワードハッシュと異なり、パブリックキーは公開できます。

CodeMeter® モデル
CodeMeter® ソリューション
(flexible deployment)            
アクセス権とキーが別々のハードウェアに存在します。CmDongle (USBスティック)
CodeMeter® PC固定ソリューション
CmActLicense                                                             
アクセス権とキーが1つのライセンスファイルに保存されます。ライセンスファイルにはクライアントPCに関する情報が含まれます。

ISVにとって、これはライセンスセキュリティを高めることであり、もはやパスワードによるセキュリティは通用しないことを意味しています。さらにデータセキュリティを高めることで、パスワードスニッフィングからユーザを守ることができます。

データの暗号

SaaSPaaSソリューションを受け入れるための最大の関心事はデータのセキュリティです。20117月に起きたソニー事件のように、SQLインジェクションを実行することでハッカーがユーザーのデータにアクセスできるようであれば、セキュリティ意識の高いユーザーはクラウド上にデータを保存しなくなります。

 もちろん、SQLインジェクションを防止するスクリプトプログラムを書くことは可能です。確実に次の攻撃を防ぐことができます。もしいつ攻撃されることが分かっていればの話ですが。それよりももっと効果的なソリューションはデータの暗号化です。これはジェネリックなソリューションだからです。データは転送中やクラウド上では常に暗号化されています。ライセンスの一致したクライアントだけがローカル上でデータを復号することができます(キーマッチング)。ライセンスライセンスキーはユーザーPCに存在しクラウド上のソフトウェアには存在しません。

 SaaSPaaSアプリケーションを構築する場合、WIBUコンサルティングチームがサポートします。

PaaSのビジネスロジックをプロテクトする

クラウド上のビジネスロジックをプロテクトすることはデータの暗号化と同様、非常に重要なことです。
CodeMeterソリューションは、アクセスを確実にするための暗号化を行い、ソースコードの改ざんを防ぎます。PaaSアプリケーションを独自に構築する場合は、WIBUコンサルティングサービスがお手伝いします。

パートナーによるオペレーション

パートナーがオペレートするSaaSPaaSソリューションを開発する場合、次の2つの質問に答える必要があります。

・  リバースエンジニアリングに対して知的財産をどのようにプロテクトするのか?

・  ソフトウェアライセンシングをどのように管理するのか?

 この2つの質問に対してCodeMeterは次のように答えます。

 パートナーはCmDongleまたはCmActLicenseとして必要なライセンス数を受け取ります。データやプログラムコードを暗号化することでソフトウェアはリバースエンジニアリングからプロテクトされます。マッチしたライセンスが無いと、ソフトウェアは分析されたり不正に利用されたりすることができません。

 ライセンス(ドングルまたはライセンスファイル)は特別なライセンスサーバーに保存されます。サーバーは各アプリケーションごとのインスタンスに応じて、フローティングライセンスとして関連するライセンスを割り当てます。コールドスタンバイライセンスやホットスタンバイライセンス、「2 out of 3」サーバーソリューションの構築が可能です。 

IaaSソリューションのプロテクション

IaaSソリューションをプロテクトすることはISVのとって重要な課題です。クラウドは専用のサーバーでないという事実は、CmActLicenseCmDongleを接続できないことを意味します。

CodeMeter® はプロテクションとライセンシングのためのソリューションを提供します。このソリューションは2つのパートから成り立っています。

・  CodeMeter NoneBindという特別なCmActLicenseバージョンを使用し、ソフトウェアをリバースエンジニアリングから守ります。このバージョンはソフトウェアをプロテクトするだけでライセンスキーを必要としません。したがい、ライセンスなしでソフトウェアを使用できます。

・  ソフトウェアの中にシグニチャを入れ、常に計算から割り出されたデータチェックとシグニチャを照合します。

 IaaSバージョンをクラウドにアップロードします。データはシグニチャを与えられ、一致したライセンスがないとユーザーは実行することができません。サイン済みのデータがないとソフトウェアを使用できません。

 CodeMeterはデータシグニチャのライセンスモデルの完全なポートフォリオを提供します。

シングルユーザライセンス:
ローカルPCにCmDongleを接続するか、ローカルPCにCmActLicenseをインポートします。データはクラウド上にアップロードする前に署名を行います。

ネットワークライセンス:
CmDongle または CmActLicense がネットワークのライセンスサーバに存在する。

期限付きライセンス(Time-limited licenses):
CodeMeter® には3つのオプションがあります。固定した期日(Fixed Expiry Date)、固定した期限(Fixed Time Period)、実際の使用期限(Actual Usage Period)です。各CmDongleCmActLicenseの中には時間の改ざんを防止する内部クロックが搭載されています。

ペイパーユースライセンス(Pay-per-use licenses): 
Wibu-Systemsモデルは特にIaaSソリューションの為に開発されました。ユーザーは、必要なユニットをクラウドから購入することができます。追加のユニットはCodeMeter License Centralを使ってオンラインで購入することが可能です。詳しくは  CodeMeter License Central

モジュールプロテクションモジュール: 
各機能には個別のキーが割り当てられ、ソフトウェアの中でチェックが行われます。これにより、機能ごとに個別にライセンスを管理することが可能で、ライセンスはインターネット経由でいつでもアクティベートすることができます。

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.