An Introduction to GNU Privacy Guard 121
An anonymous reader writes "This is a great article about GnuP . . . "In the first half of this article David Scribner discussed the various uses that GNU Privacy Guard could bring to your business or personal life in enhancing security of your digital documents and files, as well as the basics in getting started with GnuPG. As there is so much more to public-key security than command-line operations, in this second half I will continue with importing and exporting keys, building (and keeping) your 'web of trust' sound, and a few of the more popular GUI front ends available for GnuPG . . ."
Ok... (Score:1)
Re:Ok... (Score:2, Interesting)
We used GNUPG to split the public key and private key across two machines. The first machine is our public web server and can encrypt and store the credit card numbers with the public key but not decrypt the them. The second machine (very secured and locked down) can encrypt the data but doesn't have access to the stored credit card numbers. A third machine (in this case a browser) shuttles the between the systems when it is needed. Since the machines are widely separated it makes any successful attack much harder.
We chose GNUPG because it already had robust public/private key encryption built in and used an open standard for representing data so that data recovery would be possible even 10 years from now. The only complaint is that there was no API available so we had to create a COM wrapper for it (yeah I know it was a IIS/ASP site).
If anybody is interested in the source code for the COM wrapper it can be downloaded here:
http://www.i15.com/video/gpg2.zip
Normal disclaimers apply. I take no responsibility for what it may do but we have used it without complaint. Only works when GNUPG is in batch mode. It is one of those things that I always meant to release under the GPL but didn't get around to it because I never did documentation. BTW here is how it works:
Set gpg = Server.CreateObject("qwerksoft.gnupg")
gpg.SetPath %Path%
gpg.SetRecipient %Recipient%
s = "Text to be encrypted"
Response.Write s + vbNewLine
s = gpg.Encrypt(s)
Response.Write s + vbNewLine
s = gpg.Decrypt(s)
Response.Write s + vbNewLine
Maybe if a few more people use this it will reduce the number of stolen cards floating around.
Re:Ok... (Score:1)
Inter and Intra company communications.
Combine it with SSH access to file servers and other resources, OpenSSL web services, hey who needs a Checkpoint/Cisco VPN?
Re:Ok... (Score:2)
It can work quite well, especially when you get a couple of tech-savy executives clued into the concept of using digital signatures on their documents.
The Anonymous Reader (Score:3, Interesting)
Gee, could the "anonymous reader" be David Scribner giving himself a shameless plug? See the above quote.
Re:The Anonymous Reader (Score:2)
Re:The Anonymous Reader (Score:1, Interesting)
Did David submit it hismelf? Probably either he or one of a small handful of people that know him (not I personally).
But if that's the case, why as an "Anonymous Coward?" I can only speak for myself, but I so rarely make comments or submissions at slashdot that the need to remember another password and the storage space for account info at slashdot would be wasted.
James Blackwell, LinuxGuru.net [linuxguru.net]
Excellent article! (Score:1)
Really that useful yet? (Score:5, Informative)
Today, I use GnuPG for a variety of tasks. Whether it's to sign and encrypt documents and contracts submitted to businesses, encrypt local files, or merely sign email and files to ensure others that no modifications have occurred to its content, I have found GnuPG to be a 'must have' utility kept close at hand when using my PCs.
Documents submitted to businesses? Signing e-mail and files?
Signing these sorts of things is a good idea, but just how many businesses are going to have GnuPG at this time. And, since you can get the files out of the e-mail without HAVING to use GnuPG (GnuPG just checks the authenticity), it doesn't really encourage people to go get it either.
Considering most people are Joe Schmoes using Windows, I can't see how using GnuPG (or even PGP, for that matter) to sign things is going to help anyone at this stage.
Outlook Express is the most common e-mail client out there today and from all the e-mail I get.. I'd say that far less than 1% of its users actually use the signing and encryption features that are BUILT IN! GnuPG is an add-on, at best.. so can we really see millions of people using this?
Until the public learn more about security, how it works, and why it should be used, I think not.
Re:Really that useful yet? (Score:1)
There are plugins for Outlook on windows too, it works great.
Re:Really that useful yet? (Score:2)
user receives email. Around the message is a GPG signature. "Hmm. what's that for?" the user asks of the person who sent the signature.
The PGP signer replies back "That is my PGP signature. That is your assurance that the email that you just received from me is authentic. You can trust emails that are PGP signed"
user: "How do I use this PGP? Where do I get it?"
and thus it is introduced to the people the PGP user emails as a tool for verifying email authenticity.
Re:Really that useful yet? (Score:1, Informative)
Re:Really that useful yet? (Score:5, Insightful)
Signing your e-mail makes GPG visible to those that don't know yet. Every once in a while someone will actually look at that attachment, follow the little link, and maybe learn something. For technically saavy users, this is simply tech evangelism. Someday we will all learn in high school how to manage our private keys, instead of teaching us how to fill in the blanks on a check. I have personally converted 4 or 5 friends (and my dad!) to using it.
I use GPG to store sensitive information. I keep a GPG-encrypted file with passwords (mostly for websites) in it. That way for each %@#(&@$ vendor that insists on storing my credit card info, I can generate a 20-character random password, put it in this file and forget about it.
As a system administrator, I have had many occasions where people want an account but I'm not physically nearby for them to type in a password. I usually point out GPG saying that if they used it, I could send them a password. Since they don't, they'll have to wait a few days until we can be in the same room. Again, it's evangelism.
I pointed out gpg to my bank [umbrellabank.com] for account-related communications (but they don't seem to get it yet...they're a bank). Everybody else ask your bank about it too. It's evangelism. The squeaky wheel gets the grease.
And most importantly, I encrypt love letters to my girlfriend. Don't want anyone reading that stuff. ;)
Making the public aware that this kind of technology exists is, in my mind, the single most important revolution happening today. It is the key to take back freedom from our oppressive government (and the even more oppressive governments out there). It is the key to the electronic money of the future. It is the key to the electronic contract of the future (this click-to-accept shit has got to go). I definitely don't want to "click" to buy a house. As long as we keep them ignorant and don't evangelize, we can guarantee we will never see the electronic future we read about in books.
-- Bob
Banks are teh sux. (Score:1)
That might be possible in the US since you have regional banks and actually get to talk to people there.
In the UK, all of our banks are national, and very very faceless. Not many people have 'bank managers' anymore, and even people with big money have 'account handlers' instead. You can talk to stupid 'business advisors' at the bank, but only at certain branches. Good luck trying to give a bank advice in this country!
And most importantly, I encrypt love letters to my girlfriend. Don't want anyone reading that stuff.
I wouldn't want a girlfriend who's geeky enough to decrypt encrypted e-mails though!
Re:Banks are teh sux. (Score:1)
Yeah, I'm lucky.
Re:Banks are teh sux. (Score:2)
Chance of that girlfriend being HOT: 1 in 214
Chance of a HOT girlfriend studying Computer Science: 1 in 4,735,286
Oh no, all your combined probabilities have lead to the world's lowest probability and have caused the inprobability drive from 2217 to go into a spasm and cause a quantum paradox! WE'RE ALL GOING TO DIE AND IT'S ALL YOUR FAULT!
Re:Banks are teh sux. (Score:2)
My girlfriend is HOT and so are the GPG messages she sends me when she knows that nobody else can read them...
Re:Banks are teh sux. (Score:2)
If you have girlfriends, why the hell are you on this site? This site is for sad assholes like me who have nothing better to do than troll to get some attention in our pathetic little lives (I'm not joking, and I'm not going to post this on Anonymous Coward for once).
Chickens and eggs (Score:1)
I have never understood why people use this phrase. The answer to "which came first?" is quite clear : the egg, by many millenia. The first chicken was a mutated version of its non-chicken parents, but it hatched from an egg.
In this case, "chicken & egg" actually is a useful metaphor, but not in the way the original poster means. We already have the egg (ability to use strong encryption); tech evangelism of the kind you describe will bring us chickens.
Re:Chickens and eggs (Score:1)
Sure (Score:1)
Sometimes the utility of GPG has little to do with the capabilities of the recipient.
khl
Re:Really that useful yet? (Score:2)
Re:What are you hiding? (Score:3, Insightful)
Why is it that people assume that anyone who wants to communicate in private has something to hide?
Re:What are you hiding? (Score:2, Interesting)
Re:What are you hiding? (Score:2)
How about you? When you snail mail, is everything on postcards? Or do you use envelopes, you terrorist?
Re:What are you hiding? (Score:1, Interesting)
i may not have something incredibly important to protect.
but just because i its not important, doesnt mean im going to put a billboard up
Re:What are you hiding? (Score:2)
Or when you do get mail that's in envelopes (hmmmm, why do they presume your need for all that secrecy?), I suppose you take all the bills and letters out, scan them, and post them on the internet? No?
Then just what is it that you're trying to hide? You're clearly either a terrorist or a pornographer (both are generally held in approximately the same regard in most places). Or could it be that you just want the smallest amount of privacy? Could it be that it's not the damn business of every postal worker who comes in contact with your letters to read them?
Yes, indeed it could. It's called privacy. And the public will continue to insist on more internet privacy once they begin to understand it. The problem right now is that they actually THINK that nobody can read their e-mail but the person they're sending it to. Boy are THEY in for a surprise.
RP
The weakest link (Score:4, Insightful)
Now, how do I keep my passphrase a secret while the CIA is bashing my toes with a hammer?
I guess my point is that public/private key encryption is only as good as the passphrase which is often not good enough, and that the ecryption is way stronger than your personal torture threshold anyway.
Re:The weakest link (Score:5, Insightful)
And of course, the CIA doesn't really need to bash your toes; they can just put a keyboard sniffer on your machine, or put a spy camera to capture your keystrokes while you type your password, or lots of other interesting things that only require a warrant and don't require torture.
GPG was easy to setup (on our Macs, even!) and now I don't have to worry about whether or not the script kiddie down the road can sniff the private messages I send to my wife. That's Pretty damn Good Privacy.
Book on Encryption - Methods of Attack (Score:2, Informative)
Re:Book on Encryption - Methods of Attack (Score:4, Funny)
The CIA has a way around this. They drop 2 tabs of acid, each, wait a while, and then furiously start writing down anything your cat says.
They're way ahead of you.
Re:Book on Encryption - Methods of Attack (Score:3, Funny)
: From this point on I will always be fucked in the head.
: Ditto.
Re:Book on Encryption - Methods of Attack (Score:1)
Great, but unless you can prove it, they'll keep on beating her. You might consider giving her at least one unimportant password to give them in exchange for them stopping the beating.
Not that the CIA would ever do that, of course...
Re:The weakest link (Score:2)
Re:The weakest link (Score:2, Insightful)
This has been said elsewhere, but it's worth repeating: Cryptography alone won't solve all your security problems. Especially if you live in a country where the use of cryptography is illegal, the secret police assumes that you're guilty until proven innocent, and they have the authority to try to extract secrets from you by any means they consider necessary.
Re:The weakest link (Score:1)
Re:The weakest link (Score:1)
This still doesn't solve the problem of somebody torturing your spouse to get the secret out of you, though.
Re:The weakest link (Score:1)
Agent: What is the passphrase?
Me: I forgot the passphrase
Agent: [bashing smallest toe with hammer]
Agent: Now, what is the passphrase?
Me: I FORGOT THE PASSPHRASE!
Then again that sounds find of painful.
Re:The weakest link (Score:2)
Re:The weakest link (Score:2)
In Applied Cryptography, Schnier refers to this as "rubber hose cryptanalysis".
Fixing the weakest link (Score:2)
There's an excellent system called rubberhose [rubberhose.org] that solves the problem of 'rubber hose' cryptography (ie. beating the key out of someone.)
You give it a certain amount of space to play with and then can encrypt "aspects", sets of files, to it. Each aspect is protected with a passphrase and there isn't any way to show how many or few there are. If tortured, the user has no way to prove they've given up all the keys - making it possible for them to hold out.
It's also possible to use it to give people some information and limit disclosure - the documentation has an excellent example using safehouses.
Re:But shouldn't this really be called..... (Score:2)
I run it on Windows, so rightly it should be the GNU/Windows XPrivacy Guard...
False sense of security? (Score:4, Informative)
Re:False sense of security? (Score:2, Insightful)
Yes, there are the security holes inherent in any operating system, and thank God for Mandrake's patch system (in my case), not to mention the uncanny ability of the open source community to crank out patches within hours of discovering holes. So let's use them.
GnuPGExch (Score:5, Informative)
Because let's face it,
Re:GnuPGExch (Score:1)
It works fine, so long as the signature is in the body of the mail. Unfortunately if the signature is provided as an attachment (which is how Evolution signs mail, for example) G-data's plugin won't recognise it.
This is a shame, personally I'd rather Evolution put the sig in the body (to encourage the ignorant to ask...) but the G-data plugin should really recognise digital signatures which are attachments. You can't expect everyone to use a standard when different implementations won't co-operate (Yes, unless you're Microsoft, of course - but lets not go there right now).
I sign personal mail by default, not because much I send has any particular value, but because I want to spread the word. I would encourage everyone to do the same.
I am irritated that none of the online banks I have used have ever bothered to even sign their mail. How can we expect to convince the public at large that encryption and siging is a good thing if even the banks don't appear to take this on board?
Re:GnuPGExch (Score:1)
I can't agree with this. When the video recorder was invented, was it necessary for "My Mom" to be able to use it? No, these were very large, very expensive machines, designed to be operated by professionals.
Once the technology was available, it slowly became cheaper and filtered down to the masses. Today it's at the point where anyone can own one, and knows how to put a tape in and push play. Some people can even program them.
Likewise with email encryption. Yesterday it was limited to geeks. Today it's also available to those with a need (think of sensitive company documents. I imagine that any reasonably large company with a decent security policy would be on the lookout for an email plugin to allow secure comunications.
Now that such software exists, it's use will spread, until even "Your Mom" has it.
(In fact, "My Mom" is the director of a small software company, so I guess that actually, I do agree with you.
GPG 1.2 available (Score:2, Informative)
Re:GPG 1.2 available (Score:3, Informative)
Great, but (Score:3, Insightful)
Too much effort (Score:3, Insightful)
I know you can get it as easy as typing in a password when an email gets sent, but that's too much effort for my parents and most of my friends.
Re:Too much effort (Score:1)
crypting for the masses ;) (Score:1)
GnuPG is the way to go. (Score:3, Interesting)
The simple and undisputed -- and often argued -- fact is that we've come a long way, and the majority of large businesses are now using Linux as both a desktop and server OS which means these things are efficient to do.
GnuPG's (shouldn't that be GNUPG since GNU is an acronym?) ease of use and its (almost) seamless connectivity with most Linux communications applications allows the average workplace user to encrypt documents and files, preventing PR-disasteresque leaks -- such as the recent leak of the salary details of Lycos' staff to InternalMemos.com.. [com.com]
The seamless and very good encryption and decryption system allows staff of lots of big and small companies to simultaneously access and also work on their valuable and secure data as usual, but means that even if sites like F**kedCompany get hold of it, it's no use to them. Copying and pasting will just result in goobledygook being produced.
GnuPG's automated hyperencryption routines also mean that it could have some extremely useful and oblique military functionality, allowing our brave patriots to fight terrorism around the world.
One such example is in the encryption of numeric data such as numbers like digits between 0 and digits under 9. These encyrption routines can improve the efficiency of this by 24%.
Re:GnuPG is the way to go. (Score:2, Insightful)
"the majority of large businesses are now using Linux as both a desktop and server OS "
where are you working? I almost think this might be satire.
Re:GnuPG is the way to go. (Score:1)
Of course just leaking the email using F**kedCompany's public key would mean it's harder to work out what you leaked, it's not going to stop leaks. It would stop the accidental "I sent this email out to the wrong person" type thing having as much of a consequence. Unless you auto-selected the public keys for recipients. In fact I can't see it ever really helping on a leaked email UNLESS someone is paying attention to what they are doing. And that would be a very small number of leaks I would guess.
Anyway... was worth a chuckle.
Excellent (Score:3, Insightful)
However, a problem is that people just aren't good enough at getting their public-keys out. I hope this article enlightens them on the lovely export option. Which I believe to be one of the most important parts. I receive email from a lot of lists everyday, LUGS, development lists and so on. A lot of this email is signed, but a lot of these people obviously don't get the points of signing completely since they haven't got their public key available in anyway (of course some may not believe in the keyservers and so on, and want to be contacted in other ways for key-exchange, but not all are that pre-cautious, some just don't understand), and thus I cannot verify their signature.
Advocating privacy (Score:3, Insightful)
Re:Advocating privacy (Score:1)
How about a technical solution? If a few kind souls would set up packet snifferes that would intercept random emails, and return copies to the sender with the preface "I saw you were sending this message. I am forwarding this to a few other people I know who might be interested." Crypto use would go up immediately.
Re:Advocating privacy (Score:1)
Re:Advocating privacy (Score:2)
Re:Advocating privacy (Score:2)
Interesting, but of course this is a different argument (the argument against banning strong crypto).
If they are smart, they will realize that they send a lot of stuff by post that they would not want others, no matter how good their intentions may be, to see. I.E., credit card numbers, bank statements, etc. Then apply that to email.
But they don't send that stuff by e-mail (yet?). The only really sensitive info most people I know send from their computer would be bankingtransactions. But those are either sent over a dedicated dial-up to the bank or using SSL in people's browsers, at least over here (the Netherlands) they are. So those shouldn't be easy to intercept.
I liked your comparison to using envelopes in standard mail (had been thinking along those lines myself), but I don't think we've got the killer salespitch just yet.
Re:Advocating privacy (Score:1)
Have you ever lowered your voice when talking on a public phone, since you didn't want to be overheard?
Have you ever left a party, or a restaurant, or a meeting, in order to continue a conversation you didn't want to have in front of everyone present?
Have you ever closed the blinds when you checked into a hotel room?
Have you ever closed the blinds on the windows of your own house?
Have you ever parked your car down the street, rather than right in front of an establishment of questionable repute?
Have you ever moved your prescription medications out of the bathroom before company came over?
Finally (the classic), have you ever sent a piece of mail in a sealed envelope?
Did you answer yes to any of the above? What are you trying to hide?
Re:Advocating privacy (Score:2)
Re:Advocating privacy (Score:2)
Howabout intercepting their love-letters / job applications at network level, and post copies on the company noticeboard? After all, they've got 'nothing to hide', right?
Re:What are you hiding? (Score:2, Insightful)
Like the example the writer gave, if your ISP tech knows you're out of town, you could come home to an empty house.
If you're just using cryptography for the sake of using cryptography, what's the point?
Re: Re:What are you hiding? (Score:1)
Re: Re:What are you hiding? (Score:2)
Let's assume that GnuPG has a bug; on one level, it could be an incredibly stupid one, so the kid with the box down the street can decrypt your messages, or it could just be the NSA has enough resources/special hacks to do a brute-force on it. Or even someone's willing to do rubberhose decryption on you. If you encrypt everything, it's harder to tell what's worth decrypting. If you encrypt one thing, then everyone knows which message is the valuable one.
If I encrypt all my messages, the fact that my message to someone@sharif.edu.ir is encrypted tells no one anything - it could just be random programming stuff. If I only encrypt that message, I may be looking a rubberhose decryption, or more subtle and reliable forms of interigation. (And just might, in RL.)
Re: Re:What are you hiding? (Score:1)
Not that there's anything wrong with having something to hide. That's what privacy is all about.
Integrating GPG with mail - mozilla+enigmail (Score:4, Informative)
One of the problems I always had using pgp/gpg was client support. Getting it to work with outlook/outlook express, then finding something under Linux that would support it, having to scrap together a bunch of tools, all of which were half-written...
I've found a solution. Mozilla [mozilla.org] and Enigmail [mozdev.org]. Yes, Mozilla/Netscape mail used to be putrid. It's better with Mozilla 1.0+, honestly. It has progressed to a competitive state, and I switched over totally about a month ago.
Enigmail is a plugin for Mozilla that handles signing, encrypting, decrypting and verifying mail for you.
GnuPG, Mozilla and Enigmail all work on Windows as well as Linux, so I have the same tools no matter what I'm running.
You still need a key manager, but getting what mozilla+enigmail provides is a great step forward.
Re:Integrating GPG with mail - mozilla+enigmail (Score:1)
Re:Integrating GPG with mail - mozilla+enigmail (Score:2)
Both kmail and evolution use gpg, mutt as well invokes gpg when it is needed,
Oh, of course. And there are Pine plugins, and you can get emacs rmail to work with it. And as everyone knows, you can use the pipe command in ed to incorporate PGP functionality.
How things are in Windows, I have no idea.
Well, Pine is supported. The rest, not so much.
I tried Evolution for a while; generally a good app with some serious flaws (at the time I tried it). For example, there's this thing called STARTTLS that makes SMTP halfway secure - evolution didn't support it, it only supported the abandoned smtps protocol. I don't know if kmail or mutt support it, or if either of them supports IMAPS (Pine does, incidentally). Let's assume anyone thinking about GPG probably cares a little about protecting access to their mail store as well.
Even with that, I hung with evolution for a while, but since I spend 75% of my time in Windows and 25% in Linux, I got sick of switching back and forth between evolution and OE. So for anyone not able to live 100% in the Linux world, mozilla+enigmail is news rather than just being a latecomer.
Re:Integrating GPG with mail - mozilla+enigmail (Score:2)
Regarding Evolution: StartTLS for POP/SMTP/LDAP is in Evolution 1.1.1 (beta).
IMAPS is in 1.0.3 (stable), don't know when it was added. Works like a charm for me.
You may want to check it out again.
Re:Integrating GPG with mail - mozilla+enigmail (Score:2)
IMAPS is in 1.0.3 (stable), don't know when it was added. Works like a charm for me.
It was in the versions I tried (starting at, I think, 1.0...) I wouldn't have tried it without it - it's a minimum requirement for me.
You may want to check it out again.
Yes, I didn't intend to knock evolution - I think it's a great client, and will keep getting better. But for multiplatform use right, now, mozilla is the answer for me.
Re:Integrating GPG with mail - mozilla+enigmail (Score:2)
Re:Integrating GPG with mail - mozilla+enigmail (Score:2)
WinPT [winpt.org] under windows will setup and manage gpg keys. Its a GPL'ed program that sits in the system tray and allows quick access to GPG functions. (Kind of like what later versions of PGP does.) WinPT's installation file includes a copy of GPG. WinPT + Mozilla 1.2a + Enigmail works well under windows.
Disclaimer: There is a bug (I've notified the author) where if you install winPT under c:/program files/winPT instead of the default c:/winPT, you need to set the path in options to c:/progra~1/winpt. The long file name with spaces support is a tad broken. :)
Pseudo-random Key-gen Security (Score:2, Interesting)
I'm particularly curious about how secure the GnuPG key-gen process is. How "pseudo-random" is it? What's the likelihood that I could generate a private key matching someone else's?
Should I be concerned?
Needs a LGPL lib (Score:4, Interesting)
The GnuPG FAQ covers why GnuPG is not a lib. (Score:1)
Have you read the FAQ on this point [gnupg.org]? Apparently many people have been able to get valuable work done with GnuPG as a CLI app, so saying it "desperately" needs to be an LGPL-covered library doesn't follow.
This makes it seem like your objection has to do with the license chosen, not whether the program is an executable or a library. And yet I see no argument supporting your desire to switch the license to the Lesser GNU GPL.
Re:The GnuPG FAQ covers why GnuPG is not a lib. (Score:2)
Yes it does follow (which I'll explain below), but their brief reasons are not doing a lib are pretty weak. Requiring each client to write a shim that constructs a command line argument, executes the gpg command and parses the data through a pipe is not going to makes things any safer. Writing such a shim and safe is hard. There are just so many extra potential extra points of attack that any benefit of running gpg in a seperate process are totally lost. Not only that, but stuff runs much slower which might not matter.
This makes it seem like your objection has to do with the license chosen, not whether the program is an executable or a library. And yet I see no argument supporting your desire to switch the license to the Lesser GNU GPL.
I could live with a shim if it was one hardened by countless clients hammering on it and developers. Unfortunately gpgme won't get that because it is GPL. What the hell is the point of a GPL library? It might be great for GNU zealots but even other open source projects such as Apache can't link to it.
Widespread adoption needs an LGPL library. It is that simple. I like GPG and I want to see it used pervasively but that's not going to happen while it's threatening to infect everything it touches.
Re:The GnuPG FAQ covers why GnuPG is not a lib. (Score:1)
Perhaps the GnuPG developers are not after mere popularity. Perhaps they are after preserving software freedom and therefore they use the license that defends that interest best: the GNU GPL. In any event, since it is clear you don't like the licensing, you shoudl consider writing your own program and using the power of copyright to license it as you wish. Right now it seems you are more interested in namecalling and raising hackneyed incorrect statements about the GNU GPL's copyleft ("[GPG is] threatening to infect everything it touches"). Being an executable, as it is, GnuPG doesn't affect the licensing of other programs the way your LGPL'd library would.
Re:Right on (Score:2)
Fair enough but consider the alternative which is to invoke the command line gpg and read the results from a pipe. If the app is exploited then it can run gpg any way it please and furthermore all those command-line args, pipes and parsing provides lots of extra points of attacks for the hacker to exploit the app in the first place. So there is no significant reason to do it this way, it just makes stuff run slower and adds a big layer of complexity.
Re:Right on (Score:2)
There is *less* of a security boundary between an application and a library than between two applications, not more. Programs can only talk to programs using argv[], envp[] and pipes -- well-defined interfaces enforced by the OS, while talking to libraries can be done using any random ad-hoc set of function calls and global variables. Also, a library can never shield its own data structures; it shares its heap with the application.
There's only a parsing issue if the actual email application can't handle gpg's textual output and barfs; gpg itself already has to consider its input untrusted anyway. But gpg's private data won't be exposed in either case.
Perhaps gpg could use a more computer-readable output format, but that's all. I think data-based interfaces as opposed to library calls are *good*. The less language binding the better. Less chance of pointer errors or code slowly turning into callback spaghetti that way.
Oh, and you saying that fork(), dup() and exec() are fundamentally hard tells me that I wouldn't trust you with a gpg.so.1 either. Sorry.
A gentle introduction for Windows users (Score:2, Informative)
A key aspect of GPG's success is to increase its adoption by users of Windows. For those of you wishing to give GPG a whirl, I suggest you get WinPT [winpt.org], an easy-to-use, open-source frontend.
Here are four easy steps to get you up to speed:
If you use Outlook Express, you would definitely want to get GPGOE [winpt.org], a GPG plugin that seamlessly integrates with Outlook. You need to install and configure GPG for this - the easiest way is to install WinPT as described above [WinPT also makes key management very easy, so there's a bonus]. Then you can download and install GPGOE, and enjoy all the goodness of integrated GPG functionality within OE.
Play around with the different options available; make a key for fun; experiment and learn. Spread the word. But most of all, have fun and be excellent to each other
Good luck.