web-dev-qa-db-ja.com

SIMカードデバイスで発見したセキュリティ上の懸念

さて、それはすべて私がタブレットからsimカードを取り出したいと思ったときに始まり、私はそれをシャットダウンしてsimカードを取り出せるようにしました。しかし、「タブレットをオフにしてgoogleにアクセスして、まだ何かを検索できるかどうかを確認する前に、simcardを取り出すとどうなりますか?」

それで、私はすぐにsimcardを取り出して、これまで検索したことがないブラウザーにWordを入力しました(履歴を確認して確認しました)。.....Webページが読み込まれて表示されました!私は非常に速くウェブサイトをクリックしました、そしてそれはまたそれがロードを始め始めましたそれはほとんど通りましたが、それが完全に開く前にタブレットはすぐにそれ自体をオフにしました。

これは、私がかつて持っていた理論を証明します。SIMカードは、IMSIを使用して個々の事業者ネットワークで識別されます。モバイルネットワークオペレーターは、携帯電話を接続し、特定の形式を使用するIMSIを使用して市場のSIMカードと通信します(実際、これは私が話していた理論的な部分ではなく、実際の部分です)。

(今の理論の部分)SIMカードに保存されているそのIMSI形式は、無線リンクを使用してセルラーネットワークにデータを送信するときに電話からアクセスされます。デバイスがこのデータを送信すると、暗号化とともに同じデータが保存されますそのRAM上のSIMカードのキー。ここのデバイスは真ん中の男なので、シムカードやキャリアなしで転送されている情報を保存できます。デバイスが暗号化キーを取得すると、デバイスはそのキーをRAMとしてアクセスおよび認証を要求するモバイルオペレーターに渡し、モバイルがオペレーターのネットワークへのアクセスを許可されると、暗号化を保存します。なぜなら、暗号化キーはデバイスとネットワークの間のすべての以降の通信を暗号化するために使用されるため、もうsimcardは必要ないからです。デバイスからsimcardを削除したときに、ネットサーフィンができた理由を説明します。ただし、セキュリティとして手順(ひどく遅くて短時間ネットをサーフィンできるように機能したもの)タブレット自体がオフになり、RAMしかし、これは大きなセキュリティ上の懸念ではありませんか?

誰かがデバイスの設定を上書きするプログラムを作成して、SIMカードがなくても保存された情報を継続的に使用できるとしたらどうでしょうか。

基本的に私が求めているのは、デバイスがこのように機能することはセキュリティ上の大きな懸念ではないでしょうか。

23
Jeffry

ご存知のように、SIMカードはモバイルキャリアへの接続を初期化するためにのみ必要であり、デバイスが接続を失って再接続する必要があるまでは必要ありません(モバイルデバイスを移動すると非常に頻繁に発生します)。 SIMカードが取り外されるとデバイスの電源が切れる場合がありますが、電源を切る必要がある正当な理由はありません

しかし、SIMカードのクローンは思ったほど簡単ではありません。すべてのSIMカードには一意の Authentication Key が保存されています。これはネットワークキャリアだけが知っています。このキーは通常の方法では読み取ることができません。接続プロセス中に、キャリアは乱数をデバイスに送信します。次に、SIMカードは、その乱数と認証キーを入力として受け取り、これらに基づいて新しい番号を出力する暗号化関数を使用します。この機能はSIMカード内で発生し、デバイスでは発生しないため、デバイスが認証キーを処理することはありません。その後、その番号はネットワークキャリアに送信されます。キャリア側でも同じことが起こり、番号が一致しない場合は接続試行が中止されます。

計算は(比較的)暗号的に安全であるため、SIMカードからどの乱数がどの応答を取得するかを監視することから認証をリバースエンジニアリングすることは(簡単に)不可能です。 ただし、いくつかの脆弱性があります

45
Philipp

SIMカードについて覚えておくべきことは、それが単なる古典的なストレージデバイス(従来のクレジットカードの磁気ストリップやフラッシュデバイスなど)ではないということです。これは、基本的に小型コンピュータのような「スマートカード」です(外部から電力が供給され、銅接点以外のI/Oはありません)。 SIMカードはそれぞれ異なり、指摘するとおり、IMSIおよびEncrypyionキーがありますが、バリエーションはこれらだけではありません。

SIMカードは実際には、A3、A5、A8と呼ばれるアルゴリズムのセットを実装しています。 A3とA8はサブスクライバー認証に使用され、A5は実際のトラフィックの暗号化に使用されます。 A3およびA8アルゴリズムを認証すると、「クエリ」が実行され、ネットワークに送信される計算が実行されます。これには、これらの計算を再現する機能もあります(このプライベートデータのコピーと認証センター)。両方の当事者が同じ結果を生成した場合、ユーザーは認証されたと見なされ、その結果はA5に送られ、暗号鍵が生成されます。

アルゴリズムmayshould)は演算子間で異なります(例:Vodafone vsスプリント対ロジャース)。 標準の以前のバージョン では、オペレーターが独自のアルゴリズムを提供することが期待されていましたが、最近では "Milenage"アルゴリズム が標準(およびオープン)ですが、隠れたパラメーターが書き込まれています各SIMに(オペレーターごと、サブスクライバーごと)、SIMを個別化して「解読不可能」にします。

したがって、ここに表示されているのは、A3およびA8による初期認証が成功し、A8を使用して暗号化キーが生成されたことです。 isはメモリに保存されます。次に発生するのはネットワークポリシーですが、通常、認証は定期的なアクティビティ(30秒、3分ごと、30の場合もあります)であり、デバイスがAnアルゴリズムでは、認証またはのいずれかで、必要な新しい暗号化キーを生成できません。

また、SIMカードを別のデバイスで使用すると、最初のセッションが無効になる可能性があります。

SIMカードをコピーすることは「可能」だと思いますが、クローン作成ほど簡単ではありません。ダメージを与えることなくそれを実際に開いて(それ自体は偉業)、何らかの方法でそれから個別化パラメーターを読み取る必要があります。これも、専門の機器なしでは実行できないことではありません。

ああ、そして私は3G以降、AKAスキームも「状態」を方程式に取り入れ、認証のたびにSIMカード(および Centre)が新しい(一致する)疑似乱数に更新されるため、たとえdoで複製してもSIM、次の認証が行われ、状態レジスターが遅れる前にそれを行う必要があります...

幸運を祈ります!

12
robert

以前の回答で正しく注記されているように、暗号化キーはカードから離れることは想定されていません(NSAが再びGemaltoに侵入する場合を除きます)。)完全を期すために、あなたはそれらの答えを当然のことと考える必要はありません-自分でsimtraceを購入し(比較的安価です)、デバイスとsimカードの間にプラグを差し込み、wiresharkを使用してそれらの間の通信全体をリアルタイムで読み取ります。

1
god