Articles of безопасности

Android – безопасное хранилище

Как я делаю, чтобы хранить секретный ключ в устройстве Android с единственной возможностью использовать ключ, а не извлекать его. Например: я импортирую приватную / создаю пару ключей RSA или симметричный ключ из приложения в это «безопасное хранилище». Теперь NOBODY должен иметь возможность извлекать секретный ключ, даже не оригинальное приложение. (Не секретная часть ключа – открытый […]

Установка / доступ к сертификатам для VPN / WIFI программно на Android

Вот ситуация: Я работаю над приложением, которое позволяет автоматизировать управление сетевыми подключениями. Пользователи могут настраивать профили WiFi / VPN через приложение, и приложение будет управлять их связью с этими профилями. Все это было довольно прямолинейно (ну, на стороне VPN требовалось некоторое хакерство для отражения), за исключением случаев, когда я дошел до управления этими подключениями в […]

Как реализовать зашифрованную аутентификацию входа в систему Android?

У меня есть база данных для входа, с моего Android-клиента я должен передать пароль безопасным образом. Я хочу реализовать экран входа, который способен выполнять шифрование. Как реализовать шифрование безопасности в моем приложении?

Android SecurityException в PDF Send Intent

Я получаю следующее исключение во время намерения ACTION_SEND с применением типа application/pdf : java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.SEND typ=application/pdf flg=0x3080000 cmp=com.adobe.reader/.ARSendForSignature (has extras) } Появится диалоговое окно для выбора желаемого приложения для получения PDF-файла. Я считаю, что SecurityException выбрасывается, когда пользователь выбирает Adobe Reader из списка, хотя он, как представляется, специально открывает ARSendForSignature […]

Предотвратить «поддельный клиент» для приложения ios

У нас есть приложение android и ios, которое отправляет данные и команды на сервер с помощью http webservice. Как я могу предотвратить возможность того, что поддельные клиенты также могут отправить что-то на сервер? Как я могу определить серверы, если данные / команда действительно поступает из наших приложений.

Избегайте SecurityException при доступе к DownloadProvider

У меня есть активность, которая имеет намерение filter android.intent.action.SEND с типом изображений. После того как пользователь поделится изображением (в частности, с менеджером загрузки ) с моей активностью (UploadActivity), действие проверяет, вошел ли пользователь в систему. Если нет, он сохранит исходное намерение (с EXTRA_STREAM ) и отправит пользователя в LoginActivity. Как только этот пользователь войдет в […]

Как сделать нулевой секретный ключ в java?

Является ли следующий код java достаточным для очистки секретного ключа в памяти (установка всего его байтового значения в 0)? zerorize(SecretKey key) { byte[] rawKey = key.getEncoded(); Arrays.fill(rawKey, (byte) 0); } Другими словами, метод getEncoded возвращает копию или ссылку на фактический ключ? Если копия возвращается, то как я могу удалить секретный ключ в качестве меры безопасности?

Как создать пароль без пароля для мобильного приложения

Я заинтересован в создании своего рода пароля без пароля между мобильным приложением и API (предполагая, что я могу контролировать оба). Мотивация заключается в том, что необходимость входа в систему очень раздражает пользователей и имеет угрозы безопасности (например, пользователи будут повторно использовать существующие пароли), и я хочу, чтобы пользователи могли сразу начать работу с приложением. Мне […]

Хранить секретный ключ клиента

Я знаю, что публичный клиент не должен использовать клиентский секрет, потому что, независимо от того, насколько вы его запутываете, он не будет защищен от обратной инженерии . Но люди, отвечающие за обслуживание, которое я аутентифицирую, не хотят / не могу изменить. Поэтому мне нужно хранить секрет клиента и пытаться защитить его от реверсивной инженерии, насколько […]

Обфускация кода Android и безопасное приложение для Android от пиратства

В настоящее время я новичок в разработке Android. Мне нужно разработать защищенное приложение для Android, чтобы я мог его сохранить из getteg pirated. Для безопасности приложения я использовал RMS в J2ME. В J2ME я использую следующие шаги: Сгенерировать серийный номер (некоторое случайное число) Сохранить это число в rms, при следующем запуске приложения отобразить тот же […]