Coded caching is an efficient way to reduce network traffic congestion during peak hours by storing some content at the users local cache memory without knowledge of later demands. The goal of coded caching design is to minimize the transmission rate and the subpacketization. In practice the demand for each user is sensitive since one can get the other users preferences when it gets the other users demands. The first coded caching scheme with private demands was proposed by Wan et al. However the transmission rate and the subpacketization of their scheme increase with the file number stored in the library. In this paper we consider the following secure coded caching: prevent the wiretappers from obtaining any information about the files in the server and protect the demands from all the users in the delivery phase. We firstly introduce a combinatorial structure called secure placement delivery array (SPDA in short) to realize a coded caching scheme for our security setting. Then we obtain three classes of secure schemes by constructing SPDAs, where one of them is optimal. It is worth noting that the transmission rates and the subpacketizations of our schemes are independent to the file number. Furthermore, comparing with the previously known schemes with the same security setting, our schemes have significantly advantages on the subpacketizations and for some parameters have the advantage on the transmission rates.