"Sessioni sicure", cosa vorrebbe significare? Come al solito non esistono funzioni pronte all'uso che forniscono un livello di sicurezza in più solo per il fatto che sono lì. Accontentiamoci di sapere il come e il perché di quello che inseriamo nelle nostre pagine, la sicurezza viene dopo.
Quindi per rispondere alla vera domanda, "cosa fa sec_session_start()?": si limita a modificare i parametri http://php.net/session.configuration con valori più opportuni, per far fronte a configurazioni strane nel tuo php.ini. Lo fa anche male. (Ad esempio session_name dovrebbe essere chiamato prima di session_set_cookie_params) La domanda più pertinente ora è "questa nuova configurazione è per me vantaggiosa?". No, non direi. Quei pochi parametri che vengono cambiati runtime corrispondono ai valori di default che trovi nel php.ini. Cambiare il nome di sessione è una misura di sicurezza in più? Proprio no. L'unica buona idea è quella di settare il cookie di sessione usando l'attributo httponly. E' cosa buona, ma non necessaria. Cosa che puoi fare modificando il relativo parametro, http://php.net/manual/it/session.con...ookie-httponly .
L'unica parte di quella funzione che ha realmente a che fare con la sicurezza è session_regenerate_id(), ma a cosa serve e come dovrei usarla? Per quello ti rimando alla documentazione. Sicuramente non la userei ogni volta che avvio la sessione.