Да, безопасность, обеспечиваемая / dev / urandom, достаточно хороша. Многие программы используют его для случайности (для SSL, аутентификации и т. Д.). Практически единственное время / dev / random - хорошая идея, когда генерируется какой-то токен, который должен быть защищен в течение многих лет, например закрытый ключ для сертификата.
Кто-то упомянул возможность просматривать память процесса, если у вас одинаковый UID. Вы можете избежать этого, заставив ядро думать, что это setuid-процесс, то есть, если главный процесс запускается как root, вы можете выполнить fork, exec и setuid () для непривилегированного пользователя. Другие процессы с таким же UID не смогут просматривать память этого процесса.
Подход поиска учетных данных также работает с именованными сокетами UNIX, а не только с парами сокетов.