CodeZine(コードジン)

特集ページ一覧

Pythonコードの暗号化、ライセンスビジネスを実現できる「CodeMeter」とは何か?

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2022/01/31 12:00

 ソフトウェア開発会社にとって、ユーザーに提供するソフトウェアはビジネスを左右する重要な資産。保護対策を施すことなくユーザーに提供すると、せっかく開発した重要なアルゴリズムをコピーされるなど、知的財産は保護が難しい。そのような状況で万一競合他社に渡ってしまうと、リバースエンジニアリングによって、すべて中身が競合に把握されてしまうことになる。特にインタプリタ型の言語であるPythonはなおさらだ。ではどうすればPythonで開発したソフトウェアを安全にユーザーに提供できるのか。その方法について、WIBU-SYSTEMS(ウイブシステムズ)の清水英一氏が解説した。

目次

ウイブシステムズ株式会社 シニアアプリケーションエンジニア 清水英一氏

 ソフトウエア/セキュリティ業界にて、プログラマー、サポートエンジニア、プリセールスエンジニア、エバンジェリストとして30年間従事(主にCanon Software、WindRiver、RSA、Microsoft、IBMなど)。WIBU-SYSTEMSの日本法人開設と同時に、WIBU-SYSTEMS株式会社に入社。シニアアプリケーションエンジニアとして、日本法人立ち上げからCodeMeterの技術営業およびサポートに従事。

リバースエンジニアリング攻撃対策は難読化ではなく暗号化が不可欠

 ウイブシステムズは1989年に創業した、ソフトウェアプロテクション・ライセンシングフレームワークの分野で32年の実績を持つドイツのソフトウェアベンダーである。「ワールドワイドで約7000社に活用されています」と清水氏は語る。

 同社が提供するソフトウェアプロテクション・ライセンシングフレームワーク「CodeMeter」は、ソフトウェア保護とライセンシングのためのソリューション。開発したソフトウェアを暗号化することで、リバースエンジニアリング攻撃からソフトウェアを保護。ソフトウェア実行時にライセンスの有無やその要件を満たさなければ、ソフトウェアの保護対策は解除されないため、不正使用を防御しながら新たな収益モデルを構築できるようになる。

ソフトウェアプロテクション・ライセンシングフレームワーク「CodeMeter」
ソフトウェアプロテクション・ライセンシングフレームワーク「CodeMeter」

 一般的にリバースエンジニアリング攻撃対策のために使われる技術はソースコードの難読化である。そのためのソリューションは無料のものを含めて世の中には数多く登場している。ただ、難読化はあくまでもソースコードを意図的に読みにくくするための技術なので、解読が完全にできなくなるわけではない。つまり時間をかければ、ソースコードが解読される可能性がある。

 一方、ウイブシステムズのCodeMeterは、先述したように暗号化テクノロジー「AxProtector」を採用し、ライセンスキーがないと復号できず、解読もできないようになっている。だからこそ、成果物のライセンス販売を考えているソフトウェア開発会社の、「守りたい」「売りたい」というニーズを満たすことができるというというわけだ。

 しかも開発者がコードを読みにくくする難読化と異なり、「ユーザーに提供する際に、コードの変更や再コンパイルすることがないなど、開発エンジニアに負荷をかけることなく、ソフトウェアに保護対策を付与することができます」と清水氏は力強く語る。

 このようにソフトウェアのライセンス販売を考えている企業にとって、CodeMeterは非常に有効なソリューションだが、これまでプロテクトする対象のコードバイナリは、CやC++などPCやIPC向けに書かれたマシンコード、組み込みデバイス向けマシンコード、Javaをはじめとするバーチャルマシン上で動くコードだった。だが、今年の8月にPythonやJavaScript、TypeScriptなどのスクリプト言語にも対応したソリューションをリリースした。

 Pythonというと機械学習やデータ解析などで使われる言語というイメージを持っている人が多い。そのため、新しい言語と思われがちだが、登場したのは1991年。清水氏も「91年は私が社会人になる1年前。そんなに古くからある言語なんだと驚いた」と話す。昨今は機械学習やデータ解析に加え、Webアプリケーションやデスクトップアプリケーション、さらには組み込みアプリケーション、ゲーム制作、ブロックチェーン開発など用途が広がっているという。それに伴い、人気も上昇。「このような動きは日本国内だけではなく世界各国で同様の動きとなっている。エンジニアの求人総数が減っている中でも、Pythonの求人数は増加傾向で、Pythonエンジニアの市場価値も高まっているようです」(清水氏)

 このようにPythonワールドが広がりをみせていることから、Pythonコードで開発された成果物でビジネスを展開するニーズも高まっており、これまでの言語同様、「成果物を売るためには、成果物を守る必要があった」と清水氏は続ける。

 Pythonをはじめとするインタプリタ型言語は、従来までのCやC++などのコンパイラ型言語とは異なり、第三者解読が容易であるというデメリットがある。コピー防止もなければIP保護もない。したがって何も対策を施さなければ、ソースコードはユーザーだけではなく、競合他社なども使用可能となる。「特にAIのアルゴリズムなど、重要なコードを記述している開発者にとっては、とてもそのまま提出できるものではありません」(清水氏)

 これはPythonだけではなく、スクリプト言語全般に言えることでもある。この課題をクリアできなければ、インタプリタ型の言語によるビジネスは難しい。


関連リンク

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:開発生産性向上に寄与するツール大研究

もっと読む

著者プロフィール

  • 中村 仁美(ナカムラ ヒトミ)

     大阪府出身。教育大学卒。大学時代は臨床心理学を専攻。大手化学メーカー、日経BP社、ITに特化したコンテンツサービス&プロモーション会社を経て、2002年、フリーランス編集&ライターとして独立。現在はIT、キャリアというテーマを中心に活動中。IT記者会所属。趣味は読書、ドライブ、城探訪(日本の城)。...

あなたにオススメ

All contents copyright © 2005-2022 Shoeisha Co., Ltd. All rights reserved. ver.1.5