Размер идентификатора сеанса
Предположим, что seesion_id равномерно распределен и имеет размер = 128 бит. Предположим, что каждый человек на планете регистрируется один раз в день с постоянным новым сеансом в течение 1000 лет.
num_sesion_ids = 1000*365.25 *7*10**9 < 2**36
collission_prob < 1 - (1-1/2**82)**(2**36) ≈ 1 - e**-(1/2**46)
≈ 1/2**46
Таким образом, вероятность одного или нескольких столкновений составляет менее одного на 70 тысяч миллиардов. Следовательно, 128-битный размер session_id должен быть достаточно большим. Как упоминалось в других комментариях, session_manager также может проверять, что новый session_id еще не существует.
Случайность
Поэтому большой вопрос, который я думаю, заключается в том, генерируются ли session_id: s с хорошей псевдослучайностью. В этом нельзя быть уверенным, но я бы порекомендовал использовать для этой цели хорошо известное и часто используемое стандартное решение (как вы, вероятно, уже делаете).
Даже если коллизий избегают из-за проверки, важна случайность и размер session_id, так что хакеры не могут каким-то образом квалифицированно угадать и найти активные session_id: s с большой вероятностью.