Question: I need help storing data within a python program. I don't want the user to be able to touch the data at all. I've looked into pickle but many posts say it is "insecure".

Answer: 
You can't stop the user from touching data. If they're running a program on their system, they can do whatever they want with the bits after you write them to disk. You can obfuscate the data in various ways, possibly even encrypting it, but they can still, eventually get to it if they're determined. If you want proof, look at the absolute failure of every copy protection/DRM system ever invented. There are solutions that are 'good enough' but, without knowing what problem you're actually trying to solve there's no good way to start providing realistic options.

...and Pickle's great if you can trust your data. If you can be reasonably certain that your program wrote a file to disk and that malicious programs aren't actively targeting your application, it's safe. I'd never trust a pickle sent across the network, however - a pickle can potentially execute arbitrary commands during deserialization.
Have a quick look at [this](http://docs.python.org/library/zipfile.html), and [this](http://docs.python.org/library/crypto.html). Those libraries may be of some help. I feel compelled to note that an experienced computer software engineer will probably find a way to circumnavigate whatever implemented method of data concealing by simply reading your source file, deconstruction of your compiled code, or even possibly a feasible brute-force decryption (I could be wrong).