[Android][セキュリティ]AccountManagerのソースコードを読む会ツイートまとめ

2011年02月11日に行われたAndroidセキュリティ部の「AccountManagerのソースコードを読む会」のツイートまとめ http://atnd.org/events/12262
2
ENDO Yasuyuki @eyasuyuki

#AndroidSec セキュリティ部勉強会 AccountManagerのソースコードを読む会を15分遅れで開始します (live at http://ustre.am/dSRL)

2011-02-11 10:15:21
Qooh0 @Qooh0

#AndroidSec が始まった。つか、全員集合してるっ!すごい!!雪なのに…。会場、分かりにくいのに…。

2011-02-11 10:20:01
Qooh0 @Qooh0

#AndroidSec Authenticator を解析してみた ( http://bit.ly/dPRcoz ) 公式ドキュメント ( http://bit.ly/5wH6xM )

2011-02-11 10:34:39
Qooh0 @Qooh0

#AndroidSec AIDL インターフェースの定義。AIDL -> Java のクラスが自動生成される。プロセス間通信のための機能。あと、無線LAN 繋がるように設定が抜けてた…

2011-02-11 10:39:17
おおた @ota42y

Android上でのプロセス間通信はAIDLを使うらしい。 #androidSec

2011-02-11 10:39:31
sugimotoak @sugimotoak

IHogeHoge.aidlがインターフェース #AndroidSec

2011-02-11 10:42:10
Qooh0 @Qooh0

#AndroidSec あー、みうしなた。 GetAccountsByType(...) 引数に comgoogle??? を渡すと、グーグルに関するアカウントが返ってくるっぽい

2011-02-11 10:47:18
h12o @h12o

#AndroidSec getAccountsByType: その端末で管理しているすべてのアカウントが返ってくる。やっと追いついた。

2011-02-11 10:47:35
Qooh0 @Qooh0

#AndroidSec Features : Bit 列で何かが戻ってくるかもしれないが、よく分からない。Password を API から取得することは出来ないようにはなっている。

2011-02-11 10:49:11
h12o @h12o

#AndroidSec パスワードはAPIからは取得できない、らしい。AccountManager.getAuthToken()でトークンを拾ってくる、のかな。

2011-02-11 10:49:46
おおた @ota42y

getAccounts()で帰ってくるAccountクラスにはアカウント名だけでパスワードは保存されない。getAuthTokenを使って認証するみたい? #AndroidSec

2011-02-11 10:50:28
Qooh0 @Qooh0

#AndroidSec 実際には、GetAuthToken()?? があって、サービスごとのサーバーから認証トークンを取得する。 そのトークンを使用して、各種サーバーにアクセスする。安全なAndroid開発の鉄則(仮) を執筆中。そこに記載がある。

2011-02-11 10:50:56
h12o @h12o

#AndroidSec Androidの安全なWeb開発の鉄則。端末固有情報はユーザ認証に使うな。

2011-02-11 10:51:22
h12o @h12o

#AndroidSec minSdkVersionは4にしよう。

2011-02-11 10:52:02
Qooh0 @Qooh0

#AndroidSec 端末固有情報をユーザー認証に使うな!という話、なう☆

2011-02-11 10:54:29
おおた @ota42y

端末固有情報は秘密情報ではないので認証に使うべきではない。ランダムに生成して誰かの情報に合致した場合こうなる。 http://ow.ly/3UmaW かんたんログイン方式で漏洩事故が発生 #AndroidSec

2011-02-11 10:57:12
h12o @h12o

#AndroidSec Android端末はGoogleアカウントに結びついている。activationしない端末にはANDROID_IDがない。

2011-02-11 10:59:18
h12o @h12o

#AndroidSec android.telephony.TelephonyManagerでandroid.permission.READ_PHONE_STATEが降りている場合、IMEI,IMSI,電話番号がとれる。

2011-02-11 10:59:33
h12o @h12o

#AndroidSec android.provider.Setting.Secure Android IdはgetString(ANDROID_ID)でとれる。

2011-02-11 10:59:51
Qooh0 @Qooh0

#AndroidSec Gmail アカウント認証を使うべき。なぜなら、Android 端末は Gmail アカウントによりアクティベーションされるし、認証が容易。Google サーバーに以上してしまえば、パスワードの管理の必要がない。ただし、トークンの管理を!

2011-02-11 11:01:10
h12o @h12o

#AndroidSec Googleアカウント認証を使うべき理由3(1,2は省略): WebサイトはGoogleサーバに移譲して外部認証を行うので、パスワードを管理する必要がない。

2011-02-11 11:01:24
Qooh0 @Qooh0

#AndroidSec パーミッション manifest.xml に自分で使うパーミッションを自力で書く必要がある。Accounts では、GET_ACCOUNTS や USE_CREDENTIALS を書く必要がある。

2011-02-11 11:03:15
h12o @h12o

#AndroidSec AccountManagerによるトークン認証の話。取得と廃棄は話してる。トークンの生成?とライフサイクルはどうなってるのか? 話すのか?

2011-02-11 11:04:08