Data authenticity in general
Iota will use Qubic and Oracles.
Qubic uses a quorum to reach consensus on both the input data and the results of computations
data are only considered valid when at least 2/3 of all participants agree. Hence the term: Quorum-Based Computations The quorum makes it difficult for malicious actors to falsify data, and lowers the impact of sporadic or unintentionally erroneous data.
Your use case
This approach may seem not suitable for your specific use case "a temperature sensor on shipment of food". But it could also be solved with it.
- We have 3 food shippers: A, B, C
- We have 2 food customers: I, J
- each food shipper ships one crate of food
- each crate has 5 temperature sensors inside of it, one provided by each entity (assume the sensors cannot be removed from the crate and cannot be tampered with*). Each entity knows, that the temperature sensor provided by them works properly.
Another solution would be to create another entity "F" that all 3 shippers and their customers trust i.e. food inspection authority. The advantage is that we only need one sensor per crate. The problem is that we introduce centralization.
* to make sure that the crates + sensors have not been compromised, one would have to introduce some kind of detection mechanism e.g. post message to tangle immediately after somebody tries to open the case of the sensor, etc.
For more on sensor hackability try: Could a sensor be hacked to steal the money in its wallet?