In recent years, the Internet of Underwater Things (IoUT) has emerged as a promising technology to facilitate underwater exploration and enable to realize various types of underwater applications. Due to the harshness of underwater environment, IoUT confronts various communicational problems in establishing reliable paths between the underwater things and onshore station. Moreover, some underwater applications such as seismic monitoring are critical and providing a secure and private communication is an essential issue. In this paper, we propose a framework to address the majority of underwater communicational challenges. To improve the reliability of communication, the proposed framework leverages the capabilities of Software Defined Networking (SDN) and Fog computing. To achieve this goal, SDN controller establishes optimal routes between underwater things and Fog nodes which are located at the water surface. Furthermore, to guarantee the security and privacy, the proposed solution employs encrypts any transaction and stores them in a Blockchain. Fog nodes manage the Blockchain and stores the received messages from underwater things in it. To achieve more energy efficiency, instead of using heavyweight Proof of Work in the Blockchain, the controller selects the best Fog node in terms of energy among others to mine new blocks. Simulation results confirmed that the proposed framework is practical and can be applied in IoUT environment to achieve reliability, security and energy efficiency.