「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

タンパーレジスタント

pointこの用語のポイント

point(不当なやり方による)解析・改造のしにくさだよ

point「高い」「低い」で表現するよ

point日本語では「耐タンパー性」と表現されるよ

スポンサーリンク

簡単に書くよ

タンパーレジスタント(英:tamper resistant)とは

「耐タンパー性」のこと。
用語の中身としては

「そいつを分解したり何なりして(許可されていないやり方で)中身がどうなっているか調べたり改造したりするのが、どれくらい大変になっているかな?」のこと
です。
もう少しカッコ付けた言い方をすると

「そいつの構造なり何なりを外部から解析・改変するのが どれだけ大変か?」のこと
です。


image piyo

詳しく書くよ

最初に留意事項です。
耐タンパー性」と言われて「あぁ、アレのことね」と分かる方は最後まで読む必要ありません。
「耐タンパー性」をアメリカンな気分で言ってみたのが「タンパーレジスタント」です。

タンパーレジスタント

耐タンパー性を英語にすると「tamper resistant(タンパー・レジスタント)」とか「tamper resistance(タンパー・レジスタンス)」なんですってさ。
それをカタカナにしたのでしょう。

「耐タンパー性って何?美味しいの?」な人は、このまま読み進めてください。
用語の中身について説明します。

ちょっと休憩3

それでは、いってみましょう。
まずは予備知識として「リバースエンジニアリング」について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。

リバースエンジニアリングは「完成品から もとになったものを推測すること」です。
完成品を あれやこれやと調べることで、材料や設計図などを推測する行為です。

タンパーレジスタント2

詳細は、用語「リバースエンジニアリング」の説明を ご覧ください。

タンパーレジスタント3

以上を踏まえて

許可されていないやり方で中身を調べたり改造したりするのが、どれだけ大変になっているかな?

が「タンパーレジスタント」です。

リバースエンジニアリング(と違法改造)のしにくさ

と表現しても良いかもしれません。

タンパーレジスタント4

上でも書きましたが、タンパーレジスタントは「tamper resistant(タンパー・レジスタント)」のカタカナ読みです。
日本語では「耐タンパー性」と表現されます。
※本ページでも以降は「耐タンパー性」と表現します。

耐タンパー性は「高い」「低い」で表現されます。

「耐タンパー性が高い」であれば「(悪いやり方で)中身を調べたり改造するのが大変だよ」の意味です。

タンパーレジスタント5

「耐タンパー性が低い」であれば「(悪いやり方で)中身を調べたり改造するのが簡単だよ」の意味になります。

タンパーレジスタント6

例えば、そうですね。

プログラムというのは同じ処理でもいろいろな書き方ができます。
試しに以下の2つの処理を見比べてください。

■処理A
var num = 0; //1から10まで加算する数字の元

//1から10まで加算する
for(i = 1; i <= 10; i++){
    num = num + i;
}
//1から10まで加算された数字を表示
alert(num);


■処理B
function a(b,c){var g,h;g=d(b,c);h=0;h=g+h;return h;}function d(e,f){return e+f;}var k=0,l=0;for(o=1;o<=10;o++){l=a(k,o);k=l;}alert(l);

実は、この2つは同じことをやっています。
プログラムを動かすと、両方とも同じ処理をやって同じ結果が表示されます。

ですが、なんとなく処理Aの方が見やすいですよね。
処理Bはゴチャゴチャしていて見にくいです。
処理Aの方が「こんな処理をやっているのかな?」を想像しやすいはずです。

それを踏まえて、ピヨ太君がプログラムAとプログラムBをリバースエンジニアリングして「どんな処理をやっているのかな?」を調べたとしましょう。

タンパーレジスタント7

プログラムAからは(先ほど例として挙げた)処理Aが出てきました。

タンパーレジスタント8

プログラムBからは(先ほど例として挙げた)処理Bが出てきました。

タンパーレジスタント9

プログラムAとはプログラムBでは、どっちの方が「あぁ、こんな処理をやっているのね」と把握しやすいでしょうか?

そうですね。
プログラムAの方です。

プログラムAの方(処理A)は、それを見れば「あぁ、こんなことをやっているのね」と分かります。

タンパーレジスタント10

プログラムBの方(処理B)は、それを見ても、すぐには中身が分かりません。
「えーっと、ここでこんなことをやっていて……」のように、頑張って読み解く必要があります。

タンパーレジスタント11

このような状況を指して「プログラムAは耐タンパー性が低い」と表現されます。

タンパーレジスタント12

同様に「プログラムBは耐タンパー性が高い」です。

タンパーレジスタント13

もちろん今回挙げたのは一例です。
耐タンパー性を高めるやり方は、いろいろ あります。
例えば「正規のやり方以外のやり方でフタを開けようとしたら爆発する」みたいな仕掛けがされていたら、中身を調べるのは大変ですよね。
そんな感じで、いろいろなやり方があります。

そこら辺の具体的な部分については他のところで勉強してください。


image piyo2

一言でまとめるよ

まぁ「タンパーレジスタント」って単語が出てきたら「許可されていないやり方による解析・改造のしにくさなんだな~」と お考えください。

一番上に戻るよ
スポンサーリンク
書籍画像071
書籍画像079

おまけ

■訳してみるよ

「tamper(タンパー)」の意味は「改ざんする」とか「許可なくいじる」とか「干渉する」とかです。
「resistant(レジスタント)」の意味は「抵抗力がある」とか「耐久性のある」とかです。
何となく くっつけると

改ざんに抵抗力がある

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
つくって、壊して、直して学ぶ Kubernetes入門
サイバー忍者入門 忍者・スパイ・軍隊・ハッカーに学ぶ フルスタック・ハッキング