ICCIDの取得方法について

3,653 views
Skip to first unread message

sfuwa

unread,
Aug 3, 2010, 9:38:00 PM8/3/10
to 日本Androidの会
ICCIDを使ってのアプリ認証を考えているのですが、Android端末にセットされているICCIDの値をアプリから読み出す方法をご存知でした
ら、教えていただくことは可能でしょうか。
よろしくお願い申し上げます。

Yusuke Hirano

unread,
Aug 4, 2010, 12:37:29 AM8/4/10
to android-g...@googlegroups.com
平野@u_s_kです。

読み出す方法を知っているわけではないのですが、一点確認です。
ICCIDはICに紐づく番号ですので、SIMの紛失・破損等があった場合はICCIDは
変わってしまいます。
そのため、基本的にはあまりお勧めしない認証となりますので、
使用する際にはご注意ください。
(すでにご存知でしたら申し訳ありません)

2010年8月4日10:38 sfuwa <s-f...@bbss.co.jp>:


> ICCIDを使ってのアプリ認証を考えているのですが、Android端末にセットされているICCIDの値をアプリから読み出す方法をご存知でした
> ら、教えていただくことは可能でしょうか。
> よろしくお願い申し上げます。
>

> --
> このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
> このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
> このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。
>
>

sfuwa

unread,
Aug 4, 2010, 1:40:56 AM8/4/10
to 日本Androidの会
ご返信ありがとうございます。
ICCIDは、物理的にSIMカードに振られている番号なのですね。つまり電話番号単位でのユニークなものではない。
IMSIについても同様という認識でよろしいでしょうか。
参考までにご教示いただければ、非常に助かります。
> > 詳細については、http://groups.google.com/group/android-group-japan?hl=jaからこのグループにアクセスしてください。- 引用テキストを表示しない -
>
> - 引用テキストを表示 -

Yusuke Hirano

unread,
Aug 4, 2010, 1:52:23 AM8/4/10
to android-g...@googlegroups.com
平野@u_s_kです。

> ICCIDは、物理的にSIMカードに振られている番号なのですね。つまり電話番号単位でのユニークなものではない。

今確認できる環境ではないため、記憶ベースで申し訳ありませんが、
ご認識の通り、電話番号に紐づくものではなかったはずです。
また、IMSIに関しましては契約者に紐づくため、電話番号とユニークになります。
しかし問題が一点あり、IMSIは再利用される可能性を含みます。
つまり、携帯を解約したユーザがいた場合、いずれそのIMSIは別のユーザに
割り当てる可能性を含んでいます。
そのため、セキュアなものとして考えるのであれば、IMSIも利用すべきでは無いと思います。

2010年8月4日14:40 sfuwa <s-f...@bbss.co.jp>:

鷹見純

unread,
Aug 4, 2010, 9:09:05 AM8/4/10
to android-g...@googlegroups.com
鷹見と申します。



ICCIDは,皆様ご指摘のとおり,SIM固有の番号です。
IMSはI (International Mobile Subscriber Identity)であり,ドコモなどの携帯事業者がSIMに割り当てた識別コードです。
したがってICCIDがIMSIを特定できれば,SIMを特定できます。

携帯電話の通信では,IMSIが電話番号の代わりをします。
SIMがないと,電話番号がなくなることになるため,通信できなくなります。

それ以外の識別コードとして,IMEIがあります。
IMEI(International Mobile Equipment Identifier)は,国際移動体装置識別番号(端末識別番号)であり端末に割り当てられた番号です。
これはSIMに割り当てられた番号ではないので,SIMがなくても取得できます。
余談ですが,欧州の規格であるGSMは,SIMがなくても警察などの緊急呼ができるようになっています。
SIMがない場合,IMSIがない(つまり電話番号を持っていない)ので,本来,通常通信できないのですが,緊急呼の場合は,IMSIがなければIMEIを使用することになっています。

ICCIDやIMSIではSIMの識別ができ,IMEIを使用すると端末の識別ができます。

おまけ
android.telephony.TelephonyManagerクラスに,getSimSerialNumber()があります。
実機を持っていないので,これでICCIDの取得が可能であるかは確認しておりませんが,エミュレータでは使用できました。
使用するときには,READ_PHONE_STATEパーミッションが必要です。

同様に,getDeviceId()でIMEIを取得できます。






2010年8月4日14:52 Yusuke Hirano <u-s...@tenshodo.org>:
Reply all
Reply to author
Forward
0 new messages