Спасибо за статью, не знал что есть замена daemontools. Хотя мы сейчас переходим с нее на systemd и upstart.
У daemontools нельзя указывать зависимости.
Для чего сначала монтируете корневой раздел для чтения, а потом на запись?
mount -o remount,ro /
ip link set up dev lo
echo $HOSTNAME > /proc/sys/kernel/hostname
mount -o remount,rw /
Под android, к сожалению, нет такой мощного инструмента для написания тестов на производительность как есть для hotspot — JMH openjdk.java.net/projects/code-tools/jmh
1. Использование reflection медленно в android. У вас в каждом выводе в лог используется reflection.
2. Не thread-safe, т.к. используется статических контейнер: private static Map<String, String> tags = new HashMap<>();
3. Да и другие статические не final поля не дают использовать библиотеку в разных потоках
В статье не упомянуто разновидности сессионных ключей: PIN, data, MAC.
Производители mPOS-ридеров любят использовать разные варианты сессионных ключей.
Например, для шифрования данных магнитной полосы один производитель mPOS-ридеров использует MAC-сессионный ключ.
И все это из-за того, что в ANSI X9.24 part 1 алгоритм DUKPT приведен как пример реализации и не является частью стандарта.
Поэтому производители его интерпретируют как им удобно.
Примерно год назад появилась статья как подключить 6" E-INK экран к STM32.
Экран от Amazone Kindle 2 6" (ED060SC4V2) на aliexpress стоит около $15.
Для подключения потребуется много нестандартных уровней напряжения (+22 V, +15 V, -15 V and -20 V) и FPC-коннектор.
Без видимых снижений производительности (всего около 2%) можно на боевом окружении увидеть проблемы с памятью:
— Allocation By Class — как раз то что вы написали
— Allocation By Thread
Да, это больше похоже не на firewall, а на switch.
Полностью согласен, что нельзя смешивать зоны c разными уровнями на одной host-машине. В документе несколько раз об этом упоминается.
А также нельзя недоверенные компоненты располагать на одной хост-машине. К недоверенным могут относится виртуальные машины других клиентов.
Тогда это уже не назовешь облаком.
Нужно ставить для каждой зоны отдельную host-машину или кластер.
Да еще и только для одного клиента.
Получается, что хост-машина выполняет сразу две роли:
1. Firewall уровня L2
2. Хост-машина для виртуалок
А по правилам должна выполнять только одну роль.
К тому же, физически host-машина будет входить в разные зоны: зона с хранением карточных данных, зона без передачи карточных данных и др. И при уязвимости хост-машины открывает доступ сразу к нескольким зонам и к HSM.
Правильно ли я понимаю, что в этом случае вся хост-машина оказывается в одной private vlan и тогда легче арендовать выделенный сервер и на нем размещать свои виртуалки.
Но, сегодня на хост-машине наша виртуалка работает, завтра — другая.
И получается, что к HSM имеют доступ все.
Плюс, как отследить в облаке, что расшифрованные карточные данные передаются по защищенному каналу.
Google рекомендует использовать xxxhdpi разрешение только для иконки запуска приложения.
Note: the drawable-xxxhdpi qualifier is necessary only to provide a launcher icon that can appear larger than usual on an xxhdpi device. You do not need to provide xxxhdpi assets for all your app's images.
Обычно наоборот, EMV-сертификация первого уровня есть всегда (банально поставил любую сертифицированную микросхему — и готово).
EMV Level 2 — сложнее, или самому писать, или покупать библиотеку и адаптировать под свою платформу.
Но EMV — это просто правильная работа терминала с картами.
Однако, данного POS-терминала нет в списке сертифицированных ни в Level 1, ни в Level 2.
EMV Contactless тоже не видно.
Интересно, как проходят сертификацию по шифрованию PIN на устройствах с сенсорными дисплеями: существуют ли контроллеры PCAP со встроенным шифрованием, которые сразу PIN-блок могут выдать.
Т.к. устройство только появляется на рынке, возможно, все сертификации в процессе прохождения или еще не опубликованы.
К примеру, у Square есть ридер с поддержкой чипованых карт, но сертифицировано только EMV Level 1 и 2, а PCI PTS не видно в списке.
Платежные системы (Visa и Mastercard) запрещают мерчантам вводить на своих телефонах номера карт покупателей.
Да и код 3-D Secure тоже нельзя вводить на оборудовании мерчанта.
Хотя у SumUp терминалы Datecs DRD-10 и DRD-50, которые на рынке самые защищенные.
По крайней мере, каким-то чудом прошли сертификацию на обычных микроконтроллерах.
Со втычками да, проблемы. Некоторые клиенты бояться за свою карту.
Но есть же терминалы, которые работают по bluetooth, плюс поддерживают ввод PIN.
Они очень похожи на обычные POS и доверие вызывают больше.
Кстати, только у терминалов Datecs сигнал передается в виде синусоиды, остальные упорно пытаются передать в телефон/из телефона меандр. После чего борются с искажением сигнала.
1. Скачать vинимальный образ ubuntu 14.04 mirror.yandex.ru/ubuntu-cdimage/ubuntu-core/releases/14.04.2/release/ubuntu-core-14.04.2-core-armhf.tar.gz (60MB)
2. Создать на sd-карте разделы /boot и /
3. Разархивировать корневую систему
4. Добавить загрузчик и ядро
Занимает около 20 секунд скопировать все на sd-карту.
Мы так создаем образы для odroid-xu3(4) и cubox.
если выкинуть все ненужное из стандартного sysvinit, то разницы в загрузке быть не должно.
Другое дело systemd, который может не запускать сервисы, пока они не будут использованы.
У daemontools нельзя указывать зависимости.
Для чего сначала монтируете корневой раздел для чтения, а потом на запись?
И почему нельзя оставить только на чтение?
Или имелись ввиду hotspot, dalvik и ART?
1. Использование reflection медленно в android. У вас в каждом выводе в лог используется reflection.
2. Не thread-safe, т.к. используется статических контейнер: private static Map<String, String> tags = new HashMap<>();
3. Да и другие статические не final поля не дают использовать библиотеку в разных потоках
Производители mPOS-ридеров любят использовать разные варианты сессионных ключей.
Например, для шифрования данных магнитной полосы один производитель mPOS-ридеров использует MAC-сессионный ключ.
И все это из-за того, что в ANSI X9.24 part 1 алгоритм DUKPT приведен как пример реализации и не является частью стандарта.
Поэтому производители его интерпретируют как им удобно.
Экран от Amazone Kindle 2 6" (ED060SC4V2) на aliexpress стоит около $15.
Для подключения потребуется много нестандартных уровней напряжения (+22 V, +15 V, -15 V and -20 V) и FPC-коннектор.
Схема подключения — essentialscrap.com/eink/schematics.png
Без видимых снижений производительности (всего около 2%) можно на боевом окружении увидеть проблемы с памятью:
— Allocation By Class — как раз то что вы написали
— Allocation By Thread
Полностью согласен, что нельзя смешивать зоны c разными уровнями на одной host-машине.
В документе несколько раз об этом упоминается.
А также нельзя недоверенные компоненты располагать на одной хост-машине. К недоверенным могут относится виртуальные машины других клиентов.
Тогда это уже не назовешь облаком.
Нужно ставить для каждой зоны отдельную host-машину или кластер.
Да еще и только для одного клиента.
1. Firewall уровня L2
2. Хост-машина для виртуалок
А по правилам должна выполнять только одну роль.
К тому же, физически host-машина будет входить в разные зоны: зона с хранением карточных данных, зона без передачи карточных данных и др. И при уязвимости хост-машины открывает доступ сразу к нескольким зонам и к HSM.
И получается, что к HSM имеют доступ все.
Плюс, как отследить в облаке, что расшифрованные карточные данные передаются по защищенному каналу.
как использовать HSM в облаке?
EMV Level 2 — сложнее, или самому писать, или покупать библиотеку и адаптировать под свою платформу.
Но EMV — это просто правильная работа терминала с картами.
Однако, данного POS-терминала нет в списке сертифицированных ни в Level 1, ни в Level 2.
EMV Contactless тоже не видно.
А вот PCI PTS SRED (шифрование карточных данных) и PED (шифрование ПИНа) проходить довольно сложно: долго и дорого (от 50k $).
SRED на этом устройство, наверное, будет поддерживаться, т.к. есть выделенных процессор с шифрованием.
Интересно, как проходят сертификацию по шифрованию PIN на устройствах с сенсорными дисплеями: существуют ли контроллеры PCAP со встроенным шифрованием, которые сразу PIN-блок могут выдать.
Т.к. устройство только появляется на рынке, возможно, все сертификации в процессе прохождения или еще не опубликованы.
К примеру, у Square есть ридер с поддержкой чипованых карт, но сертифицировано только EMV Level 1 и 2, а PCI PTS не видно в списке.
Да и код 3-D Secure тоже нельзя вводить на оборудовании мерчанта.
Хотя у SumUp терминалы Datecs DRD-10 и DRD-50, которые на рынке самые защищенные.
По крайней мере, каким-то чудом прошли сертификацию на обычных микроконтроллерах.
Со втычками да, проблемы. Некоторые клиенты бояться за свою карту.
Но есть же терминалы, которые работают по bluetooth, плюс поддерживают ввод PIN.
Они очень похожи на обычные POS и доверие вызывают больше.
Кстати, только у терминалов Datecs сигнал передается в виде синусоиды, остальные упорно пытаются передать в телефон/из телефона меандр. После чего борются с искажением сигнала.