The Brazil captain, 29, says he only chose the Argentina and Barcelona star first because he was under the impression he could not vote for his fellow compatriot Neymar.
However, under Fifa regulations, Silva is perfectly entitled to vote for Neymar but not himself, although he chose PSG team-mate Zlatan Ibrahimovic over Real Madrid's Cristiano Ronaldo in the voting process.
"It was a pity that I could not vote for Brazilians," the defender told Globoesporte. "Neymar would be first and I would have put myself second.
"Instead, I voted for Messi as first, second Ibra, due to all the goals he has scored, and Cristiano Ronaldo in third; he did not win any titles in the last year.
"They are all great players and any one of them could be there as the winner."
The 23-man shortlist was revealed in October, with four-time Ballon d'Or winner Messi, Ronaldo and Bayern Munich's Franck Ribery the frontrunners for the individual accolade.