A method for updating system time of an electronic control unit, the method comprising: determining a cumulative trustworthiness score based on one or more trustworthiness scores associated with respective one or more time sources (110, 112, 114) in communication with the electronic control unit; and updating the system time of the electronic control unit based on a time from one of the respective one or more time sources (110, 112, 114) and the cumulative trustworthiness score, wherein updating the system time comprises: if the cumulative trustworthiness score is greater than a first threshold, setting the system time equal to the time from the one of the time sources (110, 112, 114); if the cumulative trustworthiness score is less than the first threshold but greater than a second threshold and a difference in time between the system time and the time from the one of the time sources (110, 112, 114) is greater than a third threshold, performing an iterative recovery technique using the time from the one of the time sources (110, 112, 114); and if the cumulative trustworthiness score is less than the second threshold and the difference in time between the system time and the time from the one of the time sources (110, 112, 114) is greater than a fourth threshold, performing the iterative recovery technique using the time from the one of the time sources (110, 112, 114). determining a cumulative trustworthiness score based on one or more trustworthiness scores associated with respective one or more time sources (110, 112, 114) in communication with the electronic control unit; and updating the system time of the electronic control unit based on a time from one of the respective one or more time sources (110, 112, 114) and the cumulative trustworthiness score, wherein updating the system time comprises: if the cumulative trustworthiness score is greater than a first threshold, setting the system time equal to the time from the one of the time sources (110, 112, 114); if the cumulative trustworthiness score is less than the first threshold but greater than a second threshold and a difference in time between the system time and the time from the one of the time sources (110, 112, 114) is greater than a third threshold, performing an iterative recovery technique using the time from the one of the time sources (110, 112, 114); and if the cumulative trustworthiness score is less than the second threshold and the difference in time between the system time and the time from the one of the time sources (110, 112, 114) is greater than a fourth threshold, performing the iterative recovery technique using the time from the one of the time sources (110, 112, 114). if the cumulative trustworthiness score is greater than a first threshold, setting the system time equal to the time from the one of the time sources (110, 112, 114); if the cumulative trustworthiness score is less than the first threshold but greater than a second threshold and a difference in time between the system time and the time from the one of the time sources (110, 112, 114) is greater than a third threshold, performing an iterative recovery technique using the time from the one of the time sources (110, 112, 114); and if the cumulative trustworthiness score is less than the second threshold and the difference in time between the system time and the time from the one of the time sources (110, 112, 114) is greater than a fourth threshold, performing the iterative recovery technique using the time from the one of the time sources (110, 112, 114).