コピー防止、知的保護、導入の問題


10

Raspberry Pi 2 Model B v1.1を使用した後、次のような懸念がありますか?

  1. 脆弱な教育セクターの強化に重点が置かれていることは知っていますが、RPi?に基づいて製品を販売することは可能です。それでお金を稼ぐには?それで億万長者になりますか?
  2. 開発をどのように保護すればよいですか、たとえば、RPi SDカードを誰かに取り、それを複製して、独自のレプリカを持たせたくない場合はどうすればよいですか?私の現在の代替案は、SDカードのポートをsuperglue :)で埋めることです。別の選択では、RPiがライセンスサーバーをオンラインでpingするようにすることができます。もちろん、これにはWiFi接続が必要です。またはハードウェアHASH ID(これは私が推測するより良い答えになるはずです...)
  3. ルートがない場合でも、SDカードをマウントしてインストールを回復するメカニズムがあることを確認しました。繰り返しますが、私の最善の解決策は、接着剤によるアプローチです...

前もって感謝します。


2
これは、組み込みLinuxに関する一般的な質問です。これは技術的にも法的にも複雑な問題です。
クレイグ

2
こんにちは、RaspberryPi.SEへようこそ!これは質問が多すぎます。一部の問題は非常に広範であり、Pi固有ではありません。時間と労力を与えれば、すべてのコピー防止システムを回避できることを考慮する必要があります。特に、システムが展開されていて、「悪者」が利用可能なすべてのツールを使用して保護を破ることを防ぐ方法がない場合はなおさらです。
ガニマ

@craig:組み込みLinuxコミュニティはありますか?
Brethlosze 2015

WRT#2:どのプラットフォームでも技術的に著作権侵害を防止することはできません。できることは、合法的に戦うことだけです。 ここに馬の前にカートがあると思います。 これが問題となるpiベースのソフトウェアプロジェクトを作成しているときには、piに実際にバインドされているpiベースのプロジェクトは存在しないことがわかります。それは単なる汎用デバイスであり、コミュニティは開発指向です。
ゴルディロックス

2
「彼らのプラットフォーム」ではなく、アプリケーション開発は賢明であり、彼らはそれを知っていて気にしません。それは「彼らの目的」ではありません。これは、ARMアーキテクチャを実装するBroadcom SoCです。非常に広範囲の他のデバイスに簡単に移植できないpiについては、誰も何もしません。だから、もう一度:あなたは馬の前にカートを持っています。知的財産への関心が意味や重要性を持つようになるまでに、私があなたに伝えようとしていることが理解できるようになります...
goldilocks

回答:


6

知的財産の保護について本当に心配している場合は、Rapberry Piベースのアプリケーションを、外部のカスタムメイドのマイクロコントローラー(AVR、PIC、8051などのMCU)ベースのハードウェアキー(USB、RXTXを介してPiに接続)と組み合わせることができます。 I2C、SPI、1wire ...)。たとえば、Piサイドアプリケーションは乱数を生成し、それをMCUに送信し、デコードして、ロック解除キーとして送り返し、重要なものを復号化します。次に、いくつかの重要な関数をMCUで直接実行します(パラメーターを渡してMCUから結果を取得するだけです)。ハッカーの知識は通常よりもはるかに広くなければならないため、ハッカーにとってクラッキングの難易度がどれほど高くなるか想像できます。完璧な保護というわけではありませんが、本当に挑戦したいのであれば、これは良い方法かもしれません。


1
これは確かに良い解決策です。...このコンセプトを試してみるつもりです
。...– Brethlosze

1
残念ながら、ハードウェアキーのソリューションはソフトウェアキーと同じです。コードの問題のある部分を削除し、正しい答えを組み込んでください。そのため、同じスキルがハードウェアキーに対して機能します。
tomnexus

2
重要な機能をハードウェアキーに入れて、その結果をPiアプリケーションの機能にとって重要なものにしない場合はそうではありません。機能はマイクロコントローラーにのみ存在するため、Pi側で取り除くものはありません。これを破ることは不可能ではありませんが、通常のコードクラッキングよりもはるかに高いスキルを必要とするため、何倍も困難です。
avra

1
これらの外部回路は確かに保護を追加しますが、これらのものには多くの費用がかかります:研究、プロトタイピング、製造、テスト、実装、維持。何かが発生した場合はどうなりますか?ラズベリーが将来のモデルでインターフェースを変更した場合はどうなりますか?それが短寿命または趣味のプロジェクトである場合、それのために行きます。それが産業/商業製品である場合、おそらくOEMの方が安全です。
EDP

5
  1. 私はそれがずっと計算モジュールでの考えだったと思います。利益を上げることは問題ではないはずです。

  2. / 4.瞬間接着剤オプションはおそらく良いトレードオフです。最終的には、デバイスに物理的にアクセスできる攻撃者を倒すことはできません。おそらく何百万ものDRMインフラストラクチャに投資したゲームコンソールを見てください。別の精神で、オープン性を受け入れ、製品の開発バージョンを販売し、何らかのSDKを含めることもできます。技術に重点を置いたユーザーグループから得られるフィードバックは、価値があり、興味を引く可能性があります。


瞬間接着剤オプションはおそらく完全に厄介ですが、ここで他のいくつかの良い点を作ります。; |
goldilocks

実際、私はRaspberri PiのハードウェアIDを考えていました。すべてのRPiソフトウェアをすべてのRPiカードにプログラムできるようにするため、ソフトウェアを複製するとシステムが機能しなくなります。古いuProcessorはボード上でプログラムされているだけなので、プラグを抜くことができません:)。
Brethlosze 2015

1
ハードウェアIDがあったとしても、物理的にアクセスできる人なら誰でもそれを読み取ることができます。もちろん、ボード上でプログラムされたプロセッサはデバッグインターフェイスも備えているため、実際に読み取ることができます。より洗練されたシステムでは、SOCはおそらく署名されたコードの実行のみを処理します。Broadcomチップがその方向にいくつかの機能を備えていても、それほど驚くことはありませんが、そのドキュメントはありません。何百万台ものユニットを販売する計画を立てる場合、彼らはそれについてあなたに話すかもしれません;)
user1217949

笑..いいえ、私はそれらの本当にマイナーな量を販売すると思います!。Raspbianでコードを実行している場合、他の人がSDカードを受け取ってそれを読み取ることができますか?デバッグしますか?それをクラック?私は完全に確信しています、答えはもちろんイエスです。最良の選択はavraHardware Keyによって提案され、SDカードをSuperGlueでコネクタ内に埋め込むことでしょうか?
Brethlosze 2015

4

この習慣は明らかにカバレッジを失っていますが、企業のオフィス環境でデスクトップマシンに接着されたUSBコネクタの量に驚かれることでしょう。ここで私は大規模な多国籍企業について話している。

しかし今話題に...

IP保護が主要な要素である商用プロジェクトの場合、Piは初期プロトタイピング/概念実証に最適です。保護が問題にならない場合でも、Piを大規模に展開することはIMHOの最良の解決策ではありません。このフォーラムの以前のスレッドで説明したいくつかの理由によります

リバースエンジニアリング/ハッキング/複製に対して安全なシステムはありません。すべてのシステムが悪用可能です。ただし、すべてのシステムに侵入スコアがあります。そのオープンなアプローチと外部SDカードにより、Piは非常に低くなっています。カスタムブートローダーと組み合わせたカスタムSoC、サンドイッチコンポーネント、多層PCBを備えたカスタム設計の軍事承認ハードウェアボードは、ハードウェア暗号化のスコアが高くなります。

その上で、展開の要素があります。市場が広ければ広いほど、人々があなたのテクノロジーに侵入して盗むことがますます興味深いものになります。

ハードウェアがセットアップ全体における抵抗の一部であり、テクノロジーの保護が主要な要因である場合、Piはあなたのための製品ではないと思います。ハードウェアがサービス販売の促進者である場合、テクノロジーの保護はクライアント側ではなくサーバー側で行う必要があります。

このようなサービスの販売にはPiを使用します。Pi上のソフトウェアには高い保護レベルがあり、コンパイルされたCアプリケーションを使用しており、MACやCPUのシリアル番号がロックされています。しかし、結局のところ、サーバー側がなければ、ソースコードでさえ事実上役に立たないのです。


3

暗号化キーを使用して、ラズベリーの中でピギーバックを使用できます。市場にはいくつかの商用デバイスがあります。私はこのRaspberry Piのソフトウェアシリアル保護を使用しました。


2
これはシステムを複製から保護するのに役立ちません-ハッカーは必要に応じてバイナリからHWキーのチェックを削除します... HWキーは特定のレベルの保護のみを提供します(おそらく第1レベルの趣味を停止するため)ハッカー)。
Kozuch

2

オープンソースにする

真剣にそれをコピー保護しようとしないでください。オープンソースにします。可能であれば、他の人にプロジェクトへの参加を許可してください。

次に、サービス料を請求します。そうすればバケツのお金を稼ぐことができます。

Red-hadはこれと他のいくつかの会社のようにそれを行います。彼らはすべて順調で成長しています。


1
いいえ、これは製品ではなく、プロジェクトでも、大きなプロジェクトでも、非常に興味深いプログラミングプロジェクトでもありません。きれいに聞こえますが、いいえ。
Brethlosze 2017

1
同意しません。私の経験から、クライアントが出荷して積極的に使用した私が作成したすべてのプログラムには、サポートコール、機能強化の要求、そしてもちろんバグ修正があります。それらを持たない唯一のソフトウェアは、それを出荷した後、決して使用されなかったソフトウェアでした。
MadMike


つまり、これは製品、デバイス用です。ソフトウェアにはアートはまったくありませんが、変数が処理される方法は、他のスマートコントローラーと同様に保護する必要があります。あなたはその意味であなたの開発をオープンソースにするつもりはありません、それは問題外です、それは別の種類の仕事です。多分あなたは会社にいて、クライアントがあなたに電話するとき、実際にはそれがあなたに上司へのより多くの請求を与え、あなたに長期的に良いポストセールスサービスを与えるとき、あなたは腹を立てます。いずれにせよ、オープンソースは利益を上げるためではなく、人類にとって良いものです。
Brethlosze 2017年

1
繰り返しになりますが、これは人間の利益のためにすべての作品を贈与するか、あなたが行うすべてのことに対してすべての人に請求するというutopicの議論です。
Brethlosze 2017年

1

私の数セント:

  1. 直接読み取ることができるスクリプトに関するソリューションを作成しないでください。
  2. 複数のソフトウェア/プロセスおよびハードウェアの観点からの機能の内訳。
  3. いくつかの読み取りハードウェアの「機能」依存関係を追加します。
  4. スマートカードリーダーを追加し、「イネーブラー」スマートカードを製品とともに販売します。
  5. ライセンスサーバーを持っている
  6. EEPROMに使用カウンターがあります!!! そして、オンラインで「再充電」する方法があるはずです.. ;-)

...


1

エントリレベルの保護として、/sys/block/mmcblk0/device/通常のディスクイメージクローンソフトウェアではクローンされない一意のSDカードIDが見つかります。これには、一意のIDを保持するために別のデバイスを必要としないという利点があり、接着剤の後の保護の2番目の層として非常にうまく機能します。それは少なくともSDカードを単にクローンすることができる人々を止めます。

IDを使用した保護に関するもう1つのヒントは、簡単なチェックの使用を避けることです。

if(readID() != 0xDEADBEEF) exit();

このような単純なチェックは簡単に発見でき(既知のIDを検索するか、への呼び出しを監視することによりexit())、削除できます。はるかに良いアプローチは、IDを定数として計算に含めることです。つまりi++、コードのどこかにではなく、

i = i + readID() - 0xDEADBEEF + 1;

正確なIDが逐語的にコードに表示されないため(0xDEADBEEF + 1 == 0xDEADBEF0)、すべての呼び出しを検査してexit()も保護コードの場所が明らかにならないため、これを発見するのははるかに困難です。代わりに、コードは間違ったIDのシステムでクラッシュし、攻撃者は問題を理解して修正するためにアプリケーションのロジックをデバッグする必要があります。


0

外部コンポーネントを使用して、セキュリティコンポーネントがその問題を解決することを意味しました。あなたのアイデアが本当に素晴らしく、そうするために追加コストの価値があると本当に思うなら、私はあなたがそうするためにいくつかの専門のMCU / CPUを使うことを勧めます。Broadcom BCM58101シリーズと同様に、費用対効果が高くなく、新規ユーザーにフレンドリーではありませんが、高いセキュリティレベルでアイデア/デザインを保護できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.