diff --git a/interface/src/tfm_sst_api.c b/interface/src/tfm_sst_api.c
index 99d9d38..1b9a8f2 100644
--- a/interface/src/tfm_sst_api.c
+++ b/interface/src/tfm_sst_api.c
@@ -36,6 +36,27 @@
                                     0);
 }
 
+enum tfm_sst_err_t tfm_sst_get_attributes(uint32_t asset_handle,
+                                          struct tfm_sst_asset_attrs_t *attrs)
+{
+    return tfm_ns_lock_svc_dispatch(SVC_TFM_SST_GET_ATTRIBUTES,
+                                    asset_handle,
+                                    (uint32_t)attrs,
+                                    0,
+                                    0);
+}
+
+enum tfm_sst_err_t tfm_sst_set_attributes(
+                                      uint32_t asset_handle,
+                                      const struct tfm_sst_asset_attrs_t *attrs)
+{
+    return tfm_ns_lock_svc_dispatch(SVC_TFM_SST_SET_ATTRIBUTES,
+                                    asset_handle,
+                                    (uint32_t)attrs,
+                                    0,
+                                    0);
+}
+
 enum tfm_sst_err_t tfm_sst_read(uint32_t asset_handle, struct tfm_sst_buf_t* data)
 {
     return tfm_ns_lock_svc_dispatch(SVC_TFM_SST_READ,
diff --git a/interface/src/tfm_sst_svc_handler.c b/interface/src/tfm_sst_svc_handler.c
index 31ca9bd..76c5c96 100644
--- a/interface/src/tfm_sst_svc_handler.c
+++ b/interface/src/tfm_sst_svc_handler.c
@@ -40,6 +40,28 @@
     return tfm_sst_veneer_get_info(app_id, asset_handle, info);
 }
 
+enum tfm_sst_err_t tfm_sst_svc_get_attributes(
+                                            uint32_t asset_handle,
+                                            struct tfm_sst_asset_attrs_t *attrs)
+{
+    uint32_t app_id;
+
+    app_id = tfm_sst_get_cur_id();
+
+    return tfm_sst_veneer_get_attributes(app_id, asset_handle, attrs);
+}
+
+enum tfm_sst_err_t tfm_sst_svc_set_attributes(
+                                      uint32_t asset_handle,
+                                      const struct tfm_sst_asset_attrs_t *attrs)
+{
+    uint32_t app_id;
+
+    app_id = tfm_sst_get_cur_id();
+
+    return tfm_sst_veneer_set_attributes(app_id, asset_handle, attrs);
+}
+
 enum tfm_sst_err_t tfm_sst_svc_read(uint32_t asset_handle,
                                     struct tfm_sst_buf_t* data)
 {
