1. ホーム
  2. encryption

[解決済み] Javaソースコードへのアクセスから保護する方法【終了しました

2023-01-04 17:03:15

質問

先週、宿題でちょっとしたGUIを作ることになった。 私の学校の仲間は誰もそれをしませんでした。彼らは、私たちがアップロードしなければならなかったところから私のものを盗み、そして、彼らは彼らのものとしてそれを再びアップロードしました。私が先生に全部私の作品だと言っても、信じてもらえませんでした。

そこで、私がコーディングしたことを証明するために、無駄なメソッドなどを中に入れることを考えました。暗号化も考えました。今までで一番のアイデアです。

String key = ("ZGV2ZWxvcGVkIGJ5IFdhckdvZE5U"); //My proof in base64

他に良い方法はないでしょうか?

どのように解決するのですか?

私も昔、あなたと同じような問題を抱えていました。私たちは Windows 2000 マシンを使用しており、誰もが見ることができる Novel ネットワーク フォルダにファイルをアップロードしていました。空白の透かし、メタデータの透かし、変わった文字、信頼できるタイムスタンプ、操作方法などです。以下、順番に説明します。

空白の電子透かし。

これは電子透かしに対する私のオリジナルの貢献です。私はテキスト ファイルで機能する目に見えない電子透かしを必要としていました。私が思いついたトリックは、プログラミング ステートメント (または段落) の間に特定のパターンの空白を入れることでした。この場合、ファイルにはプログラミング文と改行があるのと同じように見えます。テキストを注意深く選択すると、空白が表示されます。それぞれの空いた行には、明らかにランダムでも偶然でもない、ある数の空白が含まれているはずです。(例: 17) 実際には、私がドキュメントに何を埋め込んでいるのかが分からなかったので、この方法は私にとって効果的でした。

メタデータの電子透かし

これは、ファイルのメタデータに情報を含むように変更するものです。ファイル (特に EXE) の見えない部分に自分の名前やハッシュ値などを埋め込むことができます。NT時代にはAlternate Data Streamsが流行りました。

異常な文字

これは冗談で言っているのです。昔のIRCのなりすましトリックは、他の人の名前に似た文字で名前を作ることでした。これは電子透かしに使うことができます。Windowsの文字マップは、ソースコードで使うかもしれない文字や数字に似ているがそうでない、多くの珍しい文字を表示します。これらが他人の作品の特定の場所に表示されるのは偶然ではあり得ません。

信頼できるタイムスタンプ

簡単に言うと、ファイル (またはそのハッシュ) を第三者に送信し、その第三者がタイムスタンプを追加して、秘密鍵で署名するというものです。ドキュメントをいつ作成したかの証明が必要な人は、信頼できる第三者 (多くの場合 Web サイト) にアクセスして、作成時刻の証明を確認することができます。これは知的財産権に関する裁判でも利用されており、非常に強力な証拠となります。あなたが求めている証明を達成するための標準的な方法なのです。(私は他の方法を最初に含めましたが、それらは簡単で、より楽しく、おそらくうまくいくでしょう)。

このウィキペディアの記事 は、講師があなたの証拠を理解するのに役立つかもしれませんし、外部リンクのセクションには、無料のものを含む多くのプロバイダーがあります。私なら、重要なことに使う前に、無料のものを使ってテスト ファイルを数日間実行します。

操作方法

では、あなたが何かをして、今は証拠があるのでしょうか?いいえ、生徒はまだあなたが彼らからアイデアを盗んだとか、その他のナンセンスなことを言うことができます。私はこの問題を解決するために、プライベートな場で、講師と私の方法を1つ以上確立することにしました。空白を探す、特定の記号を探すなどですが、透かしが何であるかは決して他の人に教えないようにと講師に伝えています。インストラクターがあなたのシンプルなテクニックを秘密にすることに同意してくれるなら、おそらくうまくいき続けるでしょう。そうでない場合は、信頼できるタイムスタンプが常にあります。)