Skończyłem opracowywać aplikację, która jest używana w rozliczeniach za aplikacje w wersji 3. Moja aplikacja to aplikacja do egzaminu, która zawiera listę pytań, które są wstawiane do bazy danych. Najbardziej martwi mnie bezpieczeństwo, ponieważ poza tym jest niewiele więcej. Moja aplikacja sprawdza zasoby pod kątem kupowanych produktów, więc przechowywanie zakupów nie stanowi problemu.W zabezpieczeniach rozliczeń aplikacji
Tak więc pierwszym problemem jest ktoś, kto może zdekompilować aplikację (co zrobiłem), a nawet z proguardem bez trudu odzyskasz wszystkie pytania.
Następną rzeczą jest klucz publiczny aplikacji. Można to łatwo pobrać z mojej aplikacji i zgodnie z poradnikiem dla programistów, to jest coś, co powinienem zachować.
Jednak tak naprawdę nie wiem, jak wdrożyć jakąkolwiek formę zabezpieczenia. Albo nawet, jak daleko powinienem się posunąć w kwestii bezpieczeństwa. Bez serwera, jeśli przechowuję wszystko na urządzeniu, rozpoznaję, że nie będzie to doskonałe (z dala od niego), ale wolałabym przynajmniej, aby hakerzy byli zniechęceni, a nie rozbawieni.
Więc zasadniczo pytanie brzmi:
Jaki rodzaj zabezpieczenia należy użyć i jak go stosować? Wystarczy wskazać mi linki, które przechodzą przez niego krok po kroku, więc mogę zrozumieć, że byłoby to niesamowite.
Dziękuję bardzo!
Wyjaśnienie:
Brak serwera. Dane są przechowywane w aplikacji. Kiedy inwentaryzacja jest sprawdzana (za pomocą metody queryinventoryasync), jest zwracana, gdy inwentarz jest kupowany lub nie, i jest uruchamiany za każdym razem, gdy aplikacja jest uruchamiana. W samej billingowej aplikacji zakładam, że jest w porządku, pytam więcej o moją własną aplikację, klucz publiczny aplikacji - mam zamiar w jakiś sposób utrudnić kopiowanie, ale obecnie właśnie rozbiłem go na 15 napisów i po prostu "dodaję" one do siebie w czasie wykonywania, ale to niewiele lepiej niż po prostu jako jeden ciąg. Chciałbym zaszyfrować to jakoś tylko nie wiem jak.
http://stackoverflow.com/questions/14352758/android-in-app-billing-securing-application-public-key – Krishnabhadra