diff --git a/kms/kmspeers.go b/kms/kmspeers.go
index faea860334f59ba52bae25d7f65b2ce305fb6df9..fe612e42e0afb155f15a441f9acbb23325a8a8dc 100644
--- a/kms/kmspeers.go
+++ b/kms/kmspeers.go
@@ -12,20 +12,23 @@ import (
 	"google.golang.org/grpc/credentials/insecure"
 )
 
-type kmsPeerStatus int16
+type KmsPeerStatus int16
 
 const (
-	kmsPeerUp      kmsPeerStatus = iota // peer was seen up lately
+	kmsPeerUp      KmsPeerStatus = iota // peer was seen up lately
 	kmsPeerDown                         // peer not reachable anymore
 	kmsPeerPending                      // peer was added and has to be succesfully contacted once
 	kmsPeerUnknown                      // not known, not initialized
 )
 
 type kmsPeerInfo interface {
+	GetKmsPeerStatus() KmsPeerStatus
+	GetKmsPeerId() uuid.UUID
+	GetKmsPeerQkdiId() uint32
 }
 
 type kmsPeer struct {
-	peerStatus   kmsPeerStatus
+	peerStatus   KmsPeerStatus
 	servingQLE   *QuantumElement
 	tcpSocket    net.TCPAddr // the IP address and TCP port (aka socket) of the kms peer
 	tcpSocketStr string      // string rep. of tcpSocket
@@ -37,6 +40,7 @@ func NewKmsPeer(servQLE *QuantumElement) (peer kmsPeer) {
 	return kmsPeer{
 		peerStatus: kmsPeerUnknown,
 		servingQLE: servQLE,
+		id:         uuid.New(),
 	}
 }
 
@@ -71,3 +75,15 @@ func (ph *kmsPeer) PeerHandler(kmsName string) {
 	log.Printf("Greeting: %s which is now in peerStatus %d", r.GetPeerKmsName(), ph.peerStatus)
 
 }
+
+func (ph *kmsPeer) GetKmsPeerStatus() KmsPeerStatus {
+	return ph.peerStatus
+}
+
+func (ph *kmsPeer) GetKmsPeerId() uuid.UUID {
+	return ph.id
+}
+
+func (ph *kmsPeer) GetKmsPeerQkdiId() uint32 {
+	return uint32(ph.servingQLE.qlID)
+}