Modifying the core code is most of the time a bad thing and in your case, there is a possibility to do what you need, but the Cake way.
In app/config/core.php: modify the Session.save value
//Configure::write('Session.save', 'php');
//this will look for a 'mysession.php' file in app/config
Configure::write('Session.save', 'mysession');
In app/config: create a mysession.php file with the parameters you want for your session
ini_set('session.use_trans_sid', 0);
ini_set('session.name', Configure::read('Session.cookie'));
ini_set('session.cookie_lifetime', $this->cookieLifeTime);
ini_set('session.cookie_path', $this->path);
//overwrite Cake setting already set by CakeSession
ini_set('session.cookie_secure', 0);
Also be aware that if you set your cookies to be not secure, most of the benefit of using HTTPS is gone, because as the same session cookie is used for HTTPS and HTTP, it becomes easy to steal it and then to steal the session for HTTPS as well.
I had the case of a webapp with an admin part over HTTPS and a public part over HTTP that required session as well. I manage to separate both parts by specifying two different cookie names:
In app_controller.php:
if(env('HTTPS')
{
Configure::write('Session.save', Configure::read('Session.save') . '_https');
}
And in app/config, create another file called *mysession_https.php* with
ini_set('session.use_trans_sid', 0);
ini_set('session.name', Configure::read('Session.cookie') . 'S');
//cookie destroyed when users close their browser
ini_set('session.cookie_lifetime', 0);
ini_set('session.cookie_path', $this->path);
ini_set('session.cookie_secure', 1);
This creates two different sessions, one over HTTP and one over HTTPS, but in my case it was fine, since all sensitive or private data are over HTTPS and the part over HTTP requires a session only to get a smoother navigation.