はじめに
今回も、応用情報技術者試験の過去問を解いていきます。
今回は、ICカードの耐タンパ性(たいタンパせい)に関する問題です。
「耐タンパ性」という言葉は、少しとっつきにくいですよね。
特に「タンパ」という言葉は、日本語の日常会話ではほとんど使わないため、
「そもそもタンパって何?」
となりやすいです。
ただ、この言葉の意味を理解すると、問題自体はかなりシンプルです。
今回は、
- 耐タンパ性とは何か
- tamper という英単語はどういう意味か
- なぜ「耐改ざん性」ではなく「耐タンパ性」と呼ぶのか
- ICカードにどのような攻撃があるのか
- どうやって防御するのか
を整理しながら理解していきましょう。
問題
問44 ICカードの耐タンパ性を高める対策はどれか。
| 選択肢 | 内容 |
|---|---|
| ア | ICカードとICカードリーダーとが非接触の状態で利用者を認証して,利用者の利便性を高めるようにする。 |
| イ | 故障に備えてあらかじめ作成した予備のICカードを保管し,故障時に直ちに予備カードに交換して利用者がICカードを使い続けられるようにする。 |
| ウ | 信号の読出し用プローブの取付けを検出するとICチップ内の保存情報を消去する回路を設けて,ICチップ内の情報を容易には解析できないようにする。 |
| エ | 利用者認証にICカードを利用している業務システムにおいて,退職者のICカードは業務システム側で利用を停止して,他の利用者が利用できないようにする。 |
解答
正解:ウ
解説
この問題で最も重要なのは、
「耐タンパ性とは何か」
を理解することです。
耐タンパ性とは、簡単に言えば、
機器を不正にいじったり、内部を解析したり、改ざんしたりする攻撃に対する強さ
のことです。
今回の選択肢ウでは、
- ICチップにプローブが取り付けられる
- それを回路が検出する
- ICチップ内の保存情報を消去する
- 攻撃者が内部情報を解析できないようにする
という仕組みになっています。
これはまさに、物理的な不正解析への対策です。
したがって、正解はウです。
「タンパ」とは何か
「耐タンパ性」の「タンパ」は、英語の tamper から来ています。
tamper には、
「勝手にいじる」
「不正に手を加える」
といった意味があります。
例えば、英語では、
- tamper with data
→ データに不正に手を加える - tamper with evidence
→ 証拠を不正にいじる - tamper with a device
→ 機器を勝手にいじる
といった使い方をします。
なぜ「耐改ざん性」ではなく「耐タンパ性」なのか
ここが、この言葉を理解するうえで重要なポイントです。
日本語の「改ざん」という言葉は、
データや記録を書き換える
というイメージが強いです。
しかし、tamper はそれよりも広い意味を持っています。
例えばICカードに対する攻撃には、
- ICチップを物理的に開封する
- 内部の回路を観察する
- 配線にプローブを当てる
- 保存された秘密情報を読み出そうとする
- 電圧やクロックを操作する
- 内部データを書き換える
といったものがあります。
この中には、データそのものを書き換えていない攻撃もあります。
つまり、
改ざん
↓
データや記録を書き換える
tamper
↓
開ける
見る
探る
刺す
読み出す
書き換える
など、不正に干渉する行為全般
という違いがあります。
そのため、
「耐改ざん性」では意味が少し狭い
ので、より広い概念を表すために
「耐タンパ性」
という言葉が使われています。
ICカードに対する攻撃とは
ICカードの中には、認証情報や暗号鍵など、外部に漏れてはいけない重要情報が保存される場合があります。
攻撃者は、その情報を盗むために、ICチップそのものを解析することがあります。
代表的な攻撃には、次のようなものがあります。
| 攻撃例 | 内容 |
| 物理的な開封 | ICチップの表面を削る、パッケージを開ける |
| プロービング | 回路に細いプローブを当てて信号を読み取る |
| サイドチャネル攻撃 | 消費電力や処理時間などから秘密情報を推測する |
| 故障注入攻撃 | 電圧やクロックなどを意図的に乱し、異常動作を起こす |
今回の問題で出てくるのは、
プローブを取り付けて内部信号を読み出そうとする攻撃
です。
耐タンパ性を高める方法
耐タンパ性を高める方法は、
「攻撃を検知したら情報を消す」
だけではありません。
例えば、
- チップ内部を物理的に解析しにくくする
- 開封やプロービングを検知する
- 電圧・温度・クロックなどの異常を検知する
- 秘密情報を暗号化して保存する
- 攻撃を検知したら秘密情報を消去する
など、さまざまな方法があります。
今回の選択肢ウは、その中でも
攻撃を検知して保存情報を消去する
というタイプの耐タンパ対策です。
流れで理解する:今回の問題
攻撃者
↓
ICカードを解析
↓
ICチップにプローブを接続
↓
内部信号を読み取ろうとする
↓
【耐タンパ機能】
プローブの取付けを検知
↓
重要情報を消去
↓
内部情報の解析を困難にする
ポイントは、
「攻撃者が中身を見る前に、守る側が異常を検知して対処する」
ということです。
各選択肢の解説
ア:非接触で利用者を認証する
これは主に、
利便性を高めるための仕組み
です。
非接触であること自体が、ICチップ内部への物理的解析を防ぐわけではありません。
そのため、耐タンパ性を高める対策とはいえません。
なお、非接触ICカードでも通信内容を守るためのセキュリティ対策は必要ですが、それは今回問われている「耐タンパ性」とは別の話です。
イ:予備のICカードを準備する
これは、
故障しても利用を継続できるようにするための対策
です。
つまり、主な目的は
可用性の確保
です。
可用性は情報セキュリティの重要な要素の一つですが、
ICカードそのものを物理的な不正解析から守る対策ではありません。
したがって不正解です。
ウ:プローブを検知して情報を消去する
これは、
物理的不正解析を検知して、重要情報を守る対策
です。
まさに耐タンパ性を高める方法なので、正解です。
エ:退職者のICカードを利用停止する
これは、
退職者による不正利用を防ぐためのアクセス管理・運用管理上の対策
です。
重要なセキュリティ対策ではありますが、
ICカード自体への物理攻撃に耐える仕組みではありません。
したがって不正解です。
問題の用語解説
耐タンパ性(Tamper Resistance)
機器やICチップなどに対して、
不正な分解・解析・干渉・改ざんなどを行われても、重要情報を守れる性質
のことです。
ICカードやHSMなど、秘密情報をハードウェア内で保護する仕組みでは特に重要です。
プローブ
プローブとは、
電子回路の信号を測定するための細い端子や測定器具
です。
本来は回路の検査や開発に使われますが、攻撃者がICチップ内部の信号を読み取るために悪用する場合もあります。
今回の問題では、
プローブが取り付けられたことを検知する
ことがポイントです。
非接触ICカード
カードリーダーとの間で、
無線通信を行うICカード
です。
交通系ICカードや社員証などで広く使われています。
FeliCaやNFC関連技術などが身近な例です。
可用性(Availability)
必要なときに、
システムや情報を利用できる状態を維持すること
です。
情報セキュリティの基本要素である、
- 機密性
- 完全性
- 可用性
のうちの一つです。
予備カードを準備しておくことは、可用性を高める対策と考えられます。
HSM
HSMは、
Hardware Security Module
の略です。
暗号鍵などの重要情報を安全に保管し、暗号処理を行う専用ハードウェアです。
物理的な解析や不正操作に対する保護機能を持つ製品もあり、耐タンパ性が重要となる代表例です。
体系的位置づけ
今回の問題を学習上整理すると、次のようになります。
テクノロジ系
└── セキュリティ
├── 認証技術
│ └── ICカード
│
└── セキュリティ実装技術
└── 耐タンパ性
※この図はIPAシラバスの階層をそのまま表したものではなく、学習しやすいように概念を整理したものです。
関連して学んでおきたいものとしては、
- ICカード
- HSM
- 公開鍵暗号
- 秘密鍵
- 多要素認証
- サイドチャネル攻撃
- 故障注入攻撃
などがあります。
今回の問題の重要ポイント
この問題では、
「それぞれの対策は何を目的としているのか」
を見ることが重要です。
| 対策 | 主な狙い |
| 非接触での認証 | 利便性の向上 |
| 予備カードの準備 | 可用性の確保 |
| プローブ検知→情報消去 | 物理的不正解析への対抗(耐タンパ性) |
| 退職者カードの利用停止 | 不正利用防止・アクセス管理 |
選択肢はどれも、それなりに「良さそうな対策」に見えます。
しかし、
何のための対策なのか
を見れば、正解を切り分けやすくなります。
覚え方
「耐タンパ性」という言葉が覚えにくい場合は、
tamper = 勝手にいじる
と覚えるのがおすすめです。
そこから、
tamper
= 勝手にいじる
tamper resistance
= 勝手にいじられることへの耐性
耐タンパ性
= 不正に触られたり解析されたりしても守れる性質
とつなげると、意味がかなりイメージしやすくなります。
まとめ
今回の正解は、
ウ:プローブの取付けを検知すると、ICチップ内の保存情報を消去する
でした。
今回の重要ポイントは、
耐タンパ性 = 不正な分解・解析・干渉・改ざんなどへの耐性
ということです。
特に覚えておきたいのは、
tamper は単なる「改ざん」よりも広い概念
だという点です。
データを書き換えなくても、
- 開ける
- 覗く
- プローブを刺す
- 信号を読む
- 異常な電圧を加える
といった行為も、tamper の対象になります。
そのため、
「耐改ざん性」ではなく「耐タンパ性」と呼ばれている
と理解すると、この言葉がかなり覚えやすくなります。
試験では、難しそうな専門用語が出てきても、
「結局、何から何を守る仕組みなのか」
に置き換えて考えることが重要です。

コメント