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

耐タンパ性

pointこの用語のポイント

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

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

スポンサーリンク

簡単に書くよ

耐タンパ性(読:タイタンパセイ 英:tamper resistance、tamper resistant)とは

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

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


image piyo

詳しく書くよ

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

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

耐タンパ性

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

耐タンパ性2

以上を踏まえて

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

が「耐タンパ性」です。

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

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

耐タンパ性3

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

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

耐タンパ性4

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

耐タンパ性5

例えば、そうですね。

プログラムというのは同じ処理でもいろいろな書き方ができます。
試しに以下の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をリバースエンジニアリングして「どんな処理をやっているのかな?」を調べたとしましょう。

耐タンパ性6

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

耐タンパ性7

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

耐タンパ性8

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

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

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

耐タンパ性9

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

耐タンパ性10

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

耐タンパ性11

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

耐タンパ性12

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

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


image piyo2

一言でまとめるよ

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

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

おまけ

■訳してみるよ

「耐」は日本語ですね。
「tamper(タンパ)」の意味は「改ざんする」とか「許可なくいじる」とか「干渉する」とかです。
「性」は日本語です。
何となく くっつけると

耐改ざん性

となります。




書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本【Audible】
実務で役立つ ログの教科書 基礎知識から収集方法・分析手法・トラブルシューティング・パフォーマンス最適化・機械学習での活用まで
あたえる人があたえられる