- Dadaviz
- Key Chain на Android — что это такое?
- Что это такое Key Chain на Андроиде?
- Нужна ли Key Chain и как её удалить?
- Что за приложение на андроид «Брелок»?
- Что это такое Key Chain на Андроиде?
- Нужна ли Key Chain и как её удалить?
- Facebook и другие социальные сети
- The Weather Channel и другие погодные приложения
- AntiVirus FREE и другие антивирусные программы
- Clean Master и другие оптимизаторы системы
- Дефолтный браузер
- Ключи, учетные данные и хранилище на Android
- Диспетчер учётных записей
- Keychain — связка ключей
- KeyStore
- Генерирование нового случайного ключа
- Шифрование данных
- Расшифровка в массив байтов
- Смотрим на примере
- Использование асимметричных ключей RSA для старых устройств
- Заключение
Dadaviz
Ваш IT помощник
Key Chain на Android — что это такое?
Всем привет! Сегодня мы расскажем об Андроид приложении KeyChain, оно же Брелок. Вы узнаете что это за программа Key Chain и для чего она нужна.
В последнее время многие пользователи Андроид устройств жалуются на произвольную установку приложения KeyChain (у некоторых возможно название Брелок). Программа загружается вирусом, который замаскирован под скрытый системный процесс.
Что это такое Key Chain на Андроиде?
Key Chain (Брелок) — это хранилище паролей от различных учетных записей (соц. сети, google аккаунты, игры и прочее). Благодаря этой программе вы сможете управлять своими паролями, изменять их и настраивать уровни доступа.
Основные возможности приложения:
- возможность создания случайно сгенерированных цифровых пин-кодов и паролей.
- сложная для взлома, но простая для запоминания цвнтная схема ввода сложных паролей.
- возможность синхронизации.
- хранение и изменение паролей.
Программа безусловно полезная, но бесплатная версия ограничена тремя паролями и пин-кодами. За использование большого числа, нужно покупать платную версию, которая также отключает рекламу. Вот наглядная видео-инструкция по работе с приложением Брелок.
Нужна ли Key Chain и как её удалить?
Если говорить о её надобности — то она будет полезна лишь в том случае, если вы действительно переживаете за сохранность своих личных данных не прочь применить двойную защиту. В противном случае, пользы от неё нет, тем более, что существует большое количество более популярных аналогов.
Тот факт, что она установилась на телефон сама, говорит о вирусном заражении. Сама программа не является вирусом, а её распространение подобным образом — лишь рекламная акция. Также минусом можно назвать постоянную работу в фоне, вследствие чего идет лишняя нагрузка на процессор.
- Если вы обнаружили произвольную установку программы Брелок на телефоне, тогда сразу же остановите одноименный процесс в «Диспетчере приложений» (вкладка Выполняемые или Активные).
- Установите на телефон мобильные антивирусы — Dr. Web, ESET или Касперский с последними актуальными обновлениями баз. Проведите сканирование и удаляйте обнаруженные вирусы.
- Важно убрать именно зараженное приложение, которое вызывает скачивание и рекламу.
Источник
Что за приложение на андроид «Брелок»?
В последнее время многие пользователи Андроид устройств жалуются на произвольную установку приложения KeyChain (у некоторых возможно название Брелок). Программа загружается вирусом, который замаскирован под скрытый системный процесс.
Что это такое Key Chain на Андроиде?
Key Chain (Брелок) — это хранилище паролей от различных учетных записей (соц. сети, google аккаунты, игры и прочее). Благодаря этой программе вы сможете управлять своими паролями, изменять их и настраивать уровни доступа.
Основные возможности приложения:
- возможность создания случайно сгенерированных цифровых пин-кодов и паролей.
- сложная для взлома, но простая для запоминания цвнтная схема ввода сложных паролей.
- возможность синхронизации.
- хранение и изменение паролей.
Программа безусловно полезная, но бесплатная версия ограничена тремя паролями и пин-кодами. За использование большого числа, нужно покупать платную версию, которая также отключает рекламу. Вот наглядная видео-инструкция по работе с приложением Брелок.
Нужна ли Key Chain и как её удалить?
Если говорить о её надобности — то она будет полезна лишь в том случае, если вы действительно переживаете за сохранность своих личных данных не прочь применить двойную защиту. В противном случае, пользы от неё нет, тем более, что существует большое количество более популярных аналогов.
Тот факт, что она установилась на телефон сама, говорит о вирусном заражении. Сама программа не является вирусом, а её распространение подобным образом — лишь рекламная акция. Также минусом можно назвать постоянную работу в фоне, вследствие чего идет лишняя нагрузка на процессор.
- Если вы обнаружили произвольную установку программы Брелок на телефоне, тогда сразу же остановите одноименный процесс в «Диспетчере приложений» (вкладка Выполняемые или Активные).
- Установите на телефон мобильные антивирусы — Dr. Web, ESET или Касперский с последними актуальными обновлениями баз. Проведите сканирование и удаляйте обнаруженные вирусы.
- Важно убрать именно зараженное приложение, которое вызывает скачивание и рекламу.
Facebook и другие социальные сети
Социальная сеть Facebook является сегодня самой популярной в мире, поэтому неудивительно, что соответствующее мобильное приложение установлено у огромного количества пользователей. Мобильный клиент позволяет вам получать уведомления о новых лайках, постить фотки своей еды и всегда оставаться на связи с друзьями. Однако взамен это приложение потребляет огромное количество системных ресурсов и значительно уменьшает срок работы мобильного гаджета от батареи. Согласно ежегодному отчёту App Report 2015 AVG Android App Report, именно мобильный клиент Facebook занимает верхние строчки в хит-параде самых прожорливых программ на платформе Android.
Альтернатива. Используйте мобильную версию Facebook в любом современном браузере. Функциональность отличается ненамного, зато отсутствуют раздражающие уведомления и стремительно тающая батарея.
The Weather Channel и другие погодные приложения
The Weather Channel — отличный пример того, как на самой простой функции — отображении прогноза погоды — разработчики умудряются выстроить целый мегакомбайн. Здесь вы увидите и анимированные обои, и метеорологические карты, и букет интерактивных виджетов, и бог знает что ещё. Всё это хозяйство сидит в оперативной памяти устройства, каждые пять минут стучится в интернет и, разумеется, самым бессовестным образом съедает заряд вашей батареи.
Альтернатива. Выгляните в окошко — вы получите гораздо более надёжную информацию, чем то, что показывает виджет рабочего стола. Если необходим прогноз, то Google предоставит вам самое надёжное предсказание на неделю вперёд.
AntiVirus FREE и другие антивирусные программы
Дискуссия о том, нужны ли антивирусные программы на устройствах под управлением Android, иногда бывает довольно горячей. Я придерживаюсь мнения, что если вы не получаете root-права на устройстве и не устанавливаете взломанные программы из сторонних сомнительных источников, то антивирус вам не нужен. Компания Google бдительно следит за содержимым своего магазина и моментально удаляет из него все потенциально опасные элементы, поэтому всегда активный мониторинг антивируса будет только зря тормозить ваш смартфон или планшет.
Альтернатива. Если возникли всё-таки сомнения в здоровье гаджета, то установите антивирус, просканируйте, а затем удалите его.
Clean Master и другие оптимизаторы системы
Вера в чудеса является самой главной движущей силой для распространения разных «очистителей» и «оптимизаторов». Мол, сотни лучших программистов Google не смогли довести свою систему до ума, а вот этот изобретатель-одиночка взял и сделал! Спешим вас расстроить: большинство подобных приложений либо вообще ничего не делают, либо наносят только вред. Очистить кэш, удалить остатки старых программ можно и встроенными системными инструментами. Очистка же памяти на самом деле только замедляет запуск программ и работу Android вместо обещанного создателями утилит ускорения системы.
Альтернатива. Используйте имеющиеся в Android инструменты для очистки кэша приложений. Забудьте об оптимизации памяти.
Дефолтный браузер
Некоторые производители и разработчики сторонних прошивок снабжают свои творения специальными версиями браузера. Как правило, в них намертво вшиты ссылки на сайты рекламодателей и другой ненужный вам контент. Кроме этого, никто не может поручиться, что такой браузер не сливает вашу информацию налево. Лучше никогда не использовать подобную программу и вообще, если это возможно, удалить её из системы.
Альтернатива. Для Android существуют десятки хороших браузеров, но самым надёжным и быстрым является, несомненно, Google Chrome. Он функционален, обладает поддержкой самых современных веб-технологий, умеет экономить мобильный трафик и обладает простым и понятным интерфейсом.
А какие приложения вы считаете самыми вредными на платформе Android?
В этой статье автомастер Алексей Бакулин отвечает на популярный вопрос читателей «Для чего нужно приложение брелок?».
Всем привет! Сегодня мы расскажем об Андроид приложении KeyChain, оно же Брелок. Вы узнаете что это за программа Key Chain и для чего она нужна.
В последнее время многие пользователи Андроид устройств жалуются на произвольную установку приложения KeyChain (у некоторых возможно название Брелок). Программа загружается вирусом, который замаскирован под скрытый системный процесс.
Key Chain (Брелок) — это хранилище паролей от различных учетных записей (соц. сети, google аккаунты, игры и прочее). Благодаря этой программе вы сможете управлять своими паролями, изменять их и настраивать уровни доступа.
Основные возможности приложения:
- возможность создания случайно сгенерированных цифровых пин-кодов и паролей.
- сложная для взлома, но простая для запоминания цвнтная схема ввода сложных паролей.
- возможность синхронизации.
- хранение и изменение паролей.
Программа безусловно полезная, но бесплатная версия ограничена тремя паролями и пин-кодами. За использование большого числа, нужно покупать платную версию, которая также отключает рекламу. Вот наглядная видео-инструкция по работе с приложением Брелок.
Если говорить о её надобности — то она будет полезна лишь в том случае, если вы действительно переживаете за сохранность своих личных данных не прочь применить двойную защиту. В противном случае, пользы от неё нет, тем более, что существует большое количество более популярных аналогов.
Тот факт, что она установилась на телефон сама, говорит о вирусном заражении. Сама программа не является вирусом, а её распространение подобным образом — лишь рекламная акция. Также минусом можно назвать постоянную работу в фоне, вследствие чего идет лишняя нагрузка на процессор.
Источник
Ключи, учетные данные и хранилище на Android
Russian (Pусский) translation by Ellen Nelson (you can also view the original English article)
В предыдущем материале о безопасности пользовательских данных Android мы рассмотрели шифрование данных с помощью предоставленного пользователем кода. В этом уроке перейдём к хранению учётных данных и ключей. Я начну с ознакомления с учётными данными и закончу примером защиты данных с помощью хранилища ключей KeyStore.
Часто, при работе со сторонней службой, требуется какая-то форма авторизации. Она может быть настолько простой, как /login на стороне пользователя, которая принимает имя пользователя и пароль.
Сначала может показаться, что простое решение — это собрать UI, который будет предлагать пользователю войти в систему, а затем записать и сохранить их данные для входа. Однако, это не лучший метод, так как нашему приложению не нужно знать данные для входа в сторонний аккаунт. Вместо этого, мы можем использовать Диспетчер учётных записей (Account Manager), который уполномочен отрабатывать эту конфиденциальную информацию для нас.
Диспетчер учётных записей
Диспетчер учётных записей (Account Manager) — это централизованный помощник для работы с учётными данными пользователя, поэтому вашему приложению, иметь дело с паролями напрямую не нужно. Часто он предоставляет токен вместо реального имени пользователя и пароля, который можно использовать для выполнения аутентифицированных запросов к службе. Например, при запросе токена OAuth2.
Иногда, вся необходимая информация уже хранится на устройстве, а иногда Account Manager придётся обращаться к серверу за новым токеном. Вы, наверное, видели раздел Учётные записи в Настройках вашего устройства для разных приложений. И вот как, мы можем получить список доступных учётных записей:
Этому коду потребуется разрешение android.permission.GET_ACCOUNTS . Если вы ищете определённую учётную запись, вы можете найти её вот так:
Как только найдёте учётную запись, её токен можно получить вызвав метод getAuthToken(Account, String, Bundle, Activity, AccountManagerCallback, Handler) . Затем, таки можно использовать как для авторизированных запросов API к сервису. Это может быть RESTful API, в котором вы передаёте параметр токена во время HTTPS-запроса без необходимости знать детали личной учётной записи пользователя.
Так как, у каждой службы будет свой способ проверки подлинности и хранения личных учётных данных, Диспетчер учётных записей предоставляет модули проверки подлинности для реализации сторонней службой. Хотя Android может выполнять вход на многие популярные сервисы, для вашего приложения, вы можете написать свой собственный обработчик авторизации учётной записи и хранилища учётных данных. Это позволит убедиться, что учётные данные зашифрованы. Имейте также в виду, что учётные данные в Диспетчере учётных записей, которые используются другими службами, могут храниться в виде открытого текста, что делает их видимыми для любого, кто имеет рут-права на своё устройство.
Временами вам нужно будет иметь дело с ключами или сертификатами для отдельного лица или сущности, вместо просто данных для входа. Например, когда стороннее приложение отправляет вам файл сертификата, который вам нужно сохранить. Самый распространённый сценарий — это когда приложению нужно авторизироваться на сервере частной организации.
В следующем уроке, мы рассмотрим использование сертификатов для аутентификации и безопасной связи, ну а пока, я всё же хочу рассмотреть, как хранить эти элементы. Изначально Keychain API был создан для очень конкретного использования — установка закрытого ключа или пары сертификатов из файла PKCS#12.
Keychain — связка ключей
Представленный в Android 4.0 (API Level 14), Keychain API управлял ключами. В частности, это работает с объектами PrivateKey и X509Certificate и обеспечивает более безопасный контейнер, чем использование хранилища данных вашего приложения. Связано это с тем, что разрешения закрытых ключей открывают доступ к ключам только вашему приложению и только после авторизации пользователя. Это означает, что, прежде чем, вы сможете использовать хранилище учётных данных, на устройстве должен быть настроен экран блокировки. Кроме того, объекты в связке ключей можно объединить с защитой от оборудования, если доступно.
Код установки сертификата выглядит следующим образом:
Пользователю будет предложено ввести пароль для доступа к закрытому ключу и указать имя сертификата. Для получения ключа, в следующем коде представлен пользовательский интерфейс, который позволяет пользователю выбирать ключ из списка установленных ключей.
Как только выбор сделан, возвращается строка с названием псевдонима alias(final String alias) , где вы можете напрямую получить доступ к закрытому ключу или цепочке сертификатов.
Вооружившись этими знаниями, теперь давайте посмотрим, как мы можем использовать хранилище учётных данных для сохранения конфиденциальных данных.
KeyStore
В предыдущем уроке, мы рассмотрели защиту данных с помощью предоставляемого пользователем пароля. Такой вариант хорош, но требования к приложениям часто уводят от того, чтобы пользователи каждый раз входили в систему и запоминали дополнительный пароль.
Вот где можно использовать KeyStore API. Начиная с API 1, KeyStore используется системой для хранения учётных данных WiFi и VPN. Начиная с 4.3 (API 18), вы можете работать с асимметричными ключами конкретного приложения, а в Android M (API 23) можно хранить симметричный ключ AES. Таким образом, хотя API не позволяет хранить конфиденциальные строки напрямую, эти ключи можно сохранить, а затем использовать для шифрования строк.
Преимущество хранения ключа в хранилище ключей заключается в том, что он позволяет работать с ключами без раскрытия секретного содержимого этого ключа; данным ключа не место в приложении. Помните, что ключи защищаются разрешениями, так что только ваше приложение может получить к ним доступ, и они могут быть дополнительно защищены аппаратным обеспечением, если устройство поддерживает это. Создаётся контейнер, который усложняет извлечение ключей с устройства.
Генерирование нового случайного ключа
В этом примере вместо генерации ключа AES из предоставленного пользователем пароля мы можем автоматически сгенерировать случайный ключ, который будет защищён в хранилище ключей KeyStore. Мы можем сделать это, создав экземпляр KeyGenerator , настроенного на поставщика «AndroidKeyStore» .
Здесь важно обратить внимание на спецификации .setUserAuthenticationRequired(true) и .setUserAuthenticationValidityDurationSeconds(120) . Для этого, обязательно должна быть включена блокировка экрана и ключ должен быть заблокирован, до тех пор, пока пользователь не аутентифицируется.
Изучив документацию .setUserAuthenticationValidityDurationSeconds() , вы увидите, что это означает, что ключ доступен только через определённое количество секунд после аутентификации по паролю, и что для передачи -1 требуется идентификация по отпечатку пальца каждый раз, когда вы хотите получить доступ к ключу. Включение требования для аутентификации также приводит к отзыву ключа, когда пользователь удаляет или изменяет экран блокировки.
Поскольку хранение незащищённого ключа вместе с зашифрованными данными, это как прятать ключ от дома под половик, эти параметры пытаются защитить ключ в состоянии покоя в случае взлома устройства. Примером может служить автономный дамп данных устройства. Если пароль устройства не известен, эти данные, по сути, бесполезны.
Опция .setRandomizedEncryptionRequired(true) включает требование о наличии достаточного количества случайных чисел (каждый раз новый случайный ВИ [вектор инициализации]), чтобы при повторном шифровании одних и тех же данных, зашифрованный результат всё равно не повторялся. Это не позволяет злоумышленнику получить информацию о зашифрованном тексте на основе передачи тех же данных.
Ещё стоит отметить — setUserAuthenticationValidWhileOnBody(boolean remainsValid) , что блокирует ключ, как только устройство обнаружит, что он больше не принадлежит человеку.
Шифрование данных
Теперь, когда ключ хранится в хранилище KeyStore, мы можем создать метод, который зашифрует данные с использованием объекта Cipher , учитывая SecretKey . Это вернёт HashMap , содержащий зашифрованные данные и случайный ВИ, который понадобится для расшифровки данных. Зашифрованные данные вместе с ВИ могут быть сохранены в файл или в открытых настройках.
Расшифровка в массив байтов
Для расшифровки применяется обратный ход. Объект Cipher инициализируется с использованием константы DECRYPT_MODE , и возвращается расшифрованный массив byte[] .
Смотрим на примере
Теперь мы можем посмотреть на пример!
Использование асимметричных ключей RSA для старых устройств
Это хорошее решение для хранения данных в версии M и выше, но что, если ваше приложение поддерживает более ранние версии? Хотя симметричные ключи AES не поддерживаются в M, поддерживаются асимметричные ключи RSA. Это означает, что для достижения того же результата, мы можем использовать RSA ключи и шифрование.
Основное отличие заключается в том, что асимметричная пара ключей содержит два ключа: закрытый и открытый ключ, где открытый ключ шифрует данные, а закрытый ключ расшифровывает их. KeyPairGeneratorSpec передаётся в KeyPairGenerator , который инициализируется с помощью KEY_ALGORITHM_RSA и поставщика AndroidKeyStore .
Для шифрования, из пары ключей мы получаем RSAPublicKey и используем его с объектом Cipher .
Расшифровка выполняется с использованием объекта RSAPrivateKey .
Кое-что об RSA — шифрование медленнее, чем в AES. Для небольших объёмов информации, например, когда вы защищаете строки общих настроек, это не страшно. Если вы обнаружите проблему с производительностью при шифровании больших объёмов данных, то вместо этого вы можете использовать данный пример для шифрования и хранения только ключа AES. И тогда, для остальной части ваших данных, используйте более быстрое шифрование AES, которое обсуждалось в предыдущем уроке. Вы можете сгенерировать новый AES ключ и преобразовать его в массив byte[] , который совместим с этим примером.
Чтобы получить ключ, сделайте вот так:
Довольно много кода! Для простоты примеров, я пропустил обработку исключений. Но помните, что для итогового кода не рекомендуется просто перехватывать все случаи Throwable в одном операторе catch.
Заключение
На этом урок по работе с учётными данными и ключами завершён. Большая часть неразберихи вокруг ключей и хранилища связана с эволюцией ОС Android, но вы можете выбрать, какое решение использовать, учитывая уровень API, поддерживаемый вашим приложением.
Теперь, когда мы рассмотрели лучшие примеры защиты данных в состоянии покоя, следующий урок будет сосредоточен на защите данных при передаче.
Источник