diff --git a/src/detail/face-impl.hpp b/src/detail/face-impl.hpp
index 155185d..eb286d7 100644
--- a/src/detail/face-impl.hpp
+++ b/src/detail/face-impl.hpp
@@ -217,7 +217,7 @@
     }
 
     RegisteredPrefix::Unregistrator bindedUnregistrator =
-        ndn::bind(unregistrator, m_face.m_nfdController.get(), unregisterParameters, _1, _2,
+        ndn::bind(unregistrator, m_face.m_nfdController, unregisterParameters, _1, _2,
                   signatureGenerator,
                   m_face.m_nfdController->getDefaultCommandTimeout());
 
diff --git a/src/face.cpp b/src/face.cpp
index 42fc522..b24a436 100644
--- a/src/face.cpp
+++ b/src/face.cpp
@@ -24,9 +24,7 @@
 #include "face.hpp"
 #include "detail/face-impl.hpp"
 
-#include "interest.hpp"
-#include "data.hpp"
-#include "security/identity-certificate.hpp"
+#include "security/key-chain.hpp"
 
 #include "util/time.hpp"
 #include "util/random.hpp"
@@ -34,23 +32,25 @@
 namespace ndn {
 
 Face::Face()
-  : m_nfdController(new nfd::Controller(*this))
+  : m_internalKeyChain(new KeyChain())
   , m_isDirectNfdFibManagementRequested(false)
-  , m_impl(make_shared<Impl>(ref(*this)))
+  , m_impl(new Impl(*this))
 {
   const std::string socketName = UnixTransport::getDefaultSocketName(m_impl->m_config);
   construct(make_shared<UnixTransport>(socketName),
-            make_shared<boost::asio::io_service>());
+            make_shared<boost::asio::io_service>(),
+            m_internalKeyChain);
 }
 
 Face::Face(const shared_ptr<boost::asio::io_service>& ioService)
-  : m_nfdController(new nfd::Controller(*this))
+  : m_internalKeyChain(new KeyChain())
   , m_isDirectNfdFibManagementRequested(false)
-  , m_impl(make_shared<Impl>(ref(*this)))
+  , m_impl(new Impl(*this))
 {
   const std::string socketName = UnixTransport::getDefaultSocketName(m_impl->m_config);
   construct(make_shared<UnixTransport>(socketName),
-            ioService);
+            ioService,
+            m_internalKeyChain);
 }
 
 class NullIoDeleter
@@ -63,46 +63,65 @@
 };
 
 Face::Face(boost::asio::io_service& ioService)
-  : m_nfdController(make_shared<nfd::Controller>(ref(*this)))
+  : m_internalKeyChain(new KeyChain())
   , m_isDirectNfdFibManagementRequested(false)
-  , m_impl(make_shared<Impl>(ref(*this)))
+  , m_impl(new Impl(*this))
 {
   const std::string socketName = UnixTransport::getDefaultSocketName(m_impl->m_config);
   construct(make_shared<UnixTransport>(socketName),
-            shared_ptr<boost::asio::io_service>(&ioService, NullIoDeleter()));
+            shared_ptr<boost::asio::io_service>(&ioService, NullIoDeleter()),
+            m_internalKeyChain);
 }
 
 Face::Face(const std::string& host, const std::string& port/* = "6363"*/)
-  : m_nfdController(make_shared<nfd::Controller>(ref(*this)))
-  , m_impl(make_shared<Impl>(ref(*this)))
+  : m_internalKeyChain(new KeyChain())
+  , m_impl(new Impl(*this))
 {
   construct(make_shared<TcpTransport>(host, port),
-            make_shared<boost::asio::io_service>());
+            make_shared<boost::asio::io_service>(),
+            m_internalKeyChain);
 }
 
 Face::Face(const shared_ptr<Transport>& transport)
-  : m_nfdController(make_shared<nfd::Controller>(ref(*this)))
+  : m_internalKeyChain(new KeyChain())
   , m_isDirectNfdFibManagementRequested(false)
-  , m_impl(make_shared<Impl>(ref(*this)))
+  , m_impl(new Impl(*this))
 {
   construct(transport,
-            make_shared<boost::asio::io_service>());
+            make_shared<boost::asio::io_service>(),
+            m_internalKeyChain);
 }
 
 Face::Face(const shared_ptr<Transport>& transport,
            boost::asio::io_service& ioService)
-  : m_nfdController(make_shared<nfd::Controller>(ref(*this)))
+  : m_internalKeyChain(new KeyChain())
   , m_isDirectNfdFibManagementRequested(false)
-  , m_impl(make_shared<Impl>(ref(*this)))
+  , m_impl(new Impl(*this))
 {
   construct(transport,
-            shared_ptr<boost::asio::io_service>(&ioService, NullIoDeleter()));
+            shared_ptr<boost::asio::io_service>(&ioService, NullIoDeleter()),
+            m_internalKeyChain);
+}
+
+Face::Face(shared_ptr<Transport> transport,
+           boost::asio::io_service& ioService,
+           KeyChain& keyChain)
+  : m_internalKeyChain(nullptr)
+  , m_isDirectNfdFibManagementRequested(false)
+  , m_impl(new Impl(*this))
+{
+  construct(transport,
+            shared_ptr<boost::asio::io_service>(&ioService, NullIoDeleter()),
+            &keyChain);
 }
 
 void
-Face::construct(const shared_ptr<Transport>& transport,
-                const shared_ptr<boost::asio::io_service>& ioService)
+Face::construct(shared_ptr<Transport> transport,
+                shared_ptr<boost::asio::io_service> ioService,
+                KeyChain* keyChain)
 {
+  m_nfdController = new nfd::Controller(*this, *keyChain);
+
   m_impl->m_pitTimeoutCheckTimerActive = false;
   m_transport = transport;
   m_ioService = ioService;
@@ -139,6 +158,16 @@
     }
 }
 
+Face::~Face()
+{
+  if (m_internalKeyChain != nullptr) {
+    delete m_internalKeyChain;
+  }
+
+  delete m_nfdController;
+  delete m_impl;
+}
+
 const PendingInterestId*
 Face::expressInterest(const Interest& interest, const OnData& onData, const OnTimeout& onTimeout)
 {
diff --git a/src/face.hpp b/src/face.hpp
index d95d04a..19587dc 100644
--- a/src/face.hpp
+++ b/src/face.hpp
@@ -41,6 +41,7 @@
 namespace ndn {
 
 class Transport;
+class KeyChain;
 
 class PendingInterestId;
 class RegisteredPrefixId;
@@ -102,6 +103,7 @@
     }
   };
 
+public: // constructors
   /**
    * @brief Create a new Face using the default transport (UnixTransport)
    *
@@ -185,6 +187,21 @@
        boost::asio::io_service& ioService);
 
   /**
+   * @brief Create a new Face using the given Transport and IO service object
+   * @param transport the Transport used for communication
+   * @param ioService the io_service that controls all IO operations
+   * @param keyChain the KeyChain to sign commands
+   * @throws Face::Error on unsupported protocol
+   * @note shared_ptr is passed by value because ownership is shared with this class
+   */
+  Face(shared_ptr<Transport> transport,
+       boost::asio::io_service& ioService,
+       KeyChain& keyChain);
+
+  ~Face();
+
+public: // consumer
+  /**
    * @brief Express Interest
    *
    * @param interest  An Interest to be expressed
@@ -230,6 +247,7 @@
   size_t
   getNPendingInterests() const;
 
+public: // producer
   /**
    * @brief Set InterestFilter to dispatch incoming matching interest to onInterest
    * callback and register the filtered prefix with the connected NDN forwarder
@@ -485,6 +503,7 @@
   void
   put(const Data& data);
 
+public: // IO routine
   /**
    * @brief Process any data to receive or call timeout callbacks.
    *
@@ -545,10 +564,12 @@
 private:
   /**
    * @throws Face::Error on unsupported protocol
+   * @note shared_ptrs are passed by value because ownership is transferred to this function
    */
   void
-  construct(const shared_ptr<Transport>& transport,
-            const shared_ptr<boost::asio::io_service>& ioService);
+  construct(shared_ptr<Transport> transport,
+            shared_ptr<boost::asio::io_service> ioService,
+            KeyChain* keyChain);
 
   bool
   isSupportedNfdProtocol(const std::string& protocol);
@@ -570,15 +591,24 @@
   fireProcessEventsTimeout(const boost::system::error_code& error);
 
 private:
+  /// @todo change to regular pointer after #2097
   shared_ptr<boost::asio::io_service> m_ioService;
 
   shared_ptr<Transport> m_transport;
 
-  shared_ptr<nfd::Controller> m_nfdController;
+  /** @brief if not null, a pointer to an internal KeyChain owned by Face
+   *  @note if a KeyChain is supplied to constructor, this pointer will be null,
+   *        and the passed KeyChain is given to nfdController;
+   *        currently Face does not keep the KeyChain passed in constructor
+   *        because it's not needed, but this may change in the future
+   */
+  KeyChain* m_internalKeyChain;
+
+  nfd::Controller* m_nfdController;
   bool m_isDirectNfdFibManagementRequested;
 
   class Impl;
-  shared_ptr<Impl> m_impl;
+  Impl* m_impl;
 };
 
 inline bool
diff --git a/src/management/nfd-controller.hpp b/src/management/nfd-controller.hpp
index cd8db1d..c94fa10 100644
--- a/src/management/nfd-controller.hpp
+++ b/src/management/nfd-controller.hpp
@@ -56,6 +56,7 @@
 
   /** \brief construct a Controller that uses face for transport,
    *         and has an internal default KeyChain to sign commands
+   *  \deprecated use two-parameter overload
    */
   explicit
   Controller(Face& face);
@@ -208,7 +209,11 @@
 
 protected:
   Face& m_face;
+
+  /** \deprecated
+   */
   shared_ptr<KeyChain> m_internalKeyChain;
+
   KeyChain& m_keyChain;
 };
 
