Is it possible to assign permission to fields?
Yeah,
You can make use of Field Permissions


  Features
  
  Enable field permissions on any entity, not just nodes.
  Role-based field permissions allowing different viewing patterned
  based on what access the user has. Author-level permissions
  allow viewing and editing of fields based on who the entity owner
  is. Permissions for each field are not enabled by default.
  Instead, administrators can enable these permissions explicitly for
  the fields where this feature is needed. Field permissions overview