There are no actual rules enforced by law, but there are naming conventions.
You can buy sire and dam from different kennels, and they come with their von/vom kennel name, as registered by the previous owner. There are AKC/North American naming conventions, and German SV naming convention, and they are somewhat different in how the kennel names are built and what is considered appropriate naming of registered dogs. In AKC naming conventions, it is considered appropriate to include part of the names of the parents and/or the names of the kennels the parents came from, and/or your components of your own name and/or the name of the previous owners.
In the German naming convention, you will need to come up with your own unique kennel name, that may or may not have von/vom in it, and it is considered very bad form to use the kennel name of another breeder when naming your pups. I know this is all very confusing, so I'll give you some examples. I'll do it in two parts so that the posts don't get too long.
German naming convention:
In the German naming convention you buy female from kennel von Drooly, named Limpy von Drooly (as the owners of the Drooly kennel bred the female and registered her in their own kennel name), and you buy a male from another kennel. Lets say the other kennel is called Bitey Kennels . The owners of Bitey kennel bred the male you bought, and they have already registered the male in their own kennel name as Squinty vom Bitey.
If you are following the German naming convention, you will have to come up with a unique kennel name, and use your own unique kennel name when registering the pups YOU bred (regardless of where the parents came from). So lets say your kennel is called Barksalot Kennels. Your first litter will be the "A" litter, and all the pups will be registered with a name that starts with "A". You can come up with puppy names yourself and register them, or your puppy buyers can pick an "A" name that they like and suggest it for their puppy. So you can have Achy von Barksalot, Action von Barksalot, Andy von Barksalot, and so on. You CAN name your kennel after yourself, and call it Smith kennels, and register the dogs as Achy von Smith, Action von Smith, and so on.
The second litter you would breed at Barksalot/Smith kennels would be the B litter, the third the C litter and so on. It doesn't matter if the A, B, and C litters all have different parents acquired from different kennels, the main thing is that you own the females and bred them and registered them in your kennel name because that is where the puppies come from - your kennel. This way when people see a registered name published somewhere - OFA results, IPO results, Agility Trial results, they know which kennel the dog came from and from what litter.
For example Gryffon came from the G litter from Wildhaus kennels. His Dam is Denali vom Wildhaus, from the Wildhaus D litter that was help back for breeding. The alphabet naming convention continues on from litters bred BY THE KENNEL - not by the female used. So the Dam is from the fourth litter bred by Wildhaus. When Della (Denali) had her first litter, it was the 7th litter bred by Wildhaus, and thus the G litter. The breeder chose the puppy names and registered the litter. Owners of future pups are of course free to use any call name they wish, it does not have to be the registered name. I like Gryffon and kept it. Another member on the board here, Onyx'girl has a littermate of Gryffon, with the registered name of Gideon vom Wildhaus, but she chose the call name of Karlo for her dog, and that is what we all know him by.
There are no hard rules with AKC about using von/vom as a registered name. However, if using the German von/vom naming convention, it is considered very bad form in the GSD world to "steal" a kennel name, i.e. use the kennel name of an existing kennel as part of your kennel name.
Some people do it innocently enough because they don't understand the German convention, and some people do it on purpose, wanting to take advantage of prestige associated by well-established, well known kennel. So for example, you may see a pedigree with a dog with a kennel name of Truehaus (an actual kennel). You may just love the name and decide to use it when you register your pups - since there are no laws and regulations on that, you can. You could register a puppy as Honesty vom Truehaus (because you think this would be a cool name) , and, AKC would accept it, but people knowledgeable in the breed would look at the pedigree, and know that Honesty is NOT a puppy from the Truehaus H litter, and would consider it 'stealing' a kennel name.