This is in fact supported by both Bluetooth Low Energy and the BlueZ API, however, you need to apply the properties to the Client Characteristic Configuration Descriptor (CCCD) and not to the characteristic itself.
To elaborate, for a characteristic to be notifiable/indicatable, it has to have the CCCD descriptor present as part of that characteristic. For example, for a heart rate characteristic, there is an accompanying CCCD descriptor that can be used to enable/disable notifications or indications. Writing 0100 to the descriptor enables notifications, writing 0200 enables indications, and writing 0000 disables both notifications/indications.
Now if you want only paired devices to be able to enable notifications, you need to change the properties of that descriptor so that it is not "open". The API for doing this is available here and you can for example set the property to be "read, encrypt-write", which means you can read the value of the descriptor normally, but in order to write to it and enable notifications you will have to pair with it.
Please have a look at the following links which may be useful
I hope this helps.