In Internet of Things (IoT), there is a vast number of connected devices that exist. These devices are collecting and transmitting great volumes of data from device to device, device to enterprise systems, and occasionally from device to humans. Due to the billions of connected devices, there is a great risk of identity and data theft, device manipulation, data falsification, server/network manipulation, and subsequent impact to application platforms. While the number of these interconnected devices continues to grow every day, so does the number of security threats and vulnerabilities posed to these devices. Security is one of the most paramount technological research problems that exist today for IoT. Security has many facets - security built within the device, security of data transmission, and data storage within the systems and its applications. There is an extensive amount of literature that exists on the subject with countless problems as well as proposed solutions; however, most of the existing work does not provide a holistic view of security and data privacy issues within the IoT. The primary goal of this research work is to advance the current state of the art in IoT research by identifying (a) the critical domains where IoT is heavily used, (b) the security requirements and challenges that IoT is currently facing, and (c) the existing security solutions that have been proposed or implemented with their limitations.