As long as I know, SharePoint does not provide such feature to assign permission on list columns.
The Best way is writing custom code or using web part like <a href=”http://www.sharepointboost.com/columnpermission.html”>SharePoint Column View Permission</a>.
Here is another workaround which I have not tries yet. If it is possible to create a new list, then you can create a new list them put those info you do not want to show in that list. to grand permission on list is quite easy.