diff --git a/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterface.java b/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterface.java
index b52acc5..8c2d8d3 100644
--- a/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterface.java
+++ b/apps/pim/src/main/java/org/onosproject/pim/impl/PimInterface.java
@@ -28,20 +28,20 @@
 import org.onlab.packet.pim.PIMHelloOption;
 import org.onlab.packet.pim.PIMJoinPrune;
 import org.onlab.packet.pim.PIMJoinPruneGroup;
-import org.onosproject.net.intf.Interface;
 import org.onosproject.net.flow.DefaultTrafficTreatment;
 import org.onosproject.net.flow.TrafficTreatment;
 import org.onosproject.net.host.InterfaceIpAddress;
+import org.onosproject.net.intf.Interface;
 import org.onosproject.net.mcast.McastRoute;
 import org.onosproject.net.packet.DefaultOutboundPacket;
 import org.onosproject.net.packet.PacketService;
 import org.slf4j.Logger;
 
 import java.nio.ByteBuffer;
+import java.security.SecureRandom;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.Random;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
@@ -119,7 +119,7 @@
 
         lastHello = 0;
 
-        generationId = new Random().nextInt();
+        generationId = new SecureRandom().nextInt();
 
         // Create a PIM Neighbor to represent ourselves for DR election.
         PimNeighbor us = new PimNeighbor(ourIp, mac, holdTime, 0, priority, generationId);
diff --git a/apps/test/demo/src/main/java/org/onosproject/demo/DemoInstaller.java b/apps/test/demo/src/main/java/org/onosproject/demo/DemoInstaller.java
index 53dea1f..369a3af 100644
--- a/apps/test/demo/src/main/java/org/onosproject/demo/DemoInstaller.java
+++ b/apps/test/demo/src/main/java/org/onosproject/demo/DemoInstaller.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.demo;
 
+import java.security.SecureRandom;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -278,7 +279,7 @@
         private final boolean isLocal;
         private final Set<Host> hosts;
 
-        private final Random random = new Random(System.currentTimeMillis());
+        private final Random random = new SecureRandom();
 
         private Set<HostPair> uninstalledOrWithdrawn;
         private Set<HostPair> installed;
diff --git a/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java b/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java
index 2fd7076..67fb658 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java
@@ -15,6 +15,7 @@
  */
 package org.onosproject.store.flow.impl;
 
+import java.security.SecureRandom;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
@@ -153,7 +154,7 @@
     private Set<Long> pendingBatches = Sets.newConcurrentHashSet();
     private ScheduledExecutorService scheduledExecutor;
     private ExecutorService messageHandlingExecutor;
-    private final Random random = new Random();
+    private final Random random = new SecureRandom();
 
     private AsyncDocumentTree<Map<StoredFlowEntry, StoredFlowEntry>> asyncFlows;
     private DocumentTree<Map<StoredFlowEntry, StoredFlowEntry>> flows;
diff --git a/protocols/ospf/protocol/src/main/java/org/onosproject/ospf/protocol/util/OspfUtil.java b/protocols/ospf/protocol/src/main/java/org/onosproject/ospf/protocol/util/OspfUtil.java
index f2e9a7b..fa15cdb 100644
--- a/protocols/ospf/protocol/src/main/java/org/onosproject/ospf/protocol/util/OspfUtil.java
+++ b/protocols/ospf/protocol/src/main/java/org/onosproject/ospf/protocol/util/OspfUtil.java
@@ -26,6 +26,7 @@
 
 import javax.xml.bind.DatatypeConverter;
 import java.net.InetAddress;
+import java.security.SecureRandom;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
@@ -184,7 +185,7 @@
      * @return random number
      */
     public static int createRandomNumber() {
-        Random rnd = new Random();
+        Random rnd = new SecureRandom();
         int randomNumber = 10000000 + rnd.nextInt(90000000);
         return randomNumber;
     }
diff --git a/providers/general/device/src/main/java/org/onosproject/provider/general/device/impl/GeneralDeviceProvider.java b/providers/general/device/src/main/java/org/onosproject/provider/general/device/impl/GeneralDeviceProvider.java
index a907a6f..8f6f4fa 100644
--- a/providers/general/device/src/main/java/org/onosproject/provider/general/device/impl/GeneralDeviceProvider.java
+++ b/providers/general/device/src/main/java/org/onosproject/provider/general/device/impl/GeneralDeviceProvider.java
@@ -79,13 +79,13 @@
 import org.osgi.service.component.ComponentContext;
 import org.slf4j.Logger;
 
+import java.security.SecureRandom;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Dictionary;
 import java.util.List;
 import java.util.Objects;
-import java.util.Random;
 import java.util.Set;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ConcurrentHashMap;
@@ -732,7 +732,7 @@
     private ScheduledFuture<?> schedulePolling(DeviceId deviceId, boolean randomize) {
         int delay = 0;
         if (randomize) {
-            delay = new Random().nextInt(10);
+            delay = new SecureRandom().nextInt(10);
         }
         return portStatsExecutor.scheduleAtFixedRate(
                 exceptionSafe(() -> updatePortStatistics(deviceId)),
diff --git a/providers/null/src/main/java/org/onosproject/provider/nil/TopologyMutationDriver.java b/providers/null/src/main/java/org/onosproject/provider/nil/TopologyMutationDriver.java
index 85823ba..e10e3db 100644
--- a/providers/null/src/main/java/org/onosproject/provider/nil/TopologyMutationDriver.java
+++ b/providers/null/src/main/java/org/onosproject/provider/nil/TopologyMutationDriver.java
@@ -29,6 +29,7 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.security.SecureRandom;
 import java.util.List;
 import java.util.Map;
 import java.util.Random;
@@ -53,7 +54,7 @@
     private static final int WAIT_DELAY = 2_000;
     private static final int MAX_DOWN_LINKS = 5;
 
-    private final Random random = new Random();
+    private final Random random = new SecureRandom();
 
     private volatile boolean stopped = true;
 
diff --git a/utils/misc/src/main/java/org/onlab/graph/GAPopulation.java b/utils/misc/src/main/java/org/onlab/graph/GAPopulation.java
index 22efd84..d85bd3b 100644
--- a/utils/misc/src/main/java/org/onlab/graph/GAPopulation.java
+++ b/utils/misc/src/main/java/org/onlab/graph/GAPopulation.java
@@ -15,6 +15,7 @@
  */
 package org.onlab.graph;
 
+import java.security.SecureRandom;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -25,7 +26,7 @@
  * to run a genetic algorithm on the population and return the fittest solutions.
  */
 class GAPopulation<Organism extends GAOrganism> extends ArrayList<Organism> {
-    Random r = new Random();
+    Random r = new SecureRandom();
 
     /**
      * Steps the population through one generation. The 75% least fit
diff --git a/utils/misc/src/main/java/org/onlab/graph/SrlgGraphSearch.java b/utils/misc/src/main/java/org/onlab/graph/SrlgGraphSearch.java
index d455c64..46a7cab 100644
--- a/utils/misc/src/main/java/org/onlab/graph/SrlgGraphSearch.java
+++ b/utils/misc/src/main/java/org/onlab/graph/SrlgGraphSearch.java
@@ -18,13 +18,13 @@
 package org.onlab.graph;
 
 
+import java.security.SecureRandom;
 import java.util.Map;
 import java.util.List;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Set;
 import java.util.Random;
-
+import java.util.Set;
 
 /**
  * SRLG Graph Search finds a pair of paths with disjoint risk groups; i.e
@@ -171,7 +171,7 @@
 
         boolean[] subset;
         boolean[] not;
-        Random r = new Random();
+        Random r = new SecureRandom();
 
         /**
          * Creates a Subset from the given subset array.
diff --git a/utils/misc/src/main/java/org/onlab/util/Tools.java b/utils/misc/src/main/java/org/onlab/util/Tools.java
index a8c8a8b..0989010 100644
--- a/utils/misc/src/main/java/org/onlab/util/Tools.java
+++ b/utils/misc/src/main/java/org/onlab/util/Tools.java
@@ -32,6 +32,7 @@
 import java.nio.file.SimpleFileVisitor;
 import java.nio.file.StandardCopyOption;
 import java.nio.file.attribute.BasicFileAttributes;
+import java.security.SecureRandom;
 import java.time.Instant;
 import java.time.OffsetDateTime;
 import java.time.ZoneId;
@@ -72,7 +73,7 @@
 
     private static final Logger log = getLogger(Tools.class);
 
-    private static Random random = new Random();
+    private static Random random = new SecureRandom();
 
     /**
      * Returns a thread factory that produces threads named according to the
