Сессии должны были делать ТОЧНО то, что вы делаете.
И они более безопасны, чем другие варианты, поскольку их хранилище находится на стороне сервера (в отличие от хранилища cookie), поэтому единственный способ получить доступ к сеансам - это иметь доступ к каталогу сеансов веб-сервера иесли это произойдет, у вас есть большие проблемы, чтобы беспокоиться.
Возможно украсть сеанс, но злоумышленнику потребуется файл cookie сеанса пользователя.
Но продолжайте делать то же, что и вы, сохраните основной идентификатор строки, чтобы предотвратить дополнительные запросы, этокак это должно быть сделано (я бы использовал переменную $ _SESSION напрямую, а не копировал ее в другую переменную)
Подробнее о безопасности сеансов на SO:
PHP Session Security
Безопасность массива $ _SESSION