Radio Frequency Identification (RFID) is a technology used for automatic identification of objects, people, and virtually anything one can think of. Applications of RFID technology are expanding and its usage has been adopted worldwide. As such, major efforts have been made to secure the communications in RFID systems and to protect them from various attacks. This paper surveys RFID security vulnerabilities and some of the proposed solutions that guard against these vulnerabilities. Then, a novel approach to achieve mutual authentication for ultra-lightweight tags is proposed using Physically Unclonable Functions (PUFs). The proposed approach provides robust security properties as well as good performance.