Combining cloud computing with e-learning has led to a new form of systems called: cloud-based e-learning systems. Those systems take advantages and benefits of cloud computing, and combine them with e-learning systems. This combination offers some solutions to make e-learning systems more efficient and easier for use, and contribute to deal the best conditions of using distance learning systems. However, cloud-based e-learning systems present some challenges in two principal axis: security and storage. In this paper, we propose a new architecture that aims to resolve the problems of these systems, related to security and storage. It is based on a new security layer, responsible of controlling and storing all transactions, in order to generate a security key, and to give us the ability to use generated data to offer recommended systems in the future. Also, this architecture is proposed after a study that we conducted to cover many works done related with this field.