5G cellular network is becoming a preferred choice for future deployments of IoT, due to its flexibility, low latency and high bandwidth. It has introduced small cells like femtocells, picocells and microcells to provide higher bandwidth. However, small cells have less signalling coverage, which leads to frequent handover authentication. Therefore, for seamless mobility in 5G cellular network, the existing handover authentication process, which is referred to as '5G-Handover-AKA' in this paper and illustrated in section 6.9.2.3.2 of the 3GPP technical specification TS 33.501, should be made faster. It also has to be made efficient, considering the resource constraints of IoT devices. In this paper, we propose a blockchain based fast and secure handover authentication scheme for 5G cellular network. Unlike 5G-Handover-AKA, the proposed protocol is designed to be robust against security attacks like false base station attack and key compromise attack. While informal security analysis shows the scheme to be robust against various security attacks like de-synchronization attack, eavesdropping attack, denial of service attack, etc., formal security analysis using BAN logic and Scyther tool shows that the scheme meets all the security goals. Performance analysis of the scheme shows that it achieves its goals with 15.84% lesser communication overhead and 18.08% lesser computation overhead at the resource constrained IoT device in comparison to 5G-Handover-AKA.