I. Introduction
Security has always been an integral part of human life. From ancient times to the present people have been looking for physical and financial security. With the advancement of human knowledge and getting into the new era the need of information security were added to human security concerns. Nowadays with the advancement of technology, information security and data security are needed more than any other types of the security. Some types of information and data are crucial such as companies' confidential information, banks' information, even the military intelligence and the like. On the other hand with the increasing and scattering data, users need powerful tools to process and store their data. In recent years a new technology for this purpose has been proposed which is called cloud computing. This technology enables individuals, companies and etc. To store their data and information on the cloud and they can access their own data at any time, from any place and using any computer through the internet. It is even possible to deploy a platform in a cloud and use it (instead of installing software on a personal computer). This technology is certainly a big advantage and always beside the advantages, there are disadvantages. Regarding the current structure of cloud computing, this method is considered not fully developed and gradually progresses toward evolution. The biggest challenge raised about cloud computing and many researchers are working on it, is “security”. Users (people, companies, institutions and etc.) do not know what will happen to their data and information in the cloud and whether other people can gain access to their data and so on. In This paper, first we have briefly explained cloud computing, its types and services. We have also discussed Some of security challenges faced in cloud computing. Then we have explained “location based cryptography” and “Geo-Encryption” algorithm. Finally using “Geo-Encryption” we have proposed a novel model for enhancing the security of data access control in cloud computing.