簡體   English   中英

在Android上防止多個用戶帳戶(實際用戶流)

[英]Preventing Multiple User Accounts On Android (Well User Streams Actually)

所以我有一個獨特的安全問題。 (好吧我反正這么想,但我可能只是不知道我在做什么?)

所以總體思路。 我想創建一個將數據流發送到我的服務器的應用程序。 我根本不關心保持流是安全的,它沒有什么重要的。 所以不要認為加密。

對我來說重要的是確保每個流的有效性。 通過驗證我的意思是,驗證每個流實際上來自運行我的應用程序的獨特硬件設備。

我一直在網上搜索如何阻止用戶創建多個用戶帳戶,從驗證電子郵件到驗證文本。 這些都是權宜之計措施,需要處理時間和資源,只能幫助限制問題。 (它很容易制作多個電子郵件帳戶,只有稍微難以訪問多個電話號碼,如果您弄清楚電話號碼的事情,將文本轉發到您自己的手機並不困難。)

對於這個特殊情況,我有一個想法是讓第三方有一個確定的列表,將硬件ID與電話號碼相匹配,AKA是實際為手機提供服務的提供商。

那么什么是令人敬畏的API將允許以下行動。 1.人開始我的應用程序。 2.應用程序將初始聯系發送到我的服務器 (這將包括用戶電話號碼)3。我的服務器收到此信息並查詢提供商服務器,要求提供商服務器查詢該特定電話號碼,確保其網絡上有有效的硬件ID,並且該特定電話正在運行我的應用程序的一個實例。

我認為像這樣的系統可以解決我的問題,並且非常簡單。 即使有人扯下我的應用程序並在手機上安裝一個同名的應用程序來欺騙系統,我也不在乎,因為該手機仍然只能發送1個數據流。 而且我認為創建一個硬件設備以欺騙網絡上的另一部手機幾乎是不可能的。 (好吧,也許你可以做到,但他們會很快跟蹤你。)

  1. 解決這個問題的方法是編寫一個感染其他手機的病毒,導致他們對服務提供商的請求做出錯誤的回應。 雖然這是一個可能的漏洞,但我覺得谷歌和其他公司會更加安全地對抗此類病毒以保持系統聲譽。

思考? 建議? 請記住,重要的是驗證任何傳入的流來自運行我的應用程序的獨特硬件。

(你能猜出我的應用程序是什么嗎?)

上周,Android開發者博客上發布了一篇關於此事的帖子

簡而言之:ANDROID_ID是一個很好的開端,雖然它並不能在所有手機(尤其是舊手機)上可靠地工作。 如果您想支持舊款手機,您可以將其與上述建議的IMEI結合使用(但請記住,並非所有設備都有IMEI。例如,僅限WiFi)。

請閱讀,而不僅僅是試圖成為一個消極的ninny。 我有很多盜版經驗,我可以告訴你,你的努力是徒勞的。 在這筆交易中,花在復雜的盜版預防上的時間浪費了。 如果你通過Android市場銷售,誠實的用戶將保持誠實。 誰在乎我是否願意將它交給我的朋友如果這是一個很好的應用程序,他會想要更新並且必須購買它,因為我不會只是繼續復制新版本並通過電子郵件發送郵箱等等...

海盜只是要下載免費副本,所以你永遠不會得到他們的錢讓它去! 這就像那個有足夠吸引力的女孩,但你不喜歡她作為一個人。 你不會忘記讓她成為你的女朋友。 海盜以同樣的方式看待你的軟件:“我想要它,如果它是免費的,否則......我......”

你把所有這些工作都放到了一半的烘焙計划中,浪費你應該用來更新你的應用並支持付費用戶的時間。 所有這些努力都不會被“偷走”。 你知道我要做什么來破解那個程序(不是字面意思我,只是一個例子)我要對它進行十六進制編輯或反向工程代碼並完全刪除你的認證調用。 我可能會創建一個電話服務來進行身份驗證,並且只是破解你的應用程序以在127.0.0.0/8環回上進行身份驗證。

無論保護多么好,如果要在多用戶環境中運行,它都會被打破,看看HD-DVD和藍光。 我出現在破壞這些保護措施的場合,他們非常令人印象深刻和復雜,但最終很容易打破。

DRY限制是我購買電影,游戲和節目的重點。 共享是關懷!!!! 更重要的是它是免費的廣告!!!!!!!!!!!

我不能告訴你CD的電影游戲的數量嗯... Pr0nsites>,> 口哨因為盜版我買了/花了錢。 如果你制作了一個很棒的程序並且保持更新,人們會購買它。 如果您嘗試將其鎖定在平台或特定設備上HAHAHAHA祝您好運,請問他們如何保持鍵盤僅通過OEM發布。 即使有設備制造商支持,硬件仿真和調試也要破解它。

我13歲或14歲時盜版了一個操作系統並沒有錢,就像光盤刻錄軟件一樣。 當我18歲並建造了一個新的鑽機我買了兩個。 我盜取了一些Android應用程序並猜測我買了哪些我喜歡的以及開發者更新的內容。

您最好的反盜版計划是一個好的開發者,並對您的社區做出響應。 這是您最好的保護計划! 谷歌現在接受應用程序付款sooo ...通過在應用程序中捐贈專業/購買按鈕讓您的應用免費(通過菜單按鈕捐贈更多)。 請務必向其披露應用程序購買時的說明,以避免惹惱人們並收到不良評價。

以下是它的工作原理。 該應用程序已安裝,他們在應用程序中購買應用程序使用藍牙wifi或兩者上的MAC地址生成設備ID。 一旦購買,生成的密鑰字符串被加密存儲在設備存儲器中。 在應用程序重新啟動時,它會解密字符串鍵,將其與mac地址進行對比,以確保它位於同一設備上。 它應該在任何新安裝時檢查服務器並查看設備是否已經注冊並發送允許設備再次生成密鑰字符串。

在購買時通過電子郵件重新注冊密鑰代碼,它應該是不同於字符串密鑰的許可證密鑰,因此他們不能使用字符串密鑰來破解加密並破解方案。

密鑰應該只引用設備ID服務器端,並允許用新的設備替換該設備,例如保險更換(或新設備)。

你應該只使用谷歌應用程序商店drm,因為如果你的一個客戶移動到新設備,他們將會生氣。

為了確保應用程序始終有效,您應該承諾在開發停止時發布無drm產品。

Drm只是一種痛苦和麻煩,而且海盜完全取消了這些限制,所以當你看到有限制的付費客戶或者自由輕松的時候你會選擇什么?

如果這不是完全清楚的抱歉我打了三個人大聲說話,其中一個是三歲的孩子扔在我臉上。

結束

PS

https://market.android.com/details?id=com.noshufou.android.su.elite&feature=search_result此應用程序暫時沒有安裝:10,000 - 50,000次購買只是為了支持其他程序的開發

如果我真的想將應用程序鎖定到特定硬件上,我會使用手機中的IMEI (GSM)或MEID (CDMA)並為其分配一個唯一的cookie。 您可以使用權限“讀取電話狀態”從電話中檢索這些號碼並將其發送到您的服務器。 為了保護您的客戶,我只會發送一次並返回一個隨機cookie,供他們用於進一步的請求。 您可以在數據庫中記錄IMEI / MEID以及相關的cookie,以確保相同的設備始終獲得相同的cookie。 我還會為客戶的隱私使用SSL進行此初始交易,但如果您願意,可以在明文中發送cookie。 這會將他們的帳戶與他們的手機相關聯。 我不知道Android MP3播放器,平板電腦等是否有類似的序列號。 除了IMEI之外,GSM電話還有一個稱為IMSI的號碼,該號碼專用於SIM卡而不是電話。 CDMA手機沒有SIM卡,只有MEID。 最后,我所說的這個cookie不一定是常規的HTTP Cookie,它只能是URL的一部分,例如?cookie=abcd123或帶內發送的一些字符串,你決定使用哪種網絡協議。

為什么不使用像IMEI這樣的獨特硬件ID?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM