Received: from localhost (unknown [200.46.204.182]) by postgresql.org (Postfix) with ESMTP id 9A6D02E022E for ; Fri, 21 Dec 2007 14:57:50 -0400 (AST) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.182]) (amavisd-maia, port 10024) with ESMTP id 00165-01 for ; Fri, 21 Dec 2007 14:57:45 -0400 (AST) Received: from sss.pgh.pa.us (sss.pgh.pa.us [66.207.139.130]) by postgresql.org (Postfix) with ESMTP id 7339C2E0229 for ; Fri, 21 Dec 2007 14:57:47 -0400 (AST) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.1/8.14.1) with ESMTP id lBLIvioC010258; Fri, 21 Dec 2007 13:57:44 -0500 (EST) To: "Merlin Moncure" cc: "Andrew Sullivan" , "Pgsql Hackers" Subject: Re: function body actors (was: [PERFORM] viewing source code) In-reply-to: References: <26811.1198215605@sss.pgh.pa.us> <20071221164826.GI10918@crankycanuck.ca> Comments: In-reply-to "Merlin Moncure" message dated "Fri, 21 Dec 2007 12:48:51 -0500" Date: Fri, 21 Dec 2007 13:57:44 -0500 Message-ID: <10257.1198263464@sss.pgh.pa.us> From: Tom Lane X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200712/808 X-Sequence-Number: 112097 "Merlin Moncure" writes: > ISTM the main issue is how exactly the authenticated user interacts > with the actor to give it the information it needs to get the real > key. This is significant because we don't want to be boxed into an > actor implementation that doesn't allow that interaction. We don't? What purpose would such a setup serve? I would think that for the applications we have in mind, the *last* thing you want is for the end user to hold the key. The whole point of this is to keep him from seeing the function source code, remember? Andrew's suggestion of an outside-the-database key server is apropos, but I think it would end up being a situation where the key server is under the control of whoever wrote the function and wants to guard it against the end user. The key server would want some kind of authentication token but I think that could perfectly well be an ID for the database server, not the individual end user. There's no need for anything as awkward as an interactive sign-on, AFAICS. regards, tom lane