9cubed
ブログ | Tailwind | Vite | Python | Node.js | Linux | PowerShell | その他 | 将棋ウォーズ | 歌の練習
< 前の記事

大洗に行ってきた。

ブログ

[ブログ]交通系ICカードの残高が勝手に増やせない理由

公開日:2025-11-12
更新日:2025-11-12
Suica の上限額を30万円に増やすと言うニュースがありました。
よく見てみると、交通系ICカード自体に30万円をチャージできると言う訳ではなく、スマホにQRコードやバーコードを表示して決済すると言うもので、仕組み的にはQR決済と同じようです。

ところで、交通系ICカードの残高って、不正に書き換えられないんでしょうか?

と思い、AI に聞いてみました。

正確なところはわかりませんが、

結論としては、カードに残高や取引履歴を登録する際に、残高や取引履歴の MAC(メッセージ認証コード)を生成してカードに登録するため、
もしカードの残高を改ざんすると、カード使用時に MAC の検証でエラーとなり、カードが使用できなくなるそうです。

MAC とは、ハッシュ値のようなものですが、MAC 生成時に鍵を使用する点と、鍵を知ってる人だけが検証できる点が、ハッシュ値と異なります。

MAC の生成と検証は、IC カードの ID とマスター鍵からカード個別鍵を作成し、それを使って改札機や券売機で行います。
マスター鍵は、改札機や券売機で保持しています。

マスター鍵を使って直接 MAC を付与しないのは、ブルートフォースや物理的解析により鍵の漏洩を防ぐためです。
もしマスター鍵が漏洩した場合は、全てのカードが改ざん可能になりますが、
カード個別鍵が漏洩した場合は、そのカードは改ざんできますが、被害が限定的となります。

ちなみに、クレジットカード決済はネットに接続している必要がありますが、
交通系 IC カードの決済はオフラインでも行えるため、通信障害が発生しても、使用することができます。
決済方法をいくつか持っておくと良いかもしれませんね。
< 前の記事

大洗に行ってきた。

YouTube X

新着一覧

  • SCSS のインストールVite
  • Tailwind CSS のプロジェクトの作成Tailwind
  • TypeScriptのプロジェクトの作成Vite
  • Flask のインストールと動作確認Python
  • 簡易Webサーバーの作成Python
  • pipeline で文章の生成Python
  • pipeline で文章の要約Python
  • 音声から文字起こしPython
  • Node.js のインストールNode.js
  • .ps1(PowerShellスクリプト)を実行可能にするPowerShell

アーカイブ

  • 2025/12
  • 2025/11
  • 2025/10
  • 2025/09
  • 2025/08

以前のカテゴリー一覧

  • CakePHP3
  • CentOS7
  • HTML・CSS・JavaScript
  • Haskell
  • JavaScript
  • Kotlin
  • Laravel5
  • PHP
  • Python
  • Ruby
  • RubyOnRails5
  • TypeScript
  • Vue.js
  • Webサーバ講座
  • Webプログラミング講座
  • jQuery
  • linux
  • パソコン講座
  • ブログ
  • プログラミング講座
  • メモ帳作成講座
  • 数学

Copyright © 9cubed. All Rights Reserved.

プライバシーポリシー 利用規約
▲