Computer scientists develop 'mathematical jigsaw puzzles' to encrypt software / UCLA Newsroom

なぜこれがプログラマにとって悪夢なのですか
簡単に解説していただけませんか。私はプログラマでないし、わかりずらいのです。
http://newsroom.ucla.edu/portal/ucla/ucla-computer-scientists-develop-247527.aspx

Software remains completely functional but impervious to reverse-engineering
By Matthew Chin July 29, 2013
Mathematical jigsaw puzzle
Concept illustration of mathematical jigsaw puzzle
UCLA computer science professor Amit Sahai and a team of researchers have designed a system to encrypt software so that it only allows someone to use a program as intended while preventing any deciphering of the code behind it. This is known in computer science as "software obfuscation," and it is the first time it has been accomplished.

回答の条件
  • 1人1回まで
  • 登録:
  • 終了:2013/08/27 16:05:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:NAPORIN No.1

回答回数4894ベストアンサー獲得回数909

ポイント100pt

コードが公開されていないしコピープロテクトされているソフトウェアの機能をムリにコピーするとき、今まではリバースエンジニアリングという手法が用いられていました。これは裏側にあるコードがどうなっているかわかるのですが、これに対してプログラムメーカー側は2-3日の時間と費用(高性能コンピューター)がかかるようなプロテクトしかできていませんでした。なお、リバースエンジニアリングはすでに知財法で禁止されていますが、不法コピーやウィルス作成を行う人は後を絶ちません。
今回の手法は、リバースエンジニアリングを防止するため、ジグソーパズルのような組み合わせを噛ますことで、絶対にコードが読み取れないようにしたということです。しかも一部だけをジグソーパズル状にしても、他の部分から実行可能にしました。このことで、大事なアルゴリズムを隠して盗用できなくしたり、パッチ配布のパッチのコードをよんでも脆弱性がどこにあるかわからないようにすることができ、知的財産権が守られます。ジグソーパズルにしたことで、人間がコードを見てもなにをやろうとしているかわからなくなっているからです。
 
じゃあなにが悪夢かというと、知的財産権を守らずにコードからのコピーを狙うプログラマーにとっては悪夢かもしれませんし、コードを持たない人がコア部分をあとから(知的財産権が切れてから)理解したり訂正などの形で利用するのもムリ、ということではないでしょうか。

詳しい手法については私もさっぱりわかりませんがいわゆる、わざと「スパゲティコード(ぐちゃぐちゃ)」をつくっているので、生理的に嫌いということもあるかもしれません。

id:eureka1

ありがとうございます。非常にいろいろなことがわかりました。

2013/08/21 13:54:42
id:NAPORIN

stallmanさんという人はコピーは自由という政治的な活動をしている人なんですね。

2013/08/21 18:34:01

その他の回答2件)

id:NAPORIN No.1

回答回数4894ベストアンサー獲得回数909ここでベストアンサー

ポイント100pt

コードが公開されていないしコピープロテクトされているソフトウェアの機能をムリにコピーするとき、今まではリバースエンジニアリングという手法が用いられていました。これは裏側にあるコードがどうなっているかわかるのですが、これに対してプログラムメーカー側は2-3日の時間と費用(高性能コンピューター)がかかるようなプロテクトしかできていませんでした。なお、リバースエンジニアリングはすでに知財法で禁止されていますが、不法コピーやウィルス作成を行う人は後を絶ちません。
今回の手法は、リバースエンジニアリングを防止するため、ジグソーパズルのような組み合わせを噛ますことで、絶対にコードが読み取れないようにしたということです。しかも一部だけをジグソーパズル状にしても、他の部分から実行可能にしました。このことで、大事なアルゴリズムを隠して盗用できなくしたり、パッチ配布のパッチのコードをよんでも脆弱性がどこにあるかわからないようにすることができ、知的財産権が守られます。ジグソーパズルにしたことで、人間がコードを見てもなにをやろうとしているかわからなくなっているからです。
 
じゃあなにが悪夢かというと、知的財産権を守らずにコードからのコピーを狙うプログラマーにとっては悪夢かもしれませんし、コードを持たない人がコア部分をあとから(知的財産権が切れてから)理解したり訂正などの形で利用するのもムリ、ということではないでしょうか。

詳しい手法については私もさっぱりわかりませんがいわゆる、わざと「スパゲティコード(ぐちゃぐちゃ)」をつくっているので、生理的に嫌いということもあるかもしれません。

id:eureka1

ありがとうございます。非常にいろいろなことがわかりました。

2013/08/21 13:54:42
id:NAPORIN

stallmanさんという人はコピーは自由という政治的な活動をしている人なんですね。

2013/08/21 18:34:01
id:dawakaki No.2

回答回数797ベストアンサー獲得回数122

ポイント100pt

その記事には「悪夢」という単語は見られません。
プログラマにとっては、金になるソースコードを簡単にコピペできなくなるので、むしろ朗報なのではないでしょうか。

id:eureka1

私のアメリカ人の友達が、これはstallmanの悪夢だ、と言いました。記事本文には悪夢という言葉はありません・だからある意味おっしゃるとおりです。ありがとうございました。

2013/08/21 13:57:04
id:dawakaki

「stallmanの悪夢」というのは、たぶん、フリーソフトウェア活動家でありプログラマのリチャード・ストールマン氏を指しているものと思われます。
ストールマン氏は、著作権を保持したまま、すべての者が著作物を利用・再配布・改変できるとするコピーレフトの提唱者であり、その立場からすれば、ソースプログラムの改変はおろか、見ることもできないコードの暗号化は「悪夢」と言えるでしょう。

2013/08/21 21:19:39
id:a-kuma3 No.3

回答回数4974ベストアンサー獲得回数2154

ポイント100pt

私のアメリカ人の友達が、これはstallmanの悪夢だ、と言いました。

No.2 の回答者と同じく、nightmare とか bad dream というような表現が無いので、(?_?) と思ってたんですが、こういうことだったんですね。
GNU プロジェクトというフリー(無料という意味ではなく、自由という意味のフリー)なソフトウェアのプロジェクトを立ち上げたリチャード・ストールマンの悪夢ということで、ときどき「Richard Stallman's nightmare」として引用される文書があります。

自由にソフトウェアのソースを共有できることを目指していた彼にとって、「読む自由」が無い世界について書かれた読み物です。

これを「悪夢」という言い方をされるのは、エリック・レイモンドという、オープンソースについて貢献した方の逸話があるからです。
http://blogs.yahoo.co.jp/maddroid/38917231.html
http://esr.ibiblio.org/?p=209
※ "esr" というのは、エリック・レイモンド (Eric Steven Raymond) です

クローズな陣営の代表格である M$ にとっての「悪夢」だと宣言した、オープンソースの代表格であった ESR 。
何故、エリック・レイモンドではなく、リチャード・ストールマンが引き合いに出されるのかというと、「オープン・ソース」と「フリー・ソフトウェア」の考え方が微妙に違うことに由来しているような気がします。
http://www.gnu.org/philosophy/open-source-misses-the-point.html


引用ばかりで恐縮ですが、参考まで。

  • id:fiwa
    この研究に関するツイートをしている方がおられました。
    https://twitter.com/TarCompress/status/362076463865929731
  • id:eureka1
    10月の FOCS 2013 で発表 とは知りませんでした。 ありがとうございます。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません