Pythonの暗号化・難読化方法「資産の保護と収益化」
画像認識やデータ分析など、AIを活用したソフトウェアが増える中で、Pythonの利用が増え、Pythonで記述されたIP資産も増えています。このため、悪意のあるリバースエンジニアリングや不正利用からIP資産を守る方法と、IP資産を活用して収益を上げる方法が重要となります。

Pythonを守るときの課題
- インタープリタ型言語なので、解読が容易
- コピー防止などのIP保護がない
- 悪意のあるユーザーや競合他社による不正利用
Python を売りたいときの課題
- 1回の売り切りでは無く、継続的に収益を上げたい
- オンラインだけでなく、オフラインでも使えるようにしたい
- ライセンス管理の手間を簡素化したい
Python を守る・売るときの課題を解決する具体策「CodeMeter」

Pythonを守る・売るときの課題を解決する具体策こそが CodeMeter です。CodeMeter は、ソフトウェア保護とライセンス管理機能をソフトウェアに後付けすることができます。
まず、CodeMeter を使って、開発したソフトウェアを暗号化します。暗号化されたソフトウェアは内部を解析することができないので、リバースエンジニアリングを不可能にします。
次に、CodeMeter を使って、先ほどのソフトウェアを実行するための要件を定義したライセンスを作成します。ライセンスの要件としては、特定のユーザしか実行できない、特定のハードウェアしか実行できない、有効期限がある、あるいは、これらの組み合わせなどを定義することができます。
Python を守る!暗号化する2つの方法
方法1:「Pythonコードを CodeMeter で暗号化」

この方法の特長は、プラットフォーム非依存のソフトウェアとして配布できることです。また、暗号化された Pythonコードは、すべての関数が個別に暗号化されています。この方法を用いると、Python資産を、たった1回の暗号化作業で、さまざまなプラットフォームに安心して配布することができます。
方法2:「Cython で作成したバイナリコードを CodeMeter で暗号化」

この方法の特長は、実行時の性能が優れている点です。しかし、バイナリコードはプラットフォームに依存しますので、配布するプラットフォームの数だけ、これらの操作を実施する必要があります。また、暗号化はバイナリコード全体を対象としています。さらに、暗号化対象などのオプションで、性能とのトレードオフを考慮しながら、セキュリティ強度を細かくチューニングをすることができます。この方法は、高度なセキュリティを確保しながら、高速処理を実現することができます。
Pythonを売る!収益化の方法
CodeMeter で実現できるライセンスモデル
CodeMeter を使うと、さまざまなライセンスモデルを適用することができます。例えば下記のようなライセンスモデルの付与が可能です。これにより、さまざまなライセンスで収益化を実現できます。
シングルユーザ ライセンス | 特定のPCやデバイス、または、ハードウェアトークンを接続したPCやデバイスでのみ、ソフトウェアの実行を許可 |
---|---|
フローティングライセンス | ライセンスサーバーに保管されたライセンスに基づき、ソフトウェアの実行を許可 |
サブスクリプションライセンス | 有効期間を指定したライセンス |
ペイ・パー・ユースライセンス | 利用時間や利用回数に基づき、ライセンス料を請求 |
CodeMeter で実現できるライセンス形態
CodeMeter は、さまざまなライセンスモデルと下記のようなライセンス形態の組み合わせが可能です。
セキュアなハードウェアで提供 (CmDongle) |
スマートカードチップを内蔵、ライセンス情報の漏洩リスクなし |
---|---|
セキュアなファイルで提供 (CmActLicense) |
ソフトウェアを実行するPCやデバイスにバインド、セキュリティ技術で保護 |
クラウドで提供 (CmCloudLicense) |
アクセス権を与えられたユーザのみが、クラウド上のライセンスを利用可能 |
「CodeMeterを活用したPython資産の保護と収益化」の詳細資料
CodeMeter を活用した Python資産の保護と収益化に関する詳細な情報は下記のPDF資料で解説しています。お気軽に資料請求ください。

CodeMeter を活用したPython資産の保護と収益化
本ページで解説した内容を PDF にまとめた資料です。Python資産の保護と収益化に関する CodeMeter の活用法を詳しく解説しています。