A transaction filter cannot read a stream directly, because MultiChain allows different nodes to subscribe to different streams, and transaction filters are consensus rules.
Your best bet in this case is to use the signmessage API to create a signed attestation to a message (from the trusted authority), and add that signature as a transaction metadata output, along with the original data in another metadata output. The smart filter can then look at this metadata, and use the verifymessage callback to check the attestation.