The CAN data bus is a two wire network that basically loops around the car linking through each control module, one wire is CAN high the other is CAN low. It was primarily designed to reduce the amount of wires used in electronic/computer controlled motor cars.
basically, for an example of how one signal is distributed throughout the car (pre CAN data bus), I will use the crankshaft signal, the crankshaft sensor is wired to the HFM so it can determine fuel and ignition timing and then the HFM is wired to the instrument cluster so it can produce a tacho value and the HFM is wired to the trans control unit so it knows what speed the engine is doing and so on and so on, this would require miles of wiring.
Now how it is done using a CAN data bus;
if you can imagine all the control units are interlinked via two data transmitting wires (CAN data bus) all that has to be done now is the crank angle signal is put onto the CAN data bus via the HFM which continues on through all the modules and then any module that requires an engine RPM signal is programmed to accept that signal if the control unit doesn't need that signal say, like seat adjustment module then that CAN signal will pass straight thru. so its a little bit like sending a letter, you address the letter (crank angle signal) you put the letter in the mail box and it gets sorted (HFM) it then gets delivered (CAN data bus) and goes to the address on the letter (control units programmed to accept that signal) if you receive a letter thats not addressed to you, you put it back into the postal system (control units not requiring this signal)
The crank angle signal is a signal that would be constantly active on the CAN data bus, so it would be constantly going around the loop, and is given HIGH priority, a signal such as when you push the button to close a window is only on the CAN data bus whilst you have your finger on the button, this signal would be given LOW priority.
The CAN bus is a fairly bullet proof system but you can still have problems with it, such as the z connectors that connect the CAN wires, you sometimes have to cut these connectors out and solder them directly to rectify CAN signal issues
I hope this helps you to understand what and how the CAN data bus works, If the new IFZ and key doesn't fix your problem, I would suggest you start looking at CAN data bus and possibly faulty HFM.