1. 程式人生 > >支付寶手勢密碼安全嗎?

支付寶手勢密碼安全嗎?

看微博一條新聞:IOS版支付寶手勢密碼爆漏洞,然後一堆人利用這個漏洞炒作,攻擊支付寶!本著為消費者考慮的角度,本文分析一下這個問題。

這個漏洞應該是邏輯上被繞過了,需要業務邏輯設計者用理論體系去遍歷。

下面我們對這個漏洞帶來的風險進行分析。這個漏洞的前提是:丟了手機!忘了設定手機鎖!忘了打電話掛失的使用者!

同時支付寶除了登陸認證口令外,還在支付時需要輸入支付密碼進行認證,因此有多重保護機制。也就是說即使手勢密碼被繞過,支付時還需要輸入口令。

支付寶為了更好的實現使用者體驗,還在小額支付時,可以讓使用者如下設定:

由於本人經濟條件有限,買不起iphone手機,暫時用android百元機演示。

大家第一次使用支付寶時,登陸完畢後會提示使用者設定一個手勢密碼!

 我們說這個手勢是幹嘛的?其實就是增強使用者體驗,我們平時一般輸入一次密碼,然後以後記住就可以了。如:

 

每次讓你輸入密碼,是安全了,但大傢伙不樂意啊,尤其手機那點螢幕,輸入點東西容易嗎?

然如果支付寶客戶端也搞成這樣,直接自動登入,大傢伙肯定又對安全產生了疑問。

那麼如何在安全和使用者體驗上搞個最佳平衡,根據我的理解,那就是支付寶的手勢。這樣就可以讓你無需輸入口令,同時可以較長時間維持會話時間。

因為這個手勢密碼輸入比較簡單,這樣就可以很短時間彈出手勢密碼,如果丟了手機或者各種場景,很快就會鎖住應用,防止錢丟丟。

使用者如果感覺這樣心理上還不安全,那就每次交易完畢直接:

這兒建議支付寶安全團隊把這個安全退出可以放在更醒目的位置。

安全退出後,下一次登陸還需要輸入口令的:

支付寶的安全設計其實體現了安全的哲理,安全的重任需要業務商、系統安全廠商、使用者等多方面承擔。如果支付寶為了絕對的安全讓大家手機上掛一個U盾,我估計大家又說很難用!

如果像我膽小,每次就都安全退出。另外使用者也應該設定裝置鎖,這樣丟了手機以後就又增加了一層保護。手機裡面承載了太多太多我們大家的敏感資訊,大家還是設定一下手機鎖吧!

但很多人不願意設定,如果手機比喻成房子的話,就好比你房子不關門,而把櫃子加了一把鎖!您說腫麼辦?

那麼這個安全退出的價值何在?手勢密碼是本地儲存的,如果root了,可能存在一些風險。但話說過來,root以後,各類應用的風險都很大!

給支付寶的建議:手勢密碼以及認證資訊的儲存是很重要的,建議妥善保管。這設計到支付寶自身安全機制的設計了。本文不深入探討:

只針對這個話題提到的本地安全儲存提幾點建議:

 

1)     無需儲存的就不要儲存,比如log;

2)     Never use public storage areas(ieSD card);將個人資料和系統資料儲存在SD

3)     Leverage secure containers and platformprovided file encryption APIs

4)     Do not grant files worldreadable or world writeable permissions

5)     Consider restricting access tosensitive data based on contextual information such as location

6)     Don't store code libraries thatare world writable or on external storage

7)     Don't store paths to codelibraries in files that are world writable or on external storage

8)     Don't process data fromwritable files in native code - memory corruption vulnerabilities could allowapps to run arbitrary code with your app's ID

9)     Caching data not intended forlong-term storage

10)  Weak or global permissions

11)   Encoding != encryption

12)Obfuscation != encryption

詳情參考老王的Android security book: