One of the problems that I run into with Fate is the preconceived notions of what a GM is, and the role played in other games. Fate is about the story, more than the system, i.e. the story utilizes the system rather than being constrained by it. So, though it may seem that you are letting the players know about something that they do not, what you are really doing is introducing a story point to move things along.
In the best instances of synergy, his utilization of the aspect would involve revealing it if it affected some roll that involved the player. But, just because this is not the case doesn't mean that the characters know- just the players.
This does not mean that the player can't invoke it by spending a fate point, but it does mean that the invocation does have to be explained in such a way that it would not rely on the character's knowledge. An example of this might be the player spending a fate point to hinder the other character because of the fact that he is an undercover police detective, and this fact constrains him, rather than the player.
I've found that though details may be hidden outside of interaction with the player, once the players become involved, its not so much hiding details, as to how they interact with the story.
Also see this thread where I pose a similar question- like I said, I had a hard time getting past this.
One last point- the reason that the players need to know is stated in that other thread- since the players can spend fate points to alter the results of the roll, they need to know their target.
That said, if you do want to have aspects that are hidden to the players, I'd say that there are a couple of ways to do it- and a couple of caveats that you have to watch out for.
You can use tangential aspects to the primary aspect to act as breadcrumbs towards puzzling out the primary aspect. I've done this in my game. But the caveat is that you can't be too obscure in your placement, so that players can actually puzzle out that their is more to the situation than meets the eye. If you are too clever, then you can find yourself in the unenviable position of having to try to figure out ways to drop hints so that your players can find out your big reveal.
An example of how I've used this:
There was a person of note in the campaign that was seemingly a villain, but was actually a patsy and a victim; their bodyguard was the real threat in the scene.
The patsy had the aspects
Detached to a fault,
Listens to his subordinates, and
Winning is everything. These covered that he was
Addicted to Red Court Venom.
The bodyguard had the aspects
Has his boss' ear, and
Strong as an Ox to hide that he was
Red Court Infected.
The aspects that told the story were there, and as the players saw clues, they were able to puzzle out the mystery. But it was harder than it needed to be, as though the aspects seemed obvious to me, they weren't obvious to the players.
Always keep that in mind, and have a definite plan for the reveal that doesn't necessarily involve the players' agency.
As I looked back on it, I saw that last caveat as the reason that I would use this sparingly, and concentrate more on the story than the plot points and being the GM. Player agency is important in Fate, and to an extent, this removes that if they don't follow your orchestrated plot.