I believe neuroscientists will never have enough understanding of the neural code, the secret language of the brain, to read peoples' thoughts without their consent.
The neural code is the software, algorithm, or set of rules whereby the brain transforms raw sensory data into perceptions, memories, decisions, meanings. A complete solution to the neural code could, in principle, allow scientists to monitor and manipulate minds with exquisite precision; you might, for example, probe the mind of a suspected terrorist for memories of past attacks or plans for future ones. The problem is, although all brains operate according to certain general principles, each person's neural code is to a certain extent idiosyncratic, shaped by his or her unique life history.
The neural pattern that underpins my concept of "George Bush" or "Heathrow Airport" or "surface-to-air missile" differs from yours. The only way to know how my brain encodes this kind of specific information would be to monitor its activity—ideally with thousands or even millions of implanted electrodes, which can detect the chatter of individual neurons—while I tell you as precisely as possible what I am thinking. But data you glean from studying me will be of no use for interpreting the signals of any other person. For ill or good, our minds will always remain hidden to some extent from Big Brother.