National security “can’t come at the expense of social security”, the Prime Minister has insisted, as he criticised Tory plans to fund defence..