Безопасен ли такой способ сессии?
Сами сессии в PHP довольно безопасны. Авторизация через ВК (механизм OAuth2) - тоже. Или Вы о чем-то ещё спрашиваете?
P.S. Обычно, никто не хранит данные пользователя в сессии, т.к. это будет порядком подзасирать сервер, особенно если данных много. Храните их в БД или например каком-нибудь там Redis'е или Memcached'е или в другом кэширующем хранилище (как вариант, если БД чем-то не устраивает).