Adding meta data to user
Fields are definitely the best method for storing this data.

You can combine fields with the Field Permissions module:


  The Field Permissions module allows site administrators to set field-level permissions to edit, view and create fields on any entity.


With that module you'll be able to specify exactly which fields the user should be able to view/edit.